131 lines
4.4 KiB
TeX
131 lines
4.4 KiB
TeX
% Note: glossary entries for terms that are acronyms should be prefixed 'gls-'
|
|
% so the non-prefixed reference is used to refer to the acronym
|
|
|
|
% \newglossaryentry{gls-api}{
|
|
% name={API},
|
|
% description={An Application Programming Interface (API) is a particular set
|
|
% of rules and specifications that a software program can follow to access and
|
|
% make use of the services and resources provided by another particular software
|
|
% program that implements that API},
|
|
% }
|
|
|
|
\newglossaryentry{constraint}{
|
|
name={constraint},
|
|
description={A constraint is a relationship between two or more decision
|
|
variables or problem parameters that has to present in any valid solution to a
|
|
problem},
|
|
}
|
|
|
|
\newglossaryentry{constraint-modelling}{
|
|
name={constraint modelling},
|
|
description={Constraint modelling is a technique used to describe
|
|
combinatorial problems. In this paradigm the problem in terms of
|
|
\glspl{decision-variable} that have an unknown value, but are potentially
|
|
subject to certain \glspl{constraint}},
|
|
}
|
|
|
|
\newglossaryentry{gls-cp}{
|
|
name={constraint programming},
|
|
description={Constraint Programming (CP) is a paradigm used to solve
|
|
combinatorial problems. Its distinctive features are the declarative way in
|
|
which the user creates a problem description, in this thesis referred to as
|
|
\gls{constraint-modelling}, and its backtracking search that employs
|
|
\gls{propagation} and customisable search heuristics},
|
|
}
|
|
|
|
\newglossaryentry{gls-cse}{
|
|
name={common subexpression elimination},
|
|
description={Common Subexpression Elimination (CSE) is a technique used in the
|
|
evaluation of programming languages to avoid redoing the same work. A
|
|
description of how CSE works in \cmls\ can be found in \cref{sec:3-cse}},
|
|
}
|
|
|
|
\newglossaryentry{decision-variable}{
|
|
name={decision variable},
|
|
description={A decision variable is a value that is yet to be determined. A
|
|
problem defined as a constraint model is solved by assigning a value to each
|
|
variable that does not violate any constraints in the model and, in case of an
|
|
optimisation problem, optimises the objective function}
|
|
}
|
|
|
|
\newglossaryentry{flatzinc}{
|
|
name={Flat\-Zinc},
|
|
description={A subset of the \minizinc\ syntax that is used as input for
|
|
\glspl{solver}},
|
|
}
|
|
|
|
\newglossaryentry{global}{
|
|
name={global constraint},
|
|
description={A global constraint is a common \gls{constraint} pattern that can
|
|
be described using simpler \glspl{constraint}. \Glspl{solver} sometimes provide
|
|
dedicated algorithms or rewriting rules to better handle the global constraint},
|
|
}
|
|
|
|
\newglossaryentry{gls-lns}{
|
|
name={large neighbourhood search},
|
|
description={Large Neighbourhood Search (LNS) is a meta-search algorithm that
|
|
repeatedly restricts the search space, \ie applying a \gls{neighbourhood}, to
|
|
quickly find better solutions to a problem},
|
|
}
|
|
|
|
|
|
\newglossaryentry{meta-search}{
|
|
name={meta-search},
|
|
plural={meta-searches},
|
|
description={A search approach that repeatedly solves constraint models},
|
|
}
|
|
|
|
\newglossaryentry{microzinc}{
|
|
name={Micro\-Zinc},
|
|
description={TODO},
|
|
}
|
|
|
|
\newglossaryentry{minisearch}{
|
|
name={Mini\-Search},
|
|
description={TODO},
|
|
}
|
|
|
|
\newglossaryentry{minizinc}{
|
|
name={Mini\-Zinc},
|
|
description={A high-level \gls{constraint-modelling} language with an
|
|
extensive library of \glspl{global}},
|
|
}
|
|
|
|
\newglossaryentry{nanozinc}{
|
|
name={Nano\-Zinc},
|
|
description={TODO},
|
|
}
|
|
|
|
\newglossaryentry{neighbourhood}{
|
|
name={neighbourhood},
|
|
description={A neighbourhood is a restriction of the search space of the
|
|
\gls{solver}},
|
|
}
|
|
|
|
\newglossaryentry{restart}{
|
|
name={restart},
|
|
description={A restart takes place when a \gls{solver} abandons its current
|
|
search position and start its search from the beginning},
|
|
}
|
|
|
|
\newglossaryentry{solver}{
|
|
name={solver},
|
|
description={A solver is a dedicated program or algorithm that can be used to
|
|
solve combinatorial problems, or a subset thereof},
|
|
}
|
|
|
|
\newglossaryentry{problem-parameter}{
|
|
name={problem parameter},
|
|
description={A problem parameter is a constant value that helps define the
|
|
problem. Its value can differ among different problem instances. Its exact value
|
|
must be known when rewriting a constraint model, but is not required when
|
|
compiling a constraint model into a executable program},
|
|
}
|
|
|
|
\newglossaryentry{propagation}{
|
|
name={constraint propagation},
|
|
description={Constraint propagation is the inference that
|
|
\glspl{decision-variable} can no longer take a certain values, lest they would
|
|
violate a \gls{constraint}},
|
|
}
|