Sunteți pe pagina 1din 57

OPTIMIZACION IN34A

Introduccin a la Optimizacin o o

in34a - Optimizacin o

Estructura del Curso


1. Introduccin a la Optimizacin: semana 1 o o 2. Programacin No Lineal: semanas 2, 3 y 4 o 3. Programacin Lineal: semanas 5, 6, 7, 8, 9 o 4. Programacin Lineal Entera: semanas 10 y 11 o 5. Flujo en Redes: semanas 12 y 13 6. Programacin Dinmica: semanas 14 y 15 o a

Introduccin a la Optimizacin o o

in34a - Optimizacin o

Evaluaciones
3 controles y 1 examen = Nota de Controles 3 tareas computacionales = Nota de Tareas 3 controles de trabajo personal (CTPs) = Nota de CTPs 0,7Nota de Controles +0,2Nota de Tareas +0,1Nota de CTPs = Nota Final

Introduccin a la Optimizacin o o

in34a - Optimizacin o

Bibliograf a
Obligatoria 1. Ortiz, C., S. Varas y J. Vera, Optimizacin y modelos para la gestin. 1 ed., o o Dolmen, 2001. Complementaria 1. 2. 3. 4. 5. 6. 7. 8. 9. Bazaraa, M. y C. Shetty, Nonlinear Programming, Wiley, 1979. Dreyfus and Law, The Art of Dynamic Programming, Academic Press, 1977. Fox, R., Optimization Methods for Engineering Design, Addison-Wesley, 1971. Hiller, F. y G. Lieberman, Introduccin a la Investigacin de Operaciones. 5 o o ed. Holden-Day, 1991. Hu, T.C. Combinatorial Algorithms, Addison Wesley, 1982. Murty, K. Linear and Combinatorial Programming, Wiley, 1976. Simmonard, M. Linear Programming, Prentice Hall. Taha, H.A. Investigacin de Operaciones, una introduccin, 6 ed. Prentice o o Hall, 1998. Vanderplaats, G. Numerical Optimization Techniques for Engineering Design, McGraw Hill, 1984.
3

Introduccin a la Optimizacin o o

in34a - Optimizacin o

10. Winston, W.L. Investigacin de Operaciones: Aplicaciones y Algoritmos, Grupo o Editorial Iberoamrica, 1994. 11. Manuales AMPL., Matlab, CPLEX Pgina Ocial: http://ucursos.ing.uchile.cl a Links Interesantes Documentacin en L o nea de Software http://www.ampl.com http://www.matlab.com http://www.cplex.com Aplicaciones de Optimizacin o http://www.dii.uchile.cl/ in34a (Controles y Clases Auxiliares de semestres anteriores) http://www.dii.uchile.cl/ ris (Revista de Ingenier de Sistemas) a http://lionhrtpub.com/orms/ (OR/MS Today, Tpicos en Investigacin Opero o ativa) http://ormstomorrow.informs.org/ (OR/MS Tomorrow, Student Newsletter) http://pubsonline.informs.org (Bsqueda de abstract en los Journals de INu FORMS)
Introduccin a la Optimizacin o o 4

in34a - Optimizacin o

Cap tulo 1: Introduccin a la Optimizacin o o


Qu es la Investigacin de Operaciones? e o Enciclopedia Britnica: Es la aplicacin de mtodos cient a o e cos a la adminstracin o y gestin de organizaciones gubernamentales, industriales, comerciales y militares. o Gass (1983): Es la ciencia de la toma de decisiones. Area de Aplicacin Fundamental: Gestin en Diversas Organizaciones. o o La I.O. se apoya en diferentes disciplinas cient cas, pertenecientes la mayor al mbito a a de la Matemtica Aplicada. a Una de las disciplinas principales de la I.O. es la Programacin Matemtica. o a

Introduccin a la Optimizacin o o

in34a - Optimizacin o

Problema Bsico de la Programacin Matemtica a o a

Encontrar el mejor valor de alguna medida de desempeo (llamada Funcin Objetivo), n o siempre que las variables de decisin cumplan ciertas restricciones. o

1. Problemas del Estilo mx f (x) a

s. a. x S con S es cualquier conjunto, por ejemplo S = [1, 8]. Grcamente: a Ej:


Introduccin a la Optimizacin o o 6

in34a - Optimizacin o

Figura 1: funcin f o

Introduccin a la Optimizacin o o

in34a - Optimizacin o

