31 #ifndef NONLINEARPROGRAM_HPP_
32 #define NONLINEARPROGRAM_HPP_
34 #include <Eigen/Dense>
36 namespace DirectTrajectoryOptimization {
48 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
51 ~nonlinearprogram(){ };
53 void SetVariablesSize(
const int & n_vars);
54 void SetConstraintsSize(
const int & n_const);
55 void SetVariablesBounds(
const Eigen::VectorXd & lb,
const Eigen::VectorXd & ub);
56 void SetConstraintsBounds(
const Eigen::VectorXd & lb,
const Eigen::VectorXd & ub);
58 void SetGSize(
const int & g_size);
59 void setGcostSize(
const int & gcost_size);
61 inline int GetNumVars() {
64 inline int GetNumF() {
67 inline int GetDimG() {
70 inline int GetDimGCost() {
93 Eigen::VectorXd GetFlb() {
96 Eigen::VectorXd GetFub() {
99 Eigen::VectorXi GetiGfun() {
102 Eigen::VectorXi GetjGvar() {
105 Eigen::VectorXi GetjGvarCost() {
108 Eigen::VectorXd GetDecisionVariables() {
109 return x_decision_variables;
125 Eigen::VectorXi iGfun;
126 Eigen::VectorXi jGvar;
128 Eigen::VectorXd G_cost;
129 Eigen::VectorXi jG_cost;
132 Eigen::VectorXd x_lb;
133 Eigen::VectorXd x_ub;
136 Eigen::VectorXd x_decision_variables;
141 nonlinearprogram::nonlinearprogram(
bool verb ):nlp_verbosity(verb) {
144 std::cout <<
"dummy" << std::endl;
148 void nonlinearprogram::SetVariablesSize(
const int & n_vars) {
155 std::cout <<
"[VERBOSE] num_vars : " << num_vars << std::endl;
160 void nonlinearprogram::SetConstraintsSize(
const int & n_const) {
168 std::cout <<
" [VERBOSE] num_F : " << num_F << std::endl;
172 void nonlinearprogram::SetVariablesBounds(
const Eigen::VectorXd & lb ,
const Eigen::VectorXd &ub) {
178 std::cout <<
" [VERBOSE] xlb : " << x_lb.transpose() << std::endl;
179 std::cout <<
" [VERBOSE] xup : " << x_ub.transpose() << std::endl;
183 void nonlinearprogram::SetConstraintsBounds(
const Eigen::VectorXd & lb,
const Eigen::VectorXd & ub) {
189 std::cout <<
" [VERBOSE] Fub : " << Fub.transpose() << std::endl;
190 std::cout <<
" [VERBOSE] Flb : " << Flb.transpose() << std::endl;
194 void nonlinearprogram::SetGSize(
const int & g_size) {
199 iGfun.resize(g_size);
204 void nonlinearprogram::setGcostSize(
const int & gcost_size) {
206 lenG_cost = gcost_size;
208 G_cost.resize(gcost_size);
209 jG_cost.resize(gcost_size);
This class contains all the information related to the NLP.
Definition: nonlinear_program.hpp:44