I would like to know how the hierarchical method for multi-objective optimization works.
For example, I have 2 objectives here: min obj1 and min obj2. The priority for obj1 is set to 10 and the priority for obj2 is set to 5.
According to the documentation, I think the solver would first get all optimal solutions for obj1 (denoted as a set OPT1), and then filter among OPT1 to find optimal solutions for obj2. That is to say, the final optimal solution for the whole problem should be a subset of OBJ1. Therefore, under my thoughts, if OPT1 is obtained, then the optimal solution for obj2 can also be obtained and should take much less time than OPT1 (since the search space is only OPT1).
However, in real cases, when watching the output, I can see gaps of obj1 quickly close while then the gap of obj2 drops really slow. So I believe my explanation of the mechanism is definitely wrong.
So I would like to know how exactly the hierarchical method for multi-objective optimization works? If I would like to implement what I thought above, is it possible in gurobi?
Please sign in to leave a comment.