...
A criterion declared in the
criteria
section of one scope is instantiated for each set of coordinates within the scope. Their names act as keys for coordinates inside their space, thus two criteria at the same coordinates cannot share the same name. This means two mutually exclusive scopes can define the same criterion in two different ways. An example with variables is given in https://pricefx.atlassian.net/wiki/spaces/UDEV/pages/3867312401/Variables+Definition#General-Rules Variables Description.Every parameter can either be set directly inline or through data.
In the case of an inline type, the description provides a value. It is the way to provide a hard-coded value or a user-entry value.
In the case of a data type, the description provides a field name. The instantiation will seek in the problem table corresponding to the scope, named
Problem_<name of the space>_<name of the scope>
to get the values, which depend on the coordinates of the criteria.
After (and during) an optimization run, a criterion is:
SATISFIED
if the constraint expressed by the criterion is met.ACCEPTABLE
if it is within its acceptable margin of error.UNACCEPTABLE
otherwise.
You can set priorities for criteria: low, medium, or high.
Higher priority unacceptable criteria are treated first in case of conflict, but the system will always try to solve every criterion.
...
A multi-variable criterion applies to a list of variables. They use the same way as computations to refer to the variables to which they apply (see https://pricefx.atlassian.net/wiki/spaces/UDEV/pages/3867312401/Variables+Definition#Referencing-Other-Spaces Variables Description to learn how to refer to variables from other spaces). For instance, If the user wants all variables of the same key to be equal, then the equality criterion should be placed in a “global” dimensionless space, using all
as on
type. If the user wants several variables of different keys to be equal, then the criterion should be in the same space as these variables and use fixed
as on
type.
...