Drake

An SOCP with Lorentz cone and rotated Lorentz cone constraints. More...
#include <solvers/test/optimization_examples.h>
Public Member Functions  
MinDistanceFromPlaneToOrigin (const Eigen::MatrixXd &A, const Eigen::VectorXd &b, CostForm cost_form, ConstraintForm constraint_form)  
MathematicalProgram *  prog_lorentz () const 
MathematicalProgram *  prog_rotated_lorentz () const 
void  SetInitialGuess () 
void  CheckSolution (bool is_rotated_cone) const 
Does not allow copy, move, or assignment  
MinDistanceFromPlaneToOrigin (const MinDistanceFromPlaneToOrigin &)=delete  
MinDistanceFromPlaneToOrigin &  operator= (const MinDistanceFromPlaneToOrigin &)=delete 
MinDistanceFromPlaneToOrigin (MinDistanceFromPlaneToOrigin &&)=delete  
MinDistanceFromPlaneToOrigin &  operator= (MinDistanceFromPlaneToOrigin &&)=delete 
Static Public Member Functions  
static std::vector< CostForm >  cost_forms () 
static std::vector< ConstraintForm >  constraint_forms () 
An SOCP with Lorentz cone and rotated Lorentz cone constraints.
The objective is to find the smallest distance from a hyperplane A * x = b to the origin. We can solve the following SOCP with Lorentz cone constraint min t s.t t >= sqrt(xᵀ*x) A * x = b. Alternatively, we can solve the following SOCP with rotated Lorentz cone constraint min t s.t t >= xᵀ*x A * x = b.
The optimal solution of this equality constrained QP can be found using Lagrangian method. The optimal solution x* and Lagrangian multiplier z* satisfy A_hat * [x*; z*] = [b; 0] where A_hat = [A 0; 2*I Aᵀ].

delete 

delete 
MinDistanceFromPlaneToOrigin  (  const Eigen::MatrixXd &  A, 
const Eigen::VectorXd &  b,  
CostForm  cost_form,  
ConstraintForm  constraint_form  
) 
void CheckSolution  (  bool  is_rotated_cone  )  const 

inlinestatic 

inlinestatic 

delete 

delete 

inline 

inline 
void SetInitialGuess  (  ) 