feasibility tolerance

50 views
Skip to first unread message

Huckleberry Febbo

unread,
Nov 22, 2016, 12:41:27 AM11/22/16
to julia-opt
I am solving a nonlinear optimization problem and I set the feasibility tolerance as:
  mdl = Model(solver =KnitroSolver(feastol=0.01))

then I have several equality constraints including

@NLconstraint(mdl, psi0_con, psi[1] == psi0);

after I solve the optimization problem, I get an infeasible point and when I run:
getdual()

on all of the constraints, the one that looks like the worst is:

getdual(psi0_con) = 1

but then when I look at the point that the optimization actually converges on, it does not look that bad:

julia> getvalue(psi0)
1.3772404760181705
julia
> getvalue(psi[1])
1.3697550013526445


Any ideas why this is not a feasible point even though:

julia> getvalue(psi[1])-getvalue(psi0)

is within the tolerance that I set?

Huckleberry Febbo

unread,
Nov 22, 2016, 12:52:39 AM11/22/16
to julia-opt

Also, I have tried:
  mdl = Model(solver =KnitroSolver(infeastol=0.01))

with similar results

Huckleberry Febbo

unread,
Nov 22, 2016, 1:27:27 AM11/22/16
to julia-opt

Additionally, I tried to simplify the problem definition and use linear constraints as:
@constraint(mdl, psi0_con, psi[1] == psi0_);

But, I am still getting similar results to those shown above

Huckleberry Febbo

unread,
Nov 28, 2016, 5:56:05 PM11/28/16
to julia-opt

Increasing the values of "feastol" and "feastol_abs" to match the feasibility level you consider "good enough" to declare optimality.  See this section on the termination criteria in Knitro:

https://www.artelys.com/tools/knitro_doc/2_userGuide/termination.html

and in particular note the "stop1" condition.  Set "feastol" to something very large (say, 1e20) so that the feasibility condition is only determined by "feastol_abs".  Then try setting "feastol_abs"  to something like 1e-2 or 1e-3 (or whatever works.

Also, I ended up having to do the same with opttol_abs <= opttol. So, that the problem converges without worrying about accuracy too much
Reply all
Reply to author
Forward
0 new messages