• Aucun résultat trouvé

PROGRAMMATION DYNAMIQUE

N/A
N/A
Protected

Academic year: 2022

Partager "PROGRAMMATION DYNAMIQUE"

Copied!
64
0
0

Texte intégral

(1)

INTRODUCTION À L’ALGORITHMIQUE  

-  

PROGRAMMATION DYNAMIQUE

Lélia Blin Université d’Evry

Chargée de cours: Lélia Blin

Transparents:http://www-npa.lip6.fr/~blin/Enseignements.html Email: [email protected]

1

(2)

PROGRAMMATION DYNAMIQUE

La programmation dynamique:

comme la méthode diviser-pour-régner, Résout des problèmes

En combinant des solutions de sous-problèmes.

Lélia Blin Université d’Evry 2

(3)

PROGRAMMATION DYNAMIQUE

Les algorithmes diviser-pour-régner

partitionnent le problème en sous-problèmes indépendants

qu’ils résolvent récursivement, puis combinent leurs solutions pour résoudre le problème initial.

Lélia Blin Université d’Evry 3

(4)

PROGRAMMATION DYNAMIQUE

La programmation dynamique s’appliquer même lorsque:

Les sous-problèmes ne sont pas indépendants, Autrement dit:

Des sous-problèmes ont des sous-sous-problèmes communs.

Lélia Blin Université d’Evry 4

(5)

PROGRAMMATION DYNAMIQUE

Un algorithme diviser-pour-régner fait plus de travail que nécessaire,

en résolvant plusieurs fois le sous-sous-problème commun.

Un algorithme de programmation dynamique résout chaque sous-sous-problème une seule fois

et mémorise sa réponse dans un tableau,

évitant ainsi le recalcul de la solution chaque fois que le sous- sous-problème est rencontré.

Lélia Blin Université d’Evry 5

(6)

PROBLÈME D’OPTIMISATION

La programmation dynamique est:

en général, appliquée aux problèmes d’optimisation.

Dans ce type de problèmes:

il peut y avoir de nombreuses solutions possibles.

Chaque solution a une valeur, et on souhaite trouver une solution ayant la valeur optimale

Autrement dit: minimale ou maximale.

Lélia Blin Université d’Evry 6

(7)

PROBLÈME D’OPTIMISATION

Chaque solution a une valeur, et on souhaite trouver une solution ayant la valeur optimale

Une telle solution est une solution optimale au problème,

et non pas la solution optimale,

puisqu’il peut y avoir plusieurs solutions qui donnent la valeur optimale.

Lélia Blin Université d’Evry 7

(8)

ETAPES DE CONSTRUCTION

Le développement d’un algorithme de programmation dynamique peut être découpé en quatre étapes.

Caractériser la structure d’une solution optimale.

Définir récursivement la valeur d’une solution optimale.

Calculer la valeur d’une solution optimale de manière ascendante (bottom-up).

Construire une solution optimale à partir des informations calculées.

8

(9)

PLAN DU COURS

Ordonnancement de chaînes de montage Multiplication de matrices

Plus longue sous-séquence commune

9

(10)

ORDONNANCEMENT DE CHAÎNES DE MONTAGE

Lélia Blin Université d’Evry 10

(11)

PROBLÈME DE FABRICATION

Une firme produit des automobiles dans un atelier qui a deux chaînes de montage

15.1 Ordonnancement de chaînes de montage 317

chaîne 2 a1,1

e1 entrée

des chassis

e2

a2,1

a1,2

a2,2 t1,1

t2,1

t1,2 t2,2

a1,3

a2,3 t1,3 t2,3

a1,4

a2,4

t1,n–1 t2,n–1

a1,n

a2,n a1,n–1

a2,n–1

x1

x2

sortie des

autos

chaîne 1

poste S1,1

poste S2,1

poste S1,2

poste S2,2

poste S1,3

poste S2,3

poste S1,4

poste S2,4

poste S1,n–1

poste S2,n–1

poste S1,n

poste S2,n

Figure 15.1 Problème de fabrication pour déterminer le chemin optimal dans une usine. Il y a deux chaînes de montage, ayant chacune n postes ; le jème poste de la chaîne i est notéSi,j et le temps de montage à ce poste est ai,j. Un châssis entre dans l’atelier, puis va sur la chaîne i (avec i = 1 ou 2) en mettant un tempsei. Après être passé par le jème poste d’une chaîne, le châssis va sur le(j+1)ème poste de l’une ou l’autre chaîne. Il n’y a pas de coût de transfert si l’auto reste sur la même chaîne, mais il faut un temps ti,j pour passer sur l’autre chaîne après le poste Si,j. Après avoir quitté le nème poste d’une chaîne, l’auto achevée met un temps xi pour sortir de l’atelier.

Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier.

