Lexicographic and Multi-Objective Optimization in CP
Techniques for handling more than one objective in a constraint programming model: Pareto dominance, lexicographic optimization, and weighted-sum scalarization.
Tutorial
Multi-Objective Problems and Pareto Dominance
Many CP models have more than one criterion we'd like to optimize. A scheduling model might want both low makespan and low total tardiness; a routing model might want low cost and low travel time. With more than one objective, "optimal" is ambiguous unless we specify how to compare candidate solutions.
The fundamental notion is Pareto dominance. For minimization objectives , solution dominates solution — written — when
A solution that is not dominated by any other feasible solution is called Pareto-optimal (or non-dominated). The set of all Pareto-optimal solutions is the Pareto front.
For example, consider four schedules evaluated on (makespan, total tardiness):
Solution dominates because and . Comparing the remaining pairs, each beats the other on one objective, so none of , , dominates another. The Pareto front is .