5_dualite.pdf

47
 5.Dualité en programmation linéaire

Transcript of 5_dualite.pdf

  • 5.Dualiten

    programmation linaire

  • Illustration de la notion

    Considrons une entreprise produisant r produits finis: fk = demande du produit k =1, 2, , rutilisant s matires premires: hl = disponibilit de la matire premire

    l = 1, 2, , s

    Lentreprise dispose de n procds de production (activits):xj = niveau dutilisation du procd j = 1, 2, , ncj = cot unitaire dutilisation du proccd j = 1, 2, , n

    Le procd jproduit ekj units de produit k =1, 2, , rutilise glj units de matire l = 1, 2, , s

    pour chaque unit de son utilisation.

  • Illustration de la notion

    Considrons une entreprise produisant r produits finis:

    fk = demande du produit k =1, 2, , rutilisant s matires premires:

    hl = disponibilit de la matire l = 1, 2, , s

    Lentreprise dispose de n procds de production (activits):

    xj = niveau dutilisation du procdj = 1, 2, , n

    cj = cot unitaire dutilisation du procdj = 1, 2, , n

    Le procd jproduit ekj units de produit k =1, 2, , rutilise glj units de matire l = 1, 2, , s

    pour chaque unit de son utilisation.

    Problme de lentreprise: dterminer le niveau dutilisation de chaque procd de production pour satisfaire les demandes en produits sans excder les disponibilits des matires premires tout en minimisant le cot total de production.

    Modle

    njx

    slhxg

    rkfxe

    xcz

    j

    n

    jljlj

    k

    n

    jjkj

    n

    jjj

    ,...,2,10

    )itsdisponibil(,...,2,1

    )demandes(,...,2,1Sujet

    min

    1

    1

    1

    =

    =

    =

    =

    =

    =

    =

  • Illustration de la notion

    Un entrepreneur propose lentreprise dacheter les quantits de ses matires premires et de lui vendre les quantits de produits pour satisfaire les demandes.

    Il doit noncer (dterminer) des prix unitaires vk pour les produits k = 1, 2, , rwl pour les matires l = 1, 2, , s.

    vk

    wl

    njx

    slhxg

    rkfxe

    xcz

    j

    n

    jljlj

    k

    n

    jjkj

    n

    jjj

    ,...,2,10

    )itsdisponibil(,...,2,1

    )demandes(,...,2,1Sujet

    min

    1

    1

    1

    =

    =

    =

    =

    =

    =

    =

  • Illustration de la notion

    Lentrepreneur doit dterminer des prix qui soient intressants pour lentreprise.

    Pour vrifier lintrt de faire affaire avec lentrepreneur, lentreprise doit vrifier que pour chacun de ses procds de production j, le cot dacheter les units de produits fabriques par une unit dutilisation du procd j en tenant compte de ce quelle reoit de lentrepreneur pour les units de matires quelle vite alors dutiliser, que ce cot nexcde pas le cot unitaire dutilisation cj du procd j

    js

    l lljr

    k kkjcwgve

    premiresmatires

    desventeladerevenu

    1

    produitsdesachatd'cot

    1==

    njx

    slhxg

    rkfxe

    xcz

    j

    n

    jljlj

    k

    n

    jjkj

    n

    jjj

    ,...,2,10

    )itsdisponibil(,...,2,1

    )demandes(,...,2,1Sujet

    min

    1

    1

    1

    =

    =

    =

    =

    =

    =

    =

    vk

    wl

  • Illustration de la notion

    Le problme de lentrepreneur est de maximiser son profit en sassurant que ses prix restent intressants pour lentreprise

    1 1cot d'achat des revenu de la vente desproduits matires premires

    r s

    kj k lj l jk l

    e v g w c= =

    slwrkv

    njcwgve

    whvfp

    l

    k

    js

    lllj

    r

    kkkj

    r

    k

    s

    lllkk

    ,...,2,10,...,2,10

    ,...,2,1Sujet

    max

    11

    1 1

    ==

    =

    =

    ==

    = =

  • Illustration de la notion

    Problme de lentreprise: multiplions les contraintes de disponibilits par -1

    njx

    slhxg

    rkfxe

    xcz

    j

    n

    jljlj

    k

    n

    jjkj

    n

    jjj

    ,...,2,10

    )itsdisponibil(,...,2,1

    )demandes(,...,2,1Sujet

    min

    1

    1

    1

    =

    =

    =

    =

    =

    =

    =

    njx

    slhxg

    rkfxe

    xcz

    j

    n

    jljlj

    k

    n

    jjkj

    n

    jjj

    ,...,2,10

    )itsdisponibil(,...,2,1

    )demandes(,...,2,1Sujet

    min

    1

    1

    1

    =

    =

    =

    =

    =

    =

    =

    1

  • slwrkv

    njcwgve

    whvfp

    l

    k

    js

    lllj

    r

    kkkj

    r

    k

    s

    lllkk

    ,...,2,10,...,2,10

    ,...,2,1Sujet

    max

    11

    1 1

    ==

    =

    =

    ==

    = =

    Problme de lentreprise

    Problme de lentrepreneur

    sj

    j

    rj

    j

    g

    g

    e

    e

    1

    1

    knkjkk eeee 21

    1 2 lnl l ljg g g g

    GE

    njxslhxg

    rkfxexcz

    j

    n

    j ljlj

    k

    n

    j jkj

    n

    j jj

    ,...,2,10)itsdisponibil(,...,2,1

    )demandes(,...,2,1Sujetmin

    1

    1

    1

    ==

    =

    =

    =

    =

    =

    T TE G

    1 1j rj j sjkj lje e e g g g

  • njx

    slhxg

    rkfxe

    xcz

    j

    n

    jljlj

    k

    n

    jjkj

    n

    jjj

    ,...,2,10

    )itsdisponibil(,...,2,1

    )demandes(,...,2,1Sujet

    min

    1

    1

    1

    =

    =

    =

    =

    =

    =

    =

    slwrkv

    njcwgve

    whvfp

    l

    k

    js

    lllj

    r

    kkkj

    r

    k

    s

    lllkk

    ,...,2,10,...,2,10

    ,...,2,1Sujet

    max

    11

    1 1

    ==

    =

    =

    ==

    = =

    Primal

    Dual

    T T

    T T

    max

    Sujet

    , 0

    vp f hw

    vE Gw

    v w

    xc

    =

    TminSujet

    0

    z c x

    ExG h

    x

    w

    f

    =

    Tmin

    Sujet 0

    c x

    Ax bx

    T

    Tmax

    Sujet 0

    b yA y c

    y

    x

    y

  • min 8 6Sujet 5 3 30

    2 3 243 18

    , 0

    z x yx yx yx yx y

    =

    + + +

    1

    2

    3

    v

    v

    v

    x

    y

    5 3 302 3 241 3 18

    x

    y

    1

    2

    3

    5 2 1 83 3 3 6

    v

    v

    v

    TminSujet

    0

    c x

    Ax bx

    T

    Tmax

    Sujet 0

    b yA y c

    y

    min 8 6Sujet 5 3 30

    2 3 243 18

    , 0

    z x yx yx yx y

    x y

    =

    1 2 3

    1 2 3

    1 2 3

    1 2 3

    max 30 24 18Sujet 5 2 8

    3 3 3 6, , 0

    v v v

    v v v

    v v v

    v v v

  • Problme primal et problme dual

    Problme de programmation linaire avec ingalits

    Problme de programmation linaire sous forme standard

    TminSujet

    0

    c x

    Ax bx

    TminSujet

    0

    c x

    Ax bx

    =

    Problme primal Problme dual

    Problme primal Problme dual

    y x

    y x

    T

    Tmax

    Sujet b yA y c

    T

    Tmax

    Sujet 0

    b yA y c

    y

  • min 8 6Sujet 5 3 30

    2 3 243 18

    , 0

    z x yx yx yx yx y

    =

    + + +

    1 2 3

    1 2 3

    1 2 3

    1

    2

    3

    max 30 24 18Sujet 5 + 2 + 8

    3 3 3 6000

    w w w

    w w w

    w w w

    w

    w

    w

    + +

    + +

    min 8 6Sujet 5 3 30

    2 3 243 18

    , , , , 0

    z x yx y ux y px y hx y u p h

    =

    + + =

    + + =

    + + =

    1

    2

    3

    w

    w

    w

    x

    yu

    ph

    1

    2

    3

    5 2 1 85 3 1 0 0 30 3 3 3 62 3 0 1 0 24 1 0 0 01 3 0 0 1 18 0 1 0 0

    0 0 1 0

    x

    wyu w

    p wh

    =

    TminSujet

    0

    c x

    Ax bx

    =

    T

    Tmax

    Sujet b yA y c

  • min 4 6Sujet 6 3 10

    2 2 206

    , 0

    z x yx yx yx yx y

    =

    + + =

    +

    1

    2

    3

    u

    u

    u

    x

    y

    6 3 102 2 201 1 6

    x

    y

    1

    2

    3

    6 2 1 43 2 1 6

    u

    u

    u

    1 2 3

    1 2 3

    1 2 3

    1 3

    max 10 20 6Sujet 6 2 4

    3 2 60, 0

    u u u

    u u u

    u u u

    u u

    +

    + +

    min 4 6Sujet 6 3 10

    2 2 206

    , 0

    z x yx yx y

    x yx y

    =

    + + =

  • Problme primal et problme dual

    Problme de programmation linaire avec ingalits

    Problme de programmation linaire sous forme standard

    TminSujet

    0

    c x

    Ax bx

    TminSujet

    0

    c x

    Ax bx

    =

    Problme primal Problme dual

    Problme primal Problme dual

    y x

    y x

    T

    Tmax

    Sujet b yA y c

    T

    Tmax

    Sujet 0

    b yA y c

    y

  • Tmin Sujet

    0

    c x

    Ax bx

    T Tmin 0Sujet

    0, 0

    c x s

    Ax Is bx s

    =

    T

    T

    T

    max

    Sujet 0

    b ycA y

    I

    T

    Tmax

    Sujet 0

    b yA y c

    Iy

    T

    Tmax

    Sujet 0

    b yA y cy

  • Thormes de dualit

    Il est facile de dmontrer que nous pouvons passer dune paire de problmes primal-dual lautre.

    Il est galement facile de dmontrer que le problme dual du problme dual est le problme primal.

    Nous allons donc dmontrer les thormes de dualit en se rfrant la paire o le problme primal est sous forme standard:

    TminSujet

    0

    c x

    Ax bx

    =

    primal Dual

    T

    Tmax

    Sujet b yA y c

  • Thormes de dualit

    Thorme de dualit faibleSi (i.e., x est ralisable pour le problme primal) et si (i.e., y est ralisable pour le problme dual),

    Preuve En effet, .

    { }0,: = xbAxxx { }T:y y A y c T Talors b y c x

    T T T T Tpuisque et que 0b y x A y x c A y c x=

    *

    T T *

    T

    Si est une solution ralisable du dual et est une solution optimale du primalalors

    valeur optimale du primalet ainsi,

    est une borne infrieure sur

    NOTE:

    la

    y x

    b y c x

    b y

    =

    valeur optimale du primal

  • Thormes de dualit

    Corollaire Si et , et si,alors x* et y* sont des solutions optimales respectivement

    pour le problme primal et pour le problme dual.

    Preuve Du thorme de dualit faible, il dcoule que pour toute solution ralisable x du problme primal

    Par consquent x* est solution optimale du problme primal.Une preuve similaire est utilise pour dmontrer que y* est solution optimale du problme dual.

    { }0,:* = xbAxxx { }* T:y y A y c T * T *b y c x=

    T T * T * T * T T * T *et par hypothse . Donc .c x b y b y c x c x b y c x = =

  • Thormes de dualit

    Thorme de dualit forte Si un des deux problmes primal ou dual possde une solution optimale avec valeur finie, alors la mme chose est vraie pour lautre problme, et les valeurs optimales des deux problmes sont gales. Si un des deux problmes nest pas born, alors le domaine ralisable de lautre problme est vide.

    Preuve La seconde partie de lnonc dcoule directement du thorme de dualit faible. En effet, supposons que le problme primal nest pas borne infrieurement; ainsi cTx . Or si le problme dual tait ralisable, alors il existerait un et par le thorme de dualit faible, nous aurions que ;i.e., bTy serait une borne infrieure sur la valeur de la fonction conomique du primal cTx, une contradiction.

    { }T:y y A y c T Tb y c x

  • Thormes de dualit

    Pour dmontrer la premire partie, supposons que le problme primal possde une solution de base optimale x* pour laquelle la valeur de la fonction conomique est gale z*. Soit les variables de base correspondantes. Dnotons , et le vecteur des multiplicateurs associs la base optimale. Rappelons que les cots relatifs des variables sont dfinis comme suit

    o dnote la je colonne de la matrice A.Supposons que cette solution de base optimale est telle que

    Par consquent

    mjjj xxx ,...,, 21

    T 1, 2,...,j j jc c a j npi = =ja

    T 0 1, 2,...,j j jc c a j npi = =

    T 1,2,...,j ja c j npi =

    T1 2

    [ , ,..., ]B j j jmc c c c=

  • Thormes de dualit

    Supposons que cette solution de base optimale est telle que

    Par consquent

    ce qui scrit sous la forme matricielle.

    cest--dire que est une solution ralisable pour le problme dual.

    T 0 1,2,...,j j jc c a j npi = =T 1,2,...,j ja c j npi =

    T1

    TT2

    Tn

    a

    a A c

    a

    pi pi

    =

    { }T:y A y cpi

    Tou 1, 2,...,j ja c j npi =

  • Thormes de dualit

    valuons maintenant la valeur de la solution ralisable pour le problme dual. Rappelons dabord la dfinition de

    .

    Il sensuit que

    .

    Par consquent, il dcoule du Corollaire du thorme de dualit faible que est une solution optimale du problme dual, et que

    .

    T1BB cpi

    =

    T *b zpi =

    T TT T 1 1 T * *( )B B B Bb b B c B b c x c zpi = = = =

  • Thorie des carts complmentaires

    Les prochains rsultats introduisent de nouvelles conditions ncessaires et suffisantes pour que des solutions ralisables respectivement pour les problmes primal et dual soient optimales pour ceux-ci.

    Considrons dabord la paire suivante de problmes primal-dual

    TminSujet

    0

    c x

    Ax bx

    =

    primal Dual

    T

    Tmax

    Sujet b yA y c xy

  • Thorie des carts complmentaires

    Thorme des carts complmentaires 1Soit x et y des solutions ralisables respectivement pour les problmes primal et dual prcdents. Alors x et y sont des solutions optimales pour ces problmes si et seulement si pour tout j = 1,2,,n

    Preuve Dmontrons dabord que les conditions sont suffisantes. Supposons que les conditions (i) et (ii) sont satisfaites pour tout j=1,2,,n. Alors

    ( )( )

    T

    T

    00

    j j j

    j j j

    i x a y cii a y c x

    > =

    < =

    T[ ] 0 1, 2 , . .. ,j j jx a y c j n = =

    T

    1

    Donc 0n

    j j jj

    x a y c

    =

    =

    TminSujet

    0

    c x

    Ax bx

    =

    T

    Tmax

    Sujet b yA y c x

  • Thorie des carts complmentaires

    Par consquent

    et le corollaire du thorme de dualit faible implique que x et y sont des solutions optimales respectivement pour les problmes primal et dual.

    T T T T T T T

    1 1 1

    Orn n n

    j j j j j j jj j j

    x a y c x a y x c x A y c x b y c x

    = = =

    = = =

    T[ ] 0 1, 2 , . . . ,j j jx a y c j n = =

    T

    1

    Donc 0n

    j j jj

    x a y c

    =

    =

    T Tb y c x=

    [ ]

    T T T T1 1 2 2

    1T1

    T2

    1 2

    T

    T

    , , ,

    n

    j j n nj

    n

    n

    T

    x a y x a x a x a y

    a

    ax x x y

    a

    x A y

    =

    = + + +

    =

    =

  • Thorie des carts complmentaires

    Inversement, dmontrons que les conditions sont ncessaires. Supposons que les solutions x et y sont optimales respectivement pour le primal et le dual. Par consquent, se rfrant la premire partie de la preuve

    et la preuve est complte.

    T

    T

    Puisque 0 et 1,2,..., ,il sensuit que 0 1,2,...,

    j j j

    j j j

    x a y c j nx a y c j n

    =

    = =

    T T T

    1

    0n

    j j jj

    x a y c b y c x

    =

    = =

  • Thorie des carts complmentaires

    Considrons maintenant lautre paire de problmes primal-dual

    Thorme des carts complmentaires 2Soit x et y des solutions ralisables respectivement pour les problmes primal et dual prcdents. Alors x et y sont des solutions optimales pour ces problmes si et seulement si pour tout j = 1,2,,n pour tout i=1,2,,m

    TminSujet

    0

    c x

    Ax bx

    ( )( )

    T

    T0

    0j j j

    j j j

    i x a y cii a y c x

    > =

    < =

    ( )( ) iii

    iii

    bxayivybxaiii

    =>

    =>

    00

    Tmax

    Sujet 0T

    b yA y c

    y

    y x

  • Thorie des carts complmentaires

    Preuve Ce thorme peut tre dmontr comme un corollaire du thorme des carts complmentaires 1. Transformons le problme primal sous une forme standard en introduisant des variables dcarts si , i=1,2,,m. Le problme devient alors

    Le dual de ce problme scrit

    TminSujet

    , 0

    c x

    Ax Is bx s

    =

    T T

    T Tmax max

    Sujet Sujet 0 0

    b y b yA y c A y c

    I y I y

    TminSujet

    0

    c x

    Ax bx

  • Thorie des carts complmentaires

    Appliquons le thorme prcdent pour la paire de problmes suivants

    Pour j=1,2,,n

    et pour i=1,2,,m

    TminSujet

    , 0

    c x

    Ax Is bx s

    =

    ( )( )

    T

    T

    00

    j j j

    j j j

    i x a y cii a y c x

    > =

    < =

    ( )( ) 00

    00=

    ii

    ii

    syivysiii

    T

    Tmax

    Sujet 0

    b yA y c

    I y

    x

    s

    y

  • Thorie des carts complmentaires

    Pour j=1,2,,n

    et pour i=1,2,,m

    et alors les conditions deviennent

    ( )( )

    T

    T

    00

    j j j

    j j j

    i x a y cii a y c x

    > =

    < =

    ( )( ) 00

    00=

    ii

    ii

    syivysiii

    iii bxas = Or

    ( )( ) iii

    iii

    bxayivybxaiii

    =>

    =>

    00

    TminSujet

    , 0

    c x

    Ax Is bx s

    =

  • Algorithme dual du simplexe

    Lalgorithme dual du simplexe est une mthode itrative pour rsoudre un problme de programmation linaire sous sa forme standard

    njxbxaxaxa

    bxaxaxabxaxaxa

    Sujetxcxcxcz

    j

    mnmnmm

    nn

    nn

    nn

    ,...,2,10...

    ....

    ....

    ...

    ...

    min

    2211

    22222121

    11212111

    2211

    ==+++

    =+++

    =+++

    ++=

  • Algorithme dual du simplexe

    chaque itration nous avons une solution de base du problme qui nest pas ralisable, sauf la dernire itration de lalgorithme, et pour laquelle les cots relatifs de toutes les variables sont non ngatifs.

    Par exemple, considrons le problmemin 3/ 2 1/ 2 27

    Sujet 1/ 4 1/ 4 6 / 41/ 4 3/ 4 15 / 21/12 5 /12 13/ 2

    , , , , 0

    z u hx u h

    u p hy u h

    x y u p h

    = +

    + =

    + =

    + =

  • Algorithme dual du simplexe

    Analysons une itration typique de lalgorithme o le tableau du simplexe associ la solution de base actuelle est le suivant:

    mic

    njcij

    j

    ,...,2,10

    ,...,2,10

    ===

  • Critre de sortie

    mic

    njcij

    j

    ,...,2,10

    ,...,2,10

    ===

    termine.se algorithmeL'optimale.etralisableestsolutionlaalors,,...,2,10S mibi i =

  • Critre de sortie

    mic

    njcij

    j

    ,...,2,10

    ,...,2,10

    === { }

    1

    1

    1

    Sinon soit min 0 . S 0 1, 2,..., , alors

    le problme n'est pas ralisable. En effet puisque

    0 et 0

    il est impossible que .

    r rjii m

    n

    rj rjjn

    rj rjj

    b b i a j n

    a x b

    a x b

    =

    =

    = < =

  • Critre de sortie

    mic

    njcij

    j

    ,...,2,10

    ,...,2,10

    ===

    { }.tableauduligneladansferasepivotLe

    sortie.devariablelaest.0minsoitSinon1

    r

    xbbrjimi

    r

  • Critre dentre

    mic

    njcij

    j

    ,...,2,10

    ,...,2,10

    ===

    Nous allons choisir la variable dentre xs de telle sorte quei) la valeur de la variable de sortie xr augmente lorsque

    la valeur de xs augmenteii) les cots relatifs des variables demeurent non

    ngatifs lorsque le pivot sur est complt pour effectuer le changement de base

    rsa

    < 0rsa1 1s s

    r rs s

    m ms s

    b a x

    b a x

    b a x

  • Critre dentre

    mic

    njcij

    j

    ,...,2,10

    ,...,2,10

    ===

    0rsa

  • Parallle entrealgo. du simplexe et algo. dual du simplexe

    Algo. du simplexe

    Recherche dans le domaine ralisable

    Choisit la variable dentre pour rduirela valeur de la fonction conomique

    Choisit la variable de sortie pourprserver la ralisabilit

    Stop quand une solution optimale esttrouve ou que le problme nest pasborn infrieurement

    Algo. dual du simplexe

    Recherche lextrieur du domaineralisableChoisit le variable de sortie pour liminerune variable de base ngative

    Choisit la variable dentre pourprserver la condition doptimalit

    Stop quand la solution est ralisable ou quand le problme nest pas ralisable

    jc j 0