Vous êtes sur la page 1sur 79

PROGRAMMATION CHAPITRE

LINAIRE

NOMBRESENTIERS
EN
VII
(PLE):
MTHODESDE
RSOLUTION

Mthodedusimplexe
7.1 Introduction

Nousallonsnousintresserpourl'instantunprogrammelinaireolesvariablessont
astreintesentouttreentires.NousexigeronsdeplusqueAetbsoiententiers;cette
exigencen'enlvetoutefoisaucunegnralit.Eneffet,siAetbnesontpasentiers,ilssont
entresrationnelles(enpratique,unirrationnelesttoujoursapprochparunrationnel
"voisin");ilsuffitdoncdemultiplierchaqueligne,c'estdirechaqueingalitparleplus
petitcommunmultipledesdnominateursdescoefficientsdelaligne.Parexemple,

2/3x1+3/4x2+5/6x32/3

s'critd'unemanirequivalente

8x1+9x2+10x38

enmultipliantparlep.p.c.m.(3,4,6,3)=12.

Comment peuton rsoudre un tel problme? L'ide la plus simple et la plus longue
consistenumrertouteslessolutionsralisablesentires.Parexemple,pourleproblme
CHAPITREVIII 2

Max z= x1+x2

x1+2x2 4
3x1+x2 6
x1,x2 0entiers.

Lesseulessolutionsralisablessont:(0,0),(0,1),(0,2),(1,0),(1,1),(2,0)etlemaximum
vaut2etestatteintpourlespoints(0,2),(1,1)et(2,0).

videmment, lorsque le nombre de variables devient grand, cette mthode risque de


devenirimpraticable.

Enoubliantlescontraintesd'intgritetenutilisantlamthodedusimplexe,ilsepeutque
lasolutionoptimalesoitentireauquelcasnousavonsrsoluleproblmedemand.Sice
n'estpaslecas,nousnesommespastellementavancs!C'estpourquoinousappelons
programme linaire entier facile, un programme linaire entier qui, en oubliant les
contraintesd'intgrit,fournittoujoursunesolutionoptimaleentireparunemthodede
rsolutiondesprogrammeslinaires.

Nous chercherons dans la prochaine section dterminer une classe de programmes


linaires entierspourlaquelleunesolutionoptimaleentireesttoujoursobtenueparla
mthodedusimplexe(enngligeantalorslescontraintesd'intgrit).

7.2Unimodularit

Soitleprogrammelinaireentiersousformestandard,

Max z=ctx (PLE)


sujet Ax=b,x0,xentier

etsonprogrammelinaireassoci

Max z=ctx (PL)


sujet Ax=b,x0.
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
3
MTHODESDERSOLUTION

NouscherchonsdesconditionssurlamatriceAetlevecteurbquinousassurentquela
solutionoptimalede(PL)soitentire(etdoncaussisolutionoptimalede(PLE)).L'ide
reposesurlefaitqu'chaqueitrationdelamthodedusimplexe,onveutquelabase
ralisableadmetteunesolutiondebaseralisableentireetvuquelasolutionoptimaleest
aussiunesolutiondebaseralisable,elleseraentire.

Supposonsdoncqu'uneitrationquelconque,I(resp.J)dsignelesindicesdesvariables
debase(horsbase).Enmettant(PL)sousformecanonique,nousavonsquelasolutionde
baseassocieest:

xJ=0

xI=B1b

oBreprsentelabaseralisablec'estdirelescolonnesdeAassociesauxvariablesde
base.

Pourquecettesolutionsoitentire,ilestncessairequexIsoitentier.

Maisbtantentier,ilsuffitqueB1soitunematriceentire.Noussavonsque

t
B1=(B*) /detB oB*dsignelamatricedescofacteurs.

MaisvuqueAestentire,ils'ensuitqueB*estentire.IlsuffitdoncquedetBsoitgal
1pourqueB1soitentire.Nousposonsladfinitionsuivante.

Dfinition7.2.1

SoitBunematricecarred'ordren,Bestunimodulairesidet(B)K={0,1,1}.

Lesmatricessuivantesparexemplesontunimodulaires:

1 0 0 1 0 2 1
0 1 0 0 1 1 1
1 0 1
CHAPITREVIII 4

Ainsi,siBestunimodulaire,noussommesassursquelasolution debaseseraentire.
Mais cela ne nous dit pas si la solution optimale est entire. Cependant, si B est
unimodulairepourtouteslesbasesralisablesB,toutesolutionralisableseraentireetil
enserademmepourlasolutionoptimale.Cecinousinciteposerladfinitionsuivante.

Dfinition7.2.2

SoitAunematricemxn,Aest totalementunimodulaire si toute sousmatricecarreB


d'ordrek,1kmin(m,n),extraitedeAestunimodulaire.

Quepeutondired'unematriceAtotalementunimodulaire?Enpremierlieu,toutesses
entresdoiventtre0,+1ou1.Eneffet,s'ilexisteuneentrediffrentede0,+1ou1,
disonsapt,lasousmatriced'ordre1,(apt),neserapasunimodulaireetdoncAnepourra
pastretotalementunimodulaireetdoncAnecontientquedesentres0,+1ou1.De
plus,ilestclairquenousavonsobtenulethormesuivant.

Thorme7.2.1

Soitleprogrammelinaireentier

Max z=ctx (PLE)


sujet Ax=b,x0,xentier,

siAesttotalementunimodulaire,alorsleprogrammelinaireassoci(PLE):

Max z=ctx (PL)


sujet Ax=b,x0.

admetunesolutionoptimaleentirequiestaussisolutionoptimalede(PLE).

Exemple7.2.1

Soitrsoudre
Min z= x1+x2+5x3
sujet x1x2+x3 =3
x1+x2 =5
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
5
MTHODESDERSOLUTION

x1,x2,x3 0entiers.

VuquelamatriceA

1 1 1
1 1 0

esttotalementunimodulaire,lasolutionoptimaledeceproblmeestcelleduprogramme
linaire associ obtenu en oubliant les contraintes d'intgrit du problme rsoudre.
Aprsl'applicationdelamthodedusimplexe,onobtientlasolutionoptimale:

x1=0,x2=5,x3=8etzmin=45.

Maintenant,nousdonnonsdesconditionssuffisantespourquelamatriceAsoittotalement
unimodulaire.

Thorme7.2.2(HellerTompkinsGale)

Soit A une matrice m x n n'ayant que des entres 0, +1 ou 1, A est totalement


unimodulaire,s'ilexisteunepartitiondeseslignes(resp.desescolonnes)I,J,I Jgal
l'ensembledeseslignes(resp.desescolonnes),I J=telleque:

(a) ilyaauplusdeuxlmentsnonnulsdanschaquecolonnedeA(resp.lignedeA);

(b) s'ilyadeux+1oudeux1dansunecolonne(resp.ligne)deA,alorslesdeuxlignes
(resp.colonnes)deAquicontiennentces+1ouces1nesontpasdanslemme
sousensembled'indices.

(c) s'ilyaun+1etun1dansunecolonne(resp.ligne)deA,alorslesdeuxlignes(resp.
colonnes)deAquicontiennentce+1etce1sontdanslemmesousensemble
d'indices,soitI,soitJ.

Dmonstration:
CHAPITREVIII 6

VuqueAnecontientquedes0,+1ou1,ilestclairquetoutesousmatricecarred'ordre
1extraitedeAestunimodulaire.Supposonsdoncparrcurrencequetoutesousmatrice
d'ordrek,extraitedeAestunimodulairepourkp,pm,etmontronsquesiBestune
sousmatriced'ordrep+1extraitedeA,elleestunimodulaire.

Pourcefaire,ilsuffitdedistinguerlesseulscassuivants:

1) IlexistedansBunecolonned'lmentsnuls.Donc,detB=0etBestunimodulaire.

2) Il existe une colonne de B avec un seul lment nonnul (donc +1 ou 1).


Dvelopponsledterminantparrapportcettecolonne.NousobtenonsdetB=
detCoCestunematriced'ordrepextraitedeBdoncdeA.MaispuisqueCest
unimodulaireparhypothsedercurrence,alorsBestaussiunimodulaire.

3) Toutes les colonnes de B contiennent exactement deux lments nonnuls. Par


hypothse,ilestfaciledevoirque:

bij bij =0 j.
iI iJ

(bijdsignel'lmentdeBenposition(i,j)).

Puisqu'ilexisteunecombinaisonlinaireliedeslignesdeB,sondterminantestnuletB
estunimodulaire.

DoncAesttotalementunimodulaire.

Ilestclairquel'noncoonremplaceleslignesparlescolonnesetrciproquementles
colonnesparleslignesestvrifivuquedetB=detBt.

Exemple7.2.2

Voiciuneapplicationduthormeprcdent.Parexemple,lamatricecicontre

1 1 0 0 1
0 1 1 1 0
1 0 0 0 1
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
7
MTHODESDERSOLUTION

0 0 1 0 0

est totalement unimodulaire. Il suffit d'appliquer le thorme prcdent et de prendre


commepartitionI={ligne1,ligne3}etJ={ligne2,ligne4}.

Nousvenonsdetraiterducasoleprogrammelinaireentiertaitsousformestandard.Le
prochainthormenousindiquequenousavonslemmersultatsileprogrammelinaire
estsousformecanonique.

Thorme7.2.3

Soitleprogrammelinaireentier

Max z=ctx (PLE)


sujet Axb,x0,xentier

siAesttotalementunimodulaire,alorsleprogrammelinaireassoci(PLE)est:

Max z=ctx
sujet Axb,x0

lequeladmetunesolutionoptimaleentirequiestaussisolutionoptimalede(PLE).

Dmonstration:

Leprogrammelinaireentier(PLE)sousformestandards'crit

Max z=(ct,0) x
y

sujet (A,U) x =b, x,y0,entiers.


y

Il suffit donc par le thorme 7.2.2 de montrer que la matrice (A,U) est totalement
unimodulaire.SoitdoncBunesousmatricecarreextraitede(A,U).Nousdistinguonsles
seulscassuivants:
CHAPITREVIII 8

1) Bnecontientpasdecolonnes(oupartiesdecolonnes)deU.Ainsi,Bestaussiune
sousmatricecarreextraitedeA.DoncBestunimodulaire.

2) Bcontientexactementk<mcolonnesoupartiesdecolonnesdeU.Endveloppant
parrapportauxpartiesdecolonnesdeU,onobtientdetB=0oudetB=detCo
CestunesousmatricedeB,carreetnecontenantpasdecolonnesoupartiesde
colonnes de U, donc aussi une sousmatrice carre extraite de A. Donc, C est
unimodulaireetilenestdemmepourB.

3) BnecontientquedescolonnesoupartiesdecolonnesdeU.Ilestalorsfacilede
voirqueBestunimodulaire.

Donc,(A,U)estbientotalementunimodulaire.

7.3 Applications

Une classe importante de programmes linaires entiers sont tels que la matrice A des
contraintessoittotalementunimodulaire.Voiciquelquesexemples.

Exemple7.3.1

Considronsleproblmedetransportgnralsuivant.Unindustrieldsiretransporterun
cotminimaluncertainbienenquantitsentiresdepuismentrepts(ildisposedubienen
quantit ai au iime entrept) vers nmagasins (la quantit debien demand au jime
magasinestbj)alorsquelescotsunitairesdetransportdepuislei imeentreptversle
jimemagasinsontcij.Sixijreprsentelaquantitdebientransportduiimeentreptau
jimemagasin,pourtouti,j,leprogrammelinaireentiers'crit:

m n
Min z= cijxij
i=1 j=1
sujet:
(T) m
xijbj,j=1,2,...,n
i=1
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
9
MTHODESDERSOLUTION

n
xijai,i=1,2,...,m
j=1

xij0,entier,i=1,2,...,m;j=1,2,...,n.

Onadmetvidemmentquelesai etlesbj sonttousentiers.Ilestncessairedeplusde


supposerque

n m
bj ai (demandeoffre)
j=1 i=1

