RoboPol Production Scheduler 2026

Production Scheduler - User Guide Production Scheduler - Používateľská príručka Production Scheduler - Benutzerhandbuch

Practical manual for planning machines, product routes, production orders, generated jobs, solver runs, and Gantt schedule outputs.

Author: Ing. Robert Polak (RoboPol) Program: JSSP / production scheduling Manual: 2026

Praktická príručka pre plánovanie strojov, produktových trás, výrobných objednávok, vygenerovaných úloh, výpočtov a Gantt výstupov.

Autor: Ing. Robert Polak (RoboPol) Program: JSSP / plánovanie výroby Manuál: 2026

Praxisnahes Handbuch für Maschinenplanung, Produktrouten, Produktionsaufträge, generierte Jobs, Berechnungen und Gantt-Ausgaben.

Autor: Ing. Robert Polak (RoboPol) Programm: JSSP / Produktionsplanung Handbuch: 2026

Contents

Obsah

Inhalt

Introduction

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

  1. Open Dataset and use Random Factory, or press Edit and enter machines, products, plan lines, and jobs manually.
  2. Keep Data source set to Custom dataset for production projects, or switch to Built-in instance for benchmark examples.
  3. Choose Robopol Refined with the Normal profile for a fast practical run, or choose CP-SAT when exact support is desired.
  4. Select the objective. Makespan is supported by both solver paths; Due-date weighted tardiness is currently CP-SAT only.
  5. Click Start Optimization. The Gantt map and Run Outputs panel update after a successful calculation.
  6. Export the project, Gantt image, SVG, schedule JSON, or schedule CSV from the Project and Run Outputs tools.

Rýchly štart

  1. Otvor Dataset a použi Náhodná výroba, alebo stlač Upraviť a zadaj stroje, produkty, plán a zákazky ručne.
  2. Pre výrobné projekty nechaj Zdroj dát nastavený na Vlastný dataset; pre ukážkové benchmarky prepni na Vstavaná inštancia.
  3. Zvoľ Robopol Refined s profilom Normálny pre rýchly praktický beh, alebo CP-SAT pre exaktnú cestu.
  4. Zvoľ cieľ výpočtu. Makespan podporujú obe cesty; Vážené omeškanie podľa termínu je momentálne iba pre CP-SAT.
  5. Klikni Spustiť optimalizáciu. Po úspešnom výpočte sa aktualizuje Gantt mapa a panel Výstupy behov.
  6. Exportuj projekt, Gantt PNG, SVG, JSON harmonogramu alebo CSV harmonogramu z nástrojov Projekt a Výstupy behov.

Schnellstart

  1. Öffne Datensatz und verwende Zufallsfabrik, oder klicke Bearbeiten und trage Maschinen, Produkte, Planzeilen und Jobs manuell ein.
  2. Für Produktionsprojekte bleibt Datenquelle auf Eigener Datensatz. Für Benchmark-Beispiele kannst du auf Eingebaute Instanz umschalten.
  3. 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.
  4. Wähle das Ziel. Makespan wird von beiden Solver-Wegen unterstützt; Gewichtete Terminverspätung läuft aktuell über CP-SAT.
  5. Klicke Optimierung starten. Nach einer erfolgreichen Berechnung werden die Gantt-Karte und Laufausgaben aktualisiert.
  6. Exportiere Projekt, Gantt PNG, SVG, Plan-JSON oder Plan-CSV über die Werkzeuge Projekt und Laufausgaben.
Main workspace with custom dataset and controls.
Main workspace after a generated production dataset is loaded. Hlavná pracovná plocha po načítaní vygenerovaného výrobného datasetu. Hauptarbeitsbereich nach dem Laden eines generierten Produktionsdatensatzes.

Program overview

Left panelProject tools, dataset CSV tools, solver selection, method settings, visual settings, and system tools.
Top workspaceDataset summary, active project counts, validation state, and current run summary.
Bottom workspaceGantt map, run output cards, copy/export actions, and calculation history.

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

Ľavý panelProjektové nástroje, CSV nástroje datasetu, výber riešiča, nastavenia metódy, vzhľad a systém.
Horná plochaSúhrn datasetu, počty v aktívnom projekte, validácia a tabuľka aktuálneho behu.
Dolná plochaGantt mapa, karty výstupov, akcie kopírovania/exportu a história výpočtov.

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

Linkes PanelProjektwerkzeuge, CSV-Werkzeuge, Solver-Auswahl, Methodeneinstellungen, Darstellung und Systemwerkzeuge.
Oberer ArbeitsbereichDatensatz-Zusammenfassung, Zähler des aktiven Projekts, Validierungsstatus und aktuelle Lauftabelle.
Unterer ArbeitsbereichGantt-Karte, Ausgabekarten, Kopier-/Exportaktionen und Berechnungshistorie.

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

ToolUse
New ProjectCreates a clean custom project with an empty production board.
Open ProjectLoads a browser-local JSON project. Runtime state can restore the last schedule and output cards.
Save As / Export JSONDownloads the schema-versioned project model, including machines, products, plan lines, jobs, downtime, and optional runtime state.
Export PNG / Export SVGDownloads 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 / DiscardUses browser-local recovery when an unsaved custom project exists.

Projektové nástroje

NástrojPoužitie
Nový projektVytvorí čistý vlastný projekt s prázdnou výrobnou tabuľou.
Otvoriť projektNačíta lokálny JSON projekt. Stav behu vie obnoviť posledný harmonogram a výstupné karty.
Uložiť ako / Export JSONStiahne projektový model so strojmi, produktmi, plánom, zákazkami, odstávkami a voliteľným stavom behu.
Export PNG / Export SVGStiahne 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

WerkzeugVerwendung
Neues ProjektErstellt ein sauberes eigenes Projekt mit leerer Produktionsübersicht.
Projekt öffnenLädt ein lokales JSON-Projekt aus dem Browser. Der Laufstatus kann den letzten Plan und die Ausgabekarten wiederherstellen.
Speichern unter / JSON exportierenLädt das schema-versionierte Projektmodell herunter, einschließlich Maschinen, Produkten, Planzeilen, Jobs, Stillstand und optionalem Laufstatus.
PNG exportieren / SVG exportierenLä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 / VerwerfenVerwendet 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.

ControlUse
Sound ON / OFFToggles interface sound feedback in the current browser session.
ManualOpens this HTML user guide in a new browser tab.
License KeyOpens 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.
DiagnosticsOpens service diagnostics for checking solver availability, runtime status, and support information.
SYSTEM: ONLINEIndicates that the web UI is loaded. Solver availability is still confirmed when a calculation is started.
Download AppDownloads the RoboPol Production Scheduler desktop application package for licenses with desktop download entitlement.
E-shopOpens 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ádaniePoužitie
Zvuk ZAP / VYPZapína alebo vypína zvukovú odozvu rozhrania v aktuálnej relácii prehliadača.
ManuálOtvorí 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.
DiagnostikaOtvorí servisnú diagnostiku na kontrolu dostupnosti riešiča, runtime stavu a informácií pre podporu.
SYSTEM: ONLINEUkazuje, že webové UI je načítané. Dostupnosť riešiča sa potvrdí až pri spustení výpočtu.
Stiahnuť aplikáciuStiahne balík desktop aplikácie RoboPol Production Scheduler pre licencie s nárokom na desktop download.
E-shopOtvorí 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.

BedienelementVerwendung
Ton EIN / AUSSchaltet 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: ONLINEZeigt, dass die Weboberfläche geladen ist. Die Solver-Verfügbarkeit wird trotzdem erst beim Start einer Berechnung bestätigt.
App herunterladenLä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

1. MachinesReal resources such as laser, CNC, assembly, paint, QA, and hard downtime windows.
2. Product routesReusable recipes. Each route step has an ordered operation name, machine, and duration.
3. Production planOrder mix. Product, quantity, batch size, due time, and priority define what should be produced.
4. Generated jobsThe exact fixed-machine solver input created from the production plan.
5. Solver payloadValidated jobs, operations, metadata, and downtime sent to Robopol Refined or CP-SAT.
6. ScheduleOperation-level output rendered as a Gantt map and exportable data.

Dátový model

1. StrojeReálne zdroje ako laser, CNC, montáž, lakovňa, QA a pevné okná odstávok.
2. Produktové trasyOpakovateľné recepty. Každý krok má názov operácie, stroj a trvanie.
3. Výrobný plánMix objednávok. Produkt, množstvo, veľkosť dávky, termín a priorita hovoria, čo sa má vyrobiť.
4. Generované zákazkyPresný vstup s pevne zadanými strojmi pre riešič, vytvorený z výrobného plánu.
5. Vstup riešičaValidované zákazky, operácie, metadáta a odstávky odoslané do Robopol Refined alebo CP-SAT.
6. HarmonogramVýstup po operáciách vykreslený ako Gantt mapa a exportovateľné dáta.

Datenmodell

