Drake
drake::solvers::test Namespace Reference

Namespaces

 TestCallbacks
 

Classes

class  ConvexCubicProgramExample
 A simple convex optimization program min -12 * x + x³ s.t x >= 0 Notice the objective function is convex in the feasible region x >= 0 The optimal solution is x = 2. More...
 
class  GenericTrivialConstraint1
 
class  GenericTrivialCost1
 
class  GenericTrivialCost2
 
class  GloptiPolyConstrainedMinimizationProblem
 gloptiPolyConstrainedMinimization More...
 
class  InfeasibleLinearProgramTest0
 An infeasible linear program. More...
 
class  LinearFeasibilityProgram
 Test a simple linear programming problem with zero cost, i.e. More...
 
class  LinearMatrixEqualityExample
 For a stable linear system ẋ = A x, find its Lyapunov function by solving the Lyapunov equality on the symmetric matrix X Aᵀ * X + X * A = -E. More...
 
class  LinearProgram0
 Adapt from the linear programming example http://cvxopt.org/examples/tutorial/lp.html Solve the following linear program min 2x0 + x1 s.t -inf <= -x0 + x1 <= 1 2 <= x0 + x1 <=inf -inf <= x0 - 2x1 <= 4 x1 >= 2 x0 >= 0 The optimal solution is x0 = 1, x1 = 2. More...
 
class  LinearProgram1
 
class  LinearProgram2
 
class  LinearProgram3
 
class  LinearProgramTest
 
class  LinearSystemExample1
 Simple example x = b. More...
 
class  LinearSystemExample2
 Simple linear system x = b 2 * y(0) = b(0) 2 * y(1) = b(1) More...
 
class  LinearSystemExample3
 Simple linear system 3 * x = b 2 * y(0) = b(0) 2 * y(1) = b(1) More...
 
class  LowerBoundedProblem
 This test comes from Section 3.4 of Handbook of Test Problems in Local and Global Optimization. More...
 
class  MinDistanceFromPlaneToOrigin
 An SOCP with Lorentz cone and rotated Lorentz cone constraints. More...
 
class  NonConvexQPproblem1
 This test comes from Section 2.2 of Handbook of Test Problems in Local and Global Optimization. More...
 
class  NonConvexQPproblem2
 This test comes from Section 2.3 of Handbook of Test Problems in Local and Global Optimization. More...
 
class  OptimizationProgram
 
class  QuadraticProgram0
 
class  QuadraticProgram1
 Adapt from the simple test on the Gurobi documentation. More...
 
class  QuadraticProgram2
 
class  QuadraticProgram3
 
class  QuadraticProgram4
 
class  QuadraticProgramTest
 
class  TestEllipsoidsSeparation
 This test is taken from the course notes of EE127A from University of California, Berkeley The goal is to find a hyperplane, that separates two ellipsoids E₁ = x₁ + R₁ * u₁, |u₁| ≤ 1 E₂ = x₂ + R₂ * u₂, |u₂| ≤ 1 A hyperplane aᵀ * x = b separates these two ellipsoids, if and only if for SOCP p* = min t₁ + t₂ s.t t₁ ≥ |R₁ᵀ * a| t₂ ≥ |R₂ᵀ * a| aᵀ(x₂-x₁) = 1 the optimal solution p* is no larger than 1. More...
 
class  TestFindSpringEquilibrium
 
class  TestQPasSOCP
 This example is taken from the course notes of EE127A from University of California, Berkeley For a quadratic program 0.5 * x' * Q * x + c' * x s.t b_lb <= A * x <= b_ub It can be casted as an SOCP, as follows By introducing a new variable w = Q^{1/2}*x and y, z The equivalent SOCP is min c'x + y s.t 2 * y >= w' * w w = Q^{1/2} * x b_lb <= A * x <= b_ub. More...
 
class  UnboundedLinearProgramTest0
 An unbounded linear program. More...
 
class  UnboundedLinearProgramTest1
 An unbounded linear program. More...
 
class  UnitLengthProgramExample
 A simple non-convex problem with a quadratic equality constraint min 0 s.t xᵀx = 1 This test is meant to verify that we can add a quadratic constraint to a program, and solve it through nonlinear optimization. More...
 

Enumerations

enum  LinearProblems {
  kLinearFeasibilityProgram = 0, kLinearProgram0 = 1, kLinearProgram1 = 2, kLinearProgram2 = 3,
  kLinearProgram3 = 4
}
 
enum  CostForm { kGeneric = 0, kNonSymbolic = 1, kSymbolic = 2 }
 
enum  ConstraintForm { kGeneric = 0, kNonSymbolic = 1, kSymbolic = 2, kFormula = 3 }
 
enum  QuadraticProblems {
  kQuadraticProgram0 = 0, kQuadraticProgram1 = 1, kQuadraticProgram2 = 2, kQuadraticProgram3 = 3,
  kQuadraticProgram4 = 4
}
 
enum  EllipsoidsSeparationProblem { kProblem0, kProblem1, kProblem2, kProblem3 }
 
enum  QPasSOCPProblem { kProblem0, kProblem1 }
 
enum  FindSpringEquilibriumProblem { kProblem0 }
 This example is taken from the paper Applications of second-order cone programming By M.S.Lobo, L.Vandenberghe, S.Boyd and H.Lebret, Section 3.6 http://www.seas.ucla.edu/~vandenbe/publications/socp.pdf The problem tries to find the equilibrium state of a mechanical system, which consists of n nodes at position (x₁,y₁), (x₂,y₂), ..., (xₙ,yₙ) in ℝ². More...
 

Functions