afinqueleprogramme(T)admettedessolutionsralisables.Remarquonsqueceproblme
detransportncessitedesquantitsentires.Nousdironsdanscecasquec'estunproblme
detransportentier.crivonsceproblmesousuneformeplusdveloppe.Nousobtenons:

m n
Min z= cijxij
i=1 j=1
sujet:

x11+x12+...+x1n a1
x21+x22+...+x2n a2
. . .
. . .
. . .
xm1+xm2+...+xmn am
x11 +x21 ... +xm1 b1
x12 +x22 ... +xm2 b2
. . .
. . .
. . .
x1n +x2n ... +xmn bn
CHAPITREVIII 10

xij0,entier,i=1,2,...,m;j=1,2,...,n

Pour mettre ce programme sous forme canonique, il suffit de multiplier par (1) les
ingalitsolesbjinterviennent.OnobtientalorscommematriceAdescontraintes:
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
11
MTHODESDERSOLUTION

1 1...1 0 0... 0 0 0...0..0 0...0


0 0...0 1 1... 1 0 0...0..0 0...0
0 0...0 0 0... 0 1 1...1..0 0...0
....
....
....
0 0...0 0 0... 0 0 0...0..1 1...1
1 0...0 1 0... 0 1 0...0..1 0...0
0 1...0 0 1... 0 0 1...0..0 1...0
. . . .
. . . .
. . . .
0 0...1 0 0... 1 0 0...1..0 0...1

etenposantIgall'ensembledeslignesetJ=,nousvoyonsqueAestunematrice
totalementunimodulaire.Nouspouvonsdoncoublierlescontraintesd'intgritetappliquer
lamthodedusimplexepourrsoudreuntelproblme.

Exemple7.3.2
Unautretypedeproblmesurgitfrquemment.C'estleproblmed'affectation.Ils'agitpar
exempled'affecterdesquipagesdesvolsd'avions,dupersonneldesmachines,des
fondsmontairesprcisdesagencesgouvernementales,etc.Parexemple,unecompagnie
disposedeNemploys etdeNmachines.Notonsles employs E 1,E2,...,EN etles
machinesM1,M2,...,MN.Cependant,chaqueemploydecettecompagnienepeutpas
travailler sur toutes les machines, cela dpend de sa propre spcialisation. Nous
reprsentonslespossibilitsdetravailparletableaucicontreo

1siEipeuttravaillersurMj i,j=1,2,...,N
aij= 0sinon

M1 M2 ... Mj ... MN

E1 a11 a12 ... a1j ... a1N
E2 a21 a22 ... a2j ... a2N
..
Ei ai1 ai2 ... aij ... aiN
CHAPITREVIII 12

..
EN aN1 aN2 ... aNj ... aNN

Deplus,sil'employEitravaillesurlamachineMj,ilencotecijdollarslacompagnie.
L'objectifdelacompagnieestd'affecterchaqueemployuneetuneseulemachineet
rciproquement,enminimisantlecottotaldecetteaffectation.Enposant

1siEiestaffectMj
xij= ;i,j=1,2,...,N
0sinon

ce problme peut se formuler sous forme d'un programme linaire entier variables
bivalentes01.Toutd'abordsiaij=0,onsupposeraquecij=+.Eneffet,cetteaffectation
nepouvantavoirlieu,celarevientsupposerqu'elleauncotinfinidetellesortequela
variablecorrespondantexij seratoujoursnulledanslasolutionoptimalesicettesolution
optimaleestfinie;c'estpourquoi,nouslangligeronsenpratiquedanslamiseenquation
sous formemathmatique. En premier lieu, l'employ Ei nepeut tre affect qu'une
machine,c'estdire
N
aijxij=1,i=1,2,...,N
j=1
Demme,unemachinenepeutrecevoirsousleshypothsesqu'unemploy,c'estdire
N
aijxij=1,j=1,2,...,N
i=1
Ceproblmes'critdonc:

N N
Min z= cijxij
i=1 j=1
sujet:
N
(A) aijxij=1,i=1,2,...,N (I)
j=1
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
13
MTHODESDERSOLUTION

N
aijxij=1,j=1,2,...,N (J)
i=1
xij=0ou1,i=1,2,...,N;j=1,2,...,N

Toutcommenouslavonsfaitdansleprogrammedetransport,ilestfaciledevoirquela
matriceAdescontraintesesttotalementunimodulairecequiimpliquequ'enremplaantxij
=0ou1parxij0,nousobtenonslammesolutionoptimaleentire(plusprcisment,la
mmesolutionoptimaleen01)pourlesdeuxprogrammes.

Exemple7.3.3

Soitleproblmed'affectationdfiniparlesmatrices:

aij M1 M2 M3

E1 1 1 0
E2 0 1 1
E3 1 0 1

cij M1 M2 M3

E1 6 8
E2 4 5
E3 3 4

Nousobtenonsaprslamiseenquationsleprogramme

Min z= 6x11+8x12+4x22+5x23+ 3x31+4x33

x11+x12 =1
x22+x23 =1
CHAPITREVIII 14

x31+x33 =1
x11 + x31 =1
x12+ x22 =1
x23 +x33 =1
xij =0ou1.

Remarquonsenpremierlieuquenousnetenonspascomptedesvariablesx 13,x21etx32
quenousconsidronscommetoujoursnulles;autrement,nousaurionsuncotminimal
infinicequinepeutavoirlieus'ilexistedessolutionsralisables.Noussavonsquenous
pouvonsremplacerlacontraintexij =0ou1parxij 0.Etappliquantlamthodedu
simplexe,nousobtenonsalorscommesolutionoptimale:

x11=x22=x33=1,x12=x23=x31=0aveczmin=14.

Cependant, il existe un algorithme beaucoup plus simple pour rsoudre un problme


d'affectation.Nousenexposonslespointsprincipauxsurunexemple.Parlasuite,nous
crironsl'algorithme.

Exemple7.3.4

Soitleproblmed'affectationreprsentparlamatricedescotscicontre.

cij

3 4 6
2 4 6 3 8
4 5 6 3
5 3 2 3 4
4 3 5 4
6 5 4 5

Eneffet,noussavonsquesicij=,ilestclairquel'affectation(i,j)nepourraavoirlieu
pouruncotfini.Or,nouscherchonsavanttoutobteniruncotminimalfini.L'objetde
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
15
MTHODESDERSOLUTION

cettemthodeestdetransformerlamatricedescotsenunematrice quivalente oune


solutionoptimalepourrasemanifesterplusfacilement.Enexaminantlamatricedecots,
nouspouvonsaffirmerquepourl'employ1,ilencoteraaumoins$3,pourl'employ2,
aumoins$2,...Donc,sichaqueligne,onenlvesonlmentminimal,onnechangepas
laformedel'affectationoptimale.Nousobtenonsalorslamatricedesc' ijcicontreetnous
sommesassursquelecotzmin seratoujourssuprieurougalz0 =lasommedes
lmentsretranchsdechaqueligne.
CHAPITREVIII 16

c'ij

0 1 3 3
0 2 4 1 6 2
1 2 3 0 3
3 1 0 1 2 2
1 0 2 1 3
2 1 0 1 4







z0= 17

Maischaquemachine,unefoiscesoprationsfaites,ilyauncotminimallorsqu'ony
affecte un employ. C'est l'lment minimal de chaque colonne. Par exemple, pour la
machine1,acoteaumoins$0,pourlamachine2,aumoins$1,...Etenretranchantaux
lmentsdechaquecolonnesonpluspetitlment,laformedel'affectationoptimalen'est
paschangeetzminestaumoinsgallasommedeslmentsretranchs.

Nousobtenonsalorslamatricedesc''ijcicontre.

c''ij

0 1 3
0 1 4 1 5
1 2 3 0
3 0 0 0 2
0 0 2 0
2 0 0 1







1 1 z0= 19

Onyvoitquelecotestaumoinssuprieurz0=19quireprsenteuneborneinfrieure
ducotminimalzmin.L'idedelamthodeestd'essayerderaliserlesaffectationssurles
0delamatricedescotsc''ij.Sionyrussit,onauraquezmin=z0.Cependant,ilfaut
noterqu'ilnefautqu'unseulemployparmachineetrciproquement.Enregardantla
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
17
MTHODESDERSOLUTION

matricedesc''ij,onremarquequesionaccepte(1,1),onnepourrapasaffecterl'employ2
uneautremachinesansaugmenterlavaleurdez0.

Maispouravoirunesolutionoptimale,ilnousfaut6affectationsdanslamatricedesc'' ij.
Enpremierlieu,quellessontcellesquisontobligatoires?Ici,onvoitquelaligne3etla
colonne6necontiennentqu'unseul0.Ondoitdoncprendrel'affectation(3,6).Ondoit
prendre aussi (1,1) ou (2,1) mais pas les deux. Prenons donc (1,1). Encerclons les 0
correspondants(3,6)et(1,1)etbarronsle0correspondant(2,1)pourindiquerqu'on
n'entientpascompte.

Parlasuite,onalechoix.Parexemple,prenons(4,2)dontonencerclele0.Onbarrealors
les0associs(4,3),(5,2)et(4,5),(6,2)qu'onnepeutplusprendre.Maisdanslaligne6,
la position (6,4) est devenue obligatoire, encerclons son 0 correspondant. Prenons
maintenant(5,3)etbarrons(5,5).

C'estcequenousavonsfaitdanslamatricecicontre.


1 3
1 4 1 5
1 2 3
3 2
2
2 1






Mais nous n'avons pas obtenu 6 affectations sur des 0 sans violer les contraintes du
problme. Comment pouvonsnous faire pour introduire de nouveaux 0 sans faire
disparatrelesanciens?Aussi,ilfauttenircomptedetouteslesaffectationspossiblespour
dterminer l'augmentation minimale de z0. Aussi, pour dterminer cette augmentation
minimale,ilfautsoustraireunecertaineconstantedecertaineslignesetl'ajouterd'autres.
Le procd commence en traant un ensemble de traits de manire couvrir tous les
lmentsnuls.Ilestprfrabledelefaireavecunnombreminimaldetraitscorrespondants
aunombred'affectationsqu'onapurussir.C'estcequ'onafaitcidessous.
CHAPITREVIII 18


0 1 3
0 1 4 1 5
1 2 3 0
3 0 0 0 2
0 0 2 0
2 0 0 1

Leprocdpourtracercestraitsseraindiqudansl'algorithme.Leslmentsnoncouverts
reprsentent ceux qui vont nous donner le plus de chances d'obtenir une meilleure
affectation,c'estdirequelefaitd'introduiredenouveauxzrossurleslmentscouverts
nenousdonneraitpasuneaffectationsupplmentairecommeonleveut.Onvoitcequ'il
fautfaire.Nousremarquonsquel'lmentminimalnoncouvertest1enposition(1,4)par
exemple. Aussi, en soustrayant 1 de chaque lment de la matrice, nous crons de
nouveaux0.Deplus,ilfautconserverlesanciens.Pourcefaire,nousajoutons1chaque
ligneoucolonnerecouverted'untrait,c'estdireleslignes3,4,5,6etlacolonne1.Nous
obtenonslamatricecicontre.


2 1
3 4 1
2 2 3 11
4 2 11
2 1-1
3 1 11

1 z0=20

Onavuquez0 diminuede5etaugmentede6(onsoustrait1dechaquelmentdela
matrice), d'o z0 = 20. On essaie de former une nouvelle affectation maximale sans
augmenterz0.Onobtientalorscommeensemblemaximald'affectation:
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
19
MTHODESDERSOLUTION

(1,1) (2,4) (3,6) (4,3) (5,5) (6,2)etzmin=20.

Vuqu'ona6affectations,lasolutionestoptimale.Leprocdestdonccomplt.Sinon,on
auraitrecommencjusqu'cequ'onaittrouvunesolutionoptimale.

Nousdonnonsmaintenantl'algorithme.

Algorithmedersolutiond'unproblmed'affectation(KUHN)

(1) Soustrairel'lmentminimaldechaquelignedescotsdetoutlmentdecette
ligne.Fairedemmepourchaquecolonne.Aller(2).

