Warm start Non-Convex Quadratic Optimization in GAMS
AnsweredHi,
I am trying to warm-start a model with bilinear constraints and continuous variables to the locally optimal solution found with IPOPT.
Accorded to
I used the Start attribute in GAMS, thus utilizing the attribute .l. for the main variables.
For example
variable.l = value_IPOPT ;
However, by analyzing the log file it seems that Gurobi does not consider this starting point.
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time0 0 2.3216e+07 0 51 - 2.3216e+07 - - 0s
0 0 2.3217e+07 0 57 - 2.3217e+07 - - 0s
0 0 2.3221e+07 0 71 - 2.3221e+07 - - 0s
0 0 2.3221e+07 0 71 - 2.3221e+07 - - 0s
0 0 2.3263e+07 0 71 - 2.3263e+07 - - 0s
0 0 2.3263e+07 0 71 - 2.3263e+07 - - 0s
0 0 2.3295e+07 0 71 - 2.3295e+07 - - 0s
0 0 2.3295e+07 0 65 - 2.3295e+07 - - 0s
0 0 2.3303e+07 0 69 - 2.3303e+07 - - 0s
0 0 2.3308e+07 0 74 - 2.3308e+07 - - 0s
0 0 2.3339e+07 0 89 - 2.3339e+07 - - 0s
0 0 2.3344e+07 0 92 - 2.3344e+07 - - 0s
0 0 2.3376e+07 0 88 - 2.3376e+07 - - 0s
0 0 2.3376e+07 0 89 - 2.3376e+07 - - 0s
0 0 2.3377e+07 0 93 - 2.3377e+07 - - 0s
0 0 2.3377e+07 0 93 - 2.3377e+07 - - 0s
0 0 2.3377e+07 0 105 - 2.3377e+07 - - 0s
0 0 2.3378e+07 0 105 - 2.3378e+07 - - 0s
0 0 2.3380e+07 0 105 - 2.3380e+07 - - 0s
0 0 2.3386e+07 0 94 - 2.3386e+07 - - 0s
0 0 2.3409e+07 0 105 - 2.3409e+07 - - 0s
0 0 2.3430e+07 0 88 - 2.3430e+07 - - 0s
0 0 2.3437e+07 0 90 - 2.3437e+07 - - 0s
0 0 2.3438e+07 0 89 - 2.3438e+07 - - 0s
0 0 2.3439e+07 0 88 - 2.3439e+07 - - 0s
0 0 2.3439e+07 0 88 - 2.3439e+07 - - 0s
0 0 2.3439e+07 0 87 - 2.3439e+07 - - 0s
0 0 2.3439e+07 0 87 - 2.3439e+07 - - 0s
0 0 2.3439e+07 0 87 - 2.3439e+07 - - 0s
0 2 2.3439e+07 0 87 - 2.3439e+07 - - 0s
1792 646 infeasible 900 - 2.3476e+07 - 14.6 5s
* 2109 651 1059 3.846535e+07 2.3476e+07 39.0% 13.3 5s
NLP heuristic elapsed time = 5.00s
Could you help me, please?
Best regards,
Martina
-
Hi Martina,
From the Gurobi GAMS documentation
If you specify some or all values for the discrete variables together with GAMS/Gurobi option MipStart, Gurobi will check the validity of the values as an integer-feasible solution. If this process succeeds, the solution will be treated as an integer solution of the current problem.
So it looks like you have to set a specific setting in your GAMS options to make Gurobi use an initial point.
If your initial point is read in by Gurobi you should see an output similar to
User MIP start did not produce a new incumbent solution
User MIP start violates constraint c0 by 1.000000000if your point is infeasible and
Loaded user MIP start with objective 3
if your initial point is feasible. You should be able to find these lines in the first ~20 lines of the Gurobi output.
It might make sense to contact the GAMS support in this case as it looks like they have a special handling for initial points.
Best regards,
Jaromił0
Please sign in to leave a comment.
Comments
1 comment