1. MaschinenReale Ressourcen wie Laser, CNC, Montage, Lackierung, QA und feste Stillstandsfenster.
2. ProduktroutenWiederverwendbare Rezepte. Jeder Schritt enthält Operationsname, Maschine und Dauer.
3. ProduktionsplanAuftragsmix. Produkt, Menge, Chargengröße, Termin und Priorität definieren, was produziert werden soll.
4. Generierte JobsDer genaue Solver-Eingang mit festen Maschinen, erzeugt aus dem Produktionsplan.
5. Solver-EingabeValidierte Jobs, Operationen, Metadaten und Stillstandsfenster für Robopol Refined oder CP-SAT.
6. PlanOperationsebene als Gantt-Karte und exportierbare Daten.

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

ButtonWhat it imports or exportsWhen to use it
Import Machines / Export MachinesMachines and their downtime windows.Use first, because product routes and jobs reference machine IDs.
Import Products / Export ProductsProduct routes and ordered route steps.Use after Machines when you want to generate jobs from a production plan.
Import Plan / Export PlanProduction 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 JobsDirect operation-level solver input.Use when ERP/MES already exports jobs and operations and you do not need Product Routes plus Plan generation.
Random FactorySynthetic machines, products, plan lines, downtime, and generated jobs.Use for demos, training, screenshots, and quick validation of the workflow.

Recommended import workflow

  1. Import Machines first, including planned downtime if needed.
  2. Import Products next. Product route steps must reference existing machine IDs.
  3. Import Plan. Plan lines must reference existing product IDs.
  4. Open Dataset Editor, review the plan, and click Generate All Jobs.
  5. 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 as 1,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 exportujeKedy ho použiť
Import strojov / Export strojovStroje a ich odstávky.Použi ako prvé, pretože produktové postupy a zákazky odkazujú na ID strojov.
Import produktov / Export produktovProduktové 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ánuRiadky 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ákaziekPriamy 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ýrobaSyntetické 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

  1. Najprv importuj Stroje, vrátane plánovaných odstávok, ak ich potrebuješ.
  2. Potom importuj Produkty. Kroky produktového postupu musia odkazovať na existujúce ID strojov.
  3. Importuj Plán. Riadky plánu musia odkazovať na existujúce ID produktov.
  4. Otvor Editor datasetu, skontroluj plán a klikni Vygenerovať všetky zákazky.
  5. 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 typu 1,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ächeImportiert oder exportiertWann verwenden
Maschinen importieren / Maschinen exportierenMaschinen und ihre Stillstandsfenster.Zuerst verwenden, weil Produktrouten und Jobs auf Maschinen-IDs verweisen.
Produkte importieren / Produkte exportierenProduktrouten und geordnete Routenschritte.Nach Maschinen verwenden, wenn Jobs aus einem Produktionsplan erzeugt werden sollen.
Plan importieren / Plan exportierenProduktionsplanzeilen mit Mengen, Chargengrößen, Terminen und Prioritäten.Nach Produkten verwenden, dann Datensatz-Editor öffnen und Alle Jobs generieren drücken.
Jobs importieren / Jobs exportierenDirekter operationsbasierter Solver-Eingang.Verwenden, wenn ERP/MES Jobs und Operationen bereits exakt exportiert und keine Generierung über Produktrouten und Plan nötig ist.
ZufallsfabrikSynthetische Maschinen, Produkte, Planzeilen, Stillstand und generierte Jobs.Für Demos, Schulung, Screenshots und schnelle Workflow-Kontrolle.

Empfohlener Importablauf

  1. Importiere zuerst Maschinen, bei Bedarf inklusive geplanter Stillstände.
  2. Importiere danach Produkte. Schritte der Produktroute müssen auf vorhandene Maschinen-IDs verweisen.
  3. Importiere Plan. Planzeilen müssen auf vorhandene Produkt-IDs verweisen.
  4. Öffne den Datensatz-Editor, prüfe den Plan und klicke Alle Jobs generieren.
  5. 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 wie 1,2 verwenden.
  • 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

AreaMain actionsWhat to check
MachinesAdd, Delete, Add Downtime, Delete Downtime.Every referenced machine must exist. Deleting a machine remaps affected route steps and operations to another available machine.
Product RoutesAdd 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 PlanAdd, 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 JobsAdd 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

FieldAccepted valueMeaning
QtyPositive whole number: 1, 12, 250. No decimal comma.Total requested quantity for the selected product line.
Batch sizePositive 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.
DueEmpty 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.
PriorityPositive 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ť
StrojePridať, 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é postupyPridať 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ánPridať, 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ákazkyPridať 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

PolePovolený tvarVýznam
MnožstvoKladné celé číslo: 1, 12, 250. Bez desatinnej čiarky.Celkové požadované množstvo vybraného produktu v tomto riadku plánu.
Veľkosť dávkyKladné 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ínPrá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.
PrioritaKladné čí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