template<typename Solver >
void AddSolverIfAvailable (std::list< std::unique_ptr< MathematicalProgramSolverInterface >> *solver_list)
 
 GTEST_TEST (TestBinding, TestConstraint)
 
 GTEST_TEST (TestBinding, TestCost)
 
 GTEST_TEST (TestBinding, TestEvaluator)
 
 GTEST_TEST (TestDecisionVariable, TestVariableListRef)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testUnconstrainedQPDispatch)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testLinearlyConstrainedQPDispatch)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testNotStrictlyPositiveDefiniteHessianQP)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testNonPositiveSemidefiniteHessianQP)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testUnboundedQP)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testNegativeDefiniteHessianQP)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testPositiveHessianInfeasibleConstraint)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testIndefiniteHessian)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testPSDhessianUnbounded)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testNegativeHessianUniqueOptimum)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testNegativeHessianUnbounded)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testPSDHessianUniqueOptimal)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testIndefiniteHessianInfeasible)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testFeasibilityTolerance)
 
 GTEST_TEST (testEqualityConstrainedQPSolver, testLinearCost)
 
 TEST_P (LinearProgramTest, TestLP)
 
 INSTANTIATE_TEST_CASE_P (GurobiTest, LinearProgramTest,::testing::Combine(::testing::ValuesIn(linear_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(linear_problems())))
 
 TEST_F (InfeasibleLinearProgramTest0, TestGurobiInfeasible)
 
 TEST_F (UnboundedLinearProgramTest0, TestGurobiUnbounded)
 
 TEST_P (QuadraticProgramTest, TestQP)
 
 INSTANTIATE_TEST_CASE_P (GurobiTest, QuadraticProgramTest,::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems())))
 
 GTEST_TEST (QPtest, TestUnitBallExample)
 
 GTEST_TEST (GurobiTest, TestInitialGuess)
 
 TEST_P (TestEllipsoidsSeparation, TestSOCP)
 
 INSTANTIATE_TEST_CASE_P (GurobiTest, TestEllipsoidsSeparation,::testing::ValuesIn(GetEllipsoidsSeparationProblems()))
 
 TEST_P (TestQPasSOCP, TestSOCP)
 
 INSTANTIATE_TEST_CASE_P (GurobiTest, TestQPasSOCP,::testing::ValuesIn(GetQPasSOCPProblems()))
 
 TEST_P (TestFindSpringEquilibrium, TestSOCP)
 
 INSTANTIATE_TEST_CASE_P (GurobiTest, TestFindSpringEquilibrium,::testing::ValuesIn(GetFindSpringEquilibriumProblems()))
 
 GTEST_TEST (TestIndeterminates, TestIndeterminatesListRef)
 
 INSTANTIATE_TEST_CASE_P (IpoptTest, LinearProgramTest,::testing::Combine(::testing::ValuesIn(linear_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(linear_problems())))
 
 TEST_F (InfeasibleLinearProgramTest0, TestIpopt)
 
 TEST_F (UnboundedLinearProgramTest0, TestIpopt)
 
 INSTANTIATE_TEST_CASE_P (IpoptTest, QuadraticProgramTest,::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems())))
 
 GTEST_TEST (testMathematicalProgram, simpleLCP)
 
 GTEST_TEST (testMathematicalProgram, multiLCP)
 
std::vector< LinearProblemslinear_problems ()
 
 GTEST_TEST (testLinearSystemSolver, trivialExample)
 
 GTEST_TEST (testLinearSystemSolver, InfeasibleProblem)
 Simple linear system without a solution 3 * x = 1 2 * x + y = 2 x - y = 0. More...
 
 GTEST_TEST (testLinearSystemSolver, UnderDeterminedProblem)
 Under-determined linear system 3 * x + y = 1 x + z = 2. More...
 
 GTEST_TEST (testLinearSystemSolver, linearMatrixEqualityExample)
 
template<typename Derived >
void CheckAddedVariable (const MathematicalProgram &prog, const Eigen::MatrixBase< Derived > &var, const string &var_name, bool is_symmetric, MathematicalProgram::VarType type_expected)
 
template<typename Derived >
void CheckAddedIndeterminates (const MathematicalProgram &prog, const Eigen::MatrixBase< Derived > &indeterminates, const string &indeterminates_name)
 
 GTEST_TEST (testMathematicalProgram, testConstructor)
 
 GTEST_TEST (testAddVariable, testAddContinuousVariables1)
 
 GTEST_TEST (testAddVariable, testAddContinuousVariable2)
 
 GTEST_TEST (testAddVariable, testAddContinuousVariable3)
 
 GTEST_TEST (testAddVariable, testAddContinuousVariable4)
 
 GTEST_TEST (testAddVariable, testAddContinuousVariable5)
 
 GTEST_TEST (testAddVariable, testAddContinuousVariables6)
 
 GTEST_TEST (testAddVariable, testAddContinuousVariables7)
 
 GTEST_TEST (testAddVariable, testAddContinuousVariables8)
 
 GTEST_TEST (testAddVariable, testAddSymmetricVariable1)
 
 GTEST_TEST (testAddVariable, testAddSymmetricVariable2)
 
 GTEST_TEST (testAddVariable, testAddBinaryVariable1)
 
 GTEST_TEST (testAddVariable, testAddBinaryVariable2)
 
 GTEST_TEST (testAddVariable, testAddBinaryVariable3)
 
 GTEST_TEST (testAddVariable, testAddBinaryVariable4)
 
 GTEST_TEST (testAddVariable, testAddBinaryVariable5)
 
 GTEST_TEST (testAddVariable, testAddBinaryVariable6)
 
 GTEST_TEST (testAddVariable, testAddBinaryVariable7)
 
 GTEST_TEST (testAddVariable, testAddBinaryVariable8)
 
 GTEST_TEST (testAddDecisionVariables, AddDecisionVariables1)
 
 GTEST_TEST (testAddDecisionVariables, AddVariable2)
 
 GTEST_TEST (testAddDecisionVariables, AddVariable3)
 
 GTEST_TEST (testAddIndeterminates, testAddIndeterminates1)
 
 GTEST_TEST (testAddIndeterminates, testAddIndeterminates2)
 
 GTEST_TEST (testAddIndeterminates, testAddIndeterminates3)
 
 GTEST_TEST (testAddIndeterminates, testAddIndeterminates4)
 
