Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Criteria are important as they represent the customer end goal regarding the optimization. Choosing the right types and prioritizing them according to the customer's needs is one of the keys to success.


On this page:

Caution to Minimization/Maximization

Among basic criteria, i.e. applying to one and only one variable, the Minimization/Maximization type aims to go as far as possible towards (negative/positive) infinity.

Caution in the case the variable should be constrained. For example, a price is always positive. The minimization constraint doesn't make sense here; the constraint should be a target to zero.

Moreover, even if the shouldn't be any bound to the Value Finder, it is very dangerous to set any other priority level than low for mini/maximization criteria as they are never satisfied.

Set Boundaries to a Variable

There are two different ways to define that set boundaries to a variable.

  • Thresholds criteria make the variable stay above or below a given value. The criteria may be unreached in case of conflictual constraints.
  • Minimum and maximum values hard-constrain the search space of Value Finders. This is easier and more efficient than applying criteria to them, but also more restrictive: the Value Finder is unable to go further the boundaries.

It is also not the same modeling: applying criteria is modeling the problem while setting boundaries is restricting the solution.


Be careful: In case of a "I want the variable to be between 10 and 20 but it's even better if it's at 15" type of need, the recommendation is to use a target at 15 with an acceptable delta of 5 instead of two high priority thresholds plus a low priority target. It takes fewer agents and results in a way smoother and faster convergence in most cases. The only drawback is a small loss of explainability. You cannot differentiate the impacts and induced movements on the Value Finders as it is only one criterion instead of three.

Example to define strict minimum and maximum values:

Example to define smooth minimum and maximum with criteria:

Example to define a target value with an acceptable delta:

Composite Criteria

Composite criteria are expressed as one criterion over several variables in the description file but are actually instantiated as several variables, computations, and criteria. They are instantiated as a set of substractions, differences, and either a threshold (for Alignment criteria) or target to zero criteria (EqualTo criteria).

When to use a composite criterion? When the criterion encompasses several variables.

When to use an EqualTo composite criterion instead of a Target basic criterion? When the target value is dynamic, or when the target value is used elsewhere in the problem (hence it makes sense to have it explicitly as a variable in the problem).

Prioritize Criteria

Customers often differentiate their requirements with respect to their relative importance. There are two ways to translate it.

The first way is to set the priority level of the criteria (low, medium, or high): lower priority neighbors are not looked at by Value Finders as long there are unsatisfied higher priority criteria (well, almost, see Optimization Engine Advanced Knowledge). The second way is to set an acceptable delta to targets or thresholds. When the difference between the current value and the target is less than the acceptable delta, the priority of the criteria becomes low.

  • No labels