Skip to main content
Log in

An improved decision support model for scheduling production in an engineer-to-order manufacturer

  • Research Paper
  • Published:
4OR Aims and scope Submit manuscript

Abstract

This paper outlines a mathematical model to solve a scheduling problem for a company engineering and producing propellers to order. Nonås and Olsen (Comput Oper Res 32(9):2351–2382, 2005) have previously introduced a Mixed Integer Programming model for this production setting with the objective of minimizing the total tardiness. The mathematical model could however not be used to solve realistic sized problem instances, because of the very large solution time. We propose a new time indexed formulation that can solve most industrial problem instances in less than 10 min. This work is further extended by taking into account limited storage capacity and by proposing different methods to balance between total tardiness and maximum tardiness. We illustrate how the solution time and the criteria change for different setups of the mathematical model and suggest which setup to use for different scenarios. The paper also discusses how the new model can be extended to include unexpected events such as emergency orders and unavailable production equipment.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Artigues C (2017) On the strength of time-indexed formulations for the resource-constrained project scheduling problem. Oper Res Lett 45(2):154–159

    Article  Google Scholar 

  • Ballestín F, Mallor F, Mateo PM (2012) Production scheduling in a market-driven foundry: a mathematical programming approach versus a project scheduling metaheuristic algorithm. Optim Eng 13:663–687

    Google Scholar 

  • Bigras L-P, Gamache M, Savard G (2008) Time-indexed formulations and the total weighted tardiness problem. INFORMS J Comput 20(1):133–142

    Article  Google Scholar 

  • Boland N, Clement R, Waterer H (2016) A bucket indexed formulation for nonpreemptive single machine scheduling problems. INFORMS J Comput 28(1):14–30

    Article  Google Scholar 

  • Chen Z-L, Powell WB (1999a) A column generation based decomposition algorithm for a parallel machine just-in-time scheduling problem. Eur J Oper Res 116(1):220–232

    Article  Google Scholar 

  • Chen Z-L, Powell WB (1999b) Solving parallel machine scheduling problems by column generation. INFORMS J Comput 11(1):78–94

    Article  Google Scholar 

  • Dauzère-Pérès S (1995) Minimizing late jobs in the general one machine scheduling problem. Eur J Oper Res 81(1):134–142

    Article  Google Scholar 

  • Deghdak K, T’kindt V, Bouquard J-L (2016) Scheduling evacuation operations. J Sched 19(4):467–478

    Article  Google Scholar 

  • Detienne B, Dauzere-Péres S, Yugma C (2011) Scheduling jobs on parallel machines to minimize a regular step total cost function. J Sched 14(6):523–538

    Article  Google Scholar 

  • Dyer ME, Wolsey LA (1990) Formulating the single machine sequencing problem with release dates as a mixed integer program. Discret Appl Math 26(2–3):255–270

    Article  Google Scholar 

  • Gauri SK (2009) Modeling product-mix planning for batches of melt under multiple objectives in a small scale iron foundry. Prod Eng Res Devel 3(2):189–196

    Article  Google Scholar 

  • Hans E, van de Velde S (2011) The lot sizing and scheduling of sand casting operations. Int J Prod Res 49(9):2481–2499

    Article  Google Scholar 

  • Ku W-Y, Beck JC (2016) Mixed integer programming models for job shop scheduling: a computational analysis. Comput Oper Res 73:165–173

    Article  Google Scholar 

  • Manne AS (1960) On the job-shop scheduling problem. Oper Res 8(2):219–223

    Article  Google Scholar 

  • Matibevic G, Majdandzic N, Lovrc T (2008) Production scheduling model in aluminium foundry. Strojniški vestnik - J Mech Eng 54(1):37–48

    Google Scholar 

  • Nonås SL, Olsen KA (2005) Optimal and heuristic solutions for a scheduling problem arising in a foundry. Comput Oper Res 32(9):2351–2382

    Article  Google Scholar 

  • Obeid A, Dauzère-Pérès S, Yugma C (2014) Scheduling job families on non-identical parallel machines with time constraints. Ann Oper Res 213(1):221–234

    Article  Google Scholar 

  • Pan Y, Liang Z (2017) Dual relaxations of the time-indexed ILP formulation for min-sum scheduling problems. Ann Oper Res 249(1–2):197–213

    Article  Google Scholar 

  • Queyranne M, Schulz AS (1994) Polyhedral approaches to machine scheduling. TU Berlin, Preprint, p 408

  • Samà M, D’Ariano A, D’Ariano P, Pacciarelli D (2017) Scheduling models for optimal aircraft traffic control at busy airports: Tardiness, priorities, equity and violation considerations. Omega 67:81–98

    Article  Google Scholar 

  • Sousa JP, Wolsey LA (1992) A time indexed formulation of non-preemptive single machine scheduling problems. Math Program 54(1):353–367

    Article  Google Scholar 

  • Teixeira RF, Fernandes FCF, Pereira NA (2010) Binary integer programming formulations for scheduling in market-driven foundries. Comput Ind Eng 59(3):425–435

    Article  Google Scholar 

  • van den Akker J, Hurkens CA, Savelsbergh MW (2000) Time-indexed formulations for machine scheduling problems: column generation. INFORMS J Comput 12(2):111–124

    Article  Google Scholar 

  • van den Akker JM, Hoogeveen JA, van de Velde SL (1999) Parallel machine scheduling by column generation. Oper Res 47(6):862–872

    Article  Google Scholar 

  • Velez S, Dong Y, Maravelias CT (2017) Changeover formulations for discrete-time mixed-integer programming scheduling models. Eur J Oper Res 260(3):949–963

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stéphane Dauzère-Pérès.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A

Tables 18, 19 and 20 specify the individual solution times for Set 1 (without and with \(c_i \ge DD_i-3\)) and Set 2. The instance number and the problem size are given in the first three columns. An instance not solved to optimality within the time limit of 2500 s is indicated by “TL”. If CPLEX returns a non-optimal solution for an instance within the time limit of 2500 s, this is also indicated by “TL”. The notation \(\lceil 1.5T \rceil \) means that 1.5T is rounded up to the closest integer. Both the new and old models are solved using AMPL (IBM ILOG CPLEX 12.9).

Table 18 Individual solution times for Set 1, for the new and old models
Table 19 Individual solution times for Set 1, for the new model, \(c_i \ge DD_i-3\)
Table 20 Individual solution times for Set 2, for the new and old models

Tables 21, 22 and 23 present the total tardiness (\(\sum t_i\)) and the maximum tardiness (\(t_{max}\)) for the different extensions of the new time indexed formulation. “TL” indicates that optimality is not proved within the time limit of 2500 s. \(t_i\) and \(t_{max}\) are marked with end, respectively mm, if an optimal solution is found within the time limit by including the valid inequality (end), respectively (mm). The notation \(\lceil 1.5T \rceil \) means that 1.5T is rounded up to the closest integer.

Table 21 Individual solution values for Set 1
Table 22 Individual solution values for Set 1, with limits on storage capacity, \(c_i \) \(\ge \) \(DD_i-3\)
Table 23 Individual solution values for Set 2

Table 24 presents the individual solutions for Set 1 for the new mathematical model with Extension 2 (\(k=1\) and \(k=2\)) and an upper bound on the tardiness. The first columns show the instance number and problem size, and the next two columns the individual solutions when Extension 2 (\(k=1\)) is extended with upper bounds on the tardiness (\(t_i \le 1.5 T\) and \(t_i \le 2 T\)). The two last columns present the individual solutions for Extension 2 (\(k=2\)) with and without upper bounds on the tardiness. The columns \(``new''\) indicate the computational times for the new mathematical model. “TL” indicates that optimality is not proved within the time limit of 2500 s.

Table 24 Individual solutions for Set 1, Extension 2: Upper bounds on \(t_i\) and different weights on \(t_{max}\)

Table 25 presents the total tardiness and the maximum tardiness obtained when the maximum tardiness is minimized for each instance in Set 1, without and with limited storage capacity (\(c_i \le DD_i-3\)). The column new and old represent the solution times. Again, “TL” indicates that optimality is not proved within the time limit of 2500 s.

Table 25 Individual solutions for Set 1, when solving for T

Table 26 shows the solutions and the solution times first for Set 2, Extension 2 (k=1) with upper bounds on \(t_i\), and then for Extension 2 (k=2) with and without upper bounds on \(t_i\), \(t_i \le \lceil 1.5T\rceil \), \(i=1, \ldots , N\), using the new formulation. For Extension 2 (k=2), with and without upper bounds on \(t_i\), Column “mm” refers to the solution time for the new time indexed formulation when the valid inequality (mm) is added.

