From 0c20ee2e268c907e375fa958f1b76cf4deb008b2 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Sat, 29 Apr 2017 10:25:50 -0400 Subject: [PATCH] Create README.md --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..4a8623f --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# multirow +This repository contains the source code for the papers on multi-row intersection cuts by +**Ricardo Fukasawa**, **Laurent Poirrier** and **Álinson S. Xavier**. It also contains +the instances, the raw outputs and the scripts that were used to generate the tables +that appear in the papers. + +## Required tools and libraries + +To produce the tables in the papers, the following tools and libraries were used. +Different versions may produce slightly different outputs. +Compiling the source code requires a modern C/C++ compiler, with support to C++11 features and OpenMP. + +* GNU Make, version 3.81 +* CMake, version 3.8 +* GCC, the GNU Compiler Collection, version 6.3 +* Ruby, version 1.9.3 +* IBM® ILOG® CPLEX®, version 12.6 + +## Downloading and compiling + +``` +git clone https://github.com/iSoron/multirow.git +cd multirow +git submodule update +mkdir build +cd build +cmake .. +make +``` + +If CMake cannot find CPLEX, it may be necessary to modify the file `cmake/FindCPLEX.cmake`. + +## Project structure + +``` +├── build Directory that holds the compiled files +├── cmake Custom CMake scripts +├── googletest Google's C++ Test Framework +├── infinity Source-code for the paper 'Intersection Cuts from the Infinity Norm' +│   ├── benchmark Benchmark portion of the code, including scripts, instances and outputs +│   └── library Actual code to compute infinity cuts +├── lifting Source-code for the paper 'The (not so) Trivial Lifting in Two Dimensions' +│   ├── benchmark Benchmark portion of the code, including scripts, instances and outputs +│   └── library Actual code to perform the trivial lifting +├── multirow Common code used by multiple papers +├── onerow Source-code for the paper 'Intersection Cuts from Single-Row Relaxations' +│   ├── benchmark Benchmark portion of the code, including scripts, instances and outputs +│   └── library Actual code to generate wedge cuts +└── qxx Auxiliary library by Laurent Poirrier +```