Solver Log
TORA.SolverLog
— TypeDuring optimization, a SolverLog
is used to store convergence information.
A SolverLog
can log the following:
x::Array{Float64,2}
: the history of the decision variables for every iteration.abs_feas_error::Array{Float64,1}
: the absolute feasibility error evolution.abs_opt_error::Array{Float64,1}
: the absolute optimality error evolution.obj_value::Array{Float64,1}
: the evolution of the objective function value.fc_evals::Array{Float64,1}
: the evolution of the number of function evaluations.ga_evals::Array{Float64,1}
: the evolution of the number of gradient evaluations.nStatus::Int
: the solution status return code.
The actual values stored in a SolverLog
depend on the implementation of the callback used by each solver for every new point. Using Ipopt, the callback is set with Ipopt.setIntermediateCallback
. Using Knitro, the callback is set with KNITRO.KN_set_newpt_callback
.
TORA.SolverLog
— MethodSolverLog(N)
Create an empty NLP solver log.
Arguments
N::Int
: the total number of decision variables of the NLP.
See also: update!
Index
Methods
Base.length
— Methodlength(log) -> Integer
Return the length of a SolverLog
.
The length of a SolverLog
is the same as the number of iterations taken to solve the problem.
TORA.load!
— MethodTORA.save
— MethodTORA.update!
— Methodupdate!(log; <keyword arguments>)
Update a SolverLog
object.
Keyword arguments
x=zeros(size(log.x, 1))
: an intermediate iterate point.abs_feas_error=0
: the absolute feasibility error at the current point.abs_opt_error=0
: the absolute optimality error at the current point.obj_value=0
: the value of the objective function at the current point.fc_evals=0
: the number of function evaluations requested by the NLP solver so far.ga_evals=0
: the number of gradient evaluations requested by the NLP solver so far.