Namespace: ILOG.Concert
Assembly: oplall (in oplall.dll)
Syntax
| C# |
|---|
public interface IStateFunction |
Remarks
Informally speaking, a state function is a decision variable whose value is a set of non-overlapping intervals over which the function maintains a particular non-negative integer state. In between those intervals, the state of the function is not defined, typically because of an ongoing transition between two states.
For instance a state function could be used to describe the evolution of an oven's temperature over time. Assuming there are 3 possible temperature levels (indexed by 0, 1 and 2), a fixed value for this state function could be the following set of non-overlapping valued intervals:
- [start=0, end=100): state=0,
- [start=150, end=250): state=1,
- [start=250, end=300): state=1,
- [start=320, end=420): state=2,
- [start=460, end=560): state=0, ...
A set of constraints are available to restrict the evolution of a state function. These constraints allows specifying:
- That the state of the function must be defined and should remain equal to a given state everywhere over a given fixed or variable interval (IAlwaysEqual).
- That the state of the function must be defined and should remain constant (no matter its value) everywhere over a given fixed or variable interval (IAlwaysConstant).
- That intervals requiring the state of the function to be defined cannot overlap a given fixed or variable interval (IAlwaysNoState).
- That everywhere over a given fixed or variable interval, the state of the function, if defined, must remain within a given range of states [vmin, vmax] (IAlwaysIn).
For more information on state functions, see the concept LINK:CONCEPT_STATE.