template<typename Derived1 , typename Derived2 >
enable_if< is_same< typename Derived1::Scalar, Variable >::value &&is_same< typename Derived2::Scalar, double >::value >::type CheckGetSolution (const MathematicalProgram &prog, const Eigen::MatrixBase< Derived1 > &vars, const Eigen::MatrixBase< Derived2 > &val_expected)
 
 GTEST_TEST (testAddIndeterminates, AddIndeterminates1)
 
 GTEST_TEST (testAddIndeterminates, AddIndeterminates2)
 
 GTEST_TEST (testAddIndeterminates, AddIndeterminates3)
 
 GTEST_TEST (testGetSolution, testGetSolution1)
 
 GTEST_TEST (testGetSolution, testGetSolution2)
 
 GTEST_TEST (testMathematicalProgram, testBadBindingVariable)
 
 GTEST_TEST (testMathematicalProgram, testAddFunction)
 
 GTEST_TEST (testMathematicalProgram, BoundingBoxTest2)
 
void VerifyAddedCost1 (const MathematicalProgram &prog, const shared_ptr< Cost > &cost, const Eigen::Ref< const Eigen::VectorXd > &x_value, int num_generic_costs_expected)
 
void VerifyAddedCost2 (const MathematicalProgram &prog, const GenericTrivialCost2 &cost, const shared_ptr< Cost > &returned_cost, const Eigen::Ref< const Eigen::Vector2d > &x_value, int num_generic_costs_expected)
 
 GTEST_TEST (testMathematicalProgram, AddCostTest)
 
void CheckAddedSymbolicLinearCostUserFun (const MathematicalProgram &prog, const Expression &e, const Binding< Cost > &binding, int num_linear_costs)
 
void CheckAddedSymbolicLinearCost (MathematicalProgram *prog, const Expression &e)
 
 GTEST_TEST (testMathematicalProgram, AddLinearCostSymbolic)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolic1)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolic2)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolic3)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolic4)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolic5)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolic6)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolic7)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolic8)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolic9)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormula1)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormula2)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormula3)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormula4)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormula5)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormula6)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormula7)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormulaException1)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormulaException2)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormulaAnd1)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormulaAnd2)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicFormulaAndException)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicArrayFormula1)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicArrayFormula2)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicArrayFormula3)
 
 GTEST_TEST (testMathematicalProgram, AddLinearConstraintSymbolicArrayFormulaException)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicLinearEqualityConstraint1)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicLinearEqualityConstraint2)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicLinearEqualityConstraint3)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicLinearEqualityConstraint4)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicLinearEqualityConstraint5)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicLinearEqualityConstraint6)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicLinearEqualityConstraintException1)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicLinearEqualityConstraintException2)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicLinearEqualityConstraintException3)
 
 TEST_F (SymbolicLorentzConeTest, Test1)
 
 TEST_F (SymbolicLorentzConeTest, Test2)
 
 TEST_F (SymbolicLorentzConeTest, Test3)
 
 TEST_F (SymbolicLorentzConeTest, Test4)
 
 TEST_F (SymbolicLorentzConeTest, Test5)
 
 TEST_F (SymbolicLorentzConeTest, Test6)
 
 TEST_F (SymbolicLorentzConeTest, Test7)
 
 TEST_F (SymbolicLorentzConeTest, Test8)
 
 TEST_F (SymbolicLorentzConeTest, Test9)
 
 TEST_F (SymbolicLorentzConeTest, TestLinearConstraint)
 
 TEST_F (SymbolicLorentzConeTest, TestError)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicRotatedLorentzConeConstraint1)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicRotatedLorentzConeConstraint2)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicRotatedLorentzConeConstraint3)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicRotatedLorentzConeConstraint4)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicRotatedLorentzConeConstraint5)
 
 GTEST_TEST (testMathematicalProgram, AddPositiveSemidefiniteConstraint)
 
void CheckAddedQuadraticCost (MathematicalProgram *prog, const Eigen::MatrixXd &Q, const Eigen::VectorXd &b, const VectorXDecisionVariable &x)
 
 GTEST_TEST (testMathematicalProgram, AddQuadraticCost)
 
void CheckAddedSymbolicQuadraticCostUserFun (const MathematicalProgram &prog, const Expression &e, const Binding< Cost > &binding, int num_quadratic_cost)
 
void CheckAddedSymbolicQuadraticCost (MathematicalProgram *prog, const Expression &e)
 
 GTEST_TEST (testMathematicalProgram, AddSymbolicQuadraticCost)
 
 GTEST_TEST (testMathematicalProgram, TestL2NormCost)
 
symbolic::Monomial transform (const symbolic::Monomial &monomial, const map< Variable::Id, Variable > &var_id_to_var)
 
symbolic::Polynomial transform (const symbolic::Polynomial &poly, const map< Variable::Id, Variable > &var_id_to_var)
 
bool ArePolynomialIsomorphic (const symbolic::Polynomial &p1, const symbolic::Polynomial &p2, const map< Variable::Id, Variable > &var_id_to_var)
 
