A max-plus model can include any number of the following elements:
- max-plus matrices
- vector sequences
- event sequences
Syntax
The overall syntax is as follows.
max-plus model <name>:
matrices
<matrix definitions>
vector sequences
<vector sequence definitions>
event sequences
<event sequence definitions>
Matrix Definitions
Matrices are defined like the following example.
A (x1, x2) = [
[ -inf 2 ]
[ 1 -inf ]
]
A, in the example, is the name of the matrix. For state-space matrices, the names A, B, C and D are used. The name of the matrix is optionally followed by a sequence of labels for the matrix rows/columns. The labels help to understand the interpretation of the matrices, for example the relation between a dataflow graph and the corresponding matrix.
- for an NรN square matrix one can provide N labels that are used for both rows and columns.
- for an NรM (possibly non-square) matrix one can provide N+M labels, first the row labels, followed by the column labels.
The matrix is specified row by row as in the example above. Elements may be separated by commas or white space. The special value \(-\infty{}\) is denoted as -inf.
Vector Sequence Definitions
The syntax for vector sequences follows the following example
x (a, b) =
[
[ 0, -inf ],
[ -inf, 0 ],
[ 1, 1 ],
[ 3, 3 ],
]
The syntax is similar to the syntax of matrices, but is interpreted as a sequence of vectors. The (optional) labels can specify names for the elements of the vectors.
Event Sequence Definitions
The following is an example of the specification of an event sequence
h = [-inf 6 10 14 18 22 26 30 34]