%feature("docstring") OT::OptimizationResult
"Optimization result.

Returned by optimization solvers, see :class:`~openturns.OptimizationAlgorithm`.

Available constructors:
    OptimizationResult(*optimalPoint, optimalValue, iterationNumber, absoluteError, relativeError, residualError, constraintError*)

Parameters
----------
optimalPoint : sequence of float
    Optimal point.
optimalValue : sequence of float
    Value at optimal point.
iterationNumber : int
    Number of iterations.
absoluteError : float
    Parameters for this solver.
relativeError : float
    Relative error.
residualError : float
    Residual error.
constraintError : float
    Constraint error.
problem : :class:`~openturns.OptimizationProblem`
    Associated problem."

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getAbsoluteError
"Accessor to the absolute error.

Returns
-------
absoluteError : float
    Absolute error, defined by :math:`\epsilon^a_n=\|\vect{x}_{n+1}-\vect{x}_n\|_{\infty}` where :math:`\vect{x}_{n+1}` and :math:`\vect{x}_n` are two consecutive approximations of the optimum."

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getAbsoluteErrorHistory
"Accessor to the evolution of the absolute error.

Returns
-------
absoluteErrorHistory : :class:`~openturns.Sample`
    Value of the absolute error at each iteration of the solver."

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getConstraintError
"Accessor to the constraint error.

Returns
-------
constraintError : float
    Constraint error, defined by :math:`\gamma_n=\|g(\vect{x}_n)\|_{\infty}` where :math:`\vect{x}_n` is the current approximation of the optimum and :math:`g` is the function that gather all the equality and inequality constraints."

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getConstraintErrorHistory
"Accessor to the evolution of the constraint error.

Returns
-------
constraintErrorHistory : :class:`~openturns.Sample`
    Value of the constrainte error at each iteration of the solver."

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::setIterationNumber
"Accessor to the number of iterations.

Parameters
----------
iterationNumber : int
    Number of evaluations."

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getIterationNumber
"Accessor to the number of iterations.

Returns
-------
iterationNumber : int
    Number of evaluations."

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getRelativeError
"Accessor to the relative error.

Returns
-------
relativeError : float
    Relative error, defined by :math:`\epsilon^r_n=\epsilon^a_n/\|\vect{x}_{n+1}\|_{\infty}` if :math:`\|\vect{x}_{n+1}\|_{\infty}\neq 0`, else :math:`\epsilon^r_n=-1`."

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getRelativeErrorHistory
"Accessor to the evolution of the relative error.

Returns
-------
relativeErrorHistory : :class:`~openturns.Sample`
    Value of the relative error at each iteration of the solver."

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getResidualError
"Accessor to the residual error.

Returns
-------
residualError : float
    Residual error, defined by :math:`\eta^r_n=\|\nabla\cL{\vect{x}_n}\|_{\infty}` where :math:`\vect{x}_n` is the current approximation of the optimum and :math:`\cL` is the Lagrangian of the problem."

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getResidualErrorHistory
"Accessor to the evolution of the residual error.

Returns
-------
residualErrorHistory : :class:`~openturns.Sample`
    Value of the residual error at each iteration of the solver."

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::setOptimalPoint
"Accessor to the optimal point.

Parameters
----------
optimalPoint : :class:`~openturns.Point`
    Optimal point"

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getOptimalPoint
"Accessor to the optimal point.

Returns
-------
optimalPoint : :class:`~openturns.Point`
    Optimal point"

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::setLagrangeMultipliers
"Accessor to the Lagrange multipliers.

Parameters
----------
multipliers : :class:`~openturns.Point`
    Lagrange multipliers.

Notes
-----
See :class:`~openturns.OptimizationAlgorithm` for the details on how the multipliers are defined and stored in the result.
"

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getLagrangeMultipliers
"Accessor to the Lagrange multipliers.

Returns
-------
multipliers : :class:`~openturns.Point`
    Lagrange multipliers.

Notes
-----
See :class:`~openturns.OptimizationAlgorithm` for the details on how the multipliers are defined and stored in the result.
"

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::setOptimalValue
"Accessor to the optimal value.

Parameters
----------
optimalValue : :class:`~openturns.Point`
    Value at the optimal point"

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getOptimalValue
"Accessor to the optimal value.

Returns
-------
optimalValue : :class:`~openturns.Point`
    Value at the optimal point"

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getInputSample
"Accessor to the input sample.

Returns
-------
inputSample : :class:`~openturns.Sample`
    Input points used by the solver"

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getOutputSample
"Accessor to the output sample.

Returns
-------
outputSample : :class:`~openturns.Sample`
    Output points used by the solver"

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::setProblem
"Accessor to the underlying optimization problem.

Parameters
----------
problem : :class:`~openturns.OptimizationProblem`
    Problem corresponding to the result"

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::getProblem
"Accessor to the underlying optimization problem.

Returns
-------
problem : :class:`~openturns.OptimizationProblem`
    Problem corresponding to the result"

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::drawErrorHistory
"Draw the convergence criteria history.

Returns
-------
graph : :class:`~openturns.Graph`
    Convergence criteria history graph"

// ---------------------------------------------------------------------

%feature("docstring") OT::OptimizationResult::drawOptimalValueHistory
"Draw the optimal value history.

Returns
-------
graph : :class:`~openturns.Graph`
    Optimal value history graph"
