Documente Academic
Documente Profesional
Documente Cultură
2010-2011
Programmation Linaire
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
n
X
xj
(M in)
j=1
sous
n
X
aij xj bi
i = 1, . . . , 4
j=1
xj 0
j = 1, . . . , n
W = y1 a1 + y2 a2 + y3 a3 + y4 a4
(M ax)
j = 1, . . . , 4
aj entiers
j = 1, . . . , 4
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.
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.