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

Eigen::VectorXd prog_lorentz_initial_guess () const

Eigen::VectorXd prog_rotated_lorentz_initial_guess () const

void CheckSolution (const MathematicalProgramResult &result, 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ᵀ].

## ◆ MinDistanceFromPlaneToOrigin() [1/3]

 MinDistanceFromPlaneToOrigin ( const MinDistanceFromPlaneToOrigin & )
delete

## ◆ MinDistanceFromPlaneToOrigin() [2/3]

 MinDistanceFromPlaneToOrigin ( MinDistanceFromPlaneToOrigin && )
delete

## ◆ MinDistanceFromPlaneToOrigin() [3/3]

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

## ◆ CheckSolution()

 void CheckSolution ( const MathematicalProgramResult & result, bool is_rotated_cone ) const

## ◆ constraint_forms()

 static std::vector constraint_forms ( )
inlinestatic

## ◆ cost_forms()

 static std::vector cost_forms ( )
inlinestatic

## ◆ operator=() [1/2]

 MinDistanceFromPlaneToOrigin& operator= ( MinDistanceFromPlaneToOrigin && )
delete

## ◆ operator=() [2/2]

 MinDistanceFromPlaneToOrigin& operator= ( const MinDistanceFromPlaneToOrigin & )
delete

## ◆ prog_lorentz()

 MathematicalProgram* prog_lorentz ( ) const
inline

## ◆ prog_lorentz_initial_guess()

 Eigen::VectorXd prog_lorentz_initial_guess ( ) const

## ◆ prog_rotated_lorentz()

 MathematicalProgram* prog_rotated_lorentz ( ) const
inline

## ◆ prog_rotated_lorentz_initial_guess()

 Eigen::VectorXd prog_rotated_lorentz_initial_guess ( ) const

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