GEDLIB
1.0
|
Mixed integer linear programming formulation of the graph edit distance. More...
#include <compact_mip.hpp>
Private Member Functions | |
virtual void | mip_populate_model_ (const GEDGraph &g, const GEDGraph &h, GRBModel &model) final |
Runs the local search from an initial node map. More... | |
virtual void | mip_model_to_node_map_ (const GEDGraph &g, const GEDGraph &h, GRBModel &model, NodeMap &node_map) final |
Given a, possibly sub-optimally, solved unrelaxed model, this method constructs a node map and sets its induced cost. More... | |
virtual bool | mip_model_to_lsape_projection_problem_ (const GEDGraph &g, const GEDGraph &h, GRBModel &model, DMatrix &lsape_instance) final |
Given a, possibly sub-optimally, solved model, this method constructs an LSAPE instance for projecting a continuous solution to a node map. More... | |
Additional Inherited Members | |
Public Member Functions inherited from ged::MIPBasedMethod< UserNodeLabel, UserEdgeLabel > | |
virtual | ~MIPBasedMethod ()=0 |
Pure virtual destructor. More... | |
MIPBasedMethod (const GEDData< UserNodeLabel, UserEdgeLabel > &ged_data) | |
Constructor. More... | |
Public Member Functions inherited from ged::GEDMethod< UserNodeLabel, UserEdgeLabel > | |
virtual | ~GEDMethod ()=0 |
Pure virtual destructor. More... | |
GEDMethod (const GEDData< UserNodeLabel, UserEdgeLabel > &ged_data) | |
Constructor. More... | |
void | set_options (const std::string &options) |
Sets the options of the method. More... | |
void | run (GEDGraph::GraphID g_id, GEDGraph::GraphID h_id) |
Runs the method with options specified by set_options(). More... | |
void | run_as_util (const GEDGraph &g, const GEDGraph &h, Result &result) |
Runs the method with options specified by set_options(). More... | |
void | init () |
Initializes the method with options specified by set_options(). | |
double | get_upper_bound () const |
Returns an upper bound. More... | |
double | get_lower_bound () const |
Returns a lower bound. More... | |
Seconds | get_runtime () const |
Returns the runtime. More... | |
Seconds | get_init_time () const |
Returns the initialization time. More... | |
const NodeMap & | get_node_map () const |
Returns a graph matching. More... | |
Protected Attributes inherited from ged::MIPBasedMethod< UserNodeLabel, UserEdgeLabel > | |
bool | relax_ |
If true , the model populated by mip_populate_model_() must be continuous. | |
bool | map_root_to_root_ |
If true , the model populated by mip_populate_model_() must enforce that the nodes with ID 0 are mapped to each other. | |
Protected Attributes inherited from ged::GEDMethod< UserNodeLabel, UserEdgeLabel > | |
bool | initialized_ |
A flag that equals true if init() has been called and false otherwise. | |
const GEDData< UserNodeLabel, UserEdgeLabel > & | ged_data_ |
The data on which the method is run. | |
Mixed integer linear programming formulation of the graph edit distance.
Implements the compact MIP formulation suggested in:
Does not support any options except for the ones supported by ged::MIPBasedMethod.
Definition at line 43 of file compact_mip.hpp.
|
finalprivatevirtual |
Given a, possibly sub-optimally, solved model, this method constructs an LSAPE instance for projecting a continuous solution to a node map.
[in] | g | Input graph. |
[in] | h | Input graph. |
[in] | model | Possibly sub-optimally solved model. |
[in,out] | lsape_instance | The LSAPE instance to be constructed. Initialized as matrix of ones. |
false
by default. Derived classes that override this method must return true
. –relax TRUE
. The LSAPE instance lsape_instance
should be constructed such that, when constructed for an unrelaxed model, the unique optimal solution for lsape_instance
corresponds to the node map constructed by mip_model_to_node_map_(). Reimplemented from ged::MIPBasedMethod< UserNodeLabel, UserEdgeLabel >.
Definition at line 230 of file compact_mip.ipp.
|
finalprivatevirtual |
Given a, possibly sub-optimally, solved unrelaxed model, this method constructs a node map and sets its induced cost.
[in] | g | Input graph. |
[in] | h | Input graph. |
[in] | model | Possibly sub-optimally solved unrelaxed model. |
[out] | node_map | Node map which has to be constructed and whose induced cost has to be set. |
Reimplemented from ged::MIPBasedMethod< UserNodeLabel, UserEdgeLabel >.
Definition at line 211 of file compact_mip.ipp.
|
finalprivatevirtual |
Runs the local search from an initial node map.
[in] | g | Input graph. |
[in] | h | Input graph. |
[out] | model | The mixed integer linear programming model. Must be continuous if relax_ equals true . |
Reimplemented from ged::MIPBasedMethod< UserNodeLabel, UserEdgeLabel >.
Definition at line 47 of file compact_mip.ipp.