6.4. Optimization Algorithms Overview

Planner supports 3 families of optimization algorithms: Exhaustive Search, Construction Heuristics and Metaheuristics. In practice, Metaheuristics (in combination with Construction Heuristics to initialize) are the recommended choice:
Each of these families of algorithms has multiple optimization algorithms:

Table 6.1. Optimization Algorithms Overview

AlgorithmScalable?Optimal?Easy to use?Tweakable?Requires CH?
Exhaustive Search (ES)     
  Brute Force0/55/55/50/5No
  Branch And Bound0/55/54/52/5No
Construction heuristics (CH)     
  First Fit5/51/55/51/5No
  First Fit Decreasing5/52/54/52/5No
  Weakest Fit5/52/54/52/5No
  Weakest Fit Decreasing5/52/54/52/5No
  Strongest Fit5/52/54/52/5No
  Strongest Fit Decreasing5/52/54/52/5No
  Cheapest Insertion3/52/55/52/5No
  Regret Insertion3/52/55/52/5No
Metaheuristics (MH)     
  Local Search     
    Hill Climbing5/52/54/53/5Yes
    Tabu Search5/54/53/55/5Yes
    Simulated Annealing5/54/52/55/5Yes
    Late Acceptance5/54/53/55/5Yes
    Step Counting Hill Climbing5/54/53/55/5Yes
  Evolutionary Algorithms     
    Evolutionary Strategies4/53/52/55/5Yes
    Genetic Algorithms4/53/52/55/5Yes
If you want to learn more about metaheuristics, read the free books Essentials of Metaheuristics or Clever Algorithms.