Infeasibility After Warm-Starting QCQP Solution
AnsweredHi,
I am solving a QCQP and achieving global optimality. After retrieving the optimal value, I restart the model with the solution obtained, but it becomes infeasible due to numerical issues related to presolver tolerance. Any suggestions on how to handle this?
Thanks in advance!
-
Hi Ignacio,
The behavior you're observing can occur when the model is prone to numerical issues, as you alluded to. In such cases, the "optimal" solution obtained may not be of perfect quality. The solver's log will include a warning message like the one below, indicating that the maximum constraint or bound violation in the final solution exceeds the default feasibility tolerance (FeasibilityTol = 1e-6):
Warning: max constraint violation (1.39e-06) exceeds tolerance
To work around this, you can relax the feasibility tolerance (by increasing the FeasibilityTol parameter to match or exceed the observed violation) when loading the solution as a warm start. This should allow the solver to accept the solution as feasible.
Another approach for improving solution quality is to try adjusting the following parameters to disable or limit the algorithms that tend to be more sensitive to numerical challenges:
- ScaleFlag = 2
- Aggregate = 0
- NumericFocus = 1 or 2
- PreMIQCPForm = 0 or 1
- Presolve = 1
Best regards,
Maliheh
0
Please sign in to leave a comment.
Comments
1 comment