Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BIPNN: Learning to Solve Binary Integer Programming via Hypergraph Neural Networks

This repository is the official implementation of BIPNN: Learning to Solve Binary Integer Programming via Hypergraph Neural Networks

alt text

Requirements

To install requirements, you need anaconda or miniconda or uv (recommend) and run:

conda env create -f environment.yaml (use conda venv)

uv sync (use uv) (recommend)

Run code

We provide a beautiful notebook file example/desc.ipynb that combines code to restate our work in the paper and reproduces some experimental results for your reference, You can either just browse it using jupyter or try to re-run it even if it already contains all the results.

In addition, we have provided some experiments in the test/ folder

Project directory structure

📦src
 ┣ 📂maxcut
 ┃ ┣ 📜__init__.py
 ┃ ┣ 📜loss.py
 ┃ ┗ 📜utils.py
 ┣ 📜__init__.py
 ┣ 📜constraints.py
 ┣ 📜core.py
 ┣ 📜loss.py
 ┣ 📜models.py
 ┣ 📜train.py
 ┗ 📜utils.py

Results

The Effectiveness of BIPNN’s Hypergraph Generation Mechanism:

alt text

Comparison with Linearization-based BIP Solvers for Hypergraph maxcut problems:

alt text

Conversion algorithm

alt text

Annealing Strategy

alt text

About

Code repository for the paper "BIPNN: Learning to Solve Binary Integer Programming via Hypergraph Neural Networks"

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages