Small grammar check
This commit is contained in:
parent
dfa29c41d0
commit
a0b85fda42
19
.vscode/ltex.hiddenFalsePositives.en-GB.txt
vendored
19
.vscode/ltex.hiddenFalsePositives.en-GB.txt
vendored
@ -307,3 +307,22 @@
|
|||||||
{"rule":"MORFOLOGIK_RULE_EN_GB","sentence":"^\\Qaccap amaze code-generator fox-geese-corn groupsplitter hrc kidney-exchange liner-sf-repositioning lot-sizing median-string multi-knapsack nside ptv rcpsp-wet-diverse rotating-workforce stack-cuttingstock steelmillslab stochastic-vrp triangular zephyrus\\E$"}
|
{"rule":"MORFOLOGIK_RULE_EN_GB","sentence":"^\\Qaccap amaze code-generator fox-geese-corn groupsplitter hrc kidney-exchange liner-sf-repositioning lot-sizing median-string multi-knapsack nside ptv rcpsp-wet-diverse rotating-workforce stack-cuttingstock steelmillslab stochastic-vrp triangular zephyrus\\E$"}
|
||||||
{"rule":"MORFOLOGIK_RULE_EN_GB","sentence":"^\\Qbnn-planner cabletreewiring code-generator collaborative-construction gbac hoist-benchmark is lot-sizing minimal-decision-sets p1f-pjs pentominoes pillars-and-planks racp radiation sdn-change skill-allocation soccer-computational stable-goods towerchallenge whirlpool\\E$"}
|
{"rule":"MORFOLOGIK_RULE_EN_GB","sentence":"^\\Qbnn-planner cabletreewiring code-generator collaborative-construction gbac hoist-benchmark is lot-sizing minimal-decision-sets p1f-pjs pentominoes pillars-and-planks racp radiation sdn-change skill-allocation soccer-computational stable-goods towerchallenge whirlpool\\E$"}
|
||||||
{"rule":"MORFOLOGIK_RULE_EN_GB","sentence":"^\\Qgbac radiation steelmillslab rcpsp-wet\\E$"}
|
{"rule":"MORFOLOGIK_RULE_EN_GB","sentence":"^\\Qgbac radiation steelmillslab rcpsp-wet\\E$"}
|
||||||
|
{"rule":"EN_A_VS_AN","sentence":"^\\Qincremental-rewriting name=incremental rewriting, description=The \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q of an \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q that is continuously changed.,\\E$"}
|
||||||
|
{"rule":"EN_A_VS_AN","sentence":"^\\QIt finds an \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q of a linear program in worst-case exponential time.\\E$"}
|
||||||
|
{"rule":"EN_A_VS_AN","sentence":"^\\QAn \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q is indicated by the \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q followed by an identifier or function call.\\E$"}
|
||||||
|
{"rule":"MORFOLOGIK_RULE_EN_GB","sentence":"^\\QThe (CallBuiltin) rule applies to “built-in” functions that can be evaluated directly, such as arithmetic and Boolean operations on \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q values.\\E$"}
|
||||||
|
{"rule":"TOO_LONG_SENTENCE","sentence":"^\\QTherefore, we extended we the partial evaluation using well-known techniques to improve the \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q: \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q is used throughout the rewriting process (possibly to \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q), calls can be delayed until more information is known, \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q is used both when evaluating calls and during the \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q to \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q transformation, and Dummies can be aggregated when beneficial for the \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q.\\E$"}
|
||||||
|
{"rule":"MORFOLOGIK_RULE_EN_GB","sentence":"^\\QThe (ListG) rule evaluates the iteration set \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q to get its value \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q, which must be \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q.\\E$"}
|
||||||
|
{"rule":"EN_A_VS_AN","sentence":"^\\QIn previous chapters we explored \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q as a definitive linear process: an \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q of a \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q is translated into a \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q, for which a \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q produces Dummies.\\E$"}
|
||||||
|
{"rule":"EN_A_VS_AN","sentence":"^\\QAll of these examples have in common that an \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q is solved, new Dummies are added, the resulting \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q is solved again, and the Dummies may be removed again.\\E$"}
|
||||||
|
{"rule":"EN_A_VS_AN","sentence":"^\\Q[\\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q] the \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q has not been restarted yet; [\\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q] the \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q of the last \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q was \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q; [\\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q] the last \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q found a \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q; [\\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q] the last \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q found and proved an \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q in its \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q; [\\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q] the last \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q did not find a \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q, but did not exhaust its \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q.\\E$"}
|
||||||
|
{"rule":"EN_A_VS_AN","sentence":"^\\QThe path of a \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q is designed to give a unique identifier to a \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q when an \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q is rewritten multiple times.\\E$"}
|
||||||
|
{"rule":"THREE_NN","sentence":"^\\QA predicate providing the round-robin selection strategy.\\E$"}
|
||||||
|
{"rule":"WANT","sentence":"^\\QHowever, when \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q is used to describe a complete search, we still want to stop the \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q when the process is known to be finished.\\E$"}
|
||||||
|
{"rule":"EN_A_VS_AN","sentence":"^\\QInitially, the stage is set to one: it tries to find an \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q for the first \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q.\\E$"}
|
||||||
|
{"rule":"MORFOLOGIK_RULE_EN_GB","sentence":"^\\QCalls to the random number functions have been renamed by appending slv, so that they are not simply evaluated directly.\\E$"}
|
||||||
|
{"rule":"EN_A_VS_AN","sentence":"^\\QWe compare our methods against a naive system that repeatedly programmatically changes an \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q, rewrites the full \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q, and starts a new \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q process each time.\\E$"}
|
||||||
|
{"rule":"TOO_LONG_SENTENCE","sentence":"^\\QThe next and final chapter presents the conclusions of this thesis, which reiterate the discoveries and contributions of this research to theory and practice, comment on the scope and limitations of the presented architecture, and presents further avenues for research in this area.\\E$"}
|
||||||
|
{"rule":"PUNCTUATION_PARAGRAPH_END","sentence":"^\\QThe source code for this version can be found here: \\E(?:Dummy|Ina|Jimmy-)[0-9]+$"}
|
||||||
|
{"rule":"TOO_LONG_SENTENCE","sentence":"^\\QThis thesis is an original work of my research and contains no material which has been accepted for the award of any other degree or diploma at any university or equivalent institution and that, to the best of my knowledge and belief, this thesis contains no material previously published or written by another person, except where due reference is made in the text of the thesis.\\E$"}
|
||||||
|
{"rule":"PUNCTUATION_PARAGRAPH_END","sentence":"^\\QTitle State\\E$"}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# A Modern Architecture for Constraint Modelling Languages
|
# A Modern Architecture for Constraint Modelling Languages
|
||||||
*Jip J. Dekker*
|
*Jip J. Dekker*
|
||||||
|
|
||||||
This is the repository containing Jip J. Dekker's PhD thesis: "A Modern Architecture for Constraint Modelling Languages"
|
This is the repository containing Jip J. Dekker's PhD thesis: “A Modern Architecture for Constraint Modelling Languages”.
|
||||||
|
|
||||||
## Status Report
|
## Status Report
|
||||||
|
|
||||||
|
@ -1623,7 +1623,7 @@ It tries to reduce the number of Boolean \variables{} and tries to reduce the nu
|
|||||||
|
|
||||||
\section{Summary}
|
\section{Summary}
|
||||||
|
|
||||||
This chapter summarised the key knowledge to understand the \gls{rewriting} \minizinc{} \instances{} to \glspl{slv-mod}.
|
This chapter summarized the key knowledge to understand the \gls{rewriting} \minizinc{} \instances{} to \glspl{slv-mod}.
|
||||||
It introduced the practice of \constraints{} modelling, and the syntax of the \minizinc{} language.
|
It introduced the practice of \constraints{} modelling, and the syntax of the \minizinc{} language.
|
||||||
We also compared \minizinc{} to other \cmls{} and found many similarities.
|
We also compared \minizinc{} to other \cmls{} and found many similarities.
|
||||||
This indicates that the research presented in this thesis could be used for these languages as well.
|
This indicates that the research presented in this thesis could be used for these languages as well.
|
||||||
@ -1631,4 +1631,4 @@ Using \cmls{}, a modeller can easily express a problem for a variety of \solver{
|
|||||||
We gave a brief overview of the main methods used by these \solvers{} and their problem formats, to which a \cmodel{} must be rewritten.
|
We gave a brief overview of the main methods used by these \solvers{} and their problem formats, to which a \cmodel{} must be rewritten.
|
||||||
Finally, we discussed the \gls{rewriting} process central to \cmls{} in more detail, focusing on the \gls{rewriting} conducted by the current implementation of \minizinc{}.
|
Finally, we discussed the \gls{rewriting} process central to \cmls{} in more detail, focusing on the \gls{rewriting} conducted by the current implementation of \minizinc{}.
|
||||||
|
|
||||||
The next chapter presents a more efficient architecture to perform the \gls{rewriting} from \minizinc{} \instances{} to \glspl{slv-mod}, based on a set of formalised rewriting rules that allows better reasoning about functional \constraints{}.
|
The next chapter presents a more efficient architecture to perform the \gls{rewriting} from \minizinc{} \instances{} to \glspl{slv-mod}, based on a set of formalized rewriting rules that allows better reasoning about functional \constraints{}.
|
||||||
|
@ -42,7 +42,7 @@ All of these examples have in common that an \instance{} is solved, new \constra
|
|||||||
The usage of these algorithms is not new to \cmls{}, and they have proven to be very useful \autocite{schrijvers-2013-combinators, rendl-2015-minisearch, schiendorfer-2018-minibrass, ek-2020-online, ingmar-2020-diverse}.
|
The usage of these algorithms is not new to \cmls{}, and they have proven to be very useful \autocite{schrijvers-2013-combinators, rendl-2015-minisearch, schiendorfer-2018-minibrass, ek-2020-online, ingmar-2020-diverse}.
|
||||||
In its most basic form, a simple scripting language is sufficient to implement these algorithms, by repeatedly \gls{rewriting} and solving the adjusted \instances{}.
|
In its most basic form, a simple scripting language is sufficient to implement these algorithms, by repeatedly \gls{rewriting} and solving the adjusted \instances{}.
|
||||||
|
|
||||||
\todo{Here we also need to discuss Comet and Objective CP: ``I think this chapter needs to refer to Comet and Objective CP. Those are both modelling languages (or libraries) with explicit support for meta optimisation. I'm not sure how much has been published, but I think the idea of doing something on restart is definitely coming from Comet.'' -- Guido}
|
\todo{Here we also need to discuss Comet and Objective CP: ``I think this chapter needs to refer to Comet and Objective CP. Those are both modelling languages (or libraries) with explicit support for meta optimization. I'm not sure how much has been published, but I think the idea of doing something on restart is definitely coming from Comet.'' — Guido}
|
||||||
|
|
||||||
\section{Modelling of Restart Based Meta-Optimization}\label{sec:inc-modelling}
|
\section{Modelling of Restart Based Meta-Optimization}\label{sec:inc-modelling}
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ The predicate needs to be called for each restart.
|
|||||||
As a workaround, we currently pass the name of the predicate to be called for each restart as a string (see the definition of the new \mzninline{on_restart} \gls{annotation} in \cref{lst:inc-restart-ann}).
|
As a workaround, we currently pass the name of the predicate to be called for each restart as a string (see the definition of the new \mzninline{on_restart} \gls{annotation} in \cref{lst:inc-restart-ann}).
|
||||||
|
|
||||||
The second component of our \gls{lns} definition is the ``restarting strategy''.
|
The second component of our \gls{lns} definition is the ``restarting strategy''.
|
||||||
It defines a pattern for the size of the \gls{search-space} used for each \glspl{neighbourhood} (i.e., \glspl{restart}), and also when to stop the overall search.
|
It defines a pattern for the size of the \gls{search-space} used for each \gls{neighbourhood} (i.e., \gls{restart}), and also when to stop the overall search.
|
||||||
We propose adding new search \glspl{annotation} to \minizinc{} to control this behaviour.
|
We propose adding new search \glspl{annotation} to \minizinc{} to control this behaviour.
|
||||||
The proposed \glspl{annotation} are shown in \cref{lst:inc-restart-ann}.
|
The proposed \glspl{annotation} are shown in \cref{lst:inc-restart-ann}.
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ Finally, the \mzninline{restart_limit} stops the search after a certain number o
|
|||||||
|
|
||||||
\begin{listing}
|
\begin{listing}
|
||||||
\mznfile{assets/listing/inc_restart_ann.mzn}
|
\mznfile{assets/listing/inc_restart_ann.mzn}
|
||||||
\caption{\label{lst:inc-restart-ann} New\glspl{annotation} to control the restarting behaviour.}
|
\caption{\label{lst:inc-restart-ann} New \glspl{annotation} to control the restarting behaviour.}
|
||||||
\end{listing}
|
\end{listing}
|
||||||
|
|
||||||
\subsection{Advanced Meta-Optimization Algorithms}
|
\subsection{Advanced Meta-Optimization Algorithms}
|
||||||
@ -499,7 +499,7 @@ If \mzninline{b3} is set to \true{}, the \constraint{} in \lref{line:6:x1:end} b
|
|||||||
Furthermore, it is not strictly necessary to guard \mzninline{int_uniform} against being invoked before the first \gls{sol} is found.
|
Furthermore, it is not strictly necessary to guard \mzninline{int_uniform} against being invoked before the first \gls{sol} is found.
|
||||||
The \mzninline{sol} \constraints{} will simply not propagate anything until the first \gls{sol} is recorded, but we use this simple example to illustrate how these Boolean conditions are rewritten and evaluated.
|
The \mzninline{sol} \constraints{} will simply not propagate anything until the first \gls{sol} is recorded, but we use this simple example to illustrate how these Boolean conditions are rewritten and evaluated.
|
||||||
|
|
||||||
\todo{There's something missing here to conclude the section. Perhaps just a forward pointer to the experiments, or something like ``Now we've seen how to do this with solver support. In the next section, we will see how to do this without solver support.'' -- Guido}
|
\todo{There's something missing here to conclude the section. Perhaps just a forward pointer to the experiments, or something like ``Now we've seen how to do this with solver support. In the next section, we will see how to do this without solver support.'' — Guido}
|
||||||
|
|
||||||
\section{An Incremental Constraint Modelling Interface}%
|
\section{An Incremental Constraint Modelling Interface}%
|
||||||
\label{sec:inc-incremental-compilation}
|
\label{sec:inc-incremental-compilation}
|
||||||
|
@ -15,7 +15,7 @@ In this chapter, we introduce the following two methods to provide this support.
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
This chapter is organized as follows.
|
This chapter is organized as follows.
|
||||||
We first introduce the to examples of \gls{meta-optimization} algorithms and how they can be used from a \cml{}.
|
We first introduce examples of \gls{meta-optimization} algorithms and how they can be used from a \cml{}.
|
||||||
\Cref{sec:inc-modelling} discusses the declarative modelling of \gls{rbmo} algorithms in a \cml{}.
|
\Cref{sec:inc-modelling} discusses the declarative modelling of \gls{rbmo} algorithms in a \cml{}.
|
||||||
In \Cref{sec:inc-solver-extension}, we introduce the method to rewrite these \gls{meta-optimization} definitions into efficient \glspl{slv-mod} and the minimal extension required from the target \gls{solver}.
|
In \Cref{sec:inc-solver-extension}, we introduce the method to rewrite these \gls{meta-optimization} definitions into efficient \glspl{slv-mod} and the minimal extension required from the target \gls{solver}.
|
||||||
Then, \Cref{sec:inc-incremental-compilation} introduces the alternative method.
|
Then, \Cref{sec:inc-incremental-compilation} introduces the alternative method.
|
||||||
|
@ -46,7 +46,7 @@ This repository contains the benchmarks for both \gls{gecode} and \gls{chuffed}.
|
|||||||
\label{sec:bench-soft}
|
\label{sec:bench-soft}
|
||||||
|
|
||||||
Central to the experiments in this thesis are two kinds of programs: programs that rewrite a \constraint{} model into a \solver{} specification and the \solvers{} that given a specification search for \glspl{sol}.
|
Central to the experiments in this thesis are two kinds of programs: programs that rewrite a \constraint{} model into a \solver{} specification and the \solvers{} that given a specification search for \glspl{sol}.
|
||||||
We generally test the rewriting programs, in particular to rewrite \minizinc{} \instances{} to \flatzinc{} , but use the \solvers{} to evaluate the effect of changes to these rewriting programs.
|
We generally test the rewriting programs, in particular to rewrite \minizinc{} \instances{} to \flatzinc{}, but use the \solvers{} to evaluate the effect of changes to these rewriting programs.
|
||||||
|
|
||||||
\subsection{MiniZinc Rewriting}
|
\subsection{MiniZinc Rewriting}
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ In this thesis we use three different programs to rewrite \minizinc{} to \flatzi
|
|||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
|
||||||
\item The officially release of MiniZinc (version 2.5.5) \autocite{minizinc-2021-minizinc}.
|
\item The official release of MiniZinc (version 2.5.5) \autocite{minizinc-2021-minizinc}.
|
||||||
The source code for this version can be found here:
|
The source code for this version can be found here:
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://github.com/MiniZinc/libminizinc/tree/2.5.5}
|
\url{https://github.com/MiniZinc/libminizinc/tree/2.5.5}
|
||||||
@ -84,19 +84,19 @@ In this thesis we use three different versions of the \gls{chuffed} \solver{}:
|
|||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
|
||||||
\item The official development version of \gls{chuffed}.
|
\item The official development version of \gls{chuffed}.
|
||||||
The source code for this version can be found here:
|
The source code for this version can be found on the following webpage.
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://github.com/chuffed/chuffed/tree/develop}
|
\url{https://github.com/chuffed/chuffed/tree/develop}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
\item An extension of \gls{chuffed} that includes \glspl{propagator} for \glspl{half-reif} of the \mzninline{all_different} and \mzninline{element} \constraints{}.
|
\item An extension of \gls{chuffed} that includes \glspl{propagator} for \glspl{half-reif} of the \mzninline{all_different} and \mzninline{element} \constraints{}.
|
||||||
The source code for this version can be found here:
|
The source code for this version can be found on the following webpage.
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://github.com/Dekker1/chuffed/tree/feature/imp_globals}
|
\url{https://github.com/Dekker1/chuffed/tree/feature/imp_globals}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
\item An extension of \gls{chuffed} that includes \glspl{propagator} for restart-based meta-search.
|
\item An extension of \gls{chuffed} that includes \glspl{propagator} for restart-based meta-search.
|
||||||
The source code for this version can be found here:
|
The source code for this version can be found on the following webpage.
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://github.com/Dekker1/chuffed/tree/feature/on_restart}
|
\url{https://github.com/Dekker1/chuffed/tree/feature/on_restart}
|
||||||
\end{center}
|
\end{center}
|
||||||
@ -105,7 +105,7 @@ In this thesis we use three different versions of the \gls{chuffed} \solver{}:
|
|||||||
|
|
||||||
\paragraph{Coin-OR Branch-and-Cut} is an open source \gls{mip} \solver{} \autocite{forrest-2020-cbc}.
|
\paragraph{Coin-OR Branch-and-Cut} is an open source \gls{mip} \solver{} \autocite{forrest-2020-cbc}.
|
||||||
In this thesis we use version 2.10.5 of this solver.
|
In this thesis we use version 2.10.5 of this solver.
|
||||||
Its source code is available at
|
Its source code is available on the following webpage.
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://github.com/coin-or/Cbc/tree/releases/2.10.5}
|
\url{https://github.com/coin-or/Cbc/tree/releases/2.10.5}
|
||||||
@ -116,25 +116,25 @@ In this thesis we use four different versions of the \gls{gecode} solver:
|
|||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
|
||||||
\item The official release of \gls{gecode}, version 6.3.0.
|
\item The official release of \gls{gecode}, version 6.3.0.
|
||||||
The source code for this version can be found here:
|
The source code for this version can be found on the following webpage.
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://github.com/Gecode/gecode/tree/release-6.3.0}
|
\url{https://github.com/Gecode/gecode/tree/release-6.3.0}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
\item An extension of \gls{gecode} that includes \glspl{propagator} for restart-based meta-search.
|
\item An extension of \gls{gecode} that includes \glspl{propagator} for restart-based meta-search.
|
||||||
The source code for this version can be found here:
|
The source code for this version can be found on the following webpage.
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://github.com/Dekker1/gecode/tree/feature/on_restart}
|
\url{https://github.com/Dekker1/gecode/tree/feature/on_restart}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
\item An extension of \gls{gecode} that is able to record the search process of restart-based meta-search.
|
\item An extension of \gls{gecode} that is able to record the search process of restart-based meta-search.
|
||||||
The source code for this version can be found here:
|
The source code for this version can be found on the following webpage.
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://github.com/Dekker1/gecode/tree/feature/on_restart_record}
|
\url{https://github.com/Dekker1/gecode/tree/feature/on_restart_record}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
\item An extension of \gls{gecode} that is able to replay the search process of restart-based meta-search.
|
\item An extension of \gls{gecode} that is able to replay the search process of restart-based meta-search.
|
||||||
The source code for this version can be found here:
|
The source code for this version can be found on the following webpage.
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://github.com/Dekker1/gecode/tree/feature/on_restart_replay}
|
\url{https://github.com/Dekker1/gecode/tree/feature/on_restart_replay}
|
||||||
\end{center}
|
\end{center}
|
||||||
@ -146,7 +146,7 @@ In this thesis we use \gls{cplex} version 20.1 under an academic licence in our
|
|||||||
|
|
||||||
\paragraph{OpenWBO} is an open source \gls{maxsat} \solver{} \autocite{martins-2014-openwbo}.
|
\paragraph{OpenWBO} is an open source \gls{maxsat} \solver{} \autocite{martins-2014-openwbo}.
|
||||||
In this thesis we use version 2.1 in our experiments.
|
In this thesis we use version 2.1 in our experiments.
|
||||||
The source code for this version can be found here:
|
The source code for this version can be found on the following webpage.
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://github.com/sat-group/open-wbo}
|
\url{https://github.com/sat-group/open-wbo}
|
||||||
@ -163,7 +163,7 @@ The \minizinc{} Challenge is a yearly competition, held since 2008, in which \mi
|
|||||||
\Glspl{solver} are scored based on their performance solving each instance: time to \gls{sol}, quality of \gls{sol}, and proof of optimality.
|
\Glspl{solver} are scored based on their performance solving each instance: time to \gls{sol}, quality of \gls{sol}, and proof of optimality.
|
||||||
The 100 instances stem from 20 \minizinc{} models, 10 of which are guaranteed to have never been used in earlier challenges.
|
The 100 instances stem from 20 \minizinc{} models, 10 of which are guaranteed to have never been used in earlier challenges.
|
||||||
|
|
||||||
A repository of all \minizinc{} models previously used in the challenges and accompanying data files can be found here:
|
A repository of all \minizinc{} models previously used in the challenges and accompanying data files can be found on the following webpage.
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://github.com/minizinc/minizinc-benchmarks}
|
\url{https://github.com/minizinc/minizinc-benchmarks}
|
||||||
@ -269,7 +269,7 @@ The incremental experiments presented in \cref{sec:inc-experiments} are based on
|
|||||||
In this thesis it is used to benchmark the implementation of a \gls{propagator} for the \gls{half-reif} of the \mzninline{element} \constraint{}.
|
In this thesis it is used to benchmark the implementation of a \gls{propagator} for the \gls{half-reif} of the \mzninline{element} \constraint{}.
|
||||||
This experiment is shown in \cref{sec:half-experiments}.
|
This experiment is shown in \cref{sec:half-experiments}.
|
||||||
\Cref{lst:bench-prize} shows a \minizinc{} model that can be used to solve the problem.
|
\Cref{lst:bench-prize} shows a \minizinc{} model that can be used to solve the problem.
|
||||||
The data and original model are available at:
|
The data and original model are available on the following webpage.
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://people.eng.unimelb.edu.au/pstuckey/half/}
|
\url{https://people.eng.unimelb.edu.au/pstuckey/half/}
|
||||||
@ -284,7 +284,7 @@ The data and original model are available at:
|
|||||||
In this thesis it is used to benchmark the implementation of a \gls{propagator} for the \gls{half-reif} of the \mzninline{all_different} \constraint{}.
|
In this thesis it is used to benchmark the implementation of a \gls{propagator} for the \gls{half-reif} of the \mzninline{all_different} \constraint{}.
|
||||||
This experiment is shown in \cref{sec:half-experiments}.
|
This experiment is shown in \cref{sec:half-experiments}.
|
||||||
\Cref{lst:bench-qcpmax} shows a \minizinc{} model that can be used to solve the problem.
|
\Cref{lst:bench-qcpmax} shows a \minizinc{} model that can be used to solve the problem.
|
||||||
The data and original model are available at:
|
The data and original model are available on the following webpage.
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\url{https://people.eng.unimelb.edu.au/pstuckey/half/}
|
\url{https://people.eng.unimelb.edu.au/pstuckey/half/}
|
||||||
|
Reference in New Issue
Block a user