%feature("docstring") OT::NLopt
"Interface to NLopt.

This class exposes the solvers from the non-linear optimization library [NLopt]_.

More details about available algorithms are available `here <http://ab-initio.mit.edu/wiki/index.php/NLopt_Algorithms>`_.

Parameters
----------
problem : :class:`~openturns.OptimizationProblem`
    Optimization problem to solve.
algoName : str
    The NLopt identifier of the algorithm.
    Use :func:`GetAlgorithmNames()` to list available names.

Notes
-----
This solver does not implement the progress callback.

See also
--------
AbdoRackwitz, Cobyla, SQP, TNC

Examples
--------
>>> import openturns as ot
>>> dim = 4
>>> bounds = ot.Interval([-3.0] * dim, [5.0] * dim)
>>> linear = ot.SymbolicFunction(['x1', 'x2', 'x3', 'x4'], ['x1+2*x2-3*x3+4*x4'])
>>> problem = ot.OptimizationProblem(linear, ot.Function(), ot.Function(), bounds)
>>> algo = ot.NLopt(problem, 'LD_MMA')
>>> algo.setStartingPoint([0.0] * 4)
>>> algo.run()
>>> result = algo.getResult()"

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

%feature("docstring") OT::NLopt::setAlgorithmName
"Accessor to the algorithm name.

Parameters
----------
algoName : str
    The NLopt identifier of the algorithm."

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

%feature("docstring") OT::NLopt::getAlgorithmName
"Accessor to the algorithm name.

Returns
-------
algoName : str
    The NLopt identifier of the algorithm."

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

%feature("docstring") OT::NLopt::setInitialStep
"Initial local derivative-free algorithms step accessor.

Parameters
----------
dx : sequence of float
    The initial step."

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

%feature("docstring") OT::NLopt::getInitialStep
"Initial local derivative-free algorithms step accessor.

Returns
-------
dx : :class:`~openturns.Point`
    The initial step."

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

%feature("docstring") OT::NLopt::setLocalSolver
"Local solver accessor.

Parameters
----------
solver : :class:`~openturns.NLopt`
    The local solver."

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

%feature("docstring") OT::NLopt::getLocalSolver
"Local solver accessor.

Returns
-------
solver : :class:`~openturns.NLopt`
    The local solver."

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

%feature("docstring") OT::NLopt::GetAlgorithmNames
"Accessor to the list of algorithms provided by NLopt, by names.

Returns
-------
names : :class:`~openturns.Description`
    List of algorithm names provided by NLopt, according to its naming convention.

Examples
--------
>>> import openturns as ot
>>> print(ot.NLopt.GetAlgorithmNames())
[AUGLAG,AUGLAG_EQ,GD_MLSL,GD_MLSL_LDS,GD_STOGO,GD_STOGO_RAND,GN_CRS2_LM,GN_DIRECT,GN_DIRECT_L,GN_DIRECT_L_NOSCAL,GN_DIRECT_L_RAND,GN_DIRECT_L_RAND_NOSCAL,GN_DIRECT_NOSCAL,GN_ESCH,GN_ISRES,GN_MLSL,GN_MLSL_LDS,GN_ORIG_DIRECT,GN_ORIG_DIRECT_L,G_MLSL,G_MLSL_LDS,LD_AUGLAG,LD_AUGLAG_EQ,LD_CCSAQ,LD_LBFGS,LD_LBFGS_NOCEDAL,LD_MMA,LD_SLSQP,LD_TNEWTON,LD_TNEWTON_PRECOND,LD_TNEWTON_PRECOND_RESTART,LD_TNEWTON_RESTART,LD_VAR1,LD_VAR2,LN_AUGLAG,LN_AUGLAG_EQ,LN_BOBYQA,LN_COBYLA,LN_NELDERMEAD,LN_NEWUOA,LN_NEWUOA_BOUND,LN_PRAXIS,LN_SBPLX]#43"

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

%feature("docstring") OT::NLopt::SetSeed
"Initialize the random generator seed.

Parameters
----------
seed : int
    The RNG seed."

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

%feature("docstring") OT::NLopt::IsAvailable
"Ask whether NLopt support is available.

Returns
-------
available : bool
    Whether NLopt support is available."