Zilla: Framework for Algorithm SelectionBioinformatics,
and
Empirical & Theoretical Algorithmics Laboratory
(ß-Lab) |
(Adapted from the SMAC quickstart guide)
Zilla creates a portfolio of algorithms to run sequentially to improve performance over any single solver. Given a set of instances, features (per instance), solvers, and matrix of runtimes indexed by solvers and instances, zilla creates a model that selects efficient algorithms to run from features on a per-instance basis.
unzip Zilla-1.0-development.zip
cd Zilla-1.0-development
Here, we'll walk through a basic example with Industrial solvers/instances from the 2011 SAT Competition.
cd example_scenarios/SAT12-INDU
../../bin/zilla-builder --scenario scenario_csDF.txt
Inside the scenario_train.txt file, are the following options:
rungroup-name="SAT12-INDU"
overwrite-data=true
cutoff=1200.0
seed=0
complete-feature-manager="complete-feature-manager.txt"
cheap-feature-manager="cheap-feature-manager.txt"
algorithm-execution-manager="algorithm-execution-manager.txt"
train="training-instances.csv"
validation="validation-instances.csv"
presolvers="glueminisat"
presolvers-rt="1.0"
presolvers-choice=SELECT
max-num-presolvers=1
add-empty-presolving-schedule=false
solver-subset-selector-choice=NONE
#log-level=debug
A few important parameters are: cutoff
Max runtime of instance. complete-feature-manager
options for specifiying features algorithm-execution-manager
options for algorithm running times train, validation, test
list of instance for training, validation, and testing./training-instances.csv
file.
SAT-Race-2010-CNF/cryptography/desgen/gss-16-s100.cnf
SAT-Race-2010-CNF/cryptography/desgen/gss-31-s100.cnf
SAT-Race-2010-CNF/cryptography/md5gen/gus-md5-09.cnf
SAT-Race-2010-CNF/cryptography/mizh/md5_47_4.cnf
Each line in this file contains a string specifying an instance.
./complete-feature-manager.csv
file. It point an to a feture value file whose rows represent instances and columns represent features.
feature-manager-choice FILE
fromfile-feature-manager-file "features.csv"
fromfile-feature-manager-cutoff 1200.0
algorithm-execution-manager-file "algo-runs.csv"
./algorithm-execution-manager.csv
file. It points to an algorithm runnning time file whose rows represent instances and columns represent algorithms.
algorithm-execution-manager-file "algo-runs.csv"
Below, we walk through a hydra execution using the above Zilla SAT12-INDU scenario.
cd example_scenarios/SAT12-INDU
../../bin/zilla-builder --scenario scenario_csDF.txt