solver
solver::ConicProblem Class Reference

Main class to construct a second-order cone optimization problem. More...

#include <ConicProblem.hpp>

Collaboration diagram for solver::ConicProblem:

Public Member Functions

void clean ()
 
SolverSettinggetSetting ()
 
const SolverSettinggetSetting () const
 
Var addVar (const VarType &type, double lb, double ub, double guess=0.0)
 
void addLinConstr (const LinExpr &lhs, const std::string sense, const LinExpr &rhs)
 
void addSocConstr (const DCPQuadExpr &qexpr, const std::string sense, const LinExpr &lexpr)
 
void addQuaConstr (const DCPQuadExpr &qexpr, const std::string sense, const LinExpr &expr, const QuadConstrApprox &qapprox=QuadConstrApprox::None)
 
void configSetting (const std::string cfg_file, const std::string stg_vars_yaml="solver_variables")
 
void setObjective (const DCPQuadExpr &qexpr, const LinExpr &expr)
 
ExitCode optimize ()
 
const int numTrustRegions () const
 
const int numBinaryVariables () const
 
const int numSoftConstraints () const
 

Private Member Functions

ConegetCone ()
 
SolverStoragegetStorage ()
 
InteriorPointSolvergetSolver ()
 
ExitCode solveProblem ()
 
void buildProblem (int iter_id, bool warm_start=false)
 
Eigen::VectorXd & binaryLowerBounds ()
 
Eigen::VectorXd & binaryUpperBounds ()
 
std::vector< std::shared_ptr< Var > > & problemVariables ()
 
std::vector< std::shared_ptr< Var > > & problemBinaryVariables ()
 
const Eigen::VectorXd & binaryLowerBounds () const
 
const Eigen::VectorXd & binaryUpperBounds () const
 
const std::vector< std::shared_ptr< Var > > & problemVariables () const
 
const std::vector< std::shared_ptr< Var > > & problemBinaryVariables () const
 

Private Attributes

Cone cone_
 
SolverStorage stg_
 
ExitCode exit_code_
 
SolverSetting stgs_
 
BnBSolver bnb_solver_
 
InteriorPointSolver ip_solver_
 
DCPQuadExpr objective_
 
int numTrustRegions_
 
int numSoftConstraints_
 
std::vector< LinExprleqcons_
 
std::vector< LinExprlineqcons_
 
std::vector< DCPQuadExprqineqcons_
 
std::vector< DCPQuadExprsoccons_
 
std::vector< std::shared_ptr< Var > > vars_
 
std::vector< std::shared_ptr< Var > > bin_vars_
 
Eigen::VectorXd bin_vars_lower_bound_
 
Eigen::VectorXd bin_vars_upper_bound_
 

Friends

class Model
 
class NcvxBnBSolver
 

Detailed Description

Main class to construct a second-order cone optimization problem.

It provides functionality for defining an objective function, linear equality and inequality constraints, second-order cone constraints and heuristics for solving problems with non-convex quadratic constraints.


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