| Literature DB >> 34141895 |
Nayeli Jazmin Escamilla Serna1, Juan Carlos Seck-Tuoh-Mora1, Joselito Medina-Marin1, Norberto Hernandez-Romero1, Irving Barragan-Vite1, Jose Ramon Corona Armenta1.
Abstract
The Flexible Job Shop Scheduling Problem (FJSP) is a combinatorial problem that continues to be studied extensively due to its practical implications in manufacturing systems and emerging new variants, in order to model and optimize more complex situations that reflect the current needs of the industry better. This work presents a new metaheuristic algorithm called the global-local neighborhood search algorithm (GLNSA), in which the neighborhood concepts of a cellular automaton are used, so that a set of leading solutions called smart-cells generates and shares information that helps to optimize instances of the FJSP. The GLNSA algorithm is accompanied by a tabu search that implements a simplified version of the Nopt1 neighborhood defined in Mastrolilli & Gambardella (2000) to complement the optimization task. The experiments carried out show a satisfactory performance of the proposed algorithm, compared with other results published in recent algorithms, using four benchmark sets and 101 test problems.Entities:
Keywords: Cellular automata; Job shop scheduling; Local search; Simplified neighborhood; Tabu search
Year: 2021 PMID: 34141895 PMCID: PMC8176541 DOI: 10.7717/peerj-cs.574
Source DB: PubMed Journal: PeerJ Comput Sci ISSN: 2376-5992
Figure 1The workflow of the GLNSA.
General description of the GLNSA.
| Set the parameters of the GLNSA; |
| Initialize the population of smart-cells with Sn solutions generated at random; |
| Evaluate each smart-cell to obtain its makespan; |
| Select a refined population from the best smart-cells using elitism and tournament; |
| For each smart-cell, generate a neighborhood (using insertion, swapping, and PR operators) and |
| take the best neighbor as a new smart-cell; |
| For each smart-cell, improve the machine assignment by TS; |
| Return the smart-cell with minimum makespan; |
Figure 2Example of a FJSP instance (A), the encoding of a factible solution (B) and the active decoding (C) used by the GLNSA.
Figure 3Exploration neighborhood used by the GLNSA.
Figure 4The insertion operator.
Figure 5The swapping operator.
Figure 6The path relinking operator.
Figure 7Mutation operator in machine strings.
General description of the TS.
| Take a smart-cell as initial solution; |
| Take the operations and their machine assignments from a critical path of the smart-cell; |
| Initialize TS (empty list of operations/machines, iteration number |
| Set |
| Generate new neighborhoods of |
| critical operations; |
| Select the |
| Set |
| Select the oldest tabu neighbor as |
| Continue the TS from this |
| Update the TS list by setting the selected entry operation/machine with the sum of the threshold |
| Return the best |
Figure 8TS applied to the local search process of the GLNSA.
Figure 9Behavior of the makespan with tuned parameters for the la31-vdata instance.
Algorithms used in the experiments and their computational complexity.
| Algorithm | Complexity | Rank |
|---|---|---|
| SLGA | 1 | |
| ePSOGA | 2 | |
| TlPSO | 3 | |
| SSPR | 4 | |
| GLNSA | 5 | |
| IJA | 6 | |
| HA | 7 | |
| TLBO | 7 | |
| VNSGA | 8 | |
| GRASP | 9 |
Experimental results for the Kacem instances.
| Instance | n × m | ePSOGA | GLNSA | GRASP | HA | IJA | SLGA | TLBO | TlPSO | VNSGA | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| K1 | 4 × 5 | 1 | 11 | 11 | − | − | 11 | 11 | 11 | 11 | − |
| K2 | 8 × 8 | 0.81 | − | 14 | 14 | 14 | 14 | 14 | 14 | 14 | 14 |
| K3 | 10 × 7 | 1 | − | 11 | − | − | 11 | 11 | 11 | − | − |
| K4 | 10 × 10 | 1 | 7 | 7 | 7 | 7 | 7 | − | 7 | 7 | 7 |
| K5 | 15 × 10 | 1 | 11 | 11 | 11 | 11 | 11 | − | 13 | − | 11 |
Experimental results for the Brandimarte instances.
| Instance | n × m | BKV | ePSOGA | GLNSA | GRASP | HA | IJA | SLGA | SSPR | TLBO | TlPSO | VNSGA | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MK01 | 10 × 6 | 0.2 | 36 | 40 | 40 | 40 | 40 | 40 | 40 | 40 | 39 | 40 | 40 |
| MK02 | 10 × 6 | 0.35 | 24 | 26 | 26 | 26 | 26 | 27 | 27 | 26 | 27 | 26 | 27 |
| MK03 | 15 × 8 | 0.3 | 204 | 204 | 204 | 204 | 204 | 204 | 204 | 204 | 204 | 204 | 204 |
| MK04 | 15 × 8 | 0.2 | 48 | 60 | 60 | 60 | 60 | 60 | 60 | 60 | 63 | 60 | 60 |
| MK05 | 15 × 4 | 0.15 | 168 | 170 | 173 | 172 | 172 | 172 | 172 | 172 | 172 | 173 | 173 |
| MK06 | 10 × 15 | 0.3 | 33 | 56 | 58 | 64 | 57 | 57 | 69 | 57 | 65 | 60 | 58 |
| MK07 | 20 × 5 | 0.3 | 133 | 139 | 139 | 139 | 139 | 139 | 144 | 139 | 144 | 139 | 144 |
| MK08 | 20 × 10 | 0.15 | 523 | 523 | 523 | 523 | 523 | 523 | 523 | 523 | 523 | 523 | 523 |
| MK09 | 20 × 10 | 0.3 | 299 | 307 | 307 | 307 | 307 | 307 | 320 | 307 | 311 | 307 | 307 |
| MK10 | 20 × 15 | 0.2 | 165 | 196 | 205 | 205 | 197 | 197 | 254 | 196 | 214 | 205 | 198 |
Note:
Best obtained makespan.
Average RPD and Friedman test for Brandimarte instances.
| Algorithm: | ePSOGA | GLNSA | GRASP | HA | IJA | SLGA | SSPR | TLBO | TlPSO | VNSGA | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Average | 10.2679 | 11.0121 | 11.4890 | 10.5289 | 10.8708 | 14.4851 | 10.4862 | 13.4046 | 11.3128 | 11.0597 | 0.0003 |
| Rank: | 1 | 5 | 8 | 3 | 4 | 10 | 2 | 9 | 7 | 6 |
Experimental results for the Hurink-rdata instances.
| Instance | n × m | BKV | ePSOGSA | GLNSA | HA | IJA | SSPR | |
|---|---|---|---|---|---|---|---|---|
| mt06 | 6 × 6 | 0.33 | 47 | – | 47 | 47 | 47 | 47 |
| mt10 | 10 × 10 | 0.2 | 686 | – | 686 | 686 | 686 | 686 |
| mt20 | 20 × 5 | 0.4 | 1,022 | – | 1,022 | 1,024 | 1,024 | 1,022 |
| la01 | 10 × 5 | 0.4 | 570 | 572 | 571 | 570 | 571 | 571 |
| la02 | 10 × 5 | 0.4 | 529 | 529 | 530 | 530 | 530 | 530 |
| la03 | 10 × 5 | 0.4 | 477 | 478 | 477 | 477 | 477 | 477 |
| la04 | 10 × 5 | 0.4 | 502 | 502 | 502 | 502 | 502 | 502 |
| la05 | 10 × 5 | 0.4 | 457 | 457 | 457 | 457 | 457 | 457 |
| la06 | 15 × 5 | 0.4 | 799 | 800 | 799 | 799 | 799 | 799 |
| la07 | 15 × 5 | 0.4 | 749 | 750 | 749 | 749 | 749 | 749 |
| la08 | 15 × 5 | 0.4 | 765 | 765 | 765 | 765 | 765 | 765 |
| la09 | 15 × 5 | 0.4 | 853 | 853 | 853 | 853 | 853 | 853 |
| la10 | 15 × 5 | 0.4 | 804 | 805 | 804 | 804 | 804 | 804 |
| la11 | 20 × 5 | 0.4 | 1,071 | 1,071 | 1,071 | 1,071 | 1,071 | 1,071 |
| la12 | 20 × 5 | 0.4 | 936 | 936 | 936 | 936 | 936 | 936 |
| la13 | 20 × 5 | 0.4 | 1,038 | 1,038 | 1,038 | 1,038 | 1,038 | 1,038 |
| la14 | 20 × 5 | 0.4 | 1,070 | 1,070 | 1,070 | 1,070 | 1,070 | 1,070 |
| la15 | 20 × 5 | 0.4 | 1,089 | 1,090 | 1,089 | 1,090 | 1,090 | 1,089 |
| la16 | 10 × 10 | 0.2 | 717 | – | 717 | 717 | 717 | 717 |
| la17 | 10 × 10 | 0.2 | 646 | – | 646 | 646 | 646 | 646 |
| la18 | 10 × 10 | 0.2 | 666 | – | 666 | 666 | 666 | 666 |
| la19 | 10 × 10 | 0.2 | 647 | – | 700 | 700 | 702 | 700 |
| la20 | 10 × 10 | 0.2 | 756 | – | 756 | 756 | 760 | 756 |
| la21 | 15 × 10 | 0.2 | 808 | – | 852 | 835 | 854 | 830 |
| la22 | 15 × 10 | 0.2 | 737 | – | 774 | 760 | 760 | 756 |
| la23 | 15 × 10 | 0.2 | 816 | – | 854 | 840 | 852 | 835 |
| la24 | 15 × 10 | 0.2 | 775 | – | 826 | 806 | 806 | 802 |
| la25 | 15 × 10 | 0.2 | 752 | – | 803 | 789 | 803 | 784 |
| la26 | 20 × 10 | 0.2 | 1,056 | – | 1,075 | 1,061 | 1,061 | 1,059 |
| la27 | 20 × 10 | 0.2 | 1,085 | – | 1,109 | 1,089 | 1,109 | 1,089 |
| la28 | 20 × 10 | 0.2 | 1,075 | – | 1,096 | 1,079 | 1,081 | 1,078 |
| la29 | 20 × 10 | 0.2 | 993 | – | 1,008 | 997 | 997 | 996 |
| la30 | 20 × 10 | 0.2 | 1068 | – | 1,096 | 1,078 | 1,078 | 1,074 |
| la31 | 30 × 10 | 0.2 | 1520 | – | 1,527 | 1,521 | 1,521 | 1,520 |
| la32 | 30 × 10 | 0.2 | 1,657 | – | 1,667 | 1,659 | 1,659 | 1,658 |
| la33 | 30 × 10 | 0.2 | 1,497 | – | 1,504 | 1,499 | 1,499 | 1,498 |
| la34 | 30 × 10 | 0.2 | 1,535 | – | 1,540 | 1,536 | 1,536 | 1,535 |
| la35 | 30 × 10 | 0.2 | 1,549 | – | 1,555 | 1,550 | 1,555 | 1,550 |
| la36 | 15 × 15 | 0.13 | 1,016 | – | 1,053 | 1,028 | 1,050 | 1,023 |
| la37 | 15 × 15 | 0.13 | 989 | – | 1,093 | 1,074 | 1,092 | 1,069 |
| la38 | 15 × 15 | 0.13 | 943 | – | 999 | 960 | 995 | 961 |
| la39 | 15 × 15 | 0.13 | 966 | – | 1,034 | 1,024 | 1,031 | 1,024 |
| la40 | 15 × 15 | 0.13 | 955 | – | 997 | 970 | 993 | 961 |
Note:
Best obtained makespan.
Average RPD and Friedman test for all the Hurink-rdata instances.
| Algorithm: | GLNSA | HA | IJA | SSPR | |
|---|---|---|---|---|---|
| Average | 1.7768 | 1.0872 | 1.5155 | 0.9566 | 0.000000002 |
| Rank: | 4 | 2 | 3 | 1 |
Average RPD and Friedman test for the Hurink-rdata instances with greater flexibility.
| Algorithm: | ePSOGSA | GLNSA | HA | IJA | SSPR | |
|---|---|---|---|---|---|---|
| Average | 0.0689 | 0.0243 | 0.0187 | 0.0304 | 0.0243 | 0.0339 |
| Rank: | 5 | 2 | 1 | 4 | 3 |
Experimental results for the Hurink-vdata instances.
| Instance | n × m | BKV | GLNSA | HA | IJA | SSPR | |
|---|---|---|---|---|---|---|---|
| mt06 | 6 × 6 | 0.5 | 47 | 47 | 47 | 47 | 47 |
| mt10 | 10 × 10 | 0.5 | 655 | 655 | 655 | 655 | 655 |
| mt20 | 20 × 5 | 0.5 | 1022 | 1022 | 1022 | 1024 | 1022 |
| la01 | 10 × 5 | 0.5 | 570 | 570 | 570 | 571 | 570 |
| la02 | 10 × 5 | 0.5 | 529 | 529 | 529 | 529 | 529 |
| la03 | 10 × 5 | 0.5 | 477 | 477 | 477 | 477 | 477 |
| la04 | 10 × 5 | 0.5 | 502 | 502 | 502 | 502 | 502 |
| la05 | 10 × 5 | 0.5 | 457 | 457 | 457 | 457 | 457 |
| la06 | 15 × 5 | 0.5 | 799 | 799 | 799 | 799 | 799 |
| la07 | 15 × 5 | 0.5 | 749 | 749 | 749 | 749 | 749 |
| la08 | 15 × 5 | 0.5 | 765 | 765 | 765 | 765 | 765 |
| la09 | 15 × 5 | 0.5 | 853 | 853 | 853 | 853 | 853 |
| la10 | 15 × 5 | 0.5 | 804 | 804 | 804 | 804 | 804 |
| la11 | 20 × 5 | 0.5 | 1071 | 1071 | 1071 | 1071 | 1071 |
| la12 | 20 × 5 | 0.5 | 936 | 936 | 936 | 936 | 936 |
| la13 | 20 × 5 | 0.5 | 1038 | 1038 | 1038 | 1038 | 1038 |
| la14 | 20 × 5 | 0.5 | 1070 | 1070 | 1070 | 1070 | 1070 |
| la15 | 20 × 5 | 0.5 | 1089 | 1089 | 1089 | 1089 | 1089 |
| la16 | 10 × 10 | 0.5 | 717 | 717 | 717 | 717 | 717 |
| la17 | 10 × 10 | 0.5 | 646 | 646 | 646 | 646 | 646 |
| la18 | 10 × 10 | 0.5 | 663 | 663 | 663 | 665 | 663 |
| la19 | 10 × 10 | 0.5 | 617 | 617 | 617 | 618 | 617 |
| la20 | 10 × 10 | 0.5 | 756 | 756 | 756 | 758 | 756 |
| la21 | 15 × 10 | 0.5 | 800 | 806 | 804 | 806 | 804 |
| la22 | 15 × 10 | 0.5 | 733 | 737 | 738 | 738 | 738 |
| la23 | 15 × 10 | 0.5 | 809 | 813 | 813 | 813 | 812 |
| la24 | 15 × 10 | 0.5 | 773 | 777 | 777 | 778 | 775 |
| la25 | 15 × 10 | 0.5 | 751 | 754 | 754 | 754 | 754 |
| la26 | 20 × 10 | 0.5 | 1052 | 1054 | 1053 | 1054 | 1053 |
| la27 | 20 × 10 | 0.5 | 1084 | 1085 | 1085 | 1085 | 1084 |
| la28 | 20 × 10 | 0.5 | 1069 | 1070 | 1070 | 1070 | 1069 |
| la29 | 20 × 10 | 0.5 | 993 | 994 | 994 | 994 | 994 |
| la30 | 20 × 10 | 0.5 | 1068 | 1069 | 1069 | 1069 | 1069 |
| la31 | 30 × 10 | 0.5 | 1520 | 1520 | 1520 | 1521 | 1520 |
| la32 | 30 × 10 | 0.5 | 1657 | 1658 | 1658 | 1658 | 1658 |
| la33 | 30 × 10 | 0.5 | 1497 | 1497 | 1497 | 1497 | 1497 |
| la34 | 30 × 10 | 0.5 | 1535 | 1535 | 1535 | 1535 | 1535 |
| la35 | 30 × 10 | 0.5 | 1549 | 1549 | 1549 | 1549 | 1549 |
| la36 | 15 × 15 | 0.5 | 948 | 948 | 948 | 950 | 948 |
| la37 | 15 × 15 | 0.5 | 986 | 986 | 986 | 986 | 986 |
| la38 | 15 × 15 | 0.5 | 943 | 943 | 943 | 943 | 943 |
| la39 | 15 × 15 | 0.5 | 922 | 922 | 922 | 922 | 922 |
| la40 | 15 × 15 | 0.5 | 955 | 955 | 955 | 956 | 955 |
Note:
Best obtained makespan.
Average RPD for the Hurink-rdata instances and Friedman test comparing all the algorithms and the GLNSA with the HA.
| Algorithm: | GLNSA | HA | IJA | SSPR | ||
|---|---|---|---|---|---|---|
| Average | 0.0772 | 0.0724 | 0.1177 | 0.0593 | 0.0000003 | 0.5637 |
| Rank: | 3 | 2 | 4 | 1 |