Table 26 Individual solutions for Set 2, Extension 2 (k=1, k=2) with and without upper bounds on \(t_i\), and without and with the valid inequality (mm)

Table 27 shows the value of T and the solution times in seconds used to find T for each instance in Set 2 using both the new and the old formulations.

Table 27 Individual solutions for Set 2

Table 28 reports, for each instance in Set 1, how much the total tardiness and the maximum tardiness increase when the basic mathematical model is extended to include limited storage capacity (\(c_i \ge DD_i - 3\)). The results are reported for the Basic case and the four extensions.

Table 28 Changes in the solution values, Set1. The mathematical model extended with \(c_i \ge DD_i-3, \forall i\)

Appendix B

Tables 29 and 30 provide an overview of the production capacity and production requirements (in days) of the instances in Sets 1 and 2. The first column shows the problem size. Then, the second column gives the number of empty days in the production schedule (using Extension 1, \(k=1.5\)), followed by the estimates (in days) of the production capacity requirements for each box type. The last columns show the average estimated capacity requirement and the smallest and largest estimated capacity requirements. The estimated number of production days required for box type b is calculated based on the box type combination \(abc = (2, 0.9, 1, 0.7, 0.4)\), which is the average of all the box type combinations in Table 2. For a given problem instance, the estimated capacity for box type b is equal to the total demand for box type b divided by abc[b].

Table 29 Set 1: Days with no production (Extension 1, \(k=1.5\)), and estimates of necessary capacity for each box type
Table 30 Set 2: Days with no production (Extension 1, \(k=1.5\)), and estimates of necessary capacity for each box type

Tables 31 and 32 present, for each problem instance in both sets, the minimum and maximum order sizes (number of propeller blades) for each box type.

Table 31 For each instance in Set 1, minimum and maximum order sizes for each box type
Table 32 For each instance in Set 2, minimum and maximum order sizes for each box type

Tables 33 and 35 present the parameters and the completion dates for respectively instance 3 in Set 1 and instance 12 in Set 2 (using Extension 1, \(k=1.5\)). Table 33 also presents the completion dates for (Extension 1, \(k=1.5\), \(c_i<=DD_i-3\)). Tables 34 and 36 provide the schedule for instance 3 in Set 1 and for instance 12 in Set 2 (using Extension 1, \(k=1.5\)). For each day d we present which box combination to use, which jobs to produced and the unused box capacity for day d.

Table 33 Instance 3, Set 1: Parameters and output data for each job i (Extension 1, k=1.5 and Extension 1, k=1.5, \(c_i\le DD_i\)-3)
Table 34 Set 1, Instance 3 ( Extension 1, k=1.5): For each day, we present which box combination to use, which jobs to produce, and the unused capacity of each box type
Table 35 Set 2, Instance 12: Parameters and output data for each job i ( Extension 1, k=1.5)
Table 36 Set 2, Instance 12 ( Extension 1 k=1.5): For each day, we present which box combination to use, which jobs to produce, and the unused capacity of each box type

Appendix C

Tables 37, 38 and 39 specify the individual solution times for Set 1 (without and with \(c_i \ge DD_i -3\)) and Set 2 (without \(c_i \ge DD_i -3\)), for the new time indexed formulation when the different valid inequalities are added to the Basic case and the extensions to the Basic case.

Tables 37, 38 and 39 give for, each problem instance, the average solution time for the Basic case and for each of the extensions to the Basic case, when the valid inequalities (end), (box) and (mm) are added. An instance not solved to optimality within the time limit of 2500 s is indicated by “TL”. When Extension 3 returns a non optimal solution within the time limit of 2500 s, this is also indicated by “TL”. The notation \(\lceil 1.5T \rceil \) means that 1.5T is rounded up to the closest integer.

Table 37 Individual solution times for Set 1, when the valid inequalities are added to the Basic case and its extensions
Table 38 Individual solution times for Set 1, when the valid inequalities are added to the Basic case and its extensions, \(c_i \ge DD_i-3, \; \forall i\)
Table 39 Individual solution times for Set 2, when the valid inequalities are added to the Basic case and its extensions

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Dauzère-Pérès, S., Nonås, S.L. An improved decision support model for scheduling production in an engineer-to-order manufacturer. 4OR-Q J Oper Res 21, 247–300 (2023). https://doi.org/10.1007/s10288-022-00508-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10288-022-00508-2

Keywords

Mathematics Subject Classification

Navigation