SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Programaci´n Lineal II. Teor´ de la
          o                 ıa
            dualidad
                    P.M. Mateo y David Lahoz
                         27 de mayo de 2009

   Este tema contin´a el desarrollo iniciado en el tema 1. En el se define
                     u
el problema dual asociado a un problema de programaci´n lineal (proble-
                                                            o
ma primal), mostrando ejemplos de problemas en los que al modificar los
planteamientos aparece un nuevo problema de programaci´n lineal que re-
                                                             o
sulta ser el problema dual del problema planteado inicialmente. Tras esto, se
desarrollan todos los teoremas habituales sobre las relaciones existentes entre
un problema primal y su dual desembocando en el enunciado y demostraci´n    o
del teorema fundamental de la dualidad y el teorema de la holgura comple-
mentaria. A continuaci´n se muestra la utilidad de alguno de estos resultados
                        o
por medio de una serie de ejemplos y se contin´a dedicando un peque˜o epi-
                                               u                        n
grafe a la interpretaci´n del valor de las variables del problema dual en el
                       o
optimo, mostrando como se establecen los precios sombra de los recursos de
´
un problema de programaci´n lineal. Finalmente se presenta el desarrollo del
                            o
algoritmo del simplex dual.




                                      1
Prog. Lineal            Dualidad              A. Post-optimal            Prog. Entera




´
Indice
1. Introducci´n
             o                                                                       3

2. El problema dual                                                                  4

3. Teoremas relativos a problemas primales y sus duales asociados                    9

4. Interpretaci´n econ´mica de las variables duales en el ´ptimo
               o      o                                   o                         18

5. Algoritmo del simplex dual                                                        20
   5.1. Determinaci´n de la variable que abandona la base . . . . . . . . . . . . 22
                   o
   5.2. Determinaci´n de la variable que entra la base . . . . . . . . . . . . . . . 22
                   o




                                          2
Prog. Lineal             Dualidad              A. Post-optimal              Prog. Entera

1.    Introducci´n
                o

   La teor´ de la dualidad nos va a permitir, entre otras cosas, relacionar cada problema
          ıa
de programaci´n lineal con otro denominado problema dual y obtener relaciones sobre
               o
el tipo de soluciones de ambos problemas, tambi´n nos va a proporcionar herramientas
                                                  e
alternativas a las ya conocidas para comprobar la optimalidad de soluciones, as´ como
                                                                                   ı
condiciones que pueden utilizarse para el desarrollo de nuevos algoritmos de resoluci´n,
                                                                                       o
etc.

  A continuaci´n vamos a enunciar y plantear un problema de producci´n en t´rminos
               o                                                     o      e
de programaci´n lineal y posteriormente plantearemos una nueva situaci´n en la que,
              o                                                        o
de una forma natural, surge el planteamiento del problema dual asociado al problema
primal (original) planteado.

   Una empresa internacional produce y vende estos dos tipos de supercomputadores: el
4MX500Mhz y el NMX800Mhz. En la elaboraci´n de ambos tipos de equipos hay que
                                                  o
destacar dos procesos, el de ensamblado final y el de empaquetado, procesos P1 y P2 . Esta
empresa dispone mensualmente de 2000 horas dedicadas al proceso de ensamblado y 1000
horas dedicadas al proceso de empaquetado, adem´s saben que los tiempos requeridos
                                                     a
para realizar dichas operaciones para cada uno de los tipos de supercomputadores son
los que se muestran en la tabla siguiente:
                                                                 Horas
                                Horas requeridas              mensuales
               Proceso     4MX500Mhz     NMX800Mhz            disponibles
                 P1            6               4                 2000
                 P2            2               4                 1000

El beneficio neto obtenido tras la venta de un supercomputador de tipo 4MX500Mhz es
de 400 u.m. y tras la venta de una unidad de NMX800Mhz es de 600 u.m.. Con esta
informaci´n planteamos y resolvemos inicialmente un problema que permita determinar
         o
el n´mero de unidades de cada tipo de ordenador con objeto de maximizar el beneficio
    u
total.

  Definimos las variables x1 y x2 como el n´mero de ordenadores elaborados de tipo
                                          u
4MX500mhz y NMX800Mhz respectivamente, con estas variables el problema queda:

                              m´x Z
                                a       = 400x1 + 600x2
                              s. a:
                                       6x1 + 4x2 ≤ 2000
                                       2x1 + 4x2 ≤ 1000
                                       x1 ≥ 0, x2 ≥ 0



                                           3
Prog. Lineal             Dualidad              A. Post-optimal             Prog. Entera

  La soluci´n optima de dicho problema es elaborar 250 unidades del tipo 4MX500Mhz
           o ´
y 125 unidades del tipo NMX800Mhz con un beneficio de 175000 u.m.

   Ahora cambiamos el enfoque sobre el problema planteado, nuestro prop´sito va a ser
                                                                         o
determinar los precios a los cuales esta empresa deber´ valorar sus recursos (horas de
                                                       ıa
trabajo de los dos procesos) de tal manera que puedan determinar el m´ınimo valor total
al cual estar´ dispuesta a arrendar o vender los recursos.
             ıa

   Sean y1 e y2 , la renta percibida por hora de los procesos P1 y P2 respectivamente.
La renta total obtenida ser´ pues, 2000y1 + 1000y2 . Se desea como objetivo encontrar
                             a
el m´ınimo valor de 2000y1 + 1000y2 de modo que la empresa pueda, de una manera
inteligente, analizar algunas propuestas de alquiler o compra de todos los recursos como
un paquete total.

   Se consideran las condiciones siguientes, los precios pagados por el alquiler ser´n no
                                                                                    a
negativos, es decir y1 ≥ 0, y2 ≥ 0. Adem´s los precios y1 e y2 deben ser competitivos
                                            a
con las alternativas disponibles, es decir, el beneficio que la empresa debe obtener por
los recursos necesarios para elaborar un supercomputador al menos deben ser iguales
a los que obtendr´ al utilizar dichos recursos en la elaboraci´n del computador, es
                   ıa                                            o
decir, para el 4MX500Mhz tendremos 6y1 + 2y2 ≥ 400 y para el NMX800Mhz queda
4y1 + 4y2 ≥ 600. Con esto garantiza la obtenci´n de precios con los que al menos iguala
                                                o
el beneficio obtenido al producir ´l mismo los equipos. El problema planteado queda:
                                  e
                             m´ Z
                               ın      = 2000y1 + 1000y2
                             s. a:
                                      6y1 + 2y2 ≥ 400
                                      4y1 + 4y2 ≥ 600
                                      y1 ≥ 0, y2 ≥ 0


   La resoluci´n de este problema proporciona un valor de 25 para cada unidad del primer
              o
recurso y un valor de 125 para cada unidad del segundo, con un beneficio de 175000, igual
al obtenido en el planteamiento del primer problema. Este nuevo problema es problema
dual del problema planteado originalmente.



2.    El problema dual

  Como ya hemos comentado, asociado a un problema de programaci´n lineal aparece
                                                                     o
otro problema de programaci´n lineal denominado problema dual (asociado al primero),
                              o
en general nos referiremos al primero como problema primal y lo denotaremos mediante
[P], y al segundo como problema dual y lo denotaremos con [D].



                                           4
Prog. Lineal                Dualidad                   A. Post-optimal           Prog. Entera

Definicion 1. Un problema de programaci´n lineal se dice que est´ en forma sim´trica
          ´                                  o                      a                e
si todas las variables est´n restringidas a ser no negativas y todas las restricciones son
                          a
de tipo “≤“ en el caso de m´ximo y de tipo “≥” en el caso de m´nimo, es decir, toman
                             a                                    ı
la forma:
                   m´x
                     a      Z = cx                    m´ ın    Z = cx
                   s. a:    Ax ≤ b                    s. a:    Ax ≥ b
                           x≥0                                x≥0
Definicion 2. Dado un problema de programaci´n lineal en forma sim´trica de m´ximo
        ´                                   o                     e          a
                                      m´x
                                        a              Z = cx
                                      [P ] s. a:        Ax ≤ b
                                                        x ≥ 0,
entonces su problema dual asociado es
                                      m´ın             G =by
                                      [D] s. a:        Ay≥c
                                                       y ≥ 0,
donde y es un vector de m componentes, (tantas como restricciones en el problema
primal).


  En general puede definirse el problema dual de uno dado, para cualquier problema de
programaci´n lineal, y posteriormente extender la definici´n al resto de problemas de
           o                                              o
programaci´n lineal. La elecci´n del problema de programaci´n lineal en forma sim´trica
           o                    o                           o                    e
de m´ximo como problema de referencia ha sido unicamente por comodidad en algunos
     a                                           ´
de los desarrollos posteriores.

  En la siguiente proposici´n se muestra como quedan los problemas duales de algunos
                           o
problemas de programaci´n lineal:
                         o
Proposicion 1. Se cumplen las siguientes reglas para la construcci´n de problemas
         ´                                                        o
duales:

   i) El problema
               m´ın         Z = cx                                 m´x
                                                                     a         G =by
               [P ] s. a:    Ax ≥ b         se dualiza en          [D] s. a:   Ay≤c
                            x≥0                                                y ≥ 0.
     En consecuencia el problema dual del problema dual es el problema primal.

  ii) El problema
               m´x
                 a          Z = cx                                 m´ın        G =by
               [P ] s. a:    Ax ≥ b         se dualiza en          [D] s. a:   Ay≥c
                            x≥0                                                y ≤ 0.



                                                   5
Prog. Lineal                    Dualidad                A. Post-optimal               Prog. Entera

 iii) El problema
                  m´x
                    a           Z = cx                                m´ın        G =by
                  [P ] s. a:     Ax ≤ b      se dualiza en            [D] s. a:   Ay≤c
                                x≤0                                               y ≥ 0.


 iv) El problema
      m´x
        a             Z = cx                                 m´ın          G =by
      [P ] s. a:       Ax = b         se dualiza en          [D] s. a:     Ay≥c
                      x≥0                                                  y no restringidas en signo.


  v) El problema
      m´x
        a             Z = cx                                                      m´ın        G =by
      [P ] s. a:       Ax ≤ b                              se dualiza en          [D] s. a:   Ay=c
                      x no restringidas en signo                                              y ≥ 0.


 vi) Etc. . . .


Demostraci´n. Vamos a demostrar dos de los casos, el resto se realizar´ de una forma
             o                                                        ıa
similar, la idea es transformar el problema en un problema para el cual conozcamos su
dual.

  i) Vamos a transformar el problema i) para que sea un problema de m´ximo con a
     restricciones de tipo ‘≤’ y con variables no negativas, para ello basta con cambiar
     de signo la funci´n objetivo y con multiplicar por −1 cada una de las restricciones
                      o
     del problema, es decir,
                        m´ın     Z = cx                       m´x
                                                                a        (−Z) = −cx
                        s. a:    Ax ≥ b        ⇐⇒             s. a:       −Ax ≤ −b
                                 x≥0                                     x≥0
     Este problema ya se ajusta a la definici´n sobre dualidad dada inicialmente, y su
                                            o
     dual es
                                   m´ın G = −b y
                                   s. a: −A y ≥ −c
                                          y≥0

     que de una manera directa queda
                                            m´x
                                              a         G =by
                                            s. a:       Ay≤c
                                                        y≥0



                                                    6
Prog. Lineal              Dualidad                 A. Post-optimal                Prog. Entera

 iv) Para acomodar este caso a la definici´n vamos a transformar las restricciones de
                                          o
     igualdad en desigualdades de tipo ‘≤’, en primer ponemos Ax = b como Ax ≤ b
     y Ax ≥ b, o equivalentemente, Ax ≤ b y −Ax ≤ −b. As´ el problema queda
                                                            ı

               m´x
                 a     Z = cx                            m´x
                                                          a      Z = cx
               s. a:    Ax ≤ b                                      A              b
                                             ⇐⇒          s. a:          x≤
                        −Ax ≤ −b                                   −A             −b
                       x ≥ 0,                                    x ≥ 0,


    este problema ya est´ en forma sim´trica, y podemos escribir su problema dual
                        a             e
    que queda
                                m´ın G = (b , −b )y
                                s. a: (A , −A )y ≥ c
                                      y ≥ 0,


    donde y es un vector de 2m componentes, las correspondientes a las filas de A
    (yi , i = 1, . . . , m) y las correspondientes a la parte de −A, (yi , i = m + 1, . . . , 2m).
    A continuaci´n vamos a realizar un cambio de formato a este problema hasta que
                     o
    nos conduzca a la formulaci´n planteada en el enunciado de la proposici´n.
                                       o                                             o

    Si nos fijamos en una variable yi (1 ≤ i ≤ m) y en la correspondiente en la parte
    de −A, es decir la yj con j = i + m sus coeficientes son, bi para yi y bj = −bi para
    yj , por tanto en la funci´n objetivo podr´
                              o                ıamos agruparlas poniendo bi (yi − yi+m ).
    An´logamente si nos fijamos en la parte de las restricciones, una variable yi y la
        a
    yi+m tienen, en una restricci´n j cualquiera, coeficientes aij y −aij respectivamente,
                                  o
    por lo que tambi´n podremos poner aij (yi −yi+m ). En vista de estos hechos podemos
                     e
    definir una variable vi = yi − yi+m que por construcci´n ser´ no restringida en
                                                              o      ıa
    signo con la que, sustituy´ndola en el problema anterior, obtendr´
                                e                                        ıamos

                                     m´ın    G =bv
                                     s. a:    Av≥c
                                             v no restringida,


    donde v es un m-vector de variables no restringidas en signo, con lo que se de-
    muestra el apartado de la proposici´n.
                                       o




 De la proposici´n anterior se pueden extraer las siguientes ideas:
                o




                                               7
Prog. Lineal            Dualidad              A. Post-optimal                Prog. Entera

  1. Si el problema primal es de m´ximo el dual es de m´
                                   a                   ınimo y, rec´
                                                                   ıprocamente, si el
     problema primal es de m´ ınimo su dual es de m´ximo.
                                                   a

  2. La matriz de coeficientes del problema dual es la traspuesta de la matriz de coefi-
     cientes del problema original.

  3. El vector de costos del problema dual es el vector de recursos del problema primal
     (original).

  4. El vector de recursos del problema dual es el vector de costos del problema primal.

  5. Cada restricci´n del problema primal da lugar a una variable en el problema dual
                   o
     y, cada variable en el primal da lugar a una restricci´n del problema dual.
                                                           o

  Tras estos comentarios proporcionamos una tabla resumen en la que se pueden obtener
todas las reglas de dualizaci´n, tanto para problemas de m´ximo como de m´
                              o                             a                  ınimo,
