• Stars
    star
    125
  • Rank 286,335 (Top 6 %)
  • Language
    Python
  • License
    BSD 3-Clause "New...
  • Created over 3 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Machine Learning for Combinatorial Optimization - NeurIPS'21 competition

Machine Learning for Combinatorial Optimization - NeurIPS 2021 Competition

(please cite the following paper)

The Machine Learning for Combinatorial Optimization Competition (ML4CO): Results and Insights Maxime Gasse, Simon Bowly, Quentin Cappart, Jonas Charfreitag, Laurent Charlin, Didier Chételat, Antonia Chmiela, Justin Dumouchelle, Ambros Gleixner, Aleksandr M. Kazachkov, Elias Khalil, Pawel Lichocki, Andrea Lodi, Miles Lubin, Chris J. Maddison, Morris Christopher, Dimitri J. Papageorgiou, Augustin Parjadis, Sebastian Pokutta, Antoine Prouvost, Lara Scavuzzo, Giulia Zarpellon, Linxin Yang, Sha Lai, Akang Wang, Xiaodong Luo, Xiang Zhou, Haohan Huang, Shengcheng Shao, Yuanming Zhu, Dong Zhang, Tao Quan, Zixuan Cao, Yang Xu, Zhewei Huang, Shuchang Zhou, Chen Binbin, He Minggui, Hao Hao, Zhang Zhiyu, An Zhiwu, Mao Kun, Proceedings of the NeurIPS 2021 Competitions and Demonstrations Track, PMLR 176:220-231, 2022.

Official website: competition guidelines, team registration, rules, and leaderboard.

This repository contains the base code that supports the competition, as well as some code examples and baseline implementations for each of the three decision tasks that participants can compete in (primal, dual, config). It is organized as follows

instances/    -> the datasets
common/       -> the common code base, i.e., environments, rewards and evaluation scripts
submissions/  -> the team submissions
  example/    -> an example submission
singularity/  -> the singularity image and scripts of our evaluation pipeline

Documentation

Final evaluation

During the competition we will evaluate submissions on a weekly basis, and update our online leaderboards while the competition is running. Participants do not have to send a submission every week, but are encouraged to submit regularly to make the competition a live event. In order to prevent test overfitting, those intermediate evaluations will be performed on a fixed subset of the test set (20%), while only the final evaluation, which will tell the winners, will be performed on the entire test set.

Additional remarks

We provide an official support to participants via the Github discussions feature. Please direct any technical or general question regarding the competition there, and feel free to answer the questions of other participants as well. We will not provide a privileged support to any of the participants, except in situations where it concerns information about their submission which they do not want to share. To contact us directly, use the competition's email adress: [email protected] .

We will not run the training of your ML models. Please send us only your final, pre-trained model, ready for evaluation.

We only offer support for Linux and MacOS, the Windows platform being currently unsupported by Ecole.

Sponsors

We thank Compute-Canada, Calcul Québec and Westgrid for providing the infrastructure and compute ressources that allow us to run the competition.

More Repositories

1

learn2branch

Exact Combinatorial Optimization with Graph Convolutional Neural Networks (NeurIPS 2019)
Python
344
star
2

ecole

Extensible Combinatorial Optimization Learning Environments
C++
316
star
3

Tulip.jl

Interior-point solver in pure Julia
Julia
154
star
4

branch-search-trees

Parameterizing Branch-and-Bound Search Trees to Learn Branching Policies (AAAI 2021)
Python
64
star
5

learn2branch-ecole

Reimplementation of "Exact Combinatorial Optimization with Graph Convolutional Neural Networks" (NeurIPS 2019)
Python
32
star
6

learn2comparenodes

Learning to Compare Nodes in Branch and Bound with Graph Neural Networks (NeurIPS 2022)
Jupyter Notebook
18
star
7

sparse-gcn

Sparse graph attention
Python
17
star
8

Bliss

Fork of Bliss
C++
12
star
9

ZERO

ZERO is a modular C++ library interfacing Mathematical Programming and Game Theory.
C++
9
star
10

singularity-conda

A Singularity recipe that properly initialize a conda environment
Shell
8
star
11

EPECInstances

An Instance generator for NASPs (Nash Games among Stackelberg Players)
Python
8
star
12

PySVMRank

Python API for SVMrank (http://www.cs.cornell.edu/people/tj/svm_light/svm_rank.html)
Python
7
star
13

nectar

Codebase for "A learning-based algorithm to quickly compute good primal solutions for Stochastic Integer Programs"
Python
4
star
14

tipsntricks

Tips, tricks and setup information at the chair
HTML
3
star
15

milp-outcome

Jupyter Notebook
3
star
16

miqp-clf2lin

Python
3
star
17

ml4co-competition-hidden

Machine Learning for Combinatorial Optimization - NeurIPS'21 competition (hidden code)
Python
3
star
18

CNG-Instances

Instances and results for the Critical Node Game
2
star
19

ecole-paper

Compare Ecole and Gasse et al. 2019 implementations
Jupyter Notebook
1
star
20

amcts-cplex

Asynchronous Monte-Carlo Tree Search (AMCTS) implementation for learning to branch in CPLEX.
Jupyter Notebook
1
star
21

GraphRL

Python
1
star
22

IrratDCM

"On the estimation of discrete choice models to capture irrational customer behaviors" by Jena et al. (2021)
1
star