BereichHauptaktionenWorauf prüfen
MaschinenHinzufü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äneProdukt 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.
ProduktionsplanHinzufü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 JobsJob 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

FeldErlaubter WertBedeutung
MengePositive Ganzzahl: 1, 12, 250. Kein Dezimalkomma.Gesamte angeforderte Menge des ausgewählten Produkts in dieser Planzeile.
ChargengrößePositive 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älligLeer 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ätPositive 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.

Dataset editor machines and downtime.
Machines and hard downtime windows. Stroje a tvrdé okná odstávok. Maschinen und harte Stillstandsfenster.
Product route editor.
Product routes define reusable ordered manufacturing steps. Produktové postupy určujú opakovateľné zoradené výrobné kroky. Produktarbeitspläne definieren wiederverwendbare geordnete Fertigungsschritte.
Production plan editor.
Production plan lines show the planned quantity and the previewed number of generated jobs. Riadky výrobného plánu zobrazujú plánované množstvo a náhľad počtu generovaných zákaziek. Produktionsplanzeilen zeigen die geplante Menge und die Vorschau auf die Anzahl generierter Jobs.
Generated jobs editor.
Generated jobs are the exact operation-level solver input. Generované zákazky sú presný operačný vstup pre riešič. Generierte Jobs sind die exakte operationale Solver-Eingabe.

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

  1. Open Dataset Editor and select Machines.
  2. Select the machine card, for example Laser cutter or CNC mill.
  3. Click Add Downtime in the Downtime / Maintenance area.
  4. Choose a type such as maintenance, technical break, repair, or unexpected outage.
  5. Enter Start and Duration in the same time unit as operations, usually minutes.
  6. Keep Hard enabled. Soft downtime is visible as a future concept but is not supported by the current solver path.
  7. 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

  1. Otvor Editor datasetu a vyber Stroje.
  2. Vyber kartu stroja, napríklad Laser cutter alebo CNC mill.
  3. V časti Odstávka / údržba klikni Pridať odstávku.
  4. Zvoľ typ, napríklad údržba, technická prestávka, oprava alebo nečakaný výpadok.
  5. Zadaj Začiatok a Trvanie v rovnakej časovej jednotke ako operácie, typicky minúty.
  6. 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.
  7. 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

  1. Öffne den Datensatz-Editor und wähle Maschinen.
  2. Wähle die Maschinenkarte, zum Beispiel Laser cutter oder CNC mill.
  3. Klicke im Bereich Stillstand / Wartung auf Stillstand hinzufügen.
  4. Wähle einen Typ, zum Beispiel Wartung, technische Pause, Reparatur oder unerwarteter Ausfall.
  5. Trage Start und Dauer in derselben Zeiteinheit wie die Operationen ein, normalerweise Minuten.
  6. Lasse Hart aktiviert. Weicher Stillstand ist als zukünftiges Konzept sichtbar, der aktuelle Solver-Weg arbeitet mit hartem Stillstand.
  7. 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

  1. Define the product route first: ordered operations, fixed machine for each operation, and operation duration for one generated job/batch.
  2. Create a Production Plan line: choose product, quantity, batch size, due, and priority.
  3. Click Generate All Jobs. The app expands every Production Plan line into concrete jobs and copies the product route operations into each job.
  4. Run the solver only after Generated Jobs exist. The solver input is Generated Jobs, not the Production Plan table itself.
  5. 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

  1. 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.
  2. Vo výrobnom pláne vytvor riadok: vyber produkt, množstvo, veľkosť dávky, termín a prioritu.
  3. 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.
  4. 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.
  5. 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

  1. Zuerst den Produktarbeitsplan definieren: Reihenfolge der Operationen, feste Maschine pro Operation und Operationsdauer für einen generierten Job/eine Charge.
  2. Im Produktionsplan eine Zeile anlegen: Produkt, Menge, Chargengröße, Termin und Priorität wählen.
  3. Auf Alle Jobs generieren klicken. Die Anwendung erweitert jede Produktionsplanzeile zu konkreten Jobs und kopiert die Operationen aus dem Produktarbeitsplan in jeden Job.
  4. Den Solver erst starten, wenn generierte Jobs vorhanden sind. Solver-Eingabe sind die generierten Jobs, nicht die Produktionsplantabelle selbst.
  5. 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.

