Skip to content

NetSysOpt/GNNs_Sym_ILPs

Repository files navigation

When GNNs meet symmetry in ILPs: an orbit-based feature augmentation approach

This repository contains the code for the ICLR 2025 paper: When GNNs meet symmetry in ILPs: an orbit-based feature augmentation approach.

Environment Setup

To run this code, you need the following dependencies:

  • Python 3.9.19
  • pyg 2.5.3
  • pytorch 2.4.0
  • pyscipopt 3.5.0

Data preparation

Follow instructions here to prepare the data.

Training the Model

To train the model, you can use the following bash commands:

epoch=100
sampleTimes=8
for dataset in BIP BPP SMSP
do
    python train.py --Aug empty --dataset $dataset  --epoch $epoch --sampleTimes $sampleTimes
    python train.py --Aug uniform --dataset $dataset  --epoch $epoch --sampleTimes $sampleTimes
    python train.py --Aug pos --dataset $dataset  --epoch $epoch --sampleTimes $sampleTimes
    python train.py --Aug orbit --dataset $dataset  --epoch $epoch --sampleTimes $sampleTimes
    python train.py --Aug group --dataset $dataset  --epoch $epoch --sampleTimes $sampleTimes
done

Evaluation

Draw loss curves

After training, the validation curves of different methods can be drawn by running Matlab script

draw_loss.m

Get Top-m% error

statistics regarding Top-m% error can be calculated by running

python read_top_m_error.py

the results will be reported in ./handisTable_valid.xlsx

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published