Skip to content

Solving Graph Coloring Problem by Integer Programming using Gurobi & C++ BOOST

Notifications You must be signed in to change notification settings

sk-surya/gcp-BOOST

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gcp-BOOST

An Implementation of the following paper: "An Improved DSATUR‐Based Branch‐and‐Bound Algorithm for the Vertex Coloring Problem" - Furini et al.

Paper Abstract:

Given an undirected graph, the Vertex Coloring Problem (VCP) consists of assigning a color to each vertex of the graph in such a way that two adjacent vertices do not share the same color and the total number of colors is minimized. DSATUR-based Branch-and-Bound algorithm (DSATUR) is an effective exact algorithm for the VCP. One of its main drawback is that a lower bound is computed only once and it is never updated. We introduce a reduced graph which allows the computation of lower bounds at nodes of the branching tree. We compare the effectiveness of different classical VCP bounds, plus a new lower bound based on the 1-to-1 mapping between VCPs and Stable Set Problems. Our new DSATUR outperforms the state of the art for random VCP instances with high density, significantly increasing the size of instances solved to proven optimality.

The work is not fully completed yet. Work In Progress. I tried using C++. I wanted to learn Generic Programming in C++. I have used Boost graph Library build the algorithm. Optimization solver - GUROBI.

About

Solving Graph Coloring Problem by Integer Programming using Gurobi & C++ BOOST

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published