The design and analysis of heuristics

5
The Design and Analysis of Heuristics Michael Ball College of Business and Management, University of Maryland, College Park, Maryland 20742 Michael Magazine Department of Management Science, University of Waterloo, Waterloo, Ontario, Canada, N2L 3G 1 This discussion session was concerned with the analysis of heuristics and the design of more effective heuristics. Initially, the group generated a list of evaluation criteria and discussed the strengths and weaknesses of each criterion. Next a classification of heuristic approaches was devised. Finally, the group compiled a list of promising research directions. I. EVALUATION CRITERIA A list of seven heuristic evaluation criteria was compiled. A. Quality of Solution Quality in this case is measured in two ways, the proximity of the objective function value to the optimal value and the ability of the algorithm to generate a feasible solu- tion whenever one exists. A variety of techniques for measuring how close the heuris- tic comes to the optimal value was mentioned. These included worst case analysis, probabilistic analysis, statistical analysis, characterization of good and bad problems, and a variety of empirical analyses. The discussion group expressed a variety of con- cerns over the worst case and probabilistic analyses performed thus far. In particular, practitioners found that the worst case bounds were too loose to be useful in justifying solutions and probabilistic analyses tended to assume unrealistic probability spaces. However, algorithm designers did find the analyses useful in providing a better under- standing of the problem and the heuristic. The most trusted form of analysis appears to be empirical analysis. However, it was noted that there still is a lack of uniformity and no widely accepted guidelines for empirical studies. In particular, there is a defi- nite need for a standard set of easily obtainable test problems. B. Running Time and Storage Again a variety of techniques was mentioned including worst case, probabilistic and empirical analyses. This category was not discussed in detail since it applies to all algorithms, not just heuristics. NETWORKS, Vol. 11 (1981) 215-219 0 1981 John Wiley & Sons, Inc. CCC 0028-3045/81/020215-05$01 .OO

Transcript of The design and analysis of heuristics

The Design and Analysis of Heuristics Michael Ball College of Business and Management, University of Maryland, College Park, Maryland 20742 Michael Magazine Department of Management Science, University of Waterloo, Waterloo, Ontario, Canada, N2L 3G 1

This discussion session was concerned with the analysis of heuristics and the design of more effective heuristics. Initially, the group generated a list of evaluation criteria and discussed the strengths and weaknesses of each criterion. Next a classification of heuristic approaches was devised. Finally, the group compiled a list of promising research directions.

I. EVALUATION CRITERIA

A list of seven heuristic evaluation criteria was compiled.

A. Quality of Solution

Quality in this case is measured in two ways, the proximity of the objective function value to the optimal value and the ability of the algorithm to generate a feasible solu- tion whenever one exists. A variety of techniques for measuring how close the heuris- tic comes to the optimal value was mentioned. These included worst case analysis, probabilistic analysis, statistical analysis, characterization of good and bad problems, and a variety of empirical analyses. The discussion group expressed a variety of con- cerns over the worst case and probabilistic analyses performed thus far. In particular, practitioners found that the worst case bounds were too loose to be useful in justifying solutions and probabilistic analyses tended to assume unrealistic probability spaces. However, algorithm designers did find the analyses useful in providing a better under- standing of the problem and the heuristic. The most trusted form of analysis appears to be empirical analysis. However, it was noted that there still is a lack of uniformity and no widely accepted guidelines for empirical studies. In particular, there is a defi- nite need for a standard set of easily obtainable test problems.

B. Running Time and Storage

Again a variety of techniques was mentioned including worst case, probabilistic and empirical analyses. This category was not discussed in detail since it applies to all algorithms, not just heuristics.

NETWORKS, Vol. 11 (1981) 215-219 0 1981 John Wiley & Sons, Inc. CCC 0028-3045/81/020215-05$01 .OO

216 BALL AND MAGAZINE

C. Difficulty of Implementation

Two principal “difficulties” were mentioned: the intricacy of the coding and the extent of the data requirements. However, it was admitted that it is difficult to mea- sure these characteristics.

D. Flexibility

Since heuristics are typically involved in the solution of real world problems it is important that they be flexible. In particular, they should easily handle changes in the model, constraints and objective function.

E. Robustness

The group placed a number of desirable algorithmic characteristics into this class. Included were the ability to perform sensitivity analysis and the ability to generate bounds on the solution obtained. An extension of the generation of a bound is the generation of a good characterization. That is, along with the solution, a set of information such as a dual solution would be generated. A good characterization would enable a user to use this information to prove the solution was optimal or to prove the solution was within a percentage of the optimal solution. In many cases an algorithm does not generate a feasible solution. In these cases, it would be very desirable for the algorithm to generate information that would enable the user to determine why a feasible solution was not generated.

F. Simplicity and Analyzability

It was generally agreed that there is significant appeal to algorithms that can be simply stated and that more readily lend themselves to analysis. Extremely complex algorithms are much less likely to be analyzed in terms of flexibility, quality of solu- tion, etc., than a simple algorithm.

G. Interactive Computing

The idea of using man-machine interaction within an algorithm came up on numerous occasions. It was generally accepted that little was known about this class of algo- rithms and that other criteria should be developed to evaluate interactive algorithms.

II. CLASSIFICATION OF HEURISTIC APPROACHES

The group classified heuristic approaches. The classification was not limited to rout- ing and scheduling algorithms. It was hoped that by looking at heuristic approaches in general, ideas for new approaches to routing and scheduling problems would be generated.

A. Construction

Construction algorithms generate a solution by adding individual components (e.g., nodes or arcs), one at a time, to the solution until an acceptable solution is obtained.

ANALYSIS OF HEURISTICS 217

