Problem name and type, features | Difficulty | Related examples |
D‑1 | Wagon load balancing: Nonpreemptive scheduling on parallel machines | **** | |
| heuristic solution requiring sorting algorithm, formulation of maximin objective; nested subroutines: function returning heuristic solution value and sorting procedure, ceil, getsize, if-then, break, exit, all loop types (forall-do, repeat-until, while-do), setparam, qsort, cutoff value, loading a MIP start solution |
D‑2 | Barge loading: Knapsack problem | ** | burglar1.mos, knapsack_graph.mos |
| incremental problem definition with 3 different objectives, procedure for solution printing |
D‑3 | Tank loading: Loading problem | *** | |
| 2 objectives; data preprocessing, as, dynamic creation of variables, procedure for solution printing, if-then-else |
D‑4 | Backing up files: Bin-packing problem | ** | binpacking_graph.mos |
| 2 versions of mathematical model, symmetry breaking; data preprocessing, ceil, range |
D‑5 | Cutting sheet metal: Covering problem | * | g6transmit.mos, j2bigbro.mos |
| |
D‑6 | Cutting steel bars for desk legs: Cutting-stock problem | ** | cutstock_graph.mos |
| set operation(s) on range sets, set of integer (data as set contents) |
Further explanation of this example:
'Applications of optimization with Xpress-MP', Chapter 9: Loading and cutting stock problems