MIPGap parameter on Multiple Objectives
Hello,
I am trying to set MIPGap parameter for multiple objectives (two objectives to be minimized in my case, called a and b). I used two ways which I expected the same solutions, but they don't. The priorities are different for the two objectives (a has higher priority).
The first way is to set the parameter in model environment:
-
model.set(GRB_DoubleParam_MIPGap, 0.0);
The second way is to set the parameter for each objective:
- a_obj_env = model.getMultiobjEnv(0);
- a_obj_env .set(GRB_DoubleParam_MIPGap, 0.0);
- b_obj_env = model.getMultiobjEnv(1);
- b_obj_env .set(GRB_DoubleParam_MIPGap, 0.0);
However, the optimal objective values for the first objective are different. In particular, the optimal objective value for objective a obtained in the second way is larger than that obtained in the first way.
It seems the second way does not changes the parameters associates with the <model>.
So my question is how to set the MIPGap parameter for each objective separately, as I want to use different MIPGap parameters in the solution pass for different objectives?
Is this a misuse of the GUROBI or a potential bug?
NOTE:
- All other parameters are kept default, and only basic GUROBI C++ API is used (no callback or something like is involved)
- The TimeLimit parameter works as expected in the above test.
- The objective value is very large, the default MIPGap (1e-4) is not satisfied.
1
-
正式なコメント
This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum. Or why not try our AI Gurobot?.
投稿コメントは受け付けていません。
コメント
1件のコメント