List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Friends
casadi::OptiAdvanced Class Reference

#include <optistack.hpp>

Detailed Description

Definition at line 521 of file optistack.hpp.

Inheritance diagram for casadi::OptiAdvanced:
Inheritance graph
[legend]

Public Member Functions

 OptiAdvanced (const Opti &x)
 
 ~OptiAdvanced ()
 Destructor. More...
 
Function casadi_solver () const
 Get the underlying CasADi solver of the Opti stack. More...
 
bool is_parametric (const MX &expr) const
 return true if expression is only dependant on Opti parameters, not variables More...
 
MetaCon canon_expr (const MX &expr) const
 Interpret an expression (for internal use only) More...
 
MetaVar get_meta (const MX &m) const
 Get meta-data of symbol (for internal use only) More...
 
MetaCon get_meta_con (const MX &m) const
 Get meta-data of symbol (for internal use only) More...
 
void set_meta (const MX &m, const MetaVar &meta)
 Set meta-data of an expression. More...
 
void set_meta_con (const MX &m, const MetaCon &meta)
 Set meta-data of an expression. More...
 
void assert_active_symbol (const MX &m) const
 
std::vector< MXactive_symvar (VariableType type) const
 
std::vector< DMactive_values (VariableType type) const
 
MX x_lookup (casadi_index i) const
 
MX g_lookup (casadi_index i) const
 
std::string x_describe (casadi_index i) const
 
std::string g_describe (casadi_index i) const
 
std::string describe (const MX &x, casadi_index indent=0) const
 
void show_infeasibilities (double tol=0) const
 
void solve_prepare ()
 
DMDict solve_actual (const DMDict &args)
 
DMDict arg () const
 
void res (const DMDict &res)
 
DMDict res () const
 
std::vector< MXconstraints () const
 
MX objective () const
 
OptiAdvanced baked_copy () const
 
void assert_empty () const
 
void bake ()
 Fix the structure of the optimization problem. More...
 
void mark_problem_dirty (bool flag=true)
 
bool problem_dirty () const
 
void mark_solver_dirty (bool flag=true)
 
bool solver_dirty () const
 
void mark_solved (bool flag=true)
 
bool solved () const
 
void assert_solved () const
 
void assert_baked () const
 
casadi_int instance_number () const
 
MX variable (casadi_int n=1, casadi_int m=1, const std::string &attribute="full")
 Create a decision variable (symbol) More...
 
MX parameter (casadi_int n=1, casadi_int m=1, const std::string &attribute="full")
 Create a parameter (symbol); fixed during optimization. More...
 
void minimize (const MX &f)
 Set objective. More...
 
void subject_to ()
 Clear constraints. More...
 
void solver (const std::string &solver, const Dict &plugin_options=Dict(), const Dict &solver_options=Dict())
 Set a solver. More...
 
OptiSol solve ()
 Crunch the numbers; solve the problem. More...
 
OptiSol solve_limited ()
 Crunch the numbers; solve the problem. More...
 
Dict stats () const
 Get statistics. More...
 
std::string return_status () const
 Get return status of solver. More...
 
std::vector< MXinitial () const
 get assignment expressions for initial values More...
 
std::vector< MXvalue_variables () const
 get assignment expressions for latest values More...
 
std::vector< MXvalue_parameters () const
 
MX dual (const MX &m) const
 get the dual variable More...
 
casadi_int nx () const
 Number of (scalarised) decision variables. More...
 
casadi_int np () const
 Number of (scalarised) parameters. More...
 
casadi_int ng () const
 Number of (scalarised) constraints. More...
 
MX x () const
 Get all (scalarised) decision variables as a symbolic column vector. More...
 
MX p () const
 Get all (scalarised) parameters as a symbolic column vector. More...
 
MX g () const
 Get all (scalarised) constraint expressions as a column vector. More...
 
MX f () const
 Get objective expression. More...
 
MX lbg () const
 Get all (scalarised) bounds on constraints as a column vector. More...
 
MX ubg () const
 
MX lam_g () const
 Get all (scalarised) dual variables as a symbolic column vector. More...
 
OptiAdvanced debug () const
 Get a copy with advanced functionality. More...
 
OptiAdvanced advanced () const
 Get a copy with advanced functionality. More...
 
Opti copy () const
 Get a copy of the. More...
 
