This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
dekker-phd-thesis/assets/glossary.tex

501 lines
12 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{aggregation}{
name={aggregation},
description={},
}
\newglossaryentry{gls-ampl}{
name={AMPL:\ A Mathematical Programming Language},
description={},
}
\newglossaryentry{gls-ast}{
name={Abstract Syntax Tree},
description={},
}
\newglossaryentry{annotation}{
name={annotation},
description={},
}
\newglossaryentry{array}{
name={array},
description={},
}
\newglossaryentry{backtrack}{
name={backtrack},
description={},
}
\newglossaryentry{bnb}{
name={branch and bound},
description={},
}
\newglossaryentry{bounds-con}{
name={bounds consistent},
description={},
}
\newglossaryentry{gls-cbls}{
name={constraint-based local search},
description={},
}
\newglossaryentry{chuffed}{
name={Chuffed},
description={},
}
\newglossaryentry{comprehension}{
name={comprehension},
description={},
}
\newglossaryentry{conditional}{
name={conditional},
description={},
}
\newglossaryentry{constraint}{
name={constraint},
description={A formalised rule of a problem. Constraints are generally expressed in term of Boolean logic},
}
\newglossaryentry{cml}{
name={constraint modelling language},
description={
A constraint modelling language is a computer language used to define \glspl{model}.
Low-level constraint modelling languages allow modellers to define \glspl{model} in terms of \gls{native} \glspl{constraint} and \gls{variable} types.
To create a \gls{slv-mod} the language merely assigns the \glspl{parameter}, (almost) no \gls{rewriting} is required.
In contrast, high-level constraint modelling languages provide \glspl{global}, allowing modellers to reason at a level different from the targeted \gls{solver}
},
}
\newglossaryentry{constraint-store}{
name={constraint store},
description={},
}
\newglossaryentry{cplex}{
name={CPLEX},
description={},
}
\newglossaryentry{gls-chr}{
name={constraint handling rules},
description={},
}
\newglossaryentry{gls-clp}{
name={constraint logic programming},
description={},
}
\newglossaryentry{gls-cp}{
name={constraint programming},
description={},
}
\newglossaryentry{gls-cse}{
name={common subexpression elimination},
description={},
}
\newglossaryentry{confluence}{
name={confluence},
description={},
}
\newglossaryentry{gls-csp}{
name={constraint satisfaction problem},
description={},
}
\newglossaryentry{gls-cop}{
name={constraint optimisation problem},
description={},
}
\newglossaryentry{cvar}{
name={control variable},
description={
A control variable is a special form of an \gls{ivar} where the \gls{variable} represent the result of a \gls{reification}
},
}
\newglossaryentry{dec-prb}{
name={decision problem},
description={
A problem which can be defined as making a set of decisions under a certain set of rules.
Decisions problems can be formalised as \glspl{model}.
},
}
\newglossaryentry{decomp}{
name={decomposition},
description={
A decomposition formulates a \gls{constraint} in terms of other \glspl{constraint} in order to reach \gls{native} \glspl{constraint}.
Note that the new \glspl{constraint} might represent the same decisions using a different \glspl{variable}, possibly of different types
},
}
\newglossaryentry{del-rew}{
name={delayed rewriting},
description={},
}
\newglossaryentry{domain}{
name={domain},
description={A domain is a set of value that a \gls{variable} can take without violating any \glspl{constraint} in the problem},
}
\newglossaryentry{domain-con}{
name={domain consistent},
description={},
}
\newglossaryentry{essence}{
name={Essence},
description={},
}
\newglossaryentry{eqsat}{
name={equisatisfiable},
description={Two \glspl{model} are equisatisfiable when a bijective function can be defined to map the \glspl{sol} of one \gls{model} onto the \glspl{sol} of the other.},
}
\newglossaryentry{fixed}{
name={fixed},
description={A \gls{variable} is said to be fixed when there is only a single possible value that it can take},
}
\newglossaryentry{fixpoint}{
name={fix-point},
description={},
}
\newglossaryentry{flatzinc}{
name={Flat\-Zinc},
description={},
}
\newglossaryentry{gecode}{
name={Gecode},
description={},
}
\newglossaryentry{gls-gbac}{
name={Generalised Balanced Academic Curriculum},
description={},
}
\newglossaryentry{generator}{
name={generator},
description={},
}
\newglossaryentry{git}{
name={Git},
description={},
}
\newglossaryentry{global}{
name={global constraint},
description={
A global constraint is a common \gls{constraint} pattern.
These patterns can generally span any number of \glspl{variable}.
For example, the well-known global constraint \( \textsc{All\_Different}(\ldots) \) requires all its arguments to take a different value.
Global constraints are usually not \gls{native} to a \gls{solver}.
Instead, the \gls{rewriting} process can enforce the global constraint using a \gls{decomp}
},
}
\newglossaryentry{gurobi}{
name={Gurobi},
description={},
}
\newglossaryentry{half-reif}{
name={half reification},
description={},
}
\newglossaryentry{indicator-var}{
name={indicator variable},
description={},
}
\newglossaryentry{ivar}{
name={introduced variable},
description={
An introduced variable is a \gls{variable} that was created in the reformulation of a \gls{decomp}.
New \gls{variable} are introduced either to redefine an existing \gls{variable} using a different type or to connect newly introduced \glspl{constraint}
},
}
\newglossaryentry{interval}{
name={interval},
description={},
}
\newglossaryentry{instance}{
name={instance},
description={A \gls{model} with assignments for all its \glspl{parameter}},
}
\newglossaryentry{knapsack}{
name={knapsack problem},
description={},
}
\newglossaryentry{let}{
name={let expression},
description={},
}
\newglossaryentry{gls-lcg}{
name={lazy clause generation},
description={},
}
\newglossaryentry{gls-lns}{
name={large neighbourhood search},
description={},
}
\newglossaryentry{meta-search}{
name={meta-search},
plural={meta-searches},
description={},
}
\newglossaryentry{microzinc}{
name={Micro\-Zinc},
description={},
}
\newglossaryentry{minisearch}{
name={Mini\-Search},
description={},
}
\newglossaryentry{model}{
name={constraint model},
description={
A constraint model is a formalisation of a \gls{dec-prb} or an \gls{opt-prb}.
It is defined in terms of formalised decision, \glspl{variable} of different kinds (\eg{} Boolean, integers, or even sets), and \glspl{constraint}, Boolean logic formulas which are forced to hold in any \gls{sol}, and, in case of an \gls{opt-prb}, an \gls{objective}.
Any external data required to formulate the \glspl{constraint} is said to be the \glspl{parameter}.
The combination of a constraint model and assignments for its \glspl{parameter} is said to be an \gls{instance} of the constraint model.
},
}
\newglossaryentry{minizinc}{
name={Mini\-Zinc},
description={},
}
\newglossaryentry{normal-form}{
name={normal form},
description={},
}
\newglossaryentry{gls-mip}{
name={Mixed Integer Programming},
description={},
}
\newglossaryentry{native}{
name={native},
description={\glspl{constraint} and \gls{variable} types are said to be native to a \gls{solver} when they can be directly used as input for the \gls{solver}},
}
\newglossaryentry{nanozinc}{
name={Nano\-Zinc},
description={},
}
\newglossaryentry{neighbourhood}{
name={neighbourhood},
description={},
}
\newglossaryentry{objective}{
name={objective function},
description={An objective function is a function defined over the \glspl{variable} of a \gls{model} to assign a numeric value to the quality of the \gls{sol}.},
}
\newglossaryentry{operator}{
name={operator},
description={},
}
\newglossaryentry{gls-opl}{
name={OPL:\ The optimisation modelling language},
description={},
}
\newglossaryentry{opt-prb}{
name={optimisation problem},
description={
A decision problem with an additional \gls{objective}.
It can, likewise, be formalised as a \gls{model}.
If the problem has multiple \glspl{sol}, then this function can be used to asses the quality on the \gls{sol}.
For such a problem, an \gls{opt-sol} is a \gls{sol} with the highest quality
},
}
\newglossaryentry{optional}{
name={optional},
description={},
}
\newglossaryentry{opt-sol}{
name={optimal solution},
description={An \gls{sol} in an \gls{opt-prb} for which it has been proven that no other \gls{sol} exist of higher quality},
}
\newglossaryentry{restart}{
name={restart},
description={},
}
\newglossaryentry{gls-sat}{
name={boolean satisfiability},
description={},
}
\newglossaryentry{search-heuristic}{
name={search heuristic},
description={},
}
\newglossaryentry{sol}{
name={solution},
description={A solution is an assignment for all \glspl{variable} in an \gls{instance} such that no \gls{constraint} is violated},
}
\newglossaryentry{solver}{
name={solver},
description={
A solver is a computer program that is designed to solve certain types of \gls{dec-prb} and/or \gls{opt-prb}.
Given a \gls{slv-mod}, in a specified format, a solver will (eventually) produce a \gls{sol} for it.
When solving a \gls{opt-prb}, solvers often produce intermediate \glspl{sol} before producing the \gls{opt-sol}
},
}
\newglossaryentry{parameter}{
name={problem parameter},
description={
A problem parameter is immutable data used to define one or more \glspl{constraint}.
Parameters are part of the external input for a \gls{model}.
The combination of a \gls{model} and assignment for all its problem parameters is referred to as an \gls{instance} of a \gls{model}
},
}
\newglossaryentry{propagation}{
name={constraint propagation},
description={},
}
\newglossaryentry{propagator}{
name={propagator},
description={},
}
\newglossaryentry{qcp-max}{
name={QCP-max},
description={},
}
\newglossaryentry{reification}{
name={reification},
description={A reification is a special form of a \gls{constraint} where, instead of the \gls{constraint} being enforced in the \glspl{sol}, it enforces that a \gls{cvar} represents whether the \gls{constraint} holds or not},
}
\newglossaryentry{rewriting}{
name={rewriting},
description={
The process of transforming a \gls{model} \gls{instance} into an \gls{eqsat} \gls{slv-mod} is referred to as rewriting.
This happens primarily through the application of \glspl{decomp}
},
}
\newglossaryentry{satisfied}{
name={satisfied},
description={
A \gls{constraint} is said to be satisfied when its logical expression is proven to hold.
Furthermore, a \gls{dec-prb} is said to be satisfied when all its \glspl{constraint} are satisfied
},
}
\newglossaryentry{slv-mod}{
name={solver model},
description={
A solver model is a \gls{instance} of a \gls{model} where all \glspl{constraint} and \gls{variable} types are \gls{native} for the targeted \gls{solver}.
\glspl{instance} of \glspl{model} containing non-native \glspl{constraint} and/or \gls{variable} types can be transformed into solver models through the process of \gls{rewriting}
},
}
\newglossaryentry{scip}{
name={SCIP},
description={},
}
\newglossaryentry{term}{
name={term},
description={},
}
\newglossaryentry{termination}{
name={termination},
description={},
}
\newglossaryentry{trail}{
name={trail},
description={},
}
\newglossaryentry{gls-trs}{
name={term rewriting system},
description={},
}
\newglossaryentry{unify}{
name={unify},
description={},
}
\newglossaryentry{unsat}{
name={unsatisfiable},
description={A problem is unsatisfiable when there exists no possible for the problem},
}
\newglossaryentry{variable}{
name={decision variable},
description={
A formalised decision that is yet to be made.
When searching for a \gls{sol} a decision variable is said to have a certain \gls{domain}, which contains the values that the decision variable might still take.
If at any point the \gls{domain} is reduced to a single value, then the decision variable is said to be \gls{fixed}.
If, however, a decision variable has an empty \gls{domain}, then there is no value it can take that is consistent with the \glspl{constraint}
},
}
\newglossaryentry{zinc}{
name={Zinc},
description={},
}