void CheckAddedPolynomialCost (MathematicalProgram *prog, const Expression &e)
 
 GTEST_TEST (testMathematicalProgram, testAddPolynomialCost)
 
 GTEST_TEST (testMathematicalProgram, testAddCostThrowError)
 
 GTEST_TEST (testMathematicalProgram, testAddGenericCost)
 
 GTEST_TEST (testMathematicalProgram, testClone)
 
 GTEST_TEST (testMathematicalProgram, testEvalBinding)
 
 GTEST_TEST (testMathematicalProgram, testSetAndGetInitialGuess)
 
 GTEST_TEST (testMathematicalProgram, testNonlinearExpressionConstraints)
 
 GTEST_TEST (testMathematicalProgram, testSetSolverResult)
 
 GTEST_TEST (testMathematicalProgram, testAddVisualizationCallback)
 
void CheckSolver (const MathematicalProgram &prog, SolverId desired_solver_id)
 Test that prog was solved by desired_solver_id. More...
 
void RunSolver (MathematicalProgram *prog, const MathematicalProgramSolverInterface &solver)
 Run solver.Solve() on the given prog. More...
 
template<typename Constraint >
::testing::AssertionResult IsBindingEqual (const Binding< Constraint > &binding1, const Binding< Constraint > &binding2)
 Determine if two bindings are the same. More...
 
template<typename Constraint >
::testing::AssertionResult IsVectorOfBindingEqual (const std::vector< Binding< Constraint >> &bindings1, const std::vector< Binding< Constraint >> &bindings2)
 Determines if two vectors of bindings are the same. More...
 
 GTEST_TEST (TestMixedIntegerOptimization, TestMixedIntegerLinearProgram1)
 
 GTEST_TEST (TestMixedIntegerOptimization, TestMixedIntegerLinearProgram2)
 
 INSTANTIATE_TEST_CASE_P (MosekTest, LinearProgramTest,::testing::Combine(::testing::ValuesIn(linear_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(linear_problems())))
 
 TEST_F (UnboundedLinearProgramTest0, Test)
 
 TEST_F (UnboundedLinearProgramTest1, Test)
 
 INSTANTIATE_TEST_CASE_P (MosekTest, QuadraticProgramTest,::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems())))
 
 INSTANTIATE_TEST_CASE_P (MosekTest, TestEllipsoidsSeparation,::testing::ValuesIn(GetEllipsoidsSeparationProblems()))
 
 INSTANTIATE_TEST_CASE_P (MosekTest, TestQPasSOCP,::testing::ValuesIn(GetQPasSOCPProblems()))
 
 INSTANTIATE_TEST_CASE_P (MosekTest, TestFindSpringEquilibrium,::testing::ValuesIn(GetFindSpringEquilibriumProblems()))
 
 GTEST_TEST (TestSemidefiniteProgram, TrivialSDP)
 
 GTEST_TEST (TestSemidefiniteProgram, CommonLyapunov)
 
 GTEST_TEST (TestSemidefiniteProgram, OuterEllipsoid)
 
 GTEST_TEST (TestSemidefiniteProgram, EigenvalueProblem)
 
 TEST_F (UnboundedLinearProgramTest0, TestNlopt)
 
void RunNonlinearProgram (MathematicalProgram *prog, std::function< void(void)> test_func)
 
 GTEST_TEST (testNonlinearProgram, BoundingBoxTest)
 
 GTEST_TEST (testNonlinearProgram, trivialLinearSystem)
 
 GTEST_TEST (testNonlinearProgram, trivialLinearEquality)
 
 GTEST_TEST (testNonlinearProgram, QuadraticCost)
 
 GTEST_TEST (testNonlinearProgram, testNonConvexQPproblem1)
 
 GTEST_TEST (testNonlinearProgram, testNonConvexQPproblem2)
 
 GTEST_TEST (testNonlinearProgram, testLowerBoundedProblem)
 
 GTEST_TEST (testNonlinearProgram, sixHumpCamel)
 
 GTEST_TEST (testNonlinearProgram, testGloptiPolyConstrainedMinimization)
 
 GTEST_TEST (testNonlinearProgram, linearPolynomialConstraint)
 
 GTEST_TEST (testNonlinearProgram, polynomialConstraint)
 
 GTEST_TEST (testNonlinearProgram, MinDistanceFromPlaneToOrigin)
 
 GTEST_TEST (testNonlinearProgram, ConvexCubicProgramExample)
 
 GTEST_TEST (testNonlinearProgram, UnitLengthConstraint)
 
 GTEST_TEST (testNonlinearProgram, CallbackTest)
 
std::set< CostFormlinear_cost_form ()
 
std::set< ConstraintFormlinear_constraint_form ()
 
std::set< CostFormquadratic_cost_form ()
 
double EvaluateSolutionCost (const MathematicalProgram &prog)
 
void ExpectSolutionCostAccurate (const MathematicalProgram &prog, double tol)
 
 GTEST_TEST (QPtest, TestUnconstrainedQP)
 
 INSTANTIATE_TEST_CASE_P (OsqpTest, QuadraticProgramTest,::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems())))
 
 GTEST_TEST (QPtest, TestUnbounded)
 
 GTEST_TEST (QPtest, TestInfeasible)
 
 GTEST_TEST (LPtest, TestUnbounded)
 
std::vector< QuadraticProblemsquadratic_problems ()
 
void TestQPonUnitBallExample (const MathematicalProgramSolverInterface &solver)
 
 GTEST_TEST (LinearProgramTest, Test0)
 
 GTEST_TEST (LinearProgramTest, Test1)
 
 GTEST_TEST (LinearProgramTest, Test2)
 
 INSTANTIATE_TEST_CASE_P (SCSTest, LinearProgramTest,::testing::Combine(::testing::ValuesIn(linear_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(linear_problems())))
 
 TEST_F (InfeasibleLinearProgramTest0, TestInfeasible)
 
 TEST_F (UnboundedLinearProgramTest0, TestUnbounded)
 
 INSTANTIATE_TEST_CASE_P (SCSTest, TestEllipsoidsSeparation,::testing::ValuesIn(GetEllipsoidsSeparationProblems()))
 
 INSTANTIATE_TEST_CASE_P (SCSTest, TestQPasSOCP,::testing::ValuesIn(GetQPasSOCPProblems()))
 
 INSTANTIATE_TEST_CASE_P (SCSTest, TestFindSpringEquilibrium,::testing::ValuesIn(GetFindSpringEquilibriumProblems()))
 
 INSTANTIATE_TEST_CASE_P (ScsTest, QuadraticProgramTest,::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems())))
 
std::vector< EllipsoidsSeparationProblemGetEllipsoidsSeparationProblems ()
 
std::vector< QPasSOCPProblemGetQPasSOCPProblems ()
 
std::vector< FindSpringEquilibriumProblemGetFindSpringEquilibriumProblems ()
 
void TestTrivialSDP (const MathematicalProgramSolverInterface &solver, double tol)
 Test a trivial semidefinite problem. More...
 
void FindCommonLyapunov (const MathematicalProgramSolverInterface &solver, double tol)
 
void FindOuterEllipsoid (const MathematicalProgramSolverInterface &solver, double tol)
 
void SolveEigenvalueProblem (const MathematicalProgramSolverInterface &solver, double tol)
 
 INSTANTIATE_TEST_CASE_P (SnoptTest, LinearProgramTest,::testing::Combine(::testing::ValuesIn(linear_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(linear_problems())))
 
 TEST_F (InfeasibleLinearProgramTest0, TestSnopt)
 
 TEST_F (UnboundedLinearProgramTest0, TestSnopt)
 
 INSTANTIATE_TEST_CASE_P (SnoptTest, QuadraticProgramTest,::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems())))
 
 GTEST_TEST (SnoptTest, TestSetOption)
 
 GTEST_TEST (SnoptTest, TestPrintFile)
 
 GTEST_TEST (SnoptTest, TestSparseCost)
 

Enumeration Type Documentation

enum ConstraintForm
strong
Enumerator
kGeneric 
kNonSymbolic 
kSymbolic 
kFormula 
enum CostForm
strong
Enumerator
kGeneric 
kNonSymbolic 
kSymbolic 
Enumerator
kProblem0 
kProblem1 
kProblem2 
kProblem3 

This example is taken from the paper Applications of second-order cone programming By M.S.Lobo, L.Vandenberghe, S.Boyd and H.Lebret, Section 3.6 http://www.seas.ucla.edu/~vandenbe/publications/socp.pdf The problem tries to find the equilibrium state of a mechanical system, which consists of n nodes at position (x₁,y₁), (x₂,y₂), ..., (xₙ,yₙ) in ℝ².

The nodes are connected by springs with given coefficient. The spring generate force when it is stretched, but not when it is compressed. Namely, the spring force is (spring_length - spring_rest_length) * spring_stiffness, if spring_length ≥ spring_rest_length; otherwise the spring force is zero. weightᵢ is the mass * gravity_acceleration of the i'th link. The equilibrium point is obtained when the total energy is minimized namely min ∑ᵢ weightᵢ * yᵢ + stiffness/2 * tᵢ² s.t sqrt((xᵢ - xᵢ₊₁)² + (yᵢ - yᵢ₊₁)²) - spring_rest_length ≤ tᵢ 0 ≤ tᵢ (x₁,y₁) = end_pos1 (xₙ,yₙ) = end_pos2 By introducing a slack variable z ≥ t₁² + ... + tₙ₋₁², the problem becomes an SOCP, with both Lorentz cone and rotated Lorentz cone constraints

Enumerator
kProblem0 
enum LinearProblems
strong
Enumerator
kLinearFeasibilityProgram 
kLinearProgram0 
kLinearProgram1 
kLinearProgram2 
kLinearProgram3 
enum QPasSOCPProblem
strong
Enumerator
kProblem0 
kProblem1 
enum QuadraticProblems
strong
Enumerator
kQuadraticProgram0 
kQuadraticProgram1 
kQuadraticProgram2 
kQuadraticProgram3 
kQuadraticProgram4 

Function Documentation

