Abstract class for optimal control solvers. More...
#include <solver-base.hpp>
Public Types | |
| typedef ShootingProblem::ActionDataAbstract | ActionDataAbstract |
| typedef ShootingProblem::ActionModelAbstract | ActionModelAbstract |
| typedef CallbackAbstractTpl< Scalar > | CallbackAbstract |
| typedef MathBaseTpl< Scalar > | MathBase |
| typedef ShootingProblemTpl< Scalar > | ShootingProblem |
| typedef MathBase::Vector3s | Vector3s |
| typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
| SolverAbstractTpl (std::shared_ptr< ShootingProblem > problem) | |
| Initialize the solver. | |
| virtual void | calcDir () |
| Refresh the linearization of the optimal control problem around the current candidate. | |
| virtual bool | checkAcceptance () |
| Check if we should accept or not the step. | |
| virtual void | computeCandidate (const Scalar steplength=Scalar(1.)) |
| Compute new candidate solution using step length. | |
| Scalar | computeControlFeasibility (const std::vector< VectorXs > &us) |
| Compute the control box-constraint feasibility from a given control trajectory. | |
| virtual void | computeDirection (const bool recalc)=0 |
| Compute the search direction | |
| Scalar | computeDynamicFeasibility () |
| Compute the dynamic feasibility | |
| Scalar | computeEqualityFeasibility () |
| Compute the feasibility of the equality constraints for the current guess. | |
| virtual void | computeExpectedMeritFunctionImprovement () |
| Compute the expected merit function improvement for the current step. | |
| Scalar | computeFeasibility (const std::vector< VectorXs > &fs) |
| Compute the feasibility from a given residual vector. | |
| Scalar | computeInequalityFeasibility () |
| Compute the feasibility of the inequality constraints for the current guess. | |
| virtual void | computeMeritFunctionImprovement () |
| Compute the merit function improvement for the current step. | |
| Scalar | computeStateFeasibility (const std::vector< VectorXs > &xs) |
| Compute the state box-constraint feasibility from a given state trajectory. | |
| virtual void | decreaseRegularization () |
| Decrease the state and control regularization values by a regfactor_ factor. | |
| virtual bool | decreaseRegularizationCriteria () |
| Criteria used to decrease regularization. | |
| DEPRECATED ("Do not use this threshold. It is not needed by our solvers", Scalar get_th_gaptol() const { return th_gaptol_;}) FeasibilityNorm get_feasnorm() const | |
| Return the threshold for accepting a gap as non-zero. | |
| DEPRECATED ("Do not use this threshold. It is not needed by our solvers", void set_th_gaptol(const Scalar th_gaptol);) void set_feasnorm(const FeasibilityNorm feas_norm) | |
| Modify the threshold for accepting a gap as non-zero. | |
| DEPRECATED ("Use get_preg for primal-variable regularization", Scalar get_xreg() const { return preg_;}) DEPRECATED("Use get_preg for primal-variable regularization" | |
| DEPRECATED ("Use set_preg for primal-variable regularization", void set_xreg(const Scalar xreg) { if(xreg< Scalar(0.)) { throw_pretty("Invalid argument: "<< "xreg value has to be positive.");} xreg_=xreg;preg_=xreg;}) DEPRECATED("Use set_preg for primal-variable regularization" | |
| virtual Vector3s | expectedImprovement ()=0 |
| Return the expected improvement | |
| const std::vector< Scalar > & | get_alphas () const |
| Return the set of step lengths using by the line-search procedure. | |
| Scalar | get_cost () const |
| Return the cost for the current guess. | |
| Scalar | get_dfeas () const |
| Return the reduction in the feasibility. | |
| Scalar | get_dPhi () const |
| Return the reduction in the merit function | |
| Scalar | get_dPhiexp () const |
| Return the expected reduction in the merit function | |
| Scalar | get_dreg () const |
| Return the dual-variable regularization. | |
| const std::vector< VectorXs > & | get_dus () const |
| Return the feedforward gains | |
| const Vector3s & | get_DV () const |
| Return the constant, linear, and quadratic terms of the expected improvement. | |
| Scalar | get_dV () const |
| Return the reduction in the cost function | |
| Scalar | get_dVexp () const |
| Return the expected reduction in the cost function | |
| const std::vector< VectorXs > & | get_dxs () const |
| Return the linear update in | |
| Scalar | get_feas () const |
| Return the total feasibility for the current guess. | |
| Scalar | get_ffeas () const |
| Return the dynamic feasibility for the current guess. | |
| Scalar | get_ffeas_try () const |
| Return the dynamic feasibility for the current step length. | |
| const std::vector< VectorXs > & | get_fs () const |
| Return the dynamic infeasibility | |
| const std::vector< VectorXs > & | get_fs_try () const |
| Return the trail dynamic infeasibility | |
| Scalar | get_gfeas () const |
| Return the inequality feasibility for the current guess. | |
| Scalar | get_gfeas_try () const |
| Return the inequality feasibility for the current step length. | |
| Scalar | get_hfeas () const |
| Return the equality feasibility for the current guess. | |
| Scalar | get_hfeas_try () const |
| Return the equality feasibility for the current step length. | |
| bool | get_is_feasible () const |
| Return the feasibility status of the | |
| std::size_t | get_iter () const |
| Return the number of iterations performed by the solver. | |
| Scalar | get_merit () const |
| Return the merit for the current guess. | |
| Scalar | get_preg () const |
| Return the primal-variable regularization. | |
| const std::shared_ptr< ShootingProblem > & | get_problem () const |
| Return the shooting problem. | |
| Scalar | get_reg_max () const |
| Return the maximum regularization value. | |
| Scalar | get_reg_min () const |
| Return the minimum regularization value. | |
| Scalar | get_steplength () const |
| Return the step length | |
| Scalar | get_stop () const |
| Return the stopping-criteria value computed by stoppingCriteria(). | |
| Scalar | get_th_acceptstep () const |
| Return the threshold used for accepting a step. | |
| Scalar | get_th_stop () const |
| Return the tolerance for stopping the algorithm. | |
| Scalar | get_ureg () const |
| const std::vector< VectorXs > & | get_us () const |
| Return the control trajectory | |
| const std::vector< VectorXs > & | get_us_try () const |
| Return the trial control trajectory | |
| const std::vector< VectorXs > & | get_xs () const |
| Return the state trajectory | |
| const std::vector< VectorXs > & | get_xs_try () const |
| Return the trial state trajectory | |
| const std::vector< std::shared_ptr< CallbackAbstract > > & | getCallbacks () const |
| Return the list of callback functions using for diagnostic. | |
| virtual void | increaseRegularization () |
| Increase the state and control regularization values by a regfactor_ factor. | |
| virtual bool | increaseRegularizationCriteria () |
| Criteria used to increase regularization. | |
| virtual void | resizeData () |
| Resizing the solver data. | |
| void | set_alphas (const std::vector< Scalar > &alphas) |
| Modify the set of step lengths using by the line-search procedure. | |
| void | set_dreg (const Scalar dreg) |
| Modify the dual-variable regularization value. | |
| void | set_preg (const Scalar preg) |
| Modify the primal-variable regularization value. | |
| void | set_reg_max (const Scalar regmax) |
| Modify the maximum regularization value. | |
| void | set_reg_min (const Scalar regmin) |
| Modify the minimum regularization value. | |
| void | set_th_acceptstep (const Scalar th_acceptstep) |
| Modify the threshold used for accepting step. | |
| void | set_th_stop (const Scalar th_stop) |
| Modify the tolerance for stopping the algorithm. | |
| void | set_ureg (const Scalar ureg) |
| void | set_us (const std::vector< VectorXs > &us) |
| Modify the control trajectory | |
| void | set_xs (const std::vector< VectorXs > &xs) |
| Modify the state trajectory | |
| void | setCallbacks (const std::vector< std::shared_ptr< CallbackAbstract > > &callbacks) |
| Set a list of callback functions using for the solver diagnostic. | |
| virtual void | setCandidate (const std::vector< VectorXs > &xs_warm=DefaultVector< Scalar >::value, const std::vector< VectorXs > &us_warm=DefaultVector< Scalar >::value, const bool is_feasible=false) |
| Set the solver candidate trajectories | |
| virtual bool | solve (const std::vector< VectorXs > &init_xs=DefaultVector< Scalar >::value, const std::vector< VectorXs > &init_us=DefaultVector< Scalar >::value, const std::size_t maxiter=100, const bool is_feasible=false, const Scalar reg_init=std::numeric_limits< Scalar >::quiet_NaN()) |
| Compute the optimal trajectory | |
| virtual Scalar | stoppingCriteria ()=0 |
| Return a positive value that quantifies the algorithm termination. | |
| virtual Scalar | tryStep (const Scalar steplength=Scalar(1.)) |
| Try a predefined step length | |
| virtual void | updateCandidate () |
| Update the candidate solution: cost, feasibilities, and merit value. | |
| virtual void | updateMeritFunction () |
| Update the merit function value for the current guess. | |
Public Attributes | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Protected Member Functions | |
| void | allocateData () |
| Allocate all the basic data needed in solvers. | |
| DEPRECATED ("Do not use this threshold. It is not needed by our solvers", Scalar th_gaptol_;) enum FeasibilityNorm feasnorm_ | |
| DEPRECATED ("Use preg_ for primal-variable regularization", Scalar xreg_;) DEPRECATED("Use dreg_ for primal-variable regularization" | |
| virtual void | resizeRunningData () |
| Resize data associated with the running models of the shooting problem. | |
| virtual void | resizeTerminalData () |
| Resize data associated with the terminal model of the shooting problem. | |
Protected Attributes | |
| bool | acceptstep_ |
| std::vector< Scalar > | alphas_ |
| Set of step lengths using by the line-search procedure. | |
| std::vector< std::shared_ptr< CallbackAbstract > > | callbacks_ |
| Callback functions. | |
| Scalar | cost_ |
| Cost for the current guess. | |
| Scalar | cost_try_ |
| Total cost computed by line-search procedure. | |
| Scalar | dfeas_ |
| Reduction in the feasibility. | |
| Scalar | dImpr_ |
| Scalar | dPhi_ |
| Reduction in the merit function computed by tryStep(). | |
| Scalar | dPhiexp_ |
| Scalar | dreg_ |
| Current dual-variable regularization value. | |
| std::vector< VectorXs > | dus_ |
| Linear control direction (size T). | |
| Vector3s | DV_ |
| LQ approximation of the expected improvement. | |
| Scalar | dV_ |
| Reduction in the cost function computed by tryStep(). | |
| Scalar | dVexp_ |
| Scalar | dVexp_full_ |
| std::vector< VectorXs > | dxs_ |
| Linear state direction (size T + 1). | |
| Scalar | feas_ |
| Total feasibility for the current guess. | |
| Scalar | ffeas_ |
| Feasibility of the dynamic constraints for the current guess. | |
| Scalar | ffeas_try_ |
| std::vector< VectorXs > | fs_ |
| Dynamics gaps in each node. | |
| std::vector< VectorXs > | fs_try_ |
| std::vector< VectorXs > | g_adj_ |
| Adjusted inequality bound. | |
| Scalar | gfeas_ |
| Scalar | gfeas_try_ |
| Scalar | hfeas_ |
| Scalar | hfeas_try_ |
| bool | is_feasible_ |
| Label that indicates is the iteration is feasible. | |
| std::size_t | iter_ |
| Number of iteration performed by the solver. | |
| Scalar | merit_ |
| Merit for the current guess. | |
| std::size_t | ng_T_ |
| Dimension of termianl inequality constraints. | |
| std::size_t | nh_T_ |
| Dimension of terminal equality constraints. | |
| Scalar | preg_ |
| Current primal-variable regularization value. | |
| std::shared_ptr< ShootingProblem > | problem_ |
| optimal control problem | |
| bool | recalcdir_ |
| Scalar | reg_max_ |
| Maximum allowed regularization value. | |
| Scalar | reg_min_ |
| < Current control regularization values | |
| Scalar | steplength_ |
| Current applied step length. | |
| Scalar | stop_ |
| Value computed by stoppingCriteria(). | |
| Scalar | th_acceptstep_ |
| Threshold used for accepting step. | |
| Scalar | th_stop_ |
| Tolerance for stopping the algorithm. | |
| Scalar | tmp_feas_ |
| Temporal variables used for computed the feasibility. | |
| std::vector< VectorXs > | u_adj_ |
| Adjusted control bound. | |
| Scalar | ureg_ |
| std::vector< VectorXs > | us_ |
| Control trajectory. | |
| std::vector< VectorXs > | us_try_ |
| Control trajectory computed by line-search procedure. | |
| bool | was_feasible_ |
| std::vector< VectorXs > | x_adj_ |
| Adjusted state bound. | |
| std::vector< VectorXs > | xs_ |
| State trajectory. | |
| std::vector< VectorXs > | xs_try_ |
| State trajectory computed by line-search procedure. | |
Abstract class for optimal control solvers.
A solver resolves an optimal control solver of the form

where 





The main routines are computeDirection() and tryStep(). The former finds a search direction and typically computes the derivatives of each action model. The latter rollout the dynamics and cost (i.e., the action) to try the search direction found by computeDirection. Both functions used the current guess defined by setCandidate(). Finally, solve() function is used to define when the search direction and length are computed in each iterate. It also describes the globalization strategy (i.e., regularization) of the numerical optimization.
Definition at line 76 of file solver-base.hpp.
| typedef ShootingProblemTpl<Scalar> ShootingProblem |
Definition at line 81 of file solver-base.hpp.
| typedef ShootingProblem::ActionModelAbstract ActionModelAbstract |
Definition at line 82 of file solver-base.hpp.
| typedef ShootingProblem::ActionDataAbstract ActionDataAbstract |
Definition at line 83 of file solver-base.hpp.
| typedef CallbackAbstractTpl<Scalar> CallbackAbstract |
Definition at line 84 of file solver-base.hpp.
| typedef MathBaseTpl<Scalar> MathBase |
Definition at line 85 of file solver-base.hpp.
| typedef MathBase::VectorXs VectorXs |
Definition at line 86 of file solver-base.hpp.
| typedef MathBase::Vector3s Vector3s |
Definition at line 87 of file solver-base.hpp.
| explicit |
Initialize the solver.
| [in] | problem | shooting problem |
| virtual |
Compute the optimal trajectory 


From an initial guess init_xs, init_us (feasible or not), iterate over computeDirection() and tryStep() until stoppingCriteria() is below threshold. It also describes the globalization strategy used during the numerical optimization.
| [in] | init_xs | initial guess for state trajectory with |
| [in] | init_us | initial guess for control trajectory with |
| [in] | maxiter | maximum allowed number of iterations (default 100) |
| [in] | is_feasible | true if the init_xs are obtained from integrating the init_us (rollout) (default false) |
| [in] | init_reg | initial guess for the regularization value. Very low values are typical used with very good guess points (default 1e-9). |
Reimplemented in SolverKKTTpl< _Scalar >, and SolverKKTTpl< double >.
| pure virtual |
Compute the search direction 

You must call setCandidate() first in order to define the current guess. A current guess defines a state and control trajectory 


recalc is true (the default in the provided algorithms), the method refreshes the linearization by calling calcDir() before running the backward pass. Setting recalc to false reuses the most recent derivatives, which is useful when calcDir() has already been triggered explicitly. The resulting state and control variations, together with the dynamics multipliers, are stored in the solver data structures (e.g., dxs_, dus_, and lambdas_).
| [in] | recalc | true to refresh the derivatives before computing the search direction |
Implemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, SolverIntroTpl< _Scalar >, SolverIntroTpl< double >, SolverKKTTpl< _Scalar >, SolverKKTTpl< double >, and SolverOdynSQPTpl< _Scalar >.
| virtual |
Try a predefined step length 


It uses the search direction found by computeDirection() to try a determined step length 




| [in] | steplength | applied step length ( |
Reimplemented in SolverKKTTpl< _Scalar >, and SolverKKTTpl< double >.
| virtual |
Compute new candidate solution using step length.
This method updates the candidate primal and dual variables by taking a step from the current solution along the computed search direction, scaled by the step length alpha. It prepares a candidate point that is evaluated before being accepted by the solver.
| [in] | steplength | applied step length ( |
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| pure virtual |
Return a positive value that quantifies the algorithm termination.
These values typically represents the gradient norm which tell us that it's been reached the local minima. The stopping criteria strictly speaking depends on the search direction (calculated by computeDirection()) but it could also depend on the chosen step length, tested by tryStep().
Implemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, SolverKKTTpl< _Scalar >, SolverKKTTpl< double >, and SolverOdynSQPTpl< _Scalar >.
| pure virtual |
Return the expected improvement 

For computing the expected improvement, you need to compute the search direction first via computeDirection(). The quadratic improvement model is described as dV = DV_0 + DV_1 + 0.5 * DV_2, where DV_0, DV_1, and DV_2 are the constant, linear, and quadratic terms, respectively.
Implemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, SolverKKTTpl< _Scalar >, SolverKKTTpl< double >, and SolverOdynSQPTpl< _Scalar >.
| virtual |
Compute the merit function improvement for the current step.
This function computes the current merit function improvement given the current cost improvement and feasibility improvement. The feasibility improvement are stored in dfeas_.
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| virtual |
Compute the expected merit function improvement for the current step.
This function computes the expected merit function improvement given the expected cost improvement and feasibility improvement. The feasibility improvement are stored in dfeas_.
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| virtual |
Update the merit function value for the current guess.
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| virtual |
Check if we should accept or not the step.
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| virtual |
Refresh the linearization of the optimal control problem around the current candidate.
This routine evaluates the shooting problem along the candidate trajectories (xs_, us_) to update the cost, dynamics, and constraint derivatives together with the feasibility metrics used by the solver. The main solve() loop invokes calcDir() automatically whenever a new linearization is required, but the method remains available when driving the solver manually (e.g., before calling computeDirection(false)).
Reimplemented in SolverIntroTpl< _Scalar >, and SolverIntroTpl< double >.
| virtual |
Set the solver candidate trajectories 
The solver candidates are defined as a state and control trajectories 





| [in] | xs | state trajectory of |
| [in] | us | control trajectory of |
| [in] | isFeasible | true if the xs are obtained from integrating the us (rollout) |
Reimplemented in SolverKKTTpl< _Scalar >, and SolverKKTTpl< double >.
| virtual |
Update the candidate solution: cost, feasibilities, and merit value.
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| virtual |
Criteria used to decrease regularization.
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| virtual |
Criteria used to increase regularization.
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| virtual |
Increase the state and control regularization values by a regfactor_ factor.
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| virtual |
Decrease the state and control regularization values by a regfactor_ factor.
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| virtual |
Resizing the solver data.
If the shooting problem has changed after construction, then this function resizes all the data before starting resolve the problem.
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, SolverIpopt, and SolverOdynSQPTpl< _Scalar >.
| Scalar computeFeasibility | ( | const std::vector< VectorXs > & | fs | ) |
Compute the feasibility from a given residual vector.
As in the computeDynamicFeasibility, computeInequalityFeasibility or computeEqualityFeasibility, we can compute the feasibility using different norms (e.g, 


| [in] | fs | Vector of residual vectors which we wish to compute the feasibility |
| Scalar computeDynamicFeasibility | ( | ) |
Compute the dynamic feasibility 

The feasibility can be computed using different norms (e.g, 




| Scalar computeStateFeasibility | ( | const std::vector< VectorXs > & | xs | ) |
Compute the state box-constraint feasibility from a given state trajectory.
As in the computeDynamicFeasibility, computeInequalityFeasibility or computeEqualityFeasibility, we can compute the feasibility using different norms (e.g, 


| [in] | xs | Vector state trajectory feasibility |
| Scalar computeControlFeasibility | ( | const std::vector< VectorXs > & | us | ) |
Compute the control box-constraint feasibility from a given control trajectory.
As in the computeDynamicFeasibility, computeInequalityFeasibility or computeEqualityFeasibility, we can compute the feasibility using different norms (e.g, 


| [in] | us | Vector control trajectory feasibility |
| Scalar computeInequalityFeasibility | ( | ) |
Compute the feasibility of the inequality constraints for the current guess.
The feasibility can be computed using different norms (e.g, 


| Scalar computeEqualityFeasibility | ( | ) |
Compute the feasibility of the equality constraints for the current guess.
The feasibility can be computed using different norms (e.g, 


| void setCallbacks | ( | const std::vector< std::shared_ptr< CallbackAbstract > > & | callbacks | ) |
Set a list of callback functions using for the solver diagnostic.
Each iteration, the solver calls these set of functions in order to allowed user the diagnostic of its performance.
| callbacks | set of callback functions |
| inline |
Definition at line 549 of file solver-base.hpp.
| DEPRECATED | ( | "Do not use this threshold. It is not needed by our solvers" | , |
| Scalar get_th_gaptol() const { return th_gaptol_;} | ) const |
Return the threshold for accepting a gap as non-zero.
Return the type of norm used to evaluate the dynamic and constraints feasibility
| inline |
Definition at line 641 of file solver-base.hpp.
| DEPRECATED | ( | "Do not use this threshold. It is not needed by our solvers" | , |
| void set_th_gaptol(const Scalar th_gaptol); | ) const |
Modify the threshold for accepting a gap as non-zero.
Modify the current norm used for computed the dynamic and constraint feasibility
| protectedvirtual |
Resize data associated with the running models of the shooting problem.
This function is invoked by resizeData() whenever the horizon or the running action models change. Derived classes can override it to adjust their own storage before the solver resumes.
Reimplemented in SolverBoxFDDPTpl< _Scalar >, SolverBoxFDDPTpl< double >, SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| protectedvirtual |
Resize data associated with the terminal model of the shooting problem.
This function is invoked by resizeData() whenever the terminal model changes. Derived classes can override it to resize custom storage that depends on the terminal constraints or cost.
Reimplemented in SolverFDDPTpl< _Scalar >, SolverFDDPTpl< double >, SolverFDDPTpl< Scalar >, and SolverOdynSQPTpl< _Scalar >.
| protected |
Type of norm used to evaluate the dynamics and constraints feasibility
| - | Threshold limit to check non-zero gaps |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar |
Definition at line 80 of file solver-base.hpp.
| protected |
optimal control problem
Definition at line 698 of file solver-base.hpp.
| protected |
Callback functions.
Definition at line 700 of file solver-base.hpp.
| protected |
Set of step lengths using by the line-search procedure.
Definition at line 702 of file solver-base.hpp.
| protected |
Threshold used for accepting step.
Definition at line 703 of file solver-base.hpp.
| protected |
Tolerance for stopping the algorithm.
Definition at line 704 of file solver-base.hpp.
| protected |
Reduction in the iteration improvement (i.e., maximum between cost and merit values)
Definition at line 711 of file solver-base.hpp.
| protected |
State trajectory.
Definition at line 713 of file solver-base.hpp.
| protected |
Control trajectory.
Definition at line 714 of file solver-base.hpp.
| protected |
Dynamics gaps in each node.
Definition at line 715 of file solver-base.hpp.
| protected |
State trajectory computed by line-search procedure.
Definition at line 717 of file solver-base.hpp.
| protected |
Control trajectory computed by line-search procedure.
Definition at line 719 of file solver-base.hpp.
| protected |
Dynamics gaps in each node computed by the line-search procedure
Definition at line 720 of file solver-base.hpp.
| protected |
Linear state direction (size T + 1).
Definition at line 722 of file solver-base.hpp.
| protected |
Linear control direction (size T).
Definition at line 723 of file solver-base.hpp.
| protected |
Label that indicates is the iteration is feasible.
Definition at line 724 of file solver-base.hpp.
| protected |
Label that indicates in the previous iterate was feasible
Definition at line 725 of file solver-base.hpp.
| protected |
Cost for the current guess.
Definition at line 727 of file solver-base.hpp.
| protected |
Total cost computed by line-search procedure.
Definition at line 728 of file solver-base.hpp.
| protected |
Merit for the current guess.
Definition at line 729 of file solver-base.hpp.
| protected |
Value computed by stoppingCriteria().
Definition at line 730 of file solver-base.hpp.
| protected |
Number of iteration performed by the solver.
Definition at line 731 of file solver-base.hpp.
| protected |
LQ approximation of the expected improvement.
Definition at line 732 of file solver-base.hpp.
| protected |
Reduction in the cost function computed by tryStep().
Definition at line 733 of file solver-base.hpp.
| protected |
Reduction in the merit function computed by tryStep().
Definition at line 734 of file solver-base.hpp.
| protected |
Expected reduction in the cost function for a full step length
Definition at line 735 of file solver-base.hpp.
| protected |
Expected reduction in the cost function for the selected step length
Definition at line 737 of file solver-base.hpp.
| protected |
Expected reduction in the merit function for the selected step length
Definition at line 739 of file solver-base.hpp.
| protected |
Reduction in the feasibility.
Definition at line 741 of file solver-base.hpp.
| protected |
Total feasibility for the current guess.
Definition at line 742 of file solver-base.hpp.
| protected |
Feasibility of the dynamic constraints for the current guess.
Definition at line 744 of file solver-base.hpp.
| protected |
Feasibility of the inequality constraints for the current guess
Definition at line 745 of file solver-base.hpp.
| protected |
Feasibility of the equality constraints for the current guess
Definition at line 747 of file solver-base.hpp.
| protected |
Feasibility of the dynamic constraints evaluated for the current step length
Definition at line 749 of file solver-base.hpp.
| protected |
Feasibility of the inequality constraints evaluated for the current step length
Definition at line 751 of file solver-base.hpp.
| protected |
Feasibility of the equality constraints evaluated for the current step length
Definition at line 753 of file solver-base.hpp.
| protected |
Temporal variables used for computed the feasibility.
Definition at line 755 of file solver-base.hpp.
| protected |
Current primal-variable regularization value.
Definition at line 756 of file solver-base.hpp.
| protected |
Current dual-variable regularization value.
Definition at line 757 of file solver-base.hpp.
| protected |
Definition at line 761 of file solver-base.hpp.
| protected |
< Current control regularization values
Minimum allowed regularization value
Definition at line 762 of file solver-base.hpp.
| protected |
Maximum allowed regularization value.
Definition at line 763 of file solver-base.hpp.
| protected |
Current applied step length.
Definition at line 764 of file solver-base.hpp.
| protected |
Adjusted inequality bound.
Definition at line 765 of file solver-base.hpp.
| protected |
Adjusted state bound.
Definition at line 766 of file solver-base.hpp.
| protected |
Adjusted control bound.
Definition at line 767 of file solver-base.hpp.
| protected |
Dimension of terminal equality constraints.
Definition at line 768 of file solver-base.hpp.
| protected |
Dimension of termianl inequality constraints.
Definition at line 769 of file solver-base.hpp.
| protected |
Definition at line 771 of file solver-base.hpp.
| protected |
Definition at line 772 of file solver-base.hpp.