FJSPLib
The flexible jobshop scheduling problem benchmark library
The FJSPLib is a benchmark of flexible jobshop problems with their best known solutions to date. Problems come from a variety of publications (all referenced). The best solutions known to date (upper bound and lower bound) are provided with the corresponding publication or engine that attained it.
The data and source code for the optimization models can be found in the Github repository This document is visible as a README.md in the Github folder flexible jobshop or as a webpage
Table of Contents
Overview of the flexible jobshop benchmark library
Flexible jobshop instances (332)
- 10 instances
mkfrom Brandimarte 1993 - 4 x 66 instances
edatardatasdataandvdatafrom Hurink, Jurisch and Thole 1994 - 18 instances
#afrom Dauzère-Pérès and Paulli 1994 - 3 x 7 instances
mtsetb4andseti5from Chambers and Barnes 1996 - 4 instances
kacemfrom Kacem, Hammadi and Borne 2002 - 20 instances
fattahifrom Fattahi, Mehrabad and Jolai 2007 - 60 instances
behnkefrom Behnke and Geiger 2012
The Hurinkm Jurisch and Thole instances are classic jobshop problems modified into flexible jobshops
Classification of the flexible jobshop instances
We use the following engines as references for the benchmark
- IBM ILOG CP Optimizer : representative of the CP-scheduling family of engines
- Google CP-SAT : representative of the lazy clause generation family of engines
- OptalCP : representative of the lazy clause generation family of engines
We have dropped Cplex from the flexible jobshop tests due to poor performance of linear solvers as reported by multiple authors in the literature and confirmed by ourselves.
Instances are divided into
- easy : solved to optimality (with proof) in 1 minute by at least 1 reference engine
- medium : solved to optimality (with proof) in 1 hour by at least 1 reference engine
- hard : solved to optimality (with proof) in > 1h by at least 1 reference engine
- closed : allegedly solved to optimality. Most of the time the optimal solution is known because 2 different methods independently found equal upper and lower bounds. The problem moves to
hardonly when the optimality proof can be reproduced by a reference engine. - open : no proof of optimality
Currently the instances divide as follows
mk: 7 easy, 2 medium, 1 openedata: 57 easy, 3 medium, 4 hard, 2 openrdata: 43 easy, 5 medium, 6 closed, 12 openvdata: 47 easy, 8 medium, 1 hard, 9 closed, 1 open#a: 3 easy, 1 medium, 14 openmt: 7 easysetb4: 7 easyseti5: 7 easykacem: 4 easyfattahi: 20 easybehnke: 15 easy, 12 medium, 33 open
Formats
The flexible jobshop format is a variant of the standard jobshop format.
First some terminology
- a job is a sequence of operations done on an object
- each operation has multiple options (also called modes)
- in the case of the flexible jobshop a machine and a duration
Hence in a flexible jobshop file
- each line represents a *job
- the first number of the line is the number of operations in the job
- then for each operation is given the number of options and as many pairs machine duration as there are options
#jobs #machines average_flexibility
#operations (#options (duration machine) (duration machine)) (#options (duration machine))
For instance fattahi1 is
2 2 2
2 2 1 25 2 37 2 1 32 2 24
2 2 1 45 2 65 2 1 21 2 65
meaning
- (2 jobs) (2 machines) (average flexibility 2.0)
- (2 operations) (2 options : (1,25) (2,37)) (2 options : (1,32) (2,24))
- (2 operations) (2 options : (1,45) (2,65)) (2 options : (1,21) (2,65))
Publications (instances)
The instances come from the following publications
-
Brandimarte, P (1993). Routing and scheduling in a flexible job shop by tabu search. Annals of Operations research, 41(3), 157-183.
-
Hurink, J., Jurisch, B., & Thole, M. (1994). Tabu search for the job-shop scheduling problem with multi-purpose machines. Operations-Research-Spektrum, 15(4), 205-215.
-
Dauzère-Pérès, S., & Paulli, J. (1994). Solving the general multiprocessor job-shop scheduling problem.
-
Chambers, J. B., & Barnes, J. W. (1996). Flexible job shop scheduling by tabu search. The University of Texas, Austin, TX, Technical Report Series ORP96-09, Graduate Program in Operations Research and Industrial Engineering.
-
Kacem, I., Hammadi, S., & Borne, P. (2002). Pareto-optimality approach for flexible job-shop scheduling problems: hybridization of evolutionary algorithms and fuzzy logic. Mathematics and computers in simulation, 60(3-5), 245-276.
-
Fattahi, P., Saidi Mehrabad, M., & Jolai, F. (2007). Mathematical modeling and heuristic approaches to flexible job shop scheduling problems. Journal of intelligent manufacturing, 18(3), 331-342.
-
Behnke, D., & Geiger, M. J. (2012). Test instances for the flexible job shop scheduling problem with work centers Technical report, Helmut-Schmidt-Universität, Lehrstuhl für Betriebswirtschaftslehre, insbes. Logistik-Management, RR 12-01-01.
Flexible jobshop benchmark
The flexible jobshop benchmark problems have been collected from the literature from 1993 to 2012. Some are modified versions of JSPLIB jobshop problems, but some instances come from industrial problems. On this page we keep track of the best known solutions (BKS) and classify the instances based on difficulty.
An instance is considered
easyif it is solved to optimality by a reference engine in < 1 minutemediumif it is solved to optimality by a reference engine in < 1hhardif it is solved to optimality by a reference engine in > 1hclosedif the combination of upper and lower bounds found in the literature allows concluding the value of the optimal solution is knownopenotherwise
For each instance we indicate the publication or engine that reaches that bound (lower or upper). When reporting the results:
- we give priority to engines over publications because of reproductibility of the results
- we give priority to the fastest engine to attain the bound
- when an engine attains a bound previously reported in the literature, we attribute the bound to the engine and remove the correponding paper from the list of relevant references
Other databases keep instead the first publication or method to have achieved that bound for historical reference. This work instead is meant for engine and algorithm developers to have means of reproducing the claimed results for comparison.
Best known solutions
If you visualize the markdown in Visual Studio Code you will have colors !
Brandimarte (1993)
| Instance | Size | Problem | LB | UB | Type | Solved by |
|---|---|---|---|---|---|---|
| mk01 | 10 x 6 | fjsp | 40 | 40 | easy | OptalCP < 1 min |
| mk02 | 10 x 6 | fjsp | 26 | 26 | easy | OptalCP < 1 min |
| mk03 | 15 x 8 | fjsp | 204 | 204 | easy | OptalCP < 1 min |
| mk04 | 15 x 8 | fjsp | 60 | 60 | easy | OptalCP < 1 min |
| mk05 | 15 x 4 | fjsp | 172 | 172 | easy | OptalCP < 1 min |
| mk06 | 10 x 15 | fjsp | 57 | 57 | medium | OptalCP < 1h |
| mk07 | 20 x 5 | fjsp | 139 | 139 | medium | OptalCP < 1h |
| mk08 | 20 x 10 | fjsp | 523 | 523 | easy | OptalCP < 1 min |
| mk09 | 20 x 10 | fjsp | 307 | 307 | easy | OptalCP < 1 min |
| mk10 | 20 x 15 | fjsp | 189 | 193 | open | Quintiq / Quintiq |
| mk11 | 30 x 5 | fjsp | 608 | 612 | open | OptalCP |
| mk12 | 30 x 10 | fjsp | 508 | 508 | easy | OptalCP < 1 min |
| mk13 | 30 x 10 | fjsp | 353 | 391 | open | CPO / OptalCP |
| mk14 | 30 x 15 | fjsp | 694 | 694 | easy | OptalCP < 1 min |
| mk15 | 30 x 15 | fjsp | 333 | 333 | hard | OptalCP in 2h |
Instances mk11 to mk15 are present in the supplementary material of Test Instances for the Flexible Job Shop Scheduling Problem with Work Centers but absent of other problem repositories
Hurink, Jurisch and Thole (1994)
The problems in this benchmark are modified versions of the corresponding jobshop problems. They are divided into
- sdata : each operation can be assigned to a single machine (jobshop)
- edata : a few operations can be assigned to many machines
- rdata : most operations can be assigned to a few machines
- vdata : all operation can be assigned to many machines
| Instance | Size | sdata | edata | rdata | vdata | Solved by |
|---|---|---|---|---|---|---|
| abz5 | 10 x 10 | 1234 | 1167 | 954 | 859 | OptalCP |
| abz6 | 10 x 10 | 943 | 925 | 807 | 742 | OptalCP |
| abz7 | 20 x 15 | 656 | 604 / 610 | 497 / 522 | 492 | OptalCP, CPO2013 / Quintiq, CdGKGC2025 / DLLSXG2019, Quintiq / Quintiq |
| abz8 | 20 x 15 | 667 | 625 / 636 | 509 / 535 | 506 / 507 | OptalCP, CPO2013 / Quintiq, CdGKGC2025 / DLLSXG2019, OptalCP / Quintiq |
| abz9 | 20 x 15 | 678 | 644 | 517 / 536 | 497 | OptalCP, CPO2013 / CPO2013, CPO2013 / Quintiq, OptalCP / Quintiq |
| Instance | Size | sdata | edata | rdata | vdata | Solved by |
|---|---|---|---|---|---|---|
| car1 | 11 x 5 | 7038 | 6176 | 5034 | 5005 | OptalCP, OptalCP / Quintiq |
| car2 | 13 x 4 | 7166 | 6327 | 5985 | 5929 | OptalCP |
| car3 | 12 x 5 | 7312 | 6856 | 5622 | 5597 | OptalCP, Quintiq / Quintiq |
| car4 | 14 x 4 | 8003 | 7789 | 6514 | 6514 | OptalCP |
| car5 | 10 x 6 | 7702 | 7229 | 5615 | 4909 | OptalCP, OptalCP / CdGKGC2025 |
| car6 | 8 x 9 | 8313 | 7990 | 6147 | 5486 | OptalCP |
| car7 | 7 x 7 | 6558 | 6123 | 4425 | 4281 | OptalCP |
| car8 | 8 x 8 | 8264 | 7689 | 5692 | 4613 | OptalCP |
| Instance | Size | sdata | edata | rdata | vdata | Solved by |
|---|---|---|---|---|---|---|
| la01 | 10 x 5 | 666 | 609 | 570 | 570 | OptalCP |
| la02 | 10 x 5 | 655 | 655 | 529 | 529 | OptalCP |
| la03 | 10 x 5 | 597 | 550 | 477 | 477 | OptalCP |
| la04 | 10 x 5 | 590 | 568 | 502 | 502 | OptalCP |
| la05 | 10 x 5 | 593 | 503 | 457 | 457 | OptalCP |
| la06 | 15 x 5 | 926 | 833 | 799 | 799 | OptalCP |
| la07 | 15 x 5 | 890 | 762 | 749 | 749 | OptalCP |
| la08 | 15 x 5 | 863 | 845 | 765 | 765 | OptalCP |
| la09 | 15 x 5 | 951 | 878 | 853 | 853 | OptalCP |
| la10 | 15 x 5 | 958 | 866 | 804 | 804 | OptalCP |
| la11 | 20 x 5 | 1222 | 1103 | 1071 | 1071 | OptalCP |
| la12 | 20 x 5 | 1039 | 960 | 936 | 936 | OptalCP |
| la13 | 20 x 5 | 1150 | 1053 | 1038 | 1038 | OptalCP |
| la14 | 20 x 5 | 1292 | 1123 | 1070 | 1070 | OptalCP |
| la15 | 20 x 5 | 1207 | 1111 | 1089 | 1089 | OptalCP |
| la16 | 10 x 10 | 945 | 892 | 717 | 717 | OptalCP |
| la17 | 10 x 10 | 784 | 707 | 646 | 646 | OptalCP |
| la18 | 10 x 10 | 848 | 842 | 666 | 663 | OptalCP |
| la19 | 10 x 10 | 842 | 796 | 700 | 617 | OptalCP |
| la20 | 10 x 10 | 902 | 857 | 756 | 756 | OptalCP |
| la21 | 15 x 10 | 1046 | 1009 | 809 / 825 | 800 | OptalCP, CdGKGC2025 / Quintiq |
| la22 | 15 x 10 | 927 | 880 | 745 / 753 | 733 | OptalCP, CdGKGC2025 / DLLSXG2019, OptalCP / CPO2013 |
| la23 | 15 x 10 | 1032 | 950 | 820 / 831 | 809 | OptalCP, CdGKGC2025 / DLLSXG2019, OptalCP / Quintiq |
| la24 | 15 x 10 | 935 | 908 | 780 / 795 | 773 | OptalCP, CdGKGC2025 / DLLSXG2019, OptalCP / Quintiq |
| la25 | 15 x 10 | 977 | 936 | 771 / 779 | 751 | OptalCP, CdGKGC2025 / DLLSXG2019, OptalCP / Quintiq |
| la26 | 20 x 10 | 1218 | 1106 | 1056 / 1057 | 1052 | OptalCP, MG2000 / Quintiq |
| la27 | 20 x 10 | 1235 | 1181 | 1085 | 1084 | OptalCP, MG2000 / Quintiq |
| la28 | 20 x 10 | 1216 | 1142 | 1075 / 1076 | 1069 | OptalCP, CPO2013, MG2000 / Quintiq |
| la29 | 20 x 10 | 1152 | 1107 | 993 / 994 | 993 | OptalCP, CPO2013, OptalCP / Quintiq, OptalCP / Quintiq |
| la30 | 20 x 10 | 1355 | 1188 | 1068 / 1071 | 1068 | OptalCP, CPO2013, OptalCP / Quintiq, OptalCP / Quintiq |
| la31 | 30 x 10 | 1784 | 1532 | 1520 | 1520 | OptalCP |
| la32 | 30 x 10 | 1850 | 1698 | 1657 | 1657 | OptalCP, OptalCP / Quintiq, OptalCP / Quintiq |
| la33 | 30 x 10 | 1719 | 1547 | 1497 | 1497 | OptalCP, OptalCP / Quintiq, OptalCP / MG2000 |
| la34 | 30 x 10 | 1721 | 1599 | 1535 | 1535 | OptalCP, OptalCP / Quintiq, |
| la35 | 30 x 10 | 1888 | 1736 | 1549 | 1549 | OptalCP, OptalCP / Quintiq |
| la36 | 15 x 15 | 1268 | 1160 | 1023 | 948 | OptalCP |
| la37 | 15 x 15 | 1397 | 1397 | 1062 | 986 | OptalCP |
| la38 | 15 x 15 | 1196 | 1141 | 954 | 943 | OptalCP |
| la39 | 15 x 15 | 1233 | 1184 | 1011 | 922 | OptalCP |
| la40 | 15 x 15 | 1222 | 1144 | 955 | 955 | OptalCP |
| Instance | Size | sdata | edata | rdata | vdata | Solved by |
|---|---|---|---|---|---|---|
| ft06 | 6 x 6 | 55 | 55 | 47 | 47 | OptalCP |
| ft10 | 10 x 10 | 930 | 871 | 686 | 655 | OptalCP |
| ft20 | 20 x 5 | 1165 | 1088 | 1022 | 1022 | OptalCP |
| Instance | Size | sdata | edata | rdata | vdata | Solved by |
|---|---|---|---|---|---|---|
| orb1 | 10 x 10 | 1059 | 977 | 746 | 695 | OptalCP |
| orb2 | 10 x 10 | 888 | 865 | 696 | 620 | OptalCP |
| orb3 | 10 x 10 | 1005 | 951 | 712 | 648 | OptalCP |
| orb4 | 10 x 10 | 1005 | 984 | 753 | 753 | OptalCP |
| orb5 | 10 x 10 | 887 | 842 | 639 | 584 | OptalCP |
| orb6 | 10 x 10 | 1010 | 958 | 754 | 715 | OptalCP |
| orb7 | 10 x 10 | 397 | 389 | 302 | 275 | OptalCP |
| orb8 | 10 x 10 | 899 | 894 | 639 | 573 | OptalCP |
| orb9 | 10 x 10 | 934 | 933 | 694 | 659 | OptalCP |
| orb10 | 10 x 10 | 944 | 933 | 742 | 681 | OptalCP |
Dauzère-Pérès and Paulli (1994)
| Instance | Size | Problem | LB | UB | Type | Solved by |
|---|---|---|---|---|---|---|
| 01a | 10 x 5 | fjsp | 2505 | 2505 | easy | OptalCP < 1 min |
| 02a | 10 x 5 | fjsp | 2228 | 2228 | easy | OptalCP < 1 min |
| 03a | 10 x 5 | fjsp | 2228 | 2228 | easy | OptalCP < 1 min |
| 04a | 10 x 5 | fjsp | 2503 | 2503 | easy | OptalCP < 1 min |
| 05a | 10 x 5 | fjsp | 2195 | 2199 | open | lb CdGKGC2025 / ub CdGKGC2025 |
| 06a | 10 x 5 | fjsp | 2164 | 2169 | open | lb CdGKGC2025 / ub CdGKGC2025 |
| 07a | 15 x 8 | fjsp | 2216 | 2254 | open | lb CPO2013 / ub DLLSXG2019 |
| 08a | 15 x 8 | fjsp | 2061 | 2061 | closed | lb HHHL2010 / ub Quintiq |
| 09a | 15 x 8 | fjsp | 2061 | 2061 | medium | OptalCP < 1h |
| 10a | 15 x 8 | fjsp | 2212 | 2241 | open | lb CPO2013 / ub Quintiq |
| 11a | 15 x 8 | fjsp | 2019 | 2037 | open | lb CdGKGC2025 / ub Quintiq |
| 12a | 15 x 8 | fjsp | 1969 | 1984 | open | lb OptalCP / ub Quintiq |
| 13a | 20 x 10 | fjsp | 2206 | 2236 | open | lb CdGKGC2025 / ub DLLSXG2019 |
| 14a | 20 x 10 | fjsp | 2161 | 2161 | closed | lb HHHL2010 / ub Quintiq |
| 15a | 20 x 10 | fjsp | 2161 | 2161 | closed | lb HHHL2010 / ub Quintiq |
| 16a | 20 x 10 | fjsp | 2202 | 2231 | open | lb CdGKGC2025 / ub Quintiq |
| 17a | 20 x 10 | fjsp | 2089 | 2105 | open | lb CdGKGC2025 / ub Quintiq |
| 18a | 20 x 10 | fjsp | 2057 | 2070 | open | lb OptalCP / ub Quintiq |
Chambers and Barnes (1996)
| Instance | Size | Problem | LB | UB | Type | Solved by |
|---|---|---|---|---|---|---|
| mt10c1 | 10 x 11 | fjsp | 927 | 927 | easy | OptalCP < 1 min |
| mt10cc | 10 x 12 | fjsp | 908 | 908 | easy | OptalCP < 1 min |
| mt10x | 10 x 11 | fjsp | 918 | 918 | easy | OptalCP < 1 min |
| mt10xx | 10 x 12 | fjsp | 918 | 918 | easy | OptalCP < 1 min |
| mt10xxx | 10 x 13 | fjsp | 918 | 918 | easy | OptalCP < 1 min |
| mt10xy | 10 x 12 | fjsp | 905 | 905 | easy | OptalCP < 1 min |
| mt10xyz | 10 x 13 | fjsp | 847 | 847 | easy | OptalCP < 1 min |
| mtb4c9 | 15 x 11 | fjsp | 914 | 914 | easy | OptalCP < 1 min |
| setb4cc | 15 x 12 | fjsp | 907 | 907 | easy | OptalCP < 1 min |
| setb4x | 15 x 11 | fjsp | 925 | 925 | easy | OptalCP < 1 min |
| setb4xx | 15 x 12 | fjsp | 925 | 925 | easy | OptalCP < 1 min |
| setb4xxx | 15 x 13 | fjsp | 925 | 925 | easy | OptalCP < 1 min |
| setb4xy | 15 x 12 | fjsp | 910 | 910 | easy | OptalCP < 1 min |
| setb4xyz | 15 x 13 | fjsp | 902 | 902 | easy | OptalCP < 1 min |
| seti5c12 | 15 x 16 | fjsp | 1169 | 1169 | easy | OptalCP < 1 min |
| seti5cc | 15 x 17 | fjsp | 1135 | 1135 | easy | OptalCP < 1 min |
| seti5x | 15 x 16 | fjsp | 1198 | 1198 | easy | OptalCP < 1 min |
| seti5xx | 15 x 17 | fjsp | 1194 | 1194 | easy | OptalCP < 1 min |
| seti5xxx | 15 x 18 | fjsp | 1194 | 1194 | easy | OptalCP < 1 min |
| seti5xy | 15 x 17 | fjsp | 1135 | 1135 | easy | OptalCP < 1 min |
| seti5xyz | 15 x 18 | fjsp | 1125 | 1125 | easy | OptalCP < 1 min |
Kacem, Hammadi and Borne (2002)
| Instance | Size | Problem | LB | UB | Type | Solved by |
|---|---|---|---|---|---|---|
| kacem1 | 4 x 6 | fjsp | 11 | 11 | easy | OptalCP < 1 min |
| kacem2 | 10 x 7 | fjsp | 11 | 11 | easy | OptalCP < 1 min |
| kacem3 | 10 x 10 | fjsp | 7 | 7 | easy | OptalCP < 1 min |
| kacem4 | 15 x 10 | fjsp | 11 | 11 | easy | OptalCP < 1 min |
Fattahi, Mehrabad and Jolai (2007)
| Instance | Size | Problem | LB | UB | Type | Solved by |
|---|---|---|---|---|---|---|
| fattahi1 | 2 x 2 | fjsp | 66 | 66 | easy | OptalCP < 1 min |
| fattahi2 | 2 x 2 | fjsp | 107 | 107 | easy | OptalCP < 1 min |
| fattahi3 | 3 x 2 | fjsp | 221 | 221 | easy | OptalCP < 1 min |
| fattahi4 | 3 x 2 | fjsp | 355 | 355 | easy | OptalCP < 1 min |
| fattahi5 | 3 x 2 | fjsp | 119 | 119 | easy | OptalCP < 1 min |
| fattahi6 | 3 x 2 | fjsp | 320 | 320 | easy | OptalCP < 1 min |
| fattahi7 | 3 x 5 | fjsp | 397 | 397 | easy | OptalCP < 1 min |
| fattahi8 | 3 x 4 | fjsp | 253 | 253 | easy | OptalCP < 1 min |
| fattahi9 | 3 x 3 | fjsp | 210 | 210 | easy | OptalCP < 1 min |
| fattahi10 | 4 x 5 | fjsp | 516 | 516 | easy | OptalCP < 1 min |
| fattahi11 | 5 x 6 | fjsp | 468 | 468 | easy | OptalCP < 1 min |
| fattahi12 | 5 x 7 | fjsp | 446 | 446 | easy | OptalCP < 1 min |
| fattahi13 | 6 x 7 | fjsp | 466 | 466 | easy | OptalCP < 1 min |
| fattahi14 | 7 x 7 | fjsp | 554 | 554 | easy | OptalCP < 1 min |
| fattahi15 | 7 x 7 | fjsp | 514 | 514 | easy | OptalCP < 1 min |
| fattahi16 | 8 x 7 | fjsp | 634 | 634 | easy | OptalCP < 1 min |
| fattahi17 | 8 x 7 | fjsp | 879 | 879 | easy | OptalCP < 1 min |
| fattahi18 | 9 x 8 | fjsp | 884 | 884 | easy | OptalCP < 1 min |
| fattahi19 | 11 x 8 | fjsp | 1055 | 1055 | easy | OptalCP < 1 min |
| fattahi20 | 12 x 8 | fjsp | 1196 | 1196 | easy | OptalCP < 1 min |
Behnke and Geiger (2012)
| Instance | Size | Problem | LB | UB | Type | Solved by |
|---|---|---|---|---|---|---|
| behnke1 | 10 x 20 | fjsp | 90 | 90 | easy | OptalCP < 1 min |
| behnke2 | 10 x 20 | fjsp | 91 | 91 | easy | OptalCP < 1 min |
| behnke3 | 10 x 20 | fjsp | 91 | 91 | easy | OptalCP < 1 min |
| behnke4 | 10 x 20 | fjsp | 97 | 97 | easy | OptalCP < 1 min |
| behnke5 | 10 x 20 | fjsp | 91 | 91 | easy | OptalCP < 1 min |
| behnke6 | 20 x 20 | fjsp | 125 | 125 | medium | OptalCP < 1h |
| behnke7 | 20 x 20 | fjsp | 89 | 124 | open | OptalCP |
| behnke8 | 20 x 20 | fjsp | 123 | 123 | medium | OptalCP < 1h |
| behnke9 | 20 x 20 | fjsp | 125 | 125 | medium | OptalCP < 1h |
| behnke10 | 20 x 20 | fjsp | 127 | 127 | medium | OptalCP < 1h |
| behnke11 | 50 x 20 | fjsp | 163 | 228 | open | OptalCP |
| behnke12 | 50 x 20 | fjsp | 157 | 219 | open | OptalCP |
| behnke13 | 50 x 20 | fjsp | 160 | 229 | open | OptalCP |
| behnke14 | 50 x 20 | fjsp | 164 | 230 | open | OptalCP |
| behnke15 | 50 x 20 | fjsp | 159 | 228 | open | OptalCP |
| behnke16 | 100 x 20 | fjsp | 327 | 412 | open | OptalCP |
| behnke17 | 100 x 20 | fjsp | 320 | 401 | open | OptalCP |
| behnke18 | 100 x 20 | fjsp | 321 | 396 | open | OptalCP |
| behnke19 | 100 x 20 | fjsp | 323 | 400 | open | OptalCP |
| behnke20 | 100 x 20 | fjsp | 322 | 398 | open | OptalCP |
| behnke21 | 10 x 40 | fjsp | 85 | 85 | easy | OptalCP < 1 min |
| behnke22 | 10 x 40 | fjsp | 87 | 87 | easy | OptalCP < 1 min |
| behnke23 | 10 x 40 | fjsp | 85 | 85 | easy | OptalCP < 1 min |
| behnke24 | 10 x 40 | fjsp | 87 | 87 | easy | OptalCP < 1 min |
| behnke25 | 10 x 40 | fjsp | 87 | 87 | easy | OptalCP < 1 min |
| behnke26 | 20 x 40 | fjsp | 113 | 113 | medium | OptalCP < 1h |
| behnke27 | 20 x 40 | fjsp | 122 | 122 | medium | OptalCP < 1h |
| behnke28 | 20 x 40 | fjsp | 114 | 114 | medium | OptalCP < 1h |
| behnke29 | 20 x 40 | fjsp | 76 | 117 | open | OptalCP |
| behnke30 | 20 x 40 | fjsp | 120 | 120 | medium | OptalCP < 1h |
| behnke31 | 50 x 40 | fjsp | 85 | 226 | open | OptalCP |
| behnke32 | 50 x 40 | fjsp | 79 | 224 | open | OptalCP |
| behnke33 | 50 x 40 | fjsp | 80 | 224 | open | OptalCP |
| behnke34 | 50 x 40 | fjsp | 80 | 223 | open | OptalCP |
| behnke35 | 50 x 40 | fjsp | 82 | 214 | open | OptalCP |
| behnke36 | 100 x 40 | fjsp | 152 | 388 | open | OptalCP |
| behnke37 | 100 x 40 | fjsp | 153 | 391 | open | OptalCP |
| behnke38 | 100 x 40 | fjsp | 151 | 389 | open | OptalCP |
| behnke39 | 100 x 40 | fjsp | 153 | 389 | open | OptalCP |
| behnke40 | 100 x 40 | fjsp | 156 | 419 | open | OptalCP |
| behnke41 | 10 x 60 | fjsp | 87 | 87 | easy | OptalCP < 1 min |
| behnke42 | 10 x 60 | fjsp | 87 | 87 | easy | OptalCP < 1 min |
| behnke43 | 10 x 60 | fjsp | 86 | 86 | easy | OptalCP < 1 min |
| behnke44 | 10 x 60 | fjsp | 84 | 84 | easy | OptalCP < 1 min |
| behnke45 | 10 x 60 | fjsp | 87 | 87 | easy | OptalCP < 1 min |
| behnke46 | 20 x 60 | fjsp | 114 | 114 | medium | OptalCP < 1h |
| behnke47 | 20 x 60 | fjsp | 117 | 117 | medium | OptalCP < 1h |
| behnke48 | 20 x 60 | fjsp | 78 | 125 | open | OptalCP |
| behnke49 | 20 x 60 | fjsp | 113 | 113 | medium | OptalCP < 1h |
| behnke50 | 20 x 60 | fjsp | 123 | 123 | medium | OptalCP < 1h |
| behnke51 | 50 x 60 | fjsp | 77 | 218 | open | OptalCP |
| behnke52 | 50 x 60 | fjsp | 81 | 212 | open | OptalCP |
| behnke53 | 50 x 60 | fjsp | 76 | 215 | open | OptalCP |
| behnke54 | 50 x 60 | fjsp | 81 | 223 | open | OptalCP |
| behnke55 | 50 x 60 | fjsp | 79 | 223 | open | OptalCP |
| behnke56 | 100 x 60 | fjsp | 99 | 390 | open | OptalCP |
| behnke57 | 100 x 60 | fjsp | 99 | 390 | open | OptalCP |
| behnke58 | 100 x 60 | fjsp | 100 | 397 | open | OptalCP |
| behnke59 | 100 x 60 | fjsp | 99 | 398 | open | OptalCP |
| behnke60 | 100 x 60 | fjsp | 101 | 402 | open | OptalCP |
Publications (best known solutions)
The upper and lower bounds come from
-
MG2000 (4 bounds in la) : M. Mastrolilli, L. Gambardella, Effective neighbourhood functions for the flexible job shop problem, Journal of Scheduling 3 (2000) 3–20
-
Quintiq (37 bounds in mk, #a, abz, car and la) : Quintiq http://www.quintiq.com/optimization/fjssp-world-records.html (2013) - this site doesn’t exist anymore
-
CPO2013 (11 bounds in #a, abz and la) : Jean-François Puget Solving flexible job shop scheduling problems (cp optimizer 12.6) https://www.ibm.com/developerworks/community/blogs/jfp/entry/solving_flexible_job_shop_scheduling_problems?lang=en (2013) - this site doesn’t exist anymore
-
HHHL2010 (3 bounds in #a) : A. B. Hmida, M. Haouari, M.-J. Huguet, P. Lopez, Discrepancy search for the flexible job shop scheduling problem, Computers & Operations Research 37 (12) (2010) 2192–2201
-
DLLSXG2019 (8 bonds in #a, abz, car and la ) : J. Ding, Z. Lu, C.-M. Li, L. Shen, L. Xu, F. Glover (2019) A two-individual based evolutionary algorithm for the flexible job shop scheduling problem, in: Proceedings of the AAAI Conference on Artificial Intelligence, Vol. 33, 2019, pp. 2262–2271
-
CdGKGC2025 (16 bounds in #a, abz, car and la) : Marc-Emmanuel Coupvent des Graviers, Lotfi Kobrosly, Christophe Guettier, and Tristan Cazenave (2025). Updating Lower and Upper Bounds for the Job-Shop Scheduling Problem Test Instances CoRR abs/2504.16106
All other bounds were found with OptalCP