lumix.goal_programming.objective_builder.build_sequential_objectives¶
- lumix.goal_programming.objective_builder.build_sequential_objectives(relaxed_constraints)[source]¶
Build sequential objectives for lexicographic goal programming.
Creates one objective per priority level. These are solved sequentially: 1. Solve priority 1, record optimal deviation values 2. Fix priority 1 deviations, solve priority 2 3. Continue for all priorities
- Parameters:
relaxed_constraints (
List[RelaxedConstraint]) – List of relaxed constraints with deviation variables- Return type:
- Returns:
List of (priority, objective_expression) tuples, sorted by priority
Example
>>> objectives = build_sequential_objectives(relaxed) >>> # [(1, expr_p1), (2, expr_p2), (3, expr_p3)] >>> # Solve P1 first, then P2, then P3