par les n postes dans l’ordre, mais le chef d’atelier peut faire passer une auto par- tiellement construite d’une chaîne à l’autre, et ce après chaque poste. Le temps de transfert d’un châssis depuis la chaîne i et après le poste Si,j est ti,j, avec i = 1,2 et j = 1,2, . . . ,n − 1 (car, après le nème poste, c’est fini). Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier. Sur l’exemple de la figure 15.2(a), le délai optimal est obtenu via sélection des postes 1, 3 et 6 de la chaîne 1 et des postes 2, 4 et 5 de la chaîne 2.

La solution évidente et « primaire », pour minimiser le délai de circulation à travers l’atelier, est irréaliste quand il y beaucoup de postes. Connaissant la liste des postes à utiliser sur la chaîne 1 et des postes à utiliser sur la chaîne 2, il est facile de calculer en temps Q(n) le délai de transit d’un châssis à travers l’atelier. Malheureusement, il y a 2n façons possibles de choisir les postes ; on peut le voir en considérant l’ensemble des postes utilisés sur la chaîne 1 comme un sous-ensemble de {1,2, . . . ,n} et en remarquant qu’il y a 2n tels sous-ensembles. Par conséquent, déterminer le chemin le plus rapide en énumérant tous les chemins possibles puis en calculant la durée de chacun, c’est une solution qui prend un temps V(2n), ce qui est irréaliste quand n est grand.

a) Étape 1 : structure du chemin optimal à travers l’atelier

La première étape du paradigne de la programmation dynamique est de caractériser la structure d’une solution optimale. Pour le problème de l’ordonnancement de chaîne de montage, voici comment on peut procéder à cette étape. Considérons le chemin

cDunodLaphotocopienonautoriséeestundélit

11

(12)

ORDONNANCEMENT DE CHAÎNES DE MONTAGE

Un châssis arrive sur chaque chaîne,

puis passe par un certain nombre de postes où on lui ajoute des pièces ;

une fois terminée,

l’auto sort par l’autre extrémité de la chaîne.

12

(13)

ORDONNANCEMENT DE CHAÎNES DE MONTAGE

Chaque chaîne de montage a n stations, numérotées j = 1,2,...,n.

On représente le jème poste de la chaîne i par S i,j . Avec i égale 1 ou 2

Le jème poste de la chaîne 1 (S 1,j ) fait le même travail que

le jème poste de la chaîne 2 (S 2,j ).

13

(14)

ORDONNANCEMENT DE CHAÎNES DE MONTAGE

Les postes ont été installés à des époques différentes et avec des technologies différentes ;

Ainsi, le temps de montage varie d’un poste à l’autre,

Même quand il s’agit de postes fonctionnement identiques Mais situés sur des chaînes différentes.

14

(15)

ORDONNANCEMENT DE CHAÎNES DE MONTAGE

Le temps de montage au poste S i,j est a i,j .

15.1 Ordonnancement de chaînes de montage 317

chaîne 2 a1,1

e1 entrée

des chassis

e2

a2,1

a1,2

a2,2 t1,1

t2,1

t1,2 t2,2

a1,3

a2,3 t1,3 t2,3

a1,4

a2,4

t1,n–1 t2,n–1

a1,n

a2,n a1,n–1

a2,n–1

x1

x2

sortie des

autos

chaîne 1

poste S1,1

poste S2,1

poste S1,2

poste S2,2

poste S1,3

poste S2,3

poste S1,4

poste S2,4

poste S1,n–1

poste S2,n–1

poste S1,n

poste S2,n

Figure 15.1 Problème de fabrication pour déterminer le chemin optimal dans une usine. Il y a deux chaînes de montage, ayant chacune n postes ; le jème poste de la chaîne i est noté Si,j et le temps de montage à ce poste est ai,j. Un châssis entre dans l’atelier, puis va sur la chaîne i (avec i = 1 ou 2) en mettant un temps ei. Après être passé par le jème poste d’une chaîne, le châssis va sur le (j+1)ème poste de l’une ou l’autre chaîne. Il n’y a pas de coût de transfert si l’auto reste sur la même chaîne, mais il faut un temps ti,j pour passer sur l’autre chaîne après le poste Si,j. Après avoir quitté le nème poste d’une chaîne, l’auto achevée met un temps xi pour sortir de l’atelier.

Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier.

par les n postes dans l’ordre, mais le chef d’atelier peut faire passer une auto par- tiellement construite d’une chaîne à l’autre, et ce après chaque poste. Le temps de transfert d’un châssis depuis la chaîne i et après le poste Si,j est ti,j, avec i = 1,2 et j = 1,2, . . . ,n − 1 (car, après le nème poste, c’est fini). Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier. Sur l’exemple de la figure 15.2(a), le délai optimal est obtenu via sélection des postes 1, 3 et 6 de la chaîne 1 et des postes 2, 4 et 5 de la chaîne 2.

