3.6 Formulations en PLNE pour quelques variantes mono-objectif du problème 3-
3.6.3 Formulations PLNE pour le problème B-C-MCTP
Rappelons que le problèmeB-C-MCTPest une variante mono-objectif du problème
MCT-PSDPP, où le nombre de buffers Z est fixé en entrée. Après plusieurs tentatives pour
sa modélisation, nous avons retenu les deux formulations, que nous appelons,
respective-ment BCMCTP-PLNE1etBCMCTP-PLNE2, présentées dans la suite. Dans ces formulations,
nous choisissons de prendre comme valeur pour le nombre total de préchargements N la
constante X
y∈Y
|R
y|. En outre, nous définissons les ensembles suivants :
— T ={1, . . . , T}, où T est une borne supérieure sur∆: l’intervalle du temps pour effectuer
toutes les étapes de préchargements et celles de calculs. Nous choisissons ici de prendre
comme valeur pourTla constanteα∗ X
y∈Y
|R
y| +β∗Y.
— K ={1, . . . ,α−1}: l’intervalle de temps auquel une tuile d’entrée peut être préchargée.
— S ={1, . . . ,α}: l’intervalle de temps auquel une étape de préchargement d’une tuile
d’en-trée a été effectuée (le préchargement est terminé et la tuile est présente dans le buffer).
— L ={1, . . . ,β−1}: l’intervalle de temps auquel une tuile de sortie peut être calculée.
3.6.3.1 FormulationBCMCTP-PLNE1
La première formulation BCMCTP-PLNE1 que nous proposons ici permet d’encoder les
variables suivantes en se basant sur les dates de début pour les étapes de calcul et celles de
préchargement.
? c
y t:
1 si la tuile de sortiey est en cours de calcul entre les instantst ett+1,∀y∈Y,
∀t∈T
0 sinon
? pxt:
1 si la tuile d’entréex est en cours de préchargement entre les instantst ett+1,
∀x∈X,∀t∈T
? e
xt:
1 si la tuile d’entréexest présente dans un buffer entre les instantst ett+1,
∀x∈X,∀t∈T
0 sinon
? ∆: le temps total de traitement.
La formulationBCMCTP-PLNE1est décrite comme suit :
min∆
S.C
X
y∈Yc
y t≤1 ∀t∈T (3.22)
X
t∈Tc
y t=β ∀y∈Y (3.23)
c
y t−c
y t−1≤c
y t+l∀y∈Y,t∈{2, . . . , T−β}, l∈L (3.24)
X
x∈Xpxt≤1 ∀t∈T (3.25)
p
xt−p
xt−1≤p
xt+k∀x∈X,t∈{α+1, . . . , T−β}, k∈K (3.26)
e
xt−e
xt−1≤p
xt−s∀x∈X,t∈{α+1, . . . , T}, s∈S (3.27)
X
x∈X(e
xt+p
xt)≤Z ∀t∈T (3.28)
cy t ≤e
xt∀y∈Y,t∈T, x∈R
y(3.29)
e
xt=0 ∀x∈X, t∈S (3.30)
t∗c
y t≤∆ ∀y∈Y, t∈T (3.31)
c
y t∈{0, 1} ∀y∈Y, t∈T (3.32)
p
xt,e
xt∈{0, 1} ∀x∈X, t∈T (3.33)
Dans cette formulation, la fonction objectif est de minimiser le temps total de traitement∆,
tandis que les contraintes suivantes (3.22) — (3.33) sont satisfaites.
— La contrainte (3.22) signifie que pour chaque instantt, il existe au plus une tuile de sortie
y qui sera calculée à cet instant.
— Les contraintes (3.23) — (3.24) garantissent que pour chaque tuile de sortie y et pour
chaque instantt, il existe un intervalle de temps, allant det àt+β−1, auquel la tuile y
est calculée.
— La contrainte (3.25) signifie que pour chaque instantt, il existe au plus une tuile d’entrée
xqui sera pré-chargée à cet instant.
— La contrainte (3.26) signifie que pour chaque tuile d’entrée x et pour chaque instantt, il
existe un intervalle de temps, allant det àt+α−1, auquel la tuilexest pré-chargée.
— La contrainte (3.27) garantit que pour chaque instantt, s’il existe une tuile d’entréexqui
est présente à l’instant t mais pas à l’instantt−1, alors il existe un instant t−s auquel
cette tuile d’entréex a été pré-chargée.
Autrement dit, on a :∀x∈X,∀t∈{α, . . . , T},∀s∈{1, . . . ,α},e
xt=1 &e
xt−1=0 ⇒ p
xt−k=
1.
— La contrainte (3.28) garantit que le nombre de buffers n’est jamais dépassé.
— La contrainte (3.29) signifie que la tuile de sortie y peut être calculée à l’instant t si et
seulement si toutes ses tuiles d’entrée requisesx,∀x∈R
ysont présentes dans les buffers.
— La contrainte (3.30) garantit qu’aucune tuile d’entrée x n’existe dans le buffer à
l’ins-tantt=0.
— La contrainte (3.31) assure que le temps total de traitement∆est égal à la date de fin du
dernier calcul dans la séquence des calculs.
Le temps total de traitement ∆ peut être exprimé en introduisant la variable de décision
{0−1} suivante :
? δ
t:
1 si le traitement (toutes les étapes de calcul et celles de préchargements) n’est
pas encore fini
0 sinon (fini)
Dans ce cas, nous modifions légèrement la formulation BCMCTP-PLNE1, où la fonction
objectif sera définie par
min X
t∈T
δ
tet la contrainte (3.31) peut être réécrite en utilisant les deux inégalités (3.34) et (3.35) suivantes :
X
y∈Y
c
y t≤δ
t∀t∈T (3.34)
δ
t−1≥δ
t∀t∈{2, . . . , T} (3.35)
3.6.3.2 FormulationBCMCTP-PLNE2
Nous décrivons maintenant la deuxième formulationBCMCTP-PLNE2pour le problème
B-C-MCTP. À l’inverse de la formulation précédente, nous choisissons ici d’encoder les variables
de décision {0−1} suivantes en se basant sur les dates de fin pour les étapes de calcul et celles
de préchargement.
? f
y t:
½
1 si le calcul de la tuile de sortiey finit à l’instantt,∀y∈Y,∀t∈T
0 sinon
? q
xt:
½
1 si le préchargement de la tuile d’entréexfinit à l’instantt,∀x∈X,∀t∈T
0 sinon
? e
xt:
½
1 si la tuile d’entréexest présente dans un buffer à l’instantt,∀x∈X,∀t∈T
0 sinon
? δ
t:
½
1 si le traitement (calculs et préchargements) n’est pas encore fini
0 sinon (fini),∀t∈T
La formulationBCMCTP-PLNE2est décrite comme suit :
min X
S.C
X
t∈Tf
y t=1 ∀y∈Y (3.36)
tX
s=t−α+1X
x∈Xq
xs≤1 ∀t∈{α, . . . , T} (3.37)
e
xt−e
xt−1≤q
xt−1∀x∈X, t∈{α+1, . . . , T} (3.38)
X
x∈Xe
xt+ X
x∈X t+α−1X
s=tq
xs≤Z ∀t∈{1, . . . , T−α} (3.39)
f
y t≤e
xs∀y∈Y,t∈{β, . . . , T},x∈R
y, s∈{t−β+1, . . . ,t} (3.40)
e
xs=0 ∀x∈X, s∈S (3.41)
f
y s=0 ∀y∈Y, s∈{1, . . . ,α∗ |R
y| +β−1} (3.42)
tX
s=t−β+1X
y∈Yf
y s≤δ
t∀t∈{β, . . . , T} (3.43)
δ
t−1≥δ
t∀t∈{2, . . . , T} (3.44)
f
y t∈{0, 1} ∀y∈Y,t∈T (3.45)
q
xt,e
xt∈{0, 1} ∀x∈X, t∈T (3.46)
δ
t∈{0, 1} ∀t∈T (3.47)
Dans cette formulation, la fonction objectif est de minimiser le temps total de traitement∆,
tandis que les contraintes suivantes (3.36) — (3.47) sont satisfaites.
— La contrainte (3.36) garantit que pour chaque tuile de sortie y, il existe un instanttauquel
cette tuile est calculée.
— La contrainte (3.37) signifie que pour chaque instantt, il existe au plus un préchargement
d’une tuile d’entrée qui sera fini à cet instant.
— La contrainte (3.38) garantit que pour chaque instantt, s’il existe une tuile d’entréexqui
est présente à l’instantt mais pas à l’instantt−1, alors il existe un instantt−1auquel le
préchargement de cette tuile d’entréexa été fini.
Autrement dit, on a :∀x∈X,t∈{α+1, . . . , T},e
xt=1 &ext
−1=0 ⇒ qxt
−1=1.
— La contrainte (3.39) garantit que le nombre de buffers n’est jamais dépassé.
— La contrainte (3.40) signifie que le calcul de la tuile de sortie y sera fini à l’instant t si
toutes ses tuiles d’entréex, pourxdansR
y, sont présentes dans les buffers à l’instants.
Autrement dit, on a :∀y∈Y,t∈{β, . . . , T},x∈R
y, s∈{t−β+1, . . . ,t}, f
y t=1 ⇒ e
xs=1.
— Les contraintes (3.41) — (3.42) sont deux contraintes d’initialisation, où la (3.41) garantit
qu’aucune tuile d’entréex n’existe dans le buffer à l’instants et (3.42) garantit qu’aucun
calcul d’une tuile de sortie y n’est fini à l’instants.
— Les contraintes (3.43) — (3.44) assure que le temps total de traitement∆est égal à la date
de fin du traitement.
Remarque 3.7. La contrainte (3.40) peut être réécrite comme suit :
β∗ |R
y| ∗f
y t≤ X
x∈Ry tX
s=t−β+1exs ∀y∈Y, t∈{β, . . . , T} (3.48)
Cette contrainte garantit que pour chaque tuile de sortiey et pour chaque instantt, si le calcul
de la tuile de sortie y finit à l’instant t, alors il existe un intervalle du temps {t−β+1, . . . ,t}
auquel toutes les tuiles requises par y (données par l’ensembleR
y) sont préchargées,
c’est-à-dire la sommesum
st=t−β+1exs doit être supérieure ou égale au temps nécessaire pour une étape
de calcul (β) multiplié par le nombre de tuiles requise par la tuile y.
Par exemple, pour une instance quelconque avec Y = 10 tuiles de sortie à calculer et
X = 9 tuiles d’entrée à précharger, l’inégalité (3.40) compte 8795 contraintes alors que la
(3.41) compte 2174 contraintes. On peut alors dire que cette inégalité permet de réduire le
nombre des contraintes qui a un impact significatif sur la performance de résolution.
Remarque 3.8. Le nombre de buffersZétant fixé comme une donnée d’entrée dans le contexte
de deux variantesPSPetB-C-MCTP, les formulationsBCMCTP-PLNE1etBCMCTP-PLNE2,
peuvent être réutilisées comme deux formulations pour la variante PSP en introduisant une
nouvelle fonction objectif définie par :
X
t∈TX
x∈Xq
xt,ou en utilisantX
t∈TX
x∈Xp
xt(3.49)
Ces deux expressions comptent le nombre de total de préchargementsN.
3.7 Conclusion
Comme nous l’avons vu tout au long de ce chapitre, le problème liée à l’optimisation du
fonctionnement de MMOpt est un problème multi-objectif 3-PSDPP dont les trois critères à
optimiser sont : le coût (surface du circuit produit), la consommation d’énergie et le temps
(per-formance duTPU). Nous avons d’abord décrit d’une manière informelle ce problème. Ensuite,
un modèle mathématique, décomposé en données d’entrées, variables à déterminer, contraintes
à respecter et objectifs à minimiser, a été proposé. Cette phase de modélisation est fondamentale
dans le processus de laRO, dans la mesure où elle conditionne les étapes suivantes. Enfin, une
liste de variantes mono- et bi- objectif a été présentée et trois formulations par laPLNE, pour
certaines entre elles, ont été introduites.
État de l’Art et Analyse des Modèles
Sommaire
4.1 Introduction . . . . 62
Dans le document
Optimisation du fonctionnement d'un générateur de hiérarchies mémoires pour les systèmes de vision embarquée
(Page 74-79)