restricciones de igualdad, desigualdad, etc.



               Primal                                               Dual
               (Dual)                                             (Primal)
    m´x
     a                                                      m´
                                                             ın

    Restricci´n “≤”
             o                                              Variable “≥ 0”
    Restricci´n “=”
             o                                              Variable no restringida
    Restricci´n “≥”
             o                                              Variable “≤ 0”

    Variable “≥ 0”                                          Restricci´n “≥”
                                                                     o
    Variable no restringida                                 Restricci´n “=”
                                                                     o
    Variable “≤ 0”                                          Restricci´n “≤”
                                                                     o



Si el problema primal es de m´ximo se lee de izquierda a derecha y, en caso contrario,
                             a
problema primal de m´ınimo, de derecha a izquierda.

  Veamos algunos ejemplos de dualizaci´n:
                                      o




                                          8
Prog. Lineal             Dualidad               A. Post-optimal            Prog. Entera



     m´x Z
       a       = 3x1 + 2x2 + 4x3                            m´ G
                                                              ın      = 7y1 + 8y2
     s. a:     x1 + 2x2 − x3 ≤ 7                            s. a:     y1 + y2 ≥ 3
     [P ]      x1 + x2 + x3 ≤ 8                             [D]       2y1 + y2 ≥ 2
               x1 ≥ 0, x2 ≥ 0, x3 ≤ 0                                 −y1 + y2 ≤ 4
                                                                      y1 ≥ 0, y2 ≥ 0



     m´ Z
       ın      = 3x1 + 7x2 + x3                        m´x G
                                                         a        = 7y1 + 8y2 + 5y3
     s. a:     x1 + 2x2 + x3 ≤ 7                       s. a:      y1 + 2y2 + 3y3 ≥ 3
     [P ]      2x1 + 3x2 − x3 ≥ 8                      [D]        2y1 + 3y2 + y3 = 7
               3x1 + x2 + 2x3 = 5                                 y1 − y2 + 2y3 ≤ 1
               x1 ≤ 0, x2 no restringida,                         y1 ≤ 0, y2 ≥ 0,
               x3 ≥ 0                                             y3 no restringida



3.    Teoremas relativos a problemas primales y sus
      duales asociados

  Mientras no se indique lo contrario vamos a trabajar con los siguientes problema
primal y dual:

             m´x Z = cx
               a                                           m´ G = b y
                                                             ın
             [P ]  Ax ≤ b                                  [D]  Ay≥c
                   x≥0                                          y≥0

                                           ¯ ¯
Teorema 1 (De la dualidad d´bil). Si x e y son soluciones factibles de un par de
                                e
problemas primal y dual [P] y [D], respectivamente, entonces se verifica

                               Z(¯ ) = c¯ ≤ b y = G(¯ )
                                 x      x     ¯     y

Es decir, para cualquier par de soluciones factibles de un problema primal y su dual el
valor de la funci´n objetivo del problema de m´ximo es menor o igual que el valor de la
                 o                            a
funci´n objetivo del problema de m´nimo.
     o                              ı


                      ¯ ¯
Demostraci´n. Por ser x e y factibles se tiene que
          o

                                A¯ ≤ b
                                  x             Ay≥c
                                                  ¯
                                            y
                                 x≥0
                                 ¯               y≥0
                                                 ¯




                                            9
Prog. Lineal               Dualidad             A. Post-optimal               Prog. Entera

                                                   ¯                  ¯
Multiplicando a izquierda la primera expresi´n por y y la segunda por x , y trasponiendo
                                            o
´sta ultima obtenemos
e    ´

                            y A¯ ≤ y b
                            ¯ x ¯                  y A¯ ≥ c¯
                                                   ¯ x     x

Observando lo anterior:
                                c¯ ≤ y A¯ ≤ y b = b y
                                 x ¯ x ¯            ¯


Corolario 1. El valor de la funci´n objetivo del problema primal de m´ximo para
                                       o                                     a
cualquier soluci´n factible es una cota inferior del m´nimo valor de la funci´n objetivo
                 o                                     ı                      o
del dual, y reciprocamente, el valor de la funci´n objetivo del problema dual de m´nimo
                                                o                                   ı
para cualquier soluci´n factible dual es una cota superior del m´ximo valor de la funci´n
                     o                                          a                      o
objetivo del primal.

Corolario 2. Si el problema primal es factible y su soluci´n es no acotada, (Z → ∞),
                                                           o
entonces el problema dual no tiene soluci´n. An´logamente, si el problema dual es factible
                                         o     a
pero con soluci´n no acotada, (G → −∞), entonces el problema primal no tiene soluci´n
               o                                                                       o
factible.

Teorema 2 (Criterio de Optimalidad). Si existen soluciones factibles para los prob-
lemas primal y dual [P] y [D] tales que los valores correspondientes de las funciones
objetivo coinciden, entonces dichas soluciones factibles son ´ptimas para sus respectivos
                                                             o
problemas.


Demostraci´n. Sean x∗ e y∗ factibles para los problemas [P] y [D] respectivamente, y
           o
tal que cx = b y∗ . Sea x cualquier soluci´n factible del problema primal [P], por el
          ∗
                                          o
teorema 1 se tiene que
                                 cx ≤ b y∗ = cx∗
y por lo tanto x∗ es una soluci´n ´ptima del problema primal [P]. Un argumento an´logo
                               o o                                               a
prueba la optimalidad de y∗ para el problema dual [D].


  Consideremos ahora el problema primal en forma est´ndar y su dual asociado.
                                                    a

               m´ın        Z = cx               m´x
                                                  a        G = by
               [P ] s a:   Ax = b               [D] s a:   Ay≤c
                           x≥0                             y no restringida

Teorema 3. Sea x∗ una SFB ´ptima de [P] y sea B la matriz asociada a su base,
                                o
entonces π = cB B −1 es una soluci´n ´ptima del problema dual [D].
                                  o o




                                           10
Prog. Lineal               Dualidad                     A. Post-optimal           Prog. Entera

Demostraci´n. Como x∗ es una SFB optima entonces x∗ = B −1 b ≥ 0 y cj −cB B −1 Aj ≥
           o                       ´                  B
                           −1
0 ∀j, ahora bien, cj − cB B Aj = cj − πAj ≥ 0 ∀j que en forma matricial y operando
toma la forma A π ≤ c y por tanto π es una soluci´n factible del problema dual [D].
                                                    o
Adem´sa
                        G = b π = πb = cB B −1 b = cB x∗ = Z ∗
                                                        B
y por el teorema 2, la soluci´n π es una soluci´n ´ptima de [D].
                             o                 o o
Corolario 3. Si el problema primal tiene soluci´n ´ptima finita entonces el problema
                                                  o o
dual tambi´n, y rec´procamente, si el problema dual tiene soluci´n ´ptima finita entonces
           e       ı                                            o o
el primal tambi´n.
               e
Corolario 4. Si el problema primal es no factible entonces su dual o no tiene soluci´n   o
o tiene soluci´n no acotada, y rec´procamente, si el dual es no factible entonces el primal
              o                   ı
o es no factible o tiene soluci´n no acotada.
                               o


Demostraci´n. Veamos el primer caso (problema primal no factible), el segundo es an´lo-
             o                                                                      a
go. Si el problema dual es no factible el corolario se verifica, veamos que en caso con-
trario se ha de cumplir obligatoriamente que el problema dual tiene soluci´n no acotada.
                                                                          o
Supongamos que no fuera as´ es decir, que el problema dual es factible y tiene solu-
                               ı,
ci´n optima (finita), entonces por el teorema anterior dada la soluci´n otima del dual
  o ´                                                                 o ´
podr´ ıamos construir una soluci´n factible (y optima) del primal, con lo que obtenemos
                                  o            ´
una contradicci´n ya que el problema primal es no factible, por tanto el problema dual
                 o
si es factible debe tener soluci´n no acotada.
                                o


Observaciones: Si se ha utilizado el algoritmo del simplex para la resoluci´n de un prob-
                                                                                   o
lema de programaci´n lineal entonces el valor ´ptimo de las variables del problema dual
                    o                               o
se encuentra en las Zj correspondientes a las variables de la primera base. Basta para
ello con notar que la primera base tiene matriz B asociada igual a la identidad y por
tanto se verifica:
                     1 0 ... 0
                                  
                  0 1 ... 0
      π = cB B −1  . . . .      .=
                                  
                  . .
                     . .      . .
                                 .
                     0 0  . . 1  
                            .
                         1              0                       0
                                                              
                      0            1                      0 
           = cB B −1  .  , cB B −1  .  , . . . , cB B −1  .  = (Zj1 , Zj2 , . . . , Zjm )
                                                          
                      .
                         .            .
                                        .                      . 
                                                                .
                         0              0                       1

  y por tanto
                           (π1 , π2 , . . . , πm ) = (Zj1 , Zj2 , . . . , Zjm )

  Como resumen de todos los elementos anteriores enunciamos el resultado conocido
como teorema fundamental de la dualidad



                                                   11
Prog. Lineal             Dualidad               A. Post-optimal            Prog. Entera

Teorema 4 (Teorema fundamental de la dualidad). Dado un problema primal y su dual
s´lo una de las siguientes afirmaciones es cierta:
 o

   P tiene soluci´n ´ptima (finita) ⇐⇒ [D] tiene soluci´n ´ptima (finita).
                 o o                                  o o

   P es no factible =⇒ [D] es no factible o [D] tiene soluci´n no acotada.
                                                            o

  D es no factible =⇒ [P] es no factible o [P] tiene soluci´n no acotada.
                                                           o

   P tiene soluci´n no acotada =⇒ [D] es no factible.
                 o

  D tiene soluci´n no acotada =⇒ [P] es no factible.
                o


  Para finalizar el apartado vamos a enunciar y demostrar el teorema de la holgura
complementaria, para ello en primer lugar volveremos a considerar como problemas
primal y dual los problemas en forma sim´trica de m´ximo y m´
                                        e          a        ınimo respectivamente.

          o         ¯ ¯
Observaci´n: Dados x e y soluciones factibles para el problema sim´trico de m´ximo y
                                                                  e          a
su dual respectivamente, entonces

                  (¯ A − c)¯ + y (b − A¯ ) = y u + v x = y b − c¯ ,
                   y       x ¯         x     ¯¯ ¯¯ ¯            x

donde u son las variables de holgura del problema primal y v son las variables de holgura
del problema dual.

   Para ver la veracidad de las igualdades anteriores basta con las siguientes considera-
               ¯ ¯
ciones. Dadas x e y se a˜aden holguras en las restricciones de sus problemas respectivos
                         n
con lo que:
                         x ¯
                       A¯ + u = b                       Ay−v =c
                                                          ¯ ¯
                       x, u ≥ 0
                       ¯ ¯                              y, v ≥ 0.
                                                        ¯ ¯


             ¯ ¯
  Despejando u y v y sustituy´ndolo se obtiene la primera parte de la observaci´n:
                             e                                                 o

                         (¯ A − c)¯ + y (b − A¯ ) = y u + v x
                          y       x ¯         x     ¯¯ ¯¯


                                               ¯       ¯
  Para continuar multiplicamos a izquierda por y y por x tal y como se muestra:

                                    ¯ x ¯¯ ¯
                                    y A¯ + y u = y b
                                    xAy−xv =xc
                                    ¯ ¯ ¯¯ ¯




                                           12
Prog. Lineal              Dualidad              A. Post-optimal            Prog. Entera

Finalmente trasponiendo la segunda expresi´n y rest´ndolas se obtiene:
                                          o        a

                                 y u + v x = y b − c¯
                                 ¯¯ ¯¯ ¯            x


  Juntando las expresiones anteriores obtenemos la expresi´n indicada inicialmente, es
                                                          o
decir,
                 (¯ A − c)¯ + y (b − A¯ ) = y u + v x = y b − c¯ ,
                  y        x ¯          x    ¯¯ ¯¯ ¯             x


  Esta expresi´n nos permite demostrar de una manera directa el siguiente e importante
              o
resultado

                                                    ¯ ¯
Teorema 5 (de la Holgura Complementaria). Dadas x e y soluciones factibles de los
              e           a                       ¯ ¯
problemas sim´trico de m´ximo y su dual, entonces x e y son soluciones ´ptimas para
                                                                       o
sus problemas respectivos si y s´lo si se verifica
                                o

                              (¯ A − c)¯ + y (b − A¯ ) = 0
                               y       x ¯         x


Demostraci´n. Teniendo en cuenta la expresi´n obtenida
          o                                o

                   (¯ A − c)¯ + y (b − A¯ ) = y u + v x = y b − c¯ ,
                    y       x ¯         x     ¯¯ ¯¯ ¯            x

                 ¯ ¯
tenemos que, si x e y son soluciones optimas entonces el valor de la funci´n objetivo
                                        ´                                      o
para cada uno de estos dos puntos coincide y en consecuencia la ultima parte de la
                                                                       ´
expresi´n anterior es cero y por la cadena de igualdades la primera de ellas que es la que
       o
corresponde a la del enunciado. Si por el contrario se verifica la expresi´n del enunciado,
                                                                         o
entonces por la cadena de igualdades la expresi´n final es cero, por tanto el valor de la
                                                 o
funci´n objetivo coincide y ambas soluciones son optimas para sus problemas respectivos
     o                                            ´
(teorema 2)


Nota: las condiciones
                              (¯ A − c)¯ + y (b − A¯ ) = 0
                               y       x ¯         x
se nombrar´n como Condiciones de la Holgura Complementaria (CHC).
          a

   Para finalizar el desarrollo te´rico del apartado y antes de ver algunos ejemplos de
                                 o
aplicaci´n de los resultados desarrollados vamos a realizar una nueva transformaci´n de
        o                                                                         o
las condiciones del teorema que permiten un manejo m´s sencillo.
                                                        a

                                                                        ¯      ¯
  Teniendo en cuenta que si las dos soluciones factibles entonces tanto x como y y las
         ¯ ¯
holguras u y v son no negativas y teniendo en cuenta que

                        0 = (¯ A − c)¯ + y (b − A¯ ) = y u + v x
                             y       x ¯         x     ¯¯ ¯¯



                                           13
Prog. Lineal             Dualidad                A. Post-optimal            Prog. Entera

se obtiene
                                 ¯¯
                                 yu=0 y          ¯¯
                                                 v x = 0,
por la misma raz´n tenemos que si expresamos estos productos escalares componente a
                o
componente, entonces cada uno de los productos est´ formado por elementos no negativos
                                                  a