(2) Examinerleslignes.Pourchaqueligneavecexactementunlmentnul,encerclez
llmentnul(O)pourconservercetteaffectation;ensuite;barrer(x)lesautres
lmentsnulsdelacolonneosetrouvece0.Fairedemmepourchaquecolonne.

Rptercequiprcdepourleslignesetlescolonnesquinepossdentpasde0
encercl O jusqu'cequetousleslmentsnulssoientmarqus(Sicen'estpas
possible,voirlaremarque).Silespositionsmarquesformentunensemblemaximal
d'affectations,lasolutiontrouveestoptimale.Sinon,aller(3).

(3) Tracerunnombreminimaldetraitspourcouvrirtousleslmentsnulscommesuit:

(a) marquertoutesleslignesquin'ontpasd'affectations
(c'estdirequin'ontpasde0encercls).

(b) marquer toutes les colonnes qui ont des lments nuls dans les lignes
marques.

(c) marquer toutes les lignes qui ont des affectations dans les colonnes
marques.

(d) recommencer(b)et(c)jusqu'cequ'aucuneautreligneoucolonnenepuisse
tremarque.
CHAPITREVIII 20

(e) traceruntraitsurchaquelignenonmarqueetsurchaquecolonnemarque.
Aller(4).

(4) Examinertousleslments nonrecouverts d'untrait. Choisirl'lmentminimal


parmiceuxci;lesoustrairedetousleslmentsnonrecouvertsd'untraitetl'ajouter
chacundeslmentsquisetrouventl'intersectiondedeuxtraits.Retourner
(2).

Remarque

Enfaisantlesaffectationsenpositiondeslmentsnuls,ilestpossibled'enveniraupoint
ochaqueligneoucolonnerestantecontiendraitaucunouaumoinsdeux0nonmarqus.
Desprocdstrscomplexespeuventtremisenoeuvrepourobtenirlenombremaximal
d'affectationsqu'ilestpossibled'obtenir,celaestfaitplusrapidementparttonnements
pourdesproblmesquipeuventtrersolusmanuellement.

Nous nous intresserons maintenant des algorithmes gnraux de rsolution des


programmeslinairesentiers.

Mthodesdetroncature
7.4 Introduction

Nousvenonsdevoirqu'ilestpossibledetrouverdessolutionsoptimalesentiresparla
mthodedusimplexe.Deplus,lamthodedusimplexenousseratrsutiledanslasuitede
notretude.

R.Gomoryatlepremiereffectuerdestravauxdansledomainedelarsolutiondes
problmesdePLEettouteslesmthodesdetroncatures'appuientsurdesalgorithmesqu'il
adveloppsde19581960.M.Simonnard(1973)prsenteunalgorithmediscretdans
lequelonn'engendrequedessolutionsentires,etunalgorithmecycliquedanslequelles
solutionsintermdiairesnesontpasentires.

Leprincipeestlesuivant:
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
21
MTHODESDERSOLUTION

on part d'une solution de base qui ne satisfait pas toutes les contraintes du
problme,soitquelesvariablesastreintestreentiresnelesoientpas,soitque
certainesvariablessoientngatives;

on ajoute alors une quation choisie de faon que toute solution entire vrifie
ncessairement cette quation. L'introduction d'une telle quation se traduit par
l'apparitiond'unenouvellevariabledevaleurngativeetconduit,parconsquent,
l'applicationdel'algorithmedualdusimplexe.

Nousaborderonsdanslaprochainesectionl'algorithmecyclique.Cettemthodeconsiste
ajouterdescontraintesafind'amputerdes"morceaux"aupolydredessolutionsralisables
du problme continu, jusqu' ce que la solution optimale de ce dernier satisfasse les
contraintesd'intgralit.

Le"morceau" amputer devra videmment contenir lasolution optimale duproblme


continuetilfautaussis'assurerqu'aucunesolutionentiren'estampute.

Aprsl'ajoutd'unecontrainte,onoptimisedenouveauenutilisantledualdusimplexe.On
serapprocheainsidel'optimumentier.

7.5 Mthodedesformesentires(oudescoupesdeGomory)

Nousneverronsqu'unseulalgorithmeissudecettemthodemais,enfait,ilyenaautant
qu'ilestpossibled'imaginerdescoupesadmissibles.Cetalgorithmesenommel'algorithme
cyclique de Gomory ou encore l'algorithme primaldual. Avant d'en voir les points
principaux,voyonssurunexemplecequ'estunecoupe.

Exemple7.5.1

Soitrsoudreleprogrammelinaireentier

Maxz= x+ 3y

10x+ 18y 45,


6x+ 7y 21
x, y 0,entiers.
CHAPITREVIII 22

En oubliant les contraintes d'intgrit et en rsolvant par la mthode du simplexe, on


obtient:x=0,y=2.5,zmax=7.5quin'estpasentire.Voyonscequenousavonssurle
graphiquereprsentantl'ensembledessolutionsralisablesde(P)leprogrammelinaire
associ(PE).

Ilestclairquelasolutionoptimalede(PE)doittrel'undespointsentierscontenusdans
cetensembledesolutionsralisablesde(P).

Aussi,nousallonsajouterunecoupequivarduirelessolutionsralisablesde(P)sans
pourautantrduirelessolutionsralisablesentiresde(PE).Parexemple,sionajoutela
coupe
x+ 2y 4,
onenlvedecetensembledessolutionsralisableslapartiehachure,etilestbienclair
qu'aucunpointentiern'atlimin.Onformedoncleprogrammelinaire(PE1):

Maxz= x+ 3y

10x+ 18y 45,


6x+ 7y 21
x+ 2y 4
x, y 0, entiers

quidonne,enoubliantlescontraintesd'intgrit,commesolutionoptimale:x=0,y=2et
zmax=6etvuqu'elleestentire,c'estaussilasolutionoptimalede(PE)!
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
23
MTHODESDERSOLUTION

(0,2.5)

Danscetexemple,nousavonstrouvlasolutionoptimaled'unprogrammelinaireentier
enconstruisantunnouveauprogrammelinaireentierissuduprcdentetd'unenouvelle
contrainte ou coupe qui respecte le programme linaire entier initial. La mthode de
l'algorithmeprimaldualpermetd'engendrersystmatiquementdenouvellescoupessans
avoirtracerl'ensembledessolutionsralisablescequiesttrssouventimpossiblecause
dunombredevariables.Enplus,ilsesertdescalculsdjobtenus,cequireprsenteune
conomieapprciable!Supposonsqueleproblme(PE)soitdelaforme:

n
aij xj =bi, i=1,2,...,m (7.5.1)
j=1

xj 0, j=1,2,...,n (7.5.2)
xj entier, j=1,2,...,n (7.5.3)

n
Maxz= cj xj (7.5.4)
CHAPITREVIII 24

j=1

Noussupposonsqu'ilexisteaumoinsunesolutionralisable(7.5.17.5.3)etquela
fonctionobjective(7.5.4)est finiel'optimum (parlamthodedusimplexe,onpeutle
savoirfacilement). Nousvoulons construireunecontrainte additionnelle quidevra tre
satisfaitepartoutesolutionralisablede(7.5.17.5.3).Soit

n
aj xj =b (7.5.5)
j=1

unequationobtenueparsuited'oprationslmentairessurlesystmed'quations(7.5.1).
Noussavonsqu'unesolutionralisablede(7.5.1)l'estaussipour(7.5.5).Ilsepeutqu'ily
aitdesajnonentiersouquebnesoitpasentier.Soit[d]lapartieentiredunombrereld
(leplusgrandentierd).Vuquelesxjsontdesentiersnonngatifs,toutevaleurdesxj
quisatisfait(7.5.1)doitaussisatisfaire(7.5.5)etparconsquentlacontrainteplusfaible:

n
[aj] xj b (7.5.6)
j=1

Maisdansl'quation(7.5.6),letermedegauchedoittreentieretdonconacertainement
lacontrainte:

n
[aj] xj [b] (7.5.7)
j=1

qui est vrifie par l'ensemble des solutions ralisables de (PE). L'ingalit (7.5.7)
reprsentelacoupequenouseffectuons.Finalement,ajoutantunevariabled'cartpositive
r(ncessairemententire),nousobtenons:

n
[aj] xj+r=[b], r0,entier (7.5.8)
j=1
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
25
MTHODESDERSOLUTION

Lapremiremthodequinousvientl'espritestdefairecommedansl'exempleprcdent,
c'estdired'ajouterlacontrainte(7.5.8)auprogrammelinaireentieretdersoudreparla
mthodedusimplexeleprogrammelinaireassoci.Silasolutionoptimaleestnonentire,
onintroduitunenouvellecoupejusqu'cequ'onobtienneunesolutionoptimaleentire.Il
estfaciledeconstaterquenousdevonsrsoudredenombreuxprogrammeslinairesdont
plusieurscalculssontlesmmesd'unprogrammel'autre.Parexemple,sil'ondoitfairela
phase I de la mthode du simplexe, on devra la faire pour chaque programme qu'on
introduit.Aussi,prfronsnouslamthodesuivantequinouspermettradenousservirde
tous les calculs faits antrieurement. Nous pouvons modifier l'ingalit (7.5.7) d'une
manirequivalente.Eneffet,l'ingalit(7.5.7)soustraitedel'quation(7.5.5)donne

n
(aj[aj])xjb[b] (7.5.9)
j=1

Nousnotonspar<aj>=aj[aj],lapartiefractionnairedeaj;ilenestdemmepour<b>.
Ilestclairque0 <d><1pourtoutnombrereld.L'ingalit(7.5.9)devientaprs
l'introductiond'unevariabledesurplusentirenonngativesi

n
<aj>xj+a=<b> (7.5.10)
j=1

Etc'estl'quation(7.5.10)quenousprendronscommecoupeaulieudel'quation(7.5.8).
Voyonssurunexemplecequisepassealors,cequinouspermettra debienformuler
l'algorithmeprimaldual.

Exemple7.5.2

Soitrsoudreleprogrammelinaireentiersousformestandard

Maxz= 5x+ 2y
2x+ 3y+ e1 = 17 (PE)
10x+ 3y+ e2 = 45
x, y, e1, e2 0,entiers.
CHAPITREVIII 26

Onobtientcommeensembledessolutionsralisablesde(P)leprogrammelinaireassoci
(PE)largionbornecicontreoonangliglesvariablesd'carte 1ete2.Lespoints
entiersindiqussontlessolutionsralisablesde(PE).

(3.5,10 / 3)

Enoubliantlescontraintesd'intgrit,onobtientladernireitrationdel'algorithmedu
simplexelaformesuivante:

Maxz145/6= 5/24e1 11/24e2

y+ 5/12e1 1/12e2 =10/3 (P')

x 1/8e1 +1/8e2 =7/2


x, y, e1, e2 0, entiers.

Lasolutionoptimalex=7/2,y=10/3,e1=e2=0n'estpasentire.Ilnousfautdonc
introduireunecoupe.Pourcefaire,nouschoisissonslalignertelleque
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
27
MTHODESDERSOLUTION

<br> = max <bi>


i

Ici,<b1>=1/3,<b2>=0.5.Donc,onprendr=2.Notrecoupeest:

<a21>x<a22>y<a23>e1<a24>e2+s1 =<b2>

c'estdire

7/8e1 1/8e2 +s1 =1/2

etl'ajoutant(P'),nousobtenons:

Maxz145/6= 5/24e1 11/24e2

y+ 5/12e1 1/12e2 =10/3 (P'')

x 1/8e1 +1/8e2 =7/2

7/8e1 1/8e2+s1 =1/2

Vuqueznepeutquedcrotreparl'adjonctiond'unenouvellecontrainte,nousdevonsfaire
dcrotrezl'aidede(P'').Maisnousvoyonsquenousavonstouteslesconditions

(b0,c0)

pourappliquerl'algorithmedualdusimplexe.Pourdterminerlalignedepivot,ilfaut
choisircelleoonalepluspetitbingatif.Ici,onchoisitlatroisimelignedescontraintes.
Pourdterminerlacolonnedepivot,oncalcule:

