dr. eduardo a. rodrÍguez tertello/gc/sesion13.pdf · los dos algoritmos de pl que vamos a discutir...
TRANSCRIPT
Programación lineal
Dr. Eduardo A. RODRÍGUEZ TELLO
CINVESTAV-Tamaulipas
5 de marzo del 2013
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 1 / 51
1 Programación linealIntroducciónPL en espacios dimensionales mayoresPL en dos dimensionesConstrucción determinística incrementalAnálisis de complejidadAlgoritmo aleatorizadoAnálisis inverso para PL aleatorizada
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 2 / 51
Programación lineal
El material de esta clase está basado en el capítulo 4 del libro:Mark de Berg, Otfried Cheong, Marc van Kreveld and MarkOvermars. Computational Geometry: Algorithms and Applications.Springer, 3rd edition (April 16, 2008), ISBN-10: 3540779736.
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 3 / 51
Programación lineal Introducción
1 Programación linealIntroducciónPL en espacios dimensionales mayoresPL en dos dimensionesConstrucción determinística incrementalAnálisis de complejidadAlgoritmo aleatorizadoAnálisis inverso para PL aleatorizada
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 4 / 51
Programación lineal Introducción
Introducción
La última clase se estudió el problema del cálculo de laintersección de n semiplanos, y presentó un algoritmo óptimoO(n log n) para este problema
En muchas aplicaciones no es importante conocer todo elpolígono (o, en general todo el poliedro en dimensiones mayores),sino sólo encontrar un punto particular de interés
Una aplicación especialmente importante es la de ProgramaciónLineal (PL)
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 5 / 51
Programación lineal Introducción
Introducción
En PL se nos da un conjunto de desigualdades lineales, orestricciones, que podemos ver como la definición de un poliedro(posiblemente vacío o no acotado) en el espacio, conocido comoregión factible
También se da una función objetivo lineal, la cual debe serminimizada o maximizada sujeta a las restricciones
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 6 / 51
Programación lineal Introducción
Introducción
La descripción típica de un problema de programación lineald-dimensional pueden ser:
Maximizar: c1x1 + · · ·+ cdxdSujeto a: a1,1x1 + · · ·+ a1,dxd ≤ b1
a2,1x1 + · · ·+ a2,dxd ≤ b2...an,1x1 + · · ·+ an,dxd ≤ bn
(1)
donde ai,j, ci, y bi son números reales
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 7 / 51
Programación lineal Introducción
Introducción
Esto también puede ser expresado en notación matricial de lasiguiente forma:
Maximizar: cTx,Sujeto a: Ax ≤ b (2)
donde c y x son vectores d-dimensionales, b es un vectorn-dimensional y A es una matriz de n× d
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 8 / 51
Programación lineal Introducción
Introducción
Desde una perspectiva geométrica, la región factible es laintersección de semiespacios, por lo tanto, es un poliedro convexo(posiblemente no acotado) en el d-espacio
Podemos pensar en la función objetivo como un vector~c, y elproblema es encontrar el punto de la región factible que es máslejano en la dirección~c, llamado vértice óptimo
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 9 / 51
Programación lineal Introducción
Introducción
Programación lineal en 2 dimensiones
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 10 / 51
Programación lineal Introducción
Introducción
Tenga en cuenta que la magnitud de~c es irrelevante, ya que elproblema permanece sin cambios para cualquier escalar positivomúltiplo de~c
En muchos de nuestros ejemplos, vamos a imaginar que~c es elvector que apunta hacia abajo (es decir,~c = (0,−1)), y por lo tanto,el problema es sólo el de encontrar el punto más bajo (con mínimacoordenada y) de la región factible
Esto no implica pérdida de generalidad, ya que siempre es posibletransformar el problema en uno en el que~c = (0,−1) medianteuna rotación adecuada
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 11 / 51
Programación lineal Introducción
Introducción
Existen tres posibles resultados para un determinado problema dePL:
Factible: El punto extremo existe (y suponiendo la posición generales único) como un vértice de la región factibleNo factible: La región factible es no acotada, y por lo tanto, no haysoluciónNo acotado: La región factible es no acotada en la dirección de lafunción objetivo, por lo que no existe solución óptima finita
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 12 / 51
Programación lineal Introducción
Introducción
Como se mencionó anteriormente, sin la suposición de la posicióngeneral, es posible que un problema de PL factible tenga unnúmero infinito de soluciones óptimas (finitas) de igual valor
Esto sucede cuando una arista o cara de la región factible esortogonal al vector de la función objetivo
En estos casos es común romper los empates de alguna manerapara producir una solución única
Por ejemplo, podríamos exigir que la solución sealexicográficamente máxima, es decir, entre todas las solucionesóptimas seleccionar una con el vector lexicográfico máximo
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 13 / 51
Programación lineal PL en espacios dimensionales mayores
1 Programación linealIntroducciónPL en espacios dimensionales mayoresPL en dos dimensionesConstrucción determinística incrementalAnálisis de complejidadAlgoritmo aleatorizadoAnálisis inverso para PL aleatorizada
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 14 / 51
Programación lineal PL en espacios dimensionales mayores
PL en espacios dimensionales mayores
La PL es una técnica muy importante utilizada en la solución deproblemas de optimización de gran tamaño
Las instancias típicas pueden comprender cientos de miles derestricciones en un espacio altamente dimensional
Es sin duda una de las formulaciones más importantes deproblemas generales de optimización
Los principales métodos utilizados para la solución de problemasde PL altamente dimensionales son el algoritmo simplex ydiversos métodos de punto interior
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 15 / 51
Programación lineal PL en espacios dimensionales mayores
PL en espacios dimensionales mayores
El algoritmo simplex trabaja encontrando un vértice en el poliedrode la región factible, y luego camina arista por arista hacia abajohasta llegar a un mínimo local
Por convexidad, el mínimo local es el mínimo global
Es bien conocido que existen casos en los que el algoritmo simplexse ejecuta en tiempo exponencial
La incógnita de si la PL ere resoluble en tiempo polinomial semantuvo sin respuesta hasta que Khachiyan publicó su algoritmodel elipsoide (a finales de los 70) y Karmarkar un algoritmo máspráctico de punto interior (a mediados de los 80)
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 16 / 51
Programación lineal PL en dos dimensiones
1 Programación linealIntroducciónPL en espacios dimensionales mayoresPL en dos dimensionesConstrucción determinística incrementalAnálisis de complejidadAlgoritmo aleatorizadoAnálisis inverso para PL aleatorizada
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 17 / 51
Programación lineal PL en dos dimensiones
PL en dos dimensiones
Nos limitaremos a estudiar en esta clase instancias de PL de bajadimensionalidad
Existen varios problemas interesantes de optimización que sepueden plantear como un problema de PL de bajadimensionalidad, o como problemas de optimizaciónestrechamente relacionados
Un ejemplo es el problema de encontrar el círculo de radiomínimo que encierra un conjunto de n puntos (capítulo 4 libro deBerg et al.)
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 18 / 51
Programación lineal PL en dos dimensiones
PL en dos dimensiones
Consideremos por ahora el problema sólo en el plano
Aquí sabemos que existe un algoritmo O(n log n) basado sólo enel cálculo del poliedro factible, y encontrando su vértice más abajo
Sin embargo, ya que sólo estamos interesados en un punto delpoliedro, parece que podemos esperar hacerlo de manera máseficiente
Además, en un espacio d dimensional, un politopo delimitado porn semiespacios puede tener una complejidad máxima de Ω(nbd/2c)
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 19 / 51
Programación lineal PL en dos dimensiones
PL en dos dimensiones
Mostraremos que los problemas de PL en 2 dimensiones puedenresolverse en tiempo O(n)
Este algoritmo puede ser aplicado en cualquier dimensión d, peroel factor constante oculto por la notación asintótica crece como d!,por lo que no es práctico, excepto para dimensiones muypequeñas
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 20 / 51
Programación lineal PL en dos dimensiones
PL en dos dimensiones
Supongamos que se nos da un conjunto de n desigualdadeslineales (semiplanos) H = h1, . . . , hn de la forma:
hi : ai,xx + ai,yy ≤ bi (3)
y una función objetivo diferente de cero dada por el vector~c = (cx, cy)
El problema es determinar si la instancia de PL es factible yacotada, y si lo es, calcular el punto factible p = (px, py) quemaximiza el producto punto cxpx + cypy (tratando p como vector)
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 21 / 51
Programación lineal PL en dos dimensiones
PL en dos dimensiones
Por lo tanto, asumiremos que~c = (0,−1)
Note que a medida que se decrementa la coordenada y de unpunto, el valor de la función objetivo se incrementa
De esta forma más grande no significa mejor
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 22 / 51
Programación lineal PL en dos dimensiones
PL en dos dimensiones
Los dos algoritmos de PL que vamos a discutir son muy simples yse basan en un método llamado construcción incremental
Un método es determinístico y el otro es aleatorizado (nodeterminístico)
El método de construcción incremental es una de las técnicasalgorítmicas más comunes en geometría computacional, y esta esotra razón importante por la cual estudiar el problema de PL
En primer lugar, analizaremos el algoritmo determinísticoincremental
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 23 / 51
Programación lineal Construcción determinística incremental
1 Programación linealIntroducciónPL en espacios dimensionales mayoresPL en dos dimensionesConstrucción determinística incrementalAnálisis de complejidadAlgoritmo aleatorizadoAnálisis inverso para PL aleatorizada
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 24 / 51
Programación lineal Construcción determinística incremental
Construcción determinística incremental
Supongamos por ahora que la instancia del problema de PL esacotada, y además podemos encontrar dos semiplanos cuyaintersección (un cono) es acotada con respecto a la funciónobjetivo
El libro de Berg et al. explica cómo tratar estos casos especiales enun tiempo O(n) adicional
Vamos a suponer que los semiplanos están numerados como h1 yh2, y que v2 denota este primer vértice óptimo, donde las doslíneas asociadas a estos semiplanos se intersectan
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 25 / 51
Programación lineal Construcción determinística incremental
Construcción determinística incremental
A continuación, añadiremos los semiplanos uno por uno,h3, h4, . . . , y con cada adición se actualiza el vértice óptimo
Sea vi el vértice óptimo factible después de la adición deh1, h2, . . . , hi
El problema consiste en actualizar vi con cada nueva adición
Tenga en cuenta que con cada nueva restricción, la región factiblegeneralmente se reduce, y por tanto el valor de la función objetivoen el vértice óptimo sólo puede decrecer
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 26 / 51
Programación lineal Construcción determinística incremental
Construcción determinística incremental
Hay dos casos que pueden surgir cuando se agrega hi
En el primer caso, vi−1 se encuentra dentro del semiplano hi, porlo que cumple esta restricción
Si es así, entonces es fácil ver que el mejor vértice no cambia, i.e.vi = vi−1
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 27 / 51
Programación lineal Construcción determinística incremental
Construcción determinística incremental
En el segundo caso, vi−1 viola la restricción hi por lo que tenemosque encontrar un nuevo vértice óptimo
Vamos a examinar este segundo caso con mayor detalle
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 28 / 51
Programación lineal Construcción determinística incremental
Construcción determinística incremental
Una observación importante es que (suponiendo que la regiónfactible no es vacía) el nuevo vértice óptimo deberá situarse en lalínea de que acota hi
Llamemos a esta línea `i
Nuestro libro de texto demuestra este hecho formalmente (serecomienda estudiar la demostración), pero aquí presentaremossólo un argumento intuitivo
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 29 / 51
Programación lineal Construcción determinística incremental
Construcción determinística incremental
Supongamos que el nuevo vértice óptimo no cae en `i
Dibujemos un segmento de línea de vi−1 al nuevo óptimo
Observemos que:Conforme caminamos a lo largo de este segmento el valor de lafunción objetivo decrece monótonamente (por linealidad)Este segmento debe cruzar `i (ya que pasa de ser no factible conrespecto a hi a ser factible). Por lo tanto, es maximizado en el puntode cruce, que cae en `i
Las propiedades de convexidad y linealidad son muy importantespara la demostración
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 30 / 51
Programación lineal Construcción determinística incremental
Construcción determinística incremental
Por lo tanto, surge la pregunta de cómo encontrar el vérticeóptimo situada en la línea `i
Este resulta ser un problema de PL 1-dimensional
Simplemente se intersectan cada uno de los semiplanos con estalínea
Cada intersección adoptará la forma de un rayo que cae en la línea
Podemos pensar que cada rayo representa un intervalo (noacotado a la izquierda ni a la derecha)
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 31 / 51
Programación lineal Construcción determinística incremental
Construcción determinística incremental
Todo lo que necesitamos hacer es intersectar estos intervalos, yencontrar el punto que maximiza la función objetivo (es decir, elpunto más bajo)
Calcular la intersección de una colección de intervalos, es muyfácil y se puede resolver en tiempo lineal
Sólo tenemos que encontrar la cota superior más pequeña y la cotainferior más grande
Seleccionamos el punto que maximiza la función objetivo
Si este intervalo es vacío, entonces la región factible es vacía, yterminamos reportando que no existe solución
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 32 / 51
Programación lineal Construcción determinística incremental
Construcción determinística incremental
Observe que hemos resuelto un problema de PL 2-dimensionalmediante una reducción a un problema de PL 1-dimensional (quees fácil de resolver)
Este enfoque general se pueden aplicar a la solución de problemasPL en cualquier dimensión, mediante la reducción repetida aproblemas de PL en la dimensión inmediatamente inferior
Siempre que el vértice óptimo actual no sea factible
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 33 / 51
Programación lineal Construcción determinística incremental
Construcción determinística incremental
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 34 / 51
Programación lineal Análisis de complejidad
1 Programación linealIntroducciónPL en espacios dimensionales mayoresPL en dos dimensionesConstrucción determinística incrementalAnálisis de complejidadAlgoritmo aleatorizadoAnálisis inverso para PL aleatorizada
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 35 / 51
Programación lineal Análisis de complejidad
Análisis de complejidad
¿Cuál es el tiempo de ejecución para el peor caso de estealgoritmo?
Hay aproximadamente n inserciones de semiespacios
En el paso i, podemos encontrar, ya sea que el vértice óptimoactual es factible, en cuyo caso el tiempo de transformación esconstante
O que el vértice óptimo actual es no factible, entonces tenemos queresolver un programa lineal 1-dimensional con i− 1 restricciones
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 36 / 51
Programación lineal Análisis de complejidad
Análisis de complejidad
En el peor de los casos, este segundo paso se produce todo eltiempo, por lo que el tiempo de ejecución está determinado por lasumatoria:
n∑i=3
(i− 1) ≤n−1∑i=1
i =n(n− 1)
2= O(n2) (4)
Esto a partir de propiedades conocidas de las sumatorias
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 37 / 51
Programación lineal Análisis de complejidad
Análisis de complejidad
Sin embargo observe que este peor caso se basa más bien en lasuposición pesimista de que el vértice actual es casi siempre nofactible
A continuación se estudiará si este supuesto es razonable, y lamejor manera de tratar esta situación
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 38 / 51
Programación lineal Algoritmo aleatorizado
1 Programación linealIntroducciónPL en espacios dimensionales mayoresPL en dos dimensionesConstrucción determinística incrementalAnálisis de complejidadAlgoritmo aleatorizadoAnálisis inverso para PL aleatorizada
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 39 / 51
Programación lineal Algoritmo aleatorizado
Algoritmo aleatorizado
El tiempo de ejecución O(n2) del algoritmo determinísticoincremental no es muy favorable
Esto considerando que se podría calcular la totalidad de la regiónfactible en tiempo O(n log n)
Pero se ha presentado ya que conduce a un muy elegantealgoritmo aleatorizado cuyo tiempo esperado de ejecución es O(n)
Tenga en cuenta que la expectativa es sobre la secuencia denúmeros aleatorios, y no depende de ninguna suposiciónprobabilística sobre la distribución de los datos de entrada
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 40 / 51
Programación lineal Algoritmo aleatorizado
Algoritmo aleatorizado
El algoritmo funciona exactamente de la misma manera, peroinsertamos los semiplanos en orden aleatorio, cada vezactualizando la respuesta en base a los semiplanos existentes
Este es un ejemplo de una clase general de algoritmos llamadosalgoritmos aleatorizados incrementales
Sólo hay una diferencia entre este tipo de algoritmos y losdeterminísticos incrementales que acabamos de estudiar
La diferencia es que justo antes de ejecutar el algoritmoincremental, se llama un procedimiento que permutaaleatoriamente la lista de entrada inicial
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 41 / 51
Programación lineal Algoritmo aleatorizado
Algoritmo aleatorizado
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 42 / 51
Programación lineal Análisis inverso para PL aleatorizada
1 Programación linealIntroducciónPL en espacios dimensionales mayoresPL en dos dimensionesConstrucción determinística incrementalAnálisis de complejidadAlgoritmo aleatorizadoAnálisis inverso para PL aleatorizada
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 43 / 51
Programación lineal Análisis inverso para PL aleatorizada
Análisis inverso para PL aleatorizada
Vamos a analizar el tiempo de ejecución del algoritmoaleatorizado incremental de PL mediante una técnica conocidacomo análisis inverso (backwards analysis)
Para ello asumimos que el algoritmo ya terminó de ejecutarse yque devolvió el vértice vn
Sea pi la probabilidad de que la inserción del i-ésimo semiplano enel orden aleatorio resulte en un cambio en el vértice óptimo
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 44 / 51
Programación lineal Análisis inverso para PL aleatorizada
Análisis inverso para PL aleatorizada
Con probabilidad (1− pi) no hay cambio (caso 1), y nos toma untiempo O(1) determinar ésto (tiempo O(d) en general en ddimensiones)
Con probabilidad pi tenemos que invocar una instancia de PL1-dimensional sobre un conjunto de i− 1 semiplanos en ladimensión 1, lo cual implica un tiempo de ejecución O(i)
En general, si T(n, d) es el tiempo esperado de ejecución para nsemiespacios en d dimensiones, entonces el costo seríaT(i− 1, d− 1)
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 45 / 51
Programación lineal Análisis inverso para PL aleatorizada
Análisis inverso para PL aleatorizada
Combinando esto tenemos un tiempo esperado total de ejecuciónde:
T(n) =
n∑i=1
((1− pi) · 1 + pi · i) ≤ n +
n∑i=1
pi · i (5)
Lo único que resta es determinar el valor de pi, para ello vamos aaplicar la misma técnica
Sea Si un subconjunto arbitrario consistente en i de los semiplanosoriginales
Entre todos las i! permutaciones posibles de Si, ¿en cuántas elvértice óptimo cambia con el i-ésimo paso?
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 46 / 51
Programación lineal Análisis inverso para PL aleatorizada
Análisis inverso para PL aleatorizada
Sea vi vértice óptimo para estos i semiplanos
Note que vi sólo depende del conjunto Si y no en el orden de suinserción
Asumiendo la posición general, hay dos semiplanos h′ y h′′ de Sipasando a través de vi
Si ninguno de ellos es el último insertado, entonces vi = vi−1, y nohay ningún cambio
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 47 / 51
Programación lineal Análisis inverso para PL aleatorizada
Análisis inverso para PL aleatorizada
Si h′ o h′′ fue el último insertado, entonces vi aún no existía, y porlo tanto el óptimo debió haber cambiado como resultado de estainserción
De esta manera, el óptimo cambia si y sólo h′ o h′′ fue el últimosemiplano insertado
Dado que todos los i semiplanos tienen la misma probabilidad deser los últimos en ser insertados, entonces esto ocurre conprobabilidad 2/i
Por lo que pi = 2/i
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 48 / 51
Programación lineal Análisis inverso para PL aleatorizada
Análisis inverso para PL aleatorizada
Para ilustrar esto, consideremos el ejemplo que se muestra en lasiguiente figura
Tenemos i = 7 semiplanos que han sido insertados aleatoriamentehasta el momento, y vi = v es el vértice óptimo actual que estádefinido por h4 y h8
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 49 / 51
Programación lineal Análisis inverso para PL aleatorizada
Análisis inverso para PL aleatorizada
Asumamos que el último semiplano insertado fue h5
Consideraremos la situación con todos los semiplanos excepto h5
Antes de ésto v ya había sido considerado como el vértice óptimo,por lo tanto insertar h5 tomó un tiempo O(1)
Por otro lado, si h8 fue el último en ser insertado, habríamostenido un vértice óptimo diferente, llamado v′ (el óptimo tambiéncambia si el último insertado fuera h4)
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 50 / 51
Programación lineal Análisis inverso para PL aleatorizada
Análisis inverso para PL aleatorizada
En resumen, en 2 de 7 casos (h4 y h8) en la inserción i-ésimarequerimos resolver una instancia de PL 1-dimensional en tiempoO(i) y en 5 de 7 casos un tiempo O(1) es necesario
Volviendo a nuestro análisis, ya que pi = 2/i tenemos que:
T(n) ≤ n +
n∑i=1
pi · i = n +
n∑i=1
2ii
= n + 2n = O(n) (6)
Por lo tanto, el tiempo de ejecución esperado es lineal en n
Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Programación lineal 5 de marzo del 2013 51 / 51