Skip to content
@KarlsruheMIS

Graph Independence Problems at Scale

This is the open source framework to compute (weighted) independent sets, 2-packing sets and vertex covers.

Graph Independence Problems at Scale

KarlsruheMIS Logo

We develop scalable algorithms for independence problems on graphs: Maximum Independent Set (MIS), Maximum Weight Independent Set (MWIS), 2-Packing Set, and Vertex Cover. Developed at the Algorithm Engineering Group, Heidelberg University.

The Problems

An independent set of a graph is a set of vertices with no two vertices adjacent. The Maximum Independent Set (MIS) problem asks for the largest such set; the Maximum Weight Independent Set (MWIS) problem generalizes this by assigning weights to vertices and maximizing total weight. The closely related Vertex Cover problem asks for the smallest set of vertices that touches every edge — its complement is a maximum independent set.

A 2-packing set strengthens the independence condition: no two vertices in the set may share a common neighbor (i.e., they must be at distance at least 3). Finding a maximum 2-packing set is NP-hard and closely related to MIS — our solvers reduce it to an equivalent independent set instance after applying specialized data reduction rules.

All these problems are NP-hard and among the hardest in practice. Large sparse graphs with millions of vertices, as they arise in network analysis, computational biology, and route planning, make exact and near-exact solutions especially challenging.

A key ingredient across all our solvers is data reduction: polynomial-time rules that shrink the input graph while preserving the optimal solution. Our DataReductions framework provides a comprehensive reference implementation of all known exact reduction rules for MWIS — usable as a standalone tool or as a library to integrate into your own solver.

Applications include map labeling, computer vision, combinatorial auctions, coding theory, molecular docking, facility location, and any setting that reduces to finding a maximum conflict-free selection.


Projects

Repository Description
KaMIS Flagship framework: branch-and-reduce, evolutionary, and local search solvers for MIS and MWIS
LearnAndReduce GNN-guided reduction preprocessing for MWIS
CHILS Concurrent local search heuristic for MWIS
DataReductions Reference implementation of data reduction rules for MWIS
HyperMIS Maximum independent sets on hypergraphs
red2pack Scalable solver for the 2-packing set problem
pace-2019 Winning solver of the PACE 2019 Challenge (vertex cover track)

Quick Start

KaMIS

brew install KarlsruheMIS/kamis/kamis
redumis network.graph --output independent_set.txt --time_limit 60 --console_log

CHILS

brew install KarlsruheMIS/chils/chils
CHILS -g network.graph -p 16 -t 60 -o solution.txt

LearnAndReduce

git clone https://github.com/KarlsruheMIS/LearnAndReduce.git && cd LearnAndReduce
./get_dep.sh && ./compile_all.sh
./deploy/reduce_and_chils network.graph --output=solution.txt --time_limit=60

DataReductions

git clone https://github.com/KarlsruheMIS/DataReductions.git && cd DataReductions && make
./mwis_reduce -g network.graph --degree_one --domination --twin -v

HyperMIS

git clone https://github.com/KarlsruheMIS/HyperMIS.git && cd HyperMIS
mkdir build && cd build && cmake .. && make
./run_ilp -g instance.hgr -r -t 3600

red2pack

brew install KarlsruheMIS/kamis/red2pack
red2pack_branch_and_reduce network.graph --output=packing.txt --time_limit=60    # exact (unweighted)
red2pack_heuristic network.graph --time_limit=60                                 # heuristic (unweighted)
redw2pack_rnt_exact network.graph --output=packing.txt --time_limit=60           # exact (weighted)

Pinned Loading

  1. KaMIS KaMIS Public

    Maximum independent sets and vertex covers of large sparse graphs.

    C++ 83 32

  2. pace-2019 pace-2019 Public

    Winning Solver of PACE Challenge 2019 Track A

    TeX 13 1

  3. red2pack red2pack Public

    Scalable solver for the 2-packing set problem.

    C++ 4

  4. LearnAndReduce LearnAndReduce Public

    GNN guided reduction preprocessing for the Maximum Weight Independent Set problem.

    C++ 3 1

  5. DataReductions DataReductions Public

    Reference implementation of datareductions for the MWIS problem

    C 3 1

  6. CHILS CHILS Public

    A concurrent local search heuristic for the Maximum Weight Independent Set problem

    C 7

Repositories

Showing 10 of 11 repositories

Top languages

Loading…

Most used topics

Loading…