Algo de Historia
Siglo XVIII: Primeras formalizaciones matemticas de este tipo de problemas a realizadas por Fourier y Lagrange. 1945: El trabajo de Von Neumann da origen a la Programacin Lineal. o Segunda Guerra Mundial: La guerra obliga a solucionar problemas muy grandes, destinados a resolver la asignacin ptima de recursos y la correcta puesta en o o prctica de la log a stica. Varios de estos problemas se engloban en lo que hoy conocemos como problemas de transporte. Dcada del 50: Dantzig desarrolla un algoritmo para problemas de programacin e o lineal generales: el mtodo SIMPLEX. e

Introduccin a la Optimizacin o o

in34a - Optimizacin o

Metodolog para enfrentar un problema con el enfoque de I.O. a


1. Denicin del Problema o 2. Construccin del Modelo o 3. Resolucin del Modelo o 4. Validacin del Modelo o 5. Implementacin y Control del Modelo o

Introduccin a la Optimizacin o o

in34a - Optimizacin o

1. Denicin del Problema o


a) Identicar el mbito del sistema en estudio a Identicar componentes y relaciones existentes entre ellas. Denir l mites o fronteras del sistema. Denir el medio ambiente y las posibles inuencias de ste sobre el sistema. e b) Establecer los objetivos del sistema Proponer diferentes cursos de accin conducentes a obtener el mejoramiento o deseado. Identicar las decisiones que son tomadas en el mbito del sistema y que a pueden ser modicadas. Cuanticacin de los objetivos espec o cos a n de poder evaluar la eciencia y/o ecacia de las soluciones propuestas. c) Identicar las alternativas de decisin o Generacin de alternativas de decisin. o o Seleccionar un nmero reducido de las alternativas ms efectivas. u a Denir lineas gruesas de accin consistentes con los objetivos del estudio. o Para los puntos a y b es importante considerar los objetivos de la organizacin solicitante o del estudio y de los participantes involucrados en las decisiones consideradas.
Introduccin a la Optimizacin o o 10

in34a - Optimizacin o

Aspectos a tener en cuenta en la denicin del problema o


a) Dimensin Espacial del Sistema: L o mites entre el sistema y el marco de referencia. Ej: Produccin o Una planta de la empresa La totalidad de la empresa El sector productivo nacional b) Dimensin Temporal del Sistema u Horizonte: Per o odo para el cual se har el a diseo y establecimiento de unidades temporales dentro del per n odo. Ej: Planicacin de Produccin o o Per odo: 1 mes Unidades Temporales: 1 d a Notar que los subper odos en los cuales se divide un per odo no necesariamente deben ser de la misma extensin que las unidades temporales. o

Introduccin a la Optimizacin o o

11

in34a - Optimizacin o

Aspectos a tener en cuenta en la denicin del problema o


c) Nivel de las Decisiones: Decisiones que aborda el estudio. Ej: Estratgicas Largo Plazo Agregar una planta e Operativas Corto Plazo Programacin de mquinas o a d) Separabilidad de las Decisiones: Grado de interrelacin que existe entre las o diferentes instancias abordadas en el estudio. Cuando es posible separar componentes de un sistema? Cuando el nivel de inuencia de las reacciones a las decisiones tomadas en una componente es dbil. e Ej:

La congestin causada por el semforo afecta el cruce. o a Conclusin: No estudiar la congestin en el cruce independiente del semforo. o o a
Introduccin a la Optimizacin o o 12

in34a - Optimizacin o

Aspectos a tener en cuenta en la denicin del problema o


e) Grado de Precisin Numrica: Error que se est dispuesto a aceptar en los o e a valores numricos de la solucin. e o Error en los datos Error en las soluciones. f ) Tiempo y Recursos Humanos Disponibles: Plazos establecidos para el estudio y caracter sticas del equipo de trabajo. g ) Tecnolog Disponible: Metodolog con las que se cuenta y caracter a as sticas de los equipos computacionales. Ej: Metodolog as Software Comercial Software Desarrollado Ad-Hoc Nota: Todos los aspectos anteriores estn fuertemente interrelacionados. a

Introduccin a la Optimizacin o o

13

in34a - Optimizacin o

2. Construccin del Modelo o


Caracter stica de la I.O.: Utilizacin de modelos matemticos en la resolucin de los o a o problemas. Modelo Aproximacin de la realidad o La calidad de un modelo depende de la percepcin, creatividad, intuicin, conocimiento o o e imaginacin del modelador. o En la prctica no pueden considerarse todos los factores y todas las relaciones exisa tentes entre ellos, por lo que se seleccionan los aspectos ms relevantes. a

Introduccin a la Optimizacin o o

14

in34a - Optimizacin o

Elementos Caracter sticos de un Modelo Matemtico: a


Variables: Variables de Decisin o Endgenas: Decisiones cuanticables abordadas por o o el estudio, cuyos valores se intenta determinar por medio de la resolucin del o modelo. Variables Exgenas o Parmetros: Decisiones que han sido tomadas fuera del o a mbito del sistema. Desde el punto de vista del modelo son datos. a Variables de Estado: Variables que caracterizan la situacin en la que se o encuentra el sistema en un instante dado. Su valor depende de las variables de decisin y los parmetros. o a Restricciones: Limitaciones que deben imponerse al sistema. Medida de Efectividad: Criterio que se utilizar para comparar distintas opciones. a Restricciones y medidas de efectividad expresan las relaciones entre las variables.

Introduccin a la Optimizacin o o

15

in34a - Optimizacin o

Tipos de Modelos
1. Modelos de Programacin Matemtica u Optimizacin o a o Resolver un modelo de optimizacin implica determinar los valores de las variables o de decisin de modo que se cumplan las restricciones y se optimice la funcin o o objetivo. Existen muchas situaciones donde las caracter sticas de las decisiones no permiten construir un modelo matemtico adecuado. Otras veces el grado de complejidad a y el tamao del modelo pueden hacer muy dicultosa su resolucin. n o 2. Teor de Juegos a Se utilizan cuando en el sistema considerado existen varios componentes que toman decisiones interrelacionadas. El modelo permite evaluar una alternativa propuesta por uno de los actores considerando la participacin del resto. Ej: Una o empresa que quiere lanzar al mercado un nuevo producto (las empresas de la competencia son los otros actores). Esta herramienta permite comprender el funcionamiento de sistemas complejos. Aplicaciones en el campo de la Econom (ms detalles en el curso in41a). a a
Introduccin a la Optimizacin o o 16

in34a - Optimizacin o

Tipos de Modelos
3. Simulacin o Permite replicar (en un computador) el comportamiento del sistema bajo condiciones dadas. Los resultados vienen dados por un conjunto de indicadores de desempeo que n permiten evaluar el comportamiento del sistema. El esp ritu no es optimizar sino reproducir el comportamiento del sistema. Ej: Call Center y diferentes alternativas de cambios. 4. Prototipos Opera directamente con el sistema real bajo estudio. Es ms ajustado pero tambin ms costoso que un modelo de simulacin. a e a o Ej: Call Center y el anlisis acerca de un cambio realizado. a

Introduccin a la Optimizacin o o

17

in34a - Optimizacin o

Tipos de Modelos

Modelo Matemtico a

T. de Juegos

Simulacin o

Prototipo

Sistema Real

Crece Grado de Abstraccin o

La seleccin del tipo de modelo que se ha de utilizar depende de la complejidad de la o situacin planteada, del tiempo y de la tecnolog disponible para su resolucin. o a o

Introduccin a la Optimizacin o o

18

in34a - Optimizacin o

3. Resolucin del Modelo o


Qu es resolver un modelo? e Es encontrar los valores de las variables de decisin de manera que se cumplan las o restricciones y se optimice la funcin objetivo. o Muchas veces esto puede ser sencillo porque slo consiste en aplicar un paquete o computacional comercial. Otras veces puede ser necesario desarrollar metodolog especializadas de solucin. as o

Introduccin a la Optimizacin o o

19

in34a - Optimizacin o

Tipos de Soluciones
1. Soluciones Anal ticas: El valor de las variables de decisin se obtiene por medio o de operaciones algebraicas. 2. Soluciones Numricas: El valor de las variables de decisin se obtiene por medio e o de procedimientos, generalmente iterativos. Procedimientos para Encontrar Soluciones Numricas e Algoritmos Exactos: Obtiene soluciones ptimas a travs de iteraciones. o e Heur sticas: Procedimientos iterativos que tratan de determinar buenas soluciones pero no garantizan optimalidad. Comnmente utilizadas ante la convergencia muy u lenta de un algoritmo exacto. Adems de la solucin del modelo, es conveniente proveer informacin acerca del a o o comportamiento de ste ante variaciones pequeas de los parmetros, esto se logra a e n a travs del Anlisis de Sensibilidad e a
Introduccin a la Optimizacin o o 20

in34a - Optimizacin o

4. Validacin del Modelo o