La solution évidente et « primaire », pour minimiser le délai de circulation à travers l’atelier, est irréaliste quand il y beaucoup de postes. Connaissant la liste des postes à utiliser sur la chaîne 1 et des postes à utiliser sur la chaîne 2, il est facile de calculer en temps Q(n) le délai de transit d’un châssis à travers l’atelier. Malheureusement, il y a 2n façons possibles de choisir les postes ; on peut le voir en considérant l’ensemble des postes utilisés sur la chaîne 1 comme un sous-ensemble de {1,2, . . . ,n} et en remarquant qu’il y a 2n tels sous-ensembles. Par conséquent, déterminer le chemin le plus rapide en énumérant tous les chemins possibles puis en calculant la durée de chacun, c’est une solution qui prend un temps V(2n), ce qui est irréaliste quand n est grand.

a) Étape 1 : structure du chemin optimal à travers l’atelier

La première étape du paradigne de la programmation dynamique est de caractériser la structure d’une solution optimale. Pour le problème de l’ordonnancement de chaîne de montage, voici comment on peut procéder à cette étape. Considérons le chemin

cDunodLaphotocopienonautoriséeestundélit

15

(16)

ORDONNANCEMENT DE CHAÎNES DE MONTAGE

Un châssis arrive au poste 1 de l’une des chaînes, puis passe de poste en poste.

15.1 Ordonnancement de chaînes de montage 317

chaîne 2 a1,1

e1 entrée

des chassis

e2

a2,1

a1,2

a2,2 t1,1

t2,1

t1,2 t2,2

a1,3

a2,3 t1,3 t2,3

a1,4

a2,4

t1,n–1 t2,n–1

a1,n

a2,n a1,n–1

a2,n–1

x1

x2

sortie des

autos

chaîne 1

poste S1,1

poste S2,1

poste S1,2

poste S2,2

poste S1,3

poste S2,3

poste S1,4

poste S2,4

poste S1,n–1

poste S2,n–1

poste S1,n

poste S2,n

Figure 15.1 Problème de fabrication pour déterminer le chemin optimal dans une usine. Il y a deux chaînes de montage, ayant chacune n postes ; le jème poste de la chaîne i est noté Si,j et le temps de montage à ce poste est ai,j. Un châssis entre dans l’atelier, puis va sur la chaîne i (avec i = 1 ou 2) en mettant un temps ei. Après être passé par le jème poste d’une chaîne, le châssis va sur le (j+1)ème poste de l’une ou l’autre chaîne. Il n’y a pas de coût de transfert si l’auto reste sur la même chaîne, mais il faut un temps ti,j pour passer sur l’autre chaîne après le poste Si,j. Après avoir quitté le nème poste d’une chaîne, l’auto achevée met un temps xi pour sortir de l’atelier.

Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier.

par les n postes dans l’ordre, mais le chef d’atelier peut faire passer une auto par- tiellement construite d’une chaîne à l’autre, et ce après chaque poste. Le temps de transfert d’un châssis depuis la chaîne i et après le poste Si,j est ti,j, avec i = 1,2 et j = 1,2, . . . ,n − 1 (car, après le nème poste, c’est fini). Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier. Sur l’exemple de la figure 15.2(a), le délai optimal est obtenu via sélection des postes 1, 3 et 6 de la chaîne 1 et des postes 2, 4 et 5 de la chaîne 2.

La solution évidente et « primaire », pour minimiser le délai de circulation à travers l’atelier, est irréaliste quand il y beaucoup de postes. Connaissant la liste des postes à utiliser sur la chaîne 1 et des postes à utiliser sur la chaîne 2, il est facile de calculer en temps Q(n) le délai de transit d’un châssis à travers l’atelier. Malheureusement, il y a 2n façons possibles de choisir les postes ; on peut le voir en considérant l’ensemble des postes utilisés sur la chaîne 1 comme un sous-ensemble de {1,2, . . . ,n} et en remarquant qu’il y a 2n tels sous-ensembles. Par conséquent, déterminer le chemin le plus rapide en énumérant tous les chemins possibles puis en calculant la durée de chacun, c’est une solution qui prend un temps V(2n), ce qui est irréaliste quand n est grand.

a) Étape 1 : structure du chemin optimal à travers l’atelier

La première étape du paradigne de la programmation dynamique est de caractériser la structure d’une solution optimale. Pour le problème de l’ordonnancement de chaîne de montage, voici comment on peut procéder à cette étape. Considérons le chemin

cDunodLaphotocopienonautoriséeestundélit

16

(17)

ORDONNANCEMENT DE CHAÎNES DE MONTAGE

