Criteria are important as they represent the customer customer’s end goal regarding the in optimization. Choosing the right types and prioritizing them according to the customer's needs is one of the key of keys to success.
Types of Criteria
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
In this section:
Table of Contents |
---|
Caution with Maximization
A maximization criterion applies to one variable and pushes it 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. It is very dangerous to set any other priority than low for maximization criteria: as they are never satisfied, they risk taking precedence over every other criteria all the time, preventing the system to reach a good overall solution.
Perform Minimization
There are two cases:
You actually want the variable to be as close to zero as possible.
Simply set a target criterion to zero.
You want the variable to go as far towards negative infinity as possible:
You need an extra step: multiply this variable by -1 and set a maximization criterion on the result.
Set Boundaries to Variable
There are two different ways to define boundaries for 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 beyond 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 "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.
Composite criteria are also supported. These are 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.
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 of two types:
· Alignment – ordering several variables
o Instantiated later as instantiated as a set of substractions, differences, and either a threshold criteria.
· EqualTo – several variables must be equal to each other
o Instantiated later as a set of substractions, differences, and (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.:
Priority Levels
The first way is to set the priority level of the criteria (low, medium, or high): lower priority neighbors are not looked at by the majority of Value Finders as long there are unsatisfied higher priority criteria (well,
...
sort of, see
...
...
Acceptable Deltas
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 threePriorities only affect value finders when a conflict between criteria arises. Having high and low priorities does not mean the low priorities will be totally ignored.