Es necesario vericar que una solucin es razonable. o Un modelo puede resultar no vlido debido a: a Se omitieron variables o relaciones relevantes. Se incluyeron variables o relaciones no relevantes. Se consideraron valores de los datos estimados incorrectamente, etc. Se suele partir analizando la solucin para instancias pequeas del problema, si los o n resultados son coherentes se pasa al anlisis de soluciones para instancias ms grandes. a a Para los sistemas que estn operando una forma de validar es una prueba retrospectiva, a es decir, estudiar el modelo con datos de per odos anteriores. Para los sistemas que no estn operando pueden utilizarse datos obtenidos de un a modelo de simulacin. o
Introduccin a la Optimizacin o o 21

in34a - Optimizacin o

5. Implementacin y Control del Modelo o


Implementacin: o Una vez desarrollado el estudio y validado el modelo, las soluciones deben transformarse en herramientas de apoyo a la toma de decisiones, esto implica: Establecer procedimientos, manuales y/o computacionales, al interior de la organizacin que aseguren la disponibilidad de los datos que el modelo requiere. o Establecer procedimientos que permitan, una vez que se tienen los datos, resolver el modelo y obtener la solucin. Esto corresponde fundamentalmente a la puesta en o marcha del paquete computacional utilizado. Establecer procedimientos que permitan transformar las soluciones en acciones espec cas en la organizacin. o Datos Algoritmos Acciones

Introduccin a la Optimizacin o o

22

in34a - Optimizacin o

5. Implementacin y Control del Modelo o


Control: Es necesario establecer un sistema de control que permita detectar cualquier desviacin o de los supuestos. Esto permitir efectuar oportunamente las modicaciones que coa rrespondan cuando los cambios sean signicativos. Es importante notar que la solucin del modelo debe ser analizada por el tomador de o decisiones, quien podr modicarla incorporando en la decisin nal elementos que no a o se han considerado en el modelo.

Introduccin a la Optimizacin o o

23

in34a - Optimizacin o

Principales Causas del Fracaso de Aplicaciones de I.O.


1. Falta de integracin e interaccin entre el equipo de desarrollo y las personas que o o estarn a cargo de la operacin del sistema en la organizacin. Para evitar esto es a o o importante la participacin del usuario/operador durante el desarrollo del proyecto. o 2. Problemas de diseo, particularmente en la interfaz computacional con el usuario. n Para evitar esto es necesario tener un medio fcil, rpido y amistoso para ingresar a a los datos del modelo y para interpretar sus resultados.

Introduccin a la Optimizacin o o

24

in34a - Optimizacin o

Disciplinas de la I.O.
1. Programacin Matemtica u Optimizacin: o a o Incluye un conjunto de conceptos y tcnicas para abordar el problema de determinar e los valores de las variables de decisin de un modelo, de modo que se obtenga el o mejor valor de una medida de rendimiento y se cumplan las restricciones impuestas en el modelo. El hecho de incorporar o no la incertidumbre en los modelos identica dos reas a espec cas bien diferenciadas: Programacin Matemtica Estocstica y Prograo a a macin Matemtica Determin o a stica 2. Programacin Dinmica: o a Tcnica que aborda la resolucin de los problemas identicando estructuras dinmie o a cas entre las variables de decisin. Por ejemplo, problemas que describen la evolucin o o en el tiempo de un sistema cuyas condiciones en un per odo dependen del estado del sistema en per odos anteriores.

Introduccin a la Optimizacin o o

25

in34a - Optimizacin o

Disciplinas de la I.O.
3. Teor de Colas: a Se ocupa de tcnicas y conceptos que permiten abordar problemas cuyo modelo e bsico es el de una cola o la de individuos que esperan ser atendidos por un a servidor. Ej: Call Center, Bancos, etc. 4. Simulacin: o Disciplina que permite el estudio de sistemas complejos mediante el uso del computador con el objeto de reproducir su comportamiento. 5. Teor de Juegos: a Aborda problemas donde dos o ms agentes se enfrentan a situaciones de conicto a e intentan alcanzar cierto estado de equilibrio. El curso se centra fundamentalmente en los problemas de tipo 1, de tipo determin stico. Por el nal del curso se abordarn problemas de tipo 2. a

Introduccin a la Optimizacin o o

26

in34a - Optimizacin o

Impacto de la I.O. en la Gestin Moderna o


Se ha cuestionado la verdadera utilidad de la I.O. ya que muchos de los grandes modelos desarrollados en las dcadas de los 60 y 70 no pudieron ser resueltos pues e los recursos computacionales resultaron incientes. Hoy el gran desarrollo de herramienas computacionales y la introduccin de nuevos o mtodos de solucin exacta (o al menos aproximada) ha permitido resolver problemas e o que hace 30 o 40 aos eran intratables. n Aplicaciones Interesantes: L neas Areas e Sistemas de Reservaciones Asignacin de Flotas y Tripulacin o o Log stica Problemas de Despacho Ruteo de Veh culos