On a un temps d’arrivée e i

pour le châssis qui entre sur la chaîne i,

15.1 Ordonnancement de chaînes de montage 317

chaîne 2 a1,1

e1 entrée

des chassis

e2

a2,1

a1,2

a2,2 t1,1

t2,1

t1,2 t2,2

a1,3

a2,3 t1,3 t2,3

a1,4

a2,4

t1,n–1 t2,n–1

a1,n

a2,n a1,n–1

a2,n–1

x1

x2

sortie des

autos

chaîne 1

poste S1,1

poste S2,1

poste S1,2

poste S2,2

poste S1,3

poste S2,3

poste S1,4

poste S2,4

poste S1,n–1

poste S2,n–1

poste S1,n

poste S2,n

Figure 15.1 Problème de fabrication pour déterminer le chemin optimal dans une usine. Il y a deux chaînes de montage, ayant chacune n postes ; le jème poste de la chaîne i est noté Si,j et le temps de montage à ce poste est ai,j. Un châssis entre dans l’atelier, puis va sur la chaîne i (avec i = 1 ou 2) en mettant un temps ei. Après être passé par le jème poste d’une chaîne, le châssis va sur le (j+1)ème poste de l’une ou l’autre chaîne. Il n’y a pas de coût de transfert si l’auto reste sur la même chaîne, mais il faut un temps ti,j pour passer sur l’autre chaîne après le poste Si,j. Après avoir quitté le nème poste d’une chaîne, l’auto achevée met un temps xi pour sortir de l’atelier.

Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier.

par les n postes dans l’ordre, mais le chef d’atelier peut faire passer une auto par- tiellement construite d’une chaîne à l’autre, et ce après chaque poste. Le temps de transfert d’un châssis depuis la chaîne i et après le poste Si,j est ti,j, avec i = 1,2 et j = 1,2, . . . ,n − 1 (car, après le nème poste, c’est fini). Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier. Sur l’exemple de la figure 15.2(a), le délai optimal est obtenu via sélection des postes 1, 3 et 6 de la chaîne 1 et des postes 2, 4 et 5 de la chaîne 2.

La solution évidente et « primaire », pour minimiser le délai de circulation à travers l’atelier, est irréaliste quand il y beaucoup de postes. Connaissant la liste des postes à utiliser sur la chaîne 1 et des postes à utiliser sur la chaîne 2, il est facile de calculer en temps Q(n) le délai de transit d’un châssis à travers l’atelier. Malheureusement, il y a 2n façons possibles de choisir les postes ; on peut le voir en considérant l’ensemble des postes utilisés sur la chaîne 1 comme un sous-ensemble de {1,2, . . . ,n} et en remarquant qu’il y a 2n tels sous-ensembles. Par conséquent, déterminer le chemin le plus rapide en énumérant tous les chemins possibles puis en calculant la durée de chacun, c’est une solution qui prend un temps V(2n), ce qui est irréaliste quand n est grand.

a) Étape 1 : structure du chemin optimal à travers l’atelier

La première étape du paradigne de la programmation dynamique est de caractériser la structure d’une solution optimale. Pour le problème de l’ordonnancement de chaîne de montage, voici comment on peut procéder à cette étape. Considérons le chemin

cDunodLaphotocopienonautoriséeestundélit

17

(18)

ORDONNANCEMENT DE CHAÎNES DE MONTAGE

Un temps de sortie x i

pour l’auto achevée qui sort de la chaîne i.

15.1 Ordonnancement de chaînes de montage 317

chaîne 2 a1,1

e1 entrée

des chassis

e2

a2,1

a1,2

a2,2 t1,1

t2,1

t1,2 t2,2

a1,3

a2,3 t1,3 t2,3

a1,4

a2,4

t1,n–1 t2,n–1

a1,n

a2,n a1,n–1

a2,n–1

x1

x2

sortie des

autos

chaîne 1

poste S1,1

poste S2,1

poste S1,2

poste S2,2

poste S1,3

poste S2,3

poste S1,4

poste S2,4

poste S1,n–1

poste S2,n–1

poste S1,n

poste S2,n

Figure 15.1 Problème de fabrication pour déterminer le chemin optimal dans une usine. Il y a deux chaînes de montage, ayant chacune n postes ; le jème poste de la chaîne i est noté Si,j et le temps de montage à ce poste est ai,j. Un châssis entre dans l’atelier, puis va sur la chaîne i (avec i = 1 ou 2) en mettant un temps ei. Après être passé par le jème poste d’une chaîne, le châssis va sur le (j+1)ème poste de l’une ou l’autre chaîne. Il n’y a pas de coût de transfert si l’auto reste sur la même chaîne, mais il faut un temps ti,j pour passer sur l’autre chaîne après le poste Si,j. Après avoir quitté le nème poste d’une chaîne, l’auto achevée met un temps xi pour sortir de l’atelier.

Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier.

