Add readme file
This commit is contained in:
parent
957122efde
commit
313deabd13
51
README.md
Normal file
51
README.md
Normal file
@ -0,0 +1,51 @@
|
||||
# Restart Based Meta-Search Experiments
|
||||
|
||||
This repository contains benchmarks of restart based meta-search presented in
|
||||
|
||||
> Dekker J.J., de la Banda M.G., Schutt A., Stuckey P.J., Tack G. (2018) Solver-Independent Large Neighbourhood Search. In: Hooker J. (eds) Principles and Practice of Constraint Programming. CP 2018. Lecture Notes in Computer Science, vol 11008. Springer, Cham. https://doi.org/10.1007/978-3-319-98334-9_6
|
||||
|
||||
and included in Jip J. Dekker's PhD Thesis.
|
||||
|
||||
These experiments concern the usage of propagation engine adjustments that capture some of the context of the current search space.
|
||||
This context can later be accessed by special propagators to enforce properties that are interesting for meta-search.
|
||||
Such as:
|
||||
|
||||
- The last value a variable has taken
|
||||
- The last solution a variable has taken
|
||||
- A random value, to be assigned by a variable
|
||||
|
||||
These benchmarks tests the effectiveness of this approach.
|
||||
The experiments are conducted on the `gbac`, `rcpsp-wet` and `steelmillslab` problems from the MiniZinc challenge.
|
||||
Each model is given two neighbourhoods for an round-robin LNS approach.
|
||||
|
||||
## Setup
|
||||
|
||||
The script `setup.sh` contains initial configuration of the experiments:
|
||||
|
||||
- The amount of time given for the test (120 sec)
|
||||
- The amount of repeats for randomised search (10)
|
||||
- It adds the correect version of MiniZinc to the `PATH`
|
||||
|
||||
The solver versions used are stored in the `software/` folder as git sub-modules.
|
||||
The `install.sh` script can be used to compile the solvers and put them in the correct place.
|
||||
|
||||
## Run
|
||||
|
||||
The experiments can be run as different parts:
|
||||
|
||||
- Regular Gecode (base-line)
|
||||
- Regular Chuffed (base-line)
|
||||
- Restart Based Gecode (proposal)
|
||||
- Restart Based Chuffed (proposal)
|
||||
- Recording Gecode (data for replay)
|
||||
- Replaying Gecode (ideal-case, no-computation)
|
||||
|
||||
For each part there is a `run_*.sh` script that will run the experiments and put its results into the `output` folder.
|
||||
The `run_all.sh` script can be used to run them all in sequences.
|
||||
|
||||
## Analyse
|
||||
|
||||
The scripts `analyse_{gecode,chuffed}.py` can be used to process the information gathered during the experiments.
|
||||
Each script is specific to that solver.
|
||||
It takes the output folder of one of the runs as an argument (e.g., `output/gecode/gbac/original`).
|
||||
The script produces a CSV format that can then be processed using software like Excel or Numbers.
|
Reference in New Issue
Block a user