Work on the Experiments section

This commit is contained in:
Jip J. Dekker 2021-04-08 18:07:04 +10:00
parent 1d20312a30
commit 67b806b378
No known key found for this signature in database
GPG Key ID: 517DF4A00618C9C3

View File

@ -276,16 +276,15 @@ that introduces the variable.
\subsection{\glsentrytext{nanozinc}}\label{sec:4-nanozinc}
A \nanozinc\ model (\cref{fig:4-nzn-syntax}) consists of a topologically-ordered
list of definitions. Each definition binds a variable to the result of a call or
another variable, and it is associated with a list of identifiers of auxiliary
constraints. The \nanozinc\ model contains a special definition
\mzninline{true}, containing all ``root-context'' constraints of the model,
\ie\ those that have to hold globally and are not just used to define an
auxiliary variable. Only root-context constraints (attached to \mzninline{true})
can effectively constrain the overall problem. Constraints attached to
definitions originate from function calls, and since all functions are
guaranteed to be total, attached constraints can only define the function
result.
list of variables declaration and constraints. Variables are declared with an
identifier, a domain, and it is associated with a list of identifiers of
auxiliary constraints. Constraints can also occur at the top-level of the
\nanozinc\ model. These are said to be the ``root-context'' constraints of the
model, \ie\ those that have to hold globally and are not just used to define an
auxiliary variable. Only root-context constraints can effectively constrain the
overall problem. Constraints attached to variables originate from function
calls, and since all functions are guaranteed to be total, attached constraints
can only define the function result.
\begin{example}\label{ex:4-absnzn}
@ -954,17 +953,15 @@ following we present experimental results on basic flattening performance as
well as incremental flattening and solving that demonstrate the efficiency
gains that are possible thanks to the new architecture.
\subsection{Basic Flattening}
As a first experiment, we selected 20 models from the annual \minizinc\
challenge and compiled 5 instances of each model to \flatzinc, using the current
\minizinc\ release version 2.4.3 and the new prototype system. In both cases we
use the standard \minizinc\ library of global constraints (\ie\ we decompose
those constraints rather than using solver built-ins, in order to stress-test
the flattening). We measured pure flattening time, \ie\ without time required
to parse and typecheck in version 2.4.3, and without time required for
compilation to \microzinc\ in the new system (compilation is usually very fast).
Times are averages of 10 runs.\footnote{All models obtained from
We selected 20 models from the annual \minizinc\ challenge and compiled 5
instances of each model to \flatzinc, using the current \minizinc\ release
version 2.4.3 and the new prototype system. In both cases we use the standard
\minizinc\ library of global constraints (\ie\ we decompose those constraints
rather than using solver built-ins, in order to stress-test the flattening). We
measured pure flattening time, \ie\ without time required to parse and typecheck
in version 2.4.3, and without time required for compilation to \microzinc\ in
the new system (compilation is usually very fast). Times are averages of 10
runs.\footnote{All models obtained from
\url{https://github.com/minizinc/minizinc-benchmarks}:
\texttt{\justify{}accap, amaze, city-position, community-detection,
depot-placement, freepizza, groupsplitter, kidney-exchange, median-string,