-
mcndp : contains mosel models and data for the MCNDP problem
-
cg : column generation approach
-
raw : raw approach
-
data : data file folder
- easy : easy instances
- hard : hard instances
- small : contains a small instance of the MCNDP problem and its network representation to help understanding the .dat file format
-
lib : reusable code folder
-
-
pdf : contains the assignment sheet, the report, the Mosel User Guide and papers on the subject of the MCNDP problem
-
sp : contains mosel models and data for the SP problem
-
test : mosel examples
- data : data for the test models
- mos : test models
-
init : quick environment initialization for mosel
-
run : shortcut for model execution
source ./init
./run <model_path> [params..]
time ./run mcndp/cg < mcndp/data/p33.dat
time ./run mcndp/raw < mcndp/data/p33.dat
./bench/run <inp> <out> <*alg>
./bench/run mcndp/data/easy/ bench/data/ mcndp/raw mcndp/cg
./bench/b2l <inp> <precision> <alg1> <alg2>
./bench/b2l bench/data/ 2 mcndp/raw mcndp/cg
Data is contained in .dat files inside the data directory (for MCNDP see mcndp/data). Information is splitted in 3 parts:
- Info on the instance size;
- Info on source-destination pairs;
- Info on product supply/demand.
The first line contains all the info on the instance size. You can read the 3 following values:
- N = number of nodes;
- M = number of edges;
- K = number of products.
Starting from the second line you can read info on source-destination pairs. For each of the M couples we have a first line with values.
-
*j* = destination;
-
*i* = source;
- f_{ij} = fixed costs;
- u_{ij} = total capacity;
-
*k* = number of products.
After that we have a line for each of the k products with values
-
*k* = product index;
- c^k_{ij} = cost on edge (i,j) for product k;
- b^k_{ij} = bound on edge (i,j) for product k.
Finally there is the section on product supply and demand. For each product we have a line containing values:
-
*k* = product index;
-
*i* = destination node index;
- d^k_i = amount of product k supplied (positive value) or demanded (negative value) by node i.
To have a better understanding see example mcndp/data/small/small.dat and mcndp/data/small/small.pdf.
/!\ Error in mcndp/data/small/small.pdf, u and b swapped.