Introduction
Literature review
The car sequencing problem
The color batching problem
The paint shop problem for words
Verification of assumptions for theoretical problems
-
the periodic cleaning interval is 3,
-
the production plan assumes painting 3 cars to gray and 2 cars to red.
The car sequencing problem 4.0
-
The color of the car located on the loading shuttle described as cIn (1).
-
The color of the car located on the buffer input, described as cNext (2).
-
The color of all cars located in the buffer (3).
-
The colors of all cars that left the buffer, the last car which left the buffer is described as cOut (4).
Problem formulation
-
\(V = \left\{ {v_{1} , \ldots ,v_{N} } \right\}\)—set of vehicles to be produced,
-
\(C = \left\{ {c_{1} , \ldots ,c_{D} } \right\}\)—set of available colors and function c: V → C, that associates color ci to each vehicle vi,
-
NRowBuff, NColBuff—buffer size defined by number of buffer rows and number of buffer columns,
-
NPerClean—periodic cleaning interval.
Quality indices
-
Number of Changeovers (NCs): defines the number of color changes excluding the changes occurring during periodic cleaning.where: N—number of vehicles to be produced, \({isCC}_{n,n+1}=\left\{\begin{array}{c}0,c\left({v}_{n}\right)=c\left({v}_{n+1}\right)\\ 1,else\end{array}\right.\)—the variable determining whether there is a color change between the next two cars, \(c\left({v}_{n}\right)\)—the color of n-th vehicle.$$NCs=\sum_{\begin{array}{c}1\le n\le N-1\\ n mod NPerClean\ne 0\end{array}}{isCC}_{n,n+1}$$(1)
-
Effectiveness of Synchronization (ES): determines the total number of color changes occurring between two subsequences in relation to the number of all color changes.$$ES=\frac{{\sum }_{\begin{array}{c}1\le n\le N-1\\ n mod NPerClean=0\end{array}}{isCC}_{n,n+1}}{\left[\frac{N-1}{NPerClean}\right]}\times 100\%$$(2)
Hierarchical optimization
Game theory approach
BSAG-BOSG concept
Buffer slot assignment game (BSAG)
-
the set of players: P(BSAG) = {vI, vII} (vI – vehicle located on the loading conveyor, vII—vehicle located on the buffer input),
-
the set of available strategies: S = {s1, s2, s3, s4, s5} (transport lines),
-
the payoff function \({F}^{V\left(BSAG\right)}({s}_{i},cX)\) is defined as a weighted objective function (3), where:$$cX=\left\{\begin{array}{c}cIn\\ cNext\end{array} \begin{array}{c}for\; player {V}_{I}\\ for \;player {V}_{II}\end{array}.\right.$$
-
NPP—the number cars determined by the production plan,
-
NPP(cX)—the number of cars in the color cX determined by the production plan,
-
NP(cX)—number of produced cars in the color cX,
-
NB(cX)—the number of cars in the color cX located in the buffer,
Buffer-OutShuttle game (BOSG)
-
the set of players: P(BOSG) = {B, OS}, where B—buffer, OS—unloading shuttle,
-
the set of available strategies: S = {s1, s2, s3, s4, s5} (transport lines),
-
the payoff function for player I is determined by the \({F}^{B\left(BOSG\right)}\left({s}_{i},cIn,cNext\right)\) function and the payoff function for player II is determined by the \({F}^{OS\left(BOSG\right)}\left({s}_{i},cX\right)\) function.
IOSG concept
-
the set of players: P(IOSG) = {IS, OS}, where IS—input shuttle, OS—output shuttle,
-
the set of available strategies: S = {s1, s2, s3, s4, s5} (transport lines),
-
the payoff function for player IS is determined by the \({F}^{IS\left(IOSG\right)}\left({s}_{i},cIn,cNext\right)\) function and the payoff function for player OS is determined by the \({F}^{OS\left(IOSG\right)}\left({s}_{i},cX\right)\) function.
mIOSG concept
-
the set of players: P(mIOSG) = {IS, OS}, where IS—input shuttle, OS—output shuttle,
-
the set of available strategies: S = {s1, s2, s3, s4, s5} (transport lines),
-
the payoff function for player IS is determined by the \({F}^{IS\left(mIOSG\right)}\left({s}_{i},cIn,cNext\right)\) function and the payoff function for player OS is determined by the \({F}^{OS\left(mIOSG\right)}\left({s}_{i},cX\right)\) function.
Implementation of game theory-based algorithms
-
vI for the BSAG game,
-
OS for the BOSG game,
-
IS for the IOSG and mIOSG games played at the input of the buffer,
-
OS for the IOSG and mIOSG games played at the buffer output,
-
vII for the BSAG game,
-
B for the BOSG game,
-
OS for the IOSG and mIOSG games played at the input of the buffer,
-
IS for the IOSG and mIOSG games played at the buffer output,
Case study
Instance | Production plan | Initial buffer state | Production state |
---|---|---|---|
V = {v1,.., v150} C = {c1,.., c6} NRowBuff = 5 NColBuff = 5 NPerClean = 7 | NPP(blue) = 56 NPP(orange) = 21 NPP(red) = 12 NPP(green) = 17 NPP(black) = 25 NPP(yellow) = 19 | NB(blue) = 5 NB(orange) = 1 NB(red) = 6 NB(green) = 2 NB(black) = 0 NB(yellow) = 0 | cIn = cOut = blue cNext = red NP(blue) = 1, so only one car body was painted |
vII | |||||
vI | − 0.13; − 0.05 | − 0.13; 0.62 | − 0.13; 0.16 | − 0.13; 0.45 | − 0.13; 0.51 |
0.38; − 0.05 | 0.38; 0.13 | 0.38; 0.16 | 0.38; 0.45 | 0.38; 0.51 | |
0.37; − 0.05 | 0.37; 0.62 | 0.37; 0.11 | 0.37; 0.45 | 0.37; 0.51 | |
0.85; − 0.05 | 0.85; 0.62 | 0.85; 0.16 | 0.85; 0.21 | 0.85; 0.51 | |
0.35; − 0.05 | 0.35; 0.62 | 0.35; 0.16 | 0.35; 0.45 | 0.35; 0.09 |
OS | |||||
B | 0.33; 0.38 | 0.48; 0.1 | 0.48; 0 | 0.48; 0.43 | 0.48; 0.38 |
0.26; 0.38 | 0.18; 0.1 | 0.26; 0 | 0.26; 0.43 | 0.26; 0.38 | |
0.28; 0.38 | 0.28; 0.1 | 0.17; 0 | 0.28; 0.43 | 0.28; 0.38 | |
0.17; 0.38 | 0.17; 0.1 | 0.17; 0 | 0; 0.43 | 0.17; 0.38 | |
0.26; 0.38 | 0.26; 0.1 | 0.26; 0 | 0.26; 0.43 | 0.18; 0.38 |
Computational experiments and results
-
V = {v1, …, v100},
-
C = {c1, …, c6},
-
NRowBuff = 5, NColBuff = 5,
-
NPerClean = 7.
Experimental setup
-
weights for \({F}^{V\left(BSAG\right)}\left({s}_{i},cX\right)\) function:
-
\({w}_{LOcc}^{V\left(BSAG\right)}=\mathrm{0.2},\)
-
\({w}_{CDiv}^{V\left(BSAG\right)}=\mathrm{0.1},\)
-
\({w}_{LPrio}^{V\left(BSAG\right)}=\mathrm{0.1},\)
-
\({w}_{BL}^{V\left(BSAG\right)}=\mathrm{0.4},\)
-
\({w}_{LBC}^{V\left(BSAG\right)}=\mathrm{0.2};\)
-
-
weights for \({F}^{B\left(BOSG\right)}\left({s}_{i},cIn,cNext\right)\) function:
-
\({w}_{LOcc}^{B\left(BOSG\right)}=\mathrm{0.35},\)
-
\({w}_{CDiv}^{B(BOSG)}=\mathrm{0.15},\)
-
\({w}_{LPrio}^{B(BOSG)}=\mathrm{0.1},\)
-
\({w}_{FSCcIn}^{B\left(BOSG\right)}=\mathrm{0.25},\)
-
\({w}_{FSCcNext}^{B\left(BOSG\right)}=\mathrm{0.15};\)
-
-
weights for \({F}^{OS\left(BOSG\right)}\left({s}_{i},cX\right)\) function:
-
\({w}_{CComp}^{OS\left(BOSG\right)}=\mathrm{0.35},\)
-
\({w}_{ISComp}^{OS\left(BOSG\right)}=\mathrm{0.15},\)
-
\({w}_{CCPerClean}^{OS\left(BOSG\right)}=\mathrm{0.35},\)
-
\({w}_{CCompUnCol}^{OS(BOSG)}=\mathrm{0.15}.\)
-
-
weights for \({F}^{IS\left(IOSG\right)}\left({s}_{i},cIn,cNext\right)\) function:
-
\({w}_{LOcc}^{IS\left(IOSG\right)}=\mathrm{0.2},\)
-
\({w}_{CDiv}^{IS\left(IOSG\right)}=\mathrm{0.1},\)
-
\({w}_{LPrio}^{IS\left(IOSG\right)}=\mathrm{0.1},\)
-
\({w}_{FSCcIn}^{IS(IOSG)}=\mathrm{0.4},\)
-
\({w}_{{w}_{FSCcNext}}^{IS(IOSG)}=\mathrm{0.2};\)
-
-
weights for \({F}^{OS\left(IOSG\right)}\left({s}_{i},cX\right)\) function:
-
\({w}_{CComp}^{OS\left(IOSG\right)}=\mathrm{0.35},\)
-
\({w}_{ISComp}^{OS\left(IOSG\right)}=\mathrm{0.15},\)
-
\({w}_{CCPerClean}^{OS\left(IOSG\right)}=\mathrm{0.35}\),
-
\({w}_{CCompUnCol}^{OS(IOSG)}=\mathrm{0.15}.\)
-
-
weights for \({F}^{IS(mIOSG)}\left({s}_{i},cIn,cNext\right)\) function:
-
\({w}_{LOcc}^{IS(mIOSG)}=\mathrm{0.2},\)
-
\({w}_{CDiv}^{IS(mIOSG)}=\mathrm{0.1},\)
-
\({w}_{LPrio}^{IS(mIOSG)}=\mathrm{0.1},\)
-
\({w}_{FSCcIn}^{IS(mIOSG)}=\mathrm{0.4},\)
-
\({w}_{FSCcNext}^{IS(mIOSG)}=\mathrm{0.2};\)
-
-
weights for \({F}^{OS(IOSG)}\left({s}_{i},cX\right)\) function:
-
\({w}_{CComp}^{OS\left(mIOSG\right)}=\mathrm{0.3},\)
-
\({w}_{ISComp}^{OS\left(mIOSG\right)}=\mathrm{0.1},\)
-
\({w}_{CCPerClean}^{OS(mIOSG)}=\mathrm{0.3},\)
-
\({w}_{CCompUnCol}^{OS(mIOSG)}=\mathrm{0.1},\)
-
\({w}_{CDiv}^{OS\left(mIOSG\right)}=\mathrm{0.1},\)
-
\({w}_{LPrio}^{OS(mIOSG)}=\mathrm{0.1}.\)
-
Evaluation of solutions
Dataset No | NCs | ||
---|---|---|---|
BSAG-BOSG | IOSG | mIOSG | |
Data_01 | 16 | 22 | 17 |
Data_02 | 15 | 37 | 20 |
Data_03 | 14 | 18 | 25 |
Data_04 | 21 | 25 | 24 |
Data_05 | 15 | 27 | 18 |
Dataset No | ES | ||
---|---|---|---|
BSAG-BOSG (%) | IOSG (%) | mIOSG (%) | |
Data_01 | 71 | 79 | 71 |
Data_02 | 71 | 86 | 86 |
Data_03 | 79 | 79 | 86 |
Data_04 | 86 | 79 | 50 |
Data_05 | 64 | 64 | 79 |
Dataset No | NCs | ||
---|---|---|---|
BSAG-BOSG | IOSG | mIOSG | |
Data_01* | 149 | 153 | 169 |
Data_02* | 165 | 156 | 160 |
Data_03* | 168 | 164 | 168 |
Data_04* | 171 | 165 | 154 |
Data_05* | 174 | 175 | 164 |
Dataset No | ES | ||
---|---|---|---|
BSAG-BOSG (%) | IOSG (%) | mIOSG (%) | |
Data_01* | 73 | 71 | 71 |
Data_02* | 75 | 75 | 70 |
Data_03* | 75 | 73 | 76 |
Data_04* | 67 | 73 | 71 |
Data_05* | 70 | 70 | 65 |
Evaluation of Nash equilibrium
Dataset No | BSAG-BOSG | IOSG | mIOSG | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
BSAG | BOSG | |||||||||||
1-RN (%) | N-RN (%) | 0-RN (%) | 1-RN (%) | N-RN (%) | 0-RN (%) | 1-RN (%) | N-RN (%) | 0-RN (%) | 1-RN (%) | N-RN (%) | 0-RN (%) | |
Data_01 | 92 | 8 | 0 | 49 | 46 | 5 | 70 | 30 | 0 | 88 | 11 | 2 |
Data_02 | 93 | 7 | 0 | 69 | 28 | 2 | 45 | 55 | 0 | 78 | 21 | 2 |
Data_03 | 89 | 11 | 0 | 59 | 38 | 3 | 63 | 35 | 2 | 78 | 21 | 1 |
Data_04 | 88 | 12 | 0 | 59 | 37 | 4 | 71 | 29 | 0 | 75 | 25 | 1 |
Data_05 | 90 | 10 | 0 | 58 | 38 | 4 | 50 | 50 | 1 | 76 | 23 | 1 |
Dataset No | BSAG-BOSG | IOSG | mIOSG | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
BSAG | BOSG | |||||||||||
1-RN (%) | N-RN (%) | 0-RN (%) | 1-RN (%) | N-RN (%) | 0-RN (%) | 1-RN (%) | N-RN (%) | 0-RN (%) | 1-RN (%) | N-RN (%) | 0-RN (%) | |
Data_01* | 96 | 4 | 0 | 56 | 39 | 39 | 5 | 68 | 0 | 83 | 17 | 1 |
Data_02* | 97 | 4 | 0 | 56 | 37 | 37 | 7 | 67 | 0 | 83 | 17 | 0 |
Data_03* | 98 | 2 | 0 | 56 | 37 | 37 | 7 | 67 | 0 | 82 | 17 | 1 |
Data_04* | 93 | 7 | 0 | 54 | 40 | 40 | 6 | 64 | 0 | 82 | 17 | 1 |
Data_05* | 90 | 10 | 0 | 55 | 38 | 38 | 7 | 65 | 0 | 82 | 17 | 1 |