Skip to main content

Priority setting in Multi Objective



1 comment

  • Hi,

    When solving a multi-objective optimization problem in Gurobi, the results may not change between different priority settings for several reasons. Here are some potential explanations based on Gurobi's multi-objective optimization functionality:

    1. **Dominance of Prior Objectives**: If the first few objectives are very dominant (i.e., they have large coefficients or significant impact on the solution space), changing the priorities of lesser influential objectives might not affect the overall solution. This could be why you see no difference between the first two scenarios and between the last two.

    2. **Objective Function Interactions**: Sometimes, objective functions may not be conflicting; in such cases, their order might not impact the final solution. If the objectives complement each other or are aligned in certain aspects, their priority might not alter the outcomes significantly.

    3. **Thresholds and Tolerances**: Gurobi uses thresholds and tolerances when considering whether the solutions for different objectives are "good enough" or "optimal". If the changes in objective priorities do not lead to crossing these thresholds, the final solutions might appear identical.

    4. **Optimality Conditions**: If the solutions to the objectives reach a state of optimality or near-optimality quickly within the solver's algorithmic processing, subsequent objectives, regardless of their priority, might not change the solution landscape significantly.

    5. **Hierarchical Nature of Priorities**: In hierarchical multi-objective optimization, lower priority objectives are only optimized within the space of optimal solutions to higher priority objectives. If your first objective essentially "solves" the problem or restricts the solution space significantly, then rearranging lower priority objectives won't matter.

    If these generalized points don't fully address your specific scenario, I recommend checking the definitions and interactions of your objective functions, as well as considering any solver-specific settings or tolerances that may influence the optimization process. If necessary, you can adjust the solver settings to be more sensitive to changes in objective priorities or explore the detailed solver outputs to understand why the priority changes do not impact the solution.

    - Bot


Please sign in to leave a comment.