y su suma es nula por lo que podemos asegurar que

                                  xj vj = 0 ∀j = 1, . . . , n
                                  ¯ ¯
                                  yi ui = 0 ∀i = 1, . . . , m
                                  ¯¯


   Con las CHC expresadas de esta forma podemos reenunciar el teorema de la forma
siguiente

                                                    ¯ ¯
Teorema 6 (de la Holgura Complementaria). Dado x e y soluciones factibles de los
              e           a                       ¯ ¯
problemas sim´trico de m´ximo y su dual, entonces x e y son soluciones ´ptimas para
                                                                       o
sus problemas respectivos si y s´lo si se verifica
                                o

                                 xj vj = 0 ∀j = 1, . . . , n
                                 ¯ ¯
                                 yi ui = 0 ∀i = 1, . . . , m,
                                 ¯¯

      ¯                                                             ¯
donde u son las holguras de las restricciones del problema primal y v las holguras cor-
respondientes al problema dual.


   Observando esta ultima forma de las CHC estas se pueden expresar de la forma sigu-
                   ´
iente:

     Si una variable primal, xj , es distinta de cero, entonces la correspondiente restric-
     ci´n del dual se verifica con igualdad en el optimo, vj = 0.
       o                                           ´

     Si una restricci´n primal es una desigualdad estricta en el optimo, ui > 0, entonces
                     o                                           ´
     la variable dual asociada, yi , debe tomar valor nulo.

     Si una variable dual yi , es distinta de cero, entonces la correspondiente restricci´n
                                                                                         o
     del primal se verifica con igualdad en el ´ptimo, ui = 0.
                                                 o

     Si una restricci´n dual es una desigualdad estricta en el optimo, vj > 0, entonces
                     o                                         ´
     la variable primal asociada, xj , debe tomar valor nulo.

  Finalizamos mostrando la utilizaci´n de las condiciones de la holgura complementaria
                                    o
para la determinaci´n de la optimalidad o no de soluciones.
                   o

Ejemplos:



                                            14
Prog. Lineal              Dualidad                   A. Post-optimal               Prog. Entera

  Dado el siguiente PPL
                      m´ Z = 100x1 + 360x2 + 240x3
                        ın
                      s. a: 1000x1 + 4000x2 + 2000x3 ≥ 2000
                            200x1 + 900x2 + 500x3 ≥ 3000
                            x1 ≥ 0, x2 ≥ 0, x3 ≥ 0,


  demostrar que x = (0, 30 , 0) e y = (0, 2 ) son soluciones ´ptimas de dicho problema y
                        9                 5
                                                             o
de su dual.

  En primer lugar plantearemos el problema dual y comprobaremos que ambas son
soluciones factibles (ya que este es el primer requerimiento del THC).


                             m´x G = 2000y1 + 3000y2
                               a
                             s. a: 1000y1 + 200y2 ≤ 100
                                   4000y1 + 900y2 ≤ 360
                                   2000y1 + 500y2 ≤ 240
                                   y1 ≥ 0, y2 ≥ 0.


  Al evaluar ambas soluciones obtenemos los siguiente valores
                      (x, u) = (x1 , x2 , x3 , u1 , u2 ) = (0, 30 , 0, 3400 , 0)
                                                                 9        3
                                                               2
                      (y, v) = (y1 , y2 , v1 , v2 , v3 ) = (0, 5 , 20, 0, 40),
como todas las holguras toman valor no negativo, ambas soluciones son factibles. A
continuaci´n comprobamos si se cumplen las CHC, es decir: xj vj = 0 ∀j e yi ui = 0 ∀i.
          o


                                      x1 v1   = 0 × 20 = 0
                                      x2 v2   = 30 × 0 = 0
                                                 9
                                      x3 v3   = 0 × 40 = 0
                                      y1 u1   = 0 × 3400 = 0
                                                     3
                                      y2 u2   = 2 ×0=0
                                                5



  En consecuencia se verifican las condiciones del THC y ambas soluciones son optimas
                                                                             ´
para sus problemas respectivos.

  Sea ahora el siguiente PPL
                             m´ Z
                               ın        = 12x1 + 10x2 + 4x3
                             s. a:       4x1 + 4x2 + x3 ≥ 5
                                        2x1 + x2 + x3 ≥ 3
                                        x1 ≥ 0, x2 ≥ 0, x3 ≥ 0.



                                                15
Prog. Lineal                  Dualidad                A. Post-optimal         Prog. Entera

  ¿Es ´ptima la soluci´n (x1 , x2 , x3 , u1 , u2 ) = (1, 0, 1, 0, 0)?
      o               o

   Vamos a aplicar el THC para determinar si esta soluci´n factible es ´ptima o no.
                                                            o               o
Si fuera soluci´n optima por el teorema fundamental de la dualidad su dual tambi´n
                o ´                                                                    e
tendr´ soluci´n optima, y por el THC ´sta deber´ ser soluci´n de las CHC. Por tanto
      ıa      o ´                        e       ıa           o
dada esta soluci´n imponemos el cumplimiento de las CHC con la soluci´n factible dada.
                 o                                                      o
Si su resoluci´n proporciona alguna soluci´n dual factible, entonces a la soluci´n inicial
              o                            o                                    o
y a la obtenida se les puede aplicar el THC y concluir que ambas son optimas para sus
                                                                        ´
problemas respectivos.

  Si en la resoluci´n del sistema resultante obtenemos que no existe ninguna soluci´n o
                   o                                                                  o
que las unicas soluciones duales existentes no son factibles, entonces podremos concluir
         ´
que la soluci´n primal inicial no es optima (en caso contrario deber´ existir una soluci´n
             o                       ´                              ıa                  o
factible que junto con ella las verificara).

  Veamos como quedan estos desarrollos con nuestro ejemplo:

  Escribimos el problema dual e imponemos las CHC:
                                    m´x Z
                                      a         = 5y1 + 3y2
                                    s .a:       4y1 + 2y2 ≤ 12
                                               4y1 + y2 ≤ 10
                                               y1 + y2 ≤ 4
                                               y1 ≥ 0, y2 ≥ 0



                     x1 v1   = 0 = 1(12 − 4y1 − 2y2 ) =⇒ 12 − 4y1 − 2y2 = 0
                     x2 v2   = 0 = 0(10 − 4y1 − y2 ) #
                     x3 v3   = 0 = 1(4 − y1 − y2 ) =⇒ 4 − y1 − y2 = 0
                     y1 u1   = 0 = y1 0 #
                     y2 u2   = 0 = y2 0 #


  El sistema resultante de imponer las CHC es
                                           4y1 + 2y2 = 12
                                           y1 + y2 = 4,
cuya resoluci´n proporciona una unica soluci´n
             o                  ´           o
                                            y1 = y2 = 2
Que sustituy´ndola en el problema dual proporciona (v1 , v2 , v3 ) = (0, 0, 0) por lo tanto
              e
es factible y podemos aplicarle junto a la soluci´n del problema primal inicial el THC y
                                                 o
concluir que ambas soluciones son ´ptimas para sus problemas respectivos.
                                   o



                                                 16
Prog. Lineal                 Dualidad               A. Post-optimal        Prog. Entera

  Veamos un ultimo ejemplo para concluir el apartado. Sea el PPL:
            ´
                                m´ Z = 85x1 + 40x2
                                  ın
                                s. a: 2x1 + x2 ≥ 8
                                      6x1 + x2 ≥ 12
                                      x1 + 3x2 ≥ 19
                                      x1 ≥ 0, x2 ≥ 0, x3 ≥ 0


  Comprobar si es ´ptima la soluci´n x = (0, 12). Calculamos el valor de las holguras
                  o                 o
del problema primal u = (4, 0, 17), planteamos el problema dual e imponemos las CHC,
                                m´x G = 8y1 + 12y2 + 19y3
                                 a
                                s. a: 2y1 + 6y2 + y3 ≤ 85
                                      y1 + y2 + 3y3 ≤ 40
                                      y1 ≥ 0, y2 ≥ 0, y3 ≥ 0



                   x1 v 1   = 0 = 0 × v1 #
                   x2 v 2   = 0 = 12 × v2 =⇒ v2 = 40 − y1 − y2 − 3y3 = 0
                   y1 u1    = 0 = y1 × 4 =⇒ y1 = 0
                   y2 u2    = 0 = y2 × 0 #
                   y3 u3    = 0 = y3 × 17 =⇒ y3 = 0


  Sustituyendo y1 e y3 en la expresi´n 40 − y1 − y2 − 3y3 = 0 obtenemos y2 = 40, por
                                       o
tanto y = (0, 40, 0) es la unica soluci´n que junto a la inicial verifica las CHC. Como la
                           ´           o
soluci´n encontrada no es factible, ya que, v1 = −155, podemos concluir que la soluci´n
      o                                                                               o
x = (0, 12) no es optima.
                  ´

  Sobre este mismo ejemplo comprobar si la soluci´n x = (1, 6) es optima.
                                                 o                ´

   Calculando el valor de las holguras primales u = (0, 0, 0), las CHC toman la forma
siguiente:
               x1 v1   = 1(85 − 2y1 − 6y2 − y3 ) = 0 =⇒ 2y1 + 6y2 + y3 = 85
               x2 v2   = 6(40 − y1 − y2 − 3y3 ) = 0 =⇒ y1 + y2 + 3y3 = 40
               y1 u1   = y1 0 = 0 #
               y2 u1   = y2 0 = 0 #
               y3 u1   = y3 0 = 0 #


  Tras imponer su cumplimiento obtenemos que debe verificarse que
                                        2y1 + 6y2 + y3 = 85
                                        y1 + y2 + 3y3 = 40



                                               17
Prog. Lineal             Dualidad               A. Post-optimal            Prog. Entera

  Si existe alguna soluci´n de dicho sistema que sea factible dual, junto con la soluci´n
                         o                                                             o
primal factible proporcionada x = (1, 6), estar´n en condiciones de aplicar el THC y
                                               a
concluir que ambas soluciones son ´ptimas para sus problemas respectivos.
                                   o

   Vamos a buscar soluciones del sistema anterior. Tomando y2 como un par´metro que
                                                                         a
inicialmente restringimos unicamente a y2 ≥ 0 obtenemos
                          ´

                                      y1 = 43 − 17 y2
                                                 5
                                      y2 = y2 ≥ 0
                                      y3 = −1 + 4 y2
                                                 5



  Puede comprobarse sin dificultad que y1 , y2 e y3 definidas en los t´rminos anteriores
                                                                    e
verifican las restricciones del problema dual, unicamente quedar´ por garantizar la no
                                               ´                a
negatividad de y1 e y3 , para lo cual deber´ cumplirse que
                                           a

                               43 − 17 y2 ≥ 0 =⇒ y2 ≤ 215
                                    5                  17
                               −1 + 4 y2 ≥ 0 =⇒ y2 ≥ 4
                                     5
                                                      5




  Por tanto cualquier soluci´n de la forma
                            o

                                      y1 = 43 − 17 y2
                                                5
                                      y2
                                      y3 = −1 + 4 y2
                                                 5




  con y2 ∈ [ 4 , 215 ] es factible dual y por lo tanto la soluci´n inicial proporcionada y
             5
                 17
                                                                o
cualquiera de las soluciones duales obtenidas son, por el THC, soluciones ´ptimas de sus
                                                                             o
problemas respectivos.

  En este ejemplo nos hemos encontrado con que la soluci´n optima del problema primal
                                                         o ´
era degenerada, s´lo 2 variables toman valor no nulo, y en consecuencia en el problema
                  o
dual existe soluci´n m´ltiple.
                  o   u



4.    Interpretaci´n econ´mica de las variables duales en
                  o      o
      el ´ptimo
         o

   Por el teorema fundamental de la dualidad los valores ´ptimos de las funciones obje-
                                                         o
                                                              ¯
tivo de un problema primal [P] y su dual [D] son iguales, si x es una SFB ´ptima no
                                                                             o



                                           18
Prog. Lineal                  Dualidad                 A. Post-optimal               Prog. Entera

degenerada de [P] e y es la soluci´n optima de [D] (calculada como y = π = cB B −1 )
                    ¯             o ´                              ¯
podremos escribir:

             Z(¯ ) = c1 x1 + c1 x2 + . . . + c1 xn = y1 b1 + y2 b2 + . . . + ym bm = G(¯ )
               x        ¯       ¯               ¯    ¯       ¯               ¯         y


  Supongamos ahora que modificamos el recurso, por ejemplo, b1 en una cantidad ∆b1
“peque˜a”, de manera que la soluci´n primal se siga manteniendo factible, y en conse-
       n                           o
cuencia ´ptima (observese que c − cB B −1 A no var´ Es decir, de manera tal que
        o                                         ıa).

                                                  ∆b1
                                                       
                                                 0 
                                      B −1 (b +  . ) ≥ 0
                                                     
                                                 . 
                                                   .
                                                   0


  Consideremos ahora los problemas [P1] y [D1], donde [P1] es el problema primal en el
que se ha cambiado b por b + ( ∆b1 0 . . . 0 ) y [D1] es su dual. La soluci´n optima
                                                                                 o ´
         ˜                                        ¯
de [P1], x, tiene la mismas variables b´sicas que x (por la elecci´n de ∆b1 ) y el valor que
                                       a                          o
                                                     −1
                 a                    o      ˜
toma la parte b´sica de dicha soluci´n es xB = B [b + ( ∆b1 0 . . . 0 ) ], por otro
lado la soluci´n de [D1] es y = π = cB B −1 , observad que como las variables b´sicas de
               o            ˜                                                      a
˜                                                                      ˜    ¯
x no han cambiado entonces B sigue siendo la misma que antes y y = y, teniendo en
cuenta estos hechos tenemos que:

    Z(˜ ) = c1 x1 + c1 x2 + . . . + c1 xn = y1 (b1 + ∆b1 ) + y2 b2 + . . . + ym bm =
      x        ˜       ˜               ˜     ˜               ˜               ˜
          = (¯1 b1 + y2 b2 + . . . + ym bm ) + y1 ∆b1 = G(¯ ) + y1 ∆b1 = Z(¯ ) + y1 ∆b1
              y       ¯               ¯        ¯           y      ¯             x    ¯


  es decir
                                       Z(˜ ) = Z(¯ ) + y1 ∆b1
                                         x       x     ¯


   De esta expresi´n se desprende que el valor optimo de la variable dual y1 asociada a la
                   o                           ´                          ¯
primera restricci´n del problema primal representa la cantidad en la que se modifica el
                  o
valor de la funci´n objetivo de [P] por cada unidad adicional de recurso 1 (siempre que
                 o
la modificaci´n mantenga la base optima). Esto puede hacerse en general para cualquier
             o                     ´
recurso bi del problema primal. Teniendo en cuenta esto, si nos situamos, por ejemplo, en
un problema primal de m´ximo con restricciones de tipo ≤, lo resolvemos y calculamos
                          a
la soluci´n del problema dual, entonces los valores ´ptimos de las variables duales (que
         o                                          o
son ≥ 0) representan la variaci´n unitaria de la funci´n objetivo del primal por cada
                                 o                     o
unidad adicional del recurso correspondiente que pudieramos conseguir. Esto nos permite
tambi´n interpretar dichos valores como la mayor cantidad que estar´
      e                                                               ıamos dispuestos a
pagar por una unidad adicional de recurso.




                                                  19
Prog. Lineal              Dualidad                   A. Post-optimal          Prog. Entera

  Veamos un ejemplo en el que se pone de manifiesto las ideas anteriores. Supongamos
que hemos resuelto el siguiente PPL,
                                 m´x Z = 5x1 + 10x2
                                   a
                                 s. a: 2x1 + x2 ≤ 500
                                       2x1 + 5x2 ≤ 1000
                                       2x1 + 3x2 ≤ 900
                                       x1 ≥ 0, x2 ≥ 0


  Obteniendo la siguiente tabla optima:
                                ´
                              x1 x2 x3          x4      x5
                                           5
                            x1   1    0    8
                                                -1
                                                 8
                                                        0    187.5
                            x2   0    1   -1
                                           4
                                                 1
                                                 4
                                                        0     125
                            x5   0    0   -1
                                           2
                                                -1
                                                 2
                                                        1     150
                                 0    0   -5
                                           8
                                                - 15
                                                  8
                                                        0

con un valor de la funci´n objetivo de 2187.5, y con π = cB B −1 = ( 5 , 15 , 0)
                        o                                            8 8


 Realizamos una modificaci´n “peque˜a” del segundo recurso ˜2 = b2 + 250, con esta
                           o       n                      b
modificaci´n la tabla quedar´
         o                 a
                             x1 x2 x3 x4 x 5
                                           5
                           x1    1   0     8
                                                -1
                                                 8
                                                        0    156.25
                           x2    0   1    -1
                                           4
                                                 1
                                                 4
                                                        0     187.5
                           x5    0   0    -1
                                           2
                                                 1
                                                -2      1      25
                                 0   0    -5
                                           8
                                               - 15
                                                 8
                                                        0

con un valor de la funci´n objetivo de 2656,25 = 2187,5 + (250) × ( 15 ), es decir se ha
                          o                                            8
incrementado en el valor de la variable dual segunda ( 15 ) por el n´mero de unidades
                                                          8
                                                                     u
incrementadas 250. Sin embargo, si la modificaci´n alcanza el valor de 325, es decir,
                                                   o
˜2 = b2 + 325, la soluci´n del problema es x1 = 925 , x2 = 875 y x3 = 50 con un valor de
b                       o                        8          4
la funci´n objetivo de 2765,625 = 2187,5 + 325 × 15 . En consecuencia dicho cambio no
        o                                           8
es “peque˜o”. Sobre las apreciaciones de cambios peque˜os o grandes hablaremos en el
          n                                               n
tema dedicado a an´lisis post-´ptimo.
                    a          o



5.    Algoritmo del simplex dual

  En este apartado vamos a desarrollar un algoritmo de tipo simplex, con elementos
similares a los del tema 2, denominado algoritmo simplex dual.



                                               20
Prog. Lineal              Dualidad                A. Post-optimal           Prog. Entera

  En primer lugar seleccionamos los problemas sobre los que vamos a trabajar que ser´n:
                                                                                    a
            m´x Z
              a        = cx                         m´ G
                                                      ın     = by
            s.a:       Ax = b                       s.a:     Ay≥c
            [P 1]      x≥0                          [D1]     y no restringida

            m´ Z
              ın      = cx                          m´x G
                                                      a      = by
            s.a:      Ax = b                        s.a:     Ay≤c
            [P 2]     x≥0                           [D2]     y no restringida
Definicion 3. Diremos que una base del problema primal (no necesariamente factible)
         ´
es una base factible dual si y s´lo si
                                o
                      [1] :   c − cB B −1 A ≤ 0      Primal de M´ximo
                                                                a
                      [2] :   c − cB B −1 A ≥ 0      Primal de M´nimo
                                                                ı


   Se puede apreciar que dicha definici´n es equivalente a decir que una base es factible
                                        o
             −1
dual si cB B constituye una soluci´n factible para el problema dual. Por ejemplo en
                                      o
el caso [1], si llamamos y = cB B tenemos que c − cB B −1 A = c − y A ≤ 0 que
                                    −1

es equivalente a la expresi´n que define las restricciones de [D1]. Alternativamente, la
                           o
definici´n de base factible dual s´lo implica que la correspondiente base primal verifica
       o                         o
las condiciones de optimalidad. Si diera la casualidad que adem´s fuera factible entonces
                                                               a
dicha soluci´n ser´ una soluci´n ´ptima.
             o     ıa         o o

   El algoritmo que se va a presentar va a trabajar con soluciones b´sicas factibles duales
                                                                    a
que por medio de operaciones apropiadas finalizar´n (si es posible) en una soluci´n que
                                                    a                               o
adem´s ser´ factible primal. Mientras el simplex trabaja con soluciones que no cumpl´
      a     a                                                                           ıan
el criterio de optimalidad y poco a poco se mejoraban hasta conseguir la optimalidad,
en el simplex dual se trabaja con soluciones no factibles en las que poco a poco se
“mejorar´” la factibilidad hasta alcanzarla (realmente lo que se ir´ mejorando ser´ las
          a                                                          a                a
                              −1
soluciones del dual y = cB B ).

   El algoritmo del simplex dual va a utilizar herramientas an´logas a las utilizadas en
                                                              a
el simplex. Los pasos son los siguientes:

     Construcci´n de una soluci´n b´sica primal que sea b´sica factible dual.
               o               o a                       a

     Si una soluci´n es factible primal entonces dicha soluci´n ser´ optima.
                  o                                          o     a´

     En caso de que la soluci´n no sea factible primal, entonces habr´ que construir
                              o                                       a
     una soluci´n b´sica primal que sea b´sica factible dual y que sea adyacente a la
                o a                       a
     anterior, para lo cual deberemos determinar que variable sale de la base actual,
     que variable entra en la nueva base y deberemos realizar la operaci´n de cambio
                                                                        o
     de base.



                                            21
Prog. Lineal             Dualidad               A. Post-optimal            Prog. Entera

  El algoritmo va a utilizar las mismas tablas que las que ya se utilizar´n en el caso del
                                                                         o
simplex.

   Para obtener una idea intuitiva del algoritmo podemos tratar de ver que estamos
resolviendo el problema dual del problema planteado por medio de una tabla correspon-
diente al primal. Con lo que el valor de los costos marginales de las variables del primal
est´n directamente relacionados con el valor de las variables duales (ya vimos algo de
   a
esto anteriormente), y el valor de las variables del problema primal estar´ directamente
                                                                           a
relacionado con los costos marginales de las variables duales.

  Las notas correspondientes a la construcci´n de una soluci´n b´sica primal que sea
                                              o              o a
b´sica factible dual se proporcionar´n posteriormente por medio de ejemplos. Comen-
 a                                   a
zamos suponiendo que ya tenemos una soluci´n b´sica factible dual que no es factible
                                               o a
primal, por tanto tendr´ algunas variables b´sicas con valor negativo, y que vamos a
                         a                    a
construir una soluci´n b´sica factible dual adyacente.
                    o a



5.1.    Determinaci´n de la variable que abandona la base
                   o

  Si no hay factibilidad primal, xB = B −1 b ≥ 0, y existir´ alguna variable b´sica
                                                             a                   a
tomando valor estrictamente negativo. Se selecciona para abandonar la base la variable
b´sica xr tal que:
 a
                               ¯r = m´ {¯i | ¯i < 0}
                               b       ın b b
                                      1≤i≤m

(criterio relacionado con seleccionar la variable dual con el mejor costo marginal)



5.2.    Determinaci´n de la variable que entra la base
                   o

  Con objeto de conseguir que la factibilidad se mejore y de que no se pierda la factibil-
idad dual de la base se seleccionar´ para entrar en la base una variable xk cuyo elemento
                                   a
pivote sea negativo, con lo que dicha variable entrar´ con valor positivo y adem´s dicha
                                                      a                           a
variable cumplir´:
                 a


                          ck − zk             cj − zj
                                  = m´ın              | yrj < 0
                            yrk    1≤j≤n        yrj
La utilizaci´n del m´dulo permite definir un unico criterio tanto para el caso de proble-
            o       o                       ´
mas de m´ximo como de m´
          a                ınimo.




                                           22
Prog. Lineal             Dualidad                A. Post-optimal            Prog. Entera

   En el caso de no existir ninguna variable no b´sica con valor estrictamente negativo en
                                                 a
la fila de la variable que sale el problema que estamos tratando de resolver es no factible
(ejercicio).

   Para demostrar la convergencia del algoritmo hay que demostrar que de una tabla a
otra se produce una mejora en el valor de la funci´n objetivo del problema dual, tomando
                                                  o
                        −1
como soluci´n y = cB B (siempre y cuando no exista degeneraci´n dual, es decir, que
            o                                                        o
la variable que entra no tenga costo marginal nulo). Bajo esta consideraci´n siempre
                                                                              o
se toman soluciones duales distintas y en consecuencia, ya que su n´mero es finito, el
                                                                        u
algoritmo debe finalizar (ejercicio).

   S´lo resta del algoritmo la cuesti´n correspondiente a la construcci´n de soluciones
    o                                o                                  o
b´sicas factibles duales. Hay una situaci´n en la que dicha construcci´n es trivial, y s´lo
 a                                       o                            o                 o
utilizaremos el algoritmo simplex dual para la resoluci´n de problemas en este caso. Si
                                                        o
el problema no se ajusta a esta situaci´n entonces existen m´todos para la construcci´n
                                       o                     e                          o
de la soluci´n ba´ica factible dual, pero no vamos a entrar en ellos. Llegado el caso
             o     s
aplicar´ıamos el m´todo simplex con variable artificial estudiado en el tema 2.
                   e

  La situaci´n considerada ser´ cuando tengamos un PPL de m´nimo con costos cj no
             o                 a                                   ı
negativos y en donde todas las restricciones son de desigualdad (existiendo al menos una
restricci´n de tipo “≥”). Entonces podemos multiplicar las restricciones de tipo ≥ por
         o
−1 e introducir variables de holgura en la primera base. Debido a que esta primera base
est´ formada por holguras los costos marginales coinciden con los originales y por tanto
   a
son mayores o iguales que cero y dicha soluci´n es una soluci´n b´sica que es b´sica
                                                o                o    a            a
factible dual.

  Para finalizar el tema presentamos la resoluci´n de algunos problemas por medio del
                                               o
algoritmo simplex dual.

Resolver el siguiente PPL:


                                  m´ Z = x2
                                    ın
                                  s. a: 2x1 + x2 ≤ 6
                                        x2 ≤ 4
                                        −x1 + x2 ≥ 2
                                        x≥0


  Transformamos el problema, multiplicando la tercera restricci´n por −1 e introducien-
                                                               o




                                            23
Prog. Lineal              Dualidad                 A. Post-optimal         Prog. Entera

do holguras x3 , x4 y x5 , resultando:

                                m´ Z = x2
                                  ın
                                s. a: 2x1 + x2 + x3 = 6
                                      x2 + x4 = 4
                                      x1 − x2 + x5 = −2
                                      x≥0


  con este problema la tabla inicial queda:

                                 x1      x2   x3     x4    x5
                          x3     2       1    1      0     0     6
                          x4     0       1    0      1     0     4
                          x5     1       -1   0      0     1     -2
                                 0       1    0       0     0

Esta tabla consituye una soluci´n b´sica factible dual. Sale la variable b´sica con valor
                                o a                                       a
negativo mayor en valor absoluto, que es x5 . Entra la variable no b´sica con coeficiente
                                                                     a
estrictamente negativo que hace m´  ınimo el m´dulo de los cocientes cjy−zj , es decir, la
                                               o                         3j
unica existente x2 , finalmente se pivota haciendo un 1 en la posici´n de cruce (an´logo
´                                                                   o               a
al algoritmo del simplex). La tabla resultante es:

                                 x1      x2   x3      x4   x5
                          x3     3       0    1       0    1     4
                          x4     1       0    0       1    1     2
                          x2     -1      1    0       0    -1    2
                                 1       0    0       0     1

La tabla obtenida es optima ya que es factible primal. La soluci´n es x1 = 0, x2 = 2 con
                      ´                                         o
un valor de la funci´n objetivo de 2.
                    o


                               m´ Z = 31x1 + 11x2 + 12x3
                                 ın
                               s. a: x1 + x2 + 2x3 ≥ 21
                                     2x1 + x2 + x3 ≥ 12
                                     2x2 + 2x3 ≤ 16
                                     x≥0


  Cambiamos de direcci´n las dos primeras restricciones e introducimos holguras en
                      o
todas.



                                              24
Prog. Lineal                Dualidad                 A. Post-optimal              Prog. Entera


                             x1      x2    x3        x4   x5        x6
                       x4    -1      -1    -2        1    0         0     -21
                       x5    -2      -1    -1        0    1         0     -12
                       x6    0       2     2         0    0         1     16
                             31      11    12        0    0          0

Sale la variable b´sica con valor negativo m´s grande en valor absoluto, x4 , y entra la
                  a                          a
variable con la que se alcanza el siguiente m´
                                             ınimo

  ck − zk              cj − zj                                      12          31 11 12
          = m´ın               |y1j < 0                         |      | = m´
                                                                            ın{| |, | |, | |},
    y1k    1≤j≤n         y1j                                        −2          −1 −1 −2

es decir x3 .


                              x1      x2   x3        x4   x5         x6
                               1       1
                       x3      2       2
                                           1         -1
                                                      2
                                                           0         0    21
                                                                           2
                       x5     -3
                               2
                                      -1
                                       2
                                           0         -1
                                                      2
                                                           1         0     3
                                                                          -2
                       x6     -1      1    0         1     0         1    -5
                              25      5    0         6     0         0

Sale x6 y entra x1 .

                              x1      x2   x3        x4    x5        x6
                                                                      1
                       x3     0       1     1        0     0          2
                                                                           8
                       x5     0       -2    0        -2    1         -3
                                                                      2
                                                                           6
                       x1     1       -1    0        -1    0         -1    5
                              0       30    0        31    0         25

La soluci´n es factible primal y por tanto optima, siendo x1 = 5, x2 = 0 y x3 = 8.
         o                                 ´

  Por ultimo resolvamos el siguiente problema,
      ´

                                   m´ Z = x1 + x2 + x3
                                     ın
                                   s. a: 3x1 + 2x2 ≤ 3
                                         2x1 + 3x2 − x3 ≥ 5
                                         x3 ≤ 2
                                         x≥0




                                                25
Prog. Lineal                 Dualidad                 A. Post-optimal        Prog. Entera

  La tabla inicial es

                               x1   x2      x3        x4   x5    x6
                        x4     3    2       0         1    0     0       3
                        x5     -2   -3      1         0    1     0      -5
                        x6     0    0       1         0    0     1       2
                               1        1   1         0     0    0

Sale x5 y entra x2 .

                               x1   x2      x3        x4   x5    x6
                               5             2              2
                        x4     3
                                    0        3
                                                      1     3
                                                                 0      -1
                                                                         3
                               2
                        x2     3
                                    1       -1
                                             3
                                                      0    -1
                                                            3
                                                                 0      5
                                                                        3
                        x6     0    0       1         0     0    1      2
                               1            4               1
                               3
                                    0       3
                                                      0     3
                                                                 0


Ahora debe salir x4 , pero no existe variable candidata a entrar en la base, por tanto el
problema es no factible. Puede observarse que la posible mejor situaci´n ser´ x3 = 0
                                                                         o     ıa
                  ıamos que 3x1 + 2x2 ≤ 3 y 2x1 + 3x2 ≥ 5 que son incompatibles.
con lo que obtendr´




                                                 26

Más contenido relacionado

La actualidad más candente

Metodologia de la programacion recursividad
Metodologia de la programacion   recursividadMetodologia de la programacion   recursividad
Metodologia de la programacion recursividad
victdiazm
 
Modulo 9 Costos de Producción Parte 1
Modulo 9 Costos de Producción Parte 1Modulo 9 Costos de Producción Parte 1
Modulo 9 Costos de Producción Parte 1
Horacio Santander
 
Unmsm fisi - programación lineal - io1 cl03
Unmsm   fisi - programación lineal - io1 cl03Unmsm   fisi - programación lineal - io1 cl03
Unmsm fisi - programación lineal - io1 cl03
Julio Pari
 
Estructura de Datos: Recursividad
Estructura de Datos: RecursividadEstructura de Datos: Recursividad
Estructura de Datos: Recursividad
Yanahui Bc
 

La actualidad más candente (20)

Algoritmos c5-diap
Algoritmos c5-diapAlgoritmos c5-diap
Algoritmos c5-diap
 
INVESTIGACIÓN DE OPERACIONES
INVESTIGACIÓN DE OPERACIONESINVESTIGACIÓN DE OPERACIONES
INVESTIGACIÓN DE OPERACIONES
 
Barrera
BarreraBarrera
Barrera
 
Presentacion i dual sis-14
Presentacion i dual sis-14Presentacion i dual sis-14
Presentacion i dual sis-14
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Programacion lineal entera invope
Programacion lineal entera invopeProgramacion lineal entera invope
Programacion lineal entera invope
 
No lineal
No linealNo lineal
No lineal
 
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
Dos estrategias de búsqueda anytime basadas en programación lineal entera par...
 
Metodologia de la programacion recursividad
Metodologia de la programacion   recursividadMetodologia de la programacion   recursividad
Metodologia de la programacion recursividad
 
Optimizacion de funcion
Optimizacion de funcionOptimizacion de funcion
Optimizacion de funcion
 
Programacion lineal 2014
Programacion lineal 2014Programacion lineal 2014
Programacion lineal 2014
 
Modulo 9 Costos de Producción Parte 1
Modulo 9 Costos de Producción Parte 1Modulo 9 Costos de Producción Parte 1
Modulo 9 Costos de Producción Parte 1
 
Programación entera
Programación enteraProgramación entera
Programación entera
 
Recursividad
RecursividadRecursividad
Recursividad
 
Analisis de sensibilidad
Analisis de sensibilidadAnalisis de sensibilidad
Analisis de sensibilidad
 
Transporte 2010
Transporte 2010Transporte 2010
Transporte 2010
 
Unmsm fisi - programación lineal - io1 cl03
Unmsm   fisi - programación lineal - io1 cl03Unmsm   fisi - programación lineal - io1 cl03
Unmsm fisi - programación lineal - io1 cl03
 
Estructura de Datos: Recursividad
Estructura de Datos: RecursividadEstructura de Datos: Recursividad
Estructura de Datos: Recursividad
 
Formulación
FormulaciónFormulación
Formulación
 

Similar a Ocwpl dualidad

Aplicacion de tora a pl
Aplicacion de tora a plAplicacion de tora a pl
Aplicacion de tora a pl
CrazyMan1990
 
1.introduccion analisis
1.introduccion analisis1.introduccion analisis
1.introduccion analisis
rjvillon
 
Programación lineal
Programación linealProgramación lineal
Programación lineal
danile889_l
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
FcoKraken
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
FcoKraken
 

Similar a Ocwpl dualidad (20)

Analisis de dualidad
Analisis de dualidadAnalisis de dualidad
Analisis de dualidad
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Programación lineal y pert. do
Programación lineal y pert. doProgramación lineal y pert. do
Programación lineal y pert. do
 
Io 2da programacion lineal
Io 2da programacion linealIo 2da programacion lineal
Io 2da programacion lineal
 
Aplicacion de tora a pl
Aplicacion de tora a plAplicacion de tora a pl
Aplicacion de tora a pl
 
Investigacion Operativa Aspectos Generales
Investigacion Operativa Aspectos GeneralesInvestigacion Operativa Aspectos Generales
Investigacion Operativa Aspectos Generales
 
Lista de ejercicios pc2
Lista de ejercicios pc2Lista de ejercicios pc2
Lista de ejercicios pc2
 
Investigacion operaciones-modelos-y-aplicaciones-programacion-lineal
Investigacion operaciones-modelos-y-aplicaciones-programacion-linealInvestigacion operaciones-modelos-y-aplicaciones-programacion-lineal
Investigacion operaciones-modelos-y-aplicaciones-programacion-lineal
 
Clase 2 - Metodo simplex
Clase 2 - Metodo simplexClase 2 - Metodo simplex
Clase 2 - Metodo simplex
 
Tema 1 programacion lineal.pdf
Tema 1 programacion lineal.pdfTema 1 programacion lineal.pdf
Tema 1 programacion lineal.pdf
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion lineal
 
1.introduccion analisis
1.introduccion analisis1.introduccion analisis
1.introduccion analisis
 
Programación lineal
Programación linealProgramación lineal
Programación lineal
 
Ppl clase01
Ppl clase01Ppl clase01
Ppl clase01
 
41 teoriadelaprogramacionlineal
41 teoriadelaprogramacionlineal41 teoriadelaprogramacionlineal
41 teoriadelaprogramacionlineal
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
 
Paper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra FmanciaPaper Mmulfpuna Mpi Cparra Fmancia
Paper Mmulfpuna Mpi Cparra Fmancia
 
Interpretacion diapositivas
Interpretacion diapositivasInterpretacion diapositivas
Interpretacion diapositivas
 
Complejidad
ComplejidadComplejidad
Complejidad
 
Modelos lineales y formatos. Manipulacion de ecuaciones
Modelos lineales y formatos. Manipulacion de ecuacionesModelos lineales y formatos. Manipulacion de ecuaciones
Modelos lineales y formatos. Manipulacion de ecuaciones
 

