Benchmark Design section

This commit is contained in:
Jip J. Dekker 2021-06-16 15:50:58 +10:00
parent b3eca9df7c
commit ed4a7b8a4f
No known key found for this signature in database
GPG Key ID: 517DF4A00618C9C3
2 changed files with 34 additions and 15 deletions

View File

@ -169,6 +169,11 @@
description={}, description={},
} }
\newglossaryentry{git}{
name={Git},
description={},
}
\newglossaryentry{global}{ \newglossaryentry{global}{
name={global constraint}, name={global constraint},
description={}, description={},

View File

@ -51,11 +51,11 @@ array[1..n,0..n] of int: p; % prize for edge (i,j), p[i,0] = 0
array[1..n] of var 0..n: next; % next posn in tour array[1..n] of var 0..n: next; % next posn in tour
array[1..n] of var 0..n: pos; % posn on node i in path, 0=notin array[1..n] of var 0..n: pos; % posn on node i in path, 0=notin
array[1..n] of var int: prize = [p[i,next[i]] | i in 1..n]; array[1..n] of var int: prize = [p[i,next[i]] | i in 1..n];
% prize for outgoing edge % prize for outgoing edge
constraint forall(i in 1..n)( constraint forall(i in 1..n)(
(pos[i] = 0 <-> next[i] = 0) /\ (pos[i] = 0 <-> next[i] = 0) /\
(next[i] > 1 -> pos[next[i]] = pos[i] + 1) (next[i] > 1 -> pos[next[i]] = pos[i] + 1)
); );
constraint alldifferent_except_0(next) /\ pos[1] = 1; constraint alldifferent_except_0(next) /\ pos[1] = 1;
@ -63,20 +63,34 @@ constraint alldifferent_except_0(next) /\ pos[1] = 1;
solve minimize sum(i in 1..n)(prize[i]); solve minimize sum(i in 1..n)(prize[i]);
\end{mzn} \end{mzn}
\begin{mzn} \section{Benchmark Design}%
include "subcircuit.mzn"; \label{sec:bench-env}
int: n; % size To promote the verification and recreation of experiments, we have published the programs with accompanying instructions to perform the experiments in this thesis.
array[1..n,1..n] of int: p; % prize for edge (i,j), p[i,i] = 0 The experiments are split into three parts, each testing a different system.
Each part is published as a \gls{git} repository on GitHub.
array[1..n] of var 0..n: next; % next posn in tour \paragraph{MiniZinc Prototype} The design for the experiments of the \minizinc{} prototype implementation can be found in:
array[1..n] of var int: prize = [p[i,next[i]] | i in 1..n];
% prize for outgoing edge
constraint subcircuit(next); \begin{center}
\url{file://TODO}
\end{center}
solve minimize sum(i in 1..n)(prize[i]); This repository contains the flattening, recursive function, and the incremental flattening benchmarks.
\end{mzn}
\paragraph{Half Reification} The design for all the \gls{half-reif} experiments is located in:
\begin{center}
\url{https://github.com/Dekker1/half-reif-benchmarks}
\end{center}
This repository contains both the benchmark for the \gls{chuffed} propagators of \gls{half-reif} constraints and the \minizinc{} Challenge 2019 \& 2020 benchmark.
\paragraph{Restarting Meta-Search} Finally, the design of the experiments for restart based \gls{meta-search} can be found in:
\begin{center}
\url{https://github.com/Dekker1/on-restart-benchmarks}
\end{center}
This repository contains the benchmarks for both \gls{gecode} and \gls{chuffed}.
\section{Benchmark Environments}%
\label{sec:bench-programs}