Janus 2.0.0
High-performance C++20 dual-mode numerical framework
Loading...
Searching...
No Matches
janus::MultipleShooting Class Reference

Multiple shooting transcription. More...

#include <MultiShooting.hpp>

Inheritance diagram for janus::MultipleShooting:
Collaboration diagram for janus::MultipleShooting:

Public Member Functions

 MultipleShooting (Opti &opti)
 Construct with a reference to the optimization environment.
std::tuple< SymbolicMatrix, SymbolicMatrix, NumericVectorsetup (int n_states, int n_controls, double t0, double tf, const MultiShootingOptions &opts={})
 Set up the shooting problem with fixed final time.
std::tuple< SymbolicMatrix, SymbolicMatrix, NumericVectorsetup (int n_states, int n_controls, double t0, const SymbolicScalar &tf, const MultiShootingOptions &opts={})
 Set up the shooting problem with variable final time.
int n_intervals () const
 Get the number of shooting intervals.
Public Member Functions inherited from janus::TranscriptionBase< MultipleShooting >
 TranscriptionBase (Opti &opti)
 Construct with a reference to the optimization environment.
void set_initial_state (const NumericVector &x0)
 Pin all initial states to specified values.
void set_final_state (const NumericVector &xf)
 Pin all final states to specified values.
void set_dynamics (Func &&dynamics)
 Register the dynamics function xdot = f(x, u, t).
const SymbolicMatrixstates () const
 Get the state decision variable matrix.
const SymbolicMatrixcontrols () const
 Get the control decision variable matrix.
const NumericVectortime_grid () const
 Get the normalized time grid.
int n_nodes () const
 Get the number of discretization nodes.
int n_states () const
 Get the number of state variables per node.
int n_controls () const
 Get the number of control variables per node.
void add_dynamics_constraints ()
 Add dynamics constraints to the optimization problem.
void add_defect_constraints ()
 Alias for add_dynamics_constraints().
void add_continuity_constraints ()
 Alias for add_dynamics_constraints().

Friends

class TranscriptionBase< MultipleShooting >

Additional Inherited Members

Protected Member Functions inherited from janus::TranscriptionBase< MultipleShooting >
SymbolicScalar get_duration () const
SymbolicScalar get_time_at_node (int k) const
SymbolicVector get_state_at_node (int k) const
SymbolicVector get_control_at_node (int k) const
Protected Attributes inherited from janus::TranscriptionBase< MultipleShooting >
Optiopti_
int n_states_
int n_controls_
int n_nodes_
double t0_
double tf_fixed_
SymbolicScalar tf_symbolic_
bool tf_is_variable_
bool setup_complete_
bool dynamics_set_
bool dynamics_constraints_added_
NumericVector tau_
SymbolicMatrix states_
SymbolicMatrix controls_
std::function< SymbolicVector(const SymbolicVector &, const SymbolicVector &, const SymbolicScalar &)> dynamics_

Detailed Description

Multiple shooting transcription.

See also
TranscriptionBase for shared interface
MultiShootingOptions for configuration

Constructor & Destructor Documentation

◆ MultipleShooting()

janus::MultipleShooting::MultipleShooting ( Opti & opti)
inlineexplicit

Construct with a reference to the optimization environment.

Parameters
optiOpti instance

Member Function Documentation

◆ n_intervals()

int janus::MultipleShooting::n_intervals ( ) const
inline

Get the number of shooting intervals.

Returns
interval count

◆ setup() [1/2]

std::tuple< SymbolicMatrix, SymbolicMatrix, NumericVector > janus::MultipleShooting::setup ( int n_states,
int n_controls,
double t0,
const SymbolicScalar & tf,
const MultiShootingOptions & opts = {} )
inline

Set up the shooting problem with variable final time.

Parameters
n_statesnumber of state variables
n_controlsnumber of control variables
t0initial time
tfsymbolic final time (decision variable)
optsshooting options
Returns
tuple of (states, controls, time_grid)

◆ setup() [2/2]

std::tuple< SymbolicMatrix, SymbolicMatrix, NumericVector > janus::MultipleShooting::setup ( int n_states,
int n_controls,
double t0,
double tf,
const MultiShootingOptions & opts = {} )
inline

Set up the shooting problem with fixed final time.

Parameters
n_statesnumber of state variables
n_controlsnumber of control variables
t0initial time
tffinal time
optsshooting options
Returns
tuple of (states, controls, time_grid)

◆ TranscriptionBase< MultipleShooting >

friend class TranscriptionBase< MultipleShooting >
friend

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