How to schedule production with finite capacity
1. Start with the actual shop problem
Register the machines that actually perform work and choose a planning horizon. An exclusive machine has capacity one; a work center with two independent positions may have capacity two. Capacity means simultaneous executions, rather than pieces per hour. Operation duration is configured separately. Give machines, jobs and operations unique codes so references remain stable. Simple mode lets you enter one operation per job and quickly generate a schedule. You do not need costs, materials or setup matrices to get started. Load the example first and check that its time units and working hours match the assumptions you intend to use in your factory.
2. Build routings and dependencies
A job can contain several operations. Enter predecessor codes separated by commas to represent either a sequence or a graph with parallel paths. An assembly step may depend on two separate preparation steps. The engine considers an operation ready only after all its predecessors have been scheduled. Mandatory waiting time starts after predecessor completion. Dependency cycles are rejected because no operation in the cycle could start. Quantity and actual status belong to the job record; planning does not invent progress. Completed jobs are excluded from the new schedule but remain in the project for reference and backup. Cancelled jobs are also retained without consuming new capacity.
3. Define working calendars
Without a calendar, a resource is continuously available within the horizon. In professional mode, enter weekdays from zero to six, with Sunday as zero, and local windows such as 08:00 to 12:00 and 13:00 to 17:00. Breaks remove capacity; holidays close a date; exceptions replace the shifts for that date. Downtime and maintenance use full instants with an offset or Z. Calendars are interpreted in the project IANA time zone, independently of interface language. Nonexistent local times are rejected. When a clock repeats an hour, the earlier occurrence is used. Review this convention before scheduling work during seasonal clock transitions.
4. Calculate processing and setup
Fixed time applies to the whole operation. In per unit mode, base time is multiplied by quantity. In rate mode, minutes equal quantity divided by units per hour, multiplied by sixty. In batch mode, the number of batches is rounded up and multiplied by processing time for an entire batch. A speed factor of two halves processing time. Machine specific times replace the base time. Preparation adds operation setup to either the initial position setup or the family change defined by the setup matrix. This time occupies capacity and is included exactly once in workload and cost. Batch processing does not automatically create transferable partial quantities.
5. Understand the heuristic search
The engine selects ready operations and evaluates eligible machines. Every capacity position has its own sequence. Search uses free windows that respect calendars and secondary resources, selects a candidate according to the strategy and repeats. FIFO uses release dates; EDD uses due dates; SPT uses processing time. Earliest completion selects the currently evaluated alternative that finishes first. The bottleneck approach prioritizes resources with greater pending workload. Search is deterministic for identical data and parameters, unless interrupted by a time limit. It does not use an exact solver or prove an optimal solution. A failed search does not prove that no mathematical solution exists.
| Machine | Operation | Start | Horizon end |
|---|---|---|---|
| M1 | B-1 | 08:00 | 09:00 |
| M1 | A-1 | 09:00 | 11:00 |
| M2 | B-2 | 09:00 | 11:00 |
| M2 | A-2 | 11:00 | 12:00 |
6. Read the Gantt and capacity metrics
Rows identify machines; each bar identifies an operation with its interval and setup. The background distinguishes productive and closed periods. Downtime is shown as unavailable. On mobile, cards preserve readable times and allow operation selection. Scheduled workload adds processing and setup; available capacity considers calendars and the number of positions. Utilization divides workload by available capacity. Idle time is the difference between those values. Makespan is the elapsed interval from horizon start to the latest scheduled completion. Job lateness compares final job completion with its due date. Estimated cost multiplies occupied hours by the entered hourly rate without inventing unregistered expenses or production performance.
7. Compare scenarios before releasing work
Preserve the current scenario to retain a quantitative reference. Then simulate a breakdown, add maintenance, change shifts, increase quantities or add an urgent job using the same editors and recalculate. Comparison shows differences in makespan, lateness and cost; the reference is not automatically modified. A breakdown can move operations to eligible alternatives or prevent a schedule within the horizon. Do not assume two machines are interchangeable: enter their different speeds and processing times. An objective that reduces setup may increase lateness. Try strategies and inspect individual metrics before choosing. Costs depend entirely on supplied assumptions and do not imply guaranteed savings.
8. Review manual changes and materials
Select a bar or card to specify a fixed machine and instant. Rescheduling recalculates the plan and rejects conflicts rather than silently accepting overlaps. Pins can make the heuristic conservative because sequences are built forward without an exhaustive insertion search. Unpin an operation to give the engine more freedom. Undo and redo restore recent changes. Secondary resources may represent operators, tools or areas with shared capacity. Materials require entered consumption and stock balances; an unknown balance remains unknown. The project does not automatically query physical inventory or future purchases. Blocked and paused jobs need explicit release before they can enter a new schedule.
9. Files, limits and responsible use
Versioned JSON preserves the project, parameters and results for recovery. CSV and XLSX provide tables with column mapping and a preview before applying changes; complex fields use JSON within cells. Codes and references must be unique and valid. Spreadsheet exports guard text that could otherwise become formulas. The Gantt can be saved as SVG or PNG, and printing creates a report that the browser can save as PDF. Processing is limited to one hundred machines, five hundred jobs, fifteen hundred operations and ninety three days. Automatic partial quantity transfers, exact optimization and OEE calculations are not provided. Review the input before operational use.
Frequently asked questions
Is the schedule optimal?
No. The engine uses deterministic heuristics and checks capacity and precedence. Compare strategies and metrics before releasing production.
Does passing the scheduled time complete a job?
No. Status, completed quantity and actual completion are entered separately. Completed and cancelled jobs are excluded from new calculations.
How do time zones work?
Instants are stored with an offset or Z. Calendars use the project IANA zone. Nonexistent local times are rejected; repeated local times use the first occurrence.
Does the system know my inventory?
No. Without entered stock balances, material availability is unknown. Insufficient entered stock blocks the job. A bill of materials does not prove physical stock.
How do I export and recover a project?
Use JSON backup to recover all data. CSV and Excel document tables; SVG and PNG export the Gantt. Browser printing can save the report as PDF.
Related tools
BOM Builder & Product Cost Calculator · Inventory Replenishment & Purchase Planner · Supplier Quote Comparator & Purchasing Analyzer