Documente Academic
Documente Profesional
Documente Cultură
Introduccin a la Optimizacin o o
in34a - Optimizacin o
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
Introduccin a la Optimizacin o o
in34a - Optimizacin o
Encontrar el mejor valor de alguna medida de desempeo (llamada Funcin Objetivo), n o siempre que las variables de decisin cumplan ciertas restricciones. o
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
Introduccin a la Optimizacin o o
in34a - Optimizacin o
in34a - Optimizacin o
Introduccin a la Optimizacin o o
11
in34a - Optimizacin o
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
Introduccin a la Optimizacin o o
13
in34a - Optimizacin o
Introduccin a la Optimizacin o o
14
in34a - Optimizacin o
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
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
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
in34a - Optimizacin o
Introduccin a la Optimizacin o o
22
in34a - Optimizacin o
Introduccin a la Optimizacin o o
23
in34a - Optimizacin o
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
Introduccin a la Optimizacin o o
27
in34a - Optimizacin o
Introduccin a la Optimizacin o o
28
in34a - Optimizacin o
Introduccin a la Optimizacin o o
29
in34a - Optimizacin o
Introduccin a la Optimizacin o o
30
in34a - Optimizacin o
Introduccin a la Optimizacin o o
31
in34a - Optimizacin o
in34a - Optimizacin o
g(xk ) g (xk )
in34a - Optimizacin o
Introduccin a la Optimizacin o o
34
in34a - Optimizacin o
Introduccin a la Optimizacin o o
35
in34a - Optimizacin o
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
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
Introduccin a la Optimizacin o o
46
in34a - Optimizacin o
Introduccin a la Optimizacin o o
in34a - Optimizacin o
Introduccin a la Optimizacin o o
48
in34a - Optimizacin o
Introduccin a la Optimizacin o o
49
in34a - Optimizacin o
Introduccin a la Optimizacin o o
50
in34a - Optimizacin o
wj xj W
j=1
mx z = a
j=1
vj xj
Introduccin a la Optimizacin o o
51
in34a - Optimizacin o
Introduccin a la Optimizacin o o
52
in34a - Optimizacin o
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
Introduccin a la Optimizacin o o
54
in34a - Optimizacin o
Introduccin a la Optimizacin o o
55
in34a - Optimizacin o
m z = n
i=1
2 1 2
Introduccin a la Optimizacin o o
56