Sunteți pe pagina 1din 2

Licence d'informatique L3

2010-2011

Programmation Linaire

TP - Problme de Dcoupe (suite)

Dans la premire partie du TP, nous avons vu que la dicult du problme tait due au
nombre important de motifs et au fait qu'il est dicile de les numrer tous. Nous avions
alors limit la rsolution un nombre rduit et arbitraire de motifs. Nous allons, dans cette
partie, prendre en compte tous les motifs essentiels. Pour cela, nous utilisons une procdure
qui dtermine un motif intressant, c'est--dire une colonne ajouter au programme linaire.
Cette procdure est la suivante :
Algorithme de rsolution du problme de dcoupe

Initialisation : Choisir un sous-ensemble de n motifs


tape 1 :
 Rsoudre le programme linaire (P) ci-dessous, pour les motifs courants.
Z=

n
X

xj

(M in)

j=1

sous

n
X

aij xj bi

i = 1, . . . , 4

j=1

xj 0

j = 1, . . . , n

 Soit y = (y1 , y2 , y3 , y4 ) la solution duale optimale obtenue. Rsoudre le programme linaire


en nombre entier (PE) suivant.

W = y1 a1 + y2 a2 + y3 a3 + y4 a4

(M ax)

sous 45a1 + 36a2 + 31a3 + 14a4 100


aj 0

j = 1, . . . , 4

aj entiers

j = 1, . . . , 4

Notons w la valeur optimale obtenue.

tape 2 :
si w > 1 : la solution obtenue fournie un nouveau motif, donc une nouvelle variable
introduire dans le programme linaire (P). Retour l'tape 1 .
sinon : Arrt. La solution courrante du problme (P) est optimale.

Raskmey Phan - Arnaud Mary - Pierre Bouges

Implmentation

 Raliser une fonction qui rsout le sous-problme. Cette fonction prend en paramtre un
vecteur y = (y1 , y2 , y3 , y4 ) qui dnit les coecients de la fonction objective, et renvoie
un vecteur a = (a1 , a2 , a3 , a4 ) reprsentant les coecients de la nouvelle variable dans
(P). Remarquons que a est un vecteur d'entiers.
 Mettre en uvre l'algorithme de rsolution du problme de dcoupe propos.
Pour aller plus loin ...

 tudiez l'inuence des motifs initiaux utiliss. Quelle est la condition sur les motifs initiaux pour que l'algorithme converge vers la solution optimale ?
 Que reprsente le problme (PE) par rapport au problme (P) ?
 Quelle interprtation peut-on donner aux variables y1 , y2 , y3 , y4 ?
Rapport

Vous devez rendre un rapport (au format .pdf ) et le code source de votre programme au
plus tard le 22 avril. Pass cette date, une forte pnalit sera applique.
Le rapport comportera une dizaine de pages et doit au moins contenir les parties suivantes :
 introduction
 prsentation du problme et de la mthode de rsolution
 explication des structures de donnes utilises et des fonctions importantes de votre programme
 rsultats (rponses aux questions)
 conclusion
Le code source doit se trouver dans une archive nomme : nom1_nom2.tar. Les chiers
devront s'extraire dans le rpertoire Nom1_Nom2. L'excutable doit s'appeler decoupe. Le code
source devra aussi contenir un Makefile dont les rgles suivantes sont ncessaires :
 all : cre le programme demand,
 clean : nettoie tout ce qui a t gnr pendant la compilation du programme.

Raskmey Phan - Arnaud Mary - Pierre Bouges

S-ar putea să vă placă și