• Aucun résultat trouvé

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∈Y

c

y t

≤1 ∀t∈T (3.22)

X

t∈T

c

y t

=β ∀y∈Y (3.23)

c

y t

c

y t1

c

y t+l

y∈Y,t∈{2, . . . , T−β}, l∈L (3.24)

X

x∈X

pxt≤1 ∀t∈T (3.25)

p

xt

p

xt1

p

xt+k

x∈X,t∈{α+1, . . . , T−β}, k∈K (3.26)

e

xt

e

xt1

p

xts

x∈X,t∈{α+1, . . . , T}, s∈S (3.27)

X

x∈X

(e

xt

+p

xt

)≤Z ∀t∈T (3.28)

cy te

xt

y∈Y,t∈T, x∈R

y

(3.29)

e

xt

=0 ∀x∈X, t∈S (3.30)

tc

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 ts 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

xtk

=

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

y

sont 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

δ

t

et 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∈T

f

y t

=1 ∀y∈Y (3.36)

t

X

s=t−α+1

X

x∈X

q

xs

≤1 ∀t∈{α, . . . , T} (3.37)

e

xt

e

xt1

q

xt1

x∈X, t∈{α+1, . . . , T} (3.38)

X

x∈X

e

xt

+ X

x∈X t+α−1

X

s=t

q

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)

t

X

s=t−β+1

X

y∈Y

f

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 t

X

s=t−β+1

exsy∈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β+1

exs 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∈T

X

x∈X

q

xt

,ou en utilisantX

t∈T

X

x∈X

p

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

Documents relatifs