Bilevel Integer Programming and Interdiction Problems

This site contains accompanying material to the papers

by Matteo Fischetti, Ivana Ljubic, Michele Monaci and Markus Sinnl.

Solver for Mixed-Integer Bilevel Linear Problems

The intersection-cut based solver for Mixed-Integer Bilevel Linear Problems (described in the first three publications mentioned above) can be downloaded by clicking here. To use the solver, a license file must be requested from the authors, request it by clicking here

The solver is provided as binary compiled under Ubuntu 14.04 64bit with g++ 4.8.4 using CPLEX 12.7. It needs dynamic CPLEX libraries, which need to be generated manually by the user. The procedure is as follows:

  1. In the script make_cplex_dynamic.sh provided with the binary set the environment variable CPLEX_DIR to the base directory of the CPLEX installation on your system (e.g., /opt/ibm/ILOG/CPLEX_Studio127).
  2. Run the resulting script make_cplex_dynamic.sh to create the dynamic CPLEX library files libconcert.so, libcplex.so and libilocplex.so.
  3. Put the generated dynamic libraries and the requested license file bilevel.license in the folder where the binary bilevel is.

The solver can be run as, e.g.,

./bilevel -mpsfile myInstanceFolder/myInstance.mps -setting 4

Setting refers to different settings as described in the papers, the available settings and all other available parameters can be shown by

./bilevel -help

For the instance format, see below (or the file readme.md in the provided zipfile). The software is for academic purposes only, see also the file license.md in the provided zipfile.

Instances

  • Click here to download the instances based on MIPlib instances
  • Click here to download the instances based on multidimensional knapsack instances
  • Click here to download the instance sets LKIP, LCIP, GEN, TRSC+
  • Click here to download the instance sets INTER-FIRE, XUWANG, XUWANG-LARGE

The format of the instances is following the format of the open-source solver MibS, see also here