Introduccin a la Optimizacin o o

27

in34a - Optimizacin o

Impacto de la I.O. en la Gestin Moderna o


Aplicaciones en Chile (realizadas por el DII): Sistemas de despacho de camiones aplicados a la industria forestal Licitacin de alimentos para comedores escolares o Sistema de optimizacin de la planicacin de largo plazo en miner o o a subterrnea y de rajo. a Diseo del xture del ftbol chileno, ao 2005. n u n

Introduccin a la Optimizacin o o

28

in34a - Optimizacin o

Problema General de Optimizacin o


Variables de Decisin: x1, . . . , xn o Restricciones: Se debe cumplir que (x1, . . . , xn) S Rn, el conjunto S se denomina conjunto de soluciones factibles. Funcin Objetivo: Corresponde a la medida de efectividad f : Rn R o Luego, el problema a resolver es: m n(o mx)f ( ) a x s. a. S x Con = x1, . . . , xn. x Si S = Rn se dice que el problema es irrestricto. Si no es un problema con restricciones.

Introduccin a la Optimizacin o o

29

in34a - Optimizacin o

Problema General de Optimizacin o


Si se tiene un problema con restricciones se representar a S por un conjunto nito de a desigualdades, es decir: m f ( ) n x s. a. gi( ) 0, con i = 1, . . . , m x Donde cada gi : Rn R representa alguna caracter stica o condicin que se desea o incorporar.

Introduccin a la Optimizacin o o

30

in34a - Optimizacin o

Clasicacin de los Problemas o


Problemas Lineales: f y gi son funciones lineales (de la forma aT x+b, con a Rn y b R). Dentro de este tipo de problemas tenemos: Problemas Enteros: Todas las variables toman valores enteros. Problemas Binarios: Todas las variables pueden tomar solo uno de dos valores, en general 0 o 1 (este caso es un caso particular del punto anterior). Problemas Mixtos: Algunas variables deben ser enteras y otras pueden tomar cualquier valor en los reales. Problemas No Lineales: Al menos una restriccin gi o la funcin objetivo f es no o o lineal. Existen distintas variantes de estos problemas que se vern ms adelante. a a

Introduccin a la Optimizacin o o

31

in34a - Optimizacin o

Clasicacin de los Problemas o

Figura 2: Tipos de Problemas


Introduccin a la Optimizacin o o 32

in34a - Optimizacin o

Mtodos, Algoritmos y Heur e sticas


La solucin de un problema de optimizacin se encuentra aplicando procedimientos o o computacionales denominados mtodos, algoritmos o heur e sticas. Una instancia de un problema se obtiene especicando valores particulares para todos sus parmetros. a Ej: Sea el problema m f (x) = ax2 + bx + c n Una instancia del problema se obtendr jando los valores de a, b y c. a 1. Mtodo e Secuencia de pasos, que puede ser nita o innita, cuyo objetivo es determinar la solucin de un problema. o Ej: Determinar una ra de g(x) = x2 2 z Usamos el mtodo iterativo de Newton-Raphson: e xk+1 = xk A partir de un x0 = 0.
Introduccin a la Optimizacin o o 33

g(xk ) g (xk )

in34a - Optimizacin o

Mtodos, Algoritmos y Heur e sticas


Cuando el nmero de iteraciones tiende a innito el mtodo garantiza convergencia u e (en este caso a 2). Como obviamente no se alcanza la solucin exacta, se modica el mtodo buscando o e un x tal que |x2 2| , donde > 0 es dado como dato. 2. Algoritmo Secuencia nita de pasos que garantiza el encontrar una solucin de un problema o para una instancia dada. Ej: Algoritmo de Gauss para invertir matrices. Algoritmo de Euclides para determinar mximo comn divisor a u Algoritmo de Newton-Raphson para encontrar una ra aproximada de una funcin z o diferenciable.

Introduccin a la Optimizacin o o

34

in34a - Optimizacin o

Mtodos, Algoritmos y Heur e sticas


3. Heur stica Procedimientos que en un tiempo razonable dan una buena aproximacin a la o solucin del problema. o Se han desarrollado para problemas que no se pueden resolver con algoritmos, o para problemas cuyos algoritmos se demoran mucho en resolverlos. Ej: Vendedor Viajero Algoritmos Exactos Fuerza Bruta: (n1)! posibles tours 2 Algoritmos ms inteligentes a Heur stica Greedy

