From 69819d629f4cfa733eaa80cff8eae5a0eb5bda55 Mon Sep 17 00:00:00 2001 From: "Jip J. Dekker" Date: Tue, 27 Jul 2021 23:38:39 +1000 Subject: [PATCH] Work on the abstract --- chapters/0_abstract.tex | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/chapters/0_abstract.tex b/chapters/0_abstract.tex index dfd46ee..7504c6a 100644 --- a/chapters/0_abstract.tex +++ b/chapters/0_abstract.tex @@ -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.