Le semianneau max-plus, parfois appelé ``algèbre
max-plus'', et noté
Rmax, est
l'ensemble
R
{ -
}, muni des lois
max et +.
Traditionnellement, on note
au lieu de max (
2
3 =
3), et
au lieu de +
(1
1 =
2). L'élément zéro, c'est-à-dire le neutre pour la loi
, est noté
(ici
= -
). L'unité, c'est-à-dire le
neutre pour la loi
, est notée e (ici e =
0). Les axiomes de structure des semianneaux
sont ici satisfaits :
est associative, commutative, a un zéro,
est
associative, a une unité, distribue par rapport à
, et zéro
est absorbant. Le semianneau max-plus est très particulier :
il est commutatif
(a
b = b
a), idempotent
(a
a = a), et les éléments ont un inverse,
hormis zéro (on nomme semicorps les semianneaux qui
satisfont cette dernière propriété).
|
Rmax |
(R { - },
max, +) |
semianneau
(max, +) |
semicorps idempotent |
 |
(R { }, max, +) |
semianneau (max,
+)
complété |
- + (+ ) = - ,
car
a =  |
|
Rmax,
x |
(R+, max,
x ) |
semianneau
(max, x ) |
isomorphe à
Rmax (
x log x) |
|
Rmin |
(R { + },
min, +) |
semianneau
(min, +) |
isomorphe à
Rmax (
x - x) |
|
Nmin |
(N { + },
min, +) |
semianneau tropical |
fameux en théorie des langages |
|
Rmax,
min |
(R { }, max, min) |
algèbre goulot, ou floue |
n'est pas un semicorps. |
|
B |
({ false, true}, or,
and) |
semianneau de Boole |
isomorphe à
({ , e}, ,
),
pour n'importe lequel
des semianneaux ci-dessus |
|
Rh |
(R { - },
, +)
a b =
hlog(ea/h +
eb/h) |
semianneaux ``de Maslov'' |
déformation de
(R+, + ,
x )
Rh =
R0 =
Rmax |
Certains systèmes à événements discrets (les graphes
d'événements) se modélisent par des systèmes dynamiques sur
le semianneau max-plus. Considérons par exemple un système
comprenant n tâches
répétitives (on peut penser à des assemblages dans un
atelier, à des rendez-vous dans un réseau). L'instant de
démarrage d'une tâche est conditionné par l'exécution
d'autres tâches devant être effectuées antérieurement.
Supposons que la k-ième
occurrence de la tâche i
(tir de la transition i) ne puisse commencer que
unités de temps après que la
dernière des occurences
(k -
) des tâches j n'ait eu lieu. Alors, clairement,
les dates au plus tôt d'occurrence des k-ième tâches sont données par la
récurrence
qui n'est autre qu'un système linéaire stationnaire
sur le semianneau max-plus. On peut l'écrire en termes
matriciels
où

est un ensemble fini, et
{A
}

une famille de
matrices que l'on écrira aisément.
On a obtenu un modèle linéaire pour l'évaluation de
performance d'un système dans lequel les préconditions
d'une tâche sont fixées a priori et invariantes en temps.
En termes de système de production cela signifie à peu près
qu'un ordonnancement périodique a été défini.
L'algèbre max-plus permet d'analyser complètement cette
classe de systèmes. Un des résultats intéressants obtenus
consiste à remarquer que la relation : instants d'entrée
-instants de sortie des pièces, est max-plus linéaire et
shift invariante. C'est une inf-convolution de la suite des
instants d'entrée et d'une suite caractéristique du système
(sa réponse impulsionnelle au sens max-plus). On a donc une
bonne notion de fonction de transfert. Ce sont les séries
formelles rationnelles
(si le graphe
d'événement n'a qu'un nombre fini de transitions) à
coefficients dans l'algèbre max-plus. Ces résultats ont été
largement expliqués dans [4,2,7].
Cette classe est trop restreinte (dans la majorité des
applications, trouver un bon ordonnancement fait partie du
problème). Elle peut être élargie au prix de la perte de la
linéarité max-plus.
La modélisation de réseaux de Petri temporisés généraux
ne peut pas se faire dans le semianneau
Rmax ou
Rmin, la
multiplication est indispensable.
On note
l'ensemble des places,
l'ensemble des transitions,
M les multiplicités des
arcs, m le marquage
initial,
les temps de séjour. À chaque place
p
on associe un
compteur
Zp : R
Z,
(Zp(t)
est le numéro du dernier jeton entré avant l'instant
t, en incluant les jetons
du marquage initial) ; de même, pour chaque transition
q
, Zq(t) note le numéro
du dernier tir de q arrivé
avant l'instant t. Ces
fonctions sont croissantes, par définition. On a les bilans
suivants (on note
xin et
xout les
ensembles des prédecesseurs et successeurs d'un noeud
x, respectivement):
Zp(t) = mp
+ MpqZq(t)
, |
(3) |
Zp(t - ) Mq'pZq'(t)
. |
(4) |
Par exemple, pour le réseau de Petri de la
Figure
1,
Zq3(t) +
2Zq2(t)
Zp2(t -
)traduit le fait
qu'un jeton en
p2peut contribuer au tir
d'une transition
q3, et qu'il en faut deux
pour tirer
q2.
Figure 1: Un réseau de Petri
temporisé
|
|
Dans un fonctionnement au plus tôt, au moins une
inégalité de type (4) est saturée (i.e. au
moins une place est indisponible) en amont de chaque
transition. On a donc:
q ,  mp
+ Mpq''Zq''(t)
- Zq'(t)Mq'p
= 0 . |
(5) |
Ce problème posé dans [
Lib97] est un système dynamique
(min, + , x )implicite sur lequel on
ne sait à peu près rien dire. Résoudre ce genre de
problème, même dans le cas statique, revient à étudier les
variétés algébriques max-plus. La programmation linéaire
devrait être d'une aide précieuse pour la résolution de ces
systèmes.
On peut néanmoins simplifier ce problème en forçant des
routages stationnaires : on notera alors
la
proportion de fluide (cas où on ne se préoccupe pas de
l'intégrité des jetons) routé vers q par la place p, avec

= 1. En posant,
l'évolution du système devient cette fois :
Zq(t) =    mp +
 Zq''(t
- ) . |
(6) |
On reconnait une équation de la programmation
dynamique, pour un processus de décision semi-Markovien,
avec coût additif actualisé général. On peut alors calculer
l'asymptotique de
Zpar des
algorithmes du type itération sur les politiques [
CGJ95].
La modélisation de systèmes à événements discrets plus
généraux peut se faire en remplaçant (1), (6) par des
dynamiques
f : Rn
Rn qui satisfont les trois axiomes
:
|
Homogénéité |
f
( +
x) |
= |
+ f
(x) |
(H) |
|
Monotonie |
x
y |
 |
f
(x) f (y) |
(M) |
|
Non-expansivité |
| f
(x) - f (y)| |
 |
| x
- y| , |
(N) |
pour tout
R,
x, y
Rn, avec
+ x
(
+ x1,...,
+ xn), et où

désigne l'ordre partiel usuel sur
Rn.
Sous l'hypothèse H, on sait que les propriétés M et N
sont équivalentes. Gunawardena et Keane ont proposé
d'appeler ``topicales'' les applications qui vérifient ces
trois propriétés dont l'importance est bien connue
[R.D90,CT80].
On peut dire que H, N sont le minimum vital pour faire
une théorie de Perron-Frobenius, la propriété H donne du
sens au problème spectral
f (x) =
+ x, la propriété N garantit
que la limite
(f
)=
fk(x)/k,
lorsqu'elle existe, est indépendante du point de départ
x
Rn.
On essaie donc dans ce cadre de généraliser la théorie
de Perron-Frobenius, et de comprendre géométriquement les
asymptotiques des itérées de f (qui donnent par exemple, les
performances asymptotiques de systèmes à événements
discrets : ateliers, circuits digitaux; la quantité
(f
) donne alors l'inverse du taux de production, ou le
temps de cycle).
Un système à ressources partagées peut être vu comme un
empilement de tâches (représentées par les contraintes
temporelles imposées sur les ressources par ces tâches) du
type jeu de Tetris.
Dans l'espace temps-ressource
R x
avec
= {1,..., n}. Une tâche a est une classe d'équivalence de
formes géométriques (deux formes sont équivalentes si elles
sont superposables par une translation temporelle). D'un
point de vue physique, une tâche mobilise des ressources de
façon synchronisée. Elle peut être retardée ou avancée. La
tâche a utilise les
ressources R(a).
Une tâche en position
immobilise la ressource r à la date
dr(a) +
et la libère à la date
fr(a) +
.
d (a), f (a)
: R(a)
R sont donnés.
Un travail w est un
ensemble ordonné de tâches à accomplir
w = a1
... ak. On peut alors
vouloir calculer les instants de libération des ressources
au plus tôt x(w)
pour un travail w donné,
sachant que les ressources étaient disponibles au départ
aux instants g (
g :
R). Cela correspond au calcul du profil haut
d'un empilement de pièces si l'on donne une interprétation
spatiale à l'axe temporel. Le vecteur g est alors le profil du sol.
L'exécution au plus tôt des différentes tâches d'un travail
w revient à laisser tomber
les pièces
a1,...,
ak sur le sol g, comme dans le jeu de tétris. Ce
profil haut se calcule récursivement par la programmation
dynamique.
 |
(7) |
Figure 2: Un jeu de Tetris à trois
types de pièces et quatre ressources
 |
|
R(c) =
{2, 4},
d (c)
= [ . , 0, . ,
0],
f (c)
= [ . , 2, . ,
2] |
|
|
R(b) = {1,
2},
d (b) = [0,
0, . , . ],
f (b) = [2,
2, . , . ] |
|
|
R(a) = {1,
2, 3},
d (a) = [0,
0, 0, . ],
f (a) = [1,
1, 3, . ] |
|
|
En termes algébriques, à chaque pièce
aprise dans un ensemble de pièces

, on associe la matrice
M(a)
(Rmax)
x
M(a)r, s = f
(a)s - d
(a)rsi
r, s
R(a), et
M(a)r, r =
epour les coefficients diagonaux hors
R(a)(les autres
coefficients valent

). On a :
x(w) =
gM(a1)...M(ak),
y(w) =
x(w)e , |
(8) |
où
e
désigne un
vecteur de zéro et donc
y(w)représente la date de fin
du travail (la hauteur du tas).
Autrement dit, la série génératrice
y(w)w
Rmax



est reconnue par un automate
à coefficients dans le semianneau max-plus. D'après le
théorème de Kleene-Schützenberger, c'est une série
rationnelle.
Les classiques problèmes d'ordonancement reviennent
alors à minimiser la vitesse de croissance du tas par
rapport à l'ordre des lettres dans le mot w. Ils se ramènent à l'étude des
semigroupes de matrices à plusieurs générateurs
M(a1),
... , M(ak). Ce
travail est présenté dans [24].
La solution du système
x(
k) =
Ax(
k - 1)
Bu(
k) ,
y(
k) =
Cx(
k) ,
où
x(- 1) = - 
, est donnée par :
y(
k) =
CAk -
lBu(
l ) .
Dans un atelier,
y(k)s'interprète comme la date
d'obtention de la
k-ième
pièce (on suppose, afin d'alléger la notation, que le
système a une seule entrée
u(k)
Ret une seule sortie
y(k)
R).
Les problème de suivi de trajectoire consiste à
rechercher u tel que
y(k)
(k)
, pour
k = 0, 1,... (
représente un carnet
de commandes à suivre).
Le problème d'atteignabilité en horizon k consiste à rechercher u tel que
x(k)
(
est un vecteur des dates de disponibilité des
``ressources'' internes, machines, palettes, personnel,
etc.).
Ces deux problèmes sont de la forme Fu
v,
ou F est un opérateur
linéaire. E.g., dans le deuxième cas,
Fu =
kuk,
où
k = [B, AB,...,
AkB] et
uk =
[u(k),..., u(0)]T.
Il n'est pas en général possible de résoudre exactement
Fu = v pour toute
valeur de v, car
génériquement, un opérateur linéaire (max, +) n'est ni surjectif ni injectif.
Cependant, il est facile de voir que Fu
v a
toujours une solution maximale,
F\v, donnée en
termes matriciels par
(
F\
v)
i =

(-
Fji +
v) .
(il s'agit d'un cas particulier de
résiduation [
BJ72], [
2]). On peut ainsi calculer la
solution au plus tard satisfaisant le carnet de commande,
où l'état atteignable maximal en dessous de

. En outre, on sait
tester l'atteignabilité exacte de

en temps
k: il suffit de vérifier que l'égalité
k(
k\
) =

est vraie.
La version la plus achevée de ces problèmes
d'atteignabilité dans le cas classique a été donnée dans
[W.M79]. Elle est basée sur une discussion
des espaces invariants d'un opérateur linéaire. L'extension
de cette théorie au cas max-plus passe par une meilleure
compréhension des semi-modules (analogue sur un semianneau
des espaces vectoriels). Même lorsque les semimodules sont
finiment engendrés, très peu de choses sont connues.
Plusieurs notions d'indépendance existent, conduisant,
chacunes, à des notions, distinctes, de rang. De plus un
sous semimodule n'a pas toujours de supplémentaire. Ces
difficultés sont répertoriées dans la théorie des modules.
Cependant, une nouvelle difficulté surgit ici : l'analogue
d'un noyau doit être posé dans un espace double
ker C = {(x,
y) | Cx = Cy}. En effet, dans
cette structure tous les termes d'une équation ne peuvent
pas être ramenés dans un même membre, puisque, en général,
un élément n'a pas d'opposé. Par contre, la résiduation
donne des résultats intéressants que nous sommes en train
d'explorer [CGJ97].
Dans de nombreux domaines (grandes déviations en
probabilité, entropie en mécanique statistique et théorie
de l'information, dualité filtrage-commande en commande,
maximum de vraisemblance en statistique, passage de la
mécanique quantique à la mécanique classique, méthode de
Hopf pour la résolution explicite d'équations d'Hamilton
Jacobi etc.) une dualité entre le calcul des probabilités
et l'optimisation est utilisée implicitement.
Dans un certain nombre de travaux relativement récents,
cette dualité a été explicitée par divers groupes
indépendamment [Mas87,Pap95,dTRS90,Qua90,AQV94]. On dispose maintenant d'une
théorie trés satisfaisante [18].
Cette dualité, a pour intérêt, en dehors de son caractère
esthétique et unifiant, de faire ressortir les dissymétries
existantes dans le développement des deux domaines. Le
calcul des probabilités contient beaucoup de résultats
analytiques et conceptuels. L'optimisation est beaucoup
plus développée au niveau algorithmique.
Un problème d'optimisation est souvent présenté comme le
calcul de
c(
x)
,
pour des
cet des
Asuffisamment simples pour
qu'il existe un
xoptimal
calculable algorithmiquement. Des notions importantes sont
apparues, comme la dualité, surtout pour des raisons
algorithmiques.
Dans le calcul des probabilités on s'intéresse au calcul
de la probabilité d'événements, c.a.d.
p(
x)
dx
pour des
Aet
ppouvant être trés
compliqués. On appelle
P(A)le résultat et on fait la
théorie des applications
A
P(A). On
fait apparaître toutes sortes de notions intéressantes :
moyenne, variance, fonction caractéristique, etc. On fait
aussi des calculs, mais surtout, dans des cas où il est
possible d'obtenir des résultats explicites.
Il suffit d'appeler
C(A)
c(x) pour
être dans une situation complètement analogue au calcul des
probabilités au remplacement de l'algèbre ordinaire par
Rmin près.
Pratiquement tous les concepts des probabilités ont une
notion duale, utile en optimisation. Citons en trois. Le
dual de la loi Gaussienne
m,
est la forme
quadratique
Le dual de la transformée de Laplace est la
transformée de Fenchel. Le dual de la convolution des lois
est l'inf-convolution des coûts.
A l'opposé, aucun algorithme sérieux n'est donné, pour
calculer la probabilité d'un événement un peu compliqué de
Rn, exceptée la
méthode de Monte-Carlo.
Il existe un moyen systématique de transférer les
résultats du calcul des probabilités. C'est l'utilisation
de la transformée de Cramer
définie par
où

désigne la transformée de Laplace,

la transformée de Fenchel. On a
par exemple :
La transformée de Cramer a de nombreuses propriétés.
Par exemple, elle transforme les convolutions de mesures en
inf-convolutions de coûts convexes. Ses propriétes de
continuité pour des topologies adéquates ont été étudiées
dans [
Aki96]. Elles permettent dans des cas assez
restreints (loi log concave) le transfert immédiat des
théorèmes asymptotiques du calcul de probabilités à des
théorèmes analogues en optimisation.
On pourra consulter les pages web
pour obtenir des informations supplémentaires ou des
publications complètes dans ce domaine.
Tableau 1: La famille des semianneaux
(max, +) et tropicaux