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

A simplified interface for NLP modeling/solving. More...

#include <optistack_internal.hpp>

Detailed Description

Date
2017
Author
Joris Gillis, Erik Lambrechts

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

Definition at line 55 of file optistack_internal.hpp.

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

Public Member Functions

 OptiNode (const std::string &problem_type)
 Create Opti Context. More...
 
 ~OptiNode ()
 Destructor. More...
 
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 (const MX &g)
 brief Add constraints More...
 
void subject_to ()
 Clear constraints. More...
 
void solver (const std::string &solver, const Dict &plugin_options=Dict(), const Dict &solver_options=Dict())
 Solver. More...
 
void set_domain (const MX &x, const std::string &domain)
 Set domain of variable. More...
 
OptiSol solve (bool accept_limit)
 Crunch the numbers; solve the problem. More...
 
Opti copy () const
 Copy. More...
 
Dict stats () const
 Get statistics. More...
 
std::string return_status () const
 Get return status of solver. More...
 
bool return_success (bool accept_limit) const
 Did the solver return successfully? More...
 
Function casadi_solver () const
 Get the underlying CasADi solver of the Opti stack. 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
 
void callback_class (OptiCallback *callback)
 
void callback_class ()
 
bool has_callback_class () const
 
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 update_user_dict (const MX &m, const Dict &meta)
 add meta-data of an expression More...
 
Dict user_dict (const MX &m) const
 
MX dual (const MX &m) const
 get the dual variable 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_int i) const
 
MX g_lookup (casadi_int i) const
 
std::string x_describe (casadi_int i) const
 
std::string g_describe (casadi_int i) const
 
std::string describe (const MX &x, casadi_int indent=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
 
std::string class_name () const override
 
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
 
MX ubg () const
 
MX lam_g () const
 Get dual variables as a symbolic column vector. More...
 
void assert_empty () const
 
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)
 Create a CasADi Function from the Opti solver. More...
 
void disp (std::ostream &stream, bool more=false) const override
 Print representation. More...
 
void bake ()
 Fix the structure of the optimization problem. More...
 
casadi_int instance_number () const
 
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
 
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...
 
DM value (const MX &x, const std::vector< MX > &values=std::vector< MX >()) const
 
DM value (const DM &x, const std::vector< MX > &values=std::vector< MX >()) const
 
DM value (const SX &x, const std::vector< MX > &values=std::vector< MX >()) const
 
std::vector< MXsymvar () const
 
std::vector< MXsymvar (const MX &expr) const
 
std::vector< MXsymvar (const MX &expr, VariableType type) const
 

Static Public Member Functions

static OptiNodecreate (const std::string &problem_type)
 

Public Attributes

bool problem_dirty_
 
bool solver_dirty_
 
bool solved_
 

Friends

class InternalOptiCallback
 

Constructor & Destructor Documentation

◆ OptiNode()

casadi::OptiNode::OptiNode ( const std::string &  problem_type)

◆ ~OptiNode()

casadi::OptiNode::~OptiNode ( )

Member Function Documentation

◆ active_symvar()

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

◆ active_values()

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

◆ arg()

DMDict casadi::OptiNode::arg ( ) const
inline

Definition at line 188 of file optistack_internal.hpp.

◆ assert_active_symbol()

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

◆ assert_baked()

void casadi::OptiNode::assert_baked ( ) const

◆ assert_empty()

void casadi::OptiNode::assert_empty ( ) const

◆ assert_solved()

void casadi::OptiNode::assert_solved ( ) const

◆ bake()

void casadi::OptiNode::bake ( )

◆ baked_copy()

OptiAdvanced casadi::OptiNode::baked_copy ( ) const
inline

Definition at line 194 of file optistack_internal.hpp.

◆ callback_class() [1/2]

void casadi::OptiNode::callback_class ( )

◆ callback_class() [2/2]

void casadi::OptiNode::callback_class ( OptiCallback callback)

◆ canon_expr()

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

◆ casadi_solver()

Function casadi::OptiNode::casadi_solver ( ) const

◆ class_name()

std::string casadi::OptiNode::class_name ( ) const
inlineoverride

Definition at line 200 of file optistack_internal.hpp.

◆ constraints()

std::vector<MX> casadi::OptiNode::constraints ( ) const
inline

Definition at line 191 of file optistack_internal.hpp.

◆ copy()

Opti casadi::OptiNode::copy ( ) const

◆ create()

static OptiNode* casadi::OptiNode::create ( const std::string &  problem_type)
static

◆ describe()

std::string casadi::OptiNode::describe ( const MX x,
casadi_int  indent = 0 
) const

◆ disp()

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

◆ dual()

MX casadi::OptiNode::dual ( const MX m) const

◆ f()

MX casadi::OptiNode::f ( ) const
inline

Definition at line 239 of file optistack_internal.hpp.

◆ g()

MX casadi::OptiNode::g ( ) const
inline

Definition at line 233 of file optistack_internal.hpp.

◆ g_describe()

std::string casadi::OptiNode::g_describe ( casadi_int  i) const

◆ g_lookup()

MX casadi::OptiNode::g_lookup ( casadi_int  i) const

◆ get_meta()

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

◆ get_meta_con()

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

◆ has_callback_class()

bool casadi::OptiNode::has_callback_class ( ) const

◆ initial()

std::vector<MX> casadi::OptiNode::initial ( ) const

◆ instance_number()

casadi_int casadi::OptiNode::instance_number ( ) const

◆ is_parametric()

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

