@odow It seems a rule to state that Ipopt has found an optimum on the bound (constraint) can be isapprox(objective_value(m), stopval, atol=tol)
where tol
is Ipopt option Ipopt.Optimizer(tol=1e-8)
and stopval
is the bound. Ipopt also has options to set up constraint tolerances (constr_viol_tol
, acceptable_constr_viol_tol
). Can they also help better determine a “bound optimum” here?
For KNITRO it seems the setting I was looking for is fstopval
https://www.artelys.com/docs/knitro/3_referenceManual/userOptions.html#fstopval