Enable more grammar rules
This commit is contained in:
parent
1114894da5
commit
87c059609a
3
.vscode/ltex.hiddenFalsePositives.en-GB.txt
vendored
3
.vscode/ltex.hiddenFalsePositives.en-GB.txt
vendored
@ -261,3 +261,6 @@
|
||||
{"rule":"MORFOLOGIK_RULE_EN_GB","sentence":"^\\Qtrs name=term rewriting system, description=A computational model that expresses computation through the application of rewriting rules.\\E$"}
|
||||
{"rule":"MORFOLOGIK_RULE_EN_GB","sentence":"^\\Qunsat name=unsatisfiable, description=An \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q, or a \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q, is unsatisfiable when a \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q cannot exist.\\E$"}
|
||||
{"rule":"UPPERCASE_SENTENCE_START","sentence":"^\\Qvariable-assignment name=variable assignment, description=see \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q.,\\E$"}
|
||||
{"rule":"ACTUAL","sentence":"^\\QHowever, since functions returning Boolean Dummies are equivalent to a predicate, it is actually the \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q of \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q that gets used.\\E$"}
|
||||
{"rule":"THREE_NN","sentence":"^\\QOur first model is based on a problem of planning cancer radiation therapy treatment using multi-leaf collimators \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q.\\E$"}
|
||||
{"rule":"METRIC_UNITS_EN_IMPERIAL","sentence":"^\\Q=15pt =1em\\E$"}
|
||||
|
12
.vscode/settings.json
vendored
12
.vscode/settings.json
vendored
@ -27,9 +27,9 @@
|
||||
"\\Lrefrange{}{}": "pluralDummy",
|
||||
"\\lref{}": "dummy",
|
||||
"\\Lref{}": "dummy",
|
||||
"\\amplfile{}": "ignore",
|
||||
"\\mznfile{}": "ignore",
|
||||
"\\plainfile{}": "ignore",
|
||||
"\\amplfile[]{}": "ignore",
|
||||
"\\mznfile[]{}": "ignore",
|
||||
"\\plainfile[]{}": "ignore",
|
||||
"\\cmodel{}": "dummy",
|
||||
"\\cmodels{}": "pluralDummy",
|
||||
"\\mzninline{}": "dummy",
|
||||
@ -70,7 +70,10 @@
|
||||
"\\BeforeBeginEnvironment{}{}": "ignore",
|
||||
"\\AfterEndEnvironment{}{}": "ignore",
|
||||
"\\syntax{}": "dummy",
|
||||
"\\minisearch": "dummy"
|
||||
"\\minisearch": "dummy",
|
||||
"\\mznfile{}": "ignore",
|
||||
"\\plainfile{}": "ignore",
|
||||
"\\amplfile{}": "ignore"
|
||||
},
|
||||
"ltex.latex.environments": {
|
||||
"mzn": "ignore",
|
||||
@ -80,4 +83,5 @@
|
||||
"nzn": "ignore",
|
||||
"prooftree": "ignore"
|
||||
},
|
||||
"ltex.additionalRules.enablePickyRules": true,
|
||||
}
|
@ -11,7 +11,7 @@ The \gls{rewriting} required to translate an \instance{} of a \cmodel{} into a \
|
||||
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 small number of highly complex \constraints{}.
|
||||
\minizinc{}, one such language, was originally designed for constraint programming \solvers{}, whose \glspl{slv-mod} contain a small number of highly complex \constraints{}.
|
||||
The same \minizinc{} models can now target mixed integer programming and Boolean satisfiability \solvers{}, resulting in numerous very simple \constraints{}.
|
||||
Distinctively, the \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.
|
||||
@ -20,7 +20,7 @@ For many applications, the current \minizinc{} implementation now requires a sig
|
||||
This problem is exacerbated by the emerging use of \gls{meta-optimization} algorithms, which require solving 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 the modern uses.
|
||||
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 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}.
|
||||
|
@ -25,7 +25,7 @@ In \minisearch{} these definitions can make use of the following function.
|
||||
function int: sol(var int: x)
|
||||
\end{mzn}
|
||||
|
||||
It returns the value that variable \mzninline{x} was assigned to in the previous \gls{sol} (similar functions are defined for Boolean, float and set variables).
|
||||
It returns the value that variable \mzninline{x} was assigned to in the previous \gls{sol} (similar functions are defined for Boolean, float, and set variables).
|
||||
This allows the \gls{neighbourhood} to be defined in terms of the previous \gls{sol}.
|
||||
In addition, a \gls{neighbourhood} definition will typically make use of the random number generators available in \minizinc{}.
|
||||
|
||||
@ -52,7 +52,7 @@ It then searches for a solution (\mzninline{minimize_bab}) with a given timeout.
|
||||
If the search does return a new solution, then it commits to that solution, and it becomes available to the \mzninline{sol} function in subsequent iterations.
|
||||
The \mzninline{lns} function also posts the \constraint{} \mzninline{obj < sol(obj)}, ensuring the objective value in the next iteration is strictly better than that of the current solution.
|
||||
|
||||
Although \minisearch{} enables the modeller to express \glspl{neighbourhood} in a declarative way, the definition of the \gls{meta-optimization} algorithm is rather unintuitive and difficult to debug, leading to unwieldy code for defining even simple algorithm.
|
||||
Although \minisearch{} enables the modeller to express declarative \glspl{neighbourhood}, the definition of the \gls{meta-optimization} algorithm is rather unintuitive and difficult to debug, leading to unwieldy code for defining even simple algorithm.
|
||||
Furthermore, the \minisearch{} implementation requires either a close integration of the backend \solver{} into the \minisearch{} system, or it drives the solver through the regular text file based \flatzinc{} interface.
|
||||
This leads to a significant communication overhead.
|
||||
|
||||
@ -350,7 +350,7 @@ As such, it can be used in combination with other functions, such as \mzninline{
|
||||
The implementation of the \mzninline{complete} function should merely always return the same Boolean \variable{}.
|
||||
However, since functions returning Boolean \variables{} are equivalent to a predicate, it is actually the \gls{reif} of \mzninline{complete} that gets used.
|
||||
As such, we can define \mzninline{complete} as shown in \cref{lst:inc-complete}.
|
||||
Note that the \gls{slv-mod} will actually include the \mzninline{complete_reif} \gls{native} \constraint{}.
|
||||
Note that the \gls{slv-mod} will thus include the \mzninline{complete_reif} \gls{native} \constraint{}.
|
||||
|
||||
\begin{listing}
|
||||
\mznfile{assets/listing/inc_complete.mzn}
|
||||
@ -489,7 +489,7 @@ In particular, this means that until the first choice point is created \gls{rewr
|
||||
constraint c;
|
||||
\end{mzn}
|
||||
|
||||
After rewriting it results in the following \nanozinc{} program.
|
||||
After \gls{rewriting}, it results in the following \nanozinc{} program.
|
||||
|
||||
\begin{nzn}
|
||||
var true: c;
|
||||
@ -738,7 +738,7 @@ It should be noted that the \gls{rbmo} method is not guaranteed to apply the exa
|
||||
In this case there is an even more pronounced difference between the incremental methods and the naive method.
|
||||
It is surprising to see that the application of 1000 \glspl{neighbourhood} using \gls{incremental-rewriting}, still performs very similar to \gls{rewriting} the \gls{rbmo} method.
|
||||
Again, solving times are similar between all method.
|
||||
Once again we do not see any real advantage of the use of the incremental \solver{} \gls{api}.
|
||||
Once again, we do not see any real advantage of the use of the incremental \solver{} \gls{api}.
|
||||
The advantage in solve time using \gls{rbmo} is more pronounced here, but it is hard to draw conclusions since the \glspl{neighbourhood} of this method are not exactly the same.
|
||||
|
||||
\subsection{Summary}
|
||||
|
Reference in New Issue
Block a user