casadi-bindings-core 1.9.0.5 → 2.0.0
raw patch · 3 files changed
+899/−78 lines, 3 files
Files
- Casadi/Core/Data.hs +867/−74
- Casadi/Core/Tools.hs +31/−3
- casadi-bindings-core.cabal +1/−1
Casadi/Core/Data.hs view
@@ -143,6 +143,7 @@ >Joris Gillis > >>Input scheme: casadi::ControlSimulatorInput (CONTROLSIMULATOR_NUM_IN = 3) [controlsimulatorIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -162,6 +163,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -305,7 +307,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >Diagrams+>-------- >+>+> >C++ includes: control_simulator.hpp -} newtype ControlSimulator = ControlSimulator (ForeignPtr ControlSimulator')@@ -391,6 +396,7 @@ >Joel Andersson > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -477,7 +483,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >Diagrams+>-------- >+>+> >C++ includes: custom_function.hpp -} newtype CustomFunction = CustomFunction (ForeignPtr CustomFunction')@@ -590,6 +599,7 @@ >Joel Andersson > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -676,7 +686,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >Diagrams+>-------- >+>+> >C++ includes: external_function.hpp -} newtype ExternalFunction = ExternalFunction (ForeignPtr ExternalFunction')@@ -753,6 +766,7 @@ >Joel Andersson > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -839,6 +853,7 @@ >+--------------+--------------+--------------+--------------+--------------+ > >>List of available monitors+> >+---------+--------------------------+ >| Id | Used in | >+=========+==========================+@@ -848,7 +863,10 @@ >+---------+--------------------------+ > >Diagrams+>-------- >+>+> >C++ includes: function.hpp -} newtype Function = Function (ForeignPtr Function')@@ -958,16 +976,34 @@ {-| >Base class for Homotopy NLP Solvers. >->Solves the following parametric nonlinear program (NLP):min F(x, p,->tau) x subject to LBX <= x <= UBX LBG <= G(x,->p) <= UBG p == P nx: number of decision variables->ng: number of constraints np: number of parameters+>Solves the following parametric nonlinear program (NLP): >+>::+>+> min F(x, p, tau)+> x+> +> subject to+> LBX <= x <= UBX+> LBG <= G(x, p) <= UBG+> p == P+> +> nx: number of decision variables+> ng: number of constraints+> np: number of parameters+> +>+>+> >In a homotopy from tau = 0 to tau = 1. > >General information+>=================== >+>+> >>Input scheme: casadi::NlpSolverInput (NLP_SOLVER_NUM_IN = 8) [nlpSolverIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -1006,6 +1042,7 @@ >+------------------------+------------------------+------------------------+ > >>Output scheme: casadi::NlpSolverOutput (NLP_SOLVER_NUM_OUT = 6) [nlpSolverOut]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -1035,6 +1072,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -1128,7 +1166,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_HomotopyNlpSolver_simple'>simple</a> > >Note: some of the plugins in this list might not be available on your@@ -1136,9 +1177,17 @@ >listed here. You can obtain their documentation with >HomotopyNlpSolver.doc("myextraplugin") >+>+>+>--------------------------------------------------------------------------------+> >simple+>------ >+>+> >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -1157,8 +1206,16 @@ >| | | | tau=1. | >+-----------------+-----------------+-----------------+-----------------+ >->Joris Gillis Diagrams+>-------------------------------------------------------------------------------- >+>+>+>Joris Gillis+>Diagrams+>--------+>+>+> >C++ includes: homotopy_nlp_solver.hpp -} newtype HomotopyNlpSolver = HomotopyNlpSolver (ForeignPtr HomotopyNlpSolver')@@ -1281,8 +1338,12 @@ >ImplicitFunction. > >General information+>=================== >+>+> >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -1409,7 +1470,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_ImplicitFunction_kinsol'>kinsol</a> > >- <a href='#plugin_ImplicitFunction_newton'>newton</a>@@ -1421,11 +1485,19 @@ >listed here. You can obtain their documentation with >ImplicitFunction.doc("myextraplugin") >+>+>+>--------------------------------------------------------------------------------+> >kinsol+>------ >+>+> >KINSOL interface from the Sundials suite > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -1478,6 +1550,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available monitors+> >+-----------+ >| Id | >+===========+@@ -1486,11 +1559,21 @@ >| eval_f | >+-----------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >newton+>------ >+>+> >Implements simple newton iterations to solve an implicit function. > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -1512,6 +1595,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available monitors+> >+----------+ >| Id | >+==========+@@ -1527,6 +1611,7 @@ >+----------+ > >>List of available stats+> >+---------------+ >| Id | >+===============+@@ -1535,11 +1620,21 @@ >| return_status | >+---------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >nlp+>--- >+>+> >Use an NlpSolver as ImplicitFunction solver > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -1554,14 +1649,23 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available stats+> >+------------------+ >| Id | >+==================+ >| nlp_solver_stats | >+------------------+ >->Joel Andersson Diagrams+>-------------------------------------------------------------------------------- >+>+>+>Joel Andersson+>Diagrams+>--------+>+>+> >C++ includes: implicit_function.hpp -} newtype ImplicitFunction = ImplicitFunction (ForeignPtr ImplicitFunction')@@ -1608,24 +1712,44 @@ > >Solves an initial value problem (IVP) coupled to a terminal value problem >with differential equation given as an implicit ODE coupled to an algebraic->equation and a set of quadratures: Initial conditions at t=t0 x(t0) = x0->q(t0) = 0 Forward integration from t=t0 to t=tf der(x) = function(x, z,->p, t) Forward ODE 0 = fz(x, z, p, t) Forward algebraic->equations der(q) = fq(x, z, p, t) Forward quadratures->Terminal conditions at t=tf rx(tf) = rx0 rq(tf) = 0 Backward integration->from t=tf to t=t0 der(rx) = gx(rx, rz, rp, x, z, p, t) Backward ODE->0 = gz(rx, rz, rp, x, z, p, t) Backward algebraic equations der(rq) =->gq(rx, rz, rp, x, z, p, t) Backward quadratures where we assume that both->the forward and backwards integrations are index-1 (i.e. dfz/dz, dgz/drz->are invertible) and furthermore that gx, gz and gq have a linear dependency->on rx, rz and rp.+>equation and a set of quadratures: >+>::+>+> Initial conditions at t=t0+> x(t0) = x0+> q(t0) = 0+> +> Forward integration from t=t0 to t=tf+> der(x) = function(x, z, p, t) Forward ODE+> 0 = fz(x, z, p, t) Forward algebraic equations+> der(q) = fq(x, z, p, t) Forward quadratures+> +> Terminal conditions at t=tf+> rx(tf) = rx0+> rq(tf) = 0+> +> Backward integration from t=tf to t=t0+> der(rx) = gx(rx, rz, rp, x, z, p, t) Backward ODE+> 0 = gz(rx, rz, rp, x, z, p, t) Backward algebraic equations+> der(rq) = gq(rx, rz, rp, x, z, p, t) Backward quadratures+> +> where we assume that both the forward and backwards integrations are index-1+> (i.e. dfz/dz, dgz/drz are invertible) and furthermore that+> gx, gz and gq have a linear dependency on rx, rz and rp.+>+>+> >The Integrator class provides some additional functionality, such as getting >the value of the state and/or sensitivities at certain time points. > >General information+>=================== >+>+> >>Input scheme: casadi::IntegratorInput (INTEGRATOR_NUM_IN = 6) [integratorIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -1650,6 +1774,7 @@ >+------------------------+------------------------+------------------------+ > >>Output scheme: casadi::IntegratorOutput (INTEGRATOR_NUM_OUT = 6) [integratorOut]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -1676,6 +1801,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -1795,7 +1921,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_Integrator_cvodes'>cvodes</a> > >- <a href='#plugin_Integrator_idas'>idas</a>@@ -1811,8 +1940,15 @@ >listed here. You can obtain their documentation with >Integrator.doc("myextraplugin") >+>+>+>--------------------------------------------------------------------------------+> >cvodes+>------ >+>+> >Interface to CVodes from the Sundials suite. > >A call to evaluate will integrate to the end.@@ -1822,6 +1958,7 @@ >times t_i. > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -2057,6 +2194,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available monitors+> >+---------+ >| Id | >+=========+@@ -2074,6 +2212,7 @@ >+---------+ > >>List of available stats+> >+-------------+ >| Id | >+=============+@@ -2086,11 +2225,21 @@ >| nstepsB | >+-------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >idas+>---- >+>+> >Interface to IDAS from the Sundials suite. > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -2360,6 +2509,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available monitors+> >+--------------------------+ >| Id | >+==========================+@@ -2385,6 +2535,7 @@ >+--------------------------+ > >>List of available stats+> >+-------------+ >| Id | >+=============+@@ -2397,14 +2548,24 @@ >| nstepsB | >+-------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >collocation+>----------- >+>+> >Fixed-step implicit Runge-Kutta integrator ODE/DAE integrator based on >collocation schemes > >The method is still under development > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -2427,13 +2588,23 @@ >| e_elements | | | finite elements | >+-----------------+-----------------+-----------------+-----------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >oldcollocation+>-------------- >+>+> >Collocation integrator ODE/DAE integrator based on collocation > >The method is still under development > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -2484,14 +2655,23 @@ >| | | | integrator | >+-----------------+-----------------+-----------------+-----------------+ >->rk+>-------------------------------------------------------------------------------- >+>+>+>--------------------------------------------------------------------------------+>+>rk --+>+>+> >Fixed-step explicit Runge-Kutta integrator for ODEs Currently implements >RK4. > >The method is still under development > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -2499,8 +2679,16 @@ >| e_elements | | | finite elements | >+-----------------+-----------------+-----------------+-----------------+ >->Joel Andersson Diagrams+>-------------------------------------------------------------------------------- >+>+>+>Joel Andersson+>Diagrams+>--------+>+>+> >C++ includes: integrator.hpp -} newtype Integrator = Integrator (ForeignPtr Integrator')@@ -2565,8 +2753,12 @@ >therefore more expensive if A is invariant. > >General information+>=================== >+>+> >>Input scheme: casadi::LinsolInput (LINSOL_NUM_IN = 2) [linsolIn]+> >+-----------+-------+------------------------------------------------+ >| Full name | Short | Description | >+===========+=======+================================================+@@ -2576,6 +2768,7 @@ >+-----------+-------+------------------------------------------------+ > >>Output scheme: casadi::LinsolOutput (LINSOL_NUM_OUT = 1) [linsolOut]+> >+-----------+-------+----------------------------------------------+ >| Full name | Short | Description | >+===========+=======+==============================================+@@ -2583,6 +2776,7 @@ >+-----------+-------+----------------------------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -2669,7 +2863,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_LinearSolver_csparsecholesky'>csparsecholesky</a> > >- <a href='#plugin_LinearSolver_csparse'>csparse</a>@@ -2685,32 +2882,60 @@ >listed here. You can obtain their documentation with >LinearSolver.doc("myextraplugin") >+>+>+>--------------------------------------------------------------------------------+> >csparsecholesky+>--------------- >+>+> >LinearSolver with CSparseCholesky Interface > >>List of available options+> >+----+------+---------+-------------+ >| Id | Type | Default | Description | >+====+======+=========+=============+ >+----+------+---------+-------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >csparse+>------- >+>+> >LinearSolver with CSparse Interface > >>List of available options+> >+----+------+---------+-------------+ >| Id | Type | Default | Description | >+====+======+=========+=============+ >+----+------+---------+-------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >lapacklu+>-------- >+>+> >This class solves the linear system A.x=b by making an LU factorization of >A: A = L.U, with L lower and U upper triangular > >>List of available options+> >+-----------------------------+------------+---------+-------------+ >| Id | Type | Default | Description | >+=============================+============+=========+=============+@@ -2719,23 +2944,43 @@ >| equilibration | OT_BOOLEAN | true | | >+-----------------------------+------------+---------+-------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >lapackqr+>-------- >+>+> >This class solves the linear system A.x=b by making an QR factorization of >A: A = Q.R, with Q orthogonal and R upper triangular > >>List of available options+> >+----+------+---------+-------------+ >| Id | Type | Default | Description | >+====+======+=========+=============+ >+----+------+---------+-------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >symbolicqr+>---------- >+>+> >LinearSolver based on QR factorization with sparsity pattern based >reordering without partial pivoting > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -2749,8 +2994,16 @@ >| | | | generated code | >+-----------------+-----------------+-----------------+-----------------+ >->Joel Andersson Diagrams+>-------------------------------------------------------------------------------- >+>+>+>Joel Andersson+>Diagrams+>--------+>+>+> >C++ includes: linear_solver.hpp -} newtype LinearSolver = LinearSolver (ForeignPtr LinearSolver')@@ -2795,14 +3048,35 @@ > >Solves the following linear problem: >->min c' x x subject to LBA <= A x <= UBA LBX <= x <= UBX with x (->n x 1) c ( n x 1 ) A sparse matrix ( nc x n) LBA, UBA dense vector (nc x 1)->LBX, UBX dense vector (n x 1) n: number of decision variables (x) nc:->number of constraints (A) >+>+>::+>+> min c' x+> x+> +> subject to+> LBA <= A x <= UBA+> LBX <= x <= UBX+> +> with x ( n x 1)+> c ( n x 1 )+> A sparse matrix ( nc x n)+> LBA, UBA dense vector (nc x 1)+> LBX, UBX dense vector (n x 1)+> +> n: number of decision variables (x)+> nc: number of constraints (A)+>+>+> >General information+>=================== >+>+> >>Input scheme: casadi::LpSolverInput (LP_SOLVER_NUM_IN = 6) [lpIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -2824,6 +3098,7 @@ >+------------------------+------------------------+------------------------+ > >>Output scheme: casadi::LpSolverOutput (LP_SOLVER_NUM_OUT = 4) [lpOut]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -2841,6 +3116,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -2927,7 +3203,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_LpSolver_qp'>qp</a> > >Note: some of the plugins in this list might not be available on your@@ -2935,11 +3214,18 @@ >listed here. You can obtain their documentation with >LpSolver.doc("myextraplugin") >->qp >+>+>--------------------------------------------------------------------------------+>+>qp --+>+>+> >Solve LPs using a QpSolver > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -2953,14 +3239,23 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available stats+> >+-----------------+ >| Id | >+=================+ >| qp_solver_stats | >+-----------------+ >->Joris Gillis Diagrams+>-------------------------------------------------------------------------------- >+>+>+>Joris Gillis+>Diagrams+>--------+>+>+> >C++ includes: lp_solver.hpp -} newtype LpSolver = LpSolver (ForeignPtr LpSolver')@@ -3036,6 +3331,7 @@ >Joel Andersson > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -3122,7 +3418,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >Diagrams+>-------- >+>+> >C++ includes: mx_function.hpp -} newtype MXFunction = MXFunction (ForeignPtr MXFunction')@@ -3165,14 +3464,32 @@ {-| >NlpSolver. >->Solves the following parametric nonlinear program (NLP):min F(x, p)->x subject to LBX <= x <= UBX LBG <= G(x, p) <= UBG->p == P nx: number of decision variables ng: number of constraints->np: number of parameters+>Solves the following parametric nonlinear program (NLP): >+>::+>+> min F(x, p)+> x+> +> subject to+> LBX <= x <= UBX+> LBG <= G(x, p) <= UBG+> p == P+> +> nx: number of decision variables+> ng: number of constraints+> np: number of parameters+> +>+>+> >General information+>=================== >+>+> >>Input scheme: casadi::NlpSolverInput (NLP_SOLVER_NUM_IN = 8) [nlpSolverIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -3211,6 +3528,7 @@ >+------------------------+------------------------+------------------------+ > >>Output scheme: casadi::NlpSolverOutput (NLP_SOLVER_NUM_OUT = 6) [nlpSolverOut]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -3240,6 +3558,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -3425,7 +3744,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_NlpSolver_ipopt'>ipopt</a> > >- <a href='#plugin_NlpSolver_knitro'>knitro</a>@@ -3445,8 +3767,15 @@ >listed here. You can obtain their documentation with >NlpSolver.doc("myextraplugin") >+>+>+>--------------------------------------------------------------------------------+> >ipopt+>----- >+>+> >When in warmstart mode, output NLP_SOLVER_LAM_X may be used as input > >NOTE: Even when max_iter == 0, it is not guaranteed that@@ -3467,6 +3796,7 @@ >'make_constraint' or 'relax_bounds' to obtain correct results. > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -5686,6 +6016,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available monitors+> >+-------------+ >| Id | >+=============+@@ -5701,6 +6032,7 @@ >+-------------+ > >>List of available stats+> >+--------------------+ >| Id | >+====================+@@ -5751,11 +6083,21 @@ >| var_string_md | >+--------------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >knitro+>------ >+>+> >KNITRO interface > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -5848,6 +6190,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available monitors+> >+-------------+ >| Id | >+=============+@@ -5862,11 +6205,21 @@ >| eval_jac_g | >+-------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >snopt+>----- >+>+> >SNOPT interface > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -5906,6 +6259,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available monitors+> >+-----------+ >| Id | >+===========+@@ -5915,6 +6269,7 @@ >+-----------+ > >>List of available stats+> >+----------------+ >| Id | >+================+@@ -5939,11 +6294,21 @@ >| t_mainloop | >+----------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >worhp+>----- >+>+> >WORHP interface > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -6714,6 +7079,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available monitors+> >+-------------+ >| Id | >+=============+@@ -6729,6 +7095,7 @@ >+-------------+ > >>List of available stats+> >+--------------------+ >| Id | >+====================+@@ -6769,12 +7136,22 @@ >| t_mainloop | >+--------------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >scpgen+>------ >+>+> >A structure-exploiting sequential quadratic programming (to be come >sequential convex programming) method for nonlinear programming. > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -6877,6 +7254,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available monitors+> >+-------------+ >| Id | >+=============+@@ -6896,17 +7274,28 @@ >+-------------+ > >>List of available stats+> >+------------+ >| Id | >+============+ >| iter_count | >+------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >sqpmethod+>--------- >+>+> >A textbook SQPMethod > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -6984,6 +7373,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available monitors+> >+-------------+ >| Id | >+=============+@@ -7005,6 +7395,7 @@ >+-------------+ > >>List of available stats+> >+--------------------+ >| Id | >+====================+@@ -7043,11 +7434,21 @@ >| t_mainloop | >+--------------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >stabilizedsqp+>------------- >+>+> >Stabilized Sequential Quadratic Programming method. > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -7185,6 +7586,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available monitors+> >+-------------+ >| Id | >+=============+@@ -7204,6 +7606,7 @@ >+-------------+ > >>List of available stats+> >+---------------+ >| Id | >+===============+@@ -7212,8 +7615,16 @@ >| return_status | >+---------------+ >->Joel Andersson Diagrams+>-------------------------------------------------------------------------------- >+>+>+>Joel Andersson+>Diagrams+>--------+>+>+> >C++ includes: nlp_solver.hpp -} newtype NlpSolver = NlpSolver (ForeignPtr NlpSolver')@@ -7268,6 +7679,7 @@ >basis Joris Gillis > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -7359,7 +7771,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >Diagrams+>-------- >+>+> >C++ includes: nullspace.hpp -} newtype Nullspace = Nullspace (ForeignPtr Nullspace')@@ -7405,6 +7820,7 @@ >Joel Andersson > >>Input scheme: casadi::OCPInput (OCP_NUM_IN = 13) [ocpIn]+> >+------------+--------+----------------------------------------------+ >| Full name | Short | Description | >+============+========+==============================================+@@ -7436,6 +7852,7 @@ >+------------+--------+----------------------------------------------+ > >>Output scheme: casadi::OCPOutput (OCP_NUM_OUT = 4) [ocpOut]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -7453,6 +7870,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -7551,7 +7969,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >Diagrams+>-------- >+>+> >C++ includes: ocp_solver.hpp -} newtype OCPSolver = OCPSolver (ForeignPtr OCPSolver')@@ -7604,6 +8025,7 @@ >Joel Andersson > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -7613,7 +8035,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >Diagrams+>-------- >+>+> >C++ includes: options_functionality.hpp -} newtype OptionsFunctionality = OptionsFunctionality (ForeignPtr OptionsFunctionality')@@ -7650,6 +8075,7 @@ >Joel Andersson > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -7740,6 +8166,7 @@ >+--------------+--------------+--------------+--------------+--------------+ > >>List of available stats+> >+-----------------+------------------------------+ >| Id | Used in | >+=================+==============================+@@ -7759,7 +8186,10 @@ >+-----------------+------------------------------+ > >Diagrams+>-------- >+>+> >C++ includes: parallelizer.hpp -} newtype Parallelizer = Parallelizer (ForeignPtr Parallelizer')@@ -7833,17 +8263,38 @@ > >Solves the following strictly convex problem: >->min 1/2 x' H x + g' x x subject to 1/2 x' Pi x + qi' x + ri <=->0 for i=0..nq-1 LBA <= A x <= UBA LBX <= x <= UBX with : H, Pi sparse->(n x n) positive definite g, qi dense (n x 1) ri scalar n: number of->decision variables (x) nc: number of linear constraints (A) nq: number of->quadratic constraints >+>+>::+>+> min 1/2 x' H x + g' x+> x+> +> subject to+> 1/2 x' Pi x + qi' x + ri <= 0 for i=0..nq-1+> LBA <= A x <= UBA+> LBX <= x <= UBX+> +> with :+> H, Pi sparse (n x n) positive definite+> g, qi dense (n x 1)+> ri scalar+> +> n: number of decision variables (x)+> nc: number of linear constraints (A)+> nq: number of quadratic constraints+>+>+> >If H, Pi is not positive-definite, the solver should throw an error. > >General information+>=================== >+>+> >>Input scheme: casadi::QcqpSolverInput (QCQP_SOLVER_NUM_IN = 12) [qcqpIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -7892,6 +8343,7 @@ >+------------------------+------------------------+------------------------+ > >>Output scheme: casadi::QcqpSolverOutput (QCQP_SOLVER_NUM_OUT = 4) [qcqpOut]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -7909,6 +8361,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -7995,7 +8448,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_QcqpSolver_socp'>socp</a> > >Note: some of the plugins in this list might not be available on your@@ -8003,8 +8459,15 @@ >listed here. You can obtain their documentation with >QcqpSolver.doc("myextraplugin") >+>+>+>--------------------------------------------------------------------------------+> >socp+>---- >+>+> >Solve a QCQP with an SocpSolver > >Note: this implementation relies on Cholesky decomposition: Chol(H) = L -> H@@ -8014,15 +8477,33 @@ >A better implementation would rely on matrix square root, but we need >singular value decomposition to implement that. >->This implementation makes use of the epigraph reformulation:* min f(x) *->x * * min t * x, t f(x) <= t *+>This implementation makes use of the epigraph reformulation: >->This implementation makes use of the following identity:* || Gx+h||_2 <=->e'x + f * * x'(G'G - ee')x + (2 h'G - 2 f e') x + h'h - f <= 0 * where we->put e = [0 0 ... 1] for the quadratic constraint arising from the epigraph->reformulation and e==0 for all other quadratic constraints.+>:: >+> * min f(x)+> * x+> *+> * min t+> * x, t f(x) <= t+> * +>+>+>+>This implementation makes use of the following identity:+>+>::+>+> * || Gx+h||_2 <= e'x + f+> *+> * x'(G'G - ee')x + (2 h'G - 2 f e') x + h'h - f <= 0+> * +>+>where we put e = [0 0 ... 1] for the quadratic constraint arising from the+>epigraph reformulation and e==0 for all other quadratic constraints.+> >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -8036,14 +8517,23 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available stats+> >+-------------------+ >| Id | >+===================+ >| socp_solver_stats | >+-------------------+ >->Joris Gillis Diagrams+>-------------------------------------------------------------------------------- >+>+>+>Joris Gillis+>Diagrams+>--------+>+>+> >C++ includes: qcqp_solver.hpp -} newtype QcqpSolver = QcqpSolver (ForeignPtr QcqpSolver')@@ -8088,16 +8578,35 @@ > >Solves the following strictly convex problem: >->min 1/2 x' H x + g' x x subject to LBA <= A x <= UBA->LBX <= x <= UBX with : H sparse (n x n) positive definite->g dense (n x 1) n: number of decision variables (x) nc: number of->constraints (A) >+>+>::+>+> min 1/2 x' H x + g' x+> x+> +> subject to+> LBA <= A x <= UBA+> LBX <= x <= UBX+> +> with :+> H sparse (n x n) positive definite+> g dense (n x 1)+> +> n: number of decision variables (x)+> nc: number of constraints (A)+>+>+> >If H is not positive-definite, the solver should throw an error. > >General information+>=================== >+>+> >>Input scheme: casadi::QpSolverInput (QP_SOLVER_NUM_IN = 9) [qpIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -8130,6 +8639,7 @@ >+------------------------+------------------------+------------------------+ > >>Output scheme: casadi::QpSolverOutput (QP_SOLVER_NUM_OUT = 4) [qpOut]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -8147,6 +8657,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -8233,7 +8744,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_QpSolver_cplex'>cplex</a> > >- <a href='#plugin_QpSolver_ooqp'>ooqp</a>@@ -8251,11 +8765,19 @@ >listed here. You can obtain their documentation with >QpSolver.doc("myextraplugin") >+>+>+>--------------------------------------------------------------------------------+> >cplex+>----- >+>+> >Interface to Cplex solver for sparse Quadratic Programs > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -8309,8 +8831,17 @@ >| | | | methods). | >+-----------------+-----------------+-----------------+-----------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >ooqp+>---- >+>+> >Interface to the OOQP Solver for quadratic programming The current >implementation assumes that OOQP is configured with the MA27 sparse linear >solver.@@ -8319,6 +8850,7 @@ >reInit(); > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -8338,11 +8870,21 @@ >| | | | 10 and 100 | >+-----------------+-----------------+-----------------+-----------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >qpoases+>------- >+>+> >Interface to QPOases Solver for quadratic programming > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -8529,21 +9071,41 @@ >| | | | stop homotopy. | >+-----------------+-----------------+-----------------+-----------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >sqic+>---- >+>+> >Interface to the SQIC solver for quadratic programming > >>List of available options+> >+----+------+---------+-------------+ >| Id | Type | Default | Description | >+====+======+=========+=============+ >+----+------+---------+-------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >nlp+>--- >+>+> >Solve QPs using an NlpSolver > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -8557,17 +9119,28 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available stats+> >+------------------+ >| Id | >+==================+ >| nlp_solver_stats | >+------------------+ >+>--------------------------------------------------------------------------------+>+>+>+>--------------------------------------------------------------------------------+> >qcqp+>---- >+>+> >Solve QP using a QcqpSolver > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -8581,14 +9154,23 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available stats+> >+-------------------+ >| Id | >+===================+ >| qcqp_solver_stats | >+-------------------+ >->Joel Andersson Diagrams+>-------------------------------------------------------------------------------- >+>+>+>Joel Andersson+>Diagrams+>--------+>+>+> >C++ includes: qp_solver.hpp -} newtype QpSolver = QpSolver (ForeignPtr QpSolver')@@ -8686,6 +9268,7 @@ >Joel Andersson > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -8790,7 +9373,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >Diagrams+>-------- >+>+> >C++ includes: sx_function.hpp -} newtype SXFunction = SXFunction (ForeignPtr SXFunction')@@ -8838,40 +9424,97 @@ > >Primal: >->min c' x x subject to P = Sum_i^m F_i x_i - G P negative->semidefinite LBA <= A x <= UBA LBX <= x <= UBX with x ( n x 1) c ( n x 1->) G, F_i sparse symmetric (m x m) X dense symmetric ( m x m ) A sparse->matrix ( nc x n) LBA, UBA dense vector (nc x 1) LBX, UBX dense vector (n x->1) >+>+>::+>+> min c' x+> x+> subject to+> P = Sum_i^m F_i x_i - G+> P negative semidefinite+> +> LBA <= A x <= UBA+> LBX <= x <= UBX+> +> with x ( n x 1)+> c ( n x 1 )+> G, F_i sparse symmetric (m x m)+> X dense symmetric ( m x m )+> A sparse matrix ( nc x n)+> LBA, UBA dense vector (nc x 1)+> LBX, UBX dense vector (n x 1)+>+>+> >This formulation is chosen as primal, because it does not call for a large >decision variable space. > >Dual: >->max trace(G Y) Y subject to trace(F_i Y) = c_i Y positive->semidefinite with Y dense symmetric ( m x m) >+>+>::+>+> max trace(G Y)+> Y+> +> subject to+> trace(F_i Y) = c_i+> Y positive semidefinite+> +> with Y dense symmetric ( m x m)+>+>+> >On generality: you might have formulation with block partitioning: > >Primal: >->min c' x x subject to Pj = Sum_i^m F_ij x_i - gj for all j Pj->negative semidefinite for all j with x ( n x 1) c ( n x 1 ) G, F_i->sparse symmetric (m x m) X dense symmetric ( m x m ) >->Dual:max Sum_j trace(Gj Yj) Yj subject to Sum_j trace(F_ij Yj) =->c_i for all j Yj positive semidefinite for all j with Y dense->symmetric ( m x m) >+>::+>+> min c' x+> x+> subject to+> Pj = Sum_i^m F_ij x_i - gj for all j+> Pj negative semidefinite for all j+> +> with x ( n x 1)+> c ( n x 1 )+> G, F_i sparse symmetric (m x m)+> X dense symmetric ( m x m )+>+>+>+>Dual:+>+>::+>+> max Sum_j trace(Gj Yj)+> Yj+> +> subject to+> Sum_j trace(F_ij Yj) = c_i for all j+> Yj positive semidefinite for all j+> +> with Y dense symmetric ( m x m)+>+>+> >You can cast this into the standard form with: G = blkdiag(Gj for all j) Fi >= blkdiag(F_ij for all j) > >Implementations of SdpSolver are encouraged to exploit this block structure. > >General information+>=================== >+>+> >>Input scheme: casadi::SDPInput (SDP_SOLVER_NUM_IN = 8) [sdpIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -8902,6 +9545,7 @@ >+------------------------+------------------------+------------------------+ > >>Output scheme: casadi::SDPOutput (SDP_SOLVER_NUM_OUT = 7) [sdpOut]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -8935,6 +9579,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -9062,7 +9707,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_SdpSolver_dsdp'>dsdp</a> > >Note: some of the plugins in this list might not be available on your@@ -9070,14 +9718,22 @@ >listed here. You can obtain their documentation with >SdpSolver.doc("myextraplugin") >+>+>+>--------------------------------------------------------------------------------+> >dsdp+>---- >+>+> >Interface to the SDP solver DSDP Warning: The solver DSDP is not good at >handling linear equalities. There are several options if you notice >difficulties: play around with the parameter "_penalty" leave a gap >manually switch to another SDP Solver > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -9176,6 +9832,7 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available stats+> >+--------------------+ >| Id | >+====================+@@ -9184,8 +9841,16 @@ >| termination_reason | >+--------------------+ >->Joel Andersson Diagrams+>-------------------------------------------------------------------------------- >+>+>+>Joel Andersson+>Diagrams+>--------+>+>+> >C++ includes: sdp_solver.hpp -} newtype SdpSolver = SdpSolver (ForeignPtr SdpSolver')@@ -9231,8 +9896,12 @@ >Same as an SdpSolver, but with a quadratic objective 1/2 x' H x > >General information+>=================== >+>+> >>Input scheme: casadi::SDQPInput (SDQP_SOLVER_NUM_IN = 9) [sdqpIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -9266,6 +9935,7 @@ >+------------------------+------------------------+------------------------+ > >>Output scheme: casadi::SDQPOutput (SDQP_SOLVER_NUM_OUT = 7) [sdqpOut]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -9299,6 +9969,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -9396,7 +10067,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_SdqpSolver_sdp'>sdp</a> > >Note: some of the plugins in this list might not be available on your@@ -9404,8 +10078,15 @@ >listed here. You can obtain their documentation with >SdqpSolver.doc("myextraplugin") >+>+>+>--------------------------------------------------------------------------------+> >sdp+>--- >+>+> >Solve an SQDP using an SdpSolver Note: this implementation relies on >Cholesky decomposition: Chol(H) = L -> H = LL' with L lower triangular This >requires Pi, H to be positive definite. Positive semi-definite is not@@ -9415,6 +10096,7 @@ >singular value decomposition to implement that. > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -9428,14 +10110,23 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available stats+> >+------------------+ >| Id | >+==================+ >| sdp_solver_stats | >+------------------+ >->Joel Andersson Diagrams+>-------------------------------------------------------------------------------- >+>+>+>Joel Andersson+>Diagrams+>--------+>+>+> >C++ includes: sdqp_solver.hpp -} newtype SdqpSolver = SdqpSolver (ForeignPtr SdqpSolver')@@ -9555,6 +10246,7 @@ >Joel Andersson > >>Input scheme: casadi::IntegratorInput (INTEGRATOR_NUM_IN = 6) [integratorIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -9579,6 +10271,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -9666,6 +10359,7 @@ >+--------------+--------------+--------------+--------------+--------------+ > >>List of available monitors+> >+---------+---------------------------+ >| Id | Used in | >+=========+===========================+@@ -9679,7 +10373,10 @@ >+---------+---------------------------+ > >Diagrams+>-------- >+>+> >C++ includes: simulator.hpp -} newtype Simulator = Simulator (ForeignPtr Simulator')@@ -9759,15 +10456,38 @@ > >Primal: >->min c' x x subject to || Gi' x + hi ||_2 <= ei' x + fi i = 1..m->LBA <= A x <= UBA LBX <= x <= UBX with x ( n x 1) c ( n x 1 ) Gi sparse->(n x ni) hi dense (ni x 1) ei dense (n x 1) fi dense (1 x 1) N = Sum_i^m->ni A sparse (nc x n) LBA, UBA dense vector (nc x 1) LBX, UBX dense vector (n->x 1) >+>+>::+>+> min c' x+> x+> subject to+> || Gi' x + hi ||_2 <= ei' x + fi i = 1..m+> +> LBA <= A x <= UBA+> LBX <= x <= UBX+> +> with x ( n x 1)+> c ( n x 1 )+> Gi sparse (n x ni)+> hi dense (ni x 1)+> ei dense (n x 1)+> fi dense (1 x 1)+> N = Sum_i^m ni+> A sparse (nc x n)+> LBA, UBA dense vector (nc x 1)+> LBX, UBX dense vector (n x 1)+>+>+> >General information+>=================== >+>+> >>Input scheme: casadi::SOCPInput (SOCP_SOLVER_NUM_IN = 10) [socpIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -9807,6 +10527,7 @@ >+------------------------+------------------------+------------------------+ > >>Output scheme: casadi::SOCPOutput (SOCP_SOLVER_NUM_OUT = 4) [socpOut]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -9828,6 +10549,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -9927,7 +10649,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_SocpSolver_sdp'>sdp</a> > >Note: some of the plugins in this list might not be available on your@@ -9935,11 +10660,19 @@ >listed here. You can obtain their documentation with >SocpSolver.doc("myextraplugin") >+>+>+>--------------------------------------------------------------------------------+> >sdp+>--- >+>+> >Solve SOCPs using an SdpSolver > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -9953,14 +10686,23 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available stats+> >+------------------+ >| Id | >+==================+ >| sdp_solver_stats | >+------------------+ >->Joris Gillis Diagrams+>-------------------------------------------------------------------------------- >+>+>+>Joris Gillis+>Diagrams+>--------+>+>+> >C++ includes: socp_solver.hpp -} newtype SocpSolver = SocpSolver (ForeignPtr SocpSolver')@@ -10074,15 +10816,35 @@ > >Solves the following strictly convex problem: >->min 1/2 x' H x + g' x x subject to LBA <= A x <= UBA LBX <= x <=->UBX with : H sparse (n x n) positive definite g dense (n x 1) n: number of->decision variables (x) nc: number of constraints (A) >+>+>::+>+> min 1/2 x' H x + g' x+> x+> +> subject to+> LBA <= A x <= UBA+> LBX <= x <= UBX+> +> with :+> H sparse (n x n) positive definite+> g dense (n x 1)+> +> n: number of decision variables (x)+> nc: number of constraints (A)+>+>+> >If H is not positive-definite, the solver should throw an error. > >General information+>=================== >+>+> >>Input scheme: casadi::StabilizedQpSolverInput (STABILIZED_QP_SOLVER_NUM_IN = 12) [stabilizedQpIn]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -10130,6 +10892,7 @@ >+------------------------+------------------------+------------------------+ > >>Output scheme: casadi::QpSolverOutput (QP_SOLVER_NUM_OUT = 4) [qpOut]+> >+------------------------+------------------------+------------------------+ >| Full name | Short | Description | >+========================+========================+========================+@@ -10147,6 +10910,7 @@ >+------------------------+------------------------+------------------------+ > >>List of available options+> >+--------------+--------------+--------------+--------------+--------------+ >| Id | Type | Default | Description | Used in | >+==============+==============+==============+==============+==============+@@ -10233,7 +10997,10 @@ >+--------------+--------------+--------------+--------------+--------------+ > >List of plugins+>=============== >+>+> >- <a href='#plugin_StabilizedQpSolver_sqic'>sqic</a> > >- <a href='#plugin_StabilizedQpSolver_qp'>qp</a>@@ -10243,21 +11010,38 @@ >listed here. You can obtain their documentation with >StabilizedQpSolver.doc("myextraplugin") >+>+>+>--------------------------------------------------------------------------------+> >sqic+>---- >+>+> >Interface to SQIC > >>List of available options+> >+----+------+---------+-------------+ >| Id | Type | Default | Description | >+====+======+=========+=============+ >+----+------+---------+-------------+ >->qp+>-------------------------------------------------------------------------------- >+>+>+>--------------------------------------------------------------------------------+>+>qp --+>+>+> >Solved a stabilized QP using a standard QP solver > >>List of available options+> >+-----------------+-----------------+-----------------+-----------------+ >| Id | Type | Default | Description | >+=================+=================+=================+=================+@@ -10273,13 +11057,22 @@ >+-----------------+-----------------+-----------------+-----------------+ > >>List of available stats+> >+-----------------+ >| Id | >+=================+ >| qp_solver_stats | >+-----------------+ >->Joel Andersson Diagrams+>--------------------------------------------------------------------------------+>+>+>+>Joel Andersson+>Diagrams+>--------+>+> > >C++ includes: stabilized_qp_solver.hpp -}
Casadi/Core/Tools.hs view
@@ -1339,6 +1339,8 @@ foreign import ccall unsafe "blkdiag__2" c_blkdiag__2 :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SX')) -> IO (Ptr SX') {-|+>Construct a matrix with given blocks on the diagonal.+> >Construct a matrix with given block on the diagonal. -} blkdiag__2@@ -1356,6 +1358,8 @@ foreign import ccall unsafe "blkdiag__3" c_blkdiag__3 :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr DMatrix')) -> IO (Ptr DMatrix') {-|+>Construct a matrix with given blocks on the diagonal.+> >Construct a matrix with given block on the diagonal. -} blkdiag__3@@ -1373,6 +1377,8 @@ foreign import ccall unsafe "blkdiag__4" c_blkdiag__4 :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr IMatrix')) -> IO (Ptr IMatrix') {-|+>Construct a matrix with given blocks on the diagonal.+> >Construct a matrix with given block on the diagonal. -} blkdiag__4@@ -3961,6 +3967,7 @@ >f: dynamical system > >>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]+> >+-----------+-------+----------------------------+ >| Full name | Short | Description | >+===========+=======+============================+@@ -3974,6 +3981,7 @@ >+-----------+-------+----------------------------+ > >>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]+> >+-----------+-------+--------------------------------------------+ >| Full name | Short | Description | >+===========+=======+============================================+@@ -4017,6 +4025,7 @@ >f: dynamical system > >>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]+> >+-----------+-------+----------------------------+ >| Full name | Short | Description | >+===========+=======+============================+@@ -4030,6 +4039,7 @@ >+-----------+-------+----------------------------+ > >>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]+> >+-----------+-------+--------------------------------------------+ >| Full name | Short | Description | >+===========+=======+============================================+@@ -4074,6 +4084,7 @@ >f: dynamical system > >>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]+> >+-----------+-------+----------------------------+ >| Full name | Short | Description | >+===========+=======+============================+@@ -4087,6 +4098,7 @@ >+-----------+-------+----------------------------+ > >>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]+> >+-----------+-------+--------------------------------------------+ >| Full name | Short | Description | >+===========+=======+============================================+@@ -4132,6 +4144,7 @@ >f: dynamical system > >>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]+> >+-----------+-------+----------------------------+ >| Full name | Short | Description | >+===========+=======+============================+@@ -4145,6 +4158,7 @@ >+-----------+-------+----------------------------+ > >>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]+> >+-----------+-------+--------------------------------------------+ >| Full name | Short | Description | >+===========+=======+============================================+@@ -6276,6 +6290,7 @@ >f: dynamical system > >>Input scheme: casadi::DAEInput (DAE_NUM_IN = 4) [daeIn]+> >+-----------+-------+----------------------------+ >| Full name | Short | Description | >+===========+=======+============================+@@ -6289,6 +6304,7 @@ >+-----------+-------+----------------------------+ > >>Output scheme: casadi::DAEOutput (DAE_NUM_OUT = 3) [daeOut]+> >+-----------+-------+--------------------------------------------+ >| Full name | Short | Description | >+===========+=======+============================================+@@ -20224,7 +20240,11 @@ >$(x)=f(a)+f'(a)(x-a)+f''(a)\\\\frac >{(x-a)^2}{2!}+f'''(a)\\\\frac{(x-a)^3}{3!}+\\\\ldots$ >->Example usage:>> x+>Example usage:+>+>::+>+>>> x -} taylor__0 :: SX -> SX -> IO SX@@ -20250,7 +20270,11 @@ >$(x)=f(a)+f'(a)(x-a)+f''(a)\\\\frac >{(x-a)^2}{2!}+f'''(a)\\\\frac{(x-a)^3}{3!}+\\\\ldots$ >->Example usage:>> x+>Example usage:+>+>::+>+>>> x -} taylor__1 :: SX -> SX -> SX -> IO SX@@ -20277,7 +20301,11 @@ >$(x)=f(a)+f'(a)(x-a)+f''(a)\\\\frac >{(x-a)^2}{2!}+f'''(a)\\\\frac{(x-a)^3}{3!}+\\\\ldots$ >->Example usage:>> x+>Example usage:+>+>::+>+>>> x -} taylor__2 :: SX -> SX -> SX -> Int -> IO SX
casadi-bindings-core.cabal view
@@ -1,5 +1,5 @@ name: casadi-bindings-core-version: 1.9.0.5+version: 2.0.0 license: LGPL-3 license-file: LICENSE category: Numerical, Math