Transcript Document
An Introduction to Max-plus Algebra
Hiroyuki Goto
Department of Industrial & Systems Engineering
Hosei University, Japan
Outline of Today's Tutorial
Part I. Introduction
Why max-plus algebra?
What is max-plus algebra?
How to use?
Part II. Relevant Topics
Where is max-plus algebra?
Relevance with close fields
• Control theory, graph theory, discrete mathematics
Part III. Miscellaneous Topics & Recent Advances
Extensions to wider classes
Extension stochastic systems
1
Part I. Introduction
2
Why Max-Plus Algebra?
Simple Scheduling Problem based on PERT
• PERT: Performance Evaluation and Review Technique
Project with four activities
Activity Days
Predecessors
A
dA
--
B
dB
A
C
dC
A
D
dD
B, C
AON (Activity on Node)
B
A
dA
dB
C
D
dD
dC
AOA (Activity on Arrow)
u
Start
A
B
dA
dB
C dC
Earliest node times
D
x1 u , x2 x1 d A , x3 x2 d C ,
dD
x4 max( x2 d B , x3 ), x5 x4 d D ,
y
y x5
Finish
event/state
3
Earliest Node Times
Derive an explicit form
Eliminate xi on
x1 u,
the right handx2 x1 d A ,
side
x3 x2 dC ,
x4 max(x2 d B , x3 ),
x5 x4 d D ,
y x5
Completion
0
x1 u
dA
x2 u
x u
d
d
A
C
3
x4 u d A max(d B , d C )
x d max(d , d ) d
B
C
D
5 u A
(output) time
u
A
B
D
dA
dB
dD
C dC
y x5 u d A max(d B , d C ) d D
Lapse of time: '+' operation
Synchronization: 'max' operation
y
4
Latest Node Times
Calculate the times from downstream to upstream
x1 y d D max(d B , d C ) d A
x2 y d D max(d B , d C )
x y
x3 x4 0,
dD
3
x2 min( x3 d C , x4 d B ),
dD
x4 y
x
x1 x2 d A , Eliminate x using
y
0
5
i
min(a, b) max(a, b)
x5 y
x4 x5 d D ,
Slack time (margin)
fW xj xi dW
f A x2 x1 d A
0
f B x4 x2 d B max(d C d B , 0)
x3 x2 d C
fC
max(d B d C , 0)
f D x5 x4 d D
0
Critical path A, D, and (B or C)
u
A
B
D
dA
dB
dD
C dC
y
5
Features of PERT
Traditional PERT can describe
Precedence relationships between activities
Duration time of each activity
Limitation: cannot describe other practical constraints
such as
A single worker (resource) is assigned to multiple activities
The facilities (resources) process the same job repeatedly
Resource conflict may occur, etc.
Modeling and analysis method using max-plus
algebra is an useful alternative approach
6
What is max-plus algebra?
Basic operations
Addition:
x y max( x, y )
Multiplication: x y x y
R max R {}
x, y R max
‘O-plus’
‘O-times’
Priorities of operators: '*' > '+' (same as conventional algebra)
Subtraction ‘-’ and division '/' : not defined directly
Zero element: ( )
Unit element: (e 0)
x x x
xe e x x
Correspond to
0 ( log 0)
1
(e log 1)
• Examples
5 3 max(5, 3) 5
5 max(5, ) 5
4 4 ( )
e3 03 3
53 53 8
5 9 7 1 8
7
Behavior of a Production System
Production system with 3 machines
Non-concurrency = each machine cannot
process multiple materials at the same time
x1
u1
M1
x3
y
d1
x2
u2
k : Job number
x i : Completion time in machine i
u i : Material feeding time in input i
y : Finish time
M3
d3
M2
d2
Lapse of time: '+' operation
Sync., non-concurrency: 'max'
Earliest processing start times / output time
x 1 (k ) d1 max{u1 (k ), x 1 (k 1)}
x 2 (k ) d 2 max{u2 (k ), x 2 (k 1)}
x 3 (k ) d 3 max{x1 (k ), x2 (k ), x 3 (k 1)}
y (k ) x3 (k )
8
Matrix Operations
Same rules as conventional algebra
Addition:
[ X Y ]ij [ X ]ij [Y ]ij
n
n p
X , Y R m
Z
R
max
max
n
Multiplication: [ X Z ]ij [ X ]il [ Z ]lj max{[ X ]il [ Z ]lj }
l
l 1
[ X Y ]ij [ X ]ij [Y ]ij
n
[ X Z ]ij [ X ]il [ Z ]lj
l 1
Zero matrix: ε All elements are
Unit matrix: e Diagonal elements: e, off-diagonal elements:
• Examples
e 1 11 e 1 11 e 11
3 2 1 3 1 2 3 2
e 1 11 e 1 1 e 11 1 11
3 2 1 3 1 2 1 3 11 2 3 14
9
Matrix Representation (1)
Earliest node times of
the four-activity project
x1 u,
x2 x1 d A ,
x3 x2 d C ,
x4 max(x2 d B , x3 ),
x5 x4 d D ,
y x5
u
A
B
D
dA
dB
dD
C dC
Dummy task (synchronization) Initial state
dA
x
dC
dB
e
dD
e
x u
Precedence relations & elapsed times
y e x
Linear form in max-plus algebra:
y
x A x b
⇒ MPL (Max-Plus Linear) form
10
Matrix Representation (2)
Earliest schedule of the threemachine production system
x 1 (k ) max{x 1 (k 1) d1 , u1 (k ) d1}
x 2 (k ) max{x 2 (k 1) d 2 , u2 (k ) d 2 }
x 3 (k ) max{x1 (k ) d 3 , x2 (k ) d 3 , x 3 (k 1) d 3 }
y (k ) x3 (k )
Predecessors
x (k )
d
3
Non-concurrency
d1
x (k )
d 3
d2
u1
x1
1
d1
u2
x3
x2
y
3
2
d3
d2
External inputs
d1
x (k 1)
d 3
d 2 u( k )
y (k ) e x (k )
MPL form: x ( k ) F x ( k ) P x ( k 1) B u( k )
11
How to Solve the Equation?
Cf. In conventional algebra,
Substitute iteratively
x
A
x
b
A
(
A
x
b
)
b
x A x b
1
x
(
I
A
)
b
2
A x (e A) b
3
2
A x (e A A ) b
A s x (e A A2 A s 1 ) b
If the precedence relationships are represented by a DAG
(Directed Acyclic Graph),
(e A A2 A s 1 ) b A* b
Kleene Star (Closure)
s
A
s 1
ε, A
ε (1 s n)
(nilpotent)
12
Interpretation of the Representation Matrix
Solution of the recursive linear equation
x A x b A: precedence relations
b: start time
x A* b
j: source node
e
dA
e
A*
d A dC
dC
d B dC
d A (d B d C )
d (d d ) d
(d B d C ) d D
B
C
D
A
e
e
dD
e
dD
dA
A
yCx
C e : final node
dC
dB
e
dD
e
, b u
e i: destination node
: earliest arrival times between two nodes
= longest paths
Output time
u
A
B
D
dA
dB
dD
C dC
y
13
Earliest Times of the Production System
Earliest times of the system with 3 machines
x (k ) F x (k ) P x (k 1) B u(k )
x A x b
F
d
3
x A* b
d1
, P
d 3
d2
d1
, B
d 3
d2
u1
x1
1
d1
x (k ) F * [ P x (k 1) B u(k )]
y (k ) C x (k )
d1
*
F P
d d
3
1
d2
d 2 d3
u2
y
3
x2
2
d3
d2
d1
*
, F B
d d
d 3
3
1
: earliest processing times between
two nodes
x3
d2
d 2 d 3
: earliest processing times from
the external inputs
14
Focusing on the Latest Time
Latest node times of the four-activity project
x1 x2 d A ,
x2 min(x3 dC , x4 d B ),
x3 x4 0,
x4 x5 d D ,
x5 y
Min.: [ X ]ij [Y ]ij min([ X ]ij , [Y ]ij )
Pseudo division:
'min' and '-'
operators appear
d A
x
dC
dB
e
dD
[ XY ]ij min ([ X ]il [Y ]lj )
l
dA
A
dC
dB
e
dD
, C e
T
T
x y A x C y
dD
e
15
Solution of the Recursive Equation
Solve (a kind of) recursive linear equation
Latest times
Cf. Earliest times
x AT x d
x A x b
x A d
x A b
*
*T
d A (d B d C ) d D
x A x C y
(d B d C ) d D
A*T (C T y ) (C A* )T y y
dD
dD
: the same
B
A
D
e
as p.5
u
T
T
dA
dB
C dC
dD
y
X T (Y T Z ) (Y X )T Z
16
Part II. Relevant Topics
17
Relevant Fields
Modern control theory
State monitoring and control of systems
•
•
•
•
Control input: start time of a job
Control output: end time of a job
State variable: event occurrence time
System parameter: duration time
Petri net
Representation of the behavior of event-driven systems
•
•
•
•
•
Structure: synchronization, parallel processing, etc.
Place: conditions for event occurrence (non-concurrency, capacity)
Transition: event occurrence, start/completion of an event
Arc: precedence constraint, sequence of events
Marking: system’s state
18
Relevance with Modern Control Theory
Earliest schedule for the 3-machine production system
x(k ) F * [ P x(k 1) B u(k )]
y (k ) C x (k )
Generalized representation
x (k ) A x (k 1) B u(k )
y (k ) C x (k )
x (t ) Ax (t ) Bu(t )
Cf.
y (t ) Cx (t )
Same form as the state-space representation
Some methods in modern control theory can be applied
• Internal model control, model predictive control, adaptive control, etc.
19
Relevance with Petri net
Behavior of TEGs: expressed by an MPL form
TEG: Timed Event Graph
All places have one input and one output transitions
x1
u1
M1
d1
u2
M2
x3
x2
y
M3
d3
Capacity=1
x1
u1
Capacity=+Inf
x3
d2
Capacity of places
Internal: 1
External: +Inf
u2
y
d1 x2
d3
d2
20
Ultra-discretization (1)
Ramp function
y
x ( x 0)
R( x)
max( x, 0) x 0
0 ( x 0)
S ( x)
ln[exp(ux) exp(0)]
R( x)
u
(u )
max operation is related to
exp and log functions
y R(x)
x
O
y
u=1
u=5
u=10
R(x)
0.5
x
0
-1
-0.5
0
0.5
21
Ultra-discretization (2)
Variable transformation
x exp(uX ), y exp(uY ), z exp(uY )
and let u (ultra-discretization)
Addition z x y exp(uZ ) exp(uX ) exp(uY )
ln(euX euY )
Z lim
max( X , Y ) X Y
u
u
Multiplication z x y exp(uZ ) exp(uX ) exp(uY )
ln(e uX e uY )
Z lim
X Y X Y
u
u
Zero & unit elements
• Zero element: x 0, X
• Unit element: x 1, X 0
22
Semiring & Dioid
Semiring
x, y , z D
Commutative law: x y y x
Associative laws: ( x y ) z x ( y z ), ( x y ) z x ( y z )
Distributive laws: x ( y z ) ( x y ) ( x z ),
( x y) z ( x z) ( y z)
Three axioms for e and :
x x x, x e e x x, x e
(D, , ) is a semiring
Dioid (idempotent semiring)
+Idempotency x x x (does not hold in usual algebras)
(D, , ) is a Dioid
23
Some Classes of Dioid
(D, , )
(R {}, max, ),
( , e)
(, 0)
Max-plus algebra:
Max-times algebra:
(0, 1)
([0, 1], max, ),
Min-max algebra: (R {}, min, max), (, )
(R {}, min),
(, 0)
Min-plus algebra:
({0, 1}, max, min),
(0, 1)
Boolean algebra:
Note:
These are widely referred to as *** algebra,
but are not an algebra in a strict sense
because of x x x
24
Communication Graph
State transition graph of a representation matrix
Node: state (of jobs, facilities)
Weight of an edge: transition time
Example
4
5
7
[ A k ]ij
3
: Reachable with
k steps from j -> i
maximum
cumulative weight
4
A
7
A 3
2
, A
5
9
10
3
12
8
4
, A
25
Eigenvalue problem
A x x
Num. eigenvalues of square matrices: n or smaller
1 e
e
1
2
1
2
2 e
e
e e e
e
e
1
e e e
e
1
1 1
1
e 1 2
, , ,
1 2 3
1
2
0
1
0
These are all eigenvectors
-> indeterminacy for constant offsets
(Set e for the minimum non- element)
26
Eigenvalue of a reduced matrix
Only one eigenvalue
Maximum average cumulative weight among all cycles
| p |w
All elements of eigenvectors are non-
max
pC ( A )
3 7 2.5
2.5
4.5
2 4 e
e
3
3 5 1
1
4
2 4 e
e
3
4
2
C ( A) : Cycle in Graph A
p : Path of the cycle
| p |w : Weight of the
7
4
2
| p |l
path
| p |l : Length of the
path
5
3 3 1
1
3
2 2 e
e
3
2
2
3
27
Kleene Star In Max-Plus Algebra
Also referred to as the Kleene Closure
Collection of symbols of generated by arbitrary repetitions of
an operation
(p.25)
In Max-plus algebra
A e A A
*
2
A
4
A
7
5
3
e
4
*
A
9
12
e
5 e
l
l 0
longest paths for all node pairs
[ A* ]ij
≠ : maximum cumulative
weights from node j -> i
= : not reachable from
node j -> i
4
5
7
3
8 3 e
28
Kleene Star In Some Classes
s
l 0
l 0
A* e A A2 Al Al
Directed Acyclic Graph (DAG)
(finite number of terms)
Today's main target
• There is no path with s steps or greater
Al ε (s n, l s)
Connected graph with non-positive maximum circuit
weight
• Any non-positive circuit cannot be the longest path
s
Al Al (s n, l s)
l 0
29
Part III. Miscellaneous
Topics & Recent Advances
30
Tetris-Like Schedule
Earliest schedule of 3 blocks
Block = relative times are fixed
Pre- and post- processing tasks
Facility interference
k
k : Block (job) number
x i : Upper-end position of resource i
x2 (k ) max{x2 (k 1) 1, x3 (k 1) 2}
x3 (k ) max{x2 (k 1) 2, x3 (k 1) 3}
k-1
Resource 1
2
3
4
5
x1 (k ) x1 (k 1), x4 (k ) x4 (k 1), x5 (k ) x5 (k 1)
xi (k ) max{x j (k 1) (ui l j ), }
j
u i , li : relative upper-/lower- end
positions of resource i
xi (k ) xi (k 1) : Resource i is not used
Lapse of time: '+'
Non-concurrency: 'max'
31
Matrix Representation
Earliest times of the Tetris
type schedule
x1 (k ) x1 (k 1)
x2 (k ) max{x2 (k 1) 1, x3 (k 1) 2}
Diagonal: block depth
e
x3 (k ) max{x2 (k 1) 2, x3 (k 1) 3}
1 2
x4 (k ) x4 (k 1)
x (k ) 2 3 x (k 1)
x5 (k ) x5 (k 1)
e
e
k
Non-diagonal:
completion time in i – start time in j
k 1
1 2 3 4 5
MPL form: x ( k ) M x ( k 1)
32
Duality & Dual System
Earliest times
Pls. refer to Ref. [1] for details
State equation
x (k ) A [ x (k 1) B0 u(k )]
• gives the earliest completion times
Output equation
y (k ) C 0 x (k )
• gives the earliest output times
Latest times
x (k ) AT [ x (k 1) C 0T u(k )]
• Latest start times
y (k ) B0T x (k )
Transition matrix
A ( P F0 )* P
P diag[d (k )]
B0 : Input matrix e/
C 0 : Output matrix e/
F0 : Adjacency matrix e/
Connected = e
Not connected =
• Latest input times
33
Consideration of Capacity Constraints
Assumptions so far
Ref. [2]
• Number of jobs that can be processed simultaneously in a facility = 1
• Number of maximum jobs that can exist between two facilities = +Inf
x (k ) A [ x (k 1) B0 u(k )]
A ( P F0 )* P
y (k ) C 0 x (k )
Consideration of maximum capacity
• Specify maximum capacity between two arbitrary nodes
Representation of lag times
Q
x (k )
x (k ) Fk* H 0( h ) x (k h) B0 u(k ) x (k ) x (k )
h 1
Lag time
5
y (k ) C 0 x (k )
( F0 P )* ( F0 P )* F0
F F
*
*
(
PF
)
P
(
PF
)
l 1
0
0
2s 1
*
k
l
k
1
2
3
34
Application to Model Predictive Control
Substitute iteratively to the state equation
x (k ) Ax (k 1) Bu(k )
Ref. [3]
x (k 1) A2 x (k 1) ABu(k ) Bu(k 1)
y (k ) C x (k )
x (k N 1) A N x (k 1) BA N 1u(k ) Bu(k N 1)
Output prediction equation
y (k )
u( k )
Y (k ) Φx (k 1) ΔU (k )
y (k 1)
u(k 1)
y (k )
U
(
k
)
y (k N 1)
u(k N 1)
Case of production systems:
Problems to determine
ε
ε
CA
CAB
proper material feeding
2
2
CAB
times by giving due dates Φ CA Δ CA B
ε
N 1
N 1
N 2
CA
CA
B CA
B CAB
35
Efficient Calculation of the Kleene Star
Time complexity with a naïve method: O(n4 )
Efficient Algorithms: O(n (n m))
1. Topological sort
Refs. [4], [5]
n: Num. nodes
m: Num. edges
• Based on Depth First Search (DFS)
2
• If the precedence relations are given by an adjacency matrix: O(n )
• If given by a list: O(n m)
2. Iterative update of the longest paths O(n m)
• Starting from a unit matrix e , procedures similar to the elementary
transformation are performed
36
Extension to Stochastic Systems
f1 (t )
Tandem structure
Distribution function of summation
f 2 (t )
t
t
t
f12 (t ) f1 (t ) f 2 ( )d
1
0
2
• Asymptotically -> central limit theorem
Fork structure (synchronization)
Distribution of max.
d
f12 (t ) [ F1 (t ) F2 (t )]
dt
f12 (t )
12
t
t
F (t ) f (t )dt
0
• Only Weibull distr. (incl. exponential distr.) and Gumbell distr. (incl.
double-exponential) are simple, while others are complex
Hard to handle analytically for general cases!
• Numerical computations for only small-sized systems are achieved
37
Another Approach to Stochastic Systems
Utilize the framework of the Critical Chain Project
Management (CCPM) Method
• High uncertainty in the execution time of tasks
• Detailed probability distribution is not considered
Affinity with max-plus algebra because of the same formulation
framework as project scheduling problem
Outline of CCPM
Ref. [6]
f (t )
Curtail (cut) the margin
time of each task
Redistribute (paste) the
curtailed times to critical
ABP
points
(Aggressive But Possible)
• Insert time buffers
50%
t
HP
(Highly Possible)
90%
38
Insertion of Time Buffers
Pre-processing
Curtail the margin times
Identify critical or non-critical
1
2
Feeding buffer
Insert just on the eve of
critical -> non-critical points
• 1/2 of the cumulative weights of
the non-critical chain
3
4
1
2
4
3
P
F
Project buffer
Insert just before the output
• 1/2 of the cumulative weights of the critical chain
Effective for both reducing the lead time and avoid
delay for the due date
39
Thank you for listening!
40
Reference Books
Max-plus algebra
F. Baccelli, G. Cohen, G.J. Olsder, and J.P. Quadrat,
Synchronization and Linearity, John Wiley & Sons, New York,
1992.
• Now out of print: can be downloaded via: http://maxplus.org
B. Heidergott, G.J. Olsder, and L. Woude, Max Plus at Work:
Modeling and Analysis of Synchronized Systems, Princeton
University Press, New Jersey, 2006.
Critical Chain Project Management
P.L. Leach, Critical Chain Project Management, Second Edition,
Artech House, London, 2005.
41
Reference Articles
[1] H. Goto, ''Dual Representation of Event-Varying Max-Plus Linear Systems'',
International Journal of Computational Science, vol. 1, no.3, pp.225-242, 2007.
[2] H. Goto, ''Dual Representation and Its Online Scheduling Method for EventVarying DESs with Capacity Constraints," International Journal of Control,
vol.81, no.4, pp.651-660, 2008.
[3] H. Goto, "A Lightweight Model Predictive Controller for Repetitive Discrete
Event Systems", Asian Journal of Control, vol. 15, no.4, pp.1081-1090, 2013.
[4] H. Goto, "A Fast Computation for the State Vector in a Max-Plus Algebraic
System with an Adjacency Matrix of a Directed Acyclic Graph," Journal of
Control, Measurement, and System Integration, vol.4, no.5, pp.361-364, 2011.
[5] H. Goto and H. Takahashi, "Fast Computation Methods for the Kleene Star in
Max-Plus Linear Systems with a DAG Structure," IEICE Transactions on
Fundamentals, vol.E92-A, no.11, pp.2794-2799, 2009.
[6] H. Goto, N. T. N. TRUC, and H. Takahashi, "Simple Representation of the
Critical Chain Project Management Framework in a Max-Plus Linear Form",
Journal of Control, Measurement, and System Integration, vol.6, no.5, pp.341344, 2013.
42