void drake::solvers::test::AddSolverIfAvailable ( std::list< std::unique_ptr< MathematicalProgramSolverInterface >> *  solver_list)
bool drake::solvers::test::ArePolynomialIsomorphic ( const symbolic::Polynomial p1,
const symbolic::Polynomial p2,
const map< Variable::Id, Variable > &  var_id_to_var 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void drake::solvers::test::CheckAddedIndeterminates ( const MathematicalProgram prog,
const Eigen::MatrixBase< Derived > &  indeterminates,
const string &  indeterminates_name 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void drake::solvers::test::CheckAddedPolynomialCost ( MathematicalProgram prog,
const Expression &  e 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void drake::solvers::test::CheckAddedQuadraticCost ( MathematicalProgram prog,
const Eigen::MatrixXd &  Q,
const Eigen::VectorXd &  b,
const VectorXDecisionVariable x 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void drake::solvers::test::CheckAddedSymbolicLinearCost ( MathematicalProgram prog,
const Expression &  e 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void drake::solvers::test::CheckAddedSymbolicLinearCostUserFun ( const MathematicalProgram prog,
const Expression &  e,
const Binding< Cost > &  binding,
int  num_linear_costs 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void drake::solvers::test::CheckAddedSymbolicQuadraticCost ( MathematicalProgram prog,
const Expression &  e 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void drake::solvers::test::CheckAddedSymbolicQuadraticCostUserFun ( const MathematicalProgram prog,
const Expression &  e,
const Binding< Cost > &  binding,
int  num_quadratic_cost 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void drake::solvers::test::CheckAddedVariable ( const MathematicalProgram prog,
const Eigen::MatrixBase< Derived > &  var,
const string &  var_name,
bool  is_symmetric,
MathematicalProgram::VarType  type_expected 
)

Here is the call graph for this function:

Here is the caller graph for this function:

enable_if<is_same<typename Derived1::Scalar, Variable>::value && is_same<typename Derived2::Scalar, double>::value>::type drake::solvers::test::CheckGetSolution ( const MathematicalProgram prog,
const Eigen::MatrixBase< Derived1 > &  vars,
const Eigen::MatrixBase< Derived2 > &  val_expected 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void CheckSolver ( const MathematicalProgram prog,
SolverId  desired_solver_id 
)

Test that prog was solved by desired_solver_id.

Here is the call graph for this function:

Here is the caller graph for this function:

double drake::solvers::test::EvaluateSolutionCost ( const MathematicalProgram prog)

Here is the call graph for this function:

Here is the caller graph for this function:

void ExpectSolutionCostAccurate ( const MathematicalProgram prog,
double  tol 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void FindCommonLyapunov ( const MathematicalProgramSolverInterface solver,
double  tol 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void FindOuterEllipsoid ( const MathematicalProgramSolverInterface solver,
double  tol 
)

Here is the call graph for this function:

Here is the caller graph for this function:

std::vector< EllipsoidsSeparationProblem > GetEllipsoidsSeparationProblems ( )

Here is the caller graph for this function:

std::vector< FindSpringEquilibriumProblem > GetFindSpringEquilibriumProblems ( )

Here is the caller graph for this function:

std::vector< QPasSOCPProblem > GetQPasSOCPProblems ( )

Here is the caller graph for this function:

drake::solvers::test::GTEST_TEST ( QPtest  ,
TestUnconstrainedQP   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( TestIndeterminates  ,
TestIndeterminatesListRef   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( TestDecisionVariable  ,
TestVariableListRef   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( TestBinding  ,
TestConstraint   
)

Here is the call graph for this function:

Here is the caller graph for this function:

drake::solvers::test::GTEST_TEST ( LinearProgramTest  ,
Test0   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
simpleLCP   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testLinearSystemSolver  ,
trivialExample   
)
drake::solvers::test::GTEST_TEST ( TestMixedIntegerOptimization  ,
TestMixedIntegerLinearProgram1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testUnconstrainedQPDispatch   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testLinearSystemSolver  ,
InfeasibleProblem   
)

Simple linear system without a solution 3 * x = 1 2 * x + y = 2 x - y = 0.

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( TestBinding  ,
TestCost   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
multiLCP   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( TestMixedIntegerOptimization  ,
TestMixedIntegerLinearProgram2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testLinearSystemSolver  ,
UnderDeterminedProblem   
)

Under-determined linear system 3 * x + y = 1 x + z = 2.

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
BoundingBoxTest   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( QPtest  ,
TestUnbounded   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( SnoptTest  ,
TestSetOption   
)

Here is the call graph for this function:

GTEST_TEST ( QPtest  ,
TestUnitBallExample   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testLinearSystemSolver  ,
linearMatrixEqualityExample   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testLinearlyConstrainedQPDispatch   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( GurobiTest  ,
TestInitialGuess   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( TestBinding  ,
TestEvaluator   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( LinearProgramTest  ,
Test1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( QPtest  ,
TestInfeasible   
)

Here is the call graph for this function:

GTEST_TEST ( TestSemidefiniteProgram  ,
TrivialSDP   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
trivialLinearSystem   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( SnoptTest  ,
TestPrintFile   
)

Here is the call graph for this function:

GTEST_TEST ( TestSemidefiniteProgram  ,
CommonLyapunov   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( LinearProgramTest  ,
Test2   
)

Here is the call graph for this function:

GTEST_TEST ( TestSemidefiniteProgram  ,
OuterEllipsoid   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
trivialLinearEquality   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( LPtest  ,
TestUnbounded   
)

Here is the call graph for this function:

GTEST_TEST ( TestSemidefiniteProgram  ,
EigenvalueProblem   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testNotStrictlyPositiveDefiniteHessianQP   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( SnoptTest  ,
TestSparseCost   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
QuadraticCost   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testNonPositiveSemidefiniteHessianQP   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testUnboundedQP   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
testNonConvexQPproblem1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testNegativeDefiniteHessianQP   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
testNonConvexQPproblem2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
testLowerBoundedProblem   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testPositiveHessianInfeasibleConstraint   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testConstructor   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddContinuousVariables1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testIndefiniteHessian   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddContinuousVariable2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
sixHumpCamel   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddContinuousVariable3   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testPSDhessianUnbounded   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddContinuousVariable4   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testNegativeHessianUniqueOptimum   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
testGloptiPolyConstrainedMinimization   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddContinuousVariable5   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testNegativeHessianUnbounded   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddContinuousVariables6   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
linearPolynomialConstraint   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddContinuousVariables7   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testPSDHessianUniqueOptimal   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
polynomialConstraint   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddContinuousVariables8   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testIndefiniteHessianInfeasible   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddSymmetricVariable1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddSymmetricVariable2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testFeasibilityTolerance   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddBinaryVariable1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddBinaryVariable2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testEqualityConstrainedQPSolver  ,
testLinearCost   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddBinaryVariable3   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddBinaryVariable4   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddBinaryVariable5   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
MinDistanceFromPlaneToOrigin   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddBinaryVariable6   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddBinaryVariable7   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
ConvexCubicProgramExample   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddVariable  ,
testAddBinaryVariable8   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
UnitLengthConstraint   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddDecisionVariables  ,
AddDecisionVariables1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testNonlinearProgram  ,
CallbackTest   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddDecisionVariables  ,
AddVariable2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddDecisionVariables  ,
AddVariable3   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddIndeterminates  ,
testAddIndeterminates1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddIndeterminates  ,
testAddIndeterminates2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddIndeterminates  ,
testAddIndeterminates3   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddIndeterminates  ,
testAddIndeterminates4   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddIndeterminates  ,
AddIndeterminates1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddIndeterminates  ,
AddIndeterminates2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testAddIndeterminates  ,
AddIndeterminates3   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testGetSolution  ,
testGetSolution1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testGetSolution  ,
testGetSolution2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testBadBindingVariable   
)
drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testAddFunction   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
BoundingBoxTest2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddCostTest   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearCostSymbolic   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolic1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolic2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolic3   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolic4   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolic5   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolic6   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolic7   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolic8   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolic9   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormula1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormula2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormula3   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormula4   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormula5   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormula6   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormula7   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormulaException1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormulaException2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormulaAnd1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormulaAnd2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicFormulaAndException   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicArrayFormula1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicArrayFormula2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicArrayFormula3   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddLinearConstraintSymbolicArrayFormulaException   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicLinearEqualityConstraint1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicLinearEqualityConstraint2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicLinearEqualityConstraint3   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicLinearEqualityConstraint4   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicLinearEqualityConstraint5   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicLinearEqualityConstraint6   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicLinearEqualityConstraintException1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicLinearEqualityConstraintException2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicLinearEqualityConstraintException3   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicRotatedLorentzConeConstraint1   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicRotatedLorentzConeConstraint2   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicRotatedLorentzConeConstraint3   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicRotatedLorentzConeConstraint4   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicRotatedLorentzConeConstraint5   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddPositiveSemidefiniteConstraint   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddQuadraticCost   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
AddSymbolicQuadraticCost   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
TestL2NormCost   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testAddPolynomialCost   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testAddCostThrowError   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testAddGenericCost   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testClone   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testEvalBinding   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testSetAndGetInitialGuess   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testNonlinearExpressionConstraints   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testSetSolverResult   
)

Here is the call graph for this function:

drake::solvers::test::GTEST_TEST ( testMathematicalProgram  ,
testAddVisualizationCallback   
)

Here is the call graph for this function:

drake::solvers::test::INSTANTIATE_TEST_CASE_P ( IpoptTest  ,
LinearProgramTest  ,
::testing::Combine(::testing::ValuesIn(linear_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(linear_problems()))   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( MosekTest  ,
LinearProgramTest  ,
::testing::Combine(::testing::ValuesIn(linear_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(linear_problems()))   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( GurobiTest  ,
LinearProgramTest  ,
::testing::Combine(::testing::ValuesIn(linear_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(linear_problems()))   
)

Here is the caller graph for this function:

drake::solvers::test::INSTANTIATE_TEST_CASE_P ( SnoptTest  ,
LinearProgramTest  ,
::testing::Combine(::testing::ValuesIn(linear_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(linear_problems()))   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( MosekTest  ,
QuadraticProgramTest  ,
::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems()))   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( IpoptTest  ,
QuadraticProgramTest  ,
::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems()))   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( OsqpTest  ,
QuadraticProgramTest  ,
::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems()))   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( SnoptTest  ,
QuadraticProgramTest  ,
::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems()))   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( GurobiTest  ,
QuadraticProgramTest  ,
::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems()))   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( MosekTest  ,
TestEllipsoidsSeparation  ,
::testing::ValuesIn(GetEllipsoidsSeparationProblems())   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( MosekTest  ,
TestQPasSOCP  ,
::testing::ValuesIn(GetQPasSOCPProblems())   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( MosekTest  ,
TestFindSpringEquilibrium  ,
::testing::ValuesIn(GetFindSpringEquilibriumProblems())   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( SCSTest  ,
LinearProgramTest  ,
::testing::Combine(::testing::ValuesIn(linear_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(linear_problems()))   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( SCSTest  ,
TestEllipsoidsSeparation  ,
::testing::ValuesIn(GetEllipsoidsSeparationProblems())   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( SCSTest  ,
TestQPasSOCP  ,
::testing::ValuesIn(GetQPasSOCPProblems())   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( SCSTest  ,
TestFindSpringEquilibrium  ,
::testing::ValuesIn(GetFindSpringEquilibriumProblems())   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( ScsTest  ,
QuadraticProgramTest  ,
::testing::Combine(::testing::ValuesIn(quadratic_cost_form()),::testing::ValuesIn(linear_constraint_form()),::testing::ValuesIn(quadratic_problems()))   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( GurobiTest  ,
TestEllipsoidsSeparation  ,
::testing::ValuesIn(GetEllipsoidsSeparationProblems())   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( GurobiTest  ,
TestQPasSOCP  ,
::testing::ValuesIn(GetQPasSOCPProblems())   
)
drake::solvers::test::INSTANTIATE_TEST_CASE_P ( GurobiTest  ,
TestFindSpringEquilibrium  ,
::testing::ValuesIn(GetFindSpringEquilibriumProblems())   
)
::testing::AssertionResult drake::solvers::test::IsBindingEqual ( const Binding< Constraint > &  binding1,
const Binding< Constraint > &  binding2 
)

Determine if two bindings are the same.

Two bindings are the same if

  1. They contain the same constraint pointer.
  2. Their bound variables are the same.

Here is the caller graph for this function:

::testing::AssertionResult drake::solvers::test::IsVectorOfBindingEqual ( const std::vector< Binding< Constraint >> &  bindings1,
const std::vector< Binding< Constraint >> &  bindings2 
)

Determines if two vectors of bindings are the same.

Here is the call graph for this function:

Here is the caller graph for this function:

std::set< ConstraintForm > linear_constraint_form ( )

Here is the caller graph for this function:

std::set< CostForm > linear_cost_form ( )

Here is the caller graph for this function:

std::vector< LinearProblems > linear_problems ( )

Here is the caller graph for this function:

std::set< CostForm > quadratic_cost_form ( )

Here is the caller graph for this function:

std::vector< QuadraticProblems > quadratic_problems ( )

Here is the caller graph for this function:

void drake::solvers::test::RunNonlinearProgram ( MathematicalProgram prog,
std::function< void(void)>  test_func 
)

Here is the caller graph for this function:

void RunSolver ( MathematicalProgram prog,
const MathematicalProgramSolverInterface solver 
)

Run solver.Solve() on the given prog.

If the solver is absent or does not find a solution, stop immediately via an exception. (Were we to continue, testing statements that examine the results would be likely to fail with confusing messages, so best to avoid them entirely.)

Here is the call graph for this function:

Here is the caller graph for this function:

void SolveEigenvalueProblem ( const MathematicalProgramSolverInterface solver,
double  tol 
)

Here is the call graph for this function:

Here is the caller graph for this function:

drake::solvers::test::TEST_F ( UnboundedLinearProgramTest0  ,
TestNlopt   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( InfeasibleLinearProgramTest0  ,
TestIpopt   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( UnboundedLinearProgramTest0  ,
Test   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( InfeasibleLinearProgramTest0  ,
TestGurobiInfeasible   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( InfeasibleLinearProgramTest0  ,
TestSnopt   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( UnboundedLinearProgramTest1  ,
Test   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( UnboundedLinearProgramTest0  ,
TestIpopt   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( UnboundedLinearProgramTest0  ,
TestSnopt   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( UnboundedLinearProgramTest0  ,
TestGurobiUnbounded   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( InfeasibleLinearProgramTest0  ,
TestInfeasible   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( UnboundedLinearProgramTest0  ,
TestUnbounded   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( SymbolicLorentzConeTest  ,
Test1   
)
drake::solvers::test::TEST_F ( SymbolicLorentzConeTest  ,
Test2   
)
drake::solvers::test::TEST_F ( SymbolicLorentzConeTest  ,
Test3   
)
drake::solvers::test::TEST_F ( SymbolicLorentzConeTest  ,
Test4   
)
drake::solvers::test::TEST_F ( SymbolicLorentzConeTest  ,
Test5   
)
drake::solvers::test::TEST_F ( SymbolicLorentzConeTest  ,
Test6   
)
drake::solvers::test::TEST_F ( SymbolicLorentzConeTest  ,
Test7   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( SymbolicLorentzConeTest  ,
Test8   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( SymbolicLorentzConeTest  ,
Test9   
)

Here is the call graph for this function:

drake::solvers::test::TEST_F ( SymbolicLorentzConeTest  ,
TestLinearConstraint   
)
drake::solvers::test::TEST_F ( SymbolicLorentzConeTest  ,
TestError   
)

Here is the call graph for this function:

TEST_P ( LinearProgramTest  ,
TestLP   
)

Here is the call graph for this function:

Here is the caller graph for this function:

TEST_P ( QuadraticProgramTest  ,
TestQP   
)

Here is the call graph for this function:

TEST_P ( TestEllipsoidsSeparation  ,
TestSOCP   
)

Here is the call graph for this function:

TEST_P ( TestQPasSOCP  ,
TestSOCP   
)

Here is the call graph for this function:

TEST_P ( TestFindSpringEquilibrium  ,
TestSOCP   
)

Here is the call graph for this function:

void TestQPonUnitBallExample ( const MathematicalProgramSolverInterface solver)

Here is the call graph for this function:

Here is the caller graph for this function:

void TestTrivialSDP ( const MathematicalProgramSolverInterface solver,
double  tol 
)

Test a trivial semidefinite problem.

min S(0, 0) + S(1, 1) s.t S(1, 0) = 1 S is p.s.d The analytical solution is S = [1 1] [1 1]

Here is the call graph for this function:

Here is the caller graph for this function:

symbolic::Monomial drake::solvers::test::transform ( const symbolic::Monomial monomial,
const map< Variable::Id, Variable > &  var_id_to_var 
)

Here is the call graph for this function:

Here is the caller graph for this function:

symbolic::Polynomial drake::solvers::test::transform ( const symbolic::Polynomial poly,
const map< Variable::Id, Variable > &  var_id_to_var 
)

Here is the call graph for this function:

void drake::solvers::test::VerifyAddedCost1 ( const MathematicalProgram prog,
const shared_ptr< Cost > &  cost,
const Eigen::Ref< const Eigen::VectorXd > &  x_value,
int  num_generic_costs_expected 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void drake::solvers::test::VerifyAddedCost2 ( const MathematicalProgram prog,
const GenericTrivialCost2 cost,
const shared_ptr< Cost > &  returned_cost,
const Eigen::Ref< const Eigen::Vector2d > &  x_value,
int  num_generic_costs_expected 
)

Here is the call graph for this function:

Here is the caller graph for this function: