apply ipopt function to a SIF problem
[xopt,fopt,extra]=sifipopt(siffile [,params])
path of the SIF problem file
a parameter data structure which handles parameters allowing a
fine tuning of ipopt
(see the
ipopt
help page for details). Note
however that sifipopt
sets the
nlp_lower_bound_inf
and
nlp_upper_bound_inf
fields.
If it is not given sifipopt
assigns the following fields:
hessian_approximation
="limited-memory"
linear_solver
="mumps"
tol
=1.e-12
max_iter
=5000
constr_viol_tol
=1e-8
acceptable_tol
=1.e-11
scalar, criterion at the found optimum
vector, optimum location
a structure which handles the state of ipopt at the end of the optimization
extra.status:
0 - Solve succeeded
1 - Maximum number of iterations exceeded
2 - Cpu time exceeded
3 - Search direction became too small
4 - Solved to acceptable level
5 - Infeasible problem detected
6 - User requested stop
7 - Feasible point found
8 - Diverging iterates
9 - Restoration failed
10 - Error in step computation
11 - Invalid number detected
12 - Not enough degrees of freedom
13 - Invalid option
14 - Insufficient memory
15 - Internal error
extra.it_count iteration needed to solve the problem
extra.cpu_time cpu time needed to solve the problem
extra.fobj_eval) number of objective function evaluation
extra.fobj_grad_eval number of gradient of objective function evaluation
extra.constr_eval number of constraint function evaluation
extra.constr_jac_eval number of gradient of constraint function evaluation
extra.hess_eval number of hessian function evaluation
extra.dual_inf dual infeasibility of the problem
extra.constr_viol constraint violation
extra.complementarity complementarity
extra.kkt_error Khun Tucker error
The sifipopt
function decodes, compile,
link the given problem and then call the Scilab function
ipopt
in order to solve the given
problem.
Note that the ipopt
toolbox must be previously loaded.