Switch glossary to an index

This commit is contained in:
Jip J. Dekker 2021-04-08 18:04:03 +10:00
parent 2f5fbbacd9
commit b94c1cb386
No known key found for this signature in database
GPG Key ID: 517DF4A00618C9C3
4 changed files with 44 additions and 72 deletions

View File

@ -1,8 +1,9 @@
\newacronym[see={[Glossary:]{gls-cbls}}]{cbls}{CBLS}{Constraint-Based Local Search\glsadd{gls-cbls}} \newacronym[see={[Glossary:]{gls-cbls}}]{cbls}{CBLS\glsadd{gls-cbls}}{Constraint-Based Local Search}
\newacronym[see={[Glossary:]{gls-cp}}]{cp}{CP}{Constraint Programming\glsadd{gls-cp}} \newacronym[see={[Glossary:]{gls-clp}}]{clp}{CLP\glsadd{gls-clp}}{Constraint Logic Programming}
\newacronym[see={[Glossary:]{gls-cse}}]{cse}{CSE}{Common Subexpression Elimination\glsadd{gls-cse}} \newacronym[see={[Glossary:]{gls-cp}}]{cp}{CP\glsadd{gls-cp}}{Constraint Programming}
\newacronym[see={[Glossary:]{gls-csp}}]{csp}{CSP}{Constraint Satisfaction Problem\glsadd{gls-csp}} \newacronym[see={[Glossary:]{gls-cse}}]{cse}{CSE\glsadd{gls-cse}}{Common Subexpression Elimination}
\newacronym[see={[Glossary:]{gls-cop}}]{cop}{COP}{Constraint Optimisation Problem\glsadd{gls-cop}} \newacronym[see={[Glossary:]{gls-csp}}]{csp}{CSP\glsadd{gls-csp}}{Constraint Satisfaction Problem}
\newacronym[see={[Glossary:]{gls-lns}}]{lns}{LNS}{Large Neighbourhood Search\glsadd{gls-lns}} \newacronym[see={[Glossary:]{gls-cop}}]{cop}{COP\glsadd{gls-cop}}{Constraint Optimisation Problem}
\newacronym[see={[Glossary:]{gls-mip}}]{mip}{MIP}{Mixed Integer Programming\glsadd{gls-mip}} \newacronym[see={[Glossary:]{gls-lns}}]{lns}{LNS\glsadd{gls-lns}}{Large Neighbourhood Search}
\newacronym[see={[Glossary:]{gls-sat}}]{sat}{SAT}{Boolean Satisfiability\glsadd{gls-sat}} \newacronym[see={[Glossary:]{gls-mip}}]{mip}{MIP\glsadd{gls-mip}}{Mixed Integer Programming}
\newacronym[see={[Glossary:]{gls-sat}}]{sat}{SAT\glsadd{gls-sat}}{Boolean Satisfiability}

View File

