I’m solving a multi objective MILP with two objectives and I’m using the package MultiJuMP.jl.
When solving linear models the are two methods in MultiJuMP a WeightedSum and EpsilonCons.
Why should I not provide the weights for the WeightedSum method?
Why I’m I not allowed to modify the pointperdim in EpsilonCons method?
To me it seems that the WeightedSum method “works” as an EpsilonCons method where I can decide on number of points per dimension and the EpsilonCons method has a fixed number of points per dimension.
Why should I not provide the weights for the WeightedSum method?
The WeightedSum method uses an iterative approach to compute which weights it should try to find points on the frontier. If you want to solve a problem given fixed weights, you don’t need MultiJuMP for that since it would be a single-objective problem.
Why I’m I not allowed to modify the pointperdim in EpsilonCons method?
Ahh. Yes of course it would just be a single objective when the weights are known
Do know a good paper that explains the iterative approach?
Thank for clarifying my second question.
I haven’t looked in detail to what method they actually use, but a common solution method is the non inferior set estimation method.
Cohon, J. L., Church, R. L., & Sheer, D. P. (1979). Generating multiobjective
trade‐offs: An algorithm for bicriterion problems. Water Resources Research,
15(5), 1001-1010.
Essentially, you solve the two extemes, and then pick a weight such that the new objective function is parallel to the line connecting the two solutions. Then you can recurse into each new facet. There are probably some better graphical explanations online somewhere other than the paper.