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:

scalabilityOfOptimizationAlgorithms

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 Force

☆☆☆☆☆

★★★★★

★★★★★

☆☆☆☆☆

No

Branch And Bound

☆☆☆☆☆

★★★★★

★★★★☆

★★☆☆☆

No

Construction heuristics (CH)

First Fit

★★★★★

★☆☆☆☆

★★★★★

★☆☆☆☆

No

First Fit Decreasing

★★★★★

★★☆☆☆

★★★★☆

★★☆☆☆

No

Weakest Fit

★★★★★

★★☆☆☆

★★★★☆

★★☆☆☆

No

Weakest Fit Decreasing

★★★★★

★★☆☆☆

★★★★☆

★★☆☆☆

No

Strongest Fit

★★★★★

★★☆☆☆

★★★★☆

★★☆☆☆

No

Strongest Fit Decreasing

★★★★★

★★☆☆☆

★★★★☆

★★☆☆☆

No

Cheapest Insertion

★★★☆☆

★★☆☆☆

★★★★★

★★☆☆☆

No

Regret Insertion

★★★☆☆

★★☆☆☆

★★★★★

★★☆☆☆

No

Metaheuristics (MH)

Local Search

Hill Climbing

★★★★★

★★☆☆☆

★★★★☆

★★★☆☆

Yes

Tabu Search

★★★★★

★★★★☆

★★★☆☆

★★★★★

Yes

Simulated Annealing

★★★★★

★★★★☆

★★☆☆☆

★★★★★

Yes

Late Acceptance

★★★★★

★★★★☆

★★★☆☆

★★★★★

Yes

Step Counting Hill Climbing

★★★★★

★★★★☆

★★★☆☆

★★★★★

Yes

Evolutionary Algorithms

Evolutionary Strategies

★★★★☆

★★★☆☆

★★☆☆☆

★★★★★

Yes

Genetic Algorithms

★★★★☆

★★★☆☆

★★☆☆☆

★★★★★

Yes

If you want to learn more about metaheuristics, read the free books Essentials of Metaheuristics or Clever Algorithms.