Full draft of the abstract

This commit is contained in:
Jip J. Dekker 2021-07-23 11:00:54 +10:00
parent 4cf69764f7
commit 2c3bd8bef9
No known key found for this signature in database
GPG Key ID: 517DF4A00618C9C3

View File

@ -2,15 +2,17 @@
\chapter{Abstract}\label{ch:abstract} \chapter{Abstract}\label{ch:abstract}
%************************************************ %************************************************
\noindent{}\Cmls{}, such as \glsxtrshort{ampl}, have long provided a \ldots{} way to model and solve real world problems. \vspace{-5em}
In the field of Operations Research, their use is \ldots{} and used in areas such as scheduling, supply chain management, and transportation.
\noindent{}\Cmls{} are a prominent way to model and solve real world problems.
Their use extends to areas such as scheduling, supply chain management, and transportation.
In the past, these languages served mainly as a standardized interface between different \solvers{}. In the past, these languages served mainly as a standardized interface between different \solvers{}.
The \gls{rewriting} required to translate an \instance{} of a \cmodel{} into a model to use as solver input was minimal. The \gls{rewriting} required to translate an \instance{} of a \cmodel{} into a \gls{slv-mod} was negligible.
However, \cmls{} have evolved to include functionality that is no longer directly supported by the target \solver{}. However, \cmls{} have evolved to include functionality that is no longer directly supported by the target \solver{}.
As such, the \gls{rewriting} process has become more important and complex. As such, the \gls{rewriting} process has become more important and complex.
\minizinc{}, one such language, was originally designed to target constraint programming \solvers{} where the result is a small number of highly complex \constraints{}. \minizinc{}, one such language, was originally designed for constraint programming \solvers{}, whose \glspl{slv-mod} contain small number of highly complex \constraints{}.
The same \minizinc{} models now target mixed integer programming and Boolean satisfiability \solvers{}, resulting is a large number of very simple \constraints{}. The same \minizinc{} models can now target mixed integer programming and Boolean satisfiability \solvers{}, resulting is a large number of very simple \constraints{}.
Distinctively, the \minizinc{}'s \gls{rewriting} process is founded on its functional language. Distinctively, the \minizinc{}'s \gls{rewriting} process is founded on its functional language.
It generates \glspl{slv-mod} through the application of increasingly complex \minizinc{} functions from \solver{}-specific libraries. It generates \glspl{slv-mod} through the application of increasingly complex \minizinc{} functions from \solver{}-specific libraries.
Consequently, the efficiency of the functional evaluation of the language can be a limiting factor. Consequently, the efficiency of the functional evaluation of the language can be a limiting factor.
@ -18,22 +20,15 @@ For many applications, the current \minizinc{} implementation now requires a sig
This problem is exacerbated by the emerging use of \gls{meta-optimisation} algorithms, which require solving a sequence of closely related \instances{}. This problem is exacerbated by the emerging use of \gls{meta-optimisation} algorithms, which require solving a sequence of closely related \instances{}.
In this thesis we revisit the \gls{rewriting} of functional \cmls{} into \glspl{slv-mod}. In this thesis we revisit the \gls{rewriting} of functional \cmls{} into \glspl{slv-mod}.
We design and evaluate an architecture for \cmls{} that can accommodate the modern uses of these languages. We design and evaluate an architecture for \cmls{} that can accommodate its the modern uses.
At the core of the this architecture lies a formal execution model that allows us rewrite \cmodels{} efficiently and actively manage the \gls{slv-mod}. At its core lies a formal execution model that allows us rewrite \cmodels{} efficiently and actively manage the \gls{slv-mod}.
We show how our architecture can better detect and eliminate parts of the model that have become unused. We show how it can better detect and eliminate parts of the model that have become unused.
The architecture is extended using a range of well-known simplification techniques to unsure the quality of the produced \glspl{slv-mod}. The architecture is extended using a range of well-known simplification techniques to unsure the quality of the produced \glspl{slv-mod}.
In addition, we incorporate new analysis techniques to avoid the use of \glspl{reif} or replace them with \glspl{half-reif}, where possible.
Crucially, the architecture is designed to incorporate incremental \constraint{} modelling in two ways.
Primarily, the \gls{rewriting} process is fully incremental: changes made to the \instance{} through a provided interface require minimal addition \gls{rewriting} effort.
Moreover, we introduce \gls{rbmo}, a way to specify \gls{meta-optimisation} algorithms directly in \minizinc{}.
These specification are executed by a normal \minizinc{} \solver{}, requiring only a slight extension of its capabilities.
Crucially, this architecture should allow us to: Together, the functionality of this architecture helps make \cmls{} a more powerful and attractive approach to solve real world problems.
\begin{itemize}
\item easily integrate a range of well-known and new \textbf{optimisation and simplification} techniques,
\item effectively manage the \gls{slv-mod} and \textbf{detect and eliminate} parts of the model that have become unused,
\item formally \textbf{reason about \gls{reif}} to avoid it or use \gls{half-reif} where possible, and
\item support \textbf{incremental usage} of the \cml{}.
\end{itemize}