par les n postes dans l’ordre, mais le chef d’atelier peut faire passer une auto par- tiellement construite d’une chaîne à l’autre, et ce après chaque poste. Le temps de transfert d’un châssis depuis la chaîne i et après le poste Si,j est ti,j, avec i = 1,2 et j = 1,2, . . . ,n − 1 (car, après le nème poste, c’est fini). Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier. Sur l’exemple de la figure 15.2(a), le délai optimal est obtenu via sélection des postes 1, 3 et 6 de la chaîne 1 et des postes 2, 4 et 5 de la chaîne 2.

La solution évidente et « primaire », pour minimiser le délai de circulation à travers l’atelier, est irréaliste quand il y beaucoup de postes. Connaissant la liste des postes à utiliser sur la chaîne 1 et des postes à utiliser sur la chaîne 2, il est facile de calculer en temps Q(n) le délai de transit d’un châssis à travers l’atelier. Malheureusement, il y a 2n façons possibles de choisir les postes ; on peut le voir en considérant l’ensemble des postes utilisés sur la chaîne 1 comme un sous-ensemble de {1,2, . . . ,n} et en remarquant qu’il y a 2n tels sous-ensembles. Par conséquent, déterminer le chemin le plus rapide en énumérant tous les chemins possibles puis en calculant la durée de chacun, c’est une solution qui prend un temps V(2n), ce qui est irréaliste quand n est grand.

a) Étape 1 : structure du chemin optimal à travers l’atelier

La première étape du paradigne de la programmation dynamique est de caractériser la structure d’une solution optimale. Pour le problème de l’ordonnancement de chaîne de montage, voici comment on peut procéder à cette étape. Considérons le chemin

cDunodLaphotocopienonautoriséeestundélit

18

(19)

PASSAGE D’UNE CHAÎNE À L’AUTRE

Normalement, une fois qu’un châssis arrive sur une chaîne de montage,

il ne circule que sur cette chaîne.

En cas d’urgence, toutefois, il se peut que l’on veuille accélérer le délai de fabrication d’une automobile

en changeant de chaîne.

Le temps de passage d’un poste à l’autre sur une même chaîne est négligeable.

19

(20)

PASSAGE D’UNE CHAÎNE À L’AUTRE

Pour changer le châssis de chaîne:

Le châssis transite toujours par les n postes dans l’ordre,

Le chef d’atelier peut faire passer une auto

partiellement construite d’une chaîne à l’autre et ce après chaque poste.

20

(21)

PASSAGE D’UNE CHAÎNE À L’AUTRE

Le temps de transfert

d’un châssis depuis la chaîne i et après le poste S i,j Est t i,j , avec i = 1,2 et j = 1, 2, . . . , n − 1 (car, après le nème poste, c’est fini).

21

(22)

PASSAGE D’UNE CHAÎNE À L’AUTRE

Le problème consiste à déterminer quels sont les postes à sélectionner

sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit

d’une auto à travers l’atelier.

22

(23)

MINIMISER LE DÉLAIS DE TRANSIT

Sur l’exemple de la figure , le délai optimal est obtenu via sélection des postes 1, 3 et 6 de la chaîne 1

et des postes 2, 4 et 5 de la chaîne 2.

318 15 Programmation dynamique

chaîne 2 entrée

des

chassis

sortie des autos chaîne 1 1

posteS1,1

poste S2,1

poste S1,2

poste S2,2

poste S1,3

poste S2,3

poste S1,4

poste S2,4

poste S1,5

poste S2,5

poste S1,6

poste S2,6 2

4

7

8 2 2

9

5 1 3

3

6 2 1

4

4 2 3

8

5 1 4

4

7

2 3

(a)

9 12

18 16

20 22

24 25

32 30

35 37

1 2 3 4 5 6

f1[j]

f2[j]

j

f * = 38 1

1 2 2

1 1

1 2

2 2

2 3 4 5 6

l1[j]

l2[j]

j

l* = 1

(b)

Figure 15.2 (a) Une instance du problème de la chaîne de montage, avec les coûts ei, ai,j, ti,j et xi affichés. Le chemin sur fond gris foncé indique le chemin le plus rapide à travers l’atelier.

(b) Les valeurs defi[j],f,li[j] et l pour l’instance de la partie (a).

optimal pour aller du point de départ au poste S1,j. Sij = 1, il n’y a qu’un seul chemin possible et il est donc facile de déterminer le temps qu’il faut pour arriver au posteS1,j. Pour j = 2,3, . . . ,n, en revanche, il y a deux possibilités : le châssis peut aller du poste S1,j1 au poste S1,j directement, le délai de passage du poste j−1 au poste j de la même chaîne étant négligeable. Mais le châssis peut aussi aller du poste S2,j1 au poste S1,j, le délai de transfert étant alors t2,j1. Nous traiterons séparément ces deux cas de figure, bien qu’ils aient beaucoup de points communs comme nous le verrons.