Introduccin a la Optimizacin o o

35

in34a - Optimizacin o

Complejidad de Problemas y Algoritmos


La dicultad de un problema est relacionada con la estructura del problema y con el a tamao de la instancia. n Para indicar el tamao de un problema se identican uno o ms parmetros que n a a permitan tener una idea del tamao de la instancia considerada. n Se suele estudiar el nmero de operaciones aritmticas elementales (comparaciones, u e sumas, multiplicaciones) en funcin del tamao de la instancia que un algoritmo realiza o n para resolver un problema. Teor de la Complejidad:(Cook 1971, Karp 1972) a Disciplina que estudia formalmente los temas anteriores. Est basada en conceptos de a Ciencias de la Computacin y de Matemtica. o a Dado los alcances del curso, se har una sencilla introduccin respecto a este tema. a o Para un estudio ms profundo se debe partir por el modelo de computador conocido a como Mquina de Turing (por Alan Turing, uno de los fundadores de la Teor de a a Computacin). o
Introduccin a la Optimizacin o o 36

in34a - Optimizacin o

Complejidad de un Algoritmo
Se dene como el nmero mximo de operaciones que realiza el algoritmo para u a determinar la solucin de una instancia de tamao n del problema: o n 1. Si un algoritmo que ordena una lista de elementos de tamao n realiza k n2 n operaciones (k una constante) diremos que el algoritmo tiene complejidad O(n2). Observacin: El mejor algoritmo posible para ordenar tiene complejidad o O(n log2 n). 2. Si un algoritmo simple que multiplica 2 matrices de tamao n n realiza k n3 n operaciones diremos que tiene complejidad O(n3). Observacin: El mejor algoritmo posible para multiplicar 2 matrices tiene compleo jidad mejor a O(n3) (pero esto excede el marco de este curso). La complejidad computacional de un algoritmo se denota O(f (n)) (orden de f (n)) donde f es la relacin entre el nmero de operaciones y el tamao de la instancia. o u n La notacin O(f (n)) indica que el nmero de operaciones est acotado por k f (n), o u a donde k es una constante independiente de n.
Introduccin a la Optimizacin o o 37

in34a - Optimizacin o

Complejidad de un Algoritmo
Anlisis del Peor Caso: Dado que existen muchas instancias del mismo tamao y no a n todas requieren del mismo nmero de operaciones, se establece una cota superior de u la complejidad de un algoritmo para un tamao de instancia. n Algoritmo Polinomial: El nmero de operaciones est acotado por un polinomio en u a el tamao del problema. Estos algoritmos se consideran ecientes. n Algoritmo Exponencial: El nmero de operaciones no est acotado por un polinomio. u a Estos algoritmos se consideran inecientes. Complejidad \ Tamao n n n3 2n 3n 10 0,00001 0,001 0,001 0,059 30 0,00003 0,027 17,9 min 6,5 aos n 50 0,00005 0,125 35,7 aos n 2 108 60 0,00006 0,216 366 siglos 1, 3 1013

Introduccin a la Optimizacin o o

38

in34a - Optimizacin o

Complejidad de un Problema
La complejidad de un problema viene dada por la complejidad del mejor algoritmo de entre todos los que lo resuelven. As un algoritmo particular da una cota superior , para la complejidad de ese problema. Se puede determinar una cota inferior de la complejidad de un problema probando matemticamente que cualquier posible algoritmo deber tener, por lo menos, la coma a plejidad establecida por la cota inferior. Si ambas cotas coinciden tenemos determinada la complejidad del problema. Ej: Ordenar un arreglo Heap-Sort: O(n log2 n) (cota superior) Existe una prueba de que al menos hace falta O(n log2 n) tiempo para ordenar el arreglo (cota inferior) El problema tiene complejidad O(n log2 n)
Introduccin a la Optimizacin o o 39

in34a - Optimizacin o

Tipos de Problema
La teor de Complejidad est diseada para problemas de decisin, donde la respuesta a a n o es si o no. En los problemas de optimizacin el objetivo consiste en encontrar una estructura que o satisfaga algn criterio de optimizacin. u o Ej: El vendedor viajero y sus dos variantes. Optimizacin: Encontrar un tour ptimo. o o Decisin: Dado un grafo G y un entero k, existe en G algn tour de longitud k. o u

Introduccin a la Optimizacin o o

40

in34a - Optimizacin o