void update_user_dict (const MX &m, const Dict &meta)
 add user data More...
 
void update_user_dict (const std::vector< MX > &m, const Dict &meta)
 
Dict user_dict (const MX &m) const
 Get user data. More...
 
std::string type_name () const
 Readable name of the class. More...
 
void disp (std::ostream &stream, bool more=false) const
 Print representation. More...
 
std::string get_str (bool more=false) const
 Get string representation. More...
 
std::string class_name () const
 Get class name. More...
 
bool is_null () const
 Is a null pointer? More...
 
casadi_int __hash__ () const
 Returns a number that is unique for a given Node. More...
 
std::vector< MXsymvar () const
 Get symbols present in expression. More...
 
std::vector< MXsymvar (const MX &expr) const
 Get symbols present in expression. More...
 
std::vector< MXsymvar (const MX &expr, VariableType type) const
 Get symbols present in expression. More...
 
void subject_to (const MX &g)
 Add constraints. More...
 
void subject_to (const std::vector< MX > &g)
 Add constraints. More...
 
void set_initial (const MX &x, const DM &v)
 
void set_initial (const std::vector< MX > &assignments)
 
void set_value (const MX &x, const DM &v)
 Set value of parameter. More...
 
void set_value (const std::vector< MX > &assignments)
 Set value of parameter. More...
 
void set_domain (const MX &x, const std::string &domain)
 Set domain of a decision variable. More...
 
native_DM value (const MX &x, const std::vector< MX > &values=std::vector< MX >()) const
 
native_DM value (const DM &x, const std::vector< MX > &values=std::vector< MX >()) const
 
native_DM value (const SX &x, const std::vector< MX > &values=std::vector< MX >()) const
 
Function to_function (const std::string &name, const std::vector< MX > &args, const std::vector< MX > &res, const Dict &opts=Dict())
 Create a CasADi Function from the Opti solver. More...
 
Function to_function (const std::string &name, const std::vector< MX > &args, const std::vector< MX > &res, const std::vector< std::string > &name_in, const std::vector< std::string > &name_out, const Dict &opts=Dict())
 Create a CasADi Function from the Opti solver. More...
 
Function to_function (const std::string &name, const std::map< std::string, MX > &dict, const std::vector< std::string > &name_in, const std::vector< std::string > &name_out, const Dict &opts=Dict())
 Create a CasADi Function from the Opti solver. More...
 
void callback_class (OptiCallback *callback)
 Helper methods for callback() More...
 
void callback_class ()
 Helper methods for callback() More...
 

Static Public Member Functions

static MX bounded (const MX &lb, const MX &expr, const MX &ub)
 Construct a double inequality. More...
 

Public Attributes

bool problem_dirty_
 
bool solver_dirty_
 
bool solved_
 

Protected Member Functions

 OptiAdvanced ()
 

Friends

class InternalOptiCallback
 

Constructor & Destructor Documentation

◆ OptiAdvanced() [1/2]

casadi::OptiAdvanced::OptiAdvanced ( const Opti x)

◆ ~OptiAdvanced()

casadi::OptiAdvanced::~OptiAdvanced ( )
inline

Extra doc: https://github.com/casadi/casadi/wiki/L_1t

Definition at line 530 of file optistack.hpp.

◆ OptiAdvanced() [2/2]

casadi::OptiAdvanced::OptiAdvanced ( )
inlineprotected

Definition at line 615 of file optistack.hpp.

Member Function Documentation

◆ __hash__()

casadi_int casadi::SharedObject::__hash__ ( ) const
inherited

If the Object does not point to any node, "0" is returned.

Extra doc: https://github.com/casadi/casadi/wiki/L_av

◆ active_symvar()

std::vector<MX> casadi::OptiAdvanced::active_symvar ( VariableType  type) const

◆ active_values()

std::vector<DM> casadi::OptiAdvanced::active_values ( VariableType  type) const

◆ advanced()

OptiAdvanced casadi::Opti::advanced ( ) const
inherited

You get access to more methods, but you have no guarantees about API stability

The copy is effectively a deep copy: Updating the state of the copy does not update the original.

Extra doc: https://github.com/casadi/casadi/wiki/L_1m

◆ arg()

DMDict casadi::OptiAdvanced::arg ( ) const

◆ assert_active_symbol()

