Skip to content

Commit

Permalink
add comments for optimalitytarget
Browse files Browse the repository at this point in the history
  • Loading branch information
ZedongPeng committed Aug 22, 2023
1 parent 59941ba commit 987b40a
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions pyomo/contrib/mindtpy/algorithm_base_class.py
Original file line number Diff line number Diff line change
Expand Up @@ -2562,6 +2562,11 @@ def initialize_subsolvers(self):
# We don't need to solve the regularization problem to optimality.
# We will choose to perform aggressive node probing during presolve.
self.regularization_mip_opt.options['mip_strategy_presolvenode'] = 3
# When using ROA method to solve convex MINLPs, the Hessian of the Lagrangean is always positive semidefinite,
# and the regularization subproblems are always convex.
# However, due to numerical accuracy, the regularization problem ended up nonconvex for a few cases,
# e.g., the smallest eigenvalue of the Hessian was slightly negative.
# Therefore, we set the optimalitytarget parameter to 3 to enable CPLEX to solve nonconvex MIQPs in the ROA-L2 and ROA-∇2L methods.
if config.add_regularization in {'hess_lag', 'hess_only_lag'}:
self.regularization_mip_opt.options['optimalitytarget'] = 3
elif config.mip_regularization_solver == 'gurobi':
Expand Down

0 comments on commit 987b40a

Please sign in to comment.