◆ lam_g()

MX casadi::OptiNode::lam_g ( ) const
inline

Definition at line 255 of file optistack_internal.hpp.

◆ lbg()

MX casadi::OptiNode::lbg ( ) const
inline

Definition at line 244 of file optistack_internal.hpp.

◆ mark_problem_dirty()

void casadi::OptiNode::mark_problem_dirty ( bool  flag = true)
inline

Definition at line 282 of file optistack_internal.hpp.

◆ mark_solved()

void casadi::OptiNode::mark_solved ( bool  flag = true)
inline

Definition at line 290 of file optistack_internal.hpp.

◆ mark_solver_dirty()

void casadi::OptiNode::mark_solver_dirty ( bool  flag = true)
inline

Definition at line 286 of file optistack_internal.hpp.

◆ minimize()

void casadi::OptiNode::minimize ( const MX f)

◆ ng()

casadi_int casadi::OptiNode::ng ( ) const
inline

Definition at line 215 of file optistack_internal.hpp.

◆ np()

casadi_int casadi::OptiNode::np ( ) const
inline

Definition at line 209 of file optistack_internal.hpp.

◆ nx()

casadi_int casadi::OptiNode::nx ( ) const
inline

Definition at line 203 of file optistack_internal.hpp.

◆ objective()

MX casadi::OptiNode::objective ( ) const
inline

Definition at line 192 of file optistack_internal.hpp.

◆ p()

MX casadi::OptiNode::p ( ) const
inline

Definition at line 227 of file optistack_internal.hpp.

◆ parameter()

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

◆ problem_dirty()

bool casadi::OptiNode::problem_dirty ( ) const
inline

Definition at line 283 of file optistack_internal.hpp.

◆ res() [1/2]

DMDict casadi::OptiNode::res ( ) const
inline

Definition at line 190 of file optistack_internal.hpp.

◆ res() [2/2]

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

◆ return_status()

std::string casadi::OptiNode::return_status ( ) const

◆ return_success()

bool casadi::OptiNode::return_success ( bool  accept_limit) const

◆ set_domain()

void casadi::OptiNode::set_domain ( const MX x,
const std::string &  domain 
)

◆ set_initial() [1/2]

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

Set initial value for decision variables

◆ set_initial() [2/2]

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

Set initial value for decision variables

◆ set_meta()

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

◆ set_meta_con()

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

◆ set_value() [1/2]

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

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

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

◆ set_value() [2/2]

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

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

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

◆ solve()

OptiSol casadi::OptiNode::solve ( bool  accept_limit)

◆ solve_actual()

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

◆ solve_prepare()

void casadi::OptiNode::solve_prepare ( )

◆ solved()

bool casadi::OptiNode::solved ( ) const
inline

Definition at line 291 of file optistack_internal.hpp.

◆ solver()

void casadi::OptiNode::solver ( const std::string &  solver,
const Dict plugin_options = Dict(),
const Dict solver_options = Dict() 
)

◆ solver_dirty()

bool casadi::OptiNode::solver_dirty ( ) const
inline

Definition at line 287 of file optistack_internal.hpp.

◆ stats()

Dict casadi::OptiNode::stats ( ) const

◆ subject_to() [1/2]

void casadi::OptiNode::subject_to ( )

◆ subject_to() [2/2]

void casadi::OptiNode::subject_to ( const MX g)

◆ symvar() [1/3]

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

Get symbols present in expression

◆ symvar() [2/3]

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

Get symbols present in expression

◆ symvar() [3/3]

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

Get symbols present in expression

◆ to_function()

Function casadi::OptiNode::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 
)

◆ ubg()

MX casadi::OptiNode::ubg ( ) const
inline

Definition at line 249 of file optistack_internal.hpp.

◆ update_user_dict()

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

◆ user_dict()

Dict casadi::OptiNode::user_dict ( const MX m) const

◆ value() [1/3]

DM casadi::OptiNode::value ( const DM x,
const std::vector< MX > &  values = std::vector<MX>() 
) const
inline

Obtain value of expression at the current value

Definition at line 110 of file optistack_internal.hpp.

◆ value() [2/3]

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

Obtain value of expression at the current value

◆ value() [3/3]

DM casadi::OptiNode::value ( const SX x,
const std::vector< MX > &  values = std::vector<MX>() 
) const
inline

Obtain value of expression at the current value

Definition at line 111 of file optistack_internal.hpp.

◆ value_parameters()

std::vector<MX> casadi::OptiNode::value_parameters ( ) const

◆ value_variables()

std::vector<MX> casadi::OptiNode::value_variables ( ) const

◆ variable()

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

◆ x()

MX casadi::OptiNode::x ( ) const
inline

Definition at line 221 of file optistack_internal.hpp.

◆ x_describe()

std::string casadi::OptiNode::x_describe ( casadi_int  i) const

◆ x_lookup()

MX casadi::OptiNode::x_lookup ( casadi_int  i) const

Friends And Related Function Documentation

◆ InternalOptiCallback

friend class InternalOptiCallback
friend

Definition at line 57 of file optistack_internal.hpp.

Member Data Documentation

◆ problem_dirty_

bool casadi::OptiNode::problem_dirty_

Definition at line 281 of file optistack_internal.hpp.

◆ solved_

bool casadi::OptiNode::solved_

Definition at line 289 of file optistack_internal.hpp.

◆ solver_dirty_

bool casadi::OptiNode::solver_dirty_

Definition at line 285 of file optistack_internal.hpp.


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