FieldMeaning
Factory SizePreset for a small, medium, or large synthetic production project. The preset fills sensible defaults.
SeedDeterministic generator seed. The same settings and seed recreate the same factory structure.
MachinesNumber of factory resources. The UI accepts 2 to 12.
ProductsNumber of product routes. The UI accepts 1 to 10.
Plan LinesNumber of production order lines. The UI accepts 1 to 12.
Downtime BlocksNumber of generated hard downtime windows. The UI accepts 0 to 24.
Generate FactoryCreates 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.

PoleVýznam
Veľkosť výrobyPredvoľba pre malý, stredný alebo veľký syntetický výrobný projekt. Predvoľba vyplní rozumné hodnoty.
SeedDeterministický seed generátora. Rovnaké nastavenia a seed vytvoria rovnakú štruktúru fabriky.
StrojePočet výrobných zdrojov. UI povoľuje 2 až 12.
ProduktyPočet produktových postupov. UI povoľuje 1 až 10.
Riadky plánuPočet riadkov výrobného plánu. UI povoľuje 1 až 12.
Bloky odstávokPočet vygenerovaných tvrdých odstávok. UI povoľuje 0 až 24.
Generovať výrobuV 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.

FeldBedeutung
FabrikgrößePreset für ein kleines, mittleres oder großes synthetisches Produktionsprojekt. Das Preset füllt sinnvolle Standardwerte.
SeedDeterministischer Generator-Seed. Gleiche Einstellungen und gleicher Seed erzeugen dieselbe Fabrikstruktur.
MaschinenAnzahl der Fertigungsressourcen. Die UI akzeptiert 2 bis 12.
ProdukteAnzahl der Produktarbeitspläne. Die UI akzeptiert 1 bis 10.
PlanzeilenAnzahl der Produktionsplanzeilen. Die UI akzeptiert 1 bis 12.
StillstandsblöckeAnzahl der erzeugten harten Stillstandsfenster. Die UI akzeptiert 0 bis 24.
Fabrik generierenErzeugt Maschinen, Produktarbeitspläne, Planzeilen, Stillstand und generierte Jobs in einem Schritt.
Random Factory modal.
Random Factory modal before generating a synthetic production dataset. Modálne okno náhodnej výroby pred generovaním syntetického výrobného datasetu. Dialog der Zufallsfabrik vor dem Erzeugen eines synthetischen Produktionsdatensatzes.

Solvers and objectives

Solver settings panel.
Robopol Refined normal profile and production objective controls.
ChoiceStatusMeaning
Robopol Refined / NormalRecommended quick practical runHeuristic production scheduling path for fast practical makespan optimization.
Robopol Refined / StrongManual use onlyDeeper search profile. It can cost more CPU time and should not be used accidentally.
Robopol Refined / CustomAdvancedEnables manual search settings plus a Custom solve goal for fixed budget or bounded optimum search.
CP-SATExact solver pathConstraint-programming solver with a time limit. Supports makespan and weighted tardiness.
MakespanDefaultMinimizes the final completion time of the whole schedule.
Due-date weighted tardinessCP-SAT onlyPenalizes 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 priority 2 makes one minute of lateness twice as expensive as priority 1.
  • 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

Panel nastavení riešiča.
Robopol Refined normálny profil a nastavenie výrobného cieľa.
VoľbaStavVýznam
Robopol Refined / NormálnyOdporúčaný rýchly praktický behHeuristická výrobná cesta pre rýchlu praktickú optimalizáciu makespanu.
Robopol Refined / SilnýIba ručneHlbší 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-SATExaktná cesta riešeniaConstraint-programming riešič s časovým limitom. Podporuje makespan aj vážené omeškanie podľa termínu.
MakespanPredvolenéMinimalizuje koncový čas celého harmonogramu.
Vážené omeškanie podľa termínuIba CP-SATPenalizuje 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 prioritou 2 robí jednu minútu omeškania dvakrát drahšou než priorita 1.
  • 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

Solver-Einstellungen.
Robopol Refined Normal-Profil und Produktionsziel-Auswahl.
AuswahlStatusBedeutung
Robopol Refined / NormalEmpfohlener schneller PraxislaufHeuristischer Produktionsplanungsweg für schnelle praktische Makespan-Optimierung.
Robopol Refined / StarkNur bewusst verwendenTieferes Suchprofil. Es kann mehr CPU-Zeit kosten und sollte nicht versehentlich gestartet werden.
Robopol Refined / BenutzerdefiniertFortgeschrittenErmöglicht manuelle Sucheinstellungen plus ein Ziel für festen Budgetlauf oder begrenzte Optimumsuche.
CP-SATExakter Solver-WegConstraint-programming Solver mit Zeitlimit. Unterstützt Makespan und gewichtete Terminverspätung.
MakespanStandardzielMinimiert die finale Fertigstellungszeit des gesamten Plans.
Gewichtete TerminverspätungCP-SATPenalisiert 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ät 2 macht eine Minute Verspätung doppelt so teuer wie Priorität 1.
  • 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.

