Proactive Scheduling and Routing of MRP-Based Production with Constrained Resources
Abstract
1. Introduction
2. Related Works
3. Proactive Scheduling and Routing in MRP-Based Production Planning
4. Mathematical Model for Proactive Scheduling and Routing
- Production planning is carried out using the MRP method;
- In addition to basic resources (machines, workstations, etc.), the production processes also involve additional resources (personnel, software, tools, etc.);
- The system tracks demand sources in the production process (i.e., identifies which customer orders generate which component demands);
- Resource and additional resource availability do not need to be blocked for the entire duration of each task/operation;
- Dynamic routing is permitted, i.e., routes are not fixed before production begins but can be selected and created dynamically during production, based on pre-defined equipment configurations for machines/workstations;
- The model supports proactive decision-making (answers to “what-if” scenarios);
- Some decisions are optimized with respect to cost and time.
- Q1: Can the system fulfill customer orders with the available resources (what is the resulting schedule and execution method)?
- Q2: How can the system fulfill customer orders at the lowest cost using the available resources (what is the optimal schedule and execution method)?
- Q3: How can the system fulfill customer orders in the shortest possible time using the available resources (what is the optimal schedule and execution method)?
- Q4: Can the system fulfill customer orders under specific resource unavailability scenarios (e.g., machine failure, reduced availability of some resource or additional resources, etc.—what is the schedule and execution method)?
5. Implementation
5.1. Data Transformation and Preparation Procedure (PT)
5.2. Procedure for Reducing the Size of the Modeled Problem (PR)
6. Computational Experiments
6.1. Initial Case Study—Order Fulfillment and Baseline Comparison
- Baseline Approach—using standard MRP II/ERP with manual scheduling.
- Proposed MILP Approach—using the model (1)–(18) with integrated PT/PR procedures.
- A cost reduction of approximately 15% (from 6100 to 5600 units).
- A shorter execution time by eight periods (23% reduction).
Q | Constraints | Objective Function | Cost_1 | Cost_2 | Cou_1 |
---|---|---|---|---|---|
Q1 | MRPII/ERP | --- | 3800 | 3900 | 80 |
Q1 | 1–12 | ---- | 2840 | 2760 | 72 |
Q2 | 1–14 | Min (Cost_1 + Cost_2) | 2310 | 2435 | 64 |
Q2A | 1.12,15–18 | Min(Cost_1 + Cost_2), Cou_1 ≤ 54 | 2480 | 2435 | 50 |
Q3 | 1.12,15–18 | Min Cou_1 | 2480 | 2435 | 48 |
Q3A | 1.12,15–18 | MinCou_1, Cost_1 + Cost_2 ≤ 4800 | 2310 | 2435 | 55 |
Q4A | 1.12,15–18 W2 unavailable | Min (Cost_1 + Cost_2) | 2840 | 2675 | 73 |
Q4B | 1.12,15–18 W2 unavailable | Min Cou_1 | 3010 | 2760 | 55 |
Q4C | 1.12,15–18 R2 unavailable | Min Cou_1 | 2310 | 2435 | 55 |
Q4D | 1.12,15–18 R1 unavailable | Min (Cost_1 + Cost_2) | --- | --- | --- |
Q4E | 1.12,15–18 R2 unavailable | Min (Cost_1 + Cost_2) | 2840 | 2675 | 73 |
6.2. Optimization Under Different Objectives (Q2–Q4)
- Q2: Minimize total production cost (Cost_1 + Cost_2).
- Q3: Minimize the number of execution periods (Cou_1).
- Q4: Assess feasibility and optimize performance under resource unavailability.
- Q2A: Minimize cost under a time constraint (Cou_1 ≤ 54).
- Q3A: Minimize time under a cost constraint (Cost_1 + Cost_2 ≤ 4800).
- Q4A: Minimize cost under the unavailability of resource W1.
- Q4B: Minimize time under the unavailability of resource W1.
- Q4C: Minimize time under the unavailability of additional resource R2.
- Q4D: Minimize cost under the unavailability of additional resource R1.
- Q4E: Minimize cost under the unavailability of additional resource R2.
- Cost optimization (Q2) yielded the lowest cost (4745 units), while time optimization (Q3) shortened execution to 48 periods—nearly half the baseline duration.
- Q3A satisfied both constraints with only a modest cost increase, demonstrating the model’s flexibility.
- Q4D was the only infeasible case, revealing the unavailability of resource R1. This resource turned out to be critical for fulfilling product A, which requires R1 for the critical “polishing” step (Table A3). Since no alternative resources or routing options exist (Table A6), the model correctly flagged infeasibility, highlighting its ability to identify critical resource dependencies.
6.3. Scalability and Performance Evaluation
- Time to first feasible solution (T-FIRST);
- Time to optimal solution (T-OPTIM).
- PR consistently accelerated solution times—by more than 20× in some cases.
- For instance, when solving Q3 with 50 orders over 150 time periods:
- ○
- Without PR: T-OPTIM exceeded 7500 s.
- ○
- With PR: Reduced to ~2187 s.
- For moderate-sized instances (10–20 orders), PR reduced solution time from hours to minutes without sacrificing solution quality.
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Abbreviations
Appendix A. Data from a Kitchen Furniture Factory [21]
i | tpi |
---|---|
A | 1 |
B | 1 |
C | 1 |
D | 1 |
E | 1 |
F | 1 |
G | 1 |
H | 1 |
Parent (i) | Child (j) | Quantity Need (wspi,j) |
---|---|---|
A | B | 1 |
A | C | 2 |
C | D | 1 |
C | E | 1 |
F | B | 1 |
F | G | 1 |
G | H | 1 |
G | E | 1 |
Workstation (w) | Production Capacity (Capa) | Cost of Work (Cost) |
---|---|---|
W1 | 200 | 40 |
W2 | 200 | 30 |
W3 | 200 | 50 |
W4 | 200 | 5 |
Worker (r) | Working Time (Capa) | Cost of Work (Cost) |
---|---|---|
R1 | 200 | 40 |
R2 | 200 | 30 |
R3 | 200 | 35 |
R4 | 200 | 25 |
R5 | 200 | 10 |
Item (i) | Route (f) | Operation (o) | Workstation (w) | Worker (r) | tpi | ti | tzi |
---|---|---|---|---|---|---|---|
A | 1 | 1 | W1 | R1 | 10 (const) | 1 | 10 (const) |
A | 2 | 1 | W2 | R1 | 10 (const) | 1 | 10 (const) |
F | 1 | 1 | W1 | R1 | 10 (const) | 1 | 10 (const) |
F | 2 | 1 | W3 | R1 | 10 (const) | 1 | 10 (const) |
C | 1 | 1 | W1 | R3 | 10 (const) | 1 | 10 (const) |
C | 2 | 1 | W2 | R4 | 10 (const) | 1 | 10 (const) |
G | 1 | 1 | W1 | R1 | 10 (const) | 1 | 10 (const) |
G | 2 | 1 | W2 | R3 | 10 (const) | 1 | 10 (const) |
G | 3 | 1 | W1 | R3 | 10 (const) | 1 | 10 (const) |
B | 1 | 1 | W4 | R5 | 10 (const) | ||
D | 1 | 1 | W4 | R5 | 10 (const) | ||
E | 1 | 1 | W4 | R5 | 10 (const) | ||
H | 1 | 1 | W4 | R5 | 10 (const) |
Item (i) | Planning Period (tm) | Customer Order Size (qu) |
---|---|---|
A | 4 | 100 |
F | 4 | 150 |
Symbol | Description |
---|---|
Indices | |
I | Set of products (i,j–product index i,j ∈ I) |
O | Set of operations (o–operation index o ∈ O) |
Tm | Set of planning periods (tm–planning period index tm ∈ Tm) |
Parameters | |
tpi | Time required to produce product i or deliver it from an external supplier |
wspi,j | Quantity of product j needed to produce product i, wspi,j = 0 means product j is not directly included in product i |
costw | Cost of using machines w per period tm |
capaw | Production capacity of machines/workstations w per period tm |
costr | Cost of using additional resource r per period tm |
capar | Production capacity of additional resource r in period tm |
tpi,f,o,w,r | Time to prepare the workstation (tpi) |
ti,f,o,w,r | Time to produce one unit |
tzi,f,o,w,r | Time to finish work at the workstation (tzi) |
qui,tm | Order quantity for product i in period tm |
Appendix B. Data Transformation for Graph Generation (Figure 4)—Part of the PT Procedure
References
- Vollmann, T.E.; Berry, W.L.; Whybark, D.C.; Jacobs, F.R. Manufacturing Planning and Control for Supply Chain Management, 5th ed.; McGraw-Hill/Irwin: New York City, NY, USA, 2005. [Google Scholar]
- Ptak, C.A.; Smith, C. Demand Driven MRP: A Practical and Proven Method for Managing the Planning and Execution of Manufacturing and Distribution; Industrial Press: South Norwalk, CT, USA, 2011. [Google Scholar]
- Pinedo, M. Scheduling: Theory, Algorithms, and Systems, 5th ed.; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar] [CrossRef]
- Graves, S.C. Uncertainty and Production Planning. In Planning Production and Inventories in the Extended Enterprise; Kempf, K., Keskinocak, P., Uzsoy, R., Eds.; International Series in Operations Research & Management Science; Springer: New York, NY, USA, 2011; Volume 151. [Google Scholar] [CrossRef]
- Herrmann, J.W. A history of production scheduling. In Handbook of Production Scheduling; Herrmann, J.W., Ed.; Springer: Berlin/Heidelberg, Germany, 2006; pp. 1–22. [Google Scholar] [CrossRef]
- Shukla, O.J.; Soni, G.; Kumar, R.; Ahluwalia, R.S. A Review of Multi Agent-based Production Scheduling in Manufacturing System. Recent Pat. Eng. 2021, 15, 15–32. [Google Scholar] [CrossRef]
- Holsapple, C.W.; Sena, M.P. ERP plans and decision-support benefits. Decis. Support Syst. 2005, 38, 575–590. [Google Scholar] [CrossRef]
- Wang, L.; Zhang, L. Digital twin-driven smart manufacturing: Connotation, reference model, applications and research issues. Robot. Comput.-Integr. Manuf. 2022, 61, 101837. [Google Scholar] [CrossRef]
- Liu, Y.; Zhang, C.; Li, X. Reinforcement learning for dynamic scheduling in Industry 4.0: A survey. Journal of Manufacturing Systems. J. Manuf. Syst. 2023, 66, 260–286. [Google Scholar] [CrossRef]
- Jang, J.; Klabjan, D.; Liu, H.; Patel, N.S.; Li, X.; Ananthanarayanan, B.; Juang, T.H. Scalable Multi-agent Reinforcement Learning for Factory-wide Dynamic Scheduling. arXiv 2024, arXiv:2409.13571. [Google Scholar]
- Lixiang, Z.; Yan, Y.; Yaoguang, H.; Weibo, R. Reinforcement learning and digital twin-based real-time scheduling method in intelligent manufacturing systems. IFAC-PapersOnLine 2022, 55, 359–364. [Google Scholar] [CrossRef]
- Gupta, D.; Maravelias, C.T. On the design of online production scheduling algorithms. Comput. Chem. Eng. 2020, 143, 107–120. [Google Scholar] [CrossRef]
- Zhou, B.; Li, W. A multi-agent reinforcement learning approach for decentralized production scheduling in smart factories. IEEE Trans. Ind. Inform. 2023, 19, 123–134. [Google Scholar]
- AMPL. Available online: https://ampl.com/ (accessed on 28 June 2025).
- Gurobi. Available online: https://www.gurobi.com (accessed on 28 June 2025).
- Shapiro, A.; Dentcheva, D.; Ruszczynski, A. Lectures on Stochastic Programming: Modeling and Theory. In MOS-SIAM Series on Optimization; Society for Industrial and Applied Mathematics: Philadelphia, PA, USA, 2021. [Google Scholar] [CrossRef]
- Oztemel, E.; Gursev, S. Literature review of Industry 4.0 and related technologies. J. Intell. Manuf. 2020, 31, 127–182. [Google Scholar] [CrossRef]
- Bengio, Y.; Lodi, A.; Prouvost, A. Machine learning for combinatorial optimization: A methodological tour d’horizon. European J. Oper. Res. 2021, 290, 405–421. [Google Scholar] [CrossRef]
- Sitek, P.; Wikarek, J. Capacitated vehicle routing problem with pick-up and alternative delivery (CVRPPAD): Model and implementation using hybrid approach. Ann. Oper. Res. 2019, 273, 257–277. [Google Scholar] [CrossRef]
- Wikarek, J.; Sitek, P. Proactive Approach to Personnel Assignment in University Course Timetabling Problem. In Intelligent Information and Database Systems; ACIIDS 2025; Nguyen, N.T., Matsuo, T., Gaol, F.L., Manolopoulos, Y., Fujita, H., Hong, T.-P., Wojtkiewicz, K., Eds.; Springer: Singapore, 2025; Volume 15683. [Google Scholar] [CrossRef]
- Wikarek, J.; Juzoń, Z.; Sitek, P. Optimization of Production Process through TOGAF-Based Audits and Mathematical Programming Models. In Proceedings of the 15th IFAC Workshop on Intelligent Manufacturing Systems, Koszalin, Poland, 11–12 September 2025. [Google Scholar]
Approach | Optimization Guarantee | MRP Integration | Traceability | Computational Cost |
---|---|---|---|---|
Proposed MILP | Optimal/near-optimal | Native | Full | Moderate (with PR) |
Reinforcement Learning | Heuristic | Partial | Limited | High (training) |
Genetic Algorithms | Heuristic | Challenging | Limited | Variable |
Hybrid MILP/Metaheuristics | Heuristic | Partial | Limited | High |
Symbol | Description |
---|---|
Indices | |
T | Set of execution periods (t–execution period index t ∈ T) |
W | Set of machines/workstations (w–machine/workstation index w ∈ W) |
R | Set of additional resources (r–resource index r ∈ R) |
F | Set of variants of equipping machines/workstations with additional resources (f–variant index f ∈ F) |
O | Set of customer orders (o–order index o ∈ O) |
E | Set of tasks to be performed (e–task index e ∈ E) |
U | Set of predicted resource unavailability states (u–state index u ∈ U) |
Parameters | |
pw_ro | Agreed end date of the customer order o. If pw_r0 = 0, the date is arbitrary. |
pw_zo,e | If task e is part of the customer order o, then pw_zo,e = 1; otherwise, pw_zo,e = 0. |
pw_go,e | If task e is the last task in the customer order o, then pw_go,e = 1; otherwise, pw_go,e = 0. |
pt_wf,e,w | If in a variant of equipping f task e can be executed on machine w, then pt_wf,e,w = 1; otherwise, pt_wf,e,w = 0. |
pw_tf,e,w | Number of quanta/time segments required to execute task e on machine w in equipment configuration f. |
pt_gf,e,w,r | Quantity of additional resource r required to execute task e on machine w in equipment configuration f. If pt_gf,e,w,r = 0, then the resource is not needed. |
pw_ke1,e2 | If pw_ke1,e2 = 1, then task e2 must be performed before task e1. If pw_ke1,e2 = 0, then there is no direct sequence relation between tasks e1 and e2. |
pw_me1,e2 | Minimum technological break between the start of task e1 and the end of e2. Valid only if pw_ke1,e2 = 1. |
pw_ce1,e2 | Maximum technological break between the start of task e1 and the end of e2. Valid only if pw_ke1,e2 = 1. |
pw_de1,e2 | If task e1 and e2 must be executed on the same machine, then pw_re1,e2 = 1; otherwise, pw_re1,e2 = 0. |
pt_mr | Available quantity of additional resource r. |
pd_au,w | If in the state of resource unavailability, u machine w is available, then pd_au,w = 1; otherwise, pd_au,w = 0. |
pd_bu,r | Amount by which the availability of additional resource r is reduced in the state of unavailability u? |
Decision variables | |
Xu,f,e,w,t | If in the unavailability state u in period t task e is executed on machine w in equipment configuration f, then Xu,f,e,w,t = 1; otherwise, Xu,f,e,w,t = 0. |
Bu,e | If in the unavailability state u we are unable to perform task e, then Bu,e = 1; otherwise, Bu,e = 0. |
Yu,f,e,w | If in the unavailability state u machine w is in equipment configuration f and executes task e, then Yu,f,e,w = 1; otherwise, Yu,f,ew = 0. |
Su,e | Planning period number in the unavailability state u in which the execution of task e begins. |
Zu,f,e,w,t | If in the unavailability state u the execution of task e on machine w in the equipment configuration f begins in period t, then Zu,f,e,w,t = 1; otherwise, Zu,f,e,w,t = 0 |
Symbol | Description |
---|---|
Parameters | |
cp_ww | Cost of operating machine w per execution period |
cp_rr | Cost of using additional resource r per execution period |
Determined/calculated quantities | |
Cost_1u | Cost of machine use under unavailability state u |
Cost_2u | Cost of additional resource use under unavailability state u |
Cou_1u | Number of periods of work under unavailability state u |
Decision variables | |
Cu,t | If work is carried out under unavailability state u in period t, then Cu,t = 1; otherwise, Cu,t = 0 |
No. | Constraint | Description and Explanation |
---|---|---|
(1) | Task duration constraint | Ensures full execution of each task over the required number of time units on the assigned machine under a given resource availability scenario. Prevents partial or incomplete execution. |
(2) | Task start time definition | Defines the exact start period of a task based on when execution begins. Links the binary variables Z and X. |
(3) | Unique assignment constraint | Ensures each task is assigned to only one machine and one configuration variant. Prevents resource conflicts and maintains task integrity. |
(4) | Feasibility or failure flag | Schedules each (via Z variables) or marks it unfulfilled (B = 1). Allows the model to proceed even if full feasibility is not possible—crucial for what-if and failure analyses. |
(5) | All-or-none task execution per order | Marks an entire customer order as unfulfilled if any of its tasks remain unfulfilled. Reflects real-world dependencies (e.g., missing component = undeliverable product). |
(6) | Start time computation | Calculates the planned start time of each task by linking the binary Z variables with the numeric start period S. |
(7) | Precedence and minimum delay | Enforces technological precedence between tasks with a minimum delay (e.g., curing, cooling). Prevents premature scheduling. |
(8) | Maximum delay constraint | Limits the delay between sequential tasks to avoid issues like spoilage or degradation. Ensures tightly connected operations are not overly delayed. |
(9) | Deadline enforcement | Ensures customer orders (final tasks within them) are completed by specified due dates unless explicitly marked as infeasible (B = 1). |
(10) | Resource capacity constraint | Prevents overuse of additional resources (e.g., labor, tools) based on their availability. Respects realistic capacity ceilings even under failure/unavailability states. |
(11) | Same machine assignment for task groups | Forces selected tasks (e.g., sequential or setup-sensitive ones) to be scheduled on the same machine. Supports process consistency and reduces changeovers. |
(12) | Binary constraints | Forces variables like X, Y, Z, and B to be binary (0 or 1), reflecting yes/no decisions (task scheduled or not, resource used or not, etc.). |
(13) | Machine cost calculation | Computes part of the objective function: total cost of using machines over time. Each active machine unit contributes to the cost. |
(14) | Resource cost calculation | Calculates the cost of using additional resources over time, accounting for their duration and intensity of use. |
(15) | Activation of time periods (lower bound) | Flags a period as active if any task is scheduled in it. Supports total period usage tracking. |
(16) | Activation of time periods (upper bound) | Opposite of (15); ensures that only periods with scheduled tasks are marked as active. Works with (15) to enforce consistent tracking of working time. |
(17) | Total work period count | Tallies all active periods (C variables). Used in time-based objective functions (e.g., makespan minimization). |
(18) | Binary flag for work periods | Forces the C variable to be binary, indicating whether a given period includes any activity. Part of time minimization logic. |
Q | O | No. | T-FIRST (MILP) | T-OPTIM (MILP) | T-FIRST (MILP + PR) | T-OPTIM (MILP + PR) |
---|---|---|---|---|---|---|
Q2 | 2 | 85 | 1.2 | 4.06 | 0.30 | 1.77 |
Q3 | 2 | 85 | 15.87 | 46.67 | 2.30 | 28.93 |
Q2 | 5 | 85 | 34.67 | 67.56 | 4.56 | 15.24 |
Q3 | 5 | 85 | 234.67 | 765.56 | 8.56 | 43.24 |
Q2 | 10 | 85 | 74.26 | 349.45 | 5.63 | 62.63 |
Q3 | 10 | 85 | 1587.34 | 3287.11 | 67.34 | 456.34 |
Q2 | 20 | 150 | 142.34 | 1245.76 | 12.45 | 234.47 |
Q3 | 20 | 150 | 403,426 | >5000.00 | 76.45 | 1884.45 |
Q2 | 50 | 150 | 434.21 | 7834.56 | 15.34 | 345.67 |
Q3 | 50 | 150 | 6372.45 | >7500.00 | 143.45 | 2186.56 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Wikarek, J.; Sitek, P. Proactive Scheduling and Routing of MRP-Based Production with Constrained Resources. Appl. Sci. 2025, 15, 8522. https://doi.org/10.3390/app15158522
Wikarek J, Sitek P. Proactive Scheduling and Routing of MRP-Based Production with Constrained Resources. Applied Sciences. 2025; 15(15):8522. https://doi.org/10.3390/app15158522
Chicago/Turabian StyleWikarek, Jarosław, and Paweł Sitek. 2025. "Proactive Scheduling and Routing of MRP-Based Production with Constrained Resources" Applied Sciences 15, no. 15: 8522. https://doi.org/10.3390/app15158522
APA StyleWikarek, J., & Sitek, P. (2025). Proactive Scheduling and Routing of MRP-Based Production with Constrained Resources. Applied Sciences, 15(15), 8522. https://doi.org/10.3390/app15158522