This is the repo of NeurIPS 2019 submission - Reinforcement Learning for Integer Programming: Learning to Cut.
The code works in Python 2.7. You need to install Chainer, Cython, Gurobi (Gurobi-py).
You need to build all the C dependencies using Cython. In particular
cd libs/cwrapping/gurobipy
./build.sh
and also
cd es
python setup.py build_ext -i
Install the current repo
pip install -e .
Before running, please do go to each main python file to check for missing hyper-parameters, loading directories, etc. Train a cut selection RL agent
cd main/cuts
./train.sh
To run the RL agent on a B&C downstream task
cd main/bc
./run.sh