Drake
MathematicalProgramSolverInterface Class Referenceabstract

Interface used by implementations of individual solvers. More...

#include <drake/solvers/mathematical_program_solver_interface.h>

Public Member Functions

 MathematicalProgramSolverInterface ()=default
 
virtual ~MathematicalProgramSolverInterface ()=default
 
virtual bool available () const =0
 Returns true iff this solver was enabled at compile-time. More...
 
virtual SolutionResult Solve (MathematicalProgram &prog) const =0
 Sets values for the decision variables on the given MathematicalProgram prog, or: More...
 
virtual void Solve (const MathematicalProgram &prog, const optional< Eigen::VectorXd > &initial_guess, const optional< SolverOptions > &solver_options, MathematicalProgramResult *result) const =0
 Solves an optimization program with optional initial guess and solver options. More...
 
virtual SolverId solver_id () const =0
 Returns the identifier of this solver. More...
 
virtual bool AreProgramAttributesSatisfied (const MathematicalProgram &prog) const =0
 Returns true if the program attributes are satisfied by the solver's capability. More...
 
Does not allow copy, move, or assignment
 MathematicalProgramSolverInterface (const MathematicalProgramSolverInterface &)=delete
 
MathematicalProgramSolverInterfaceoperator= (const MathematicalProgramSolverInterface &)=delete
 
 MathematicalProgramSolverInterface (MathematicalProgramSolverInterface &&)=delete
 
MathematicalProgramSolverInterfaceoperator= (MathematicalProgramSolverInterface &&)=delete
 

Detailed Description

Interface used by implementations of individual solvers.

Constructor & Destructor Documentation

◆ MathematicalProgramSolverInterface() [1/3]

◆ MathematicalProgramSolverInterface() [2/3]

◆ MathematicalProgramSolverInterface() [3/3]

◆ ~MathematicalProgramSolverInterface()

virtual ~MathematicalProgramSolverInterface ( )
virtualdefault

Member Function Documentation

◆ AreProgramAttributesSatisfied()

virtual bool AreProgramAttributesSatisfied ( const MathematicalProgram prog) const
pure virtual

◆ available()

◆ operator=() [1/2]

◆ operator=() [2/2]

◆ Solve() [1/2]

virtual SolutionResult Solve ( MathematicalProgram prog) const
pure virtual

◆ Solve() [2/2]

virtual void Solve ( const MathematicalProgram prog,
const optional< Eigen::VectorXd > &  initial_guess,
const optional< SolverOptions > &  solver_options,
MathematicalProgramResult result 
) const
pure virtual

Solves an optimization program with optional initial guess and solver options.

Note that these initial guess and solver options are not written to prog. If the prog has set an option for a solver, and solver_options contains a different value for the same option on the same solver, then solver_options takes priority.

Implemented in MobyLCPSolver< T >, MobyLCPSolver< double >, MobyLCPSolver< T >, MobyLCPSolver< double >, GurobiSolver, UnrevisedLemkeSolver< T >, UnrevisedLemkeSolver< double >, UnrevisedLemkeSolver< T >, UnrevisedLemkeSolver< double >, UnrevisedLemkeSolver< T >, UnrevisedLemkeSolver< double >, ScsSolver, IpoptSolver, OsqpSolver, MosekSolver, DrealSolver, EqualityConstrainedQPSolver, NloptSolver, SnoptSolver, and LinearSystemSolver.

◆ solver_id()


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