void casadi::OptiAdvanced::assert_active_symbol ( const MX m) const

◆ assert_baked()

void casadi::OptiAdvanced::assert_baked ( ) const

◆ assert_empty()

void casadi::OptiAdvanced::assert_empty ( ) const

◆ assert_solved()

void casadi::OptiAdvanced::assert_solved ( ) const

◆ bake()

void casadi::OptiAdvanced::bake ( )

◆ baked_copy()

OptiAdvanced casadi::OptiAdvanced::baked_copy ( ) const

◆ bounded()

static MX casadi::Opti::bounded ( const MX lb,
const MX expr,
const MX ub 
)
inlinestaticinherited

Constructs: lb(p) <= g(x,p) <= ub(p)

Python prohibits such syntax directly

Extra doc: https://github.com/casadi/casadi/wiki/L_1k

Definition at line 368 of file optistack.hpp.

◆ callback_class() [1/2]

void casadi::Opti::callback_class ( )
inherited

Do not use directly.

Extra doc: https://github.com/casadi/casadi/wiki/L_1p

◆ callback_class() [2/2]

void casadi::Opti::callback_class ( OptiCallback callback)
inherited

Do not use directly.

Extra doc: https://github.com/casadi/casadi/wiki/L_1p

◆ canon_expr()

MetaCon casadi::OptiAdvanced::canon_expr ( const MX expr) const

◆ casadi_solver()

Function casadi::OptiAdvanced::casadi_solver ( ) const

◆ class_name()

std::string casadi::SharedObject::class_name ( ) const
inherited

◆ constraints()

std::vector<MX> casadi::OptiAdvanced::constraints ( ) const

◆ copy()

Opti casadi::Opti::copy ( ) const
inherited

The copy is effectively a deep copy: Updating the state of the copy does not update the original.

Extra doc: https://github.com/casadi/casadi/wiki/L_1n

◆ debug()

OptiAdvanced casadi::Opti::debug ( ) const
inherited

You get access to more methods, but you have no guarantees about API stability

The copy is effectively a deep copy: Updating the state of the copy does not update the original.

Extra doc: https://github.com/casadi/casadi/wiki/L_1l

◆ describe()

std::string casadi::OptiAdvanced::describe ( const MX x,
casadi_index  indent = 0 
) const

◆ disp()

void casadi::Opti::disp ( std::ostream &  stream,
bool  more = false 
) const
inherited

◆ dual()

MX casadi::Opti::dual ( const MX m) const
inherited

m must be a constraint expression. The returned value is still a symbolic expression. Use value on it to obtain the numerical value.

Extra doc: https://github.com/casadi/casadi/wiki/L_1h

◆ f()

MX casadi::Opti::f ( ) const
inherited

◆ g()

MX casadi::Opti::g ( ) const
inherited

◆ g_describe()

std::string casadi::OptiAdvanced::g_describe ( casadi_index  i) const

◆ g_lookup()

MX casadi::OptiAdvanced::g_lookup ( casadi_index  i) const

◆ get_meta()

MetaVar casadi::OptiAdvanced::get_meta ( const MX m) const

◆ get_meta_con()

MetaCon casadi::OptiAdvanced::get_meta_con ( const MX m) const

◆ get_str()

std::string casadi::Opti::get_str ( bool  more = false) const
inherited

◆ initial()

std::vector<MX> casadi::Opti::initial ( ) const
inherited

◆ instance_number()

casadi_int casadi::OptiAdvanced::instance_number ( ) const

◆ is_null()

bool casadi::SharedObject::is_null ( ) const
inherited

◆ is_parametric()

bool casadi::OptiAdvanced::is_parametric ( const MX expr) const

◆ lam_g()

MX casadi::Opti::lam_g ( ) const
inherited

Useful for obtaining the Lagrange Hessian:

* sol.value(hessian(opti.f+opti.lam_g'*opti.g,opti.x)) % MATLAB
* sol.value(hessian(opti.f+dot(opti.lam_g,opti.g),opti.x)[0]) # Python
* 

Extra doc: https://github.com/casadi/casadi/wiki/L_1i

◆ lbg()

MX casadi::Opti::lbg ( ) const
inherited

◆ mark_problem_dirty()

void casadi::OptiAdvanced::mark_problem_dirty ( bool  flag = true)

◆ mark_solved()

void casadi::OptiAdvanced::mark_solved ( bool  flag = true)

◆ mark_solver_dirty()

void casadi::OptiAdvanced::mark_solver_dirty ( bool  flag = true)

◆ minimize()

void casadi::Opti::minimize ( const MX f)
inherited

Objective must be a scalar. Default objective: 0 When method is called multiple times, the last call takes effect

Extra doc: https://github.com/casadi/casadi/wiki/L_1a

◆ ng()

casadi_int casadi::Opti::ng ( ) const
inherited

◆ np()

casadi_int casadi::Opti::np ( ) const
inherited

◆ nx()

casadi_int casadi::Opti::nx ( ) const
inherited

◆ objective()

MX casadi::OptiAdvanced::objective ( ) const

◆ p()

MX casadi::Opti::p ( ) const
inherited

◆ parameter()

MX casadi::Opti::parameter ( casadi_int  n = 1,
casadi_int  m = 1,
const std::string &  attribute = "full" 
)
inherited

The order of creation does not matter. It is not required for parameter to actualy appear in the optimization problem. Parameters that do appear, must be given a value before the problem can be solved.

Parameters
[in]nnumber of rows (default 1)
[in]mnumber of columnss (default 1)
[in]attribute'full' (default) or 'symmetric'

Extra doc: https://github.com/casadi/casadi/wiki/L_19

◆ problem_dirty()

bool casadi::OptiAdvanced::problem_dirty ( ) const

◆ res() [1/2]

DMDict casadi::OptiAdvanced::res ( ) const

◆ res() [2/2]

void casadi::OptiAdvanced::res ( const DMDict res)

◆ return_status()

std::string casadi::Opti::return_status ( ) const
inherited
   passed as-is from nlpsol

No stability can be guaranteed about this part of the API

Extra doc: https://github.com/casadi/casadi/wiki/L_1g

◆ set_domain()

void casadi::Opti::set_domain ( const MX x,
const std::string &  domain 
)
inherited
Parameters
[in]xdecision variable
[in]type'real', 'integer' (default: real)
* opti.set_domain(x, "real")
* opti.set_domain(x, "integer")
* 

Extra doc: https://github.com/casadi/casadi/wiki/L_27t

◆ set_initial() [1/2]

void casadi::Opti::set_initial ( const MX x,
const DM v 
)
inherited

Set initial guess for decision variables

* opti.set_initial(x, 2)
* opti.set_initial(10*x(1), 2)
* 

◆ set_initial() [2/2]

void casadi::Opti::set_initial ( const std::vector< MX > &  assignments)
inherited

Set initial guess for decision variables

* opti.set_initial(x, 2)
* opti.set_initial(10*x(1), 2)
* 

◆ set_meta()

void casadi::OptiAdvanced::set_meta ( const MX m,
const MetaVar meta 
)

◆ set_meta_con()

void casadi::OptiAdvanced::set_meta_con ( const MX m,
const MetaCon meta 
)

◆ set_value() [1/2]

void casadi::Opti::set_value ( const MX x,
const DM v 
)
inherited

Each parameter must be given a value before 'solve' can be called

Extra doc: https://github.com/casadi/casadi/wiki/L_1d

◆ set_value() [2/2]

void casadi::Opti::set_value ( const std::vector< MX > &  assignments)
inherited

Each parameter must be given a value before 'solve' can be called

Extra doc: https://github.com/casadi/casadi/wiki/L_1d

◆ show_infeasibilities()

void casadi::OptiAdvanced::show_infeasibilities ( double  tol = 0) const

◆ solve()

OptiSol casadi::Opti::solve ( )
inherited

◆ solve_actual()

DMDict casadi::OptiAdvanced::solve_actual ( const DMDict args)

◆ solve_limited()

OptiSol casadi::Opti::solve_limited ( )
inherited

Allows the solver to return without error when an iteration or time limit is reached

Extra doc: https://github.com/casadi/casadi/wiki/L_1e

◆ solve_prepare()

void casadi::OptiAdvanced::solve_prepare ( )

◆ solved()

bool casadi::OptiAdvanced::solved ( ) const

◆ solver()

void casadi::Opti::solver ( const std::string &  solver,
const Dict plugin_options = Dict(),
const Dict solver_options = Dict() 
)
inherited
Parameters
[in]solverany of the nlpsol plugins can be used here In practice, not all nlpsol plugins may be supported yet
[in]optionspassed on to nlpsol plugin No stability can be guaranteed about this part of the API
[in]optionsto be passed to nlpsol solver No stability can be guaranteed about this part of the API

Extra doc: https://github.com/casadi/casadi/wiki/L_1c

◆ solver_dirty()

bool casadi::OptiAdvanced::solver_dirty ( ) const

◆ stats()

Dict casadi::Opti::stats ( ) const
inherited

nlpsol stats are passed as-is. No stability can be guaranteed about this part of the API

Extra doc: https://github.com/casadi/casadi/wiki/L_1f

◆ subject_to() [1/3]

void casadi::Opti::subject_to ( )
inherited

◆ subject_to() [2/3]

void casadi::Opti::subject_to ( const MX g)
inherited

Examples:

* \begin{itemize}
* opti.subject_to( sqrt(x+y) >= 1);
* opti.subject_to( sqrt(x+y) > 1)}: same as above
* opti.subject_to( 1<= sqrt(x+y) )}: same as above
* opti.subject_to( 5*x+y==1 )}: equality
*
* Python
* opti.subject_to([x*y>=1,x==3])
* opti.subject_to(opti.bounded(0,x,1))
*
* MATLAB
* opti.subject_to({x*y>=1,x==3})
* opti.subject_to( 0<=x<=1 )
* 

Related functionalities:

  • opti.lbg,opti.g,opti.ubg represent the vector of flattened constraints
  • opti.debug.show_infeasibilities() may be used to inspect which constraints are violated

    Extra doc: https://github.com/casadi/casadi/wiki/L_1b

◆ subject_to() [3/3]

void casadi::Opti::subject_to ( const std::vector< MX > &  g)
inherited

Examples:

* \begin{itemize}
* opti.subject_to( sqrt(x+y) >= 1);
* opti.subject_to( sqrt(x+y) > 1)}: same as above
* opti.subject_to( 1<= sqrt(x+y) )}: same as above
* opti.subject_to( 5*x+y==1 )}: equality
*
* Python
* opti.subject_to([x*y>=1,x==3])
* opti.subject_to(opti.bounded(0,x,1))
*
* MATLAB
* opti.subject_to({x*y>=1,x==3})
* opti.subject_to( 0<=x<=1 )
* 

Related functionalities:

  • opti.lbg,opti.g,opti.ubg represent the vector of flattened constraints
  • opti.debug.show_infeasibilities() may be used to inspect which constraints are violated

    Extra doc: https://github.com/casadi/casadi/wiki/L_1b

◆ symvar() [1/3]

std::vector<MX> casadi::OptiAdvanced::symvar ( ) const

Returned vector is ordered according to the order of variable()/parameter() calls used to create the variables

Extra doc: https://github.com/casadi/casadi/wiki/L_1u

◆ symvar() [2/3]

std::vector<MX> casadi::OptiAdvanced::symvar ( const MX expr) const

Returned vector is ordered according to the order of variable()/parameter() calls used to create the variables

Extra doc: https://github.com/casadi/casadi/wiki/L_1u

◆ symvar() [3/3]

std::vector<MX> casadi::OptiAdvanced::symvar ( const MX expr,
VariableType  type 
) const

Returned vector is ordered according to the order of variable()/parameter() calls used to create the variables

Extra doc: https://github.com/casadi/casadi/wiki/L_1u

◆ to_function() [1/3]

Function casadi::Opti::to_function ( const std::string &  name,
const std::map< std::string, MX > &  dict,
const std::vector< std::string > &  name_in,
const std::vector< std::string > &  name_out,
const Dict opts = Dict() 
)
inherited
Parameters
[in]nameName of the resulting CasADi Function
[in]argsList of parameters and decision/dual variables (which can be given an initial guess) with the resulting Function
[in]resList of expressions that will get evaluated at the optimal solution
[in]optsStandard CasADi Funcion options

Extra doc: https://github.com/casadi/casadi/wiki/L_1j

◆ to_function() [2/3]

Function casadi::Opti::to_function ( const std::string &  name,
const std::vector< MX > &  args,
const std::vector< MX > &  res,
const Dict opts = Dict() 
)
inherited
Parameters
[in]nameName of the resulting CasADi Function
[in]argsList of parameters and decision/dual variables (which can be given an initial guess) with the resulting Function
[in]resList of expressions that will get evaluated at the optimal solution
[in]optsStandard CasADi Funcion options

Extra doc: https://github.com/casadi/casadi/wiki/L_1j

◆ to_function() [3/3]

Function casadi::Opti::to_function ( const std::string &  name,
const std::vector< MX > &  args,
const std::vector< MX > &  res,
const std::vector< std::string > &  name_in,
const std::vector< std::string > &  name_out,
const Dict opts = Dict() 
)
inherited
Parameters
[in]nameName of the resulting CasADi Function
[in]argsList of parameters and decision/dual variables (which can be given an initial guess) with the resulting Function
[in]resList of expressions that will get evaluated at the optimal solution
[in]optsStandard CasADi Funcion options

Extra doc: https://github.com/casadi/casadi/wiki/L_1j

◆ type_name()

std::string casadi::Opti::type_name ( ) const
inlineinherited

Definition at line 411 of file optistack.hpp.

◆ ubg()

MX casadi::Opti::ubg ( ) const
inherited

◆ update_user_dict() [1/2]

void casadi::Opti::update_user_dict ( const MX m,
const Dict meta 
)
inherited

Add arbitrary data in the form of a dictionary to symbols or constraints

Extra doc: https://github.com/casadi/casadi/wiki/L_1o

◆ update_user_dict() [2/2]

void casadi::Opti::update_user_dict ( const std::vector< MX > &  m,
const Dict meta 
)
inherited

◆ user_dict()

Dict casadi::Opti::user_dict ( const MX m) const
inherited

◆ value() [1/3]

native_DM casadi::Opti::value ( const DM x,
const std::vector< MX > &  values = std::vector< MX >() 
) const
inherited

Obtain value of expression at the current value

In regular mode, teh current value is the converged solution In debug mode, the value can be non-converged

Parameters
[in]valuesOptional assignment expressions (e.g. x==3) to overrule the current value

◆ value() [2/3]

native_DM casadi::Opti::value ( const MX x,
const std::vector< MX > &  values = std::vector< MX >() 
) const
inherited

Obtain value of expression at the current value

In regular mode, teh current value is the converged solution In debug mode, the value can be non-converged

Parameters
[in]valuesOptional assignment expressions (e.g. x==3) to overrule the current value

◆ value() [3/3]

native_DM casadi::Opti::value ( const SX x,
const std::vector< MX > &  values = std::vector< MX >() 
) const
inherited

Obtain value of expression at the current value

In regular mode, teh current value is the converged solution In debug mode, the value can be non-converged

Parameters
[in]valuesOptional assignment expressions (e.g. x==3) to overrule the current value

◆ value_parameters()

std::vector<MX> casadi::Opti::value_parameters ( ) const
inherited

◆ value_variables()

std::vector<MX> casadi::Opti::value_variables ( ) const
inherited

◆ variable()

MX casadi::Opti::variable ( casadi_int  n = 1,
casadi_int  m = 1,
const std::string &  attribute = "full" 
)
inherited

The order of creation matters. The order will be reflected in the optimization problem. It is not required for decision variables to actualy appear in the optimization problem.

Parameters
[in]nnumber of rows (default 1)
[in]mnumber of columnss (default 1)
[in]attribute'full' (default) or 'symmetric'

Extra doc: https://github.com/casadi/casadi/wiki/L_18

◆ x()

MX casadi::Opti::x ( ) const
inherited

◆ x_describe()

std::string casadi::OptiAdvanced::x_describe ( casadi_index  i) const

◆ x_lookup()

MX casadi::OptiAdvanced::x_lookup ( casadi_index  i) const

Friends And Related Function Documentation

◆ InternalOptiCallback

friend class InternalOptiCallback
friend

Definition at line 522 of file optistack.hpp.

Member Data Documentation

◆ problem_dirty_

bool casadi::OptiAdvanced::problem_dirty_

Definition at line 597 of file optistack.hpp.

◆ solved_

bool casadi::OptiAdvanced::solved_

Definition at line 605 of file optistack.hpp.

◆ solver_dirty_

bool casadi::OptiAdvanced::solver_dirty_

Definition at line 601 of file optistack.hpp.


The documentation for this class was generated from the following file: