Currently, there is no nice way to exploit the file structure of the benchmark to recognize instances and encodings, and allow different encodings for different systems.
For example, let us assume our benchmark folder has the following structure:
- benchmarks/
| - problem1/
| - problem2/
|- ...
and each problem directly contains the programs to be run. Then, we can add
<benchmark name="benchmark">
<folder path="benchmarks"/>
</benchmark>
and all problems will be run and grouped in classes appropriately.
If on the other hand, each problem is separated into instances and encoding, we have to manually state which encoding to use with each instance. In this case, we may have the following structure:
- benchmarks/
| - problem1/
| - instances/
| - encoding.sys1
| - encoding.sys2
| - problem2/
| - instances/
| - encoding.sys1
| - encoding.sys2
|- ...
It would be nice to be able to set this automatically as follows:
<benchmark name="benchmark">
<folder path="benchmarks", instances="instances">
<encoding relative="encoding" /encoding>
</folder>
</benchmark>
<system name="sistem1" version="0"
measures="clingo"
config="seq">
<setting name="baseline" cmdline="--stats 1" encoding_suffix=".sys1"/>
</system>
<system name="sistem2" version="0"
measures="clingo"
config="seq">
<setting name="baseline" cmdline="--stats 1" encoding_suffix=".sys2"/>
</system>
For each folder in benchmarks, this expects a folder called instances. For each file benchmarks/problem1/instances/file, the solver will be called with the command lines
system1 {sys_cmd} {setting_cmd} benchmarks/problem1/instances/file benchmarks/problem1/encoding.sys1
system2 {sys_cmd} {setting_cmd} benchmarks/problem1/instances/file benchmarks/problem1/encoding.sys2
Currently, there is no nice way to exploit the file structure of the benchmark to recognize instances and encodings, and allow different encodings for different systems.
For example, let us assume our benchmark folder has the following structure:
and each problem directly contains the programs to be run. Then, we can add
and all problems will be run and grouped in classes appropriately.
If on the other hand, each problem is separated into instances and encoding, we have to manually state which encoding to use with each instance. In this case, we may have the following structure:
It would be nice to be able to set this automatically as follows:
For each folder in
benchmarks, this expects a folder calledinstances. For each filebenchmarks/problem1/instances/file, the solver will be called with the command linessystem1 {sys_cmd} {setting_cmd} benchmarks/problem1/instances/file benchmarks/problem1/encoding.sys1 system2 {sys_cmd} {setting_cmd} benchmarks/problem1/instances/file benchmarks/problem1/encoding.sys2