1 Introduction
2 Literature review
2.1 Heuristic selection methodologies
2.2 Heuristic generation methodologies
2.2.1 Summary
Search space | References | Model | Objectives | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Makespan | Tardiness | Earliness | Lateness | Flow time | Tardy jobs | Costs | Waiting time | Waiting jobs | Setup time | |||
Heuristic selection |
Dorndorf and Pesch (1995) | SOO | x | |||||||||
Vázquez-Rodíguez and Petrovic (2010) | MOO | x | x | x | x | |||||||
Hart and Ross (1998) | \(SOO^{1}\) | x | x | x | x | |||||||
Norenkov and Goodma (1998) | SOO | x | ||||||||||
Vazquez et al. (2007) | SOO | x | ||||||||||
Rodríguez et al. (2007) | \(SOO^{1}\) | x | x | x | x | x | x | |||||
Ochoa et al. (2009) | \(SOO^{1}\) | x | x | |||||||||
Yu et al. (2020) | MOO | x | x | |||||||||
Lin et al. (2017) | SOO | x | ||||||||||
Song and Lin (2021) | SOO | x | ||||||||||
Heuristic generation |
Dimopoulos and Zalzala (2001) | SOO | x | |||||||||
Geiger et al. (2006) | \(SOO^{1}\) | x | x | x | ||||||||
Abednego and Hendratmo (2011) | MOO | x | x | |||||||||
Jakobović et al. (2007) | \(SOO^{1}\) | x | x | x | x | |||||||
Masood et al. (2017) | MOO | x | x | |||||||||
Ho and Tay (2005) | SOO | x | ||||||||||
Tay and Ho (2008) | MOO | x | x | x | ||||||||
Pickardt et al. (2013) | \(SOO^{1}\) | x | x | |||||||||
Park et al. (2018) | SOO | x | ||||||||||
Zhou and Yang (2019) | MOO | x | x | |||||||||
Zhou et al. (2020) | \(SOO^{1}\) | x | x |
2.3 Literature gap
Search space nature | References | Method | ||
---|---|---|---|---|
a priori | a posteriori | Interactive | ||
Heuristic selection |
Vázquez-Rodíguez and Petrovic (2010) | x | ||
methodologies |
Yu et al. (2020) | x | x | |
Heuristic generation |
Tay and Ho (2008) | x | ||
methodologies |
Abednego and Hendratmo (2011) | x | ||
Masood et al. (2017) | x | |||
Zhou and Yang (2019) | x |
3 Theoretical background
3.1 Multi-objective optimization
3.1.1 Dominance and efficiency
3.1.2 Solving multi-objective optimization models
3.1.3 Achievement scalarizing functions
3.2 HH in production scheduling
3.2.1 GP-based evolving of dispatching rules
3.2.2 Encoding of individuals
3.2.3 Reproduction operators
4 Problem formulation
-
Preemption of operations is not allowed. (Once an operation has been started, it cannot be interrupted by another operation until its processing has completely been finished.)
-
Each machine can only execute one operation at a time.
-
All machines are continuously available and ready for operation whenever they become idle.
-
The due date of each job is binding and predefined.
-
The order of each job’s operations is predefined and invariant.
4.1 Model notation
-
Indices:
-
– i: Index of jobs, \(i=1,\ldots ,n\)
-
– j: Index of operations, \(j=1,\ldots ,m\)
-
– g: Index of machines, \(g=1,\ldots ,\ell \).
-
-
Parameters:
-
– \(p_{ij}\): Processing time of operation j of job i, for \(i = 1,\ldots ,n\), \(j = 1,\ldots ,m\)
-
– \(r_i\): Release date of job i, for \(i = 1,\ldots ,n\)
-
– \(d_i\): Due date of job i, for \(i = 1,\ldots ,n\).
-
-
Variables:
-
– \(c_i\): Completion time of job i, for \(i = 1,\ldots ,n\)
-
– \(s_{ij}\): Starting time of operation j of job i, for \(i = 1,\ldots ,n, j = 1,\ldots ,m\)
-
– \(t_i\): Tardiness of job i, for \(i = 1,\ldots ,n\)
-
– \(w_i\): Waiting time of job i, for \(i = 1,\ldots ,n\).
-
4.2 Performance measures
5 Framework
5.1 Interactive MO-GP-HH procedure
5.2 GP-HH-based dispatching rule generator
5.3 Simulation-based fitness evaluation
6 Experimental design
6.1 Test instance
Parameter | Training/Testing |
---|---|
#Instances | 10 (training) / 10 (testing) |
#Machines | 15 |
#Jobs | 20 |
#Operations per job | 15 |
Processing time | Discrete uniform [1,99] |
Tightness factor | 1.3 |
Type | Terminal | Description |
---|---|---|
Job | PT | Processing time of an operation |
RPT | Remaining processing time of a job | |
RNO | Remaining number of uncompleted operations of a job | |
DD | Due date of a job | |
Work | SPTQ | Sum of processing time of operations of waiting jobs |
center | APTQ | Average processing time of operations of waiting jobs |
MAXPTQ | Maximum processing time of operations of waiting jobs | |
MINPTQ | Maximum processing time of operations of waiting jobs | |
MAXDDQ | Maximum due date of waiting jobs in the queue | |
NJQ | Number of waiting jobs in the queue | |
Global | SPT | Sum of the processing time of all waiting jobs in the problem |
TRNO | Total remaining number of uncompleted operations in the problem | |
CT | Current time |
6.2 Terminal set
6.3 Function set
Function | Description | Arity | Example |
---|---|---|---|
ADD | Addition | 2 | ADD\((3,2)=5\) |
SUB | Subtraction | 2 | SUB\((3,2)=1\) |
MUL | Multiplication | 2 | MUL\((3,2)=6\) |
DIV | Protected division (DIV\((a,b)=1,\) if \(b=0\)) | 2 | DIV\((3,2)=\frac{3}{2}=1.5\) |
MAX | Maximum | 2 | MAX\((3,2)=3\) |
MIN | Minimum | 2 | MIN\((3,2)=2\) |
IFTE | Ternary operator | 3 | IFTE\((3,6,2)=6\) |
6.4 Fitness function
6.5 Parameter setting
Parameter | Value |
---|---|
Generations | 50 |
Population size | 200 |
Initial population | Ramped half-and-half (depth 2–6) |
Selection | Tournament selection (size 5) |
Crossover probability | 90% |
Maximum depth for crossover | 17 |
Mutation probability | 10% |
Maximum depth for individuals generated for mutation | 7 |
7 Experimental results
7.1 Initialization phase
7.2 Exploration phase
7.2.1 Adding aspiration level to avoid undesirable regions of the objective space
7.2.2 Intensification for exploring promising areas
7.3 Decision phase
Dispatching rule | Prefix notation | Description |
---|---|---|
EDD | DD | Earliest Due Date |
Select the job with the earliest due date | ||
This rule is known to be useful for reducing the tardiness | ||
MTWR | \(-RPT\) | Most Total Work Remaining |
Select the job with the most remaining processing time | ||
This rule is known to be useful for reducing the makespan | ||
MDD | \(\max ((CT+PT), DD)\) | Modified Due Date |
Select the job in decreasing order of its MDD | ||
This rule aims to minimize the total tardiness | ||
Solution #37 | see Fig. 12 | Final solution of the interactive MO-GP-HH procedure |
Represents the DM’s preferences | ||
This rule aims to find a “good” compromise solution |
7.4 Test performance and comparison
7.5 Evaluation of the terminal set
Full set | Reduced set | |
---|---|---|
Hyper-volume | 1.740e+10 | 1.748e+10 |