Tipos de Problema
P: Problemas en los cuales existe un algoritmo polinomial que los resuelve (problemas fciles). a NP: (non-deterministic polinomial) Problemas en los cuales existe un algoritmo no determin stico que lo resuelve en tiempo polinomial. Como entender esto? 1. Supongamos una mquina que tiene la propiedad de dividirse en varias copias a idnticas de s misma cada vez que se ve enfrentada a una alternativa, y que las e copias continan trabajando en paralelo. Representemos este proceso como un u rbol de bsqueda: a u

Introduccin a la Optimizacin o o

41

in34a - Optimizacin o

Tipos de Problema

Si la altura es polinomial NP Si una de las copias responde armativamente tengo resuelto mi problema d decisin. o Si el tiempo mximo que se requiere para recorrer una rama est acotado a a polinomialmente, el problema est en NP. a
Introduccin a la Optimizacin o o 42

in34a - Optimizacin o

Tipos de Problema
2. Si alguien me da una solucin para una instancia cuya respuesta es SI de mi o problema y yo puedo vericar en tiempo polinomial que esa solucin es correcta, o el problema est en NP. (certicado polinomial) a Ej: Vendedor Viajero. Observacin: P NP o Entre los problemas NP existe una subclase formada por los problemas dif ciles an u no resueltos ecientemente, los problemas NP-completos. Un problema A es NP-completo si: 1. A NP 2. Todo problema en NP se puede transformar polinomialmente a A Esto signca que si encuentro un algoritmo polinomial para un problema NPcompleto, automticamente se pueden resolver polinomialmente todos los problemas a de la clase NP.
Introduccin a la Optimizacin o o 43

in34a - Optimizacin o

Tipos de Problema
Conjetura: P = NP P = NP? o En resumen:

Introduccin a la Optimizacin o o

44

in34a - Optimizacin o

Ejemplos de Complejidad de Problemas


P: Ordenar un arreglo Ruta ms corta entre 2 puntos a Calcular el determinante de una matriz Programcin Lineal o

NP-completo: Vendedor Viajero Programacin Lineal Entera o Intratables: Determinar todos los puntos enteros que satisfacen un sistema de desigualdades lineales Las Torres de Hanoi

Introduccin a la Optimizacin o o

45

in34a - Optimizacin o

Problema del Anlisis del Peor Caso a


En la prctica muchos algoritmos con mala complejidad terica (por el peor caso) tienen a o un comportamiento promedio aceptable, por ello, actualmente existen otros enfoques que analizan complejidad promedio (usando algn modelo estocstico apropiado). u a

Introduccin a la Optimizacin o o

46

in34a - Optimizacin o

Modelamiento Lineal Continuo


1. Prdida de Material en Proceso de Corte: e Una industria que fabrica papel y lo distribuye en rollos debe determinar la mejor forma de realizar el proceso de corte. Los rollos de papel que se producen tienen un ancho de 100 cm y un largo jo. Los clientes demandan rollos de 30 cm, 45 cm y 50 cm de ancho. Al cortar los rollos de 100 cm se puede incurrir en prdida de e material. Se tiene un pedido de 800 rollos de 30 cm de ancho, 500 rollos de 45 cm y 1000 rollos de 50 cm. Se desea determinar la forma de efectuar el corte de manera que se satisfaga la demanda y se minimice la prdida total de material. e Existen 6 alternativas diferentes de corte de un rollo de 100 cm de ancho que tienen sentido en este caso: Esquema Esquema Esquema Esquema Esquema Esquema 1: 2: 3: 4: 5: 6: 3 1 2 1 2 1 cortes de 30 cm cada corte de 30 cm y uno cortes de 45 cm cada corte de 45 cm y uno cortes de 50 cm cada corte de 30 cm y uno uno Prdida = 10 cm e de 45 cm Prdida = 25 cm e uno Prdida = 10 cm e de 50 cm Prdida = 5 cm e uno Prdida = 0 cm e de 50 cm Prdida = 20 cm e
47

Introduccin a la Optimizacin o o

in34a - Optimizacin o

Modelamiento Lineal Continuo


Solucin: o Para modelar este problema se har segn un problema general de optimizacin: a u o Variables de Decisin o xi: Cantidad de rollos de 100 cm de ancho que se cortarn segn el esquema a u de corte i (i = 1, . . . , 6) Restricciones a) Satisfaccin de la Demanda: o Rollos de 30: 3x1 + x2 + x6 = 800 Rollos de 45: x2 + 2x3 + x4 = 500 Rollos de 50: x4 + 2x5 + x6 = 1000 Nota: se puede colocar en vez de = b) No Negatividad de las Variables xi 0, i = 1, . . . , 6

