Work on the abstract

This commit is contained in:
Jip J. Dekker 2021-07-27 23:38:39 +10:00
parent d828755167
commit 69819d629f
No known key found for this signature in database
GPG Key ID: 517DF4A00618C9C3

View File

@ -2,33 +2,33 @@
\chapter{Abstract}\label{ch:abstract}
%************************************************
\vspace{-5em}
\vspace{-8em}
\noindent{}\Cmls{} are a prominent way to model and solve real world problems.
They are used in areas such as scheduling, supply chain management, and transportation, among many others.
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 \gls{slv-mod} was negligible.
The \gls{rewriting} process of a \cml{} transforms a \cmodel{} into a \gls{slv-mod}, the input required by the program that solves the problem.
In the past, these languages served mainly as a standardized interface between different \solvers{} and the \gls{rewriting} required was negligible.
However, \cmls{} have evolved to include functionality that is not directly supported by the target \solvers{}.
As such, the \gls{rewriting} process has become more important and complex.
\minizinc{}, one such language, was originally designed for constraint programming \solvers{}, whose \glspl{slv-mod} contain a few highly complex \constraints{}.
The same \minizinc{} models can now target mixed integer programming and Boolean satisfiability \solvers{}, resulting in numerous very simple \constraints{}.
\minizinc{}, one such language, was originally designed for constraint programming \solvers{}, whose \glspl{slv-mod} contain few, highly complex \constraints{}.
The same \minizinc{} models can now target mixed integer programming and Boolean satisfiability \solvers{}, resulting in numerous, very simple \constraints{}.
Distinctively, \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.
Consequently, the efficiency of the functional evaluation of the language can be a limiting factor.
Consequently, the performance of the functional evaluation of the language can be a limiting factor.
For many applications, the current \minizinc{} implementation now requires a significant, and sometimes prohibitive, amount of time to rewrite \instances{}.
This problem is exacerbated by the emerging use of \gls{meta-optimization} algorithms, which require solving a sequence of closely related \instances{}.
This problem is exacerbated by the emerging use of \gls{meta-optimization} algorithms, which require the rewriting and solving of a sequence of closely related \instances{}.
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 its modern uses.
At its core lies a formal execution model that allows us to rewrite \cmodels{} efficiently and actively manage the \gls{slv-mod}.
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}.
In additional, we incorporate new analysis techniques to avoid the use of \glspl{reif} or replace them with \glspl{half-reif}, where possible.
The architecture is extended using a range of well-known simplification techniques to ensure 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.
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-optimization} algorithms directly in \minizinc{}.
These specifications are executed by a normal \minizinc{} \solver{}, requiring only a slight extension of its capabilities.
Together, the functionality of this architecture helps make \cmls{} a more powerful and attractive approach to solve real world problems.
Together, the functionality of this architecture helps to make \cmls{} a more powerful and attractive approach to solve real world problems.