ProfileMeaning
NormalTuned default for everyday planning: fewer independent runs, wider active-basins/beam search, and stronger scouting. Use this first.
StrongDeeper preset with higher beam, ILS, repair, scout, and guidance budgets. Use manually when schedule quality matters more than response time.
CustomStarts 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

FieldWhat it changesPractical effect
Number of RunsIndependent search runs with different seeds.More runs improve diversity and chance of a better schedule, but increase CPU time.
Active Basins / BeamHow many promising schedule regions are kept during the search.Higher values explore wider; lower values focus faster.
ILS IterationsMain improvement depth for each run.Higher values allow more improvement cycles but take longer.
No Improvement LimitHow long a run tolerates no improvement before escape logic is used.Higher values wait longer before diversifying; lower values escape sooner.
Kick StrengthHow strongly the schedule is perturbed when stuck.Higher values jump farther but can disturb good structure.
LS Budget / ILS LayerLocal-search work spent on promising candidates and final polishing.Higher values spend more time improving each candidate.
Basin Acceptance ThresholdAllowed near-best tolerance when exploring neighboring basins.Higher tolerance explores more alternatives; lower tolerance is stricter.
Custom Solve GoalCustom-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 HintRepair effort budget for escape candidates when exact repair is used internally.Higher values may repair harder candidates but cost more time.
Exact RepairEnables exact repair candidates in Custom mode.Can improve repair quality on hard candidates, but it costs additional search time.
Scout Candidates / BasinCandidate moves generated from each active basin.More candidates improve coverage but increase evaluation work.
Guidance Edges / OpHow much learned move/edge guidance is kept per operation.Higher values keep broader search memory.
Scout BudgetCheap pre-evaluation work before intensifying candidates.Higher values spend more time filtering promising candidates.
Guidance Reorder PeriodHow often candidate ordering refreshes from learning data.Lower values react faster; higher values keep ordering stable longer.
Parallel RunsWhether 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.

ProfilVýznam
NormálnyVyladený 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 behovNezávislé behy s rôznymi seedmi.Viac behov zvyšuje diverzitu a šancu na lepší harmonogram, ale stojí viac CPU času.
Aktívne oblasti / beamKoľ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ácieHlavná 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šeniaAko 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ácieAko 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 vrstvaLoká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 oblastiTolerancia 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 behuRež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 repairRozpoč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 RepairZapne 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áciaKoľko naučeného guidance sa drží na operáciu.Vyššie hodnoty držia širšiu pamäť vyhľadávania.
Scout rozpočetLacná predbežná evaluácia pred intenzifikáciou kandidátov.Vyššie hodnoty venujú viac času filtrovaniu sľubných kandidátov.
Perióda preusporiadania guidanceAko č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.

ProfilBedeutung
NormalAbgestimmter Standard für tägliche Planung: weniger unabhängige Läufe, breitere Active-Basins/Beam-Suche und stärkeres Scouting. Damit zuerst beginnen.
StarkTieferes Preset mit höheren Beam-, ILS-, Repair-, Scout- und Guidance-Budgets. Bewusst verwenden, wenn Planqualität wichtiger ist als Antwortzeit.
BenutzerdefiniertStartet 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

FeldWas es ändertPraktischer Effekt
Anzahl LäufeUnabhä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 / BeamAnzahl vielversprechender Planbereiche, die während der Suche gehalten werden.Höhere Werte suchen breiter; niedrigere Werte fokussieren schneller.
ILS-IterationenHaupttiefe der Verbesserung pro Lauf.Höhere Werte erlauben mehr Verbesserungszyklen, dauern aber länger.
Limit ohne VerbesserungWie 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ärkeStärke der Störung, wenn die Suche steckenbleibt.Höhere Werte springen weiter, können aber gute Struktur stören.
LS-Budget / ILS-EbeneLokale Sucharbeit für Kandidaten und finale Verbesserung.Höhere Werte investieren mehr Zeit in jeden Kandidaten.
Annahmeschwelle für BeckenToleranz für nahezu beste Lösungen beim Erkunden benachbarter Bereiche.Höhere Toleranz erkundet mehr Alternativen; niedrigere Toleranz ist strenger.
Ziel für benutzerdefinierten LaufNur 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 ReparaturBudget für Reparaturarbeit bei Ausweichkandidaten, wenn intern exakte Reparatur verwendet wird.Höhere Werte können schwierigere Kandidaten reparieren, kosten aber mehr Zeit.
Exakte ReparaturAktiviert exakte Reparaturkandidaten im benutzerdefinierten Profil.Kann die Reparatur schwieriger Kandidaten verbessern, kostet aber zusätzliche Suchzeit.
Scout-Kandidaten / BeckenKandidatenzüge aus jedem aktiven Becken.Mehr Kandidaten verbessern Abdeckung, erhöhen aber Bewertungsarbeit.
Guidance-Kanten / OperationWie viel gelernte Guidance pro Operation gehalten wird.Höhere Werte halten ein breiteres Suchgedächtnis.
Scout-BudgetGünstige Vorbewertung vor intensiver Kandidatenprüfung.Höhere Werte verbringen mehr Zeit mit dem Filtern vielversprechender Kandidaten.
Guidance-NeusortierungWie oft die Kandidatenreihenfolge aus Lerndaten aktualisiert wird.Niedrigere Werte reagieren schneller; höhere Werte halten die Ordnung länger stabil.
Parallele LäufeOb 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 instanceUse
Simple test (3x3)Small sanity-check instance.
FT-like synthetic (6x6) - ft06Seeded small JSSP instance for quick CP-SAT and Robopol Refined comparison.
Fisher & Thompson (10x10) - ft10Known JSSP benchmark-style instance for solver comparison.
Lawrence (20x5) - la15Benchmark-style instance with more jobs than machines.
FT-like / LA-like synthetic instancesLarger 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štanciaPoužitie
Simple test (3x3)Malá sanity-check inštancia.
FT-like synthetic (6x6) - ft06Seedovaná malá JSSP inštancia na rýchle porovnanie CP-SAT a Robopol Refined.
Fisher & Thompson (10x10) - ft10Známa JSSP benchmarková inštancia pre porovnanie riešičov.
Lawrence (20x5) - la15Benchmarková inštancia s väčším počtom úloh než strojov.
FT-like / LA-like synthetic instancesVäčš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 InstanzVerwendung
Simple test (3x3)Kleine sanity-check Instanz.
FT-like synthetic (6x6) - ft06Seed-basierte kleine JSSP-Instanz für schnellen Vergleich von CP-SAT und Robopol Refined.
Fisher & Thompson (10x10) - ft10Bekannte JSSP-Benchmark-Instanz für Solver-Vergleich.
Lawrence (20x5) - la15Benchmark-Instanz mit mehr Jobs als Maschinen.
FT-like / LA-like synthetic instancesGröß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

ControlAction
Mouse wheelZooms the time axis in or out around the pointer position.
Drag the mapPans the visible time window after the map is zoomed.
Hover operationShows job, operation, machine, start time, end time, duration, and critical-path state when available.
Click operationSelects the operation so it stays highlighted while you inspect the schedule.
FS / EXTFS opens the Gantt map in fullscreen. In fullscreen the button changes to EXT, which exits fullscreen.
RSTResets 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.

  1. Run a successful calculation first. The export buttons need a drawable Gantt schedule.
  2. Open the Project panel in the Settings sidebar.
  3. Click Export PNG to download a bitmap image of the current rendered canvas view.
  4. Click Export SVG to download a scalable vector map of the schedule.
  5. 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ádanieAkcia
Koliesko myšiPribližuje alebo odďaľuje časovú os okolo miesta, kde je kurzor.
Ťahanie mapyPosúva zobrazené časové okno, keď je mapa priblížená.
Hover na operáciuZobrazí job, operáciu, stroj, začiatok, koniec, trvanie a stav kritickej cesty, ak je dostupný.
Klik na operáciuVyberie operáciu, aby ostala zvýraznená počas kontroly harmonogramu.
FS / EXTFS otvorí Gantt mapu na celú obrazovku. Vo fullscreene sa tlačidlo zmení na EXT, ktorým sa fullscreen ukončí.
RSTResetuje 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í.

  1. Najprv spusti úspešný výpočet. Export tlačidlá potrebujú vykresliteľný Gantt harmonogram.
  2. Otvor panel Projekt v bočnom paneli nastavení.
  3. Klikni Export PNG, keď chceš bitmapový obrázok aktuálne vykresleného canvas pohľadu.
  4. Klikni Export SVG, keď chceš škálovateľnú vektorovú mapu harmonogramu.
  5. 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

