Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Three basic types of criteria are supported by the Optimization Engine. They apply to one and only one variable: ·      

  • Target – reach a given value

...

  • Threshold – stay above or below a given value

...

  • Minimization/Maximization – going as far as possible towards (negative/positive) infinity

Two things should be noted: ·      

  • "Minimizing a price" should be a target to zero, not a minimization criteria.

...

  • It is possible to hard-constrain the search space of Value Finders by setting boundaries. This is easier and more efficient than applying criteria to them, but also more restrictive. It is also not the same modeling: applying criteria is modeling the problem while setting boundaries is restricting the solution.

Composite criteria are also supported. These are expressed as one criterion over several variables in the description file but are actually instantiated as several variables, computations, and criteria. They are of two types: ·      

  • Alignment – ordering several variables

...

    • Instantiated later as a set of substractions, differences, and threshold criteria.

...

  • EqualTo – several variables must be equal to each other

...

    • Instantiated later as a set of substractions, differences, and target to zero 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).

...

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 NCS 2 section here).

It is very dangerous to set any other priority level than low for mini/maximization criteria as they are never satisfied.

...

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.

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 less 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.