Contents
Obsah
Inhalt
1. Start
Introduction and purpose Quick start workflow Program layout User requirements Project tools and map image export System tools and status1. Začiatok
Úvod a účel Rýchly postup Rozloženie programu Požiadavky používateľa Projektové nástroje a export mapy Systémové nástroje a stavIntroduction
RoboPol Production Scheduler solves production scheduling problems where jobs must pass through ordered operations on fixed machines. The program is designed for Job Shop Scheduling (JSSP): each operation has a machine and processing time, jobs keep their operation order, and the solver tries to build a compact production plan.
The app supports two native solver paths: Robopol Refined for heuristic search and CP-SAT for exact/constraint-programming runs. The same custom dataset can be edited in the browser and sent to either supported solver when the selected objective is supported.
Úvod
RoboPol Production Scheduler rieši plánovanie výroby, kde úlohy prechádzajú cez zoradené operácie na pevných strojoch. Program je určený pre Job Shop Scheduling (JSSP): každá operácia má stroj a trvanie, úloha zachováva poradie operácií a riešič hľadá čo najkompaktnejší výrobný plán.
Aplikácia podporuje dve natívne cesty riešenia: Robopol Refined pre heuristické vyhľadávanie a CP-SAT pre exaktný/constraint-programming výpočet. Rovnaký custom dataset sa dá upraviť v prehliadači a poslať do podporovaného riešiča.
Einführung
RoboPol Production Scheduler plant Fertigungsaufträge, deren Jobs aus geordneten Operationen auf festen Maschinen bestehen. Das Programm ist für Job Shop Scheduling (JSSP) ausgelegt: Jede Operation hat eine Maschine und eine Bearbeitungszeit, Jobs behalten ihre Reihenfolge, und der Solver sucht einen möglichst kompakten Produktionsplan.
Die Anwendung bietet zwei native Solver-Wege: Robopol Refined für heuristische Suche und CP-SAT für exakte bzw. constraint-programming-basierte Berechnungen. Derselbe eigene Datensatz kann im Browser bearbeitet und an den passenden Solver gesendet werden.
Quick start
- Open Dataset and use Random Factory, or press Edit and enter machines, products, plan lines, and jobs manually.
- Keep Data source set to Custom dataset for production projects, or switch to Built-in instance for benchmark examples.
- Choose Robopol Refined with the Normal profile for a fast practical run, or choose CP-SAT when exact support is desired.
- Select the objective. Makespan is supported by both solver paths; Due-date weighted tardiness is currently CP-SAT only.
- Click Start Optimization. The Gantt map and Run Outputs panel update after a successful calculation.
- Export the project, Gantt image, SVG, schedule JSON, or schedule CSV from the Project and Run Outputs tools.
Rýchly štart
- Otvor Dataset a použi Náhodná výroba, alebo stlač Upraviť a zadaj stroje, produkty, plán a zákazky ručne.
- Pre výrobné projekty nechaj Zdroj dát nastavený na Vlastný dataset; pre ukážkové benchmarky prepni na Vstavaná inštancia.
- Zvoľ Robopol Refined s profilom Normálny pre rýchly praktický beh, alebo CP-SAT pre exaktnú cestu.
- Zvoľ cieľ výpočtu. Makespan podporujú obe cesty; Vážené omeškanie podľa termínu je momentálne iba pre CP-SAT.
- Klikni Spustiť optimalizáciu. Po úspešnom výpočte sa aktualizuje Gantt mapa a panel Výstupy behov.
- Exportuj projekt, Gantt PNG, SVG, JSON harmonogramu alebo CSV harmonogramu z nástrojov Projekt a Výstupy behov.
Schnellstart
- Öffne Datensatz und verwende Zufallsfabrik, oder klicke Bearbeiten und trage Maschinen, Produkte, Planzeilen und Jobs manuell ein.
- Für Produktionsprojekte bleibt Datenquelle auf Eigener Datensatz. Für Benchmark-Beispiele kannst du auf Eingebaute Instanz umschalten.
- Wähle Robopol Refined mit dem Profil Normal für einen schnellen praktischen Lauf, oder CP-SAT, wenn ein exakter Solver-Weg gewünscht ist.
- Wähle das Ziel. Makespan wird von beiden Solver-Wegen unterstützt; Gewichtete Terminverspätung läuft aktuell über CP-SAT.
- Klicke Optimierung starten. Nach einer erfolgreichen Berechnung werden die Gantt-Karte und Laufausgaben aktualisiert.
- Exportiere Projekt, Gantt PNG, SVG, Plan-JSON oder Plan-CSV über die Werkzeuge Projekt und Laufausgaben.
Program overview
The program starts in Custom dataset mode. If the dataset is empty, validation warns that at least one job is required before solving. Editing dataset structures automatically switches the source to Custom dataset so the visible project and solver payload stay aligned.
Prehľad programu
Program štartuje v režime vlastného datasetu. Ak je dataset prázdny, validácia upozorní, že pred výpočtom musí existovať aspoň jedna zákazka. Úprava datasetu automaticky aktivuje vlastný dataset, aby viditeľný projekt zodpovedal vstupu posielanému do riešiča.
Programmübersicht
Das Programm startet im Modus eigener Datensatz. Wenn der Datensatz leer ist, meldet die Validierung, dass vor der Berechnung mindestens ein Job vorhanden sein muss. Änderungen am Datensatz schalten automatisch auf eigener Datensatz, damit das sichtbare Projekt und die an den Solver gesendeten Daten zusammenpassen.
System requirements
- The application is intended to run as a hosted web application on the RoboPol server, including Hetzner deployment.
- The user opens the application URL in a modern browser such as Chrome, Edge, Firefox, or Safari.
- No local solver installation is required on the user's computer. Calculations run on the server.
- For comfortable planning, use a desktop or notebook display. A tablet can be used for review, but large datasets are easier on desktop.
- The browser must allow downloads when exporting project JSON, CSV files, PNG/SVG maps, or schedule outputs.
- For production use, keep one browser tab per active scheduling session to avoid editing the same browser-local draft in two places.
Systémové požiadavky
- Aplikácia je určená ako hostovaná webová aplikácia na serveri RoboPol, vrátane Hetzner nasadenia.
- Používateľ otvorí URL aplikácie v modernom prehliadači, napríklad Chrome, Edge, Firefox alebo Safari.
- Na počítači používateľa netreba lokálne inštalovať riešiče. Výpočty bežia na serveri.
- Pre pohodlné plánovanie použi desktop alebo notebook. Tablet sa hodí na kontrolu, ale veľké datasety sú praktickejšie na desktope.
- Prehliadač musí povoľovať sťahovanie pri exporte projektového JSON, CSV súborov, PNG/SVG máp alebo výstupov harmonogramu.
- Pri produkčnej práci používaj jednu kartu pre jednu aktívnu plánovaciu reláciu, aby sa ten istý lokálny draft needitoval na dvoch miestach.
Systemanforderungen
- Die Anwendung ist als gehostete Webanwendung auf dem RoboPol Server vorgesehen, einschließlich Hetzner-Bereitstellung.
- Der Benutzer öffnet die URL der Anwendung in einem modernen Browser wie Chrome, Edge, Firefox oder Safari.
- Auf dem Rechner des Benutzers muss kein Solver lokal installiert werden. Die Berechnungen laufen auf dem Server.
- Für komfortable Planung empfiehlt sich ein Desktop- oder Notebook-Display. Ein Tablet eignet sich zur Kontrolle, große Datensätze sind am Desktop praktischer.
- Der Browser muss Downloads erlauben, wenn Projekt-JSON, CSV-Dateien, PNG/SVG-Karten oder Planausgaben exportiert werden.
- Für produktive Arbeit sollte pro aktiver Planungssitzung nur ein Browser-Tab verwendet werden, damit derselbe lokale Entwurf nicht parallel an zwei Stellen bearbeitet wird.
Project tools
| Tool | Use |
|---|---|
| New Project | Creates a clean custom project with an empty production board. |
| Open Project | Loads a browser-local JSON project. Runtime state can restore the last schedule and output cards. |
| Save As / Export JSON | Downloads the schema-versioned project model, including machines, products, plan lines, jobs, downtime, and optional runtime state. |
| Export PNG / Export SVG | Downloads the Gantt map image after a successful calculation. PNG is a bitmap of the current rendered canvas view; SVG is a scalable vector schedule map. |
| Restore Draft / Discard | Uses browser-local recovery when an unsaved custom project exists. |
Projektové nástroje
| Nástroj | Použitie |
|---|---|
| Nový projekt | Vytvorí čistý vlastný projekt s prázdnou výrobnou tabuľou. |
| Otvoriť projekt | Načíta lokálny JSON projekt. Stav behu vie obnoviť posledný harmonogram a výstupné karty. |
| Uložiť ako / Export JSON | Stiahne projektový model so strojmi, produktmi, plánom, zákazkami, odstávkami a voliteľným stavom behu. |
| Export PNG / Export SVG | Stiahne obrázok Gantt mapy po úspešnom výpočte. PNG je bitmapa aktuálne vykresleného canvas pohľadu; SVG je škálovateľná vektorová mapa harmonogramu. |
| Obnoviť koncept / Zahodiť | Pracuje s lokálnou obnovou rozpracovaného vlastného projektu v prehliadači. |
Projektwerkzeuge
| Werkzeug | Verwendung |
|---|---|
| Neues Projekt | Erstellt ein sauberes eigenes Projekt mit leerer Produktionsübersicht. |
| Projekt öffnen | Lädt ein lokales JSON-Projekt aus dem Browser. Der Laufstatus kann den letzten Plan und die Ausgabekarten wiederherstellen. |
| Speichern unter / JSON exportieren | Lädt das schema-versionierte Projektmodell herunter, einschließlich Maschinen, Produkten, Planzeilen, Jobs, Stillstand und optionalem Laufstatus. |
| PNG exportieren / SVG exportieren | Lädt nach einer erfolgreichen Berechnung die Gantt-Karte herunter. PNG ist ein Bitmap der aktuellen Canvas-Ansicht; SVG ist eine skalierbare Vektorkarte des Plans. |
| Entwurf wiederherstellen / Verwerfen | Verwendet die lokale Browser-Wiederherstellung, wenn ein ungespeichertes eigenes Projekt vorhanden ist. |
System tools and status
The System panel contains controls that affect the application shell rather than the schedule model. These controls do not change machines, jobs, solver settings, or saved project data.
| Control | Use |
|---|---|
| Sound ON / OFF | Toggles interface sound feedback in the current browser session. |
| Manual | Opens this HTML user guide in a new browser tab. |
| License Key | Opens the active license dialog. The app loads license status from the server, shows Demo or the active edition, accepts a license key activation, and can deactivate the current activation. |
| Diagnostics | Opens service diagnostics for checking solver availability, runtime status, and support information. |
| SYSTEM: ONLINE | Indicates that the web UI is loaded. Solver availability is still confirmed when a calculation is started. |
| Download App | Downloads the RoboPol Production Scheduler desktop application package for licenses with desktop download entitlement. |
| E-shop | Opens the RoboPol e-shop in a separate browser tab. |
Systémové nástroje a stav
Panel Systém obsahuje ovládanie aplikácie ako rozhrania, nie samotného modelu harmonogramu. Tieto prvky nemenia stroje, úlohy, nastavenia riešiča ani uložené dáta projektu.
| Ovládanie | Použitie |
|---|---|
| Zvuk ZAP / VYP | Zapína alebo vypína zvukovú odozvu rozhrania v aktuálnej relácii prehliadača. |
| Manuál | Otvorí túto HTML používateľskú príručku v novej karte prehliadača. |
| Licenčný kľúč | Otvorí aktívny licenčný dialóg. Aplikácia načíta stav licencie zo servera, zobrazí Demo alebo aktívnu edíciu, umožní aktivovať licenčný kľúč a vie deaktivovať aktuálnu aktiváciu. |
| Diagnostika | Otvorí servisnú diagnostiku na kontrolu dostupnosti riešiča, runtime stavu a informácií pre podporu. |
| SYSTEM: ONLINE | Ukazuje, že webové UI je načítané. Dostupnosť riešiča sa potvrdí až pri spustení výpočtu. |
| Stiahnuť aplikáciu | Stiahne balík desktop aplikácie RoboPol Production Scheduler pre licencie s nárokom na desktop download. |
| E-shop | Otvorí RoboPol e-shop v samostatnej karte prehliadača. |
Systemwerkzeuge und Status
Das Panel System enthält Bedienelemente für die Anwendung, nicht für das eigentliche Planungsmodell. Diese Elemente ändern keine Maschinen, Jobs, Solver-Einstellungen oder gespeicherten Projektdaten.
| Bedienelement | Verwendung |
|---|---|
| Ton EIN / AUS | Schaltet die akustische Rückmeldung der Oberfläche in der aktuellen Browser-Sitzung ein oder aus. |
| Handbuch | Öffnet dieses HTML-Benutzerhandbuch in einem neuen Browser-Tab. |
| Lizenzschlüssel | Öffnet den aktiven Lizenzdialog. Die Anwendung lädt den Lizenzstatus vom Server, zeigt Demo oder die aktive Edition, kann einen Lizenzschlüssel aktivieren und die aktuelle Aktivierung deaktivieren. |
| Diagnose | Öffnet Servicediagnosen zur Prüfung von Solver-Verfügbarkeit, Laufzeitstatus und Supportinformationen. |
| SYSTEM: ONLINE | Zeigt, dass die Weboberfläche geladen ist. Die Solver-Verfügbarkeit wird trotzdem erst beim Start einer Berechnung bestätigt. |
| App herunterladen | Lädt das Desktop-Anwendungspaket von RoboPol Production Scheduler für Lizenzen mit Desktop-Download-Berechtigung herunter. |
| E-shop | Öffnet den RoboPol E-Shop in einem separaten Browser-Tab. |
Dataset model
Dátový model
Datenmodell
CSV import and dataset loading
CSV import is used when the production data already exists in ERP, MES, Excel, or another planning system. Import is section based: Machines, Products, Plan, and Jobs. Each import replaces only the selected section.
Dataset toolbar
| Button | What it imports or exports | When to use it |
|---|---|---|
| Import Machines / Export Machines | Machines and their downtime windows. | Use first, because product routes and jobs reference machine IDs. |
| Import Products / Export Products | Product routes and ordered route steps. | Use after Machines when you want to generate jobs from a production plan. |
| Import Plan / Export Plan | Production plan lines with quantities, batch sizes, due times, and priorities. | Use after Products, then open Dataset Editor and press Generate All Jobs. |
| Import Jobs / Export Jobs | Direct operation-level solver input. | Use when ERP/MES already exports jobs and operations and you do not need Product Routes plus Plan generation. |
| Random Factory | Synthetic machines, products, plan lines, downtime, and generated jobs. | Use for demos, training, screenshots, and quick validation of the workflow. |
Recommended import workflow
- Import Machines first, including planned downtime if needed.
- Import Products next. Product route steps must reference existing machine IDs.
- Import Plan. Plan lines must reference existing product IDs.
- Open Dataset Editor, review the plan, and click Generate All Jobs.
- Run the solver after the dataset status says the custom dataset is valid.
If your ERP/MES already exports exact operation-level jobs, you may skip Products and Plan and use Import Jobs directly. In that case, every operation row must reference an existing machine ID.
CSV import rules
- The first row must contain column names. Column order may follow the examples below.
- Use comma-separated CSV. Wrap values in quotes when they contain a comma, quote, or line break.
- Use a decimal point for decimal numbers, for example
1.2. Do not use a decimal comma such as1,2. - IDs are zero-based non-negative integers:
0,1,2. - Durations, quantities, and batch sizes must be positive numbers. Times are in the project time unit, normally minutes.
- Machine IDs used in Products or Jobs must exist in Machines. Product IDs used in Plan must exist in Products.
Machines CSV
Required columns: machine_id, machine_name. Downtime columns are optional, but if a downtime row is filled,
downtime_id, downtime_start, and downtime_duration are required. A machine with multiple downtime
windows appears on multiple rows with the same machine id.
machine_id,machine_name,machine_description,downtime_id,downtime_name,downtime_type,downtime_start,downtime_duration,downtime_hard,downtime_description
0,Laser cutter,Cuts sheet-metal blanks,0,Lens cleaning,maintenance,120,30,true,Planned optics cleaning
1,CNC mill,Milling and drilling station,,,,,,,
2,Assembly bench,Manual assembly station,,,,,,,
Product routes CSV
Required columns: product_id, product_name. A product that should generate jobs needs route rows with
route_step_id, machine_id, and duration. machine_name is informational;
the import uses machine_id.
product_id,product_name,product_description,route_step_id,route_step_name,machine_id,machine_name,duration,route_step_description
0,Control cabinet,Sheet-metal cabinet,0,Cut panels,0,Laser cutter,20,Cut outer panels
0,Control cabinet,Sheet-metal cabinet,1,Drill mounts,1,CNC mill,35,Drill and tap holes
0,Control cabinet,Sheet-metal cabinet,2,Assemble frame,2,Assembly bench,45,Manual assembly
1,Pump housing,Machined housing,0,Rough mill body,1,CNC mill,30,Rough machining
Production plan CSV
Required columns: plan_item_id, product_id, quantity, batch_size.
due_time is optional and must be non-negative when provided. priority is optional and defaults to 1.
The app expands each plan line into generated jobs by ceil(quantity / batch_size).
plan_item_id,plan_item_name,product_id,product_name,quantity,batch_size,due_time,priority,description
0,Cabinet order,0,Control cabinet,12,4,480,1.0,Customer order A
1,Pump order,1,Pump housing,10,5,420,1.2,Priority order
Jobs CSV
Import Jobs is the direct solver-input format. Use it when you already have operation-level jobs and do not want to generate them from
Product Routes and Production Plan. Required columns: job_id, job_name, operation_id,
machine_id, duration. One job uses multiple rows, one row per operation, ordered by operation_id.
job_id,job_name,job_description,product_id,plan_item_id,batch_quantity,release_time,due_time,priority,operation_id,operation_name,machine_id,machine_name,duration,operation_description
0,Cabinet batch 1,First cabinet batch,0,0,4,0,480,1.0,0,Cut panels,0,Laser cutter,20,Cut panels
0,Cabinet batch 1,First cabinet batch,0,0,4,0,480,1.0,1,Drill mounts,1,CNC mill,35,Drill mounts
0,Cabinet batch 1,First cabinet batch,0,0,4,0,480,1.0,2,Assemble frame,2,Assembly bench,45,Assembly
1,Pump batch 1,First pump batch,1,1,5,0,420,1.2,0,Rough mill body,1,CNC mill,30,Rough machining
CSV import a načítanie datasetu
CSV import použi vtedy, keď výrobné dáta už existujú v ERP, MES, Exceli alebo inom plánovacom systéme. Import je delený podľa sekcií: Stroje, Produkty, Plán a Zákazky. Každý import nahradí iba zvolenú sekciu.
Nástroje datasetu
| Tlačidlo | Čo importuje alebo exportuje | Kedy ho použiť |
|---|---|---|
| Import strojov / Export strojov | Stroje a ich odstávky. | Použi ako prvé, pretože produktové postupy a zákazky odkazujú na ID strojov. |
| Import produktov / Export produktov | Produktové postupy a zoradené kroky postupu. | Použi po strojoch, keď chceš generovať zákazky z výrobného plánu. |
| Import plánu / Export plánu | Riadky výrobného plánu s množstvom, veľkosťou dávky, termínom a prioritou. | Použi po produktoch, potom otvor Editor datasetu a stlač Vygenerovať všetky zákazky. |
| Import zákaziek / Export zákaziek | Priamy operačný vstup pre riešič. | Použi, keď ERP/MES už exportuje zákazky a operácie a nepotrebuješ generovanie cez produktové postupy a plán. |
| Náhodná výroba | Syntetické stroje, produkty, plánové riadky, odstávky a generované zákazky. | Použi pre ukážky, tréning, snímky obrazovky a rýchlu kontrolu pracovného postupu. |
Odporúčaný postup importu
- Najprv importuj Stroje, vrátane plánovaných odstávok, ak ich potrebuješ.
- Potom importuj Produkty. Kroky produktového postupu musia odkazovať na existujúce ID strojov.
- Importuj Plán. Riadky plánu musia odkazovať na existujúce ID produktov.
- Otvor Editor datasetu, skontroluj plán a klikni Vygenerovať všetky zákazky.
- Riešič spusti až po tom, keď stav datasetu hlási, že vlastný dataset je platný.
Ak ERP/MES už exportuje presné zákazky po operáciách, môžeš vynechať produkty a plán a použiť priamo Import zákaziek. Vtedy musí každý riadok operácie odkazovať na existujúce ID stroja.
Pravidlá CSV importu
- Prvý riadok musí obsahovať názvy stĺpcov. Poradie stĺpcov môže byť podľa príkladov nižšie.
- Použi CSV oddelené čiarkou. Hodnoty s čiarkou, úvodzovkou alebo zalomením riadku daj do úvodzoviek.
- Pri desatinných číslach používaj bodku, napríklad
1.2. Nepoužívaj desatinnú čiarku typu1,2. - ID sú nezáporné celé čísla od nuly:
0,1,2. - Trvania, množstvá a veľkosti dávok musia byť kladné čísla. Časy sú v časovej jednotke projektu, typicky minúty.
- ID strojov použité v produktoch alebo zákazkách musia existovať v strojoch. ID produktov použité v pláne musia existovať v produktoch.
CSV stroje
Povinné stĺpce: machine_id, machine_name. Stĺpce odstávky sú voliteľné, ale ak je odstávka vyplnená,
povinné sú downtime_id, downtime_start a downtime_duration. Stroj s viacerými odstávkami
je vo viacerých riadkoch s rovnakým ID stroja.
machine_id,machine_name,machine_description,downtime_id,downtime_name,downtime_type,downtime_start,downtime_duration,downtime_hard,downtime_description
0,Laser cutter,Cuts sheet-metal blanks,0,Lens cleaning,maintenance,120,30,true,Planned optics cleaning
1,CNC mill,Milling and drilling station,,,,,,,
2,Assembly bench,Manual assembly station,,,,,,,
CSV produktové postupy
Povinné stĺpce: product_id, product_name. Produkt, z ktorého chceš generovať zákazky,
potrebuje riadky s route_step_id, machine_id a duration.
machine_name je informačný; import používa machine_id.
product_id,product_name,product_description,route_step_id,route_step_name,machine_id,machine_name,duration,route_step_description
0,Control cabinet,Sheet-metal cabinet,0,Cut panels,0,Laser cutter,20,Cut outer panels
0,Control cabinet,Sheet-metal cabinet,1,Drill mounts,1,CNC mill,35,Drill and tap holes
0,Control cabinet,Sheet-metal cabinet,2,Assemble frame,2,Assembly bench,45,Manual assembly
1,Pump housing,Machined housing,0,Rough mill body,1,CNC mill,30,Rough machining
CSV výrobný plán
Povinné stĺpce: plan_item_id, product_id, quantity, batch_size.
due_time je voliteľné a ak je vyplnené, musí byť nezáporné. priority je voliteľné a predvolene je 1.
Aplikácia rozvinie každý riadok plánu na generované zákazky podľa ceil(quantity / batch_size).
plan_item_id,plan_item_name,product_id,product_name,quantity,batch_size,due_time,priority,description
0,Cabinet order,0,Control cabinet,12,4,480,1.0,Customer order A
1,Pump order,1,Pump housing,10,5,420,1.2,Priority order
CSV zákazky
Import zákaziek je priamy vstupný formát pre riešič. Použi ho vtedy, keď už máš zákazky po operáciách a nechceš ich generovať z produktových postupov
a výrobného plánu. Povinné stĺpce: job_id, job_name, operation_id,
machine_id, duration. Jedna zákazka má viac riadkov, jeden riadok na operáciu, zoradené podľa operation_id.
job_id,job_name,job_description,product_id,plan_item_id,batch_quantity,release_time,due_time,priority,operation_id,operation_name,machine_id,machine_name,duration,operation_description
0,Cabinet batch 1,First cabinet batch,0,0,4,0,480,1.0,0,Cut panels,0,Laser cutter,20,Cut panels
0,Cabinet batch 1,First cabinet batch,0,0,4,0,480,1.0,1,Drill mounts,1,CNC mill,35,Drill mounts
0,Cabinet batch 1,First cabinet batch,0,0,4,0,480,1.0,2,Assemble frame,2,Assembly bench,45,Assembly
1,Pump batch 1,First pump batch,1,1,5,0,420,1.2,0,Rough mill body,1,CNC mill,30,Rough machining
CSV-Import und Laden des Datensatzes
CSV-Import wird verwendet, wenn Produktionsdaten bereits aus ERP, MES, Excel oder einem anderen Planungssystem vorliegen. Der Import ist in Bereiche aufgeteilt: Maschinen, Produkte, Plan und Jobs. Jeder Import ersetzt nur den ausgewählten Bereich.
Datensatz-Werkzeuge
| Schaltfläche | Importiert oder exportiert | Wann verwenden |
|---|---|---|
| Maschinen importieren / Maschinen exportieren | Maschinen und ihre Stillstandsfenster. | Zuerst verwenden, weil Produktrouten und Jobs auf Maschinen-IDs verweisen. |
| Produkte importieren / Produkte exportieren | Produktrouten und geordnete Routenschritte. | Nach Maschinen verwenden, wenn Jobs aus einem Produktionsplan erzeugt werden sollen. |
| Plan importieren / Plan exportieren | Produktionsplanzeilen mit Mengen, Chargengrößen, Terminen und Prioritäten. | Nach Produkten verwenden, dann Datensatz-Editor öffnen und Alle Jobs generieren drücken. |
| Jobs importieren / Jobs exportieren | Direkter operationsbasierter Solver-Eingang. | Verwenden, wenn ERP/MES Jobs und Operationen bereits exakt exportiert und keine Generierung über Produktrouten und Plan nötig ist. |
| Zufallsfabrik | Synthetische Maschinen, Produkte, Planzeilen, Stillstand und generierte Jobs. | Für Demos, Schulung, Screenshots und schnelle Workflow-Kontrolle. |
Empfohlener Importablauf
- Importiere zuerst Maschinen, bei Bedarf inklusive geplanter Stillstände.
- Importiere danach Produkte. Schritte der Produktroute müssen auf vorhandene Maschinen-IDs verweisen.
- Importiere Plan. Planzeilen müssen auf vorhandene Produkt-IDs verweisen.
- Öffne den Datensatz-Editor, prüfe den Plan und klicke Alle Jobs generieren.
- Starte den Solver erst, wenn der Datensatzstatus meldet, dass der eigene Datensatz gültig ist.
Wenn ERP/MES bereits exakte Jobs auf Operationsebene exportiert, kannst du Produkte und Plan überspringen und direkt Jobs importieren verwenden. In diesem Fall muss jede Operationszeile auf eine vorhandene Maschinen-ID verweisen.
Regeln für CSV-Dateien
- Die erste Zeile muss Spaltennamen enthalten. Die Spaltenreihenfolge kann den Beispielen unten folgen.
- CSV verwendet Kommas als Trennzeichen. Werte mit Komma, Anführungszeichen oder Zeilenumbruch müssen in Anführungszeichen stehen.
- Für Dezimalzahlen wird ein Punkt verwendet, zum Beispiel
1.2. Kein Dezimalkomma wie1,2verwenden. - IDs sind nullbasierte nichtnegative Ganzzahlen:
0,1,2. - Dauern, Mengen und Chargengrößen müssen positive Zahlen sein. Zeiten stehen in der Projektzeiteinheit, normalerweise Minuten.
- Maschinen-IDs in Produkten oder Jobs müssen in Maschinen existieren. Produkt-IDs im Plan müssen in Produkten existieren.
Maschinen CSV
Pflichtspalten: machine_id, machine_name. Stillstandsspalten sind optional. Wenn eine Stillstandszeile gefüllt ist,
sind downtime_id, downtime_start und downtime_duration erforderlich. Eine Maschine mit mehreren
Stillständen steht in mehreren Zeilen mit derselben Maschinen-ID.
machine_id,machine_name,machine_description,downtime_id,downtime_name,downtime_type,downtime_start,downtime_duration,downtime_hard,downtime_description
0,Laser cutter,Cuts sheet-metal blanks,0,Lens cleaning,maintenance,120,30,true,Planned optics cleaning
1,CNC mill,Milling and drilling station,,,,,,,
2,Assembly bench,Manual assembly station,,,,,,,
Produktrouten CSV
Pflichtspalten: product_id, product_name. Ein Produkt, aus dem Jobs generiert werden sollen,
braucht Zeilen mit route_step_id, machine_id und duration.
machine_name ist nur informativ; der Import verwendet machine_id.
product_id,product_name,product_description,route_step_id,route_step_name,machine_id,machine_name,duration,route_step_description
0,Control cabinet,Sheet-metal cabinet,0,Cut panels,0,Laser cutter,20,Cut outer panels
0,Control cabinet,Sheet-metal cabinet,1,Drill mounts,1,CNC mill,35,Drill and tap holes
0,Control cabinet,Sheet-metal cabinet,2,Assemble frame,2,Assembly bench,45,Manual assembly
1,Pump housing,Machined housing,0,Rough mill body,1,CNC mill,30,Rough machining
Produktionsplan CSV
Pflichtspalten: plan_item_id, product_id, quantity, batch_size.
due_time ist optional und muss, wenn angegeben, nichtnegativ sein. priority ist optional und hat den Standardwert 1.
Die Anwendung erweitert jede Planzeile zu generierten Jobs nach ceil(quantity / batch_size).
plan_item_id,plan_item_name,product_id,product_name,quantity,batch_size,due_time,priority,description
0,Cabinet order,0,Control cabinet,12,4,480,1.0,Customer order A
1,Pump order,1,Pump housing,10,5,420,1.2,Priority order
Jobs CSV
Jobs importieren ist das direkte Solver-Eingabeformat. Verwende es, wenn Jobs bereits auf Operationsebene vorliegen und nicht aus Produktrouten
und Produktionsplan generiert werden sollen. Pflichtspalten: job_id, job_name, operation_id,
machine_id, duration. Ein Job besteht aus mehreren Zeilen, eine Zeile pro Operation, geordnet nach operation_id.
job_id,job_name,job_description,product_id,plan_item_id,batch_quantity,release_time,due_time,priority,operation_id,operation_name,machine_id,machine_name,duration,operation_description
0,Cabinet batch 1,First cabinet batch,0,0,4,0,480,1.0,0,Cut panels,0,Laser cutter,20,Cut panels
0,Cabinet batch 1,First cabinet batch,0,0,4,0,480,1.0,1,Drill mounts,1,CNC mill,35,Drill mounts
0,Cabinet batch 1,First cabinet batch,0,0,4,0,480,1.0,2,Assemble frame,2,Assembly bench,45,Assembly
1,Pump batch 1,First pump batch,1,1,5,0,420,1.2,0,Rough mill body,1,CNC mill,30,Rough machining
Dataset Editor
Press Edit in the Dataset card to open the Dataset Editor. The section cards switch between Machines, Product Routes, Production Plan, and Generated Jobs. Only one detail panel is active at a time to keep editing compact.
- Machines define factory resources and their downtime windows.
- Product Routes define reusable production recipes.
- Production Plan defines quantities, batch sizes, due times, and priorities.
- Generated Jobs is the exact operation-level solver input.
Editor actions
| Area | Main actions | What to check |
|---|---|---|
| Machines | Add, Delete, Add Downtime, Delete Downtime. | Every referenced machine must exist. Deleting a machine remaps affected route steps and operations to another available machine. |
| Product Routes | Add Product, Delete Product, Add Step, Delete Step, Create Job. | Route steps must be ordered, each with a machine and positive duration. Create Job copies the selected product route into one solver job. |
| Production Plan | Add, Delete, Generate All Jobs. | Each line needs a product, quantity, and batch size. Generate All Jobs replaces the complete Generated Jobs list with jobs expanded from every line in the current plan. |
| Generated Jobs | Add Job, Delete Job, Add Operation, Delete Operation, Clear. | This is the final solver input. Edit job due/priority here for one-off exceptions before pressing Start. |
Production Plan field values
| Field | Accepted value | Meaning |
|---|---|---|
| Qty | Positive whole number: 1, 12, 250. No decimal comma. | Total requested quantity for the selected product line. |
| Batch size | Positive whole number: 1, 4, 10. | How many pieces one generated job represents. Qty 1 and Batch size 1 means one piece and one generated job. Qty 12 and Batch size 4 creates three generated jobs. |
| Due | Empty or a non-negative number in the project time unit, normally minutes: 480. | Target completion time for generated jobs from this plan line. Empty Due means no due-date penalty. CP-SAT uses it for weighted tardiness. |
| Priority | Positive number, decimal point allowed: 1, 1.2, 2. Default is 1. | Weight of lateness when the CP-SAT weighted-tardiness objective is selected. Priority 2 makes one late minute twice as expensive as priority 1. |
In Generated Jobs, Due and Priority use the same number rules. Edit them there only for individual exceptions after jobs are generated. Pressing Generate All Jobs again recreates the complete generated job list from the Production Plan values. The job count shown in Production Plan rows is only a preview; it does not create solver jobs until Generate All Jobs is pressed.
The small ? buttons in the editor show inline help for the current card. They are useful when checking whether a field belongs to the planning layer or to the exact solver input.
Editor datasetu
Klikni Upraviť v karte Dataset. Sekčné karty prepínajú Stroje, Produktové postupy, Výrobný plán a Generované zákazky. Aktívny je vždy jeden detailný panel, aby bol editor prehľadný.
- Stroje definujú výrobné zdroje a ich odstávky.
- Produktové postupy definujú opakovateľné výrobné recepty.
- Výrobný plán definuje množstvá, veľkosti dávok, termíny a priority.
- Generované zákazky sú presný operačný vstup pre riešič.
Akcie editora
| Časť | Hlavné akcie | Čo skontrolovať |
|---|---|---|
| Stroje | Pridať, Vymazať, Pridať odstávku, Vymazať odstávku. | Každý referencovaný stroj musí existovať. Vymazanie stroja premapuje dotknuté kroky postupu a operácie na iný dostupný stroj. |
| Produktové postupy | Pridať produkt, Vymazať produkt, Pridať krok, Vymazať krok, Vytvoriť zákazku. | Kroky postupu musia byť zoradené, každý so strojom a kladným trvaním. Vytvoriť zákazku skopíruje vybraný produktový postup do jednej zákazky pre riešič. |
| Výrobný plán | Pridať, Vymazať, Vygenerovať všetky zákazky. | Každý riadok potrebuje produkt, množstvo a veľkosť dávky. Vygenerovať všetky zákazky nahradí celý zoznam generovaných zákaziek zákazkami rozvinutými zo všetkých riadkov aktuálneho plánu. |
| Generované zákazky | Pridať zákazku, Vymazať zákazku, Pridať operáciu, Vymazať operáciu, Vyčistiť. | Toto je finálny vstup pre riešič. Termín a prioritu tu upravuj pre jednorazové výnimky pred stlačením Spustiť. |
Hodnoty polí vo výrobnom pláne
| Pole | Povolený tvar | Význam |
|---|---|---|
| Množstvo | Kladné celé číslo: 1, 12, 250. Bez desatinnej čiarky. | Celkové požadované množstvo vybraného produktu v tomto riadku plánu. |
| Veľkosť dávky | Kladné celé číslo: 1, 4, 10. | Koľko kusov predstavuje jedna vygenerovaná zákazka. Množstvo 1 a Veľkosť dávky 1 znamená jeden kus a jednu vygenerovanú zákazku. Množstvo 12 a Veľkosť dávky 4 vytvorí tri zákazky. |
| Termín | Prázdne alebo nezáporné číslo v časovej jednotke projektu, typicky minúty: 480. | Cieľový čas dokončenia zákaziek z tohto riadku plánu. Prázdny termín znamená, že zákazka nemá penalizáciu za omeškanie. CP-SAT ho používa pri váženom omeškaní podľa termínu. |
| Priorita | Kladné číslo, desatinná bodka je povolená: 1, 1.2, 2. Predvolená hodnota je 1. | Váha omeškania pri cieli CP-SAT vážené omeškanie podľa termínu. Priorita 2 robí jednu minútu omeškania dvakrát drahšou ako priorita 1. |
V časti Generované zákazky majú Termín a Priorita rovnaké pravidlá čísel. Upravuj ich tam iba pre individuálne výnimky po vygenerovaní zákaziek. Opätovné stlačenie Vygenerovať všetky zákazky vytvorí celý zoznam generovaných zákaziek znova podľa hodnôt vo výrobnom pláne. Počet zákaziek zobrazený v riadku výrobného plánu je iba náhľad; reálne zákazky pre riešič vzniknú až po stlačení Vygenerovať všetky zákazky.
Malé tlačidlá ? v editore zobrazujú krátku pomoc k aktuálnej karte. Pomáhajú rozlíšiť, či pole patrí do plánovacej vrstvy alebo priamo do vstupu riešiča.
Datensatz-Editor
Klicke in der Datensatz-Karte auf Bearbeiten, um den Datensatz-Editor zu öffnen. Die Bereichskarten wechseln zwischen Maschinen, Produktarbeitsplänen, Produktionsplan und Generierten Jobs. Es ist immer nur ein Detailpanel aktiv, damit die Bearbeitung übersichtlich bleibt.
- Maschinen definieren Fertigungsressourcen und ihre Stillstandsfenster.
- Produktarbeitspläne definieren wiederverwendbare Fertigungsrezepte.
- Produktionsplan definiert Mengen, Chargengrößen, Termine und Prioritäten.
- Generierte Jobs sind der genaue operationsbasierte Eingang für den Solver.
Editor-Aktionen
| Bereich | Hauptaktionen | Worauf prüfen |
|---|---|---|
| Maschinen | Hinzufügen, Löschen, Stillstand hinzufügen, Stillstand löschen. | Jede referenzierte Maschine muss existieren. Beim Löschen einer Maschine werden betroffene Routenschritte und Operationen auf eine andere verfügbare Maschine umgelegt. |
| Produktarbeitspläne | Produkt hinzufügen, Produkt löschen, Schritt hinzufügen, Schritt löschen, Job erstellen. | Routenschritte müssen geordnet sein, jeder mit Maschine und positiver Dauer. Job erstellen kopiert den ausgewählten Produktarbeitsplan in einen Solver-Job. |
| Produktionsplan | Hinzufügen, Löschen, Alle Jobs generieren. | Jede Zeile braucht Produkt, Menge und Chargengröße. Alle Jobs generieren ersetzt die vollständige Liste generierter Jobs durch Jobs aus allen Zeilen des aktuellen Plans. |
| Generierte Jobs | Job hinzufügen, Job löschen, Operation hinzufügen, Operation löschen, Leeren. | Das ist der finale Solver-Eingang. Termin und Priorität werden hier für einmalige Ausnahmen angepasst, bevor Start gedrückt wird. |
Feldwerte im Produktionsplan
| Feld | Erlaubter Wert | Bedeutung |
|---|---|---|
| Menge | Positive Ganzzahl: 1, 12, 250. Kein Dezimalkomma. | Gesamte angeforderte Menge des ausgewählten Produkts in dieser Planzeile. |
| Chargengröße | Positive Ganzzahl: 1, 4, 10. | Wie viele Stück ein generierter Job repräsentiert. Menge 1 und Chargengröße 1 bedeutet ein Stück und einen generierten Job. Menge 12 und Chargengröße 4 erzeugt drei Jobs. |
| Fällig | Leer oder eine nichtnegative Zahl in der Projektzeiteinheit, normalerweise Minuten: 480. | Ziel-Fertigstellungszeit der Jobs aus dieser Planzeile. Leer bedeutet keine Verspätungsstrafe. CP-SAT verwendet den Wert für gewichtete Terminverspätung. |
| Priorität | Positive Zahl, Dezimalpunkt erlaubt: 1, 1.2, 2. Standardwert ist 1. | Gewicht der Verspätung beim CP-SAT-Ziel gewichtete Terminverspätung. Priorität 2 macht eine verspätete Minute doppelt so teuer wie Priorität 1. |
In Generierte Jobs verwenden Fällig und Priorität dieselben Zahlenregeln. Passe sie dort nur für einzelne Ausnahmen nach der Generierung an. Wenn Alle Jobs generieren erneut gedrückt wird, wird die vollständige Liste generierter Jobs wieder aus den Werten im Produktionsplan erstellt. Die Jobanzahl in den Produktionsplanzeilen ist nur eine Vorschau; echte Solver-Jobs entstehen erst nach dem Klick auf Alle Jobs generieren.
Die kleinen ?-Schaltflächen im Editor zeigen kurze Hilfe zur aktuellen Karte. Sie helfen zu erkennen, ob ein Feld zur Planungsebene oder direkt zum Solver-Eingang gehört.
Machines and downtime
Machine downtime blocks a selected machine for a fixed time interval. Use it for planned maintenance, technical breaks, repairs, inspections, calibration, cleaning, or known outages. Both Robopol Refined and CP-SAT treat hard downtime as occupied machine time, so no operation may overlap it.
Manual setup in Dataset Editor
- Open Dataset Editor and select Machines.
- Select the machine card, for example Laser cutter or CNC mill.
- Click Add Downtime in the Downtime / Maintenance area.
- Choose a type such as maintenance, technical break, repair, or unexpected outage.
- Enter Start and Duration in the same time unit as operations, usually minutes.
- Keep Hard enabled. Soft downtime is visible as a future concept but is not supported by the current solver path.
- Optionally enter a name and notes so the exported schedule explains why the machine is blocked.
Example
If CNC mill has maintenance from minute 120 for 30 minutes, set Start = 120 and Duration = 30.
The blocked interval is 120-150. The Gantt map draws this as a red downtime block, and schedule CSV export includes a downtime row.
Validation rules
- Downtime start must be a non-negative integer.
- Downtime duration must be a positive integer.
- Downtime IDs must be unique inside the selected machine.
- Soft downtime is rejected; current downtime must remain hard.
Stroje a odstávky
Odstávka stroja zablokuje vybraný stroj na pevný časový interval. Použi ju pre plánovanú údržbu, technické prestávky, opravy, kontroly, kalibráciu, čistenie alebo známe výpadky. Robopol Refined aj CP-SAT berú tvrdú odstávku ako obsadený čas stroja, takže žiadna operácia ho nesmie prekrývať.
Ručné nastavenie v Editore datasetu
- Otvor Editor datasetu a vyber Stroje.
- Vyber kartu stroja, napríklad Laser cutter alebo CNC mill.
- V časti Odstávka / údržba klikni Pridať odstávku.
- Zvoľ typ, napríklad údržba, technická prestávka, oprava alebo nečakaný výpadok.
- Zadaj Začiatok a Trvanie v rovnakej časovej jednotke ako operácie, typicky minúty.
- Nechaj zapnuté Tvrdá. Mäkká odstávka je viditeľná ako budúci koncept, ale aktuálna cesta riešiča pracuje s tvrdými odstávkami.
- Voliteľne zadaj názov a poznámku, aby exportovaný harmonogram vysvetľoval, prečo je stroj blokovaný.
Príklad
Ak má CNC mill údržbu od minúty 120 na 30 minút, nastav začiatok = 120 a trvanie = 30.
Blokovaný interval je 120-150. Gantt mapa ho vykreslí ako červený blok odstávky a CSV export harmonogramu obsahuje riadok odstávky.
Validačné pravidlá
- Začiatok odstávky musí byť nezáporné celé číslo.
- Trvanie odstávky musí byť kladné celé číslo.
- ID odstávok musia byť unikátne v rámci vybraného stroja.
- Aktuálne odstávky musia byť tvrdé.
Maschinen und Stillstand
Maschinenstillstand blockiert eine ausgewählte Maschine für ein festes Zeitfenster. Verwende ihn für geplante Wartung, technische Pausen, Reparaturen, Kontrollen, Kalibrierung, Reinigung oder bekannte Ausfälle. Robopol Refined und CP-SAT behandeln harten Stillstand als belegte Maschinenzeit; keine Operation darf ihn überlappen.
Manuelle Einrichtung im Datensatz-Editor
- Öffne den Datensatz-Editor und wähle Maschinen.
- Wähle die Maschinenkarte, zum Beispiel Laser cutter oder CNC mill.
- Klicke im Bereich Stillstand / Wartung auf Stillstand hinzufügen.
- Wähle einen Typ, zum Beispiel Wartung, technische Pause, Reparatur oder unerwarteter Ausfall.
- Trage Start und Dauer in derselben Zeiteinheit wie die Operationen ein, normalerweise Minuten.
- Lasse Hart aktiviert. Weicher Stillstand ist als zukünftiges Konzept sichtbar, der aktuelle Solver-Weg arbeitet mit hartem Stillstand.
- Optional kannst du Name und Notizen ergänzen, damit der exportierte Plan erklärt, warum die Maschine blockiert ist.
Beispiel
Wenn CNC mill ab Minute 120 für 30 Minuten Wartung hat, setze Start = 120 und Duration = 30.
Das blockierte Fenster ist 120-150. Die Gantt-Karte zeichnet es als roten Stillstandsblock, und der Plan-CSV-Export enthält eine Stillstandszeile.
Validierungsregeln
- Der Stillstandsbeginn muss eine nichtnegative Ganzzahl sein.
- Die Stillstandsdauer muss eine positive Ganzzahl sein.
- Stillstands-IDs müssen innerhalb der ausgewählten Maschine eindeutig sein.
- Aktuelle Stillstandsfenster werden als harter Stillstand geplant.
Production plan and generated jobs
Product Routes and Production Plan are planner-facing layers. The solver does not solve product quantities directly; it solves generated fixed-machine jobs. Press Generate All Jobs after the plan is ready. Changing plan fields does not regenerate jobs automatically; the visible job count in a plan row is only a preview.
Generation workflow
- Define the product route first: ordered operations, fixed machine for each operation, and operation duration for one generated job/batch.
- Create a Production Plan line: choose product, quantity, batch size, due, and priority.
- Click Generate All Jobs. The app expands every Production Plan line into concrete jobs and copies the product route operations into each job.
- Run the solver only after Generated Jobs exist. The solver input is Generated Jobs, not the Production Plan table itself.
- If you change quantity, batch size, product route, due, or priority in the Production Plan, click Generate All Jobs again.
Generate All Jobs is a bulk action for the whole Production Plan, not a one-job action. It replaces the current Generated Jobs list. Manual edits made inside Generated Jobs are useful for exceptions, but they can be overwritten by the next Generate All Jobs action.
Product routes
- A product route is an ordered recipe: step 0, step 1, step 2, and so on.
- Each step needs a machine and duration.
- The order is preserved in every job generated from that product.
Production plan lines
- Quantity is the total requested amount.
- Batch size controls how many pieces one generated job represents.
- Due is the target completion time for generated jobs from that plan line.
- Priority is used by CP-SAT Due-date weighted tardiness. Higher priority makes lateness more expensive.
Generated jobs
For each plan line, the application creates ceil(quantity / batch_size) jobs. Example: quantity 12
and batch size 4 creates 3 generated jobs. The last batch may be smaller when the quantity is not divisible
by batch size.
You can review and manually adjust Generated Jobs before solving. Use this for exceptions, one-off rework, changed duration, or a job that must use a different fixed machine.
Výrobný plán a generované zákazky
Produktové postupy a výrobný plán sú vrstvy pre plánovača. Riešič neoptimalizuje množstvá priamo; rieši vygenerované zákazky s pevne zadanými strojmi. Po dokončení plánu klikni Vygenerovať všetky zákazky. Zmena polí vo výrobnom pláne negeneruje zákazky automaticky; viditeľný počet zákaziek v riadku plánu je iba náhľad.
Ako vzniknú generované zákazky
- Najprv definuj produktový postup: poradie operácií, pevný stroj pre každú operáciu a trvanie operácie pre jednu vygenerovanú zákazku/dávku.
- Vo výrobnom pláne vytvor riadok: vyber produkt, množstvo, veľkosť dávky, termín a prioritu.
- Klikni Vygenerovať všetky zákazky. Aplikácia rozvinie každý riadok výrobného plánu na konkrétne zákazky a do každej zákazky skopíruje operácie z produktového postupu.
- Solver spúšťaj až vtedy, keď existujú generované zákazky. Vstupom pre solver sú generované zákazky, nie samotná tabuľka výrobného plánu.
- Ak vo výrobnom pláne zmeníš množstvo, veľkosť dávky, produktový postup, termín alebo prioritu, klikni znova Vygenerovať všetky zákazky.
Vygenerovať všetky zákazky je hromadná akcia pre celý výrobný plán, nie akcia pre jednu zákazku. Nahradí aktuálny zoznam Generovaných zákaziek. Ručné úpravy v Generovaných zákazkách sú vhodné na výnimky, ale ďalšie stlačenie Vygenerovať všetky zákazky ich môže prepísať.
Produktové trasy
- Produktová trasa je zoradený recept: krok 0, krok 1, krok 2 atď.
- Každý krok potrebuje stroj a trvanie.
- Poradie krokov sa zachová v každej úlohe vygenerovanej z daného produktu.
Riadky výrobného plánu
- Množstvo je celkové požadované množstvo.
- Veľkosť dávky určuje, koľko kusov reprezentuje jedna vygenerovaná zákazka.
- Termín je cieľový čas dokončenia pre zákazky vytvorené z daného riadku plánu.
- Priorita používa CP-SAT pri cieli váženého omeškania podľa termínu. Vyššia priorita robí oneskorenie drahším.
Generované zákazky
Pre každý riadok plánu aplikácia vytvorí ceil(quantity / batch_size) zákaziek. Príklad: množstvo 12
a veľkosť dávky 4 vytvorí 3 generované zákazky. Posledná dávka môže byť menšia, ak množstvo nie je deliteľné veľkosťou dávky.
Generované zákazky môžeš pred výpočtom skontrolovať a ručne upraviť. Použi to pre výnimky, jednorazovú prerábku, zmenené trvanie alebo zákazku, ktorá musí ísť na iný pevný stroj.
Produktionsplan und generierte Jobs
Produktarbeitspläne und Produktionsplan sind Planungsebenen für den Anwender. Der Solver optimiert Produktmengen nicht direkt; er plant die daraus erzeugten Jobs mit festen Maschinen. Klicke nach Fertigstellung des Plans auf Alle Jobs generieren. Änderungen an Planfeldern erzeugen Jobs nicht automatisch neu; die sichtbare Jobanzahl in einer Planzeile ist nur eine Vorschau.
Wie generierte Jobs entstehen
- Zuerst den Produktarbeitsplan definieren: Reihenfolge der Operationen, feste Maschine pro Operation und Operationsdauer für einen generierten Job/eine Charge.
- Im Produktionsplan eine Zeile anlegen: Produkt, Menge, Chargengröße, Termin und Priorität wählen.
- Auf Alle Jobs generieren klicken. Die Anwendung erweitert jede Produktionsplanzeile zu konkreten Jobs und kopiert die Operationen aus dem Produktarbeitsplan in jeden Job.
- Den Solver erst starten, wenn generierte Jobs vorhanden sind. Solver-Eingabe sind die generierten Jobs, nicht die Produktionsplantabelle selbst.
- Wenn Menge, Chargengröße, Produktarbeitsplan, Termin oder Priorität im Produktionsplan geändert wird, erneut Alle Jobs generieren klicken.
Alle Jobs generieren ist eine Sammelaktion für den ganzen Produktionsplan, keine Aktion für einen einzelnen Job. Sie ersetzt die aktuelle Liste der generierten Jobs. Manuelle Änderungen in Generierte Jobs sind für Ausnahmen nützlich, können aber beim nächsten Alle Jobs generieren überschrieben werden.
Produktrouten
- Eine Produktroute ist ein geordnetes Rezept: Schritt 0, Schritt 1, Schritt 2 usw.
- Jeder Schritt braucht eine Maschine und eine Dauer.
- Die Reihenfolge bleibt in jedem Job erhalten, der aus diesem Produkt generiert wird.
Zeilen des Produktionsplans
- Menge ist die gesamte angeforderte Menge.
- Chargengröße legt fest, wie viele Stück ein generierter Job repräsentiert.
- Fällig ist die Ziel-Fertigstellungszeit für Jobs aus dieser Planzeile.
- Priorität wird von CP-SAT beim Ziel gewichtete Terminverspätung verwendet. Höhere Priorität macht Verspätung teurer.
Generierte Jobs
Für jede Planzeile erzeugt die Anwendung ceil(quantity / batch_size) Jobs. Beispiel: Menge 12
und Chargengröße 4 erzeugen 3 generierte Jobs. Die letzte Charge kann kleiner sein, wenn die Menge nicht durch die Chargengröße teilbar ist.
Generierte Jobs können vor der Berechnung geprüft und manuell angepasst werden. Nutze das für Ausnahmen, einmalige Nacharbeit, geänderte Dauer oder einen Job, der auf eine andere feste Maschine muss.
Random Factory
Random Factory creates a deterministic synthetic production project for demos, smoke checks, and training. Choose a size preset, seed, number of machines, products, plan lines, and downtime blocks. The generated project activates Custom dataset mode and creates jobs from the plan.
| Field | Meaning |
|---|---|
| Factory Size | Preset for a small, medium, or large synthetic production project. The preset fills sensible defaults. |
| Seed | Deterministic generator seed. The same settings and seed recreate the same factory structure. |
| Machines | Number of factory resources. The UI accepts 2 to 12. |
| Products | Number of product routes. The UI accepts 1 to 10. |
| Plan Lines | Number of production order lines. The UI accepts 1 to 12. |
| Downtime Blocks | Number of generated hard downtime windows. The UI accepts 0 to 24. |
| Generate Factory | Creates machines, product routes, production plan lines, downtime, and Generated Jobs in one step. |
Náhodná výroba
Náhodná výroba vytvorí deterministický syntetický výrobný projekt pre ukážky, rýchle kontroly a tréning. Zvoľ predvoľbu veľkosti, seed, počet strojov, produktov, plánových riadkov a odstávok. Vygenerovaný projekt aktivuje vlastný dataset a vytvorí zákazky z plánu.
| Pole | Význam |
|---|---|
| Veľkosť výroby | Predvoľba pre malý, stredný alebo veľký syntetický výrobný projekt. Predvoľba vyplní rozumné hodnoty. |
| Seed | Deterministický seed generátora. Rovnaké nastavenia a seed vytvoria rovnakú štruktúru fabriky. |
| Stroje | Počet výrobných zdrojov. UI povoľuje 2 až 12. |
| Produkty | Počet produktových postupov. UI povoľuje 1 až 10. |
| Riadky plánu | Počet riadkov výrobného plánu. UI povoľuje 1 až 12. |
| Bloky odstávok | Počet vygenerovaných tvrdých odstávok. UI povoľuje 0 až 24. |
| Generovať výrobu | V jednom kroku vytvorí stroje, produktové postupy, riadky plánu, odstávky a generované zákazky. |
Zufallsfabrik
Die Zufallsfabrik erzeugt ein deterministisches synthetisches Produktionsprojekt für Demos, schnelle Prüfungen und Schulung. Wähle Größenpreset, Seed, Anzahl Maschinen, Produkte, Planzeilen und Stillstandsblöcke. Das erzeugte Projekt aktiviert den eigenen Datensatz und erstellt Jobs aus dem Plan.
| Feld | Bedeutung |
|---|---|
| Fabrikgröße | Preset für ein kleines, mittleres oder großes synthetisches Produktionsprojekt. Das Preset füllt sinnvolle Standardwerte. |
| Seed | Deterministischer Generator-Seed. Gleiche Einstellungen und gleicher Seed erzeugen dieselbe Fabrikstruktur. |
| Maschinen | Anzahl der Fertigungsressourcen. Die UI akzeptiert 2 bis 12. |
| Produkte | Anzahl der Produktarbeitspläne. Die UI akzeptiert 1 bis 10. |
| Planzeilen | Anzahl der Produktionsplanzeilen. Die UI akzeptiert 1 bis 12. |
| Stillstandsblöcke | Anzahl der erzeugten harten Stillstandsfenster. Die UI akzeptiert 0 bis 24. |
| Fabrik generieren | Erzeugt Maschinen, Produktarbeitspläne, Planzeilen, Stillstand und generierte Jobs in einem Schritt. |
Solvers and objectives
| Choice | Status | Meaning |
|---|---|---|
| Robopol Refined / Normal | Recommended quick practical run | Heuristic production scheduling path for fast practical makespan optimization. |
| Robopol Refined / Strong | Manual use only | Deeper search profile. It can cost more CPU time and should not be used accidentally. |
| Robopol Refined / Custom | Advanced | Enables manual search settings plus a Custom solve goal for fixed budget or bounded optimum search. |
| CP-SAT | Exact solver path | Constraint-programming solver with a time limit. Supports makespan and weighted tardiness. |
| Makespan | Default | Minimizes the final completion time of the whole schedule. |
| Due-date weighted tardiness | CP-SAT only | Penalizes late jobs by priority. Robopol currently rejects this objective instead of silently optimizing makespan. |
Makespan objective
Makespan minimizes the final completion time of the full schedule. It is the default and is supported by Robopol Refined and CP-SAT. Use it when the main question is: "How soon can the whole production batch finish?"
CP-SAT Due-date weighted tardiness
Due-date weighted tardiness is for planning against delivery deadlines. For each job, the app calculates
tardiness = max(0, completion_time - due_time). The weighted penalty is
priority * tardiness. CP-SAT minimizes the sum of these weighted penalties.
This is a different objective from makespan. A weighted-tardiness run may finish the whole schedule later than the best makespan run
if that order reduces late-job penalties. For example, a makespan-optimal schedule can finish at time 261, while a
weighted-tardiness schedule can finish at time 304 because it moves priority jobs closer to their due times.
OPTIMAL or FEASIBLE always refers to the selected objective, not to every metric shown on the card.
- Choose Algorithm = CP-SAT.
- Choose Optimization Objective = Due-date weighted tardiness.
- Set Due and Priority in Production Plan or Generated Jobs.
- Jobs without due time do not add tardiness penalty.
- Priority defaults to
1. A job with priority2makes one minute of lateness twice as expensive as priority1. - The Gantt map still shows the schedule and makespan; Run Outputs additionally show objective value, weighted tardiness, total tardiness, late jobs, and worst lateness when available.
Robopol Refined currently supports makespan only. If weighted tardiness is selected with Robopol, the app blocks the run and asks you to switch to CP-SAT or Makespan.
Riešiče a ciele
| Voľba | Stav | Význam |
|---|---|---|
| Robopol Refined / Normálny | Odporúčaný rýchly praktický beh | Heuristická výrobná cesta pre rýchlu praktickú optimalizáciu makespanu. |
| Robopol Refined / Silný | Iba ručne | Hlbší profil vyhľadávania. Môže stáť viac CPU času a nemá sa spúšťať náhodne. |
| Robopol Refined / Vlastný | Pokročilé | Umožní ručne meniť vyhľadávacie nastavenia a zvoliť cieľ Vlastného profilu: pevný budget alebo ohraničené hľadanie optima. |
| CP-SAT | Exaktná cesta riešenia | Constraint-programming riešič s časovým limitom. Podporuje makespan aj vážené omeškanie podľa termínu. |
| Makespan | Predvolené | Minimalizuje koncový čas celého harmonogramu. |
| Vážené omeškanie podľa termínu | Iba CP-SAT | Penalizuje oneskorené zákazky podľa priority. Pre tento cieľ použi CP-SAT. |
Makespan cieľ
Makespan minimalizuje finálny čas dokončenia celého harmonogramu. Je to predvolený cieľ a podporuje ho Robopol Refined aj CP-SAT. Použi ho vtedy, keď hlavná otázka je: „Kedy vieme dokončiť celú výrobnú dávku?“
CP-SAT vážené omeškanie podľa termínu
Vážené omeškanie podľa termínu slúži na plánovanie voči termínom dodania. Pre každú zákazku aplikácia počíta
tardiness = max(0, completion_time - due_time). Vážená penalizácia je
priority * tardiness. CP-SAT minimalizuje súčet týchto vážených penalizácií.
Je to iný cieľ ako makespan. Beh s cieľom váženého omeškania môže dokončiť celý harmonogram neskôr než najlepší makespan beh,
ak tým zníži penalizáciu omeškaných zákaziek. Napríklad harmonogram optimálny na makespan môže skončiť v čase 261,
zatiaľ čo harmonogram optimalizovaný na termíny môže skončiť v čase 304, pretože posunie prioritné zákazky bližšie k ich termínom.
OPTIMAL alebo FEASIBLE sa vždy vzťahuje na zvolený cieľ, nie na každú metriku zobrazenú na karte.
- Zvoľ Algoritmus = CP-SAT.
- Zvoľ Optimalizačný cieľ = Vážené omeškanie podľa termínu.
- Nastav Termín a Priorita vo výrobnom pláne alebo v generovaných zákazkách.
- Zákazky bez termínu nepridávajú penalizáciu omeškania.
- Priorita má predvolenú hodnotu
1. Zákazka s prioritou2robí jednu minútu omeškania dvakrát drahšou než priorita1. - Gantt mapa stále ukazuje harmonogram a makespan; výstupy behov navyše ukazujú hodnotu cieľa, vážené omeškanie, celkové omeškanie, oneskorené zákazky a najhoršie omeškanie, keď sú dostupné.
Robopol Refined je v tejto verzii rýchla cesta pre makespan. Pre vážené omeškanie podľa termínu zvoľ CP-SAT.
Solver und Ziele
| Auswahl | Status | Bedeutung |
|---|---|---|
| Robopol Refined / Normal | Empfohlener schneller Praxislauf | Heuristischer Produktionsplanungsweg für schnelle praktische Makespan-Optimierung. |
| Robopol Refined / Stark | Nur bewusst verwenden | Tieferes Suchprofil. Es kann mehr CPU-Zeit kosten und sollte nicht versehentlich gestartet werden. |
| Robopol Refined / Benutzerdefiniert | Fortgeschritten | Ermöglicht manuelle Sucheinstellungen plus ein Ziel für festen Budgetlauf oder begrenzte Optimumsuche. |
| CP-SAT | Exakter Solver-Weg | Constraint-programming Solver mit Zeitlimit. Unterstützt Makespan und gewichtete Terminverspätung. |
| Makespan | Standardziel | Minimiert die finale Fertigstellungszeit des gesamten Plans. |
| Gewichtete Terminverspätung | CP-SAT | Penalisiert verspätete Jobs nach Priorität. Für dieses Ziel CP-SAT wählen. |
Makespan-Ziel
Makespan minimiert die endgültige Fertigstellungszeit des gesamten Plans. Es ist das Standardziel und wird von Robopol Refined und CP-SAT unterstützt. Verwende es, wenn die Hauptfrage lautet: „Wie früh kann der gesamte Produktionsauftrag fertig werden?“
CP-SAT gewichtete Terminverspätung
Gewichtete Terminverspätung plant gegen Liefertermine. Für jeden Job berechnet die Anwendung
tardiness = max(0, completion_time - due_time). Die gewichtete Strafe ist
priority * tardiness. CP-SAT minimiert die Summe dieser gewichteten Strafen.
Das ist ein anderes Ziel als Makespan. Ein Lauf mit gewichteter Terminverspätung kann den Gesamtplan später abschließen als der beste Makespan-Lauf,
wenn dadurch die Strafe für verspätete Jobs sinkt. Ein makespan-optimaler Plan kann zum Beispiel bei Zeit 261 enden,
während ein nach Terminen optimierter Plan bei Zeit 304 endet, weil wichtige Jobs näher an ihre Fälligkeit geschoben werden.
OPTIMAL oder FEASIBLE bezieht sich immer auf das gewählte Ziel, nicht auf jede Metrik auf der Karte.
- Wähle Algorithmus = CP-SAT.
- Wähle Optimierungsziel = Gewichtete Terminverspätung.
- Setze Fällig und Priorität im Produktionsplan oder in den generierten Jobs.
- Jobs ohne Termin erzeugen keine Verspätungsstrafe.
- Priorität hat den Standardwert
1. Ein Job mit Priorität2macht eine Minute Verspätung doppelt so teuer wie Priorität1. - Die Gantt-Karte zeigt weiterhin Plan und Makespan; Laufausgaben zeigen zusätzlich Zielwert, gewichtete Terminverspätung, Gesamtverspätung, verspätete Jobs und schlimmste Verspätung, wenn diese Werte verfügbar sind.
Robopol Refined ist in dieser Version der schnelle Makespan-Weg. Für gewichtete Terminverspätung wähle CP-SAT.
Algorithms
CP-SAT
CP-SAT is the exact/constraint-programming solver path. It builds a mathematical scheduling model with job order constraints, machine no-overlap constraints, and hard downtime intervals. The main user parameter is CP-SAT time limit (seconds).
- A short limit gives a fast answer, useful for quick checks or smaller datasets.
- A longer limit gives CP-SAT more time to improve the schedule or prove optimality.
- If the result is OPTIMAL, CP-SAT proved that no better solution exists for the selected objective.
- If the result is FEASIBLE, CP-SAT found a valid schedule but did not prove it is the best possible inside the time limit.
- For CP-SAT, both Makespan and Due-date weighted tardiness are supported.
Increase the CP-SAT time limit when the project is larger, due-date weighted tardiness is selected, many downtime windows exist, or the gap/bound information suggests that CP-SAT may still improve the result.
Robopol Refined
Robopol Refined is the heuristic search path for practical makespan optimization. It starts from constructive schedules, repairs conflicts, searches local changes, keeps promising schedule basins, and uses repeated runs to explore alternatives. It is useful for small, medium-sized, and selected larger JSSP instances when a strong practical makespan candidate or an alternative search trajectory is more important than an immediate proof. CP-SAT remains the exact solver path and the main source of optimality proofs and weighted-tardiness support, but difficult time-limited runs can also end as FEASIBLE with a remaining gap. In those cases Refined is a practical companion: the Normal profile can produce a competitive candidate quickly, and Custom Find Optimum can combine bounded Refined chunks with CP-SAT verification. The performance difference should be read as implementation maturity, not as a dismissal of Refined: the current Robopol Refined JSSP adapter is a lightweight generic layer over a universal search core, while OR-Tools CP-SAT benefits from years of research and highly specialized constraint-programming, SAT, scheduling, and local-search techniques for this class of problems.
The scheduler uses Robopol Refined as a universal guided-search core connected through a JSSP adapter. The core provides the search machinery; the adapter describes the scheduling state, score, moves, and guidance edges for this production-planning domain. More background is available on TSP and Universal Robopol Refined Solver.
| Profile | Meaning |
|---|---|
| Normal | Tuned default for everyday planning: fewer independent runs, wider active-basins/beam search, and stronger scouting. Use this first. |
| Strong | Deeper preset with higher beam, ILS, repair, scout, and guidance budgets. Use manually when schedule quality matters more than response time. |
| Custom | Starts from Normal search defaults and is intended for manual tuning. Its initial solve goal is Find Optimum with exact repair enabled; saved Custom values are stored in this browser after Save Custom Parameters. |
Refined makespan runs now report proof metadata when available. A cheap lower bound can prove optimality immediately when the Refined makespan equals the bound.
The server can also run a CP-SAT verifier that checks whether any schedule with makespan < best exists. If that verifier proves infeasibility,
the Run Outputs show proof_status = optimal_by_cp_sat. Normal and Strong keep their fixed profile budget; with default parallel runs they are verified after the Refined run rather than split into many verifier chunks.
Custom Find Optimum is different: it runs Refined in bounded chunks, checks improved incumbents with the verifier, and may extend the search until proof, stagnation, configured chunk limits, license/runtime limits, or the Stop button. Custom Fixed Budget runs the configured Custom parameters once.
Robopol Refined parameters
| Field | What it changes | Practical effect |
|---|---|---|
| Number of Runs | Independent search runs with different seeds. | More runs improve diversity and chance of a better schedule, but increase CPU time. |
| Active Basins / Beam | How many promising schedule regions are kept during the search. | Higher values explore wider; lower values focus faster. |
| ILS Iterations | Main improvement depth for each run. | Higher values allow more improvement cycles but take longer. |
| No Improvement Limit | How long a run tolerates no improvement before escape logic is used. | Higher values wait longer before diversifying; lower values escape sooner. |
| Kick Strength | How strongly the schedule is perturbed when stuck. | Higher values jump farther but can disturb good structure. |
| LS Budget / ILS Layer | Local-search work spent on promising candidates and final polishing. | Higher values spend more time improving each candidate. |
| Basin Acceptance Threshold | Allowed near-best tolerance when exploring neighboring basins. | Higher tolerance explores more alternatives; lower tolerance is stricter. |
| Custom Solve Goal | Custom-only mode: Fixed Budget or Find Optimum. | Find Optimum can extend by bounded chunks and stop when the verifier proves the current makespan optimal. |
| Exact Repair Budget Hint | Repair effort budget for escape candidates when exact repair is used internally. | Higher values may repair harder candidates but cost more time. |
| Exact Repair | Enables exact repair candidates in Custom mode. | Can improve repair quality on hard candidates, but it costs additional search time. |
| Scout Candidates / Basin | Candidate moves generated from each active basin. | More candidates improve coverage but increase evaluation work. |
| Guidance Edges / Op | How much learned move/edge guidance is kept per operation. | Higher values keep broader search memory. |
| Scout Budget | Cheap pre-evaluation work before intensifying candidates. | Higher values spend more time filtering promising candidates. |
| Guidance Reorder Period | How often candidate ordering refreshes from learning data. | Lower values react faster; higher values keep ordering stable longer. |
| Parallel Runs | Whether independent runs execute concurrently. | Faster wall-clock time on server resources, with more simultaneous CPU usage. |
For normal production use, start with Normal. Use Strong only when you explicitly want a deeper run. Use Custom when you are tuning a known dataset and can compare the results against previous schedules. In Custom mode, the user can adjust search parameters to trade calculation time for result quality: more runs, deeper ILS, wider candidate scouting, and parallel runs can improve the chance of a better makespan, but they also use more CPU time. Use Find Optimum when you want the verifier to decide whether to stop early or keep searching within bounded chunks. Unsaved Custom edits affect the current run only; press Save Custom Parameters to load them again after the next browser reload.
Algoritmy
CP-SAT
CP-SAT je exaktná/constraint-programming cesta riešenia. Vytvorí matematický model plánovania s poradím operácií v zákazkách, obmedzeniami bez prekryvu na strojoch a tvrdými odstávkami. Hlavný používateľský parameter je Časový limit CP-SAT (sekundy).
- Krátky limit dá rýchlu odpoveď, vhodnú pre rýchlu kontrolu alebo menšie datasety.
- Dlhší limit dá CP-SAT viac času na zlepšenie harmonogramu alebo dôkaz optimality.
- Ak je výsledok OPTIMAL, CP-SAT dokázal, že pre zvolený cieľ neexistuje lepšie riešenie.
- Ak je výsledok FEASIBLE, CP-SAT našiel platný harmonogram, ale v časovom limite nedokázal, že je najlepší možný.
- Pre CP-SAT sú podporované ciele Makespan aj Vážené omeškanie podľa termínu.
Časový limit CP-SAT zvýš vtedy, keď je projekt väčší, je zvolené vážené omeškanie podľa termínu, existuje veľa odstávok, alebo gap/bound naznačuje, že CP-SAT ešte môže výsledok zlepšiť.
Robopol Refined
Robopol Refined je heuristická cesta pre praktickú optimalizáciu makespanu. Začína z konštruktívnych harmonogramov, opravuje konflikty, skúša lokálne zmeny, drží sľubné oblasti harmonogramov a opakovanými behmi hľadá alternatívy. Je použiteľný pre malé, stredné aj vybrané väčšie JSSP inštancie, keď je dôležitý silný praktický makespan kandidát alebo alternatívna vyhľadávacia trajektória skôr než okamžitý dôkaz optima. CP-SAT ostáva exaktná cesta a hlavný zdroj dôkazov optimality aj podpory váženého omeškania podľa termínu, ale pri ťažkých časovo limitovaných behoch môže skončiť aj stavom FEASIBLE s otvoreným gapom. V takých prípadoch je Refined praktický spoluriešiteľ: profil Normálny vie rýchlo nájsť konkurencieschopného kandidáta a Custom Hľadať optimum vie kombinovať ohraničené Refined chunk-y s CP-SAT verifikáciou. Rozdiel v rýchlosti treba čítať ako rozdiel vyspelosti implementácie, nie ako zníženie hodnoty Refined: aktuálny Robopol Refined JSSP adapter je ľahká generická vrstva nad univerzálnym search jadrom, zatiaľ čo OR-Tools CP-SAT využíva roky výskumu a vysoko špecializované constraint-programming, SAT, scheduling a local-search techniky pre tento typ úloh.
Scheduler používa Robopol Refined ako univerzálne guided-search jadro napojené cez JSSP adaptér. Jadro rieši samotný search mechanizmus; adaptér popisuje stav plánovacej úlohy, skóre, povolené ťahy a guidance edges pre výrobnú doménu. Širší kontext je na stránke TSP a univerzálny Robopol Refined solver.
| Profil | Význam |
|---|---|
| Normálny | Vyladený predvolený profil pre bežné plánovanie: menej nezávislých behov, širší active-basins/beam search a silnejší scouting. Začni týmto profilom. |
| Silný | Hlbší preset s vyšším beamom, ILS, repair, scout a guidance rozpočtom. Použi ručne, keď kvalita harmonogramu preváži nad časom odozvy. |
| Vlastný | Štartuje z vyhľadávacích defaultov profilu Normálny a slúži na ručné ladenie. Počiatočný cieľ je Hľadať optimum so zapnutým exact repair; uložené vlastné hodnoty ostanú v tomto prehliadači po stlačení Uložiť vlastné parametre. |
Refined behy pre makespan teraz vedia reportovať dôkazové metadáta. Lacná dolná hranica vie dokázať optimalitu hneď vtedy, keď sa Refined makespan rovná tejto hranici.
Server vie použiť aj CP-SAT verifier, ktorý overí, či existuje harmonogram s makespan < best. Ak verifier dokáže neexistenciu lepšieho riešenia,
vo výstupoch behov sa zobrazí proof_status = optimal_by_cp_sat. Normálny a Silný profil ostávajú v rámci pevného budgetu; pri predvolených paralelných behoch sa overujú po skončení Refined behu namiesto rozbíjania na veľa verifier chunkov.
Vlastný režim Hľadať optimum je iný: spúšťa Refined po ohraničených chunk-och, overuje zlepšené výsledky verifierom a môže pokračovať až po dôkaz, stagnáciu, limit chunkov, licenčný/runtime limit alebo tlačidlo Stop. Vlastný režim Pevný budget spustí nastavené Custom parametre iba raz.
Parametre Robopol Refined
| Pole | Čo mení | Praktický efekt |
|---|---|---|
| Počet behov | Nezávislé behy s rôznymi seedmi. | Viac behov zvyšuje diverzitu a šancu na lepší harmonogram, ale stojí viac CPU času. |
| Aktívne oblasti / beam | Koľko sľubných oblastí harmonogramov sa drží počas hľadania. | Vyššie hodnoty skúmajú širšie; nižšie hodnoty sa sústredia rýchlejšie. |
| ILS iterácie | Hlavná hĺbka zlepšovania pre každý beh. | Vyššie hodnoty umožnia viac zlepšovacích cyklov, ale trvajú dlhšie. |
| Limit bez zlepšenia | Ako dlho beh toleruje žiadne zlepšenie pred únikovou logikou. | Vyššie hodnoty čakajú dlhšie pred diverzifikáciou; nižšie unikajú skôr. |
| Sila perturbácie | Ako silno sa harmonogram naruší, keď sa hľadanie zasekne. | Vyššie hodnoty skočia ďalej, ale môžu narušiť dobrú štruktúru. |
| LS rozpočet / ILS vrstva | Lokálne vyhľadávanie pre sľubných kandidátov a finálne dočistenie. | Vyššie hodnoty venujú viac času zlepšeniu každého kandidáta. |
| Prah prijatia oblasti | Tolerancia riešení blízkych najlepšiemu pri skúmaní susedných oblastí. | Vyššia tolerancia skúma viac alternatív; nižšia je prísnejšia. |
| Cieľ vlastného behu | Režim iba pre Vlastný profil: Pevný budget alebo Hľadať optimum. | Hľadať optimum môže predlžovať výpočet po ohraničených chunk-och a skončiť, keď verifier dokáže optimálny makespan. |
| Nápoveda rozpočtu exact repair | Rozpočet opravnej práce pre únikových kandidátov, keď sa interne použije exact repair. | Vyššie hodnoty môžu opraviť ťažších kandidátov, ale stoja viac času. |
| Exact Repair | Zapne exact repair kandidátov vo Vlastnom profile. | Môže zlepšiť opravu ťažkých kandidátov, ale pridáva ďalší čas hľadania. |
| Scout kandidáti / oblasť | Kandidátne ťahy generované z každej aktívnej oblasti. | Viac kandidátov zlepšuje pokrytie, ale zvyšuje evaluačnú prácu. |
| Guidance hrany / operácia | Koľko naučeného guidance sa drží na operáciu. | Vyššie hodnoty držia širšiu pamäť vyhľadávania. |
| Scout rozpočet | Lacná predbežná evaluácia pred intenzifikáciou kandidátov. | Vyššie hodnoty venujú viac času filtrovaniu sľubných kandidátov. |
| Perióda preusporiadania guidance | Ako často sa poradie kandidátov obnovuje z učených dát. | Nižšie hodnoty reagujú rýchlejšie; vyššie držia poradie stabilnejšie. |
| Paralelné behy | Či nezávislé behy bežia súčasne. | Rýchlejší reálny čas na serverových zdrojoch, s väčším súčasným CPU použitím. |
Pri bežnej výrobe začni profilom Normálny. Silný použi iba vtedy, keď výslovne chceš hlbší beh. Vlastný použi pri ladení známeho datasetu, kde vieš porovnať výsledky s predchádzajúcimi harmonogramami. Vo Vlastnom režime si používateľ môže doladiť vyhľadávacie parametre podľa kvality výsledku: viac behov, hlbšie ILS, širší scouting kandidátov a paralelné behy môžu zvýšiť šancu na lepší makespan, ale stoja viac CPU času. Hľadať optimum použi vtedy, keď má verifier rozhodnúť, či sa má výpočet zastaviť alebo pokračovať v ohraničených chunk-och. Neuložené vlastné zmeny platia iba pre aktuálny beh; pre načítanie po ďalšom otvorení prehliadača stlač Uložiť vlastné parametre.
Algorithmen
CP-SAT
CP-SAT ist der exakte bzw. constraint-programming-basierte Solver-Weg. Er baut ein mathematisches Planungsmodell mit Job-Reihenfolge, Nichtüberlappungsbedingungen für Maschinen und harten Stillstandsintervallen. Der wichtigste Benutzerparameter ist CP-SAT-Zeitlimit (Sekunden).
- Ein kurzes Limit liefert schnell eine Antwort, nützlich für schnelle Kontrolle oder kleinere Datensätze.
- Ein längeres Limit gibt CP-SAT mehr Zeit, den Plan zu verbessern oder Optimalität zu beweisen.
- OPTIMAL bedeutet, dass CP-SAT bewiesen hat, dass für das gewählte Ziel keine bessere Lösung existiert.
- FEASIBLE bedeutet, dass CP-SAT einen gültigen Plan gefunden hat, aber innerhalb des Limits keinen Optimalitätsbeweis liefern konnte.
- Für CP-SAT werden Makespan und Gewichtete Terminverspätung unterstützt.
Erhöhe das CP-SAT-Zeitlimit bei größeren Projekten, bei gewichteter Terminverspätung, bei vielen Stillstandsfenstern oder wenn gap/bound darauf hindeuten, dass CP-SAT das Ergebnis noch verbessern kann.
Robopol Refined
Robopol Refined ist der heuristische Weg für praktische Makespan-Optimierung. Er startet aus konstruktiven Plänen, repariert Konflikte, testet lokale Änderungen, hält vielversprechende Planbereiche und sucht mit wiederholten Läufen nach Alternativen. Er ist für kleine, mittlere und ausgewählte größere JSSP-Instanzen sinnvoll, wenn ein starker praktischer Makespan-Kandidat oder eine alternative Suchtrajektorie wichtiger ist als ein sofortiger Optimalitätsbeweis. CP-SAT bleibt der exakte Solver-Weg und die wichtigste Quelle für Optimalitätsbeweise sowie gewichtete Terminverspätung, aber schwierige zeitlimitierte Läufe können ebenfalls als FEASIBLE mit verbleibendem Gap enden. In solchen Fällen ist Refined ein praktischer Begleiter: Das Normal-Profil kann schnell einen konkurrenzfähigen Kandidaten liefern, und Benutzerdefiniert Optimum suchen kann begrenzte Refined-Chunks mit CP-SAT-Verifikation kombinieren. Der Geschwindigkeitsunterschied sollte als Reifegrad der Implementierung gelesen werden, nicht als Abwertung von Refined: Der aktuelle Robopol-Refined-JSSP-Adapter ist eine schlanke generische Schicht über einem universellen Suchkern, während OR-Tools CP-SAT von jahrelanger Forschung und hoch spezialisierten Constraint-Programming-, SAT-, Scheduling- und Local-Search-Techniken für diese Problemklasse profitiert.
Der Scheduler nutzt Robopol Refined als universelles Guided-Search-Kernsystem, das über einen JSSP-Adapter angebunden ist. Der Kern stellt die Suche bereit; der Adapter beschreibt Zustand, Bewertung, erlaubte Züge und Guidance Edges für diese Produktionsplanungsdomäne. Mehr Hintergrund steht auf TSP and Universal Robopol Refined Solver.
| Profil | Bedeutung |
|---|---|
| Normal | Abgestimmter Standard für tägliche Planung: weniger unabhängige Läufe, breitere Active-Basins/Beam-Suche und stärkeres Scouting. Damit zuerst beginnen. |
| Stark | Tieferes Preset mit höheren Beam-, ILS-, Repair-, Scout- und Guidance-Budgets. Bewusst verwenden, wenn Planqualität wichtiger ist als Antwortzeit. |
| Benutzerdefiniert | Startet mit den Normal-Suchwerten und ist für manuelles Tuning gedacht. Das anfängliche Ziel ist Optimum suchen mit aktivierter exakter Reparatur; gespeicherte Werte bleiben nach Benutzerdefinierte Parameter speichern in diesem Browser. |
Refined-Makespan-Läufe können jetzt Beweismetadaten melden. Eine günstige untere Schranke kann Optimalität sofort beweisen, wenn der Refined-Makespan dieser Schranke entspricht.
Der Server kann außerdem einen CP-SAT-Verifizierer ausführen, der prüft, ob ein Plan mit makespan < best existiert. Wenn dieser Verifizierer Unmöglichkeit beweist,
zeigen die Laufausgaben proof_status = optimal_by_cp_sat. Normal und Stark bleiben im festen Profilbudget; bei standardmäßigen parallelen Läufen wird nach dem Refined-Lauf verifiziert, statt den Lauf in viele Verifizierer-Chunks aufzuteilen.
Benutzerdefiniert Optimum suchen ist anders: Refined läuft in begrenzten Chunks, verbesserte Zwischenergebnisse werden verifiziert, und die Suche kann bis zum Beweis, zur Stagnation, zu Chunk-, Lizenz-/Runtime-Grenzen oder zum Stop-Button weiterlaufen. Benutzerdefiniert Festes Budget führt die eingestellten Custom-Parameter einmal aus.
Robopol Refined Parameter
| Feld | Was es ändert | Praktischer Effekt |
|---|---|---|
| Anzahl Läufe | Unabhängige Suchläufe mit unterschiedlichen Seeds. | Mehr Läufe erhöhen Vielfalt und Chance auf einen besseren Plan, kosten aber mehr CPU-Zeit. |
| Aktive Becken / Beam | Anzahl vielversprechender Planbereiche, die während der Suche gehalten werden. | Höhere Werte suchen breiter; niedrigere Werte fokussieren schneller. |
| ILS-Iterationen | Haupttiefe der Verbesserung pro Lauf. | Höhere Werte erlauben mehr Verbesserungszyklen, dauern aber länger. |
| Limit ohne Verbesserung | Wie lange ein Lauf ohne Verbesserung bleibt, bevor Ausweichlogik verwendet wird. | Höhere Werte warten länger vor Diversifikation; niedrigere Werte springen früher heraus. |
| Kick-Stärke | Stärke der Störung, wenn die Suche steckenbleibt. | Höhere Werte springen weiter, können aber gute Struktur stören. |
| LS-Budget / ILS-Ebene | Lokale Sucharbeit für Kandidaten und finale Verbesserung. | Höhere Werte investieren mehr Zeit in jeden Kandidaten. |
| Annahmeschwelle für Becken | Toleranz für nahezu beste Lösungen beim Erkunden benachbarter Bereiche. | Höhere Toleranz erkundet mehr Alternativen; niedrigere Toleranz ist strenger. |
| Ziel für benutzerdefinierten Lauf | Nur für Benutzerdefiniert: Festes Budget oder Optimum suchen. | Optimum suchen kann die Rechnung in begrenzten Chunks erweitern und stoppen, wenn der Verifizierer den aktuellen Makespan als optimal beweist. |
| Budgethinweis für exakte Reparatur | Budget für Reparaturarbeit bei Ausweichkandidaten, wenn intern exakte Reparatur verwendet wird. | Höhere Werte können schwierigere Kandidaten reparieren, kosten aber mehr Zeit. |
| Exakte Reparatur | Aktiviert exakte Reparaturkandidaten im benutzerdefinierten Profil. | Kann die Reparatur schwieriger Kandidaten verbessern, kostet aber zusätzliche Suchzeit. |
| Scout-Kandidaten / Becken | Kandidatenzüge aus jedem aktiven Becken. | Mehr Kandidaten verbessern Abdeckung, erhöhen aber Bewertungsarbeit. |
| Guidance-Kanten / Operation | Wie viel gelernte Guidance pro Operation gehalten wird. | Höhere Werte halten ein breiteres Suchgedächtnis. |
| Scout-Budget | Günstige Vorbewertung vor intensiver Kandidatenprüfung. | Höhere Werte verbringen mehr Zeit mit dem Filtern vielversprechender Kandidaten. |
| Guidance-Neusortierung | Wie oft die Kandidatenreihenfolge aus Lerndaten aktualisiert wird. | Niedrigere Werte reagieren schneller; höhere Werte halten die Ordnung länger stabil. |
| Parallele Läufe | Ob unabhängige Läufe gleichzeitig laufen. | Kürzere reale Wartezeit auf Serverressourcen, aber höhere gleichzeitige CPU-Nutzung. |
Im normalen Produktionsbetrieb zuerst Normal verwenden. Stark nur wählen, wenn ausdrücklich ein tieferer Lauf gewünscht ist. Benutzerdefiniert ist sinnvoll beim Tuning eines bekannten Datensatzes, dessen Ergebnisse mit früheren Plänen verglichen werden können. Im benutzerdefinierten Modus kann der Anwender Suchparameter für bessere Ergebnisqualität abstimmen: mehr Läufe, tiefere ILS-Suche, breiteres Candidate-Scouting und parallele Läufe können die Chance auf einen besseren Makespan erhöhen, benötigen aber mehr CPU-Zeit. Optimum suchen verwenden, wenn der Verifizierer entscheiden soll, ob die Berechnung stoppen oder in begrenzten Chunks weiterlaufen soll. Nicht gespeicherte benutzerdefinierte Änderungen gelten nur für den aktuellen Lauf; mit Benutzerdefinierte Parameter speichern werden sie beim nächsten Browserstart wieder geladen.
Running optimization
Basic Options
- Data source: choose Custom dataset for real production data from Dataset Editor. Choose Built-in instance only for sample benchmark-style data.
- Instance and Instance seed: used only when Built-in instance is selected.
- Algorithm: choose Robopol Refined or CP-SAT.
- Refined profile: available only for Robopol Refined. Normal is the recommended tuned default; Strong is deeper and slower; Custom starts from Normal search values, defaults to Find Optimum with exact repair enabled, and is stored only after Save Custom Parameters.
| Built-in instance | Use |
|---|---|
| Simple test (3x3) | Small sanity-check instance. |
| FT-like synthetic (6x6) - ft06 | Seeded small JSSP instance for quick CP-SAT and Robopol Refined comparison. |
| Fisher & Thompson (10x10) - ft10 | Known JSSP benchmark-style instance for solver comparison. |
| Lawrence (20x5) - la15 | Benchmark-style instance with more jobs than machines. |
| FT-like / LA-like synthetic instances | Larger synthetic examples for demonstrations and stress-style checks. |
Built-in instances do not use the Dataset Editor. Switch back to Custom dataset before solving imported or manually edited production data.
CP-SAT Exact settings
CP-SAT time limit controls how long CP-SAT may search. If it proves the best solution, the status is optimal. If it finds a good solution but cannot prove optimality inside the limit, the status can be feasible. In that case, review the objective, makespan, bound, and gap in the Run Outputs.
- Search workers controls OR-Tools
num_workers. The default uses multiple workers so portfolio, LNS, and local-search subsolvers can run. - Search mode chooses normal Portfolio search, Interleaved search, or a Single full search worker.
- LNS, RINS / RENS, Feasibility Pump, Feasibility Jump, and Dual Scheduling are advanced CP-SAT switches exposed through backend-whitelisted parameters.
- Violation LS, FJ restart factor, Solution pool, and Alternative pool tune local-search diversity and restart behavior.
- Verifier time and Verifier workers apply only to CP-SAT proof checks used by Robopol Refined, not to the main CP-SAT solve.
- Save CP-SAT Parameters stores the current CP-SAT settings in this browser. Unsaved edits still affect the current run but are not restored after reload.
Refined proof metadata
Robopol Refined Run Outputs can show proof_status, refined_lower_bound, verifier_result, and chunk counters. optimal_by_lower_bound means the Refined makespan equals the cheap lower bound. optimal_by_cp_sat means the CP-SAT verifier proved that no schedule with a smaller makespan exists inside the verifier model. verifier_result = better_solution_found means the verifier found a schedule below the Refined incumbent; it is not an optimum proof for the Refined result. not_proven means the schedule is valid but not certified optimal.
Buttons
- Start Optimization validates the selected dataset and starts the selected solver.
- Stop cancels the active run when a calculation is in progress.
- Clear Outputs clears visible run history and resets current displayed output.
Before pressing Start
- Dataset summary should show at least one machine, one job, and one operation.
- Validation should show a valid custom dataset when Custom dataset is selected.
- For weighted tardiness, make sure Algorithm is CP-SAT and relevant jobs have Due and Priority values.
- For machine downtime, review the Gantt after solving and verify that operations do not overlap red downtime blocks.
Spustenie optimalizácie
Základné voľby
- Zdroj dát: pre reálne výrobné dáta z Editora datasetu zvoľ Vlastný dataset. Vstavaná inštancia používaj iba pre ukážkové benchmark dáta.
- Inštancia a Seed inštancie: používajú sa iba pri vstavanej inštancii.
- Algoritmus: zvoľ Robopol Refined alebo CP-SAT.
- Refined profil: dostupný iba pre Robopol Refined. Normálny je odporúčaný vyladený default; Silný je hlbší a pomalší; Vlastný štartuje z hodnôt Normálneho profilu, predvolene používa Hľadať optimum so zapnutým exact repair a uloží sa až po stlačení Uložiť vlastné parametre.
| Vstavaná inštancia | Použitie |
|---|---|
| Simple test (3x3) | Malá sanity-check inštancia. |
| FT-like synthetic (6x6) - ft06 | Seedovaná malá JSSP inštancia na rýchle porovnanie CP-SAT a Robopol Refined. |
| Fisher & Thompson (10x10) - ft10 | Známa JSSP benchmarková inštancia pre porovnanie riešičov. |
| Lawrence (20x5) - la15 | Benchmarková inštancia s väčším počtom úloh než strojov. |
| FT-like / LA-like synthetic instances | Väčšie syntetické príklady pre ukážky a záťažovejšie kontroly. |
Vstavané inštancie nepoužívajú Editor datasetu. Pred riešením importovaných alebo ručne upravených výrobných dát prepni späť na Vlastný dataset.
CP-SAT Exact nastavenia
Časový limit CP-SAT určuje, ako dlho môže CP-SAT hľadať. Ak dokáže najlepšie riešenie, stav je optimal. Ak nájde dobré riešenie, ale v limite nedokáže optimalitu, stav môže byť feasible. Vtedy sleduj cieľ, makespan, bound a gap vo výstupoch behov.
- Search workers nastavuje OR-Tools
num_workers. Predvolená hodnota používa viac workerov, aby mohli bežať portfolio, LNS a local-search subsolvery. - Search mode vyberá normálne Portfolio vyhľadávanie, Interleaved vyhľadávanie alebo jeden Single full search worker.
- LNS, RINS / RENS, Feasibility Pump, Feasibility Jump a Dual Scheduling sú pokročilé CP-SAT prepínače posielané cez backend whitelist.
- Violation LS, FJ restart factor, Solution pool a Alternative pool ladia diverzitu local-search a správanie reštartov.
- Verifier time a Verifier workers platia iba pre CP-SAT proof kontroly používané Robopol Refined, nie pre hlavný CP-SAT výpočet.
- Save CP-SAT Parameters uloží aktuálne CP-SAT nastavenia v tomto prehliadači. Neuložené zmeny platia pre aktuálny beh, ale po reloade sa neobnovia.
Dôkazové metadáta Refined
Vo výstupoch Robopol Refined sa môžu zobraziť proof_status, refined_lower_bound, verifier_result a počítadlá chunkov. optimal_by_lower_bound znamená, že Refined makespan sa rovná lacnej dolnej hranici. optimal_by_cp_sat znamená, že CP-SAT verifier dokázal, že v jeho modeli neexistuje harmonogram s menším makespanom. verifier_result = better_solution_found znamená, že verifier našiel harmonogram pod Refined incumbentom; nie je to dôkaz optima pre Refined výsledok. not_proven znamená, že harmonogram je platný, ale optimalita nie je dokázaná.
Tlačidlá
- Spustiť optimalizáciu zvaliduje vybraný dataset a spustí zvolený riešič.
- Stop zruší aktívny beh, keď výpočet práve prebieha.
- Vymazať výstupy vyčistí viditeľnú históriu behov a resetuje aktuálne zobrazený výstup.
Pred spustením
- Súhrn datasetu má ukazovať aspoň jeden stroj, jednu zákazku a jednu operáciu.
- Validácia má pri vlastnom datasete hlásiť platný vlastný dataset.
- Pre vážené omeškanie podľa termínu skontroluj, že algoritmus je CP-SAT a relevantné zákazky majú termín a prioritu.
- Pri odstávkach strojov po výpočte skontroluj Gantt a over, že operácie neprekrývajú červené bloky odstávok.
Optimierung starten
Grundoptionen
- Datenquelle: Für reale Produktionsdaten aus dem Datensatz-Editor Eigener Datensatz wählen. Eingebaute Instanz nur für Beispiel- und Benchmarkdaten verwenden.
- Instanz und Instanz-Seed: werden nur verwendet, wenn eingebaute Instanz ausgewählt ist.
- Algorithmus: Robopol Refined oder CP-SAT wählen.
- Refined-Profil: nur für Robopol Refined verfügbar. Normal ist der empfohlene abgestimmte Standard; Stark ist tiefer und langsamer; Benutzerdefiniert startet mit Normal-Suchwerten, nutzt standardmäßig Optimum suchen mit aktivierter exakter Reparatur und wird erst nach Benutzerdefinierte Parameter speichern gespeichert.
| Eingebaute Instanz | Verwendung |
|---|---|
| Simple test (3x3) | Kleine sanity-check Instanz. |
| FT-like synthetic (6x6) - ft06 | Seed-basierte kleine JSSP-Instanz für schnellen Vergleich von CP-SAT und Robopol Refined. |
| Fisher & Thompson (10x10) - ft10 | Bekannte JSSP-Benchmark-Instanz für Solver-Vergleich. |
| Lawrence (20x5) - la15 | Benchmark-Instanz mit mehr Jobs als Maschinen. |
| FT-like / LA-like synthetic instances | Größere synthetische Beispiele für Demonstration und stärkere Prüfungen. |
Eingebaute Instanzen verwenden den Datensatz-Editor nicht. Vor dem Rechnen mit importierten oder manuell bearbeiteten Produktionsdaten wieder auf Eigener Datensatz wechseln.
CP-SAT Exact Einstellungen
CP-SAT-Zeitlimit legt fest, wie lange CP-SAT suchen darf. Wenn der beste Wert bewiesen wird, ist der Status optimal. Findet CP-SAT eine gute Lösung ohne Beweis innerhalb des Limits, kann der Status feasible sein. Dann Zielwert, Makespan, Bound und Gap in den Laufausgaben prüfen.
- Search workers setzt OR-Tools
num_workers. Der Standard nutzt mehrere Worker, damit Portfolio-, LNS- und Local-Search-Subsolver laufen können. - Search mode wählt normale Portfolio-Suche, Interleaved-Suche oder einen Single-Full-Search-Worker.
- LNS, RINS / RENS, Feasibility Pump, Feasibility Jump und Dual Scheduling sind erweiterte CP-SAT-Schalter über backend-whitelisted Parameter.
- Violation LS, FJ restart factor, Solution pool und Alternative pool steuern Local-Search-Diversität und Restart-Verhalten.
- Verifier time und Verifier workers gelten nur für CP-SAT-Beweisprüfungen von Robopol Refined, nicht für den Hauptlauf von CP-SAT.
- Save CP-SAT Parameters speichert die aktuellen CP-SAT-Einstellungen in diesem Browser. Nicht gespeicherte Änderungen gelten für den aktuellen Lauf, werden nach dem Reload aber nicht wiederhergestellt.
Refined-Beweismetadaten
Robopol-Refined-Laufausgaben können proof_status, refined_lower_bound, verifier_result und Chunk-Zähler anzeigen. optimal_by_lower_bound bedeutet, dass der Refined-Makespan der günstigen unteren Schranke entspricht. optimal_by_cp_sat bedeutet, dass der CP-SAT-Verifizierer bewiesen hat, dass im Verifizierermodell kein Plan mit kleinerem Makespan existiert. verifier_result = better_solution_found bedeutet, dass der Verifizierer einen Plan unterhalb des Refined-Incumbents gefunden hat; das ist kein Optimalitätsbeweis für das Refined-Ergebnis. not_proven bedeutet, dass der Plan gültig, aber nicht als optimal bewiesen ist.
Schaltflächen
- Optimierung starten validiert den ausgewählten Datensatz und startet den gewählten Solver.
- Stop bricht einen aktiven Lauf ab, wenn eine Berechnung gerade läuft.
- Ausgaben löschen leert die sichtbare Laufhistorie und setzt die aktuell angezeigten Ausgaben zurück.
Vor Start
- Die Datensatz-Zusammenfassung sollte mindestens eine Maschine, einen Job und eine Operation zeigen.
- Die Validierung sollte bei eigenem Datensatz einen gültigen Datensatz melden.
- Für gewichtete Terminverspätung prüfen, dass Algorithmus = CP-SAT ist und relevante Jobs Fällig- und Prioritätswerte haben.
- Bei Maschinenstillstand nach der Berechnung die Gantt-Karte prüfen und sicherstellen, dass Operationen keine roten Stillstandsblöcke überlappen.
Gantt map
What the map shows
After a successful run, the Gantt map shows one row per machine. Colored bars are operations, red blocked areas are hard downtime windows, and the title line shows instance, solver, makespan, status, and current zoom window.
Navigation controls
| Control | Action |
|---|---|
| Mouse wheel | Zooms the time axis in or out around the pointer position. |
| Drag the map | Pans the visible time window after the map is zoomed. |
| Hover operation | Shows job, operation, machine, start time, end time, duration, and critical-path state when available. |
| Click operation | Selects the operation so it stays highlighted while you inspect the schedule. |
| FS / EXT | FS opens the Gantt map in fullscreen. In fullscreen the button changes to EXT, which exits fullscreen. |
| RST | Resets zoom, pan, hover/selection state, and returns the map to the full schedule view. |
Export the map as an image
Use the project toolbar in the left Settings sidebar when you need a visual image of the calculated map.
- Run a successful calculation first. The export buttons need a drawable Gantt schedule.
- Open the Project panel in the Settings sidebar.
- Click Export PNG to download a bitmap image of the current rendered canvas view.
- Click Export SVG to download a scalable vector map of the schedule.
- The browser downloads a file named from the instance, solver, and makespan. If no schedule exists, the app warns:
Run a calculation before exporting the map.
Gantt mapa
Čo mapa zobrazuje
Po úspešnom behu Gantt mapa zobrazí jeden riadok na stroj. Farebné bloky sú operácie, červené bloky sú pevné odstávky a titulok ukazuje inštanciu, riešič, makespan, stav a aktuálne zoom okno.
Ovládanie mapy
| Ovládanie | Akcia |
|---|---|
| Koliesko myši | Približuje alebo odďaľuje časovú os okolo miesta, kde je kurzor. |
| Ťahanie mapy | Posúva zobrazené časové okno, keď je mapa priblížená. |
| Hover na operáciu | Zobrazí job, operáciu, stroj, začiatok, koniec, trvanie a stav kritickej cesty, ak je dostupný. |
| Klik na operáciu | Vyberie operáciu, aby ostala zvýraznená počas kontroly harmonogramu. |
| FS / EXT | FS otvorí Gantt mapu na celú obrazovku. Vo fullscreene sa tlačidlo zmení na EXT, ktorým sa fullscreen ukončí. |
| RST | Resetuje zoom, posun, hover/výber a vráti mapu na celý harmonogram. |
Export mapy ako obrázok
Keď potrebuješ vizuálny obrázok vypočítanej mapy, použi panel Projekt v ľavom bočnom paneli nastavení.
- Najprv spusti úspešný výpočet. Export tlačidlá potrebujú vykresliteľný Gantt harmonogram.
- Otvor panel Projekt v bočnom paneli nastavení.
- Klikni Export PNG, keď chceš bitmapový obrázok aktuálne vykresleného canvas pohľadu.
- Klikni Export SVG, keď chceš škálovateľnú vektorovú mapu harmonogramu.
- Prehliadač stiahne súbor pomenovaný podľa inštancie, riešiča a makespanu. Ak harmonogram ešte neexistuje, aplikácia upozorní:
Run a calculation before exporting the map.
Gantt-Karte
Was die Karte zeigt
Nach einem erfolgreichen Lauf zeigt die Gantt-Karte eine Zeile pro Maschine. Farbige Balken sind Operationen, rote Bereiche sind harte Stillstandsfenster, und die Titelzeile zeigt Instanz, Solver, Makespan, Status und aktuelles Zoomfenster.
Kartensteuerung
| Steuerung | Aktion |
|---|---|
| Mausrad | Zoomt die Zeitachse um die Cursorposition hinein oder heraus. |
| Karte ziehen | Verschiebt das sichtbare Zeitfenster, wenn die Karte gezoomt ist. |
| Hover über Operation | Zeigt Job, Operation, Maschine, Start, Ende, Dauer und kritischen Pfadstatus, wenn verfügbar. |
| Klick auf Operation | Wählt die Operation aus, damit sie beim Prüfen des Plans hervorgehoben bleibt. |
| FS / EXT | FS öffnet die Gantt-Karte im Vollbild. Im Vollbild wird die Schaltfläche zu EXT, womit Vollbild beendet wird. |
| RST | Setzt Zoom, Verschiebung, Hover/Auswahl zurück und zeigt wieder den gesamten Plan. |
Karte als Bild exportieren
Für ein visuelles Bild der berechneten Karte verwende das Panel Projekt in der linken Einstellungs-Seitenleiste.
- Zuerst eine erfolgreiche Berechnung ausführen. Die Export-Schaltflächen brauchen einen zeichnbaren Gantt-Plan.
- Das Panel Projekt in der Einstellungs-Seitenleiste öffnen.
- PNG exportieren anklicken, um ein Bitmap der aktuellen Canvas-Ansicht herunterzuladen.
- SVG exportieren anklicken, um eine skalierbare Vektorkarte des Plans herunterzuladen.
- Der Browser lädt eine Datei mit Instanz, Solver und Makespan im Namen herunter. Wenn noch kein Plan existiert, warnt die App:
Run a calculation before exporting the map.
Run outputs
Run Outputs stores the last successful and error results in readable cards. Use Copy for a text summary or Export to download structured schedule data. Exported JSON keeps metadata and the complete schedule; CSV stores summary rows, operation rows, and downtime rows.
| Part | Meaning |
|---|---|
| Current Run Result | Shows the latest instance/project name, algorithm, makespan, status, operation count, and calculation time. |
| Run output cards | Keep recent successful and error results. The counter near Export shows how many cards are currently visible. |
| Copy | Copies a readable text summary to the clipboard for email, notes, or support communication. |
| Export JSON | Downloads schedule metadata, objective values, full operation rows, downtime rows, and solver details. |
| Export CSV | Downloads table-style schedule data with summary, operation, and downtime rows. |
| Weighted tardiness metrics | When available, the cards show objective value, weighted tardiness, total tardiness, late jobs, worst lateness, bound, and gap. |
This Export is for schedule data, not for the visual map image. Use Project -> Export PNG or Project -> Export SVG when you need an image of the Gantt map.
Výstupy behov
Výstupy behov ukladajú úspešné aj chybové výsledky do čitateľných kariet. Kopírovať skopíruje textový súhrn a Export stiahne štruktúrované dáta harmonogramu. JSON drží metadáta a celý harmonogram; CSV obsahuje súhrn, operácie a odstávky.
| Časť | Význam |
|---|---|
| Výsledok aktuálneho behu | Zobrazuje posledný názov inštancie/projektu, algoritmus, makespan, stav, počet operácií a čas výpočtu. |
| Karty výstupov behov | Držia posledné úspešné aj chybové výsledky. Počítadlo pri exporte ukazuje, koľko kariet je práve viditeľných. |
| Kopírovať | Skopíruje čitateľný textový súhrn do schránky pre e-mail, poznámky alebo podporu. |
| Export JSON | Stiahne metadáta harmonogramu, hodnoty cieľa, všetky operácie, odstávky a detaily riešiča. |
| Export CSV | Stiahne tabuľkové dáta harmonogramu so súhrnom, operáciami a riadkami odstávok. |
| Metriky váženého omeškania | Keď sú dostupné, karty ukazujú hodnotu cieľa, vážené omeškanie, celkové omeškanie, oneskorené zákazky, najhoršie omeškanie, bound a gap. |
Tento Export slúži na dáta harmonogramu, nie na vizuálny obrázok mapy. Keď potrebuješ obrázok Gantt mapy, použi Projekt -> Export PNG alebo Projekt -> Export SVG.
Laufausgaben
Laufausgaben speichern erfolgreiche und fehlerhafte Ergebnisse in lesbaren Karten. Kopieren kopiert eine Textzusammenfassung, Export lädt strukturierte Plandaten herunter. JSON enthält Metadaten und den vollständigen Plan; CSV enthält Zusammenfassung, Operationen und Stillstandszeilen.
| Teil | Bedeutung |
|---|---|
| Aktuelles Laufergebnis | Zeigt letzten Instanz-/Projektnamen, Algorithmus, Makespan, Status, Anzahl Operationen und Berechnungszeit. |
| Laufkarten | Speichern letzte erfolgreiche und fehlerhafte Ergebnisse. Der Zähler bei Export zeigt, wie viele Karten sichtbar sind. |
| Kopieren | Kopiert eine lesbare Textzusammenfassung in die Zwischenablage für E-Mail, Notizen oder Support. |
| JSON exportieren | Lädt Planmetadaten, Zielwerte, alle Operationen, Stillstände und Solver-Details herunter. |
| CSV exportieren | Lädt tabellarische Plandaten mit Zusammenfassung, Operationen und Stillstandszeilen herunter. |
| Metriken der gewichteten Terminverspätung | Wenn verfügbar, zeigen die Karten Zielwert, gewichtete Terminverspätung, Gesamtverspätung, verspätete Jobs, schlimmste Verspätung, Bound und Gap. |
Dieser Export ist für Plandaten, nicht für das visuelle Kartenbild. Für ein Bild der Gantt-Karte verwende Projekt -> PNG exportieren oder Projekt -> SVG exportieren.
Visual settings
Visual Config controls the Gantt theme, background, operation colors, critical path color, operation height, grid density, and large-schedule animation preference. These settings affect the visible canvas and exported map images.
| Field | Effect |
|---|---|
| Color Theme | Applies a preset palette such as Graphite Gray, Steel Cyan, Matrix Green, Clean Light, or Crimson Dark. |
| Gantt BG | Changes the map background color. |
| Operation | Changes the main operation color and the first job color. |
| Critical Path | Changes the color used to emphasize critical operations when available. |
| Operation Height | Controls bar height from compact to more readable rows. |
| Grid Density | Controls how dense the time grid appears on the Gantt map. |
| Skip animation on large schedules | Reduces animation work when the schedule is large or the browser feels slow. |
Nastavenia vzhľadu
Vizuálne nastavenia ovládajú Gantt tému, pozadie, farby operácií, farbu kritickej cesty, výšku operácií, hustotu mriežky a preferenciu animácie pri veľkých plánoch. Nastavenia ovplyvňujú plátno aj exportované mapy.
| Pole | Účinok |
|---|---|
| Farebná téma | Nastaví predvolenú paletu, napríklad Grafitová sivá, Oceľová tyrkysová, Matrix zelená, Čistá svetlá alebo Tmavá karmínová. |
| Gantt pozadie | Zmení farbu pozadia mapy. |
| Operácia | Zmení hlavnú farbu operácií a prvú farbu zákaziek. |
| Kritická cesta | Zmení farbu zvýraznenia kritických operácií, keď sú dostupné. |
| Výška operácie | Ovláda výšku blokov od kompaktných po čitateľnejšie riadky. |
| Hustota mriežky | Ovláda hustotu časovej mriežky v Gantt mape. |
| Preskočiť animáciu pri veľkých plánoch | Zníži animačnú záťaž pri veľkom harmonograme alebo pomalšom prehliadači. |
Darstellung
Visuelle Einstellungen steuern Gantt-Thema, Hintergrund, Operationsfarben, Farbe des kritischen Pfads, Operationshöhe, Rasterdichte und die Animationseinstellung für große Pläne. Diese Einstellungen wirken auf die sichtbare Zeichenfläche und auf exportierte Kartenbilder.
| Feld | Wirkung |
|---|---|
| Farbthema | Setzt eine Preset-Palette wie Graphitgrau, Stahl-Cyan, Matrix-Grün, Klar hell oder Dunkles Karmin. |
| Gantt-Hintergrund | Ändert die Hintergrundfarbe der Karte. |
| Operation | Ändert die Hauptfarbe der Operationen und die erste Jobfarbe. |
| Kritischer Pfad | Ändert die Farbe zur Hervorhebung kritischer Operationen, wenn verfügbar. |
| Operationshöhe | Steuert die Balkenhöhe von kompakt bis besser lesbar. |
| Rasterdichte | Steuert die Dichte des Zeitrasters in der Gantt-Karte. |
| Animation bei großen Plänen überspringen | Reduziert Animationslast bei großen Plänen oder langsamem Browser. |
Current scope
- Robopol weighted tardiness: CP-SAT is the selected path for weighted tardiness. Robopol Refined is used as the fast makespan path.
- Machine alternatives: the current dataset model uses one fixed machine per operation. Alternative-machine routing is planned as a later production-planning layer.
- Shift calendars: the active scheduler uses explicit hard downtime windows instead of recurring calendar-shift rules.
- Calendar Mode, Due Date Weight, and Respect locked operations: these visible planning controls are outside the active solve contract. The active production selector is Optimization Objective.
- Locked operations and setup times: current runs schedule movable operations with fixed processing times.
Aktuálny rozsah
- Robopol a vážené omeškanie: pre vážené omeškanie podľa termínu je určená cesta CP-SAT. Robopol Refined slúži ako rýchla cesta pre makespan.
- Alternatívne stroje: aktuálny dátový model používa jeden pevný stroj pre operáciu. Alternatívne routovanie strojov je plánovaná ďalšia vrstva výrobného plánovania.
- Zmenové kalendáre: aktívny scheduler používa explicitné tvrdé odstávky namiesto opakovaných pravidiel zmenového kalendára.
- Režim kalendára, Váha termínu a Rešpektovať uzamknuté operácie: tieto viditeľné plánovacie ovládania sú mimo aktívneho solve contractu. Aktívny produkčný výber je Optimalizačný cieľ.
- Uzamknuté operácie a nastavovacie časy: aktuálne behy plánujú presúvateľné operácie s pevným trvaním.
Aktueller Umfang
- Robopol und gewichtete Terminverspätung: Für gewichtete Terminverspätung ist CP-SAT der vorgesehene Solver-Weg. Robopol Refined ist der schnelle Makespan-Weg.
- Alternative Maschinen: Das aktuelle Datenmodell verwendet eine feste Maschine pro Operation. Alternative Maschinenrouten sind als spätere Produktionsplanungsebene vorgesehen.
- Schichtkalender: Der aktive Scheduler verwendet explizite harte Stillstandsfenster statt wiederkehrender Schichtkalenderregeln.
- Kalendermodus, Termingewicht und Gesperrte Operationen beachten: diese sichtbaren Planungssteuerungen liegen außerhalb des aktiven Solve-Vertrags. Die aktive Produktionsauswahl ist Optimierungsziel.
- Gesperrte Operationen und Rüstzeiten: aktuelle Läufe planen verschiebbare Operationen mit festen Bearbeitungszeiten.
Troubleshooting
| Message / symptom | What to check |
|---|---|
| Project must define at least one job before solving. | Create jobs manually or generate jobs from the production plan. |
| Solver service is not available. | Refresh the page and try again. If the message remains, contact the system administrator because the server-side solver service is offline. |
| CSV import rejected. | Check the required columns, numeric fields, duplicate IDs, and whether referenced machines/products already exist. |
| Weighted tardiness fails with Robopol. | Use CP-SAT for that objective or switch objective back to Makespan. |
| Export PNG/SVG is disabled or warns. | Run a successful calculation first so the Gantt map exists. |
| FS or RST is disabled. | Run a successful calculation first. RST becomes active only after zoom, pan, or operation selection changes the default view. |
Riešenie problémov
| Hlásenie / príznak | Čo skontrolovať |
|---|---|
| Projekt musí pred riešením obsahovať aspoň jednu zákazku. | Vytvor zákazky ručne alebo ich vygeneruj z výrobného plánu. |
| Služba riešiča nie je dostupná. | Obnov stránku a skús to znova. Ak hlásenie ostáva, kontaktuj správcu systému, pretože serverová služba riešiča je offline. |
| CSV import bol odmietnutý. | Skontroluj povinné stĺpce, číselné hodnoty, duplicitné ID a či referencované stroje/produkty už existujú. |
| Vážené omeškanie zlyhá s Robopol. | Použi CP-SAT pre tento cieľ alebo prepni cieľ späť na Makespan. |
| Export PNG/SVG je vypnutý alebo varuje. | Najprv spusti úspešný výpočet, aby existovala Gantt mapa. |
| FS alebo RST je vypnuté. | Najprv spusti úspešný výpočet. RST sa aktivuje až po zoome, posune alebo výbere operácie, keď sa zmení predvolený pohľad. |
Fehlerbehebung
| Meldung / Symptom | Was prüfen |
|---|---|
| Das Projekt muss vor dem Lösen mindestens einen Job enthalten. | Jobs manuell anlegen oder aus dem Produktionsplan generieren. |
| Der Solver-Dienst ist nicht verfügbar. | Seite aktualisieren und erneut versuchen. Wenn die Meldung bleibt, den Systemadministrator kontaktieren, weil der serverseitige Solver-Dienst offline ist. |
| CSV-Import wurde abgelehnt. | Pflichtspalten, Zahlenfelder, doppelte IDs und vorhandene referenzierte Maschinen/Produkte prüfen. |
| Gewichtete Terminverspätung schlägt mit Robopol fehl. | Für dieses Ziel CP-SAT verwenden oder das Ziel zurück auf Makespan stellen. |
| PNG/SVG-Export ist deaktiviert oder warnt. | Zuerst eine erfolgreiche Berechnung ausführen, damit eine Gantt-Karte existiert. |
| FS oder RST ist deaktiviert. | Zuerst eine erfolgreiche Berechnung ausführen. RST wird erst aktiv, nachdem Zoom, Verschiebung oder Operationsauswahl die Standardansicht verändert hat. |