Drake
MinDistanceFromPlaneToOrigin Class Reference

An SOCP with Lorentz cone and rotated Lorentz cone constraints. More...

#include <drake/solvers/test/optimization_examples.h>

Public Member Functions

MinDistanceFromPlaneToOrigin (const Eigen::MatrixXd &A, const Eigen::VectorXd &b, CostForm cost_form, ConstraintForm constraint_form)

MathematicalProgramprog_lorentz () const

MathematicalProgramprog_rotated_lorentz () const

void SetInitialGuess ()

void CheckSolution (bool is_rotated_cone) const

Does not allow copy, move, or assignment
MinDistanceFromPlaneToOrigin (const MinDistanceFromPlaneToOrigin &)=delete

MinDistanceFromPlaneToOriginoperator= (const MinDistanceFromPlaneToOrigin &)=delete

MinDistanceFromPlaneToOrigin (MinDistanceFromPlaneToOrigin &&)=delete

MinDistanceFromPlaneToOriginoperator= (MinDistanceFromPlaneToOrigin &&)=delete

Static Public Member Functions

static std::vector< CostFormcost_forms ()

static std::vector< ConstraintFormconstraint_forms ()

Detailed Description

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ᵀ].

Constructor & Destructor Documentation

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

Member Function Documentation

 void CheckSolution ( bool is_rotated_cone ) const

Here is the call graph for this function:

Here is the caller graph for this function:

 static std::vector constraint_forms ( )
inlinestatic

Here is the caller graph for this function:

 static std::vector cost_forms ( )
inlinestatic

Here is the caller graph for this function:

 MinDistanceFromPlaneToOrigin& operator= ( MinDistanceFromPlaneToOrigin && )
delete
 MinDistanceFromPlaneToOrigin& operator= ( const MinDistanceFromPlaneToOrigin & )
delete
 MathematicalProgram* prog_lorentz ( ) const
inline

Here is the caller graph for this function:

 MathematicalProgram* prog_rotated_lorentz ( ) const
inline

Here is the caller graph for this function:

 void SetInitialGuess ( )

Here is the caller graph for this function:

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