“Greedy” [2] algorithms are pure construction algorithms. In a construction pro- cedure a feasible solution is generally not found until the end.

6. Improvement

Improvement algorithms start with a feasible solution and then successively improve it by a sequence of exchanges or mergers. The K-opt procedure [6] for the traveling salesman problem is a pure improvement procedure.

C. Mathematical Programming

Mathematical programming approaches start with a mathematical programming formulation and an exact solution procedure and then modify the solution procedure to obtain an efficient heuristic algorithm. The Fisher and Jaikumar procedure [3] is a mathematical programming approach.

D. Decomposition

Decomposition procedures solve a sequence of tractable problems, the output of one being the input to the next. The “run cutting” approach [ l ] , [8] to mass transit crew scheduling is a decomposition approach. Initially a minimum cost flow problem is solved to generate vehicle schedules. The vehicle schedules are then partitioned into half-day shifts. Finally, a matching problem is solved to generate full day crew schedules.

E. Partitioning

Partitioning algorithms partition the problem into a set of smaller similar subprob- lems, then solve each subproblem and frnally merge the solutions into a solution for the entire problem. Karp’s algorithm [S] for solving the traveling salesman problem is an example of a partitioning algorithm. Several algorithms, for example, the sweep algorithm for solving the vehicle routing problem [4] could be considered either decomposition or partitioning algorithms.

F. Restriction of Feasible Solution Space

In certain instances it may be convenient to restrict the set of feasible solutions to a solution set for which an efficient algorithm exists. For example, the vehicle schedul- ing problem with due date windows is NP-complete. However, if the due dates are fixed the problem may be solved using a minimum cost flow algorithm [7] .

G. Relaxation

Rather than restricting the feasible region it may be convenient to expand it and obtain a tractable relaxation. Having solved the relaxation it is possible that a feasible solution to the original problem is obtained or is easily obtainable. In many instances vehicle routing problems with time window constraints are solved as unconstrained vehicle routing problems. The final solution is then adjusted to generate a feasible solution. Such an approach is in the spirit of D. Kleitman’s closing remark that we

218 BALL AND MAGAZINE

should design algorithms that only consider certain constraints “when they start complaining .”

lli. FUTURE RESEARCH DIRECTIONS

Having discussed the current state of both the analysis and design of heuristics, the group formulated a list of ten important research topics.

A. Generation of Test Problems

Empirical studies are still the most trusted method for evaluating heuristics, yet there is still little standardization of techniques for empirically evaluating algorithms.

B. Heuristics That Depend on Mathematical Programming Theory

Recent research along these lines has proved extremely fruitful.

C. Interactive Computing

algorithm. The precise role of the computer and of the human have yet to defined. Man-machine interaction appears to be essential in developing a completely usable

D. Analysis of Decomposition and Partitioning Strategies

Real-world problems are almost always decomposed or partitioned either explicitly or implicitly to generate tractable subproblems. An analysis of the error induced by such strategies as well as preferable approaches would be very useful.

E. More Judicious Use and Generation of Bounds

More realistic classes of problems should be considered in worst case analyses so that tighter bounds can be obtained. More work should be devoted to heuristic algorithms that dynamically generate bounds, in the spirit of Benders’ decomposition and branch and bound procedures. A very desirable algorithm would be one that could determine its termination time based on a time versus accuracy of solution function input by the user.

F. Consideration of Planning Horizon in Heuristic Design

The accuracy of the heuristic solution required as well as the allowable running time can depend on the length of the planning horizon for which the solution is required.

G. Consideration of Changes in Computer Technology

Computer technology is changing rapidly with the advent of powerful mini- and microprocessors. Design of heuristics should take into account these new computer environments, which may be significantly different from the environment of a large mainframe computer.

ANALYSIS OF HEURISTICS 219

H. Composite Heuristics

In many instances one heuristic can perform well on a class of problems on which another performs poorly. Procedures in which two heuristics are combined can have a significantly better overall performance.

I . Heuristics for Well-Solved Problems

Considering heuristics for well-solved problems (i.e., problems for which exact poly- nomially bounded algorithms exist) may give insight into heuristics for other problems. For example, the study of a heuristic for matching problems might give insight into heuristics for other set partitioning problems.

J. Modular Heuristics

The particular nature of a problem can vary from one real world instance to another. By designing a set of interchangeable modules, heuristics could be assembled “on location” to suit the particular requirements of that instance.

References

[ 11 G . E. Bennington and K. K. Rebibo, “Overview of RUCUS Vehicle Scheduling Program (BLOCKS),” in Preprints: Workshop on Automated Techniques for Scheduling o f Vehicle Operators for Urban Public Transportation Services, D. Bergmann and L. Bodin, Eds. (1975).

[2] J. Edmonds, “Matroids and the Greedy AIgorithm,”Math. Program., 1, 127-136 (1971).

[3] M. Fisher and R. Jaikumar, “A Generalized Assignment Heuristic for Vehicle Routing,” Networks, this issue.

[4] B. Gillett and L. Miller, “A Heuristic Algorithm for the Vehicle Dispatch Prob- lem,” Oper. Res., 22 , 340-349 (1974).

[ 51 R. Karp, “Probabilistic Analysis of Partitioning Algorithms for the Traveling Sales- man Problem in the Plane,” Math. Oper. Res., 2,209-224 (1 977).

[61 S. Lin and B. Kernighan, “An Effective Heuristic for the Traveling Salesman Prob- lem,” Oper. Res., 21.498-516 (1973).

[7] C. Orloff, “Route Constrained Fleet Scheduling,” Transp. Sci., 10, 149-168 (1976’1.

[8] E. Whelm, “Overview of the RUCUS Package Driver Run Cutting Program (RUNS),” in Bergmann and Bodin.