Primo, supposons que le chemin optimal vers le posteS1,j passe par le posteS1,j1. La remarque fondamentale est que le châssis a forcément pris un chemin optimal pour aller du point de départ au poste S1,j1. Pourquoi ? S’il existait un chemin plus rapide pour aller au poste S1,j1, on pourrait utiliser ce chemin plus rapide pour obtenir un chemin plus rapide vers le poste S1,j ; d’où une contradiction.

De même, supposons maintenant que le chemin optimal vers le poste S1,j passe par le poste S2,j1. Le châssis a forcément pris un chemin optimal du point de départ au poste S2,j1. Le raisonnement est le même : s’il existait un chemin plus rapide menant au poste S2,j1, on utiliserait ce chemin plus rapide pour obtenir un chemin plus rapide vers le poste S1,j ; d’où une contradiction.

Plus généralement, on peut dire que, pour l’ordonnancement de chaîne de mon- tage, une solution optimale à un problème (trouver le chemin optimal menant au

23

(24)

SOLUTION NAÏVE

Connaissant la liste des postes à utiliser

sur la chaîne 1 et des postes à utiliser sur la chaîne 2, il est facile de calculer en temps Θ(n)

le délai de transit d’un châssis à travers l’atelier.

Malheureusement:

il y a 2 n façons possibles de choisir les postes ;

24

(25)

SOLUTION NAÏVE

On peut le voir en considérant

l’ensemble des postes utilisés sur la chaîne 1!

Representer par le sous-ensemble de {1, 2, . . . , n}

Combien il y a t-il de sous-ensemble de ce type:

2 n .

25

(26)

SOLUTION NAÏVE

Par conséquent,

déterminer le chemin le plus rapide

en énumérant tous les chemins possibles puis en calculant la durée de chacun,

c’est une solution qui prend un temps Ω(2 n ), solution irréaliste quand n est grand.

26

(27)

STRUCTURE DU CHEMIN

OPTIMAL À TRAVERS L’ATELIER

La première étape du paradigne de la programmation dynamique est de

caractériser la structure d’une solution optimale.

15.1 Ordonnancement de chaînes de montage 317

chaîne 2 a1,1

e1 entrée

des chassis

e2

a2,1

a1,2

a2,2 t1,1

t2,1

t1,2 t2,2

a1,3

a2,3 t1,3 t2,3

a1,4

a2,4

t1,n–1 t2,n–1

a1,n

a2,n a1,n–1

a2,n–1

x1

x2

sortie des

autos

chaîne 1

poste S1,1

poste S2,1

poste S1,2

poste S2,2

poste S1,3

poste S2,3

poste S1,4

poste S2,4

poste S1,n–1

poste S2,n–1

poste S1,n

poste S2,n

Figure 15.1 Problème de fabrication pour déterminer le chemin optimal dans une usine. Il y a deux chaînes de montage, ayant chacune n postes ; le jème poste de la chaîne i est noté Si,j et le temps de montage à ce poste est ai,j. Un châssis entre dans l’atelier, puis va sur la chaîne i (avec i = 1 ou 2) en mettant un temps ei. Après être passé par lejème poste d’une chaîne, le châssis va sur le (j+1)ème poste de l’une ou l’autre chaîne. Il n’y a pas de coût de transfert si l’auto reste sur la même chaîne, mais il faut un temps ti,j pour passer sur l’autre chaîne après le poste Si,j. Après avoir quitté le nème poste d’une chaîne, l’auto achevée met un temps xi pour sortir de l’atelier.

Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier.

par les n postes dans l’ordre, mais le chef d’atelier peut faire passer une auto par- tiellement construite d’une chaîne à l’autre, et ce après chaque poste. Le temps de transfert d’un châssis depuis la chaîne i et après le poste Si,j est ti,j, avec i = 1,2 et j = 1,2, . . . ,n − 1 (car, après le nème poste, c’est fini). Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier. Sur l’exemple de la figure 15.2(a), le délai optimal est obtenu via sélection des postes 1, 3 et 6 de la chaîne 1 et des postes 2, 4 et 5 de la chaîne 2.

La solution évidente et « primaire », pour minimiser le délai de circulation à travers l’atelier, est irréaliste quand il y beaucoup de postes. Connaissant la liste des postes à utiliser sur la chaîne 1 et des postes à utiliser sur la chaîne 2, il est facile de calculer en temps Q(n) le délai de transit d’un châssis à travers l’atelier. Malheureusement, il y a 2n façons possibles de choisir les postes ; on peut le voir en considérant l’ensemble des postes utilisés sur la chaîne 1 comme un sous-ensemble de {1,2, . . . ,n} et en remarquant qu’il y a 2n tels sous-ensembles. Par conséquent, déterminer le chemin le plus rapide en énumérant tous les chemins possibles puis en calculant la durée de chacun, c’est une solution qui prend un temps V(2n), ce qui est irréaliste quand n est grand.

a) Étape 1 : structure du chemin optimal à travers l’atelier