Ocwpl dualidad

  • 1. Programaci´n Lineal II. Teor´ de la o ıa dualidad P.M. Mateo y David Lahoz 27 de mayo de 2009 Este tema contin´a el desarrollo iniciado en el tema 1. En el se define u el problema dual asociado a un problema de programaci´n lineal (proble- o ma primal), mostrando ejemplos de problemas en los que al modificar los planteamientos aparece un nuevo problema de programaci´n lineal que re- o sulta ser el problema dual del problema planteado inicialmente. Tras esto, se desarrollan todos los teoremas habituales sobre las relaciones existentes entre un problema primal y su dual desembocando en el enunciado y demostraci´n o del teorema fundamental de la dualidad y el teorema de la holgura comple- mentaria. A continuaci´n se muestra la utilidad de alguno de estos resultados o por medio de una serie de ejemplos y se contin´a dedicando un peque˜o epi- u n grafe a la interpretaci´n del valor de las variables del problema dual en el o optimo, mostrando como se establecen los precios sombra de los recursos de ´ un problema de programaci´n lineal. Finalmente se presenta el desarrollo del o algoritmo del simplex dual. 1
  • 2. Prog. Lineal Dualidad A. Post-optimal Prog. Entera ´ Indice 1. Introducci´n o 3 2. El problema dual 4 3. Teoremas relativos a problemas primales y sus duales asociados 9 4. Interpretaci´n econ´mica de las variables duales en el ´ptimo o o o 18 5. Algoritmo del simplex dual 20 5.1. Determinaci´n de la variable que abandona la base . . . . . . . . . . . . 22 o 5.2. Determinaci´n de la variable que entra la base . . . . . . . . . . . . . . . 22 o 2
  • 3. Prog. Lineal Dualidad A. Post-optimal Prog. Entera 1. Introducci´n o La teor´ de la dualidad nos va a permitir, entre otras cosas, relacionar cada problema ıa de programaci´n lineal con otro denominado problema dual y obtener relaciones sobre o el tipo de soluciones de ambos problemas, tambi´n nos va a proporcionar herramientas e alternativas a las ya conocidas para comprobar la optimalidad de soluciones, as´ como ı condiciones que pueden utilizarse para el desarrollo de nuevos algoritmos de resoluci´n, o etc. A continuaci´n vamos a enunciar y plantear un problema de producci´n en t´rminos o o e de programaci´n lineal y posteriormente plantearemos una nueva situaci´n en la que, o o de una forma natural, surge el planteamiento del problema dual asociado al problema primal (original) planteado. Una empresa internacional produce y vende estos dos tipos de supercomputadores: el 4MX500Mhz y el NMX800Mhz. En la elaboraci´n de ambos tipos de equipos hay que o destacar dos procesos, el de ensamblado final y el de empaquetado, procesos P1 y P2 . Esta empresa dispone mensualmente de 2000 horas dedicadas al proceso de ensamblado y 1000 horas dedicadas al proceso de empaquetado, adem´s saben que los tiempos requeridos a para realizar dichas operaciones para cada uno de los tipos de supercomputadores son los que se muestran en la tabla siguiente: Horas Horas requeridas mensuales Proceso 4MX500Mhz NMX800Mhz disponibles P1 6 4 2000 P2 2 4 1000 El beneficio neto obtenido tras la venta de un supercomputador de tipo 4MX500Mhz es de 400 u.m. y tras la venta de una unidad de NMX800Mhz es de 600 u.m.. Con esta informaci´n planteamos y resolvemos inicialmente un problema que permita determinar o el n´mero de unidades de cada tipo de ordenador con objeto de maximizar el beneficio u total. Definimos las variables x1 y x2 como el n´mero de ordenadores elaborados de tipo u 4MX500mhz y NMX800Mhz respectivamente, con estas variables el problema queda: m´x Z a = 400x1 + 600x2 s. a: 6x1 + 4x2 ≤ 2000 2x1 + 4x2 ≤ 1000 x1 ≥ 0, x2 ≥ 0 3
  • 4. Prog. Lineal Dualidad A. Post-optimal Prog. Entera La soluci´n optima de dicho problema es elaborar 250 unidades del tipo 4MX500Mhz o ´ y 125 unidades del tipo NMX800Mhz con un beneficio de 175000 u.m. Ahora cambiamos el enfoque sobre el problema planteado, nuestro prop´sito va a ser o determinar los precios a los cuales esta empresa deber´ valorar sus recursos (horas de ıa trabajo de los dos procesos) de tal manera que puedan determinar el m´ınimo valor total al cual estar´ dispuesta a arrendar o vender los recursos. ıa Sean y1 e y2 , la renta percibida por hora de los procesos P1 y P2 respectivamente. La renta total obtenida ser´ pues, 2000y1 + 1000y2 . Se desea como objetivo encontrar a el m´ınimo valor de 2000y1 + 1000y2 de modo que la empresa pueda, de una manera inteligente, analizar algunas propuestas de alquiler o compra de todos los recursos como un paquete total. Se consideran las condiciones siguientes, los precios pagados por el alquiler ser´n no a negativos, es decir y1 ≥ 0, y2 ≥ 0. Adem´s los precios y1 e y2 deben ser competitivos a con las alternativas disponibles, es decir, el beneficio que la empresa debe obtener por los recursos necesarios para elaborar un supercomputador al menos deben ser iguales a los que obtendr´ al utilizar dichos recursos en la elaboraci´n del computador, es ıa o decir, para el 4MX500Mhz tendremos 6y1 + 2y2 ≥ 400 y para el NMX800Mhz queda 4y1 + 4y2 ≥ 600. Con esto garantiza la obtenci´n de precios con los que al menos iguala o el beneficio obtenido al producir ´l mismo los equipos. El problema planteado queda: e m´ Z ın = 2000y1 + 1000y2 s. a: 6y1 + 2y2 ≥ 400 4y1 + 4y2 ≥ 600 y1 ≥ 0, y2 ≥ 0 La resoluci´n de este problema proporciona un valor de 25 para cada unidad del primer o recurso y un valor de 125 para cada unidad del segundo, con un beneficio de 175000, igual al obtenido en el planteamiento del primer problema. Este nuevo problema es problema dual del problema planteado originalmente. 2. El problema dual Como ya hemos comentado, asociado a un problema de programaci´n lineal aparece o otro problema de programaci´n lineal denominado problema dual (asociado al primero), o en general nos referiremos al primero como problema primal y lo denotaremos mediante [P], y al segundo como problema dual y lo denotaremos con [D]. 4
  • 5. Prog. Lineal Dualidad A. Post-optimal Prog. Entera Definicion 1. Un problema de programaci´n lineal se dice que est´ en forma sim´trica ´ o a e si todas las variables est´n restringidas a ser no negativas y todas las restricciones son a de tipo “≤“ en el caso de m´ximo y de tipo “≥” en el caso de m´nimo, es decir, toman a ı la forma: m´x a Z = cx m´ ın Z = cx s. a: Ax ≤ b s. a: Ax ≥ b x≥0 x≥0 Definicion 2. Dado un problema de programaci´n lineal en forma sim´trica de m´ximo ´ o e a m´x a Z = cx [P ] s. a: Ax ≤ b x ≥ 0, entonces su problema dual asociado es m´ın G =by [D] s. a: Ay≥c y ≥ 0, donde y es un vector de m componentes, (tantas como restricciones en el problema primal). En general puede definirse el problema dual de uno dado, para cualquier problema de programaci´n lineal, y posteriormente extender la definici´n al resto de problemas de o o programaci´n lineal. La elecci´n del problema de programaci´n lineal en forma sim´trica o o o e de m´ximo como problema de referencia ha sido unicamente por comodidad en algunos a ´ de los desarrollos posteriores. En la siguiente proposici´n se muestra como quedan los problemas duales de algunos o problemas de programaci´n lineal: o Proposicion 1. Se cumplen las siguientes reglas para la construcci´n de problemas ´ o duales: i) El problema m´ın Z = cx m´x a G =by [P ] s. a: Ax ≥ b se dualiza en [D] s. a: Ay≤c x≥0 y ≥ 0. En consecuencia el problema dual del problema dual es el problema primal. ii) El problema m´x a Z = cx m´ın G =by [P ] s. a: Ax ≥ b se dualiza en [D] s. a: Ay≥c x≥0 y ≤ 0. 5
  • 6. Prog. Lineal Dualidad A. Post-optimal Prog. Entera iii) El problema m´x a Z = cx m´ın G =by [P ] s. a: Ax ≤ b se dualiza en [D] s. a: Ay≤c x≤0 y ≥ 0. iv) El problema m´x a Z = cx m´ın G =by [P ] s. a: Ax = b se dualiza en [D] s. a: Ay≥c x≥0 y no restringidas en signo. v) El problema m´x a Z = cx m´ın G =by [P ] s. a: Ax ≤ b se dualiza en [D] s. a: Ay=c x no restringidas en signo y ≥ 0. vi) Etc. . . . Demostraci´n. Vamos a demostrar dos de los casos, el resto se realizar´ de una forma o ıa similar, la idea es transformar el problema en un problema para el cual conozcamos su dual. i) Vamos a transformar el problema i) para que sea un problema de m´ximo con a restricciones de tipo ‘≤’ y con variables no negativas, para ello basta con cambiar de signo la funci´n objetivo y con multiplicar por −1 cada una de las restricciones o del problema, es decir, m´ın Z = cx m´x a (−Z) = −cx s. a: Ax ≥ b ⇐⇒ s. a: −Ax ≤ −b x≥0 x≥0 Este problema ya se ajusta a la definici´n sobre dualidad dada inicialmente, y su o dual es m´ın G = −b y s. a: −A y ≥ −c y≥0 que de una manera directa queda m´x a G =by s. a: Ay≤c y≥0 6
  • 7. Prog. Lineal Dualidad A. Post-optimal Prog. Entera iv) Para acomodar este caso a la definici´n vamos a transformar las restricciones de o igualdad en desigualdades de tipo ‘≤’, en primer ponemos Ax = b como Ax ≤ b y Ax ≥ b, o equivalentemente, Ax ≤ b y −Ax ≤ −b. As´ el problema queda ı m´x a Z = cx m´x a Z = cx s. a: Ax ≤ b A b ⇐⇒ s. a: x≤ −Ax ≤ −b −A −b x ≥ 0, x ≥ 0, este problema ya est´ en forma sim´trica, y podemos escribir su problema dual a e que queda m´ın G = (b , −b )y s. a: (A , −A )y ≥ c y ≥ 0, donde y es un vector de 2m componentes, las correspondientes a las filas de A (yi , i = 1, . . . , m) y las correspondientes a la parte de −A, (yi , i = m + 1, . . . , 2m). A continuaci´n vamos a realizar un cambio de formato a este problema hasta que o nos conduzca a la formulaci´n planteada en el enunciado de la proposici´n. o o Si nos fijamos en una variable yi (1 ≤ i ≤ m) y en la correspondiente en la parte de −A, es decir la yj con j = i + m sus coeficientes son, bi para yi y bj = −bi para yj , por tanto en la funci´n objetivo podr´ o ıamos agruparlas poniendo bi (yi − yi+m ). An´logamente si nos fijamos en la parte de las restricciones, una variable yi y la a yi+m tienen, en una restricci´n j cualquiera, coeficientes aij y −aij respectivamente, o por lo que tambi´n podremos poner aij (yi −yi+m ). En vista de estos hechos podemos e definir una variable vi = yi − yi+m que por construcci´n ser´ no restringida en o ıa signo con la que, sustituy´ndola en el problema anterior, obtendr´ e ıamos m´ın G =bv s. a: Av≥c v no restringida, donde v es un m-vector de variables no restringidas en signo, con lo que se de- muestra el apartado de la proposici´n. o De la proposici´n anterior se pueden extraer las siguientes ideas: o 7
  • 8. Prog. Lineal Dualidad A. Post-optimal Prog. Entera 1. Si el problema primal es de m´ximo el dual es de m´ a ınimo y, rec´ ıprocamente, si el problema primal es de m´ ınimo su dual es de m´ximo. a 2. La matriz de coeficientes del problema dual es la traspuesta de la matriz de coefi- cientes del problema original. 3. El vector de costos del problema dual es el vector de recursos del problema primal (original). 4. El vector de recursos del problema dual es el vector de costos del problema primal. 5. Cada restricci´n del problema primal da lugar a una variable en el problema dual o y, cada variable en el primal da lugar a una restricci´n del problema dual. o Tras estos comentarios proporcionamos una tabla resumen en la que se pueden obtener todas las reglas de dualizaci´n, tanto para problemas de m´ximo como de m´ o a ınimo, restricciones de igualdad, desigualdad, etc. Primal Dual (Dual) (Primal) m´x a m´ ın Restricci´n “≤” o Variable “≥ 0” Restricci´n “=” o Variable no restringida Restricci´n “≥” o Variable “≤ 0” Variable “≥ 0” Restricci´n “≥” o Variable no restringida Restricci´n “=” o Variable “≤ 0” Restricci´n “≤” o Si el problema primal es de m´ximo se lee de izquierda a derecha y, en caso contrario, a problema primal de m´ınimo, de derecha a izquierda. Veamos algunos ejemplos de dualizaci´n: o 8
  • 9. Prog. Lineal Dualidad A. Post-optimal Prog. Entera m´x Z a = 3x1 + 2x2 + 4x3 m´ G ın = 7y1 + 8y2 s. a: x1 + 2x2 − x3 ≤ 7 s. a: y1 + y2 ≥ 3 [P ] x1 + x2 + x3 ≤ 8 [D] 2y1 + y2 ≥ 2 x1 ≥ 0, x2 ≥ 0, x3 ≤ 0 −y1 + y2 ≤ 4 y1 ≥ 0, y2 ≥ 0 m´ Z ın = 3x1 + 7x2 + x3 m´x G a = 7y1 + 8y2 + 5y3 s. a: x1 + 2x2 + x3 ≤ 7 s. a: y1 + 2y2 + 3y3 ≥ 3 [P ] 2x1 + 3x2 − x3 ≥ 8 [D] 2y1 + 3y2 + y3 = 7 3x1 + x2 + 2x3 = 5 y1 − y2 + 2y3 ≤ 1 x1 ≤ 0, x2 no restringida, y1 ≤ 0, y2 ≥ 0, x3 ≥ 0 y3 no restringida 3. Teoremas relativos a problemas primales y sus duales asociados Mientras no se indique lo contrario vamos a trabajar con los siguientes problema primal y dual: m´x Z = cx a m´ G = b y ın [P ] Ax ≤ b [D] Ay≥c x≥0 y≥0 ¯ ¯ Teorema 1 (De la dualidad d´bil). Si x e y son soluciones factibles de un par de e problemas primal y dual [P] y [D], respectivamente, entonces se verifica Z(¯ ) = c¯ ≤ b y = G(¯ ) x x ¯ y Es decir, para cualquier par de soluciones factibles de un problema primal y su dual el valor de la funci´n objetivo del problema de m´ximo es menor o igual que el valor de la o a funci´n objetivo del problema de m´nimo. o ı ¯ ¯ Demostraci´n. Por ser x e y factibles se tiene que o A¯ ≤ b x Ay≥c ¯ y x≥0 ¯ y≥0 ¯ 9
  • 10. Prog. Lineal Dualidad A. Post-optimal Prog. Entera ¯ ¯ Multiplicando a izquierda la primera expresi´n por y y la segunda por x , y trasponiendo o ´sta ultima obtenemos e ´ y A¯ ≤ y b ¯ x ¯ y A¯ ≥ c¯ ¯ x x Observando lo anterior: c¯ ≤ y A¯ ≤ y b = b y x ¯ x ¯ ¯ Corolario 1. El valor de la funci´n objetivo del problema primal de m´ximo para o a cualquier soluci´n factible es una cota inferior del m´nimo valor de la funci´n objetivo o ı o del dual, y reciprocamente, el valor de la funci´n objetivo del problema dual de m´nimo o ı para cualquier soluci´n factible dual es una cota superior del m´ximo valor de la funci´n o a o objetivo del primal. Corolario 2. Si el problema primal es factible y su soluci´n es no acotada, (Z → ∞), o entonces el problema dual no tiene soluci´n. An´logamente, si el problema dual es factible o a pero con soluci´n no acotada, (G → −∞), entonces el problema primal no tiene soluci´n o o factible. Teorema 2 (Criterio de Optimalidad). Si existen soluciones factibles para los prob- lemas primal y dual [P] y [D] tales que los valores correspondientes de las funciones objetivo coinciden, entonces dichas soluciones factibles son ´ptimas para sus respectivos o problemas. Demostraci´n. Sean x∗ e y∗ factibles para los problemas [P] y [D] respectivamente, y o tal que cx = b y∗ . Sea x cualquier soluci´n factible del problema primal [P], por el ∗ o teorema 1 se tiene que cx ≤ b y∗ = cx∗ y por lo tanto x∗ es una soluci´n ´ptima del problema primal [P]. Un argumento an´logo o o a prueba la optimalidad de y∗ para el problema dual [D]. Consideremos ahora el problema primal en forma est´ndar y su dual asociado. a m´ın Z = cx m´x a G = by [P ] s a: Ax = b [D] s a: Ay≤c x≥0 y no restringida Teorema 3. Sea x∗ una SFB ´ptima de [P] y sea B la matriz asociada a su base, o entonces π = cB B −1 es una soluci´n ´ptima del problema dual [D]. o o 10
  • 11. Prog. Lineal Dualidad A. Post-optimal Prog. Entera Demostraci´n. Como x∗ es una SFB optima entonces x∗ = B −1 b ≥ 0 y cj −cB B −1 Aj ≥ o ´ B −1 0 ∀j, ahora bien, cj − cB B Aj = cj − πAj ≥ 0 ∀j que en forma matricial y operando toma la forma A π ≤ c y por tanto π es una soluci´n factible del problema dual [D]. o Adem´sa G = b π = πb = cB B −1 b = cB x∗ = Z ∗ B y por el teorema 2, la soluci´n π es una soluci´n ´ptima de [D]. o o o Corolario 3. Si el problema primal tiene soluci´n ´ptima finita entonces el problema o o dual tambi´n, y rec´procamente, si el problema dual tiene soluci´n ´ptima finita entonces e ı o o el primal tambi´n. e Corolario 4. Si el problema primal es no factible entonces su dual o no tiene soluci´n o o tiene soluci´n no acotada, y rec´procamente, si el dual es no factible entonces el primal o ı o es no factible o tiene soluci´n no acotada. o Demostraci´n. Veamos el primer caso (problema primal no factible), el segundo es an´lo- o a go. Si el problema dual es no factible el corolario se verifica, veamos que en caso con- trario se ha de cumplir obligatoriamente que el problema dual tiene soluci´n no acotada. o Supongamos que no fuera as´ es decir, que el problema dual es factible y tiene solu- ı, ci´n optima (finita), entonces por el teorema anterior dada la soluci´n otima del dual o ´ o ´ podr´ ıamos construir una soluci´n factible (y optima) del primal, con lo que obtenemos o ´ una contradicci´n ya que el problema primal es no factible, por tanto el problema dual o si es factible debe tener soluci´n no acotada. o Observaciones: Si se ha utilizado el algoritmo del simplex para la resoluci´n de un prob- o lema de programaci´n lineal entonces el valor ´ptimo de las variables del problema dual o o se encuentra en las Zj correspondientes a las variables de la primera base. Basta para ello con notar que la primera base tiene matriz B asociada igual a la identidad y por tanto se verifica: 1 0 ... 0   0 1 ... 0 π = cB B −1  . . . . .=   . . . . . . . 0 0  . . 1   . 1 0 0     0 1  0  = cB B −1  .  , cB B −1  .  , . . . , cB B −1  .  = (Zj1 , Zj2 , . . . , Zjm )         . . . .  .  . 0 0 1 y por tanto (π1 , π2 , . . . , πm ) = (Zj1 , Zj2 , . . . , Zjm ) Como resumen de todos los elementos anteriores enunciamos el resultado conocido como teorema fundamental de la dualidad 11
  • 12. Prog. Lineal Dualidad A. Post-optimal Prog. Entera Teorema 4 (Teorema fundamental de la dualidad). Dado un problema primal y su dual s´lo una de las siguientes afirmaciones es cierta: o P tiene soluci´n ´ptima (finita) ⇐⇒ [D] tiene soluci´n ´ptima (finita). o o o o P es no factible =⇒ [D] es no factible o [D] tiene soluci´n no acotada. o D es no factible =⇒ [P] es no factible o [P] tiene soluci´n no acotada. o P tiene soluci´n no acotada =⇒ [D] es no factible. o D tiene soluci´n no acotada =⇒ [P] es no factible. o Para finalizar el apartado vamos a enunciar y demostrar el teorema de la holgura complementaria, para ello en primer lugar volveremos a considerar como problemas primal y dual los problemas en forma sim´trica de m´ximo y m´ e a ınimo respectivamente. o ¯ ¯ Observaci´n: Dados x e y soluciones factibles para el problema sim´trico de m´ximo y e a su dual respectivamente, entonces (¯ A − c)¯ + y (b − A¯ ) = y u + v x = y b − c¯ , y x ¯ x ¯¯ ¯¯ ¯ x donde u son las variables de holgura del problema primal y v son las variables de holgura del problema dual. Para ver la veracidad de las igualdades anteriores basta con las siguientes considera- ¯ ¯ ciones. Dadas x e y se a˜aden holguras en las restricciones de sus problemas respectivos n con lo que: x ¯ A¯ + u = b Ay−v =c ¯ ¯ x, u ≥ 0 ¯ ¯ y, v ≥ 0. ¯ ¯ ¯ ¯ Despejando u y v y sustituy´ndolo se obtiene la primera parte de la observaci´n: e o (¯ A − c)¯ + y (b − A¯ ) = y u + v x y x ¯ x ¯¯ ¯¯ ¯ ¯ Para continuar multiplicamos a izquierda por y y por x tal y como se muestra: ¯ x ¯¯ ¯ y A¯ + y u = y b xAy−xv =xc ¯ ¯ ¯¯ ¯ 12
  • 13. Prog. Lineal Dualidad A. Post-optimal Prog. Entera Finalmente trasponiendo la segunda expresi´n y rest´ndolas se obtiene: o a y u + v x = y b − c¯ ¯¯ ¯¯ ¯ x Juntando las expresiones anteriores obtenemos la expresi´n indicada inicialmente, es o decir, (¯ A − c)¯ + y (b − A¯ ) = y u + v x = y b − c¯ , y x ¯ x ¯¯ ¯¯ ¯ x Esta expresi´n nos permite demostrar de una manera directa el siguiente e importante o resultado ¯ ¯ Teorema 5 (de la Holgura Complementaria). Dadas x e y soluciones factibles de los e a ¯ ¯ problemas sim´trico de m´ximo y su dual, entonces x e y son soluciones ´ptimas para o sus problemas respectivos si y s´lo si se verifica o (¯ A − c)¯ + y (b − A¯ ) = 0 y x ¯ x Demostraci´n. Teniendo en cuenta la expresi´n obtenida o o (¯ A − c)¯ + y (b − A¯ ) = y u + v x = y b − c¯ , y x ¯ x ¯¯ ¯¯ ¯ x ¯ ¯ tenemos que, si x e y son soluciones optimas entonces el valor de la funci´n objetivo ´ o para cada uno de estos dos puntos coincide y en consecuencia la ultima parte de la ´ expresi´n anterior es cero y por la cadena de igualdades la primera de ellas que es la que o corresponde a la del enunciado. Si por el contrario se verifica la expresi´n del enunciado, o entonces por la cadena de igualdades la expresi´n final es cero, por tanto el valor de la o funci´n objetivo coincide y ambas soluciones son optimas para sus problemas respectivos o ´ (teorema 2) Nota: las condiciones (¯ A − c)¯ + y (b − A¯ ) = 0 y x ¯ x se nombrar´n como Condiciones de la Holgura Complementaria (CHC). a Para finalizar el desarrollo te´rico del apartado y antes de ver algunos ejemplos de o aplicaci´n de los resultados desarrollados vamos a realizar una nueva transformaci´n de o o las condiciones del teorema que permiten un manejo m´s sencillo. a ¯ ¯ Teniendo en cuenta que si las dos soluciones factibles entonces tanto x como y y las ¯ ¯ holguras u y v son no negativas y teniendo en cuenta que 0 = (¯ A − c)¯ + y (b − A¯ ) = y u + v x y x ¯ x ¯¯ ¯¯ 13
  • 14. Prog. Lineal Dualidad A. Post-optimal Prog. Entera se obtiene ¯¯ yu=0 y ¯¯ v x = 0, por la misma raz´n tenemos que si expresamos estos productos escalares componente a o componente, entonces cada uno de los productos est´ formado por elementos no negativos a y su suma es nula por lo que podemos asegurar que xj vj = 0 ∀j = 1, . . . , n ¯ ¯ yi ui = 0 ∀i = 1, . . . , m ¯¯ Con las CHC expresadas de esta forma podemos reenunciar el teorema de la forma siguiente ¯ ¯ Teorema 6 (de la Holgura Complementaria). Dado x e y soluciones factibles de los e a ¯ ¯ problemas sim´trico de m´ximo y su dual, entonces x e y son soluciones ´ptimas para o sus problemas respectivos si y s´lo si se verifica o xj vj = 0 ∀j = 1, . . . , n ¯ ¯ yi ui = 0 ∀i = 1, . . . , m, ¯¯ ¯ ¯ donde u son las holguras de las restricciones del problema primal y v las holguras cor- respondientes al problema dual. Observando esta ultima forma de las CHC estas se pueden expresar de la forma sigu- ´ iente: Si una variable primal, xj , es distinta de cero, entonces la correspondiente restric- ci´n del dual se verifica con igualdad en el optimo, vj = 0. o ´ Si una restricci´n primal es una desigualdad estricta en el optimo, ui > 0, entonces o ´ la variable dual asociada, yi , debe tomar valor nulo. Si una variable dual yi , es distinta de cero, entonces la correspondiente restricci´n o del primal se verifica con igualdad en el ´ptimo, ui = 0. o Si una restricci´n dual es una desigualdad estricta en el optimo, vj > 0, entonces o ´ la variable primal asociada, xj , debe tomar valor nulo. Finalizamos mostrando la utilizaci´n de las condiciones de la holgura complementaria o para la determinaci´n de la optimalidad o no de soluciones. o Ejemplos: 14
  • 15. Prog. Lineal Dualidad A. Post-optimal Prog. Entera Dado el siguiente PPL m´ Z = 100x1 + 360x2 + 240x3 ın s. a: 1000x1 + 4000x2 + 2000x3 ≥ 2000 200x1 + 900x2 + 500x3 ≥ 3000 x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, demostrar que x = (0, 30 , 0) e y = (0, 2 ) son soluciones ´ptimas de dicho problema y 9 5 o de su dual. En primer lugar plantearemos el problema dual y comprobaremos que ambas son soluciones factibles (ya que este es el primer requerimiento del THC). m´x G = 2000y1 + 3000y2 a s. a: 1000y1 + 200y2 ≤ 100 4000y1 + 900y2 ≤ 360 2000y1 + 500y2 ≤ 240 y1 ≥ 0, y2 ≥ 0. Al evaluar ambas soluciones obtenemos los siguiente valores (x, u) = (x1 , x2 , x3 , u1 , u2 ) = (0, 30 , 0, 3400 , 0) 9 3 2 (y, v) = (y1 , y2 , v1 , v2 , v3 ) = (0, 5 , 20, 0, 40), como todas las holguras toman valor no negativo, ambas soluciones son factibles. A continuaci´n comprobamos si se cumplen las CHC, es decir: xj vj = 0 ∀j e yi ui = 0 ∀i. o x1 v1 = 0 × 20 = 0 x2 v2 = 30 × 0 = 0 9 x3 v3 = 0 × 40 = 0 y1 u1 = 0 × 3400 = 0 3 y2 u2 = 2 ×0=0 5 En consecuencia se verifican las condiciones del THC y ambas soluciones son optimas ´ para sus problemas respectivos. Sea ahora el siguiente PPL m´ Z ın = 12x1 + 10x2 + 4x3 s. a: 4x1 + 4x2 + x3 ≥ 5 2x1 + x2 + x3 ≥ 3 x1 ≥ 0, x2 ≥ 0, x3 ≥ 0. 15
  • 16. Prog. Lineal Dualidad A. Post-optimal Prog. Entera ¿Es ´ptima la soluci´n (x1 , x2 , x3 , u1 , u2 ) = (1, 0, 1, 0, 0)? o o Vamos a aplicar el THC para determinar si esta soluci´n factible es ´ptima o no. o o Si fuera soluci´n optima por el teorema fundamental de la dualidad su dual tambi´n o ´ e tendr´ soluci´n optima, y por el THC ´sta deber´ ser soluci´n de las CHC. Por tanto ıa o ´ e ıa o dada esta soluci´n imponemos el cumplimiento de las CHC con la soluci´n factible dada. o o Si su resoluci´n proporciona alguna soluci´n dual factible, entonces a la soluci´n inicial o o o y a la obtenida se les puede aplicar el THC y concluir que ambas son optimas para sus ´ problemas respectivos. Si en la resoluci´n del sistema resultante obtenemos que no existe ninguna soluci´n o o o que las unicas soluciones duales existentes no son factibles, entonces podremos concluir ´ que la soluci´n primal inicial no es optima (en caso contrario deber´ existir una soluci´n o ´ ıa o factible que junto con ella las verificara). Veamos como quedan estos desarrollos con nuestro ejemplo: Escribimos el problema dual e imponemos las CHC: m´x Z a = 5y1 + 3y2 s .a: 4y1 + 2y2 ≤ 12 4y1 + y2 ≤ 10 y1 + y2 ≤ 4 y1 ≥ 0, y2 ≥ 0 x1 v1 = 0 = 1(12 − 4y1 − 2y2 ) =⇒ 12 − 4y1 − 2y2 = 0 x2 v2 = 0 = 0(10 − 4y1 − y2 ) # x3 v3 = 0 = 1(4 − y1 − y2 ) =⇒ 4 − y1 − y2 = 0 y1 u1 = 0 = y1 0 # y2 u2 = 0 = y2 0 # El sistema resultante de imponer las CHC es 4y1 + 2y2 = 12 y1 + y2 = 4, cuya resoluci´n proporciona una unica soluci´n o ´ o y1 = y2 = 2 Que sustituy´ndola en el problema dual proporciona (v1 , v2 , v3 ) = (0, 0, 0) por lo tanto e es factible y podemos aplicarle junto a la soluci´n del problema primal inicial el THC y o concluir que ambas soluciones son ´ptimas para sus problemas respectivos. o 16
  • 17. Prog. Lineal Dualidad A. Post-optimal Prog. Entera Veamos un ultimo ejemplo para concluir el apartado. Sea el PPL: ´ m´ Z = 85x1 + 40x2 ın s. a: 2x1 + x2 ≥ 8 6x1 + x2 ≥ 12 x1 + 3x2 ≥ 19 x1 ≥ 0, x2 ≥ 0, x3 ≥ 0 Comprobar si es ´ptima la soluci´n x = (0, 12). Calculamos el valor de las holguras o o del problema primal u = (4, 0, 17), planteamos el problema dual e imponemos las CHC, m´x G = 8y1 + 12y2 + 19y3 a s. a: 2y1 + 6y2 + y3 ≤ 85 y1 + y2 + 3y3 ≤ 40 y1 ≥ 0, y2 ≥ 0, y3 ≥ 0 x1 v 1 = 0 = 0 × v1 # x2 v 2 = 0 = 12 × v2 =⇒ v2 = 40 − y1 − y2 − 3y3 = 0 y1 u1 = 0 = y1 × 4 =⇒ y1 = 0 y2 u2 = 0 = y2 × 0 # y3 u3 = 0 = y3 × 17 =⇒ y3 = 0 Sustituyendo y1 e y3 en la expresi´n 40 − y1 − y2 − 3y3 = 0 obtenemos y2 = 40, por o tanto y = (0, 40, 0) es la unica soluci´n que junto a la inicial verifica las CHC. Como la ´ o soluci´n encontrada no es factible, ya que, v1 = −155, podemos concluir que la soluci´n o o x = (0, 12) no es optima. ´ Sobre este mismo ejemplo comprobar si la soluci´n x = (1, 6) es optima. o ´ Calculando el valor de las holguras primales u = (0, 0, 0), las CHC toman la forma siguiente: x1 v1 = 1(85 − 2y1 − 6y2 − y3 ) = 0 =⇒ 2y1 + 6y2 + y3 = 85 x2 v2 = 6(40 − y1 − y2 − 3y3 ) = 0 =⇒ y1 + y2 + 3y3 = 40 y1 u1 = y1 0 = 0 # y2 u1 = y2 0 = 0 # y3 u1 = y3 0 = 0 # Tras imponer su cumplimiento obtenemos que debe verificarse que 2y1 + 6y2 + y3 = 85 y1 + y2 + 3y3 = 40 17
  • 18. Prog. Lineal Dualidad A. Post-optimal Prog. Entera Si existe alguna soluci´n de dicho sistema que sea factible dual, junto con la soluci´n o o primal factible proporcionada x = (1, 6), estar´n en condiciones de aplicar el THC y a concluir que ambas soluciones son ´ptimas para sus problemas respectivos. o Vamos a buscar soluciones del sistema anterior. Tomando y2 como un par´metro que a inicialmente restringimos unicamente a y2 ≥ 0 obtenemos ´ y1 = 43 − 17 y2 5 y2 = y2 ≥ 0 y3 = −1 + 4 y2 5 Puede comprobarse sin dificultad que y1 , y2 e y3 definidas en los t´rminos anteriores e verifican las restricciones del problema dual, unicamente quedar´ por garantizar la no ´ a negatividad de y1 e y3 , para lo cual deber´ cumplirse que a 43 − 17 y2 ≥ 0 =⇒ y2 ≤ 215 5 17 −1 + 4 y2 ≥ 0 =⇒ y2 ≥ 4 5 5 Por tanto cualquier soluci´n de la forma o y1 = 43 − 17 y2 5 y2 y3 = −1 + 4 y2 5 con y2 ∈ [ 4 , 215 ] es factible dual y por lo tanto la soluci´n inicial proporcionada y 5 17 o cualquiera de las soluciones duales obtenidas son, por el THC, soluciones ´ptimas de sus o problemas respectivos. En este ejemplo nos hemos encontrado con que la soluci´n optima del problema primal o ´ era degenerada, s´lo 2 variables toman valor no nulo, y en consecuencia en el problema o dual existe soluci´n m´ltiple. o u 4. Interpretaci´n econ´mica de las variables duales en o o el ´ptimo o Por el teorema fundamental de la dualidad los valores ´ptimos de las funciones obje- o ¯ tivo de un problema primal [P] y su dual [D] son iguales, si x es una SFB ´ptima no o 18
  • 19. Prog. Lineal Dualidad A. Post-optimal Prog. Entera degenerada de [P] e y es la soluci´n optima de [D] (calculada como y = π = cB B −1 ) ¯ o ´ ¯ podremos escribir: Z(¯ ) = c1 x1 + c1 x2 + . . . + c1 xn = y1 b1 + y2 b2 + . . . + ym bm = G(¯ ) x ¯ ¯ ¯ ¯ ¯ ¯ y Supongamos ahora que modificamos el recurso, por ejemplo, b1 en una cantidad ∆b1 “peque˜a”, de manera que la soluci´n primal se siga manteniendo factible, y en conse- n o cuencia ´ptima (observese que c − cB B −1 A no var´ Es decir, de manera tal que o ıa). ∆b1    0  B −1 (b +  . ) ≥ 0    .  . 0 Consideremos ahora los problemas [P1] y [D1], donde [P1] es el problema primal en el que se ha cambiado b por b + ( ∆b1 0 . . . 0 ) y [D1] es su dual. La soluci´n optima o ´ ˜ ¯ de [P1], x, tiene la mismas variables b´sicas que x (por la elecci´n de ∆b1 ) y el valor que a o −1 a o ˜ toma la parte b´sica de dicha soluci´n es xB = B [b + ( ∆b1 0 . . . 0 ) ], por otro lado la soluci´n de [D1] es y = π = cB B −1 , observad que como las variables b´sicas de o ˜ a ˜ ˜ ¯ x no han cambiado entonces B sigue siendo la misma que antes y y = y, teniendo en cuenta estos hechos tenemos que: Z(˜ ) = c1 x1 + c1 x2 + . . . + c1 xn = y1 (b1 + ∆b1 ) + y2 b2 + . . . + ym bm = x ˜ ˜ ˜ ˜ ˜ ˜ = (¯1 b1 + y2 b2 + . . . + ym bm ) + y1 ∆b1 = G(¯ ) + y1 ∆b1 = Z(¯ ) + y1 ∆b1 y ¯ ¯ ¯ y ¯ x ¯ es decir Z(˜ ) = Z(¯ ) + y1 ∆b1 x x ¯ De esta expresi´n se desprende que el valor optimo de la variable dual y1 asociada a la o ´ ¯ primera restricci´n del problema primal representa la cantidad en la que se modifica el o valor de la funci´n objetivo de [P] por cada unidad adicional de recurso 1 (siempre que o la modificaci´n mantenga la base optima). Esto puede hacerse en general para cualquier o ´ recurso bi del problema primal. Teniendo en cuenta esto, si nos situamos, por ejemplo, en un problema primal de m´ximo con restricciones de tipo ≤, lo resolvemos y calculamos a la soluci´n del problema dual, entonces los valores ´ptimos de las variables duales (que o o son ≥ 0) representan la variaci´n unitaria de la funci´n objetivo del primal por cada o o unidad adicional del recurso correspondiente que pudieramos conseguir. Esto nos permite tambi´n interpretar dichos valores como la mayor cantidad que estar´ e ıamos dispuestos a pagar por una unidad adicional de recurso. 19
  • 20. Prog. Lineal Dualidad A. Post-optimal Prog. Entera Veamos un ejemplo en el que se pone de manifiesto las ideas anteriores. Supongamos que hemos resuelto el siguiente PPL, m´x Z = 5x1 + 10x2 a s. a: 2x1 + x2 ≤ 500 2x1 + 5x2 ≤ 1000 2x1 + 3x2 ≤ 900 x1 ≥ 0, x2 ≥ 0 Obteniendo la siguiente tabla optima: ´ x1 x2 x3 x4 x5 5 x1 1 0 8 -1 8 0 187.5 x2 0 1 -1 4 1 4 0 125 x5 0 0 -1 2 -1 2 1 150 0 0 -5 8 - 15 8 0 con un valor de la funci´n objetivo de 2187.5, y con π = cB B −1 = ( 5 , 15 , 0) o 8 8 Realizamos una modificaci´n “peque˜a” del segundo recurso ˜2 = b2 + 250, con esta o n b modificaci´n la tabla quedar´ o a x1 x2 x3 x4 x 5 5 x1 1 0 8 -1 8 0 156.25 x2 0 1 -1 4 1 4 0 187.5 x5 0 0 -1 2 1 -2 1 25 0 0 -5 8 - 15 8 0 con un valor de la funci´n objetivo de 2656,25 = 2187,5 + (250) × ( 15 ), es decir se ha o 8 incrementado en el valor de la variable dual segunda ( 15 ) por el n´mero de unidades 8 u incrementadas 250. Sin embargo, si la modificaci´n alcanza el valor de 325, es decir, o ˜2 = b2 + 325, la soluci´n del problema es x1 = 925 , x2 = 875 y x3 = 50 con un valor de b o 8 4 la funci´n objetivo de 2765,625 = 2187,5 + 325 × 15 . En consecuencia dicho cambio no o 8 es “peque˜o”. Sobre las apreciaciones de cambios peque˜os o grandes hablaremos en el n n tema dedicado a an´lisis post-´ptimo. a o 5. Algoritmo del simplex dual En este apartado vamos a desarrollar un algoritmo de tipo simplex, con elementos similares a los del tema 2, denominado algoritmo simplex dual. 20
  • 21. Prog. Lineal Dualidad A. Post-optimal Prog. Entera En primer lugar seleccionamos los problemas sobre los que vamos a trabajar que ser´n: a m´x Z a = cx m´ G ın = by s.a: Ax = b s.a: Ay≥c [P 1] x≥0 [D1] y no restringida m´ Z ın = cx m´x G a = by s.a: Ax = b s.a: Ay≤c [P 2] x≥0 [D2] y no restringida Definicion 3. Diremos que una base del problema primal (no necesariamente factible) ´ es una base factible dual si y s´lo si o [1] : c − cB B −1 A ≤ 0 Primal de M´ximo a [2] : c − cB B −1 A ≥ 0 Primal de M´nimo ı Se puede apreciar que dicha definici´n es equivalente a decir que una base es factible o −1 dual si cB B constituye una soluci´n factible para el problema dual. Por ejemplo en o el caso [1], si llamamos y = cB B tenemos que c − cB B −1 A = c − y A ≤ 0 que −1 es equivalente a la expresi´n que define las restricciones de [D1]. Alternativamente, la o definici´n de base factible dual s´lo implica que la correspondiente base primal verifica o o las condiciones de optimalidad. Si diera la casualidad que adem´s fuera factible entonces a dicha soluci´n ser´ una soluci´n ´ptima. o ıa o o El algoritmo que se va a presentar va a trabajar con soluciones b´sicas factibles duales a que por medio de operaciones apropiadas finalizar´n (si es posible) en una soluci´n que a o adem´s ser´ factible primal. Mientras el simplex trabaja con soluciones que no cumpl´ a a ıan el criterio de optimalidad y poco a poco se mejoraban hasta conseguir la optimalidad, en el simplex dual se trabaja con soluciones no factibles en las que poco a poco se “mejorar´” la factibilidad hasta alcanzarla (realmente lo que se ir´ mejorando ser´ las a a a −1 soluciones del dual y = cB B ). El algoritmo del simplex dual va a utilizar herramientas an´logas a las utilizadas en a el simplex. Los pasos son los siguientes: Construcci´n de una soluci´n b´sica primal que sea b´sica factible dual. o o a a Si una soluci´n es factible primal entonces dicha soluci´n ser´ optima. o o a´ En caso de que la soluci´n no sea factible primal, entonces habr´ que construir o a una soluci´n b´sica primal que sea b´sica factible dual y que sea adyacente a la o a a anterior, para lo cual deberemos determinar que variable sale de la base actual, que variable entra en la nueva base y deberemos realizar la operaci´n de cambio o de base. 21
  • 22. Prog. Lineal Dualidad A. Post-optimal Prog. Entera El algoritmo va a utilizar las mismas tablas que las que ya se utilizar´n en el caso del o simplex. Para obtener una idea intuitiva del algoritmo podemos tratar de ver que estamos resolviendo el problema dual del problema planteado por medio de una tabla correspon- diente al primal. Con lo que el valor de los costos marginales de las variables del primal est´n directamente relacionados con el valor de las variables duales (ya vimos algo de a esto anteriormente), y el valor de las variables del problema primal estar´ directamente a relacionado con los costos marginales de las variables duales. Las notas correspondientes a la construcci´n de una soluci´n b´sica primal que sea o o a b´sica factible dual se proporcionar´n posteriormente por medio de ejemplos. Comen- a a zamos suponiendo que ya tenemos una soluci´n b´sica factible dual que no es factible o a primal, por tanto tendr´ algunas variables b´sicas con valor negativo, y que vamos a a a construir una soluci´n b´sica factible dual adyacente. o a 5.1. Determinaci´n de la variable que abandona la base o Si no hay factibilidad primal, xB = B −1 b ≥ 0, y existir´ alguna variable b´sica a a tomando valor estrictamente negativo. Se selecciona para abandonar la base la variable b´sica xr tal que: a ¯r = m´ {¯i | ¯i < 0} b ın b b 1≤i≤m (criterio relacionado con seleccionar la variable dual con el mejor costo marginal) 5.2. Determinaci´n de la variable que entra la base o Con objeto de conseguir que la factibilidad se mejore y de que no se pierda la factibil- idad dual de la base se seleccionar´ para entrar en la base una variable xk cuyo elemento a pivote sea negativo, con lo que dicha variable entrar´ con valor positivo y adem´s dicha a a variable cumplir´: a ck − zk cj − zj = m´ın | yrj < 0 yrk 1≤j≤n yrj La utilizaci´n del m´dulo permite definir un unico criterio tanto para el caso de proble- o o ´ mas de m´ximo como de m´ a ınimo. 22
  • 23. Prog. Lineal Dualidad A. Post-optimal Prog. Entera En el caso de no existir ninguna variable no b´sica con valor estrictamente negativo en a la fila de la variable que sale el problema que estamos tratando de resolver es no factible (ejercicio). Para demostrar la convergencia del algoritmo hay que demostrar que de una tabla a otra se produce una mejora en el valor de la funci´n objetivo del problema dual, tomando o −1 como soluci´n y = cB B (siempre y cuando no exista degeneraci´n dual, es decir, que o o la variable que entra no tenga costo marginal nulo). Bajo esta consideraci´n siempre o se toman soluciones duales distintas y en consecuencia, ya que su n´mero es finito, el u algoritmo debe finalizar (ejercicio). S´lo resta del algoritmo la cuesti´n correspondiente a la construcci´n de soluciones o o o b´sicas factibles duales. Hay una situaci´n en la que dicha construcci´n es trivial, y s´lo a o o o utilizaremos el algoritmo simplex dual para la resoluci´n de problemas en este caso. Si o el problema no se ajusta a esta situaci´n entonces existen m´todos para la construcci´n o e o de la soluci´n ba´ica factible dual, pero no vamos a entrar en ellos. Llegado el caso o s aplicar´ıamos el m´todo simplex con variable artificial estudiado en el tema 2. e La situaci´n considerada ser´ cuando tengamos un PPL de m´nimo con costos cj no o a ı negativos y en donde todas las restricciones son de desigualdad (existiendo al menos una restricci´n de tipo “≥”). Entonces podemos multiplicar las restricciones de tipo ≥ por o −1 e introducir variables de holgura en la primera base. Debido a que esta primera base est´ formada por holguras los costos marginales coinciden con los originales y por tanto a son mayores o iguales que cero y dicha soluci´n es una soluci´n b´sica que es b´sica o o a a factible dual. Para finalizar el tema presentamos la resoluci´n de algunos problemas por medio del o algoritmo simplex dual. Resolver el siguiente PPL: m´ Z = x2 ın s. a: 2x1 + x2 ≤ 6 x2 ≤ 4 −x1 + x2 ≥ 2 x≥0 Transformamos el problema, multiplicando la tercera restricci´n por −1 e introducien- o 23
  • 24. Prog. Lineal Dualidad A. Post-optimal Prog. Entera do holguras x3 , x4 y x5 , resultando: m´ Z = x2 ın s. a: 2x1 + x2 + x3 = 6 x2 + x4 = 4 x1 − x2 + x5 = −2 x≥0 con este problema la tabla inicial queda: x1 x2 x3 x4 x5 x3 2 1 1 0 0 6 x4 0 1 0 1 0 4 x5 1 -1 0 0 1 -2 0 1 0 0 0 Esta tabla consituye una soluci´n b´sica factible dual. Sale la variable b´sica con valor o a a negativo mayor en valor absoluto, que es x5 . Entra la variable no b´sica con coeficiente a estrictamente negativo que hace m´ ınimo el m´dulo de los cocientes cjy−zj , es decir, la o 3j unica existente x2 , finalmente se pivota haciendo un 1 en la posici´n de cruce (an´logo ´ o a al algoritmo del simplex). La tabla resultante es: x1 x2 x3 x4 x5 x3 3 0 1 0 1 4 x4 1 0 0 1 1 2 x2 -1 1 0 0 -1 2 1 0 0 0 1 La tabla obtenida es optima ya que es factible primal. La soluci´n es x1 = 0, x2 = 2 con ´ o un valor de la funci´n objetivo de 2. o m´ Z = 31x1 + 11x2 + 12x3 ın s. a: x1 + x2 + 2x3 ≥ 21 2x1 + x2 + x3 ≥ 12 2x2 + 2x3 ≤ 16 x≥0 Cambiamos de direcci´n las dos primeras restricciones e introducimos holguras en o todas. 24
  • 25. Prog. Lineal Dualidad A. Post-optimal Prog. Entera x1 x2 x3 x4 x5 x6 x4 -1 -1 -2 1 0 0 -21 x5 -2 -1 -1 0 1 0 -12 x6 0 2 2 0 0 1 16 31 11 12 0 0 0 Sale la variable b´sica con valor negativo m´s grande en valor absoluto, x4 , y entra la a a variable con la que se alcanza el siguiente m´ ınimo ck − zk cj − zj 12 31 11 12 = m´ın |y1j < 0 | | = m´ ın{| |, | |, | |}, y1k 1≤j≤n y1j −2 −1 −1 −2 es decir x3 . x1 x2 x3 x4 x5 x6 1 1 x3 2 2 1 -1 2 0 0 21 2 x5 -3 2 -1 2 0 -1 2 1 0 3 -2 x6 -1 1 0 1 0 1 -5 25 5 0 6 0 0 Sale x6 y entra x1 . x1 x2 x3 x4 x5 x6 1 x3 0 1 1 0 0 2 8 x5 0 -2 0 -2 1 -3 2 6 x1 1 -1 0 -1 0 -1 5 0 30 0 31 0 25 La soluci´n es factible primal y por tanto optima, siendo x1 = 5, x2 = 0 y x3 = 8. o ´ Por ultimo resolvamos el siguiente problema, ´ m´ Z = x1 + x2 + x3 ın s. a: 3x1 + 2x2 ≤ 3 2x1 + 3x2 − x3 ≥ 5 x3 ≤ 2 x≥0 25
  • 26. Prog. Lineal Dualidad A. Post-optimal Prog. Entera La tabla inicial es x1 x2 x3 x4 x5 x6 x4 3 2 0 1 0 0 3 x5 -2 -3 1 0 1 0 -5 x6 0 0 1 0 0 1 2 1 1 1 0 0 0 Sale x5 y entra x2 . x1 x2 x3 x4 x5 x6 5 2 2 x4 3 0 3 1 3 0 -1 3 2 x2 3 1 -1 3 0 -1 3 0 5 3 x6 0 0 1 0 0 1 2 1 4 1 3 0 3 0 3 0 Ahora debe salir x4 , pero no existe variable candidata a entrar en la base, por tanto el problema es no factible. Puede observarse que la posible mejor situaci´n ser´ x3 = 0 o ıa ıamos que 3x1 + 2x2 ≤ 3 y 2x1 + 3x2 ≥ 5 que son incompatibles. con lo que obtendr´ 26