Change \jip to \todo

This commit is contained in:
Jip J. Dekker 2021-07-07 17:25:00 +10:00
parent b7d0a3e3a3
commit 7cd31c628c
No known key found for this signature in database
GPG Key ID: 517DF4A00618C9C3
7 changed files with 16 additions and 16 deletions

View File

@ -96,7 +96,7 @@
\usepackage{ebproof}
% Comments
\newcommand{\jip}[1]{\textcolor{red}{\Big[\textbf{Jip}: #1\Big]}}
\newcommand{\todo}[1]{\textcolor{red}{\Big[\textbf{TODO}: #1\Big]}}
% Example environment
\usepackage{amsthm}

View File

@ -1235,7 +1235,7 @@ For instance, replacing the usage of enumerated types by normal integers.
\includegraphics[width=\linewidth]{assets/img/back_compilation_structure}
\caption{\label{fig:back-mzn-comp} The compilation structure of the \minizinc\
compiler.}
\jip{adjust to rewriting instead of flatten}
\todo{adjust to rewriting instead of flatten}
\end{figure}
The middle-end contains the most important two processes: the flattening and the optimisation.

View File

@ -489,7 +489,7 @@ We revisit this topic in \cref{ch:incremental}.
\textbf{Python bindings} to the framework are provided to enable easy scripting.
The source code for the complete system will be made available under an open source license.
\jip{actually make source available}
\todo{actually make source available}
\section{NanoZinc Simplification}\label{sec:rew-simplification}
@ -770,7 +770,7 @@ We have created a prototype implementation of the architecture presented in the
It consists of a \compiler{} from \minizinc{} to \microzinc{}, and an incremental \microzinc{} \interpreter{} producing \nanozinc{}.
The system supports a significant subset of the full \minizinc{} language; notable features that are missing are support for set and float variables, option types, and compilation of model output expressions and annotations.
We will release our implementation under an open-source license and can make it available to the reviewers upon request.
\jip{I suppose it is time to release the prototype.}
\todo{I suppose it is time to release the prototype.}
The implementation is not optimised for performance yet, but was created as a faithful implementation of the developed concepts, in order to evaluate their suitability and provide a solid baseline for future improvements.
In the following we present experimental results on basic \gls{rewriting} performance as well as an comparison with \glspl{interpreter} of other programming languages to demonstrate the efficiency gains that are possible thanks to the new architecture.

View File

@ -1,4 +1,4 @@
\noindent{}\jip{This probably needs a ``why?''}
\noindent{}\todo{This probably needs a ``why?''}
In this chapter, we revisit the \gls{rewriting} of \minizinc{} into \glspl{slv-mod}.
We describe a new \textbf{systematic view of the execution of \minizinc{}} and build on this to propose a new tool chain.

View File

@ -9,7 +9,7 @@
\paragraph{Reification - Text from rewriting}
\jip{Adjust with information in the background section. Is there anything specific to the \microzinc{}/\nanozinc{} system?}
\todo{Adjust with information in the background section. Is there anything specific to the \microzinc{}/\nanozinc{} system?}
Many constraint modelling languages, including \minizinc{}, not only enable \constraints{} to be globally enforced, but typically also support \constraints{} to be \emph{reified} into a Boolean variable.
Reification means that a variable \mzninline{b} is constrained to be true if and only if a corresponding constraint \mzninline{c(...)
@ -47,7 +47,7 @@ Finally, if the stored expression was in reified context and the current context
\minizinc{} distinguishes not only between root and reified contexts, but in addition recognises constraints in \emph{positive} contexts, also known as \emph{half-reified} \autocite{feydy-2011-half-reif}.
A full explanation and discussion of half-reification can be found in \cref{ch:half-reif}.
\jip{TODO:\ Reification should also be discussed in the background. How can we
\todo{Reification should also be discussed in the background. How can we
make this more specific to how it works in \nanozinc{}.}
\section{An Introduction to Half Reification}
@ -624,7 +624,7 @@ During the flattening process the contexts assigned to the different expressions
\begin{example}
\label{ex:half-flatten}
\jip{TODO:\ Replace the previous example. It was too long and complex.}
\todo{Replace the previous example. It was too long and complex.}
\end{example}
A consequence of the use of \gls{half-reif}, shown in the example, is that it might form so called \emph{implication chains}.
@ -819,7 +819,7 @@ The control \variable is thus used to communicate any change in context.
This new predicate can then compiled using the normal methods.
\end{example}
\jip{Should we talk about \mixc{} that could have been \posc{}? I'm not sure we correctly do that one at the moment.}
\todo{Should we talk about \mixc{} that could have been \posc{}? I'm not sure we correctly do that one at the moment.}
\section{Experiments}
\label{sec:half-experiments}
@ -923,7 +923,7 @@ These experiments are conducted using the \gls{gecode} \solver{}, which has prop
The \minizinc{} instances are flattened using the \minizinc{} 2.5.5 flattener, which can enable and disable the usage of \gls{half-reif}.
The solving of the linearised models is tested using the \gls{cbc} and \gls{cplex} \gls{mip} \solvers{}.
\jip{TODO:\ Extend this section with the \gls{sat} results once they are run.}
\todo{TODO:\ Extend this section with the \gls{sat} results once they are run.}
\begin{table}
\begin{subtable}[b]{\linewidth}
@ -969,7 +969,7 @@ Similar to \gls{gecode}, the number of implications that is removed is dependent
Lastly, the flattening time slightly increases for the linearisation process.
Since there are many more constraints, the introduced optimisation mechanisms have an slightly higher overhead.
\jip{TODO:\ The \gls{sat} statistics currently only include 2019. 2020 is still WIP.}
\todo{The \gls{sat} statistics currently only include 2019. 2020 is still WIP.}
Finally, statistics for the flattening the instances is shown in \cref{subtab:half-flat-bool}.
Like linearisation, the usage of \gls{half-reif} significantly reduces number of constraints and \glspl{reification}.
@ -1013,9 +1013,9 @@ However, we can imagine that the removed constraints might in some cases help th
An important technique used by \gls{mip} solvers is to detect certain pattern, such as cliques, during the pre-processing of the \gls{mip} instance.
Some patterns might only be detected when using a full \gls{reification}.
Furthermore, the performance of \gls{mip} solvers is often dependent on the order and form in which the constraints are given.
\jip{TODO:\ Is there a citation for this?} With the usage of the \gls{aggregation} and \gls{del-rew}, these can be exceedingly different when using \gls{half-reif}.
\todo{Is there a citation for this?} With the usage of the \gls{aggregation} and \gls{del-rew}, these can be exceedingly different when using \gls{half-reif}.
\jip{TODO: \gls{sat} number are still preliminary, but look optimistic.
\todo{\gls{sat} number are still preliminary, but look optimistic.
Only one case where the solver time is severely impacted.}
% \section{Summary}

View File

@ -473,7 +473,7 @@ In particular, this means that if no choice point was created before the initial
\begin{example}\label{ex:6-trail}
Let us look again at the resulting \nanozinc\ code from \cref{ex:rew-absreif}:
\jip{Fix example to new syntax}
\todo{Fix example to new syntax}
% \begin{nzn}
% c @$\mapsto$@ true @$\sep$@ []
% x @$\mapsto$@ mkvar(-10..10) @$\sep$@ []
@ -484,7 +484,7 @@ In particular, this means that if no choice point was created before the initial
Assume that we added a choice point before posting the constraint \mzninline{c}.
Then the trail stores the \emph{inverse} of all modifications that were made to the \nanozinc\ as a result of \mzninline{c} (where \(\mapsfrom\) denotes restoring an identifier, and \(\lhd\) \texttt{+}/\texttt{-} respectively denote attaching and detaching constraints):
\jip{Fix example to new syntax}
\todo{Fix example to new syntax}
% \begin{nzn}
% % Posted c
% true @$\lhd$@ -[c]

View File

@ -145,7 +145,7 @@ In this thesis we use four different versions of the \gls{gecode} solver:
In this thesis we use \gls{cplex} version 20.1 under an academic license in our experiments.
\paragraph{OpenWBO} is a open source \gls{maxsat} \solver{} \autocite{martins-2014-openwbo}.
In this thesis we use version \jip{xxx} in our experiments.
In this thesis we use version \todo{xxx} in our experiments.
The source code for this version can be found here:
\begin{center}