EIGEN_MAKE_ALIGNED_OPERATOR_NEW SolverIntro (std::shared_ptr< ShootingProblem > problem) Initialize the INTRO solver. virtual double calcDiff ()virtual void computeGains (const std::size_t t)virtual void computeValueFunction (const std::size_t t, const std::shared_ptr< ActionModelAbstract > &model)EqualitySolverType get_equality_solver () const Return the type of solver used for handling the equality constraints. const std::vector< Eigen::MatrixXd > & get_Hy () const Return span-projected Jacobian of the equality-constraint with respect to the control. const std::vector< Eigen::MatrixXd > & get_Ks () const Return feedback gain related to the equality constraints. const std::vector< Eigen::VectorXd > & get_ks () const Return feedforward term related to the equality constraints. const std::vector< Eigen::MatrixXd > & get_Kz () const Return feedback gain related to the nullspace of . const std::vector< Eigen::VectorXd > & get_kz () const Return feedforward term related to the nullspace of . const std::vector< Eigen::MatrixXd > & get_Quz () const Return Hessian of the reduced Hamiltonian . const std::vector< Eigen::MatrixXd > & get_Qxz () const Return Hessian of the reduced Hamiltonian . const std::vector< Eigen::VectorXd > & get_Qz () const Return Jacobian of the reduced Hamiltonian . const std::vector< Eigen::MatrixXd > & get_Qzz () const Return Hessian of the reduced Hamiltonian . double get_rho () const Return the rho parameter used in the merit function. double get_th_feas () const Return the threshold for switching to feasibility. double get_upsilon () const Return the estimated penalty parameter that balances relative contribution of the cost function and equality constraints. const std::vector< Eigen::MatrixXd > & get_YZ () const Return the rank of control-equality constraints \mathbf{H_u}\f. bool get_zero_upsilon () const Return the zero-upsilon label. virtual void resizeData ()void set_equality_solver (const EqualitySolverType type ) Modify the type of solver used for handling the equality constraints. void set_rho (const double rho) Modify the rho parameter used in the merit function. void set_th_feas (const double th_feas) Modify the threshold for switching to feasibility. void set_zero_upsilon (const bool zero_upsilon) Modify the zero-upsilon label. virtual bool solve (const std::vector< Eigen::VectorXd > &init_xs=DEFAULT_VECTOR, const std::vector< Eigen::VectorXd > &init_us=DEFAULT_VECTOR, const std::size_t maxiter=100, const bool is_feasible=false, const double init_reg=NAN)virtual double stoppingCriteria ()virtual double tryStep (const double step_length=1)EIGEN_MAKE_ALIGNED_OPERATOR_NEW SolverFDDP (std::shared_ptr< ShootingProblem > problem) Initialize the FDDP solver. virtual const Eigen::Vector2d & expectedImprovement () Return the expected improvement from a given current search direction . virtual void forwardPass (const double stepLength)double get_th_acceptnegstep () const Return the threshold used for accepting step along ascent direction. void set_th_acceptnegstep (const double th_acceptnegstep) Modify the threshold used for accepting step along ascent direction. void updateExpectedImprovement () Update internal values for computing the expected improvement.
enum EqualitySolverType eq_solver_ Strategy used for handling the equality constraints. std::vector< Eigen::FullPivLU< Eigen::MatrixXd > > Hu_lu_ std::vector< Eigen::ColPivHouseholderQR< Eigen::MatrixXd > > Hu_qr_ std::vector< std::size_t > Hu_rank_ Rank of the control Jacobian of the equality constraints. std::vector< Eigen::MatrixXd > Hy_ std::vector< Eigen::PartialPivLU< Eigen::MatrixXd > > Hy_lu_ std::vector< Eigen::MatrixXd > KQuu_tmp_ std::vector< Eigen::MatrixXd > Ks_ Feedback gain related to the equality constraints. std::vector< Eigen::VectorXd > ks_ Feedforward term related to the equality constraints. std::vector< Eigen::MatrixXd > Kz_ Feedback gain in the nullspace of . std::vector< Eigen::VectorXd > kz_ Feedforward term in the nullspace of . std::vector< Eigen::MatrixXd > QuuinvHuT_ std::vector< Eigen::MatrixXd > Quz_ Hessian of the reduced Hamiltonian . std::vector< Eigen::MatrixXd > Qxz_ Hessian of the reduced Hamiltonian . std::vector< Eigen::VectorXd > Qz_ Jacobian of the reduced Hamiltonian . std::vector< Eigen::MatrixXd > Qzz_ Hessian of the reduced Hamiltonian . std::vector< Eigen::LLT< Eigen::MatrixXd > > Qzz_llt_ Cholesky LLT solver. double rho_ double th_feas_ Threshold for switching to feasibility. double upsilon_ std::vector< Eigen::MatrixXd > YZ_ bool zero_upsilon_ double dg_ Internal data for computing the expected improvement. double dq_ Internal data for computing the expected improvement. double dv_ Internal data for computing the expected improvement. double th_acceptnegstep_
Definition at line 18 of file intro.hpp .