Optimization Algorithms

Understand the algorithms that power SolverForge’s optimization.

SolverForge uses a combination of algorithms to find high-quality solutions efficiently. Understanding these algorithms helps you tune solver performance.

Topics

Algorithm Phases

SolverForge typically runs algorithms in phases:

1. Construction Heuristic
   └── Builds initial solution (fast, may be suboptimal)

2. Local Search
   └── Iteratively improves solution (most time spent here)

3. (Optional) Exhaustive Search
   └── Proves optimality (only feasible for small problems)

Construction Heuristics

Build an initial feasible solution quickly:

AlgorithmDescription
First FitAssign first available value
First Fit DecreasingAssign largest/most constrained entities first
Cheapest InsertionInsert at lowest cost position
Allocate from PoolAllocate entities from a pool

Local Search Algorithms

Iteratively improve the solution:

AlgorithmDescription
Hill ClimbingAccept only improving moves
Tabu SearchTrack recent moves to avoid cycles
Simulated AnnealingAccept worse moves with decreasing probability
Late AcceptanceAccept if better than solution from N steps ago
Great DelugeAccept if within rising threshold

Default Behavior

By default, SolverForge uses:

  1. First Fit Decreasing construction heuristic
  2. Late Acceptance local search

This works well for most problems. Advanced users can customize the algorithm configuration for specific use cases.


Construction Heuristics

Build an initial solution quickly with construction heuristics.

Local Search

Improve solutions iteratively with local search algorithms.

Exhaustive Search

Find optimal solutions with exhaustive search (for small problems).

Move Selectors

Reference for move types available in local search.