IBM ILOG Scheduler User's Manual > Advanced Concepts > A Dichotomizing Binary-Search Algorithm: the Job-Shop Problem > Complete Program and Output > Computational Remarks

This program works better than the one in Chapter 15. Here, we solve MT06 in 4 iterations and 4 backtracks, instead of 1 iteration and 78 backtracks. We solve MT10 in 8 iterations and 31011 backtracks. MT20 is solved in 11 iterations and 40 backtracks.

This example shows that combining a goal that finds a good first solution with an efficient dichotomic search may prove to be a good strategy for solving an optimization problem.

Starting from a good solution and using a dichotomic search both help lower the number of iterations. Implementing an efficient heuristic helps to reduce the complexity of each iteration.

We have experimented in this example with three improvements of the first basic version of the job-shop problem.

  1. Starting with a good upper bound for the optimal makespan.
  2. Using a dichotomic search.
  3. Using a better heuristic to guide the search.

It can easily be shown by modifying parts of the program that it is the conjunction of these three improvements that leads to a satisfactory resolution of the job-shop problems MT06, MT10 and MT20.

This example illustrates the fact that a combination of techniques is often necessary to solve hard optimization problems. Yet even with this improved algorithm, we notice that solving some of the job-shop problems still consumes an inordinate amount of time. Another way of handling such problems is presented in A Randomizing Algorithm: the Job-Shop Problem.