38 lines
931 B
Bash
Executable file
38 lines
931 B
Bash
Executable file
#!/bin/bash
|
|
|
|
outdir="$(date --iso-8601=ns)_results_irace"
|
|
mkdir ${outdir}
|
|
cd ${outdir}
|
|
|
|
run(){
|
|
p="$1"
|
|
|
|
echo "Problem ${p}"
|
|
res="results_problem_${p}"
|
|
mkdir ${res}
|
|
cd ${res}
|
|
|
|
# Fore some reason, irace absolutely need those files...
|
|
cp ../../irace-config/example.scen .
|
|
cp ../../irace-config/default.instances .
|
|
cp ../../release/fastga .
|
|
cat ../../irace-config/target-runner | sed "s/{{PROBLEM}}/${p}/" > ./target-runner
|
|
chmod u+x target-runner
|
|
|
|
# Generate the parameter list file.
|
|
./fastga -h > fastga.param 2>/dev/null
|
|
# /usr/lib/R/site-library/irace/bin/irace --scenario example.scen 2>&1 | tee irace.log
|
|
/usr/lib/R/site-library/irace/bin/irace --scenario example.scen &> irace.log
|
|
|
|
cd ..
|
|
echo "Done problem ${p}"
|
|
}
|
|
|
|
N=5 # Somehow 5 is the fastest on my 4-cores machine.
|
|
(
|
|
for pb in $(seq 0 18); do
|
|
((i=i%N)); ((i++==0)) && wait
|
|
run "$pb" &
|
|
done
|
|
wait
|
|
)
|