Add README file to lifting project

feature/few-sets
Alinson S. Xavier 8 years ago
parent 355da317ba
commit cc1e3962d0

@ -0,0 +1,50 @@
lifting
=======
This package contains the source code for the paper **The (not so) Trivial
Lifting in Two Dimensions**, by Ricardo Fukasawa, Laurent Poirrier and Álinson
S. Xavier.
Required Tools and Libraries
----------------------------
To produce the tables in the paper, the following tools and libraries were
used. Different versions may produce slightly different outputs.
- GNU Make, version 3.81
- CMake, version 3.5.1
- GCC, the GNU Compiler Collection, version 4.8.4
- Ruby, version 1.9.3
- IBM® ILOG® CPLEX®, version 12.6
Build instructions
------------------
1. Navigate to the folder `../build`
2. Run `cmake ..` followed by `make lifting-benchmark.run`
3. Two binaries (`lifting-benchmark.run` and `liblifting.a`) will be generated
Running the experiments
-----------------------
1. Build the project, following the instructions above.
2. Navigate to the folder `lifting/benchmark` and execute
./run_experiments.sh
3. Two CSV files will be generated inside the folder `lifting/benchmark/tables`,
corresponding to the two tables that appear in the paper.
In order to run the experiments with a different set of instances,
the file `lifting/benchmark/instances/filtered/all.txt` should be modified.
Each line in this file describes the origin `f` and a lattice-free set `B`.
The set `B` is described by the coordinates of its vertices. Since the generator
only deals with maximal lattice-free sets, it is also necessary to specify the
lattice-point in the relative interior of each facet of `B`. The format of the file
is as follows:
f[0] f[1] n v[0][0] v[0][1] ... v[n-1][0] v[n-1][1] n l[0][0] l[0][1] ... l[n-1][0] l[n-1][1]
where `n` is the number of facets, `v` is a n-by-2 matrix of doubles
corresponding to the vertices and l is an n-by-2 matrix of doubles
corresponding to the lattice-points.