Docstoc

Programación Entera

Document Sample
Programación Entera Powered By Docstoc
					Programación Entera
               Programación Entera

• Si tenemos un programa Lineal en forma de
  Minimización:
• Min f(x)
• Sujeto a:              Los vectores x que
  A x≤ b                 satisfagan esta
                         restricción definen
  x1,x2,…,xn ≥ 0
                         un espacio F
  Agregamos x1,x2,…,xn є Enteros No-negativos
                Programación Entera

• Si z*PL es el valor óptimo del modelo de
  Minimización Lineal y z*PE es el valor óptimo del
  modelo de Minimización Entero, entonces tiene
  que ser que:
             z*PL ≤ z*PE
• z*PL Lo encontramos con el Simplex (o variante)
• ¿Cómo encontramos z*PE ?
              Programación Entera

• Ejemplo:
• Min -18 X1 – 8 X2
  S.A. 4.8 X1 + 2 X2 ≤ 25
      -12 X1 - X2 ≤ -22.5
     X1, X2 ≥ 0
  Resolvemos y obtenemos:
  X1* = 1.042, X2* = 10
  Ver Ejemplo Excel
               Programación Entera

• Enumeración Exhaustiva ( En el ejemplo 18
  puntos, pero ¿Qué ocurre con un problema de
  tamaño pequeño de 10 variables con 8 valores
  posibles cada una?
• Son 1,073,741,824 puntos a evaluar)
                 Progamación Entera

• ¿Cómo atacar el problema?
• ¿Cómo diseñar el algoritmo?
• Si al resolver el problema original la respuesta es
  Enteros no negativos…Listo…Si no es el caso ¿?
• Analicemos el siguiente ejemplo:
• Min - 2X1 - X2
• S.A. X1 + 2 X2 ≤ 12               Denotemos como F el
          8 X1 - 2 X2 ≤ 30          espacio factible de
        - 8 X1 + 3 X2 ≤ 35          vectores no negativos del
       X1, X2≥0                     Problema Lineal
       X1,X2 Enteros No Negativos
     y   - 8 X1 + 3 X2 ≤ 35

14

12                                8 X1 - 2 X2 ≤ 30

10

 8
         X1 + 2 X2 ≤ 12
 6

 4

 2

                                                     x
               2          4   6      8         10
         Ver Ejemplo sesión 1.xls



     y

14

12

10                   f.o. =-15
 8
         f.o. =-13
 6
                                 z* = -13 x1=4.66667, x2 = 3.66667
 4

 2

                                                                     x
            2            4            6           8          10
                    Estrategia P.E.

• Resolver Problema de minimización original, si
  óptimo entero Fin, si no elegir una de las
  variables Xi no enteras y Ramificar.
• Resolver ramificación.
• Analizar si se puede dar por sondeada alguna
  rama.
• Continuar hasta encontrar óptimo
• ¿Qué les falta a estos pasos?
                          Algoritmo

• Paso 0 Inicializar (Problema de Minimización)
  – Resolver Problema original, si óptimo entero Fin.
  – Buscar una solución factible como cota superior zu. Si
    no podemos identificar alguna solución factible
    asignar + Infinito
                               Algoritmo

• Paso 1 Ramificar
   – Seleccionar un subconjunto de soluciones viables. Elegir una de
     las variables Xi con solución en el subproblema no entera.
   – Partir el subproblema en Dos subconjuntos de soluciones
     posibles (partir el espacio de soluciones del subproblema en
     dos), cada subconjunto es generado agregando una nueva
     restricción. En uno Xi ≤ entero inmediato inferior al resultado
     óptimo original, en otro Xi ≥entero inmediato superior.
                         Algoritmo

• Paso 2 Acotar.
  – Para cada nuevo subconjunto obtener el límite
    inferior al objetivo zL en ese subconjunto
                              Algoritmo

• Paso 3 Sondear
  – Examinar cada subconjunto que pueda contener el punto óptimo
    y declarar como sondeado un subconjunto de consideración si:
      • A) zL ≥ zU
      • o B) El subconjunto no tiene puntos factibles
      • o C) zL se obtiene en un punto de valores enteros viable en
        el subconjunto y zL < zU
  – En el caso C) llamaremos al punto solución viable la solución
    entrante y asignaremos a zU el valor de zL Iniciar Paso 3
    nuevamente para ver si podemos declarar sondeados otros
    subconjuntos con el nuevo zU
                        Algoritmo

• Paso 4 Prueba
  – Si todos los subconjuntos han quedado sondeados
    Terminar (la solución entrante es óptima para el
    problema entero). Si no ir a paso 1.
                            Ejemplo 2