La première étape du paradigne de la programmation dynamique est de caractériser la structure d’une solution optimale. Pour le problème de l’ordonnancement de chaîne de montage, voici comment on peut procéder à cette étape. Considérons le chemin

cDunodLaphotocopienonautoriséeestundélit

27

(28)

STRUCTURE DU CHEMIN

OPTIMAL À TRAVERS L’ATELIER

Problème de l’ordonnancement de chaîne de montage:

Considérons le chemin optimal pour aller du point de départ au poste S

1,j

. Si j = 1, il n’y a qu’un seul chemin possible

il est donc facile de déterminer le temps qu’il faut pour arriver au poste

S

1,j

.

15.1 Ordonnancement de chaînes de montage 317

chaîne 2 a1,1

e1 entrée

des chassis

e2

a2,1

a1,2

a2,2 t1,1

t2,1

t1,2 t2,2

a1,3

a2,3 t1,3 t2,3

a1,4

a2,4

t1,n–1 t2,n–1

a1,n

a2,n a1,n–1

a2,n–1

x1

x2

sortie des

autos

chaîne 1

poste S1,1

poste S2,1

poste S1,2

poste S2,2

poste S1,3

poste S2,3

poste S1,4

poste S2,4

poste S1,n–1

poste S2,n–1

poste S1,n

poste S2,n

Figure 15.1 Problème de fabrication pour déterminer le chemin optimal dans une usine. Il y a deux chaînes de montage, ayant chacune n postes ; le jème poste de la chaîne i est noté Si,j et le temps de montage à ce poste est ai,j. Un châssis entre dans l’atelier, puis va sur la chaîne i (avec i = 1 ou 2) en mettant un temps ei. Après être passé par lejème poste d’une chaîne, le châssis va sur le (j+1)ème poste de l’une ou l’autre chaîne. Il n’y a pas de coût de transfert si l’auto reste sur la même chaîne, mais il faut un temps ti,j pour passer sur l’autre chaîne après le poste Si,j. Après avoir quitté le nème poste d’une chaîne, l’auto achevée met un temps xi pour sortir de l’atelier.

Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier.

par les n postes dans l’ordre, mais le chef d’atelier peut faire passer une auto par- tiellement construite d’une chaîne à l’autre, et ce après chaque poste. Le temps de transfert d’un châssis depuis la chaîne i et après le poste Si,j est ti,j, avec i = 1,2 et j = 1,2, . . . ,n − 1 (car, après le nème poste, c’est fini). Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier. Sur l’exemple de la figure 15.2(a), le délai optimal est obtenu via sélection des postes 1, 3 et 6 de la chaîne 1 et des postes 2, 4 et 5 de la chaîne 2.

La solution évidente et « primaire », pour minimiser le délai de circulation à travers l’atelier, est irréaliste quand il y beaucoup de postes. Connaissant la liste des postes à utiliser sur la chaîne 1 et des postes à utiliser sur la chaîne 2, il est facile de calculer en temps Q(n) le délai de transit d’un châssis à travers l’atelier. Malheureusement, il y a 2n façons possibles de choisir les postes ; on peut le voir en considérant l’ensemble des postes utilisés sur la chaîne 1 comme un sous-ensemble de {1,2, . . . ,n} et en remarquant qu’il y a 2n tels sous-ensembles. Par conséquent, déterminer le chemin le plus rapide en énumérant tous les chemins possibles puis en calculant la durée de chacun, c’est une solution qui prend un temps V(2n), ce qui est irréaliste quand n est grand.

a) Étape 1 : structure du chemin optimal à travers l’atelier

La première étape du paradigne de la programmation dynamique est de caractériser la structure d’une solution optimale. Pour le problème de l’ordonnancement de chaîne de montage, voici comment on peut procéder à cette étape. Considérons le chemin

cDunodLaphotocopienonautoriséeestundélit

28

(29)

STRUCTURE DU CHEMIN

OPTIMAL À TRAVERS L’ATELIER

Pour j = 2, 3, . . . , n, en revanche, il y a deux possibilités : Cas 1: Le châssis peut aller du poste S

1,j−1

au poste S

1,j

directement,

le délai de passage du poste j − 1 au poste j de la même chaîne étant négligeable.