SteuerungAktion
MausradZoomt die Zeitachse um die Cursorposition hinein oder heraus.
Karte ziehenVerschiebt das sichtbare Zeitfenster, wenn die Karte gezoomt ist.
Hover über OperationZeigt Job, Operation, Maschine, Start, Ende, Dauer und kritischen Pfadstatus, wenn verfügbar.
Klick auf OperationWählt die Operation aus, damit sie beim Prüfen des Plans hervorgehoben bleibt.
FS / EXTFS öffnet die Gantt-Karte im Vollbild. Im Vollbild wird die Schaltfläche zu EXT, womit Vollbild beendet wird.
RSTSetzt 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.

  1. Zuerst eine erfolgreiche Berechnung ausführen. Die Export-Schaltflächen brauchen einen zeichnbaren Gantt-Plan.
  2. Das Panel Projekt in der Einstellungs-Seitenleiste öffnen.
  3. PNG exportieren anklicken, um ein Bitmap der aktuellen Canvas-Ansicht herunterzuladen.
  4. SVG exportieren anklicken, um eine skalierbare Vektorkarte des Plans herunterzuladen.
  5. 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.
Solved schedule with Gantt map and output history.
Solved schedule from a quick Robopol Refined run on a generated custom dataset. Vypočítaný harmonogram z rýchleho behu Robopol Refined nad vygenerovaným vlastným datasetom. Berechneter Plan aus einem schnellen Robopol-Refined-Lauf mit generiertem eigenem Datensatz.

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.

PartMeaning
Current Run ResultShows the latest instance/project name, algorithm, makespan, status, operation count, and calculation time.
Run output cardsKeep recent successful and error results. The counter near Export shows how many cards are currently visible.
CopyCopies a readable text summary to the clipboard for email, notes, or support communication.
Export JSONDownloads schedule metadata, objective values, full operation rows, downtime rows, and solver details.
Export CSVDownloads table-style schedule data with summary, operation, and downtime rows.
Weighted tardiness metricsWhen 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 behuZobrazuje posledný názov inštancie/projektu, algoritmus, makespan, stav, počet operácií a čas výpočtu.
Karty výstupov behovDrž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 JSONStiahne metadáta harmonogramu, hodnoty cieľa, všetky operácie, odstávky a detaily riešiča.
Export CSVStiahne tabuľkové dáta harmonogramu so súhrnom, operáciami a riadkami odstávok.
Metriky váženého omeškaniaKeď 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.

TeilBedeutung
Aktuelles LaufergebnisZeigt letzten Instanz-/Projektnamen, Algorithmus, Makespan, Status, Anzahl Operationen und Berechnungszeit.
LaufkartenSpeichern letzte erfolgreiche und fehlerhafte Ergebnisse. Der Zähler bei Export zeigt, wie viele Karten sichtbar sind.
KopierenKopiert eine lesbare Textzusammenfassung in die Zwischenablage für E-Mail, Notizen oder Support.
JSON exportierenLädt Planmetadaten, Zielwerte, alle Operationen, Stillstände und Solver-Details herunter.
CSV exportierenLädt tabellarische Plandaten mit Zusammenfassung, Operationen und Stillstandszeilen herunter.
Metriken der gewichteten TerminverspätungWenn 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.

Schedule export dialog.
Schedule export dialog with JSON and CSV choices. Dialóg exportu harmonogramu s voľbou JSON alebo CSV. Exportdialog für den Plan mit JSON- und CSV-Auswahl.

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.

FieldEffect
Color ThemeApplies a preset palette such as Graphite Gray, Steel Cyan, Matrix Green, Clean Light, or Crimson Dark.
Gantt BGChanges the map background color.
OperationChanges the main operation color and the first job color.
Critical PathChanges the color used to emphasize critical operations when available.
Operation HeightControls bar height from compact to more readable rows.
Grid DensityControls how dense the time grid appears on the Gantt map.
Skip animation on large schedulesReduces 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émaNastaví predvolenú paletu, napríklad Grafitová sivá, Oceľová tyrkysová, Matrix zelená, Čistá svetlá alebo Tmavá karmínová.
Gantt pozadieZmení farbu pozadia mapy.
OperáciaZmení hlavnú farbu operácií a prvú farbu zákaziek.
Kritická cestaZmení farbu zvýraznenia kritických operácií, keď sú dostupné.
Výška operácieOvláda výšku blokov od kompaktných po čitateľnejšie riadky.
Hustota mriežkyOvláda hustotu časovej mriežky v Gantt mape.
Preskočiť animáciu pri veľkých plánochZníž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.

FeldWirkung
FarbthemaSetzt 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öheSteuert die Balkenhöhe von kompakt bis besser lesbar.
RasterdichteSteuert die Dichte des Zeitrasters in der Gantt-Karte.
Animation bei großen Plänen überspringenReduziert 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 / symptomWhat 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 / SymptomWas 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.