• Min -18X1 – 8 X2
• S.A.
  4.8 X1 + 2 X2≤ 25
  -12 X1 - X2 ≤ -22.5
  X1, X2 ≥0; X1, X2 Enteros
• Paso 0 Inicializar
Resolvemos PL y obtenemos Z*PL = -98.75 con
  X1*= 1.0417 y X2*=10. Elegimos como viable
  X1=2, X2=0 dando ZU=-36


            Ver Ejemplo sesión 2.xls Ejemplo P E 2
                       Paso 1 Ramificar

• Como X1* no es entero
  Ramificar en X1                            zLP=-98.75
• Dos subproblemas:                          X1=1.0417
                                               X2= 10
  – Mismo modelo y
    adicionalmente X1≤1 Implica
    nuevo espacio de
    posibilidades es: F∩(X1≤1 )
  – X1≥2; F∩(X1≥2 )

                                                          Min z(x)
                                  Min z(x)
                                                            xєF
                                    xєF
                                                          X1 ≥2
                                  X1 ≤1
                     Paso 2 Acotar

• Resolvemos para cada
                                          zLP=-98.75
  subproblema el óptimo                   X1=1.0417
  (z*L del subproblema)                     X2= 10
                                            ZU=-36




                                                       Min z(x)
                             Min z(x)
                                                         xєF
                               xєF
                                                        X1 ≥2
                             X1 ≤1
                                                       ZL=-97.6
                            No factible
                    Paso 3 Sondear

• El subproblema Sondeado C
                                             zLP=-98.75
  genera que la nueva ZU= -                  X1=1.0417
  97.6                                         X2= 10
                                               ZU=-36




                                                          Min z(x)
                                Min z(x)
                                                             xєF
                                  xєF
                                                           X1 ≥2
                                X1 ≤1
                                                          ZL=-97.6
                               No factible
                                                            X1=2
                              Sondeado B
                                                           X2=7.7
                 Paso 4 Prueba
• No todos los subproblemas han quedado
  sondeados por lo tanto regresar a Paso 1

                         Min z(x)
                           xєF
                          X1 ≥2
                         ZL=-97.6




                 Min z(x)              Min z(x)
                   xєF                   xєF
              X1 ≥2, X2 ≤7          X1 ≥2, X2 ≥ 8
               ZL=-97.25              ZL=-97.6
             X1=2.29, X2=7           No factible
                                Min z(x)
                                  xєF
                             X1 ≥2, X2 ≤7
                               ZL=-97.25
                             X1=2.29, X2=7
                                                  ZL=-92
                                                X1=2, X2=7
                     ZL=-96.4
                                                Sondeado C
                   X1=3, X2=5.3                   ZU=-92



           ZL=-96.25
         X1=3.12, X2=5            No factible


  ZL=-94
X1=3, X2=5
                     ZL=-95.2
Sondeado C
                   X1=4, X2=2.9
  ZU=-94



          ZL=-94.75
                                  No factible
        X1=4.375, X2=2



  ZL=-88              ZL=-94.
X1=4., X2=2         X1=5, X2=.5
Sondeado A          Sondeado A
               Ejemplo 3

•  Pág 218 Libro Ecker &
   Kupferschmid
• Min z(x)=3 X1 –7 X2 –12 X3
• S.A.
 - 3 X1 + 6 X2 +8 X3 ≤12
   6 X1 – 3 X2 + 7 X3 ≤8
 - 6 X1 + 3 X2 + 3 X3 ≤5
Ejemplo 3
                 Análisis del Algoritmo

• ¿Qué falta por especificar?
• En qué momentos hizo falta tomar una decisión ¿Cómo
  implementar la elección en el Algoritmo?
• ¿Sólo se puede emplear en problemas lineales o es
  aplicable a problemas no lineales?
• ¿Qué piensas de la implementación del algoritmo para
  solucionar este tipo de problemas?
                       Mayor Profundidad

• Garfinkel, R. and Nemhauser, G., “Integer Programming”, Wiley
  New York 1972
• Geoffrion, A., and Marsten, R., “Integer Programming Algorithms: A
  Framework and State of the art Survey”, Management Science
  18:465-491 (1972)
• Nemhauser, G., and Ullman, Z., “A note on the generalized
  Lagrange multiplier solution to an integer programming problem”,
  Operations Research 16:450-453 (1968).
• Balas, E., “An adaptive algorithm for solving linear programs with
  Zero-One variables”, Operations Research 13:517-546 (1965).

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:8
posted:3/26/2013
language:Unknown
pages:24