Introduccin a la Optimizacin o o

48

in34a - Optimizacin o

Modelamiento Linael Continuo


c) Integralidad de las Variables No hace falta. Estudiamos el problema lineal continuo y luego rendondeamos. Como los valores son grandes, el redondeo est dentro del error permitido. a Funcin Objetivo o Minimizar la cantidad de rollos que se pierden: m z = 10x1 + 25x2 + 10x3 + 5x4 + 20x6 n Observacin: Situaciones similares a este caso se pueden encontrar en la industria o textil y de confeccin, en la industria de vidrios o madera, en la siderrgica, etc. (se o u presenta siempre que las dimensiones del producto que se fabrica sean diferentes de las dimensiones que se requieren)

Introduccin a la Optimizacin o o

49

in34a - Optimizacin o

Modelamiento Lineal Entero


2. El Problema de la Mochila: Se tienen n tipos diferentes de objetos, cada uno de ellos tiene un peso wj y un valor vj . Se dispone de una mochila que soporta un peso mximo W , donde estos objetos a deben ser colocados, de manera de maximizar el valor total del contenido de la mochila, sin exceder la capacidad de sta. e Los objetos son indivisibles, por lo que solo se pueden colocar en la mochila cantidades enteras de un tipo de objeto. Solucin: o Variables de Decisin o xj : Unidades del objeto j que se que se ponen en la mochila (j = 1, . . . , n).

Introduccin a la Optimizacin o o

50

in34a - Optimizacin o

Modelamiento Lineal Entero


Restricciones a) Capacidad de la Mochila:
n

wj xj W
j=1

b) Naturaleza de las Variables: xj N, j = 1, . . . , n Funcin Objetivo o


n

mx z = a
j=1

vj xj

Este problema corresponde al problema de la mochila (knapsack) entero.

Introduccin a la Optimizacin o o

51

in34a - Optimizacin o

Modelamiento Lineal Entero


Observaciones: Una variacin de este problema es cuando existe solo un objeto de cada tipo, en o este caso las variables xj toman valores 0 (no lo pongo) o 1 (lo pongo), este tipo de problemas se llaman knapsack binario. Algunas aplicaciones de este tipo de problemas: mercader que deben ser almaceas nadas o transportadas considerando una disponibilidad de espacio o de peso limitada (cada mercader tiene un valor). a Este problema se puede resolver en tiempo O(nW ) usando programacin dinmica. o a Esto es eciente slo si W est acotado por un polinomio en n. o a

Introduccin a la Optimizacin o o

52

in34a - Optimizacin o

Modelamiento No Lineal Restringido


3. Diseo de Embalajes: n Una empresa exportadora debe enviar cada mes cierta cantidad del producto que se desarrolla a sus clientes en el exterior. El producto es embalado en cajas rectangulares, donde x corresponde al largo, y al ancho y w a la altura de la caja:

Se quiere determinar la dimensin de las cajas que minimice el costo de armado de o las mismas.

Introduccin a la Optimizacin o o

53

in34a - Optimizacin o

Modelamiento No Lineal Restringido


Supongamos que se dispone de hasta 60 m2 del material necesario para armar el fondo, la cara frontal y la cara posterior de todas las cajas. El material de las otras 2 caras y la tapa deben comprarse a un costo de $5 el metro cuadrado. Por otro lado, existe un costo de transporte de $3 por caja. El volumen del producto que se quiere transportar es V . Solucin: o m z = 3Q + 10wyQ + 5xyQ n s.a. Qwxy = V Qwxy V o Q(2wx + xy) 60 w, x, y, Q 0 Observacin: La integralidad de Q puede ser obviada redondeando el resultado o nal (otra vez el error deber estar dentro de los valores permitidos). a

Introduccin a la Optimizacin o o

54

in34a - Optimizacin o

Modelamiento No Lineal Irrestricto


4. Localizacin de una Planta: o Una empresa cuenta con n centros de distribucin de sus productos. Se desea o instalar una planta que abastezca a los centros de tal forma que la distancia total hacia ellos sea m nima:

Introduccin a la Optimizacin o o

55

in34a - Optimizacin o

Solucin: o Sean (x, y) las coordenadas de la planta.


n

m z = n
i=1

[(x xi) + (y yi) ]

2 1 2

Este es un problema de programacin no lineal sin restricciones. o

Introduccin a la Optimizacin o o

56

S-ar putea să vă placă și