Drake
Drake C++ Documentation
MaxCliqueSolverViaMip Class Referencefinal

Detailed Description

Solves the maximum clique problem to global optimality by solving the mixed-integer program.

Maximize ∑ᵢ xᵢ subject to xᵢ + xⱼ ≤ 1 if (i,j) is not in the edge xᵢ ∈ {0,1}.

Note: This solver requires the availability of a Mixed-Integer Linear Programming solver (e.g. Gurobi and/or Mosek). We recommend enabling those solvers if possible (https://drake.mit.edu/bazel.html#proprietary_solvers).

Exceptions
std::exceptionif no Mixed-Integer Linear Programming solver is available.
std::exceptionif the initial guess has the wrong size for the provided adjacency matrix.

#include <drake/planning/graph_algorithms/max_clique_solver_via_mip.h>

Public Member Functions

 MaxCliqueSolverViaMip ()=default
 
 MaxCliqueSolverViaMip (const std::optional< Eigen::VectorXd > &initial_guess, const solvers::SolverOptions &solver_options)
 
void SetSolverOptions (const solvers::SolverOptions &solver_options)
 
solvers::SolverOptions GetSolverOptions () const
 
void SetInitialGuess (const std::optional< Eigen::VectorXd > &initial_guess)
 
std::optional< Eigen::VectorXd > GetInitialGuess () const
 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 MaxCliqueSolverViaMip (const MaxCliqueSolverViaMip &)=default
 
MaxCliqueSolverViaMipoperator= (const MaxCliqueSolverViaMip &)=default
 
 MaxCliqueSolverViaMip (MaxCliqueSolverViaMip &&)=default
 
MaxCliqueSolverViaMipoperator= (MaxCliqueSolverViaMip &&)=default
 
- Public Member Functions inherited from MaxCliqueSolverBase
virtual ~MaxCliqueSolverBase ()
 
VectorX< bool > SolveMaxClique (const Eigen::SparseMatrix< bool > &adjacency_matrix) const
 Given the adjacency matrix of an undirected graph, find the maximum clique within the graph. More...
 

Additional Inherited Members

- Protected Member Functions inherited from MaxCliqueSolverBase
 MaxCliqueSolverBase ()=default
 
 MaxCliqueSolverBase (const MaxCliqueSolverBase &)=default
 
MaxCliqueSolverBaseoperator= (const MaxCliqueSolverBase &)=default
 
 MaxCliqueSolverBase (MaxCliqueSolverBase &&)=default
 
MaxCliqueSolverBaseoperator= (MaxCliqueSolverBase &&)=default
 

Constructor & Destructor Documentation

◆ MaxCliqueSolverViaMip() [1/4]

◆ MaxCliqueSolverViaMip() [2/4]

◆ MaxCliqueSolverViaMip() [3/4]

MaxCliqueSolverViaMip ( )
default

◆ MaxCliqueSolverViaMip() [4/4]

MaxCliqueSolverViaMip ( const std::optional< Eigen::VectorXd > &  initial_guess,
const solvers::SolverOptions solver_options 
)

Member Function Documentation

◆ GetInitialGuess()

std::optional<Eigen::VectorXd> GetInitialGuess ( ) const

◆ GetSolverOptions()

solvers::SolverOptions GetSolverOptions ( ) const

◆ operator=() [1/2]

MaxCliqueSolverViaMip& operator= ( const MaxCliqueSolverViaMip )
default

◆ operator=() [2/2]

MaxCliqueSolverViaMip& operator= ( MaxCliqueSolverViaMip &&  )
default

◆ SetInitialGuess()

void SetInitialGuess ( const std::optional< Eigen::VectorXd > &  initial_guess)

◆ SetSolverOptions()

void SetSolverOptions ( const solvers::SolverOptions solver_options)

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