15.1 Ordonnancement de chaînes de montage 317

chaîne 2 a1,1

e1 entrée

des chassis

e2

a2,1

a1,2

a2,2 t1,1

t2,1

t1,2 t2,2

a1,3

a2,3 t1,3 t2,3

a1,4

a2,4

t1,n–1 t2,n–1

a1,n

a2,n a1,n–1

a2,n–1

x1

x2

sortie des

autos

chaîne 1

poste S1,1

poste S2,1

poste S1,2

poste S2,2

poste S1,3

poste S2,3

poste S1,4

poste S2,4

poste S1,n–1

poste S2,n–1

poste S1,n

poste S2,n

Figure 15.1 Problème de fabrication pour déterminer le chemin optimal dans une usine. Il y a deux chaînes de montage, ayant chacune n postes ; le jème poste de la chaîne i est noté Si,j et le temps de montage à ce poste est ai,j. Un châssis entre dans l’atelier, puis va sur la chaîne i (avec i = 1 ou 2) en mettant un temps ei. Après être passé par lejème poste d’une chaîne, le châssis va sur le (j+1)ème poste de l’une ou l’autre chaîne. Il n’y a pas de coût de transfert si l’auto reste sur la même chaîne, mais il faut un temps ti,j pour passer sur l’autre chaîne après le poste Si,j. Après avoir quitté le nème poste d’une chaîne, l’auto achevée met un temps xi pour sortir de l’atelier.

Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier.

par les n postes dans l’ordre, mais le chef d’atelier peut faire passer une auto par- tiellement construite d’une chaîne à l’autre, et ce après chaque poste. Le temps de transfert d’un châssis depuis la chaîne i et après le poste Si,j est ti,j, avec i = 1,2 et j = 1,2, . . . ,n − 1 (car, après le nème poste, c’est fini). Le problème consiste à déterminer quels sont les postes à sélectionner sur la chaîne 1 et sur la chaîne 2 pour minimiser le délai de transit d’une auto à travers l’atelier. Sur l’exemple de la figure 15.2(a), le délai optimal est obtenu via sélection des postes 1, 3 et 6 de la chaîne 1 et des postes 2, 4 et 5 de la chaîne 2.

La solution évidente et « primaire », pour minimiser le délai de circulation à travers l’atelier, est irréaliste quand il y beaucoup de postes. Connaissant la liste des postes à utiliser sur la chaîne 1 et des postes à utiliser sur la chaîne 2, il est facile de calculer en temps Q(n) le délai de transit d’un châssis à travers l’atelier. Malheureusement, il y a 2n façons possibles de choisir les postes ; on peut le voir en considérant l’ensemble des postes utilisés sur la chaîne 1 comme un sous-ensemble de {1,2, . . . ,n} et en remarquant qu’il y a 2n tels sous-ensembles. Par conséquent, déterminer le chemin le plus rapide en énumérant tous les chemins possibles puis en calculant la durée de chacun, c’est une solution qui prend un temps V(2n), ce qui est irréaliste quand n est grand.

a) Étape 1 : structure du chemin optimal à travers l’atelier

La première étape du paradigne de la programmation dynamique est de caractériser la structure d’une solution optimale. Pour le problème de l’ordonnancement de chaîne de montage, voici comment on peut procéder à cette étape. Considérons le chemin

cDunodLaphotocopienonautoriséeestundélit

29

Références

Documents relatifs

Écrire les réactions des différentes phases (initiation, propagation, terminai- son). • Les vitesses relatives de réaction des différents hydrogène sont dans les proportions :

● un tapis d'évacuation commandé par le poste suivant (mais un capteur peut vous dire s'il y a la place pour y poser un carton découpé). Au début du cycle, le carton

premières fibres optiques utilisées). Le cœur de la fibre optique multimode assez volumineux, ce qui lui permet de transporter plusieurs informations Le signal de sortie

-le canal de transmission est composé de l'émetteur (antenne du téléphone émetteur) et du récepteur (antenne du téléphone récepteur). L'émetteur transforme le signal numérisé

et 2.3., identifier sur le diagramme des blocs internes, les flux d’énergies circulants dans le système dans le cas d’un réglage par l’habitacle de la voiture et surligner les

Calculer le nombre de cycle monter et descente maximum quotidien pour que le système réel reste autonome avec E =800W/m 2 pendant 4 heures (feuille réponse N°3). TP T°SEN

Cette application est immédiate pour la plupart des résultats de ce précédent Mémoire, à l'exception d'un seul. Ce dernier résultat n'était applicable qu'à des noyaux vérifiant

Dans la fenêtre « Interactions » sélectionner la chaîne X dans le premier menu déroulant puis la chaîne Y dans le second puis cliquer sur « Créer une nouvelle représentation