ck/a3kpoura3k<0.

Ona:

c3 5 11 c4
= < =
a3k 21 3 a34
CHAPITREVIII 28

Onpivotedoncautourdea34etonobtient:
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
29
MTHODESDERSOLUTION

Maxz505/21= 3/7e2 5/21s1

y 1/7e2 +10/21s1 =65/21(P''')

x +1/7e2 1/7s1 =25/7

e1 +1/7e2 8/7s1 =4/7

Vuquelasolutionoptimalen'estpasentire,onintroduitunenouvellecoupeissuedela
ligne2car

<b2>=4/7=max<bi>.

Cettecoupeest:

1/7e2 6/7s1 +s2 =4/7.

Onl'ajoute(P''')pourobtenir:

Maxz505/21= 3/7e2 5/21s1

y 1/7e2 +10/21s1 =65/21(P'''')

x +1/7e2 1/7s1 =25/7

e1 +1/7e2 8/7s1 =4/7

1/7e2 6/7s1 +s2 =4/7.

Onvoitfacilementqu'ondoitappliquerl'algorithmedualdusimplexeetqu'ilfautpivoter
autourdea45.Onobtientalors:

Maxz215/9= 7/18e2 5/18s2


y 2/9e2 +5/9s2 =25/9 (Pv)
x +1/6e2 1/6s2 =11/3
e1 +1/3e2 4/3s2 =4/3
CHAPITREVIII 30

+1/6e2+s1 7/6s2 =2/3.

etaprsavoirintroduit6autrescoupeseteffectu8autresitrations,nousobtenonsla
solutionoptimaleentire

x=4,y=1,e1=6,e2=2,s1=5,s2=4,s3=3,s4=3,s5=2,s6=2,s7=0,s8=0et
zmax=22.

Ontrouveraciaprsladispositionpratiquedecescalculsainsiquelaprojectiondansle
planx ydescoupeseffectues.







x y e1 e2







z0 5 2 0 0

17 2 3 1 0
45 10 3 0 1













x y e1 e2







z45/2 0 0.5 0 0.5

8 0 2.4 1 0.2
4.5 1 0.3 0 0.1 s1









x y e1 e2 s1









z145/6 0 0 5/24 11/24 0

10/3 0 1 5/12 1/12 0
3.5 1 0 1/8 1/8 0
0.5 0 0 7/8 1/8 1









PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
31
MTHODESDERSOLUTION










x y e1 e2 s1 s2








z505/21 0 0 0 3/7 5/21 0

65/21 0 1 0 1/7 10/21 0


25/7 1 0 0 1/7 1/7 0
4/7 0 0 1 1/7 8/7 0
4/7 0 0 0 1/7 6/7 1 s3

x y e1 e2 s1 s2 s3









z215/9 0 0 0 7/18 0 5/18 0

25/9 0 1 0 2/9 0 5/9 0


11/3 1 0 0 1/6 0 1/6 0
4/3 0 0 1 1/3 0 4/3 0
2/3 0 0 0 1/6 1 7/6 0
7/9 0 0 0 7/9 0 5/9 1 s4









CHAPITREVIII 32

y Projection des coupes dans le plan xy

(7 /2, 10 /3)

(7 /2, 3) (25 /7, 65 /21)


(0,3)

(11 /3, 25 /9)

(3.7, 2.5)

(11 /3, 7 /3)

(0,2)

(4, 5 /3)

(0,1) (4, 1)

(3,0) (4,0) x


x y e1 e2 s1 s2 s3 s4
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
33
MTHODESDERSOLUTION











z47/2 0 0 0 0 0 0 1/2 0

3 0 1 0 0 0 5/7 2/7 0
7/2 1 0 0 0 0 2/7 3/14 0
1 0 0 1 0 0 11/7 3/7 0
1/2 0 0 0 0 1 9/7 3/14 0
1 0 0 0 1 0 5/7 9/7 0
1/2 0 0 0 0 0 5/7 3/14 1











etc.

Onauraitpupenserdansl'exempleprcdentquelasolutionoptimaleentireauraitt
assez"voisine"delasolutionoptimalede(P).Cecinousmontrebienqu'iln'enestque
rarement ainsi. Cela dpend de la direction de la fonction objective. Nous pouvons
maintenantcrirel'algorithmeprimaldual.

Algorithmeprimaldual

(0) Aetbtantentiers,rsoudreleproblmeparunemthodedeprogrammationlinaire
enoubliantlescontraintesd'intgrit.Aller(1).

(1) Si la solution optimale est entire, terminer, c'est aussi la solution optimale du
problmepos.Sinon,aller(2).

(2) Dterminer<br>=max<bi>.Ajouterausystmed'quationsobtenuladernire
itrationlacoupe

p
<arj>xj+s=<br>
j=1

opestlenombredevariablesavantd'ajoutercettecoupe.
CHAPITREVIII 34

Aller(3).

(3) Dterminerbk=minbi.Sibk0,aller(1)sinonaller(4).

(4) DterminerJ={j:cj/akj=Min{ct/akt:akt<0}}.

ChoisirsJ.Pivoterautourdeaks,c'estdirefaire:

(a) MULTI(k,1/aks)

(b) ADDMUL(j,k,ajs)pourtoutjk.

Aller(3).

Mmes'ilestpossibledeprouverquecetalgorithmesetermineenunnombrefinid'tapes,
ilpeutconduireenpratiqueunnombresigrandd'itrationsqu'onnepuissetrouver(un
cotraisonnableouparmanquedebitssurordinateur)lasolutionoptimalemmeavecles
moyensmodernesactuels.Deplus,s'ilnousfautarrterlescalculs,nousnesommespas
assurs d'avoir une solution primaleralisable de telle sorte qu'en gnral, on ne peut
mmepasespreravoiruneapproximationmmegrossiredelasolutionoptimale.C'est
uneraisonsuffisantepourintroduiredenouveauxalgorithmes.Enthorie,ilyaautant
d'algorithmesquede"bonnes"coupesqu'onpeutinventer.Lesbonnescoupessontcelles
quipermettentd'affirmerquel'algorithmeassociestfini.Aussi,donnonsnousdansles
prochainessectionsquelquesalgorithmesassezsouventprfrsceluiquenousvenons
devoir.

Mthodedesubdivisionsuccessive
7.6 Introduction

Puisquelesproblmesdeprogrammationlinaireennombresentierspossdentunnombre
finidesolutions ralisables, onpeut facilement tretent deconsidreruneprocdure
d'numrationparticulirepourtrouverunesolutionoptimale.Mais,commenousl'avons
djvu,lenombredesolutionsralisablesesthabituellementtrslev.C'estpourquoi,les
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
35
MTHODESDERSOLUTION

procdures d'numration mises del'avant ontcomme objectif delimiter l'examen des


solutionsralisablesunepetitefractiond'entreelles.

SoitunproblmedePLEdonn,lastratgiemisedel'avantconsiste"couperendeux"la
rgionralisable,derecouperendeuxchaquepartiedelargionralisablesusceptiblede
contenirlasolutionoptimaleetainsidesuite.Leprocessusrcursifsepoursuitjusqu'ce
qu'ontrouvelasolutionoptimaleouunesolutionsousoptimalesatisfaisanteoubienque
l'ondtectel'absencedesolutions.

Cettestratgie basesurlatechnique "diviserpourrgner"adoncplusieurs variantes,


selonlafaondecouperendeuxlargionralisable,lechoixdelapartiedelargion
ralisableexaminerenpremieretlafaondes'assurerqu'unmorceaunecontientpasla
solutionoptimaleafindepouvoirliminercemorceau.

7.7 Algorithmedelasubdivisionsuccessive("BranchandBoundAlgorithm")

Avantdedcrirel'algorithmed'unemanireprcise,voyonscequ'ilenestsurunexemple.

Exemple7.7.1

Considronsdenouveauleprogrammelinaireentiersuivant:

Maxz= 5x+ 2y
2x+ 3y 17 (PE)
10x+ 3y 45
x, y 0, entiers.

Soitleprogrammelinaire(P0)associ(PE):

Maxz= 5x+ 2y
2x+ 3y 17 (P0)
10x+ 3y 45
x, y 0.

Parl'algorithmedusimplexe,nousobtenonscommesolutionoptimalede(P0):

x=3.5, y=10/3 z0max=145/6.


CHAPITREVIII 36

Quellecoupepeutoneffectuerdansl'ensembledessolutionsralisablesde(P0)quin'te
aucunpointentierdecetensemble?Ilestvidentquelasolutionoptimalede(PE)doit
vrifiersoity3,soity4.Essayonsdevoirlaquelledecescontraintesaleplusde
chanced'trevrifie.

(P2)

(3.5,10 / 3)

(P1)

Nousformonslesdeuxproblmesissusde(P0):

Maxz= 5x+ 2y
2x+ 3y 17 (P1)
10x+ 3y 45
y 3
x, y 0.


PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
37
MTHODESDERSOLUTION

Maxz= 5x+ 2y
2x+ 3y 17 (P2)
10x+ 3y 45
y 4
x, y 0.

Nousavonsparlamthodedusimplexequelasolutionoptimalede

(P1): x=18/5, y=3 et z1max=24

(P2): x=5/2, y=4 et z2max=20.5

Ainsi, vu que z1max > z2max, il est probable que la solution optimale de (PE) (une
maximisation!)soitvrifieparlescontraintesde(P1).Ilsepeutqu'iln'ensoitpasainsi,
maisnoussommesjustifisdetravaillerpourl'instantavec(P1).Pourlammeraisonque
prcdemment,ilestclairquesilasolutionoptimalede(PE)vrifielescontraintesde
(P1),ellevrifieraaussisoitx3,soitx4.

Formonsdonclesdeuxnouveauxproblmesissusde(P1):

Maxz= 5x+ 2y
2x+ 3y 17 (redondant) (P3)
10x+ 3y 45 (redondant)
y 3
x 3
x, y 0.

Maxz= 5x+ 2y
2x+ 3y 17 (P4)
10x+ 3y 45
y 3
x 4
x, y 0.

Nousobtenonsalorscommesolutionoptimalede:
CHAPITREVIII 38

(P3): x=3, y=3 et z3max=21

(P4): x=4, y=5/3 et z4max=70/3=231/3

etvuquez4max >z3max,ilyaplusdechances quelasolutionoptimalevrifieles


contraintesde(P4)etdoncsoity1,soity2.

(3.5,10 / 3)

(P3)

(P4)
x

Formonslesdeuxproblmesissusde(P4):

Maxz= 5x+ 2y
2x+ 3y 17 (P5)
10x+ 3y 45
y 3 (redondante)
x 4
y 1
x, y 0.


PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
39
MTHODESDERSOLUTION

Maxz= 5x+ 2y
2x+ 3y 17 (P6)
10x+ 3y 45
y 3
x 4
y 2
x, y 0.

Onobtientcommesolutionoptimalede:

(P5): x=4.2, y=1 et z5max=23


(P6): pasdesolutionsralisables.

(P5)

x
CHAPITREVIII 40

partirde(P5),onpeutconstruirecommeprcdemmentlesdeuxproblmes:

Maxz= 5x+ 2y
2x+ 3y 17 (P7)
10x+ 3y 45
y 3
x 4
y 1
x 4
x, y 0.

Maxz= 5x+ 2y
2x+ 3y 17 (P8)
10x+ 3y 45
y 3
x 4
y 1
x 5
x, y 0.

etonobtientcommesolutionoptimalede(P7):x=4,y=1,z 7max=22tandisque(P8)
n'admetpasdesolutionsralisables.

Mais,avec(P7),onaunesolutionoptimaleentirequiestdoncsolutionralisablede(PE).
Nousnesavonspasencoresielleestoptimale.Pourcela,ilfautexaminerlesproblmes
quenousavonslaisssdectencrantdescoupes.

Toutd'abord,pourlesproblmes(P8)et(P6),onn'apasdesolutionsralisables,onpeut
donclesngliger.Pour(P3),onaaussiunesolutionralisablede(PE),maisvuque

z7max=22>21=z3max,lasolutionralisabledonnepar(P7)estmeilleureetonpeut
doncngliger(P3).

Ilnousreste(P2)examiner.Ilestclairquetoutesolutionralisablede(PE)quivrifie
(P2)donneratoujourszmax20.5<22=z7maxet,parconsquent,mmesionajoutait
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
41
MTHODESDERSOLUTION

descoupes(P2),onnepourraitpastrouverunemeilleuresolutionralisablede(PE)que
celledonnepar(P7).Donc,x=4,y=1,zmax=22estlasolutionoptimalede(PE).

Ainsi, par raisonnement, nous n'avons eu qu' rsoudre 8 problmes pour trouver la
solutionoptimalede(PE)enngligeantlesproblmes(P2)et(P3).Schmatiquement,nous
pouvonsindiquernosrsultatscommenousl'avonsfaitautableauprcdent.

C'est ce qu'on appelle une arborescence de sommet (P0). De mme, on peut dire que
l'algorithme de la subdivision successive rsout comme on l'a vu un ensemble de
problmesquidcoulenttousde(P0)l'originedel'arborescence.

Queceseraitilpasssi,dansleproblme(PE),onavaitdemandquex0etquey0,
entier, c'estdire que la variable x ne soit plus astreinte tre entire. En regardant
l'arborescence,onvoitque(P1)et(P2)nousdonnentdeuxsolutionsralisablesetdoncque
lasolutionoptimaleseraitdanscecas:x=18/5, y=3, zmax=24.

Ainsi,unecaractristiquefondamentaledel'algorithmedelasubdivisionsuccessiveestde
permettrelarsolutiondeprogrammesoquelquesvariablesnesontpasentiresetoles
autreslesont.Ilsuffitalorsdenepasintroduiredecoupessurlesvariablesnonastreintes
treentires.

Plusprcisment,soitrsoudreunprogrammelinairedutypesuivantdit programme
linairemixte

Maxz= ctx
(PM) sujet Ax=b (7.7.1)
x0 (7.7.2)
xjentier, j=1,2,...,p (pn) (7.7.3)
CHAPITREVIII 42
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
43
MTHODESDERSOLUTION

Sip=n,onaunprogrammelinaireentier.Commeonl'avudansl'exempleprcdent,
unesolutionoptimaleauprogrammelinairemixten'estpasncessairementunesolution
debasedescontraintes(7.7.1)(carlescontraintesnesontpassatures,pourunesolution
debase,ilfautncontraintessatures),c'estdirequelasolutionoptimalepeutcontenir
(s'ilyamcontraintesdans(1))plusdemvariablesnonnullescausedel'adjonctionde
nouvellescontraintes.Lescoupesdugenre(xja)ou(xja+1)surchaquevariablexj,
j=1,2,...,p,permettentdegrossirl'ensembledescontraintesdetellesortequetoutesles
variables,sincessaire,soientnonnullesdanslasolutionoptimale.Cetaccroissementde
l'ensemble des contraintes est une indication du nombre de programmes linaires
rsoudre et dpend du nombre de variables qu'on dsire entires l'optimum. Voyons
maintenantcommentseformulecetalgorithme.

chaqueitration k,noussupposonsqu'ilexisteuneborneinfrieure zk delavaleur


optimale de la fonction objective z. On suppose qu' la premire itration, z1 est
strictementinfrieur lavaleuroptimaleou gal unevaleurdelafonctionobjective
associeunesolutionralisableconnue.Aupirealler,sionnesaitriensurleproblme,
onpeutprendrez1=.Deplus,ilyaunebanquedeprogrammeslinairesrsoudre
(quidpendentdescoupesadjoindre).l'itration1,labanquecontientseulementle
programmelinaire(P0)associ(PM):

Maxz= ctx
(P0) sujet Ax=b
x0

Deplus,onsupposeque,lorsqu'unproblme estrsolu,ilestenlev delabanquede


programmes.L'algorithmes'critalorscommesuit.

Algorithmedelasubdivisionsuccessive

(0) Fairek=1,zk=(sionnepeutfairemieux!).Aller(1).

(1) Silabanquedeproblmesestvide,terminerlescalculs,c'estdirerechercherla
dernire solution ralisable rencontre dontla valeur de la fonction objective est
galelaborneinfrieure.Cettesolutionralisableestalorsoptimale.
CHAPITREVIII 44

Autrement,enleverunprogrammelinairedelabanqueetaller(2).

(2) Rsoudreleprogrammechoisi.S'iln'apasdesolutionralisableousilavaleurdela
fonctionobjectiveestaupluszk,fairezk+1=zk,k=k+1etaller(1).

Autrement,aller(3).

(3) Si la solution optimale obtenue du programme linaire satisfait les contraintes


d'intgralit, noterle * et faites zk+1 gal la valeur optimale de la fonction
objectivedeceprogrammelinaire.Fairek=k+1etaller(1).

Autrement,aller(4).

(4) Choisirunevariablexjpourj{1,2,...,p}quin'apasunevaleurentiredansla
solutionoptimaleobtenue.Soitxj =br. Ajouterdeuxprogrammes linaires la
banqueissusdeceluidel'tape1.Pourlepremierproblme,onajoutelacontrainte

xj[br]

etpourlesecond,onajoutelacontrainte

xj[br]+1.

Fairezk+1=zk,k=k+1etaller(1).

Aupointdevuedelamiseenoeuvredescalculs,ilesttoujoursprfrablederesterdansla
mme branche de l'arborescence tant que cela est possible. Cela veut dire qu'il faut
rsoudrel'undesdeuxproblmessionvientd'enintroduiredeuxdanslabanqueousice
n'estpaslecasqu'ilfautrsoudreledernierproblmetreintroduitquin'estpasencore
rsolu.

Enconsquence,chaquenuddel'arbre,ondoitrsoudreunprogrammelinaire.Eten
passant d'unnud sonfils, on a le mme problme rsoudre avec seulement une
contrainteenplus.Ondisposedoncdjd'unesolutiondualralisableetseulementune
contrainte du primal n'est pas satisfaite. Voil donc une occasion en or d'utiliser
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
45
MTHODESDERSOLUTION

l'algorithmedualdusimplexe.Engnral,celaesttrsefficace;ilsuffitdequelquespivots
pourretrouverlasolutionoptimale.

Larsolutionduprogrammecontinu chaquenuddel'arbrenousfournituneborne
suprieuresurlavaleurdelameilleuresolutionpossibledanscettebranche.Ilyad'autres
faons d'obtenir une telle borne, souvent beaucoup moins coteuses. Il faut faire un
compromisentrelaqualitdelaborneetlecotdel'valuationdecetteborne.

partir de l'algorithme prcdent, plusieurs questions demeurent. Par exemple, une


itration donne, selon quelle variable, on subdivise le problme? En effet, plusieurs
variablesquidoiventtreentiresprennentsouventdesvaleursfractionnaires.Ondoiten
choisiruneselonlaquelleonvasubdiviser:parexemple,cechoixpeuttrefaitauhasard
ouencoreonpeutessayerplusieurssubdivisionsetchoisirla"meilleure"selonlavaleurde
l'objectif. On peut aussi se demander dans quel ordre traiter les sommets de l'arbre?
Prcdemment,nousavionsprivilgiunparcoursenprofondeurpourrduirelescalculset
appliquerl'algorithmedualdusimplexe.Nouspouvonsaussiavoirunautreobjectif:celui
d'obtenir le plus vite possible une bonne solution ralisable afin de pouvoir liminer
beaucoupdebranchesdel'arborescence.Ainsi,onpeuttreamenchoisirlabranchela
plus"prometteuse"selonlabornedunudassoci.

Enpratique,ilestdifficilededirecequiestmieux.

Voyonssurunexemplesimple,lefonctionnementdecetalgorithme.

Exemple7.7.2

Soitrsoudreleprogrammelinairemixte(PM):

2x1 + 2x2 + 10x3 + x4 + 4x5 + x6 =z(max)

9x1 + 8x2 + 31x3 + 6x4 + 15x5 + 8x6 60

xj 0,pourtoutj=1,2,...,6

x1,x3,x5 entiers
CHAPITREVIII 46

Onposez1=16carx1=x2=x3=x4=x6=0etx5=4estsolutionralisablede(PM).
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
47
MTHODESDERSOLUTION

Onformeleproblme(P0):

2x1 + 2x2 + 10x3 + x4 + 4x5 + x6 =z(max)

(P0) 9x1 + 8x2 + 31x3 + 6x4 + 15x5 + 8x6 60


xj 0,pourtoutj=1,2,...,6

quiadmetcommesolutionoptimalex1 =x2 =x4 =x5 =x6 =0 etx3 =60/31avec


z(max)=600/31>z1.Maisx3n'estpasentier.Ilfautdoncintroduirelesdeuxnouveaux
problmes:

2x1 + 2x2 + 10x3 + x4 + 4x5 + x6 =z(max)

(P1) 9x1 + 8x2 + 31x3 + 6x4 + 15x5 + 8x6 60

x3 1
xj 0,pourtoutj=1,2,...,6

2x1 + 2x2 + 10x3 + x4 + 4x5 + x6 =z(max)

(P2) 9x1 + 8x2 + 31x3 + 6x4 + 15x5 + 8x6 60


x3 2
xj 0,pourtoutj=1,2,...,6

etonposez2=z1=16.Onchoisit(P1)quiadmetcommesolutionoptimalex 1=x2=x4
=x6=0etx3=1,x5=29/15avecz(max)=266/15>z 2.Vuquex5n'estpasentier,il
fautintroduirepartirde(P1)lesdeuxnouveauxproblmes:

2x1 + 2x2 + 10x3 + x4 + 4x5 + x6 =z(max)


(P3) 9x1 + 8x2 + 31x3 + 6x4 + 15x5 + 8x6 60
x3 1
x5 1
xj 0,pourtoutj=1,2,...,6
CHAPITREVIII 48


2x1 + 2x2 + 10x3 + x4 + 4x5 + x6 =z(max)
(P4) 9x1 + 8x2 + 31x3 + 6x4 + 15x5 + 8x6 60
x3 1
x5 2
xj 0,pourtoutj=1,2,...,6

etonposez3=z2=16.Onchoisit(P3)quiadmetcommesolutionoptimalex 1=x4=x6
=0etx3=x5=1,x2=7/4avecz(max)=17.5>z3.Deplus,cettesolutionvrifieles
contraintesd'intgralit.Onlenoteetonposez 4=17.5etonchoisitdersoudreledernier
problme introduit ne pas tre rsolu, c'estdire (P4) qui admet comme solution
optimale:x1=x2=x4=x6=0etx3=30/31,x5=2avecz(max)=1721/31>z4.Mais
x3n'estpasentier,aussinousintroduisonspartirde(P4)lesdeuxnouveauxproblmes:

2x1 + 2x2 + 10x3 + x4 + 4x5 + x6 =z(max)


(P5) 9x1 + 8x2 + 31x3 + 6x4 + 15x5 + 8x6 60
x3 1
x5 2
x3 0
xj 0,pourtoutj=1,2,...,6

2x1 + 2x2 + 10x3 + x4 + 4x5 + x6 =z(max)


(P6) 9x1 + 8x2 + 31x3 + 6x4 + 15x5 + 8x6 60
x3 1
x5 2
x3 1
xj 0,pourtoutj=1,2,...,6

etonposez5=z4=17.5.Onchoisit(P5)quiadmetcommesolutionoptimalex 1=x2=
x3=x4=x6=0etx5=4,avecz(max)=16<z5=17.5.Donconchoisitledernier
problmeintroduitnonencorersolu,(P6)quin'admetpasdesolutionsralisables.D'o,
onposez6=z5=17.5etonrsoutledernierproblmenonencorersolu(P2)quin'admet
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
49
MTHODESDERSOLUTION

pasdesolutionsralisables.Donc,onposez7=z6=17.5.Ilneresteplusdeprogrammes
danslabanque.Parconsquent,lavaleuroptimaledelafonctionobjectiveestz 7=17.5et
estdonneparlasolutionralisablede(P3):x 1=x4=x6=0etx3=x5=1,x2=7/4et
z(max)=17.5.Schmatiquement,onal'arborescence:
CHAPITREVIII 50
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
51
MTHODESDERSOLUTION

Ilestpossibleaussidemodifierquelquepeulatechniquedesubdivisionsuccessivesans
modifier la valeur des rsultats thoriques. Considrons par exemple la rsolution de
l'exemplesuivant.

Exemple7.7.3

Rsoudreleprogrammelinairemixte

x1 + 3x2 + 4x3 =z(max)


x1 + 2x2 + 3x3 + x4 =18
xi 0, i=1,2,3,4
x2 = 2,4ou6
x3 entier.

Ontrouveracommesolutionoptimale:

x1=0, x2=6, x3=2, x4=0 zmax=26.

Nousavonsobtenul'arborescencesuivante:
CHAPITREVIII 52

On posez 1= 20 car x 22 et x 114 est


solution ralisable du problme.

P0 (z 1 = 20)

x 29
z max =27

x 26
P1 (z 2 = 20) *

x 26
x 32
z max = 26

FIN

Solution optimale :
x 10
x 26
x 32
x 40
z max = 26


PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
53
MTHODESDERSOLUTION

7.8 Derniersdveloppements

Danslesannes60et70,lesplansdecoupedeGomoryet,particulirement,latechnique
de subdivision successive ont permis de rsoudre ce genre de problmes.
Malheureusement,lorsquelenombredevariablesaugmentelemoindrement,cesmthodes
nesontplusadquates.

Unecombinaisondecesapprochesdanslesannes801apermisdersoudrebeaucoupplus
efficacementcesproblmes.Malgrcela,certainsproblmesdegrandetaillenepeuvent
pastrersolus.Onutilisedanscertainscasdestechniquesheuristiquespourgnrerde
"bonnes"solutionsralisables.

Desrecherchesintensivessefontaussiprsentementencequiatraitlaprogrammation
nonlinaireentire.

Crowder, H., E. L. Johnson, M. Padberg, "Solving LargeScale ZeroOne Linear


1

ProgrammingProblems,"OperationsResearch,31:803834,1983.

Johnson,E.L.,M.M.Kostreva,U.H.Suhl,"Solving01IntegerProgrammingProblems
ArisingfromLargeScalePlanningModels,"OperationsResearch,33:803819,1985.

VanRoy,T.J.,L.A.Wolsey,"SolvingMixed01ProgramsbyAutomaticReformulation,"
OperationsResearch,35:4557,1987.
CHAPITREVIII 54

Mthodednumrationpartielleimplicite
7.9 Introduction

Plusieurs programmes linaires entiers peuventtremissouslaformedite programme


linaireentiervariablesbivalentes01:

Ax b (7.9.1)
(PLEB) xj = 0ou1, j=1,2,...,n (7.9.2)
ctx = z(max) (7.9.3)

Habituellement, A1 b

o 1 estlenvecteurcolonnedonttouteslescomposantessontgales1,carsinon 1
seraitunesolutionralisableettoujoursoptimalesic0.Noussupposeronssanspertede
gnralitquelevecteurcestentierpourfaciliterlescalculs.

Plusieursprogrammeslinairesentierspeuventtremissouscetteformes'ilexistedes
bornessuprieurespourlesvariablespositives.Onappelle programmelinaireentier
variablesbornesunprogrammelinaireentierdelaforme:

Ax b, x0,entier
x d
ctx = z(max)

Voiciunexempledececi.

Exemple7.9.1

Soitleprogrammelinaireentier

2x1 + x2 =z(max)
x1 + x2 6
x1 + 3x2 11
xi 0,entiers.
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
55
MTHODESDERSOLUTION

Ceprogrammeestunprogrammelinaireentiervariablesbornes.Eneffet,

x1+ x26 et x10, x20 x16etx26.

Demme,lasecondecontrainte

x1+ 3x211 et x10, x20entiers x111etx23.

Ilestdoncquivalentd'crireceproblmesouslaforme

2x1 + x2 =z(max)
x1 + x2 6
x1 + 3x2 11
x1 6
x2 3
xi 0,entiers.

tantdonnquelescontraintesinitialesimpliquenttoujoursquex 16,x23.Voyons
commenttransformercenouveauproblmesouslaforme(PLEB)olesvariablessont
bivalentes01.

Noussavonsqu'ilestpossibledereprsentertoutevariable,commetoutnombre,sousune
formebinaire.Onremplacealorsx1etx2parlareprsentationbinaire

x1 y1+2y2+4y3+...+2k1yk
x2 v1+2v2+4v3+...+2t1vt

olesvariablesyietvjsontbivalentes01etokettsontlespluspetitsentierstelsque

2k16 et 2t13

Onobtientalors
x1 y1+2y2+4y3 et x2 v1+2v2
CHAPITREVIII 56

Cettereprsentationbinaireestelleexacte?Parexemple,poury1=y2=y3=1,onobtient
x1=7alorsquex16.Aussifautilmodifierlederniercoefficientpourtenircomptedes
bornessuprieuresetonobtientalorscommereprsentationbinaire

x1 y1+2y2+3y3
x2 v1+2v2

Remplaantlesvariablesx1etx2parleursreprsentationsrespectivesdansleproblme
rsoudre,onobtientlaformequivalente:

y1+2y2+3y3+v1+2v2 6
y1+2y2+3y3+3v1+6v2 11
2y1+4y2+6y3+v1+2v2 =z(max)
yi,vj=0ou1.

etunefoisceproblmersolu,ilserafaciled'endduirelasolutionoptimaleenx1etx2
parleursreprsentations binairesrespectives.Remarquonsqu'iln'estplusncessairede
tenircomptedesbornessuprieuresenx1 etx2 vu qu'ilenattenucomptedansla
recherchedesreprsentationsbinaires.

Un programme linaire entier variables bivalentes 01 peut toujours se rsoudre par


l'algorithme de la subdivision successive. Mais l'algorithme que nous allons voir tient
comptedufaitquelesvariablessontbivalentes01cequifaitquenousn'auronsmmepas
employerlamthodedusimplexe.Toutefois,siontientcomptequedelacontrainte
(7.9.2), il y a 2n ensembles de solutions possibles (pas ncessairement ralisables);
l'algorithmedevradonctreconstruitdefaonlimiterlepluspossiblelenombrede
sommetsexaminer.

L'algorithme quenous prsentons iciestuneadaptation del'algorithme desubdivision


successivepourlecasolesvariablesentiressontbinaires(0ou1).Aulieudersoudre
unproblmedeprogrammationlinairechaquesommetdel'arborescenceenoubliantles
contraintesd'intgralitcommedansl'algorithmedesubdivisionsuccessive,onvaplutt
rsoudreunproblmetrivialchaquesommetenoubliantlescontraintesdutypeAxb.
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
57
MTHODESDERSOLUTION

SilasolutionobtenueunsommetdonnsatisfaitlescontraintesdutypeAxbalorselle
estralisable;onpeutalorsexaminersielleest"meilleure"quela"meilleure"solution
obtenuedate.Siellen'estpasralisable,onchoisitunevariablebinairenonfixe,disons
xp,etonsubdiviselesommetcourantendeuxnouveauxsommetsfilsselonquex p=0ou
xp=1.

Lorsqu'ilestimpossibledesatisfairelescontraintesdutypeAxbquellesquesoientles
valeurs des variables nonfixes, on limine ce sommet et, par le fait mme, toute sa
descendance.Demme,cesommetestliminsilasolutionoptimaleduproblmeassoci
ce sommet (ralisable ou nonpour le PLE) n'est pas "meilleure" que la "meilleure"
solutionobtenuedate.

Considronsunsousensemble{x1,x2,...,xp},pn,ocesxj,j=1,2,...,p,ontdes
valeursfixesen0ou1.Cesousensembleseraditunesolutionpartielle.Lesvariablesxj
dontonn'apasencorefixunevaleurprciseen0ou1serontditeslesvariableslibres.Si
ondonneunevaleurxk,p<kn,alors{x1,x2,...,xp,xk}estditlecomplmentdela
solutionpartielle{x1,x2,...,xp}.

Ainsi,siunesolutionpartiellecontientplments,ilyaura2 npcomplmentspossibles.
Dans l'algorithme, on emploiera aussi une arborescence o la banque de problmes
correspondraunebanquedesolutionspartiellespasncessairementralisablesen(7.9.1).
Deplus,lescomplmentspossiblesvontsatisfaire(7.9.2)etformerontlesbranchesde
l'arborescence.

Si toutes les variables sont dans la solution partielle, on dira que c'est une solution
complte.

Prcisonscecisurunexemplesimple.

Exemple7.9.2

Rsoudreleprogrammelinaireentiervariablesbivalentes:

x1 + 2x2 + x3 + x4 4, xi=0ou1
x1 + x2 2x3 x4 1,
CHAPITREVIII 58

2x1 + 3x2 x3 + x4 =z(max).

Ilnousfauttoutd'abordavoiruneborneinfrieurez1delavaleuroptimaledelafonction
objectivez.Maisilestfaciledevoirquelasolutioncompltexi=0iestralisable;par
consquent, z(max) 0 = z1. Essayons d'appliquer le principe de l'algorithme de la
subdivisionsuccessive.Audbut,onnesaitriensurlesvariablesquisonttouteslibres.
Construisonsunearborescenceenformantlessolutionspartielles{x2=1}et{x2=0}.

Prenonslasolutionpartielle{x2=1}.

Leproblmes'critalors:

x1 + x3 + x4 2,
x1 2x3 x4 0,
2x1 x3 + x4 =z(max)3.

Il existe de manire vidente des complments ralisables qui amliorent la borne


infrieurez1.
Onposez2=z1=0etonchercheunesolutionpartielleaugmentede{x 2=1}.Onpeut
alorsformerdeuxnouvellessolutionspartiellesenfixantlavaleurdex 1.Onobtientles
deuxsolutionspartiellesaugmentes{x2=1,x1=1}et{x2=1,x1=0}etconsidronsla
solutionpartielle{x2=1,x1=1}.
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
59
MTHODESDERSOLUTION

z1 = 0

x2 = 1 x2 = 0

z2 = 0

x1 = 1 x1 = 0

x3 = 0

Leproblmes'crit:

x3 + x4 1,
2x3 x4 1,

x3 + x4 =z(max)5.

Ilestfaciledevoirqu'ilyadescomplmentsralisablesquiaugmententlavaleurdela
borneinfrieure.Parexemple,x3=1estralisable,mais,ildiminuezet,parconsquent,
nenouspermettrapasd'accrotrelaborneinfrieurez2etvuqu'onmaximise,onprendra
CHAPITREVIII 60

x3=0.Nousobtenonsalorslasolutionpartielleaugmente{x 2=1,x1=1,x3=0}.Le
problmes'critalors:

x4 1,
x4 1,

x4 =z(max)5.

quiimpliquequex4 = 1 si on veut avoir un complment ralisable. On augmente la


solutionpartiellepourobtenirlasolutioncomplteralisable{x2=1,x1=1,x3=0,x4=
1}avecz(max)6.Onprenddonccommenouvelleborneinfrieurez3=6delavaleur
optimaledelafonctionobjective.Examinonsmaintenantunedesdeuxsolutionspartielles
quenousavonslaissesenrserve.Prenonslasolutionpartielle{x 2 =1,x1 =0}.Le
problmes'critalorssouslaforme

x3 + x4 2,
2x3 x4 0,

x3 + x4 =z(max)3.

Maisonax4=z3+x31,d'oz31x 31;parconsquent,z4<z 3=6.Quels


quesoientlescomplmentsralisables,onnepourrapasaugmenterlavaleurdelaborne
infrieure,c'estdirequ'ilneserapaspossibled'obtenircommevaleurdelafonction
objective une meilleure valeur que z3 la borne infrieure de la valeur optimale de la
fonctionobjective.Onposedoncz4=z3=6.

Examinons la dernire solution partielle non encore examine {x2 = 0}. Le problme
s'critalors:
x1 + x3 + x4 4,
x1 2x3 x4 1,
2x1 x3 + x4 =z(max).

Enexaminantz=2x1x3+ x4,onremarquequez3x3 3;parconsquent,onne


pourrapasavoirunevaleurdelafonctionobjectivestrictementplusgrandequelavaleur
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
61
MTHODESDERSOLUTION

delaborneinfrieure.Onposez5=z4=6.Vuqu'ilnerestepasdesolutionpartielleen
banqueetquez(max)=z5=6,onobtientlasolutioncomplteoptimale:{x2=1,x1=1,
x3=0,x4=1}.Lamthoded'numrationimplicitequenousvenonsd'employernousa
permisd'examinerseulement6solutionspartiellesaulieudes16solutionspossibles.De
plus,lescalculsonttdesplussimplescequiestunavantagemarqusurlatechniquede
subdivisionsuccessive.
CHAPITREVIII 62

z1 = 0

x2 = 1 x2 = 0

z2 = 0 z5 = 6

x1 = 1 x1 = 0

z4 = 6

x3 = 0
FIN

x4 = 1

*
z3 = 6

Donnonsmaintenantuneprsentationplusformelledecetalgorithme.
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
63
MTHODESDERSOLUTION

7.10 Algorithmed'numrationpartielleimplicite

Voyonsmaintenantcommentformalisercetypederaisonnementunproblmegnral
afindepouvoircrirecetalgorithme.

Soitleproblmesuivant:

Ax b (7.10.1)
(PLEB) xj = 0ou1, j=1,2,...,n (7.10.2)
ctx = z(max) (7.10.3)

ocestunvecteurentier.Noussupposonstoujoursqu'ilyauneborneinfrieuredela
valeuroptimaledelafonctionobjectiveetqu'unesolutionralisablenousfournitcette
borne.Sinousneconnaissonspasdeborneprcise,onpeuttoujoursprendrecellecigale
.Explicitonsdemanireprcisecequenousvenonsdefaire.

Ayantunesolutionpartielle,iln'apastncessairedel'augmenterlorsquenousavons
montr qu'il n'y avait pas de complment ralisable (C.R.) donnant une valeur de la
fonctionobjective(V.F.O.)plusgrandequelaborneinfrieureprsente.Danscecas,on
ditquel'onafaitl'liminationdelasolutionpartielle.Enliminantunesolutionpartielle
contenant p variables, on a implicitement numr les 2np complments possibles
satisfaisant(7.10.2).

Nous allons systmatiser ce type de raisonnement afin de trouver des tests qui nous
permettent d'liminer une solution partielle lorsqu'elle ne possde pas de complments
ralisables ou lorsqu'elle ne possde pas de complments ralisables qui amliorent la
borneinfrieurezt.

l'itration1,labanquedesolutionspartiellesn'encontientquedeux:{x k=1}et{xk=
0} pour une certaine variable xk. Nous notons par V.S.P. les variables de la solution
partielleetparV.L.lesvariableslibresassociescettesolutionpartielle.

touteitrationt,onconnatuneborneinfrieureztdelavaleuroptimaledelafonction
objective.tantdonnunesolutionpartielle,onpeutrcrireleprogrammersoudre
souslaforme
CHAPITREVIII 64

aijxj bi aijxj, i=1,2,...,m (7.10.4)


V.L. V.S.P.
xj =0ou1, xj V.L.

cjxj =z cjxj, (7.10.5)


V.L. V.S.P.

Mais,onveutquelavaleurdelafonctionobjectivesoitstrictementmeilleurequez t.Vu
quelevecteurcestentier,celarevientdirequezzt+1etqueleproblmepeuts'crire
souslaforme
aijxj bi aijxj, i=1,2,...,m (7.10.6)
V.L. V.S.P.

cjxj zt+1 cjxj, (7.10.7)


V.L. V.S.P.
xj =0ou1, xj V.L. (7.10.8)

partirdesrelations(7.10.6)(7.10.8),trouvonsuntestquinousdiraquandiln'yaura
pasdecomplmentralisable.Iln'yaurapasdecomplmentralisablesiunecontraintede
(7.10.6)n'estpasremplie,c'estdires'ilexisteunitelque

aijxj >bi aijxj,


V.L. V.S.P.

quelsquesoientlesvaleurs0ou1queprennentlesxj V.L.

Mais,
aijxj min(aij,0) pourtoutevaleurdesxj V.L.
V.L. V.L. i=1,2,...,m.

Nouspouvonsdoncutiliserletestsuivant:

Iln'yapasdecomplmentralisablesi,pouraumoins
uni,ona:

min(aij,0)>bi aijxj TEST1


PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
65
MTHODESDERSOLUTION

V.L. V.S.P.

Demme,iln'yaurapasdecomplmentralisablequiamliorelaborneinfrieureztsi

cjxj <zt+1 cjxj, pourtoutevaleurdesxj V.L.


V.L. V.S.P.

etpuisque

cjxj max(cj,0) pourtoutevaleurdesxj V.L.


V.L. V.L.

nousobtenonsletest:

Iln'yaurapasdecomplmentralisablequiamliorela
borneinfrieureztsi:

max(cj,0)<zt+1 cjxj TEST2


V.L. V.S.P.

Nousavonsaussivudansl'exempleprcdentqu'ilestpossibledefixerunevaleurune
variablelibrelorsquelescontraintessurlesvariableslibressonttellesquecertainesd'entre
ellesdoiventavoirunevaleurfixepourobteniruncomplmentralisable.Celaesttrs
importantcaraulieudecrerdeuxproblmescettetape,nousn'encronsqu'unlorsque
celaestpossiblecequipeutlimiterconsidrablementla"densit"del'arborescenceque
nousvoulonsconstruire.

Voyonsquelstestsilnousfautconstruirepourdterminersidesvariableslibresdoivent
avoirunevaleurfixe.Pourtoutcomplmentralisable,nousavonsparletest1que,pour
touti,
min(aij,0)bi aijxj (7.10.9)
V.L. V.S.P.
CHAPITREVIII 66

etexaminonslavariablelibrexk.Pourfixerunevaleurprcisexk,disonsXk,ilfautque
lesautresvariableslibresn'admettentpasdecomplmentralisablesionprendxk=1
Xk,c'estdirequ'ilexisteunitelque

min(aij,0) >bi aijxjaik(1Xk)


V.L.xk V.S.P.

cequis'crit

min(aij,0)+aik>bi aijxj+aikXk (7.10.10)


V.L.xk V.S.P.

Examinonsl'quation(7.10.10)selonlesignedeaik.Siaik<0,ona

min(aij,0)+aik= min(aij,0)
V.L.xk V.L.

etparlesrelations(7.10.9)et(7.10.10),onobtient

bi aijxj+aikXk < min(aij,0)bi aijxj


V.S.P. V.L. V.S.P.

quin'estvraiequesiXk=1.(7.10.10)s'critalors:

i: min(aij,0)+aik>bi aijxj+aik
V.L.xk V.S.P.

c'estdire

i: min(aij,0)aik>bi aijxj (7.10.10a)


V.L. V.S.P.

et,danscecas,onavuqu'ilfautprendrexk=1.

Maintenant,siaik>0,ona:
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
67
MTHODESDERSOLUTION

min(aij,0)= min(aij,0)
V.L. V.L.xk

etparlesrelations(7.10.9)et(7.10.10),onobtient:

bi aijxj+aikXk < min(aij,0)+aikbi aijxj+aik


V.S.P. V.L. V.S.P.

c'estdire,

bi aijxjaik(1Xk) < min(aij,0)bi aijxj


V.S.P. V.L. V.S.P.

quinepeuttrevraiequesi1Xk=1,c'estdireXk=0.

Larelation7.10.10s'critalors:

i: min(aij,0)+aik>bi aijxj
V.L.xk V.S.P.

c'estdire

i: min(aij,0)+aik>bi aijxj (7.10.10b)


V.L. V.S.P.

et,danscecas,ondoitprendrex k =0.Ilestfaciledevoirque(7.10.10a)et(7.10.10b)
s'criventsouslaformeunique

i: min(aij,0)+|aik|>bi aijxj
V.L. V.S.P.

Cettedernirerelationestindpendantedexketellenousfournitletestsuivant:

Pourchaquevariablelibrexk,s'ilexisteunitelque:

min(aij,0)+|aik|>bi aijxj TEST3


CHAPITREVIII 68

V.L. V.S.P.

alorsxk=0siaik>0etxk=1siaik<0.

D'une manire analogue, si on veut qu'un complment ralisable amliore la borne


infrieurezt,onpeutconstruireletestsuivant:

Si:

max(cj,0)|ck|<zt+1 cjxj TEST4


V.L. V.S.P.

alorsxk=0sick<0etxk=1sick>0.

Nouslaissonsaulecteurlesoinderflchircequiseproduitlorsqueaik=0ouck=0.

Nouspouvonsmaintenantcrirel'algorithmed'numrationpartielleimpliciteentenant
comptedecequiprcdeetdel'algorithmedelasubdivisionsuccessive.

Algorithmed'numrationpartielleimplicite

(0) Fairet=1,zt=(sionnepeutfairemieux!).Aller(1).

(1) Choisirunevariablexktellequeck=maxci.Formerlesdeuxproblmesassocis
auxsolutionspartielles{xk=1}et{xk=0}.Aller(2).

(2) Silabanquedesolutionspartiellesestvide,terminerlescalculs,zt estlavaleur


optimaledelafonctionobjective.Autrement,enleverunesolutionpartielledela
banqueetl'examiner.Aller(3).

(3) Si vous trouvez des variables libres qui doivent avoir des valeurs particulires
(appliquer le TEST3) pour tout complment ralisable, augmenter la solution
partielleducomplmentdterminparcesvaleursparticulires.Sivoustrouvezdes
solutions particulires (appliquer le TEST4) pour qu'il existe un complment
ralisablequiamliore laborneinfrieurezt,augmenterlasolutionpartielledu
complmentdterminparcesvaleursparticulires.Aller(4).
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
69
MTHODESDERSOLUTION

(4) Sivouspouvezdterminerqu'iln'yapasdecomplment(peuttrevide)ralisable
ayantunevaleurdelafonctionobjective(V.F.O.)plusgrandestrictementquez t
(appliquer le TEST1, puis le TEST2), faire z t+1 = zt, t= t+ 1et aller (2).
Autrement,aller(5).

(5) Silasolutionpartielleaugmenteestcomplte,alors:

si V.F.O. > zt , poser zt+1 = V.F.O., t = t + 1 et conservez la


solution,

- siV.F.O.zt,poserzt+1=zt,t=t+1

etaller(2);

autrement,allez(6).

(6) Choisirunevariablelibrexktellequeck=max{cj:xj V.L.}quin'estpasdans


lasolutionpartielle augmente. Ajouterdeuxsolutions partielles augmentes de
celleprsentementexamineenposantdansl'unexk =1etdansl'autrexk =0.
Formerlesproblmesassocis.Fairezt+1=zt,t=t+1etaller(2).

Si on introduit deux solutions partielles, l'tape (2) suivante, on choisit toujours le


problmeoonamislavariablelibrexk=1.Sicen'estpaslecas,onexaminetoujoursla
derniresolutionpartielleintroduitenonencoreexamine.

Voyonsunexempled'applicationdecetalgorithme.

Exemple7.10.1

Soitrsoudre

x1 + x2 + 3x3 x4 + x5 4
(P0) 2x1 + 3x2 x3 + x4 x5 5
3x1 + x2 4x3 + 4x4 + x5 1
CHAPITREVIII 70

x1 2x2 + 4x3 + 3x4 + x5 = z(max)

Iln'estpasncessairedeprendrez1=.Ici,onconnatunesolutionralisabledonnepar
x1=1,x2=x3=x4 =x5=0avecz=1.Onpeutdoncprendrez1=1.Onformelesdeux
solutionspartielles

(S1):{x3=1}; (S2):{x3=0}

dontlesproblmesassocissont:

x1 + x2 x4 + x5 1
(P1) 2x1 + 3x2 + x4 x5 6
3x1 + x2 + 4x4 + x5 3
x1 2x2 + 3x4 + x5 = z(max)4

x1 + x2 x4 + x5 4
(P2) 2x1 + 3x2 + x4 x5 5
3x1 + x2 + 4x4 + x5 1
x1 2x2 + 3x4 + x5 = z(max)

Examinons(S1):{x3=1}.Effectuonslestests3&4.Onnepeutpasaffecterdevaleurs
particulires aux variables libres. Appliquons les tests 1 & 2. Il existe donc des
complmentsralisablesquiamliorentz1.Vuque(S1)n'estpascomplte,formonsles
deuxsolutionspartiellesaugmentes

(S3):{x3=1,x4=1}; (S4):{x3=1,x4=0}

dontlesproblmesassocissont:

x1 + x2 + x5 2
(P3) 2x1 + 3x2 x5 5
3x1 + x2 + x5 1
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
71
MTHODESDERSOLUTION

x1 2x2 + x5 = z(max)7

x1 + x2 + x5 1
(P4) 2x1 + 3x2 x5 6
3x1 + x2 + x5 3
x1 2x2 + x5 = z(max)4

Posonsz2=z1=1.

Examinons(S3):{x3=1,x4=1}.Effectuonslestests3&4.Onnepeutpasaffecterde
valeurs particulires aux variables libres. Faisons les tests 1 & 2. Il existe donc des
complments ralisables qui amliorent la borne infrieure z2. Vu que (S3) n'est pas
complte,formonslesdeuxnouvellessolutionspartiellesaugmentes:
(S5):{x3=1,x4=1,x5=1}; (S6):{x3=1,x4=1,x5=0}
dontlesproblmesassocissont:

x1 + x2 1
(P5) 2x1 + 3x2 6
3x1 + x2 2
x1 2x2 = z(max)8

x1 + x2 2
(P6) 2x1 + 3x2 5
3x1 + x2 1
x1 2x2 = z(max)7

etposonsz3=z2=1.Examinons(S5):{x3=1,x4=1,x5=1}.Effectuonslestests3&
4.Onnepeutpasaffecterdevaleursparticuliresauxvariableslibres.Faisonslestests1&
2.Ilyadoncdescomplmentsralisablesquiamliorentz 3.Vuquelasolutionn'estpas
complte,formonslesdeuxnouvellessolutionspartiellesaugmentes:

(S7):{x3=1,x4=1,x5=1,x1=1}; (S8):{x3=1,x4=1,x5=1,x1=0}
CHAPITREVIII 72

dontlesproblmesassocissont:

x2 0
(P7) 3x2 5
x2 1
2x2 = z(max)9

x2 1
(P8) 3x2 6
x2 2
2x2 = z(max)8

etposonsz4=z3=1.Examinons(S7):{x3=1,x4=1,x5=1,x1=1}.Effectuonsles
tests3&4quinousdonnentquex2=0.Augmentons(S7)pourobtenir

(S9): {x3=1,x4=1,x5=1,x1=1,x2=0}.

Enfaisantlestests1&2,onvoitqu'ilyauncomplmentralisablequiamliorez4.Vu
quelasolutionestcomplteetqueV.F.O.=9>z4,onposez5=9.

Examinonsmaintenant(S8):{x3=1,x4=1,x5=1,x1=0}.Faisonslestests3&4.
Nousnepouvonsfixerdevaleursparticuliresauxvariableslibres.Faisonslestests1&2.
Nousobtenonsqu'iln'yapasdecomplmentsralisables.Onposedoncz6=9.

Examinonsmaintenant(S6):{x3=1,x4=1,x5=0}.Effectuonslestests3&4;nous
obtenonsx1=1.Onformealorslasolutionpartielleaugmente

(S10): {x3=1,x4=1,x5=0,x1=1}

dontleproblmeassociest:

x2 1
(P10) 3x2 3
x2 2
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
73
MTHODESDERSOLUTION

2x2 = z(max)8

Effectuonslestests1&2.Nousobtenonsqu'iln'existepasdecomplmentralisablequi
amliorelaborneinfrieurez6.Onposez7=z6=9.Examinons(S4):{x3=1,x4=0}.
Effectuonslestests3&4.Onobtientx 1=1,x2=0,x5=1.Onformedonclasolution
partielleaugmente

(S11):{x3=1,x4=0,x1=1,x2=0,x5=1}

dontleproblmeassociest:

0 1
(P11) 0 5
0 5
0 = z(max)6

Effectuonslestests1&2quinousindiquentqu'iln'yapasdecomplmentsralisables.On
posealorsz8=z7=9.

Examinons(S2):{x3=0}.Dutest3,onobtientx1=1,x4=0;onformealorslasolution
partielleaugmente

(S12): {x3=0,x1=1,x4=0}

dontleproblmeassociest:

x2 + x5 3
(P12) 3x2 x5 3
x2 + x5 2
2x2 + x5 = z(max)1

Oneffectueletest4quidonnequex 2 =0,x5 =1.D'o,lanouvellesolutionpartielle


augmente

(S13): {x3=0,x1=1,x4=0,x2=0,x5=1}.
CHAPITREVIII 74

dontleproblmeassociest:

0 2
(P13) 0 4
0 2
0 = z(max)2

Oneffectuelestests1&2.Onobtientqu'iln'existepasdecomplmentsralisablesqui
amliorentlaborneinfrieurez8.Onposealorsz9=z8=9.

Examinons uneautresolutionpartielle. Iln'yenaplus.Donclasolution optimaleest


donnepar(S9):{x3=1,x4=1,x5=1,x1=1,x2=0}avecz(max)=9.

Onobtientalorscommersumdetoutcequ'onafait,l'arborescencedelapagesuivante.

PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
75
MTHODESDERSOLUTION

z1 = 1

x3 = 1 x3 = 0

z2 = 1

x4 = 1 x4 = 0
x1 = 1

z3 = 1

x5 = 1 x5 = 0 x1 = 1 x4 = 0

z4 = 1

x1 = 1 x1 = 0 x1 = 1 x2 = 0 x2 = 0

z6 = 9 z7 = 9

x2 = 0 x5 = 1 x5 = 1

*
z5 = 9 z8 = 9 z9 = 9
OPT

FIN
CHAPITREVIII 76

Cetalgorithmenedonnequelapremiresolutionoptimalerencontre.Ilestcependant
faciledelemodifierpourobtenirtouteslessolutionsoptimalesenmodifiantquelquepeu
les tests. Il va de soi qu'alors, la "densit" de l'arborescence puisse augmenter d'une
manirefulgurantes'ilyabeaucoupdesolutionsoptimales.

7.11 Algorithmed'numrationpartiellepourlesprogrammesmixtesbivalents01

L'algorithme que nous avons prsent la section prcdente nous permet aussi de
rsoudredesproblmesdeprogrammationdutype

Ax b, xi=0ou1, i=1,2,...,p
0xidi, i=p+1,p+2,...,n
ctx =z(max)

quipeuventtoujourstrecritsouslaformeditebivalente01mixte:

A'y b, yi=0ou1, i=1,2,...,p


0yi1, i=p+1,p+2,...,n
c'ty =z(max)

enposant

yi xi, i=1,2,...,p

yi xi/di, i=p+1,p+2,...,n

oc'n'estpasncessairemententier.Unesolutionpartiellenepourracontenirquedes
variablesbivalentes01yi, i=1,2,...,p;demme, toutes les variables libres seront
celles quineseront pas dans lasolution partielle. Onpeut alors montrer sans trop de
difficults,quelestestsdeviennenttelsquenouslesindiquonscidessous.

videmment,l'arborescencen'estconstruitequesurlespvariablesbivalentes01.Lorsque
cellescisontdanslasolutionpartielle,ilsuffitd'appliquerl'algorithmedusimplexeau
problmeassocicettesolutionpartielle.Voicidoncunalgorithmeapplicablepources
typesdeproblmes.
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
77
MTHODESDERSOLUTION

Iln'yaurapasdecomplmentralisablesi,pouraumoins
uni,ona:

min(aij,0)>bi aijyj TEST1


V.L. V.S.P.

Iln'yaurapasdecomplmentralisablequiamliorela
borneinfrieureztsi:

max(cj,0)<zt cjyj TEST2


V.L. V.S.P.

Pourchaquevariablebivalente01yk V.L.,si,pourau
moinsuni,ona:

min(aij,0)+|aik|>bi aijyj TEST3


V.L. V.S.P.

alorsyk=0siaik>0etyk=1siaik<0.

Pourchaquevariablebivalente01yk V.L.,si

max(cj,0)|ck|<zt cjyj TEST4


V.L. V.S.P.

alorsyk=0sick<0etyk=1sick>0.
CHAPITREVIII 78

Algorithme d'numration partielle pour les programmes mixtes


bivalents01

(0) Fairet=1,zt=(sionnepeutfairemieux!).Aller(1).

(1) Choisirunevariableyk {y1,y2,..., yp}tellequeck =maxci,i=1,2,...,p.


Formerlesdeuxproblmesassocisauxsolutionspartielles{yk=1}et{yk=0}.
Aller(2).

(2) Silabanquedesolutionspartiellesestvide,terminerlescalculs,zt estlavaleur


optimaledelafonctionobjective.Autrement,enleverunesolutionpartielledela
banqueetl'examiner.Aller(3).

(3) Sivoustrouvezdesvariableslibresbivalentes01quidoiventavoirdesvaleurs
particulires (appliquerletest3)pourtoutcomplment ralisable, augmenterla
solutionpartielleducomplmentdterminparcesvaleursparticulires.Sivous
trouvezdesvaleursparticulirespourtoutevariablelibrebivalente01pourtout
complment ralisable qui amliore la borne infrieure zt (appliquer le test 4),
augmenter la solution partielle du complment dtermin par ces valeurs
particulires.Aller(4).

(4) Sivous pouvez montrer qu'il n'yapas decomplment ralisable (peut tre les
variablesyp,yp+1,...,yn)ayantunevaleurdelafonctionobjective(V.F.O.)plus
grande strictement que zt (appliquer le test 1, puis le test 2 ou la mthode du
simplexeselonlecas),fairezt+1=zt,t=t+1etaller(2).Autrement,aller(5).

(5) Silasolutionpartielleaugmenteestcomplte(c'estdirecontientlespvariables
bivalentes01),alors:

siV.F.O.>zt,poserzt+1=V.F.O.,t=t+1etconservezlasolution,
siV.F.O.zt,poserzt+1=zt,t=t+1
oV.F.O.estlavaleuroptimaledelafonctionobjectiveduproblmeassocicette
solutioncomplte.Aller(2);

Autrement,aller(6).

(6) Choisirunevariablelibrebivalente01y k tellequeck =max{ci :yi V.L.


{y1,y2,...,yp}}.Ajouterdeuxsolutionspartiellesaugmentesenposantdansla
PROGRAMMATIONLINAIREENNOMBRESENTIERS(PLE):
79
MTHODESDERSOLUTION

premireyk =1etdanslasecondeyk =0.Formerlesdeuxproblmesassocis.


Fairezt+1=zt,t=t+1etaller(2).

Exemple7.11.1 Rsoudreleproblmesuivant:

y1 + 2y2 y3 + 4y4 + y5 4
2y1 3y2 + y3 + y4 + y5 4
y1 2y2 y3 y4 + 2y5 2
5y1 + 3y2 + y3 + 0.5y4 + y5 = z(max)
y1,y2,y3=0ou1, 0y4,y51
Aprsavoireffectulescalculs,nousobtenonsl'arborescence:

z 1 = - infini

Y1 = 1 Y1 = 0

z 5 = 9 4/9

Y2 = 1

z 2 = - infini FIN

Y3 = 1 Y3 = 0

Y 4 = 4/9 *
Y 5 = 2/9 z 4 = 9 4/9
z 3 = 9 4/9

OPT simplexe

Vous aimerez peut-être aussi