Apollo
6.0
Open source self driving car software
|
#include <dual_variable_warm_start_ipopt_qp_interface.h>
Public Member Functions | |
DualVariableWarmStartIPOPTQPInterface (size_t horizon, double ts, const Eigen::MatrixXd &ego, const Eigen::MatrixXi &obstacles_edges_num, const size_t obstacles_num, const Eigen::MatrixXd &obstacles_A, const Eigen::MatrixXd &obstacles_b, const Eigen::MatrixXd &xWS, const PlannerOpenSpaceConfig &planner_open_space_config) | |
virtual | ~DualVariableWarmStartIPOPTQPInterface ()=default |
void | get_optimization_results (Eigen::MatrixXd *l_warm_up, Eigen::MatrixXd *n_warm_up) const |
void | check_solution (const Eigen::MatrixXd &l_warm_up, const Eigen::MatrixXd &n_warm_up) |
bool | get_nlp_info (int &n, int &m, int &nnz_jac_g, int &nnz_h_lag, IndexStyleEnum &index_style) override |
bool | get_bounds_info (int n, double *x_l, double *x_u, int m, double *g_l, double *g_u) override |
bool | get_starting_point (int n, bool init_x, double *x, bool init_z, double *z_L, double *z_U, int m, bool init_lambda, double *lambda) override |
bool | eval_f (int n, const double *x, bool new_x, double &obj_value) override |
bool | eval_grad_f (int n, const double *x, bool new_x, double *grad_f) override |
bool | eval_g (int n, const double *x, bool new_x, int m, double *g) override |
bool | eval_jac_g (int n, const double *x, bool new_x, int m, int nele_jac, int *iRow, int *jCol, double *values) override |
bool | eval_h (int n, const double *x, bool new_x, double obj_factor, int m, const double *lambda, bool new_lambda, int nele_hess, int *iRow, int *jCol, double *values) override |
Solution Methods | |
void | finalize_solution (Ipopt::SolverReturn status, int n, const double *x, const double *z_L, const double *z_U, int m, const double *g, const double *lambda, double obj_value, const Ipopt::IpoptData *ip_data, Ipopt::IpoptCalculatedQuantities *ip_cq) override |
template<class T > | |
bool | eval_obj (int n, const T *x, T *obj_value) |
template<class T > | |
bool | eval_constraints (int n, const T *x, int m, T *g) |
void | generate_tapes (int n, int m, int *nnz_h_lag) |
apollo::planning::DualVariableWarmStartIPOPTQPInterface::DualVariableWarmStartIPOPTQPInterface | ( | size_t | horizon, |
double | ts, | ||
const Eigen::MatrixXd & | ego, | ||
const Eigen::MatrixXi & | obstacles_edges_num, | ||
const size_t | obstacles_num, | ||
const Eigen::MatrixXd & | obstacles_A, | ||
const Eigen::MatrixXd & | obstacles_b, | ||
const Eigen::MatrixXd & | xWS, | ||
const PlannerOpenSpaceConfig & | planner_open_space_config | ||
) |
|
virtualdefault |
void apollo::planning::DualVariableWarmStartIPOPTQPInterface::check_solution | ( | const Eigen::MatrixXd & | l_warm_up, |
const Eigen::MatrixXd & | n_warm_up | ||
) |
bool apollo::planning::DualVariableWarmStartIPOPTQPInterface::eval_constraints | ( | int | n, |
const T * | x, | ||
int | m, | ||
T * | g | ||
) |
Template to compute constraints
|
override |
Method to return the objective value
|
override |
Method to return the constraint residuals
|
override |
Method to return the gradient of the objective
|
override |
Method to return: 1) The structure of the hessian of the lagrangian (if "values" is nullptr) 2) The values of the hessian of the lagrangian (if "values" is not nullptr)
|
override |
Method to return: 1) The structure of the jacobian (if "values" is nullptr) 2) The values of the jacobian (if "values" is not nullptr)
bool apollo::planning::DualVariableWarmStartIPOPTQPInterface::eval_obj | ( | int | n, |
const T * | x, | ||
T * | obj_value | ||
) |
Template to return the objective value
|
override |
This method is called when the algorithm is complete so the TNLP can store/write the solution
void apollo::planning::DualVariableWarmStartIPOPTQPInterface::generate_tapes | ( | int | n, |
int | m, | ||
int * | nnz_h_lag | ||
) |
Method to generate the required tapes
|
override |
Method to return the bounds for my problem
|
override |
Method to return some info about the nlp
void apollo::planning::DualVariableWarmStartIPOPTQPInterface::get_optimization_results | ( | Eigen::MatrixXd * | l_warm_up, |
Eigen::MatrixXd * | n_warm_up | ||
) | const |
|
override |
Method to return the starting point for the algorithm