@ -12,173 +12,142 @@
\newglossaryentry{gls-cbls}{ \newglossaryentry{gls-cbls}{
name={constraint-based local search}, name={constraint-based local search},
description={\jip{todo}}, description={},
} }
\newglossaryentry{constraint}{ \newglossaryentry{constraint}{
name={constraint}, name={constraint},
description={A constraint is a relationship between two or more decision description={},
variables or problem parameters that has to present in any valid solution to a
problem},
} }
\newglossaryentry{constraint-modelling}{ \newglossaryentry{constraint-modelling}{
name={constraint modelling}, name={constraint modelling},
description={Constraint modelling is a technique used to describe description={},
combinatorial problems. In this paradigm the problem in terms of
\glspl{variable} that have an unknown value, but are potentially
subject to certain \glspl{constraint}},
} }
\newglossaryentry{gls-cp}{ \newglossaryentry{gls-cp}{
name={constraint programming}, name={constraint programming},
description={Constraint Programming (CP) is a paradigm used to solve description={},
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 \newglossaryentry{gls-clp}{
\gls{propagation} and customisable search heuristics}, name={constraint logic programming},
description={},
} }
\newglossaryentry{gls-cse}{ \newglossaryentry{gls-cse}{
name={common subexpression elimination}, name={common subexpression elimination},
description={Common Subexpression Elimination (CSE) is a technique used in the description={},
evaluation of programming languages to avoid redoing the same work. A
description of how CSE works in \cmls\ can be found in \cref{sec:4-cse}},
} }
\newglossaryentry{gls-csp}{ \newglossaryentry{gls-csp}{
name={constraint satisfaction problem}, name={constraint satisfaction problem},
description={TODO}, description={},
} }
\newglossaryentry{gls-cop}{ \newglossaryentry{gls-cop}{
name={constraint optimisation problem}, name={constraint optimisation problem},
description={TODO}, description={},
} }
\newglossaryentry{variable}{ \newglossaryentry{variable}{
name={decision variable}, name={decision variable},
description={A decision variable is a value that is yet to be determined. A description={},
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{domain}{ \newglossaryentry{domain}{
name={domain}, name={domain},
description={The domain of a \gls{variable} is the set of values that description={},
it can still take to arrive at a solution to the problem.},
} }
\newglossaryentry{flatzinc}{ \newglossaryentry{flatzinc}{
name={Flat\-Zinc}, name={Flat\-Zinc},
description={A subset of the \minizinc\ syntax that is used as input for description={},
\glspl{solver}},
} }
\newglossaryentry{global}{ \newglossaryentry{global}{
name={global constraint}, name={global constraint},
description={A global constraint is a common \gls{constraint} pattern that can description={},
be described using simpler \glspl{constraint}. \Glspl{solver} sometimes provide
dedicated algorithms or rewriting rules to better handle the global constraint},
} }
\newglossaryentry{linear-programming}{ \newglossaryentry{linear-programming}{
name={linear programming}, name={linear programming},
description={Linear programming is a method to optimise an linear objective description={},
function under the condition of a set of constraints which are all in the form
of linear equations},
} }
\newglossaryentry{gls-lns}{ \newglossaryentry{gls-lns}{
name={large neighbourhood search}, name={large neighbourhood search},
description={Large Neighbourhood Search (LNS) is a meta-search algorithm that description={},
repeatedly restricts the search space, \ie applying a \gls{neighbourhood}, to
quickly find better solutions to a problem},
} }
\newglossaryentry{meta-search}{ \newglossaryentry{meta-search}{
name={meta-search}, name={meta-search},
plural={meta-searches}, plural={meta-searches},
description={A search approach that repeatedly solves constraint models}, description={},
} }
\newglossaryentry{microzinc}{ \newglossaryentry{microzinc}{
name={Micro\-Zinc}, name={Micro\-Zinc},
description={TODO}, description={},
} }
\newglossaryentry{minisearch}{ \newglossaryentry{minisearch}{
name={Mini\-Search}, name={Mini\-Search},
description={TODO}, description={},
} }
\newglossaryentry{minizinc}{ \newglossaryentry{minizinc}{
name={Mini\-Zinc}, name={Mini\-Zinc},
description={A high-level \gls{constraint-modelling} language with an description={},
extensive library of \glspl{global}},
} }
\newglossaryentry{gls-mip}{ \newglossaryentry{gls-mip}{
name={Mixed Integer Programming}, name={Mixed Integer Programming},
description={A form of \gls{linear-programming} where at least one of the variable description={},
can only take an integer value},
} }
\newglossaryentry{nanozinc}{ \newglossaryentry{nanozinc}{
name={Nano\-Zinc}, name={Nano\-Zinc},
description={TODO}, description={},
} }
\newglossaryentry{neighbourhood}{ \newglossaryentry{neighbourhood}{
name={neighbourhood}, name={neighbourhood},
description={A neighbourhood is a restriction of the search space of the description={},
\gls{solver}},
} }
\newglossaryentry{objective}{ \newglossaryentry{objective}{
name={objective}, name={objective},
description={The objective in a constraint model is a designated description={},
\gls{variable} or function. The goal of the solver is to find the solution that
maximises or minimises the valuation of the objective}
} }
\newglossaryentry{restart}{ \newglossaryentry{restart}{
name={restart}, name={restart},
description={A restart takes place when a \gls{solver} abandons its current description={},
search position and start its search from the beginning},
} }
\newglossaryentry{gls-sat}{ \newglossaryentry{gls-sat}{
name={boolean satisfiability}, name={boolean satisfiability},
description={\jip{todo}}, description={},
} }
\newglossaryentry{solver}{ \newglossaryentry{solver}{
name={solver}, name={solver},
description={A solver is a dedicated program or algorithm that can be used to description={},
solve combinatorial problems, or a subset thereof},
} }
\newglossaryentry{parameter}{ \newglossaryentry{parameter}{
name={problem parameter}, name={problem parameter},
description={A problem parameter is a constant value that helps define the description={},
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}{ \newglossaryentry{propagation}{
name={constraint propagation}, name={constraint propagation},
description={Constraint propagation is the inference that description={},
\glspl{variable} can no longer take a certain values, lest they would
violate a \gls{constraint}},
} }
\newglossaryentry{reification}{ \newglossaryentry{reification}{
name={reification}, name={reification},
description={Instead of enforcing a particular relationship, a reification of description={},
a constraint predicate will report whether a relationship is present in the
solution},
} }

View File

@ -56,6 +56,7 @@ style=apa,
% Glossary / Acronyms % Glossary / Acronyms
\usepackage[acronym,toc]{glossaries} \usepackage[acronym,toc]{glossaries}
\usepackage[stylemods=bookindex]{glossaries-extra}
\usepackage{titlecaps} \usepackage{titlecaps}
\glsdisablehyper{} \glsdisablehyper{}
\defglsentryfmt[main]{\ifglsused{\glslabel}{\glsgenentryfmt}{\textit{\glsgenentryfmt}}} \defglsentryfmt[main]{\ifglsused{\glslabel}{\glsgenentryfmt}{\textit{\glsgenentryfmt}}}
@ -128,6 +129,7 @@ style=apa,
\usepackage[ \usepackage[
cachedir=listings, cachedir=listings,
outputdir=build, outputdir=build,
draft=true,
]{minted} ]{minted}
\usemintedstyle{borland} \usemintedstyle{borland}

View File

@ -116,6 +116,6 @@ following publication:
\printglossary[nonumberlist,type=\acronymtype]{} \printglossary[nonumberlist,type=\acronymtype]{}
\renewcommand{\glsnamefont}[1]{\titlecap{#1}} \renewcommand{\glsnamefont}[1]{\titlecap{#1}}
\printglossary[nonumberlist]{} \printglossary[style=bookindex,title=Index]{}
\end{document} \end{document}