Investigación de Operaciones II
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Introducción Los contenidos a tratarse son los modelos de optimización de redes y la programación dinámica. Los problemas de redes surgen en una gran variedad de situaciones. Las redes de transporte, eléctricas y de comunicaciones predominan en la vida diaria. La representación de redes se utiliza de manera amplia en áreas tan diversas como producción, distribución, planeación de proyectos, localización de instalaciones, administración de recursos y planeación financiera, por mencionar sólo algunos ejemplos. En realidad, una representación de redes proporcion a un poderoso apoyo visual y conceptual para mostrar las relaciones entre las componentes de los sistemas, de tal modo que se usa casi en todos los ámbitos científicos, sociales y económicos. En este curso se presentará una introducción a cuatro tipos importantes de problemas de redes y algunas ideas básicas sobre cómo resolverlos. Los tres primeros tipos de problemas, el de la ruta más corta, el del árbol de mínima expansión y el del flujo máximo tienen una estructura específica que surge con frecuencia en la práctica. El cuarto tipo problema del flujo de costo mínimo proporciona un enfoque unificado de muchas otras aplicaciones debido a su estructura mucho más general. Esta estructura es tan general que incluye como casos especiales el problema de la ruta más corta y el de flujo máximo, al igual que generaliza y amplia los problemas de transporte y de asignación vistos en la asignatura Investigación operativa I. Muchos modelos de optimización de redes son en realidad tipos especiales de problemas de programación lineal, por lo que se estudiará la solución de los problemas anteriores mediante programación lineal. En cuanto al segundo tema, la programación dinámica: es una técnica matemática útil para la toma de decisiones frente a un problema multivariable de optimización (maximización o minimización de una función objetivo), en el que las variables están sujetas restricciones (por ejemplo, consumen recursos limitados) y la estructura de las funciones (función objetivo y restricciones) es tal que permite realizar un estudio secuencial e iterativo de la contribución de cada variable al problema global. Así, el problema puede ser representado mediante una secuencia de etapas interrelacionadas, en el que cada etapa está asociada a una variable: variable: el problema se soluciona etapa por etapa. Y proporciona un procedimiento sistemático para determinar la combinación óptima de decisiones a tomar. El problema puede ser lineal o no lineal, determinístico o probabilístico. En contraste con la programación lineal, no cuenta con una formulación matemática estándar del problema, sino que se trata de un enfoque enfoq ue de tipo general para solucionar problemas; además, la forma (analítica) de las funciones del problema cambia de un problema a otro. Por tanto, es necesario cierto grado de creatividad y un buen conocimiento de la estructura general de los problemas de programación dinámica para reconocer cuándo y cómo un problema puede ser resuelto por medio de este procedimiento. Gracias al estudio y práctica de los modelos de optimización de redes, será capaz de resolver los problemas clásicos de la ruta más corta, el árbol de expansión mínima y el flujo máximo, así como el problema general de flujo de costo mínimo flujo para optimizar redes con programación lineal. De la misma manera, mediante la técnica de programación dinámica, Ud. será capaz de optimizar problemas secuenciales determinísticos de repartición de un recurso entre un cierto número de actividades (con variables discretas o continuas) y problemas secuenciales probabilísticos (discretos o continuos, descriptibles a través de árboles de decisión).
Asesoría didáctica 1. Aprendizaje autónomo La modalidad a distancia está basada sobre el principio de aprendizaje autónomo. Esto supone una gran responsabilidad de su parte, para realizar por su propia cuenta y dentro de los tiempos establecidos las actividades planeadas (descritas más abajo), contactarse a tiempo vía mail interno o foro de inquietudes del aula virtual con su tutor en caso de cualquier consulta o duda (el tutor está siempre disponible para
1
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
esto y le responderá en un tiempo prudencial de un par de días máximo) y aprovechar de las tutorías presenciales semanales para despejar despejar en directo las dudas más grandes. 2. Contenidos y recursos didácticos Como ya se estableció, los contenidos específicos de este parcial son los modelos de optimización de redes y la programación dinámica. Dos recursos didácticos obligatorios han sido definidos para este parcial: -
El libro guía principal de Frederick S. Hillier, Gerald J. Lieberman (2010). Investigación de Operaciones. México: McGraw Hill. En este libro, utilizaremos la integralidad de los capítulos 9 (Modelos de optimización de redes) y 10 (Programación dinámica). El libro guía de apoyo de Hamdy A. A. Taha (2012). Investigación de operaciones. México: Pearson. En este libro, utilizaremos algunos ejercicios de los capítulos 6 (Modelos de optimización de redes) y 12 (Programación dinámica determinística).
Los recursos obligatorios no pueden ser remplazados por otros recursos (otros libros, internet, etc.), aunque no se prohíbe el uso complementario de estos (con las debidas providencias de verificación de autor, fuente, etc.). Un libro de consulta opcional ha sido definido para este parcial: -
David R. Anderson, Denis J. Sweeney, Thomas A. Williams, Jeffrey D. Camm, Kipp Martin (2016 ). ). Métodos cuantitativos para los negocios. México: Cengage Learning Inc. Podrá utilizar los capítulos 2 (Principios de probabilidad) y 3 (Distribuciones de probabilidad).
3. Asesoría didáctica i.
Resumen de los contenidos, método y/o fórmulas En los anexos 1 y 2 de este documento encontrará un resumen de los contenidos, métodos y/o fórmulas de los temas a tratar en este parcial. La lectura de estos anexos no remplaza en ningún caso la lectura y comprensión de los capítulos que deben ser estudiados en el libro guí a.
ii.
Ejercicios corregidos de entrenamiento En el aula virtual, virtual, y conforme a la lista que se muestra aquí abajo, Ud. tiene a su disposición un vasto conjunto de ejercicios de entrenamiento sobre los temas del parcial. parcial. Los ejercicios han sido tomados del conjunto de ejercicios propuestos en libro guía principal y corregidos en detalle por detalle por el tutor. Estos ejercicios de entrenamiento se consideran como parte integral de su aprendizaje y Ud. debe trabajarlos obligatoriamente. Para trabajar estos ejercicios resueltos de entrenamiento, de preferencia intente primero resolver cada ejercicio sin ver la corrección. Luego compare sus métodos y resultados con los de la corrección. Puede ser necesario que realice esto varias veces (iterativamente) para un mismo ejercicio hasta que logre realizarlo correctamente. Estaré a su disposición para aclarar cualquier duda sobre el método de resolución de estos ejercicios. Algunos de estos ejercicios de entrenamiento corregidos podrán corresponder a problemas que se planteen en el examen presencial del parcial, aunque este tipo de problemas no hayan sido planteados en la actividad entregable del mismo parcial. Esto parcial. Esto se debe a que estos ejercicios corregidos abordan todos los temas y subtemas definidos en los contenidos del parcial, pero en la actividad entregable del parcial no se puede siempre abordar todos estos temas y subtemas. Los ejercicios corregidos de entrenamiento que están a su disposición son los siguientes:
2
Con formato: Inglés
(Estados Unidos)
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
-
Relativo a los Métodos de optimización de redes (capítulo 9 del libro guía principal de Hillier): Tema Ruta más corta rbol de expansión mínima Flujo máximo Flujo de costo mínimo
-
Ejercicios corregidos {9.3.3, 9.3.4, 9.3.6, 9.3.7} {9.4.2, 9.4.3} {9.5.2, 9.5.3, 9.5.5, 9.5.6} {9.6.2, 9.6.3, 9.6.5, 9.6.6}
Relativo a la Programación Dinámica (capítulo 10 del libro guía principal de Hillier): Tema Programación dinámica determinística con variables discretas Programación dinámica determinística con variables continuas Programación dinámica probabilística (con cualquier tipo de variable)
Ejercicios corregidos {10.2.1, 10.2.2, 10.3.4, 10.3.5, 10.3.6, 10.3.7.a, 10.3.8}, {10.3.7.b, 10.3.9, 10.3.10, 10.3.18} {10.4.1, 10.4.2, 10.4.3}.
Muchas veces estos ejercicios tienen explicaciones, razonamientos o aplicaciones más profundas que lo que pide el enunciado del libro. Esto se hace para su mejor comprensión y aprendizaje. En particular, en el caso de los Métodos de Optimización de Redes muchas veces se da tanto la solución algorítmica manual como también la solución de programación lineal correspondiente (con Solver de Excel), aunque el libro solo pida una de las dos. Encontrará los ejercicios en el link siguiente: https://drive.google.com/drive/folders/0ByGkTE615-vCdnFFUlh6d1ZyUU0?usp=sharing Al comenzar el semestre, estos ejercicios corregidos también serán subidos al componente “Archivos” del aula virtual .
Actividades de aprendizaje Actividad de aprendizaje 1.1. Resuelve problemas específicos de optimización de redes -como ruta más corta, árbol de expansión mínima y flujo máximo- ya sea aplicando algoritmos de resolución manual, ya sea aplicando programación lineal con MS Excel. Resultados de aprendizaje
Resuelve el problema general de optimización de redes, es decir, el problema del flujo de costo mínimo y su aplicación al problema general de transporte (transporte con nodos intermedios de trasbordo), planteando correctamente el problema de programación lineal correspondiente y resolviéndolo con MS Excel.
Modelos de optimización de redes Contenidos
Ejemplo prototipo Terminología de redes Problema de la ruta más corta Problema del árbol de expansión mínima
3
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Problema de flujo máximo Problema del flujo de costo mínimo
Realice y entregue los ejercicios o casos siguientes: - N.° 3, p. 217, n.° 3, p. 220, n.° 5, p. 241 del capítulo 6 del libro de apoyo de Taha. o
Planteamiento de la actividad
o
En el ejercicio n.° 3, p. 220 se pide usar el programa TORA que no está a su disposición. Lo que debe hacer es -después de plantear formalmente el problema presentar la solución con programación lineal en Excel (en un archivo Excel, usando Solver). En el ejercicio n.° 5, p. 241, además de lo que pide el enunciado, debe presentar tanto la solución con el método iterativo manual como también la solución con programación lineal en Excel (en un Archivo Excel, usando Solver).
- Caso 9.1 que inicia en la p. 389 del libro principal de Hillier. o
Cada vez que resuelva con programación lineal un problema de este caso, deberá además de resolverlo en hoja de cálculo- dibujar la red correspondiente y escribir de manera formal el problema de programación lineal (determinando las variables de decisión, la función objetivo, las restricciones funcionales y las restricciones de signo).
Recursos didácticos Libro guía obligatorio principal de Frederick S. Hillier, Gerald J. Lieberman (2010). Investigación de operaciones. México: McGraw Hill.
Libro guía obligatorio de apoyo de Hamdy A. Taha (2012). Investigación de operaciones. México: Pearson. Uso de los recursos Obligatorio o
Teoría
Orientaciones didácticas
o
Lea y comprenda el capítulo 09 (Modelos de optimización de redes) del libro guía principal de Hillier. No trate el subtema 9.7, Método Simplex de redes, ni el subtema 9.8, Modelo de trueques entre tiempo y costo de un proyecto. En las partes que debe leer, lea tanto la parte teórica como los ejemplos de aplicación que la acompañan.
Práctica
Trabaje los ejercicios de entrenamiento corregidos que tiene a su disposición sobre este tema (conforme se describe en el apartado “3. Asesoría Didáctica”) . No los entregue.
Opcional o
Ayuda en ejercicios del libro guía de apoyo de Taha. Si tiene aún dudas en la realización de un ejercicio de la actividad entregable, y este ejercicio ha sido tomado del libro guía de apoyo de Taha, vaya al inicio del subcapítulo
4
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
correspondiente. Allí siempre encontrará un par de ejemplos de ejercicios resueltos (por el autor del libro) del mismo tipo. En la corrección (en la nota) de los ejercicios que debe entregar, se evaluará que realice de manera oportuna, rigurosa y correcta los siguientes puntos: Planteamiento del problema Aplicación del método (de los métodos) de resolución estudiado(s) Uso de fórmulas, ecuaciones, tablas, gráficos, explicaciones, etc. Análisis y discusión de escenarios po sibles. Selección argumentada entre diversas opciones. Presentación de resultados intermedios y finales, e interpretación válida de estos. Limpieza, orden, organización, facilidad de lectura. En la corrección (en la nota) de los ejercicios que debe entregar, los resultados salidos de la nada no tienen valor alguno. Cualquier resultado formal (fórmula, conclusión, etc.,) salido de la nada, sin la previa demostración o explicación del método que debió aplicarse para llegar al resultado, carece de valor. Cualquier resultado numérico (valor, tabla de valores, gráficos, etc.), salido de la nada, sin presentar las fórmulas y métodos que lo originan, carece de valor. Criterios de evaluación
Uso de Excel Si en un ejercicio se pide el uso de Excel, o si desea automatizar sus cálculos del ejercicio creando una plantilla o utilizando una plantilla que le proporcioné yo, adjunte el archi vo Excel correspondiente. Las fórmulas, además de llevar un título explicativo (en la celda izquierda o superior), deben estar legibles (para el corrector) dentro de su celda. Y, de ser el caso (si hay cálculos automatizados), la fórmula debe hacer referencia a las direcciones de celdas que sirven de parámetros de entrada. No sirve de nada poner un valor numérico en vez de la fórmula correspondiente. Las iteraciones (de haberlas) deben estar correctamente organizadas en celdas o cuadros secuenciales y debidamente explicadas. Si debe utilizar Solver, láncelo por lo menos una vez y verifique su funcionamiento correcto, de manera que el contenido introducido en el cuadro de diálogo principal (con las direcciones de celdas y otros datos seleccionados) quede grabado. Solo así podré volver a lanzar el Solver automáticamente y verificar su trabajo. Sin embargo, el planteamiento inicial y los resultados finales (valores, tablas, gráficos) encontrados con Excel deben también ser explicados y estar “copiados y pegados”
(escaneados) en el archivo principal Word.
Actividad de aprendizaje 1.2. Resultados de aprendizaje
Resuelve los problemas clásicos de la programación dinámica determinística: problemas de distribución de esfuerzo (asignación de recursos a tareas / departamentos / zonas geográficas /etc.) y otros problemas multivariables de optimización (con una función objetivo y una o más restricciones funcionales) que pueden ser tratados de manera secuencial e iterativa (variable tras variable), tanto con variables discretas como con variables continuas. Resuelve los problemas simples de programación dinámica probabilística, utilizando cálculos
5
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
básicos de probabilidades y árboles de decisión.
Programación dinámica Ejemplo prototipo Características de los problemas de programación dinámica Programación dinámica determinística - Problema de la distribución de esfuerzo con variables discretas - Problemas lineales y no lineales de variables continuas y estudio paramétrico de funciones de una variable en cada etapa Programación dinámica probabilística (casos simples que pueden ser descritos con árboles de decisión)
Contenidos
Realice y entregue los ejercicios siguientes: Planteamiento de la actividad
-
N.° 4, p. 440, n.° 4, p. 445 del capítulo 12 del libro guía de apoyo de Taha.
-
N.° 10.3.16, p. 426, n.° 10.4.5, p. 427 del capítulo 10 del libro guía principal de Hillier.
Recursos didácticos Libro guía obligatorio principal de Frederick S. Hillier, Gerald J. Lieberman (2010).
-
Investigación de operaciones. México: McGraw Hill.
Libro guía obligatorio de apoyo de Hamdy A. Taha (2012). Investigación de operaciones. México: Pearson.
-
Libro de consulta opcional recomendado de David R. Anderson, Denis J. Sweeney, Thomas A. Williams, Jeffrey D. Camm, Kipp Martin ( 2016 ). Métodos cuantitavos para los negocios. México: Cengage Learning Inc.
-
Uso de los recursos -
Orientaciones didácticas
Obligatorio o
o
-
Teoría Lea y comprenda íntegro el capítulo 10 (Programación dinámica) del libro guía principal de Hillier. tanto la parte teórica como los ejemplos de aplicación que la acompañan. Práctica Trabaje los ejercicios de entrenamiento corregidos que tiene a su disposición sobre este tema (conforme se describe en el apartado “3. Asesoría didáctica”). No los entregue.
Opcional o
Ayuda en ejercicios del libro guía de apoyo de Taha. Si tiene aún dudas en la realización de un ejercicio de la actividad entregable, y este ejercicio ha sido tomado del libro guía de apoyo de Taha, vaya al inicio del subcapítulo correspondiente. Allí siempre encontrará un par de ejemplos de ejercicios resueltos (por el autor del libro) del mismo tipo.
o
Consulta en probabilidades Si en la aplicación del subtema de programación dinámica probabilística tiene dudas
6
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
sobre el tema de probabilidades, puede consultar los capítulos 2 (Principios de probabilidad) y eventualmente 3 (Distribuciones de probabilidad) del libro de consulta opcional.
Criterios de evaluación
Los criterios de evaluación son exactamente los mismos descritos para la actividad entregable 1.1 (ver más arriba). Envíe las actividades de aprendizaje a través de la plataforma, mediante la sección Contenidos, en un archivo cuyo nombre debe ser: Formato: G#.Apellido.Apellido.Nombre.InveOperII
Enviar a
No olvide adjuntar, al archivo principal, los archivos Excel necesarios en caso de que se pida en algún ejercicio el uso de cálculos sistemáticos o de búsqueda / simulación / investigación con Excel.
Preguntas o dudas
Envíe sus preguntas o dudas a través de la plataforma: utilice la sección Enviar correo y marque el nombre de su tutor.
Puntaje por actividad Actividades de aprendizaje Actividad de aprendizaje 1.1. El caso 9.1 (del libro de Hillier) vale cuatro puntos. Los otros tres ejercicios valen dos puntos cada uno Actividad de aprendizaje 1.2. Cada uno de los cuatro ejercicios vale 2.5 puntos cada uno. Suman
Puntaje 10 10 20
El examen será sin consulta. En caso de que para el examen sea necesario el uso de fórmulas específicas del curso, estas serán incluidas en el examen.
El tutor de la asignatura
7
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Anexo 1 Métodos de optimizacion de redes A) Ruta más corta Pasos de la técnica de la ruta más corta 1.
Encuentre el nodo más cercano al origen. Coloque la distancia en una casilla junto al nodo.
2.
Encuentre el siguiente nodo más cercano al origen (planta) y coloque la distancia en una casilla junto al nodo. En algunos casos, se tendrán que revisar varias trayectorias para encontrar el nodo más cercano
3.
Repita este proceso hasta que haya recorrido toda la red. La última distancia en el nodo final será la distancia de la ruta más corta. Es de notar que la distancia colocada en la casilla junto a cada nodo es la ruta más corta a este nodo. Se utilizan estas distancias como resultados intermedios para encontrar el siguiente nodo más cercano.
Principio del algoritmo de la ruta más corta Objetivo de la n-ésima iteración: encontrar el n-ésimo nodo más cercano al origen. (Este paso se repetirá paran n =1, 2, 3, … hasta que el n-ésimo nodo más cercano sea el nodo destino). Datos de la n-ésima iteración: n -1 nodos más cercanos al origen - que se encontró en las iteraciones previas, incluida su ruta más corta y la distancia desde el origen. (Estos nodos y el origen se llaman nodos resueltos; el resto son nodos no resueltos). Candidatos para n-ésimo nodo más cercano: cada nodo resuelto que tiene conexión directa por una
ligadura con uno o más nodos no resueltos proporciona un candidato, esto es, el nodo no resuelto que tiene la ligadura más corta. (Los empates proporcionan candidatos adicionales). Cálculo del n-ésimo nodo más cercano: para cada nodo resuelto y sus candidatos, se suma la distancia
entre ellos y la distancia de la ruta más corta desde el origen a este nodo resuelto. El candidato con la distancia total más pequeña es el n-ésimo nodo más cercano los empates proporcionan nodos resueltos adicionales, y su ruta más corta es la que genera esta distancia. Aplicaciones Las siguientes son tres categorías de aplicaciones. -
Minimizar la distancia total recorrida, minimizar el tiempo total recorrido. Minimizar el costo total de una secuencia de actividades. Minimizar el tiempo total de una secuencia de actividades. B) Árbol de expansión mínima
Pasos de la técnica del árbol de expansión mínima 1. 2. 3. 4.
Seleccionar cualquier nodo de la red. Conectar este nodo al nodo más cercano que minimice la distancia total. Considerando todos los nodos que ahora están conectados, encontrar y conectar el nodo más cercano que no esté conectado. Si hay un empate para el nodo más cercano, seleccionar uno arbitrariamente. Un empate sugiere que puede haber más de una solución óptima. Repetir el tercer paso hasta que todos los nodos estén conectados.
8
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Principios de la técnica del árbol de expansión mínima El problema del árbol de expansión mínima se puede resumir de la siguiente manera: 1. 2. 3.
Se tienen los nodos de una red pero no las ligaduras. En su lugar se proporcionan las ligaduras potenciales y la longitud positiva de cada una si se insertan en la red. (Las medidas alternativas para la longitud de una ligadura incluyen distancia, costo y tiempo.) Se desea diseñar la red con suficientes ligaduras para satisfacer el requisito de que haya un camino entre cada par de nodos. El objetivo es satisfacer este requisito de manera que se minimice la longitud total de las ligaduras insertadas en la red.
Una red con n nodos requiere de sólo (n - 1) ligaduras para proporcionar una trayectoria entre cada par de nodos. No deben usarse más ligaduras puesto que ello aumentaría, sin necesidad, la longitud total de las ligaduras seleccionadas. Las (n - 1) ligaduras deben elegirse de tal manera que la red resultante con sólo las ligaduras seleccionadas forme un árbol de expansión, es decir un conjunto de ligaduras que conectan todos los nodos de la red. Por lo tanto, el problema es encontrar el árbol de expansión con la longitud total mínima de sus ligaduras. Aplicaciones A continuación, se proporciona una lista de algunos tipos importantes de aplicaciones de este problema. -
Diseño de redes de telecomunicación (redes de fibra óptica, de computadoras, telefónica, de televisión por cable, etcétera). Diseño de redes de transporte para minimizar el costo total de proporcionar las ligaduras (vías ferroviarias, carreteras, etcétera). Diseño de una red de líneas de transmisión de energía eléctrica de alto voltaje. Diseño de una red de cableado de equipo eléctrico como sistemas de cómputo para minimizar la longitud total de cable. Diseño de una red de tuberías para conectar varias localidades. C) Flujo máximo
Pasos de la técnica de flujo máximo 1. 2. 3. 4.
Elija cualquier trayectoria del inicio (origen) a la terminación (destino) con algo de flujo. Si no existe ninguna trayectoria con flujo, entonces se llegó a la solución óptima. Localice el arco en la trayectoria con la capacidad del flujo más pequeña disponible. Llame C a esta capacidad. Ésta representa la capacidad máxima adicional que puede ser asignada a esta ruta. Por cada nodo que haya en esta trayectoria, disminuye la capacidad de flujo en la dirección del flujo en la cantidad C. Por cada nodo que haya en esta trayectoria, incremente la capacidad de flujo en la dirección inversa en la cantidad C. Repita estos pasos hasta que ya no sea posible incrementar el flujo.
Principio del algoritmo de la trayectoria de aumento del problema de flujo máximo 1. Se identifica una trayectoria de aumento cuando se encuentra alguna trayectoria dirigida del origen al destino en la red residual, tal que cada arco sobre ella tenga capacidad residual estrictamente positiva. (Si no existe una, los flujos netos asignados constituyen un patrón de flujo óptimo.) 2. Cuando se encuentra el mínimo de las capacidades residuales de los arcos sobre esta trayectoria se identifica la capacidad residual c* de esta trayectoria de aumento. Se aumenta en c* el flujo de esta trayectoria. 3. Se disminuye en c* la capacidad residual de cada arco en esta trayectoria de aumento. Se aumenta en c* la capacidad residual de cada arco en la dirección opuesta en esta trayectoria. Se regresa al paso 1. Aplicaciones
9
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
A continuación, se mencionan algunos tipos de aplicaciones comunes del problema del flujo máximo. -
Maximizar el flujo a través de la red de distribución de una compañía desde sus fábricas hasta sus clientes. Maximizar el flujo a través de la red de suministros de una compañía de proveedores a las fábricas. Maximizar el flujo de petróleo por un sistema de tuberías. Maximizar el flujo de agua a través de un sistema de acueductos. Maximizar el flujo de vehículos por una red de transporte. D) Flujo de costo mínimo
Principio A continuación, se describe el problema del flujo de costo mínimo. 1) 2) 3) 4) 5)
La red es una red dirigida y conexa. Al menos uno de los nodos es un nodo fuente. Al menos uno de los nodos es un nodo demanda. El resto de los nodos son nodos de trasbordo. Se permite el flujo a través de un arco sólo en la dirección que indica la flecha, donde la cantidad máxima de flujo está dada por la capacidad del arco. (Si el flujo puede ocurrir en ambas direcciones, debe representarse por un par de arcos con direcciones opuestas.) 6) La red tiene suficientes arcos con suficiente capacidad para permitir que todos los flujos generados por los nodos fuente lleguen a los nodos demanda. 7) El costo del flujo a través del arco es proporcional a la cantidad de ese flujo, donde se conoce el costo por unidad. 8) El objetivo es minimizar el costo total de enviar el suministro disponible a través de la red para satisfacer la demanda dada. (Un objetivo alternativo es maximizar la ganancia total del envío.). Resolución Ver el libro guía y los ejercicios corregidos para el planteamiento del problema de programación lineal correspondiente. Se usará Excel Solver para la resolución del problema. Aplicaciones Tal vez el tipo más importante de aplicación del problema del f lujo de costo mínimo es en la operación de la red de distribución de una compañía. Como se resume en el primer renglón de la tabla inferior, este tipo de aplicación siempre incluye determinar un plan para enviar bienes desde las fuentes (fábr icas, etc.) a las instalaciones de almacenamiento intermedias (según se necesite) y después a los clientes. En el caso de algunas aplicaciones de los problemas del flujo de costo mínimo, todos los nodos de trasbordo son instalaciones de procesamiento y no almacenes. Éste es el caso de la administración de desechos sólidos, indicado en el segundo renglón de la tabla inferior. En ese problema, el flujo de materiales a través de la red comienza en las fuentes de desechos sólidos, luego va a las instalaciones para procesar estos materiales de desecho y convertirlos en una forma adecuada para el relleno y después se envía a los diferentes rellenos. Sin embargo, el objetivo todavía es determinar el plan de flujo que minimice el costo total, donde el costo ahora se refiere al embarque y al procesamiento. El conjunto de aplicaciones se resume en la tabla aquí abajo.
10
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
11
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Anexo 2 Programación dinámica 1. Formalización del problema 1.1. Optimización, función global objetivo, restricciones Se trata en general de un problema matemático que: Se puede representar directamente como un problema de optimización (maximización o minimización) de una función de N variables, sujeta a una o más restricciones sobre estas variables. - Debe respetar ciertas condiciones, que se describen a continuación en el apartado siguiente (1.2) y que llamaremos condiciones de separabilidad de las variables. Estas permiten tratar el problema de manera secuencial y recursiva, por etapas, asociando una etapa a cada variable -
Muchas veces el problema no se presenta directamente como un problema matemático formal como el que se acaba de describir (con su conjunto de ecuaciones ya planteadas), sino que es descrito verbalmente y el lector se da cuenta que puede ser traducido a un problema de las características anteriores. Puede ser que ni siquiera se formule matemáticamente el problema, pero se reconoce el tipo de problema y se aplica su método de resolución. La función de N variables a optimizar se llama función objetivo global. Las restricciones se pueden separar en dos tipos: o son multi variable o son mono variable. Una restricción multi variable es una restricción en las que intervienen 2 o más variables (generalmente es una restricción funcional). Una restricción monovariable es una restricción en la que interviene una sola variable (generalmente son restricciones de signo o de cota). 1.2. Condiciones de separabilidad de las variables 1.2.1. Primera condición: separabilidad de las variables de la función global objetivo Las variables se anotan ,, … , −, . La función global objetivo se puede anotar como ( ,, … , − , ). La primera condición de separabilidad es que la estructura de la función global objetivo sea tal que se pueda “dividir” o “separar” en N sub-funciones de una sola variable , , … , − − y , de manera que el aporte de cada sub-función a la función global objetivo pueda irse agregando de forma secuencial y recursiva (esto se explica en detalle en el apartado (2.7)). En la práctica, en este curso, la función global objetivo será generalmente una suma o una multiplicación de N sub-funciones de una sola variable, lo que permite respetar la condición de separabilidad enunciada en el párrafo anterior.
O sea, en general, en este curso, tenemos, la siguiente estructura para la función global objetivo:
12
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
-
( , , … , −, ) = + ⋯ −−+ , o ( , , … , −, ) = ∗ ∗ … ∗ −−* con , , … , − −, sub-funciones de una variable.
A la subfunción , para n {1, 2, 3,…, N -1, N}, se la llama contribución inmediata de la variable a la función objetivo global, o contribución inmediata de la etapa n a la función objetivo global. 1.2.2. Segunda condición: separabilidad de las variables de las restricciones Recordemos que una restricción cualquiera clásica se escribe de la siguiente manera: el lado izquierdo es una función de N variables, el lado derecho es una constante y el símbolo de conexión es una restricción (≥, ≤, =).
La segunda condición de separabilidad es que, para cada restricción multivariable, la función del lado izquierdo, que se puede anotar ( , , … , −, ), tenga una estructura que se puede también “dividir” o “separar” en N sub-funciones de una sola variable , , … , − − y , de manera que el aporte de cada sub-función a la restricción multivariable global pueda tratarse de forma iterativa y recursiva. En la práctica, en este curso, el lado izquierdo de cada restricción multi variable será en general una suma o una multiplicación de N sub-funciones de una sola variable, lo que permite respetar la condición de separabilidad enunciada anteriormente. O sea, en general, en este curso, tenemos para una restricción multivariable este tipo de estructura:
+ ⋯ −− + ≤ , o * ∗ … ∗ − −* ≤ Donde k e s una constante (y donde el símbolo " ≤” puede ser remplazado por “≥” o por “=”) . Es más, en general, en este curso, las sub-funciones son lineales, por lo que: en general, en este curso, tenemos para una restricción multivariable la siguiente estructura:
⋯ −− ≤ , o ∗ ∗ … ∗ − ∗ ≤ Donde , , … , −, k son valores constantes (y donde el símbolo " ≤
”
puede ser remplazado por “≥” o por “=”)
Además, por motivos de factibilidad, en general, en la mayoría de los problemas, hay 1 sola restricción multivariable (y a veces como máximo 2 restricciones multivariable, pero no más). Esto se debe a la dificultad que se presenta para resolver un problema con más de una restricción funcional. 1.3. Ejemplos de planteamiento de problemas Ejemplo 1
13
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Maximizar
( , , … , −, ) = + ⋯ −− + Con , , … , −, funciones cualquiera de una variable, expresadas de manera analítica. Con la restricción ⋯ −− ≤ ( , , … , −, K valores constantes positivos) Con ≥ 0, ≥ 0, …, ≥ 0
Ejemplo 2 (caso particular del ejemplo 1) Maximizar
( , , ) = 1500. 2200. 1200. Con 2 7 3 ≤ 50 Con ≥ 0, ≥ 0, ≥ 0
Ejemplo 3 (caso particular del ejemplo 1) Maximizar
( , , ) = 1500. 2200. 1200. Con 2 7 3 ≤ 50 Con ≥ 0, ≥ 0, ≥ 0 Con , , enteros
Ejemplo 4 (caso particular del ejemplo 1) Maximizar
( , ) = 3 + 5 Con 2 ≤ 4 Con ≥ 0, ≥ 0
Ejemplo 5 Maximizar
( , , … , −, ) = + + Con , ,, , funciones de una variable, expresadas para ciertos valores enteros, a partir de la tabla de valores aquí abajo.
14
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Con ≤ 6 Con , , , enteros positivos o nulos Valores de las funciones , , ,
0 1 2 3 4 5 6
0
0
0
0
0
0
0
4
1
7
1
5
1
6
9
2
11
2
10
2
11
15
3
16
3
15
3
14
18
4
18
4
18
4
16
22
5
20
5
21
5
17
24
6
21
6
22
6
18
En realidad, este tipo de problema nunca viene planteado como un problema matemático, sino de manera general como se muestra a continuación.
Al traducir el problema así presentado, llegamos a lo que se planteó inicialmente.
15
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
2. Metodología general A continuación, se describe la metodología a seguir en cualquier problema de programación dinámica. Sin embargo, es necesario ver varios ejemplos para comprender la metodología, por lo que se recomienda ver los ejercicios corregidos a su disposición. 1. El problema se puede dividir en etapas. Sabemos que la función global objetivo ( , , … , − , ), dada su estructura, se puede “dividir” en N sub-funciones de una sola variable , …,
− −, .
Sabemos que, para cada restricción funcional R, la función del lado izquierdo ( , , … , −, ), dada su estructura, se puede también “dividir” en N subfunciones de una sola variable , , … , − − , .
En tales condiciones, el problema de N variables se puede dividir en N etapas, una etapa por cada variable. El problema no se estudia tomando cada etapa por separado: o sea, al estudiar una etapa n, se no estudia únicamente la función , s i no que se define un método iterativo y recursivo, en el que se va integrando progresivamente, uno tras otro, el aporte de cada contribución a la función objetivo global (el detalle de se verá más abajo en el punto (7)). 2. Estados iniciales de una etapa Cada etapa tiene cierto número (finito o infinito) de estados iniciales que deben ser formalmente determinados o definidos 2.1 Definición de los estados iniciales de una etapa Los estados iniciales de una etapa se pueden establecer a partir de las restricciones multi variable del problema inicial. Para cada etapa, se puede además establecer una relación recursiva a entre los estados iniciales de esta etapa y los estados iniciales de la etapa anterior.
Los estados iniciales de una etapa se pueden establecer a partir de las restricciones multi variable del problema inicial: en una etapa n, los estados iniciales permiten determinar las restricciones a aplicar a la variable , independientemente de las otras variables ,, … , −, +, … , −, . Nota: solo nos interesan aquí las restricciones multivariable, ya que son las únicas que necesitan ser adaptadas en cada etapa conforme a lo descrito en el párrafo anterior. En una etapa dada n, llamamos al estado inicial asociado al conjunto de restricciones multivariables del problema inicial.
16
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Nota: si el problema inicial tiene m restricciones multivariables, tendrá m componentes (es un vector de m componentes, cada componente es un valor o una expresión matemática independiente de las otras variables , , … , −, +, … , −, .). Si el problema inicial tiene 1 restricción, tendrá 1 componente. Procedimiento Sea un problema de una sola restricción multivariable R. Entonces, en una etapa n, cuando es posible (en un problema de programación dinámica debe serlo) y en los casos más simples (cómo en este curso): -
-
-
-
En la expresión original de R, se ignoran las variables de las etapas posteriores {+, +, … . − } (se hace como si no existieras, remplazándolas por 0 por 1 según que tengamos una suma o una multiplicación) Se obtiene así una nueva expresión de R, que llamaremos R´, que depende únicamente de {, , … . −, −, } Se manipula (sencillamente) R´ de manera que al lado izquierdo quede una expresión que dependa solo de y al lado derecho una expresión que dependa de {, , … . −, − } sin . Se plantea que sea igual a la parte derecha de la expresión anterior Se logra así traducir la restricción funcional general R en una restricción local adaptada a la etapa n, en que sólo intervienen y , independientemente de las otras variables. De esta manera,
en un problema de una sola restricción funcional R, en cada etapa n: - se puede llegar a escribir de manera recursiva en función de
− y −
- los límites de variación de están dados solo por (sin hacer
intervenir las otras variables), donde puede ser considerado un valor o parámetro fijado de entrada, o sea un estado inicial. - en el caso particular de la 1era etapa: a se le da el valor de la constante del lado derecho de R, pero no siempre es pertinente poner un límite a en función de (no se pone ningún límite para esta restricción si no es pertinente), esto se ve por lógica según los casos.
Cuando hay varias restricciones en el problema original, se procede para cada una tal cual se indicó en el párrafo anterior. 2.2 Ejemplos de estados iniciales
17
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Por ejemplo, si la restricción funcional es R: 2 7 3 ≤ 50, con , , positivos, se tendrá lo que sigue. Etapa 1 -
positivo (no necesitaba ninguna traducción) Estado inicial de la etapa 1: = 50.
Traducción de la restricción R, en una restricción para : 2 ≤ (planteando como un parámetro inicial de la etapa). Aquí, en la primera etapa, conviene establecer una restricción para porque si es superior a 25 (por ejemplo 30), como son positivos, entonces 2 7 3 sería superior a 50 (en este caso del ejemplo sería 60 o más) y se violaría R.
Etapa 2
positivo (no necesitaba ninguna traducción) Estado inicial de la etapa 2: = 50 - 2 = - 2
-
Traducción de la restricción R, en una restricción para independiente de las otras variables: 7 ≤ (planteando como un parámetro inicial de la etapa)
Etapa 3 Estado inicial de la etapa 3: = 50 - 2 7 = - 7 Traducción de la restricción R, en una restricción para independiente de las otras variables: 3 ≤ (planteando como un parámetro inicial de la etapa). Verificación 3 ≤ equivale a 3 ≤ 50 2 7 o sea que se vuelve a establecer R tal cual 2 7 3 ≤ 50 -
Por ejemplo, también, si la restricción funcional es RF: ≤ 1, con , , positivos, se tendrá lo que sigue. Etapa 1 -
Etapa 2
Estado inicial de la etapa 1, = 1. Traducción de la restricción R, en una restricción para : no es pertinente. Aquí, en esta primera etapa, no es pertinente porque, por ejemplo, si se plantea ≤ 1, entonces no sería posible tener = 5, sin embargo, los valores { = 5, = 1/20, = 1} sí cumplen con R.
-
Estado inicial de la etapa 2, = 1/ = / Traducción de la restricción R, en una restricción para independiente de las otras variables: ≤ (planteando como un parámetro inicial de la etapa).
Etapa 3 -
Estado inicial de la etapa 3, = 1/ = /
18
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Traducción de la restricción RF, en una restricción para independiente de las otras variables, ≤ (planteando como un parámetro inicial de la etapa). Verificación ≤ equivale a ≤ 1/ o sea ≤ 1 -
-
2.3 Estados iniciales de una etapa y de la etapa siguiente En una etapa, partiendo de sus estados iniciales, al dar valores a la variable de la etapa, se pasa necesariamente a los estados iniciales de la etapa siguiente. En la etapa n, para un estado dado (se fija un valor de o es un parámetro inicial), se puede dar a un conjunto de valores posibles (los límites a los valores que se pueden dar a los impone ). Cada vez que se da un valor a se llega necesariamente a un estado posterior + dado que existe una relación recursiva entre +, y . A veces a los estados iniciales de la etapa n+1 se les llama los estados finales de la etapa n. 3. Interpretación en términos de redes. Los problemas de programación dinámica se pueden interpretar en términos de redes. La representación términos de redes es realmente realizable y exhaustiva (se puede representar todas las posibilidades existentes) cuando se trata de un problema discreto y finito. Si no es así (en particular cuando el problema es continuo), la representación en término de redes es más bien de un principio de representación (no exhaustivo), o sea se trata de una interpretación general.
Cada nodo de la red corresponde a un estado inicial de una etapa. La red consiste en varias columnas de nodos interconectados, de manera a que cada columna de nodos corresponde al inicio de una etapa. Y, en una etapa n, las flechas (o arcos) de conexión que salen de un nodo sólo pueden ir a los nodos + (estados iniciales de la siguiente etapa). En una etapa n, a partir de cada nodo sale una serie de flechas (o arcos) que corresponden cada una a los diferentes valores que se puede dar a la variable de decisión y al valor resultante de la contribución inmediata . Si es posible (casos discretos) se representa todos los arcos que salen de cada nodo, si no (casos continuos) solo se hace un dibujo de principio
19
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
4. “Política de decisión” de una etapa. Cada etapa requiere de una “ política de decisión”. La política de decisión indica, para cada estado inicial, cual es el mejor valor que se puede dar a la variable de decisión de la etapa y cuál es el mejor estado inicial de la próxima etapa al que se va a llegar de esta manera. Para cada estado inicial fijado ( tiene un valor numérico fijado en el caso discreto o es un parámetro inicial en el caso continuo), se hará variar entre todos los valores posibles que puede tomar esta variable (como vimos los límites de variación de están dados directa o indirectamente por ). Y analizando la función objetivo (con un método recursivo que se describe más bajo) se determina cuál es el mejor valor que puede dar a la variable de decisión y cuál es el mejor estado inicial de la próxima etapa al que se va a llegar de esta manera.
Para fijado (como valor o como parámetro), se analizando la función objetivo (con un método recursivo que se describe más bajo) se debe determina el mejor valor posible de se deduce el mejor valor posible de + al que se puede llegar de esta manera Para fijado se anota como ∗ al mejor valor posible de . -
-
-
Nota: el problema puede ser determinístico, y en tal ca so, al partir de un estado inicial fijado, y al dar un valor a la variable de decisión, se llega un único estado final posible. El problema puede ser probabilístico (ver más abajo el apartado sobre este tema), y en tal caso al partir de un estado inicial fijado, y dar un valor a la variable de decisión, se llega varios estados finales posibles (a cada estado final posible le corresponde una probabilidad de llegar a ese estado final a partir del estado inicial).
5. Restricciones multi variable: propiedad Markoviana Se supone que, dado el estado inicial actual, la política decisión (para dirigirse al mejor estado inicial de la próxima etapa) es independiente de las políticas adoptadas en etapas anteriores. Es decir, la política de decisión depende solo del estado actual y de la variable actual y no de cómo se llegó ahí. O sea, al encontrase en un estado , la política de decisión no depende de los valores que se dio en etapas anteriores a , , … , − para llegar a (ni de los valore que se dará en las etapas posteriores a +, … , −, ); en la etapa n, la política de decisión depende solo del estado actual y de los valores que se pueda dar a .
20
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
En la práctica, esta propiedad se debe a la forma de “separabilidad” de cada restricción funcional del problema original . En cada restricción, como vimos, se pueden “separar ” las distintas variables, y – gracias a esto – en cada etapa n, se puede introducir los estados iniciales como si tratase de valores (o parámetros) iniciales de la etapa, sin tener que recurrir a las variables anteriores {, , … . − −} (ni a las posteriores) para estudiar la etapa n. Éste es el principio de optimalidad de la programación dinámica (propiedad Markoviana). Un problema que carezca de esta propiedad no se puede formular como un problema de programación dinámica. En la práctica, en la etapa n: -
-
De las restricciones funcionales multi variables, se logra deducir el estados inicial , que determina los límites de variación posible para (visto en los apartados anteriores) De la función global objetivo multi variable, se logra deducir una función objetivo de una sola variable (a optimizar), en la que interviene como un parámetro inicial (se verá en los apartados siguientes)
Es decir que, en la etapa n, el problema inicial multi variable se reduce al estudio de una función de una sola variable , en la que interviene el estado inicial como un parámetro inicial y como un conjunto de límites al dominio de definición de la función. 6. Estudio de la función global objetivo 6.1 Estudio de la función global objetivo: relación recursiva inversa La relación recursiva inversa que se define a continuación es necesaria para determinar la política de decisión de cada etapa de la que se habló en el apartado 4. Sabemos que la función global objetivo ( ,, … , ), dada su estructura, se puede “dividir” en N sub -funciones de una sola variable , , …, . Y más comúnmente, en este curso, ( , , … , ) = + ⋯+ , o, ( , , … , ) = * ∗ … ∗ El problema no se estudia tomando cada etapa por separado: o sea, al estudiar una etapa n, se no estudia únicamente la función , s i no que se define un método iterativo y recursivo, que avanza de manera inversa (de la etapa N hacia la etapa1), en el que se va integrando progresivamente, uno tras otro, el aporte de cada contribución inmediata a la función objetivo global . Primero se integra el aporte de , luego se integra el aporte de −− , luego se integra el aporte de −−, etc. hasta llegar a integrar el aporte de . Estas “integraciones” iterativas y recursivas de los , se hacen gracias a la definición de relaciones recursivas entre una etapa y su etapa posterior, como se explica en el apartado (7).
21
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Pero antes de pasar al apartado (7), es necesario explicar por qué se realiza la iteración recursiva a la inversa (de N hacia 1) y no lo contrario. Esto se debe al llamado “principio de optimalidad futura”.
6.2 Estudio de la función global objetivo: principio de optimalidad futura Se realiza la iteración a la inversa porque se supone que se respeta el principio de “optimalidad futura” (P) siguiente: estando en una etapa n cualquiera, se supone que ya se conoce las políticas de decisión a tomar en próxima etapa n+1. O sea, al iniciar una etapa n, se está en un estado cualquiera , y al dar un valor a , se va a llegar a un estado +, se supone que sea cual sea el + al que se llegue, aún mismo antes de comenzar a estudiar la etapa n (o sea aún mismo antes de situarse en un estado cualquiera y de dar un valor a ), ya se sabe de antemano qué valor óptimo se debe dar a variable de decisión + si se llega a ese estado +. -
-
Lógicamente, el principio de optimalidad futura “P”, que es como conocer lo que pasará en el futuro, se logra únicamente realizando un análisis “del final hacia el inicio” del problema (de la etapa final N a la etapa inicial 1). Y por ello la relación recursiva a establecer entre 2 etapas consecutivas también va del final hacia el inicio (o sea se termina expresando la etapa n en función de la etapa n+1). 7. Estudio global del problema La forma precisa de la relación recursiva inversa de la f unción global objetivo difiere de un problema a otro de programación dinámica, en el siguiente punto, el (8), se dan algunos ejemplos sencillos (siendo estos los más comunes en programación dinámica determinística de este curso). Antes es necesario resumir o definir la notación y la lógica que se usará siempre y que se resume a continuación. N
, , … , ( , , … , ) , , …, n
Cantidad de variables y de etapas (o estados) Variables A cada variable le corresponde una etapa (o estado) Función objetivo de N variables Contribución INMEDIATA de la etapa 1, 2, …, N a la función objetivo global. Es decir que F se puede llegar a separar en estas funciones. Etapa en curso Estado inicial de la etapa n Está asociado a las restricciones (multivariables) del problema global Para cada restricción (multivariable), en cada etapa n, se debe llegar a expresar la relación recursiva entre , − y
22
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
−(basándose en la expresión matemática o verbal de esta
∗ ,
restricción). Este es el principio Markoviano. Variable (de decisión) de la etapa n Valor óptimo que se puede dar a dado un valor inicial de ( es un valor o un parámetro fijado para comenzar el estudio de , en función de ) Contribución CONJUNTA de las etapas {n, n+1, …, N} a la función objetivo global, si el sistema se encuentra en la etapa n, en el estado , si la decisión inmediata es y si en adelante solo se toman decisiones óptimas (se toman decisiones óptimas porque es posible saber los mejores valores ∗ , ∗ ,…, ∗ ). posibles futuros, + + Basándose en la forma matemática (o en la descripción verbal) de la función objetivo ( ,, … , ), para cada etapa n, se debe llegar a expresarse la relación recursiva siguiente: ∗ , = función de [ , , + + ] ∗ donde + tiene valores conocidos o formas analíticas conocidas (principio de optimalidad futura). Sabiendo, además, que se estableció con anterioridad una relación entre +, y (principio Markoviano) y por lo tanto se puede escribir + en función de y (casos continuos) o se puede saber a qué estados + se puede llegar partiendo de un estado fijado (casos discretos). ∗ , ] Por ello, , = función de [ , , +
∗ = , ∗
∗ se obtiene de esta manera se conoce , = función de [ , , ∗ , ] + se fija un valor de ( es un valor -
-
-
-
numérico fijado en el caso discreto o un parámetro de una función paramétrica de la variable en el caso continuo) se hace variar (los límites de variación están dados por se buscar un máximo (o un mínimo) a la función ,
Es decir
∗ = { , } para fijado, o ∗ = { , } para fijado 8.
Explicación práctica
Lo que importa es establecer formalmente la función objetivo global y las restricciones globales, en función de las N subfunciones de 1 variable que se haya identificado. Y de allí se podrá determinar las etapas, los estados iniciales, y las relaciones recursivas.
23
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
8.1 Por ejemplo, en ciertos casos típicos tenemos -
-
Cuando el problema es Maximizar ( , , … , ) = + ⋯ Con , , … , funciones cualesquiera de una variable Con ⋯ ≤ (K valor constante) Con ≥ 0, ≥ 0, …, ≥ 0 Entonces la relación recursiva en la etapa n es ∗ , = ) + + + con 0 ≤ ≤ y + = ∗ ∗ = { ) + + } haciendo variar entre 0 y
Nótese que las funciones pueden estar dadas por una tabla de valores (finitos) o por una expresión analítica (con valores infinitos en el intervalo de variación permitido). En el primer caso hablamos de programación dinámica determinística discreta y se debe realizar un cálculo numérico valor por valor posible de , . En el segundo caso hablamos de programación dinámica determinística continua y se debe realizar un estudio paramétrico de funciones de una variable (para estudiar , se considera que es un parámetro y la variable). 8.2 Por ejemplo, en otros casos típicos tenemos -
-
Cuando el problema es Maximizar ( , , … , ) = * ∗ … ∗ Con , , … , funciones cualesquiera de una variable Con ⋯ ≤ (K valor constante) Con ≥ 0, ≥ 0, …, ≥ 0 Entonces la relación recursiva en la etapa n es ∗ , = ) * + + con 0 ≤ ≤ y + = ∗ } haciendo variar entre 0 y ∗ = { ) * +
Misma observación que en el apartado anterior sobre la forma en que las funciones pueden estar expresadas (tabla de valores o función analítica) 8.3 Por ejemplo, en otros casos típicos tenemos -
Cuando el problema es
( , , … , ) = + ⋯ Con , , … , −, funciones cualquiera de una variable Con ⋯ − − ≤ ( , , … , − , K valores constantes positivos) Con ≥ 0, ≥ 0, …, ≥ 0 -
Entonces la relación recursiva en la etapa n es
24
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
∗ , = ) + + + con 0 ≤ ≤ y con + = ∗ } haciendo variar entre 0 y ∗ = { ) + + /
Misma observación que en el apartado anterior sobre la forma en que las funciones pueden estar presentadas o expresadas (tabla de valores o función analítica) 8.4 Por ejemplo, en otros casos típicos tenemos -
Cuando el problema es
( ,, … , ) = * ∗ … ∗ Con , , … , −, funciones cualquiera de una variable Con ⋯ −− ≤ ( , , … , − , K valores constantes positivos) Con ≥ 0, ≥ 0, …, ≥ 0 -
Entonces la relación recursiva en la etapa n es ∗ , = ) * + + con 0 ≤ ≤ y + = ∗ } haciendo variar entre 0 y ∗ = { ) * + /
Misma observación que en el apartado anterior sobre la forma en que las funciones pueden estar presentadas o expresadas (tabla de valores o función analítica) 9. Método de aplicación de la relación recursiva en cada etapa El presente método se debe aplicar en cada etapa n, comenzando por el final n= N y terminando por el inicio n=1. En cada etapa n, una vez que se conoce la relación recursiva (es decir se conoce la expresión de , ): - Se fija el valor de Sn (se le da un valor numérico entre los valores posibles o se le
considera un parámetro). Entonces se hace el siguiente estudio, que en programación dinámica discreta se hace calculando valores y en programación dinámica continua se hace estudiando funciones paramétricas (donde es el parámetro y la variable)
, se hace variar dentro de los valores posibles de ( generalmente está limitado por una expresión que depende de ) - Para , se determina así el óptimo (máximo o mínimo) de , , o sea ∗ y el valor óptimo correspondiente de , o sea ∗. - Esto se resume, para cada etapa n, con un cuadro como el siguiente - Para
25
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
- En este cuadro, en cada línea (es decir para cada valor o caso posible de ),
∗ y ∗ pueden ser o valores numéricos (en programación dinámica discreta) o expresiones analíticas que solo depende de (en programación dinámica continua).
Cuidado con el orden de las etapas y las iteraciones, pues van en sentido inverso. -
-
La iteración 1 corresponde etapa N y variable , la iteración 2 corresponde a la etapa N-1 y variable −, la iteración 3 corresponde a la etapa N-3 y variable − , etc. Por ejemplo, si el problema tiene 5 variables: La iteración 1 corresponde etapa 5 y variable , la iteración 2 corresponde a la etapa 4 y variable , la iteración 3 corresponde a la etapa 3 y variable , la iteración 4 corresponde a la etapa 2 y variable , la iteración 5 corresponde a la etapa 1 y variable .
10. Solución final Una vez que se tiene el cuadro de resumen de cada etapa (N cuadros) o o
o
La tabla de la etapa 1 nos da el valor de ∗ y de ∗ La función ∗ nos da directamente el valor óptimo (máximo o mínimo) de la función objetivo global ( , , … , ) que buscábamos. Los valores óptimos de ∗ , ∗ , ∗ , … , ∗ se van deduciendo a partir de ∗, sucesivamente, cuadro por cuadro, al seguirles la traza de esta manera: ∗ permite deducir el valor de (porque se conoce y = ∗, y hay una relación recursiva de ) y luego a partir de se deduce ∗ (usando la tabla de la etapa 2), ∗ permite deducir el valor de (porque se conoce y = ∗, y hay una relación recursiva general entre ) y luego a partir de se deduce ∗ (usando la tabla de la etapa 3) y así sucesivamente.
3.
Programación dinámica determinística En la programación dinámica determinística, el estado de la siguiente etapa está determinado por completo por el estado y la política de decisión de la etapa actual.
26
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Es decir que si, en una etapa n, el estado inicial es , y se escoge un valor dado para la variable de decisión , entonces el estado final (o estado inicial de la próxima etapa) +solo puede tener un valor único.
a) Problema de la distribución de esfuerzo (variables discretas finitas) Un tipo bastante común de problemas de programación dinámica es el llamado problema de distribución de esfuerzo. En este grupo de problemas existe sólo una clase de recurso que debe asignarse a cierto número de actividades. El objetivo es determinar cómo distribuir el esfuerzo (el recurso) entre las actividades de la manera más eficaz. Generalmente, este tipo de problemas se realizan con variables discretas. Debido a que los problemas de distribución de es fuerzo siempre incluyen la asignación de un tipo de recurso a cierto número de actividades, siempre tienen la siguiente formulación de programación dinámica, donde el orden de las actividades es arbitrario:
La razón para definir el estado de esta manera es que la cantidad de recursos todavía disponibles para asignar es precisamente la información necesaria sobre el estado actual de la situación — al comenzar la etapa n — para tomar las decisiones de asignación para el resto de las actividades. Cuan do el sistema inicia la etapa n en el estado , la elección de siempre da como resultado que el siguiente estado de la etapa n+1 sea + = como lo muestra el siguiente diagrama
El ejemplo planteado a continuación es un problema típico problema de distribución de esfuerzo. Aquí solo se presenta el problema, para que se pueda observar su forma y el planteamiento de las variables discretas. La traducción en un problema matemático se presenta más abajo y solución está entre los ejercicios corregidos.
27
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
Este problema, como ya vimos al inicio, tiene la traducción matemática siguiente:
, , , cantidad de voluntarios a destinar a los distritos 1, 2, 3 y 4. Maximizar
( , , … , −, ) = + + Con , ,, , funciones de una variable, expresadas en la tabla de valores aquí abajo. Con ≤ 6 Con , , , elementos de {0, 1, 2, 3, 4, 5, 6}. Valores de las funciones , , ,
0
0
0
0
0
0
0
0
28
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
1 2 3 4 5 6
4
1
7
1
5
1
6
9
2
11
2
10
2
11
15
3
16
3
15
3
14
18
4
18
4
18
4
16
22
5
20
5
21
5
17
24
6
21
6
22
6
18
b) Otros problemas de programación dinámica determinística de variables discretas Veamos un caso un poco más complicado que el problema de esfuerzo anterior.
29
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
La formalización exacta es la siguiente
, , , cantidad de unidades paralelas a poner en los componentes 1, 2, 3 y 4.
( , , , ) = * ∗ ∗ Con , , , , funciones dadas por el 1er cuadro (cuadro de probabilidad de funcionamiento) Sujeto a + ≤ 1 0 Con , ,, , funciones dadas por el 2do cuadro (cuadro de costo- en cientos- según la cantidad de unidades paralelas puestos en cada componente) Con ,, , elementos de {1, 2, 3}. El ejercicio corregido entre los ejercicios corregidos disponibles.
c) Otros problemas de programación dinámica determinística de variables continuas. En lugar de estar restringidas a valores discretos, la variable de estado y la variable de decisión de la etapa n - , - son variables continuas y pueden tomar cualquier valor dentro de ciertos intervalos. Como ahora tiene un número infinito de valores, ya no es posible considerar cada uno de sus valores posibles en forma individual. Ahora la solución para ∗ y el valor de ∗ deben expresarse como funciones de . Es más, la determinación de una política optima necesita determinar máximo o mínimos locales,
30
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
por lo que es necesario estudiar estas funciones, sus máximos y mínimos (mediante derivación) y sus extremos (al borde de los segmentos de definición).
Ejemplo 1
El ejemplo planteado a continuación es un problema típico problema de programación dinámica determinística con variables continuas y definición y estudio de funciones. Aquí solo se presenta el problema, para que se pueda observar su forma y el planteamiento de las variables continuas. La solución está en los ejercicios corregidos.
Vea la corrección en los ejercicios corregidos.
Ejemplo 2
31
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
El siguiente ejemplo es uno en el que se plantea directamente el sistema de ecuaciones. Hay una sola restricción funcional multivariable. Está resuelto entre los ejercicios resueltos disponibles.
Ejemplo 3
El siguiente ejemplo es uno en el que se plantea directamente el sistema de ecuaciones. Hay dos restricciones funcionales multivariables, lo que complica bastante el estudio. Está resuelto entre los ejercicios resueltos disponibles.
4. Programación dinámica probabilística La programación dinámica probabilística difiere de la determinística en que el estado de la siguiente etapa no está determinado por completo por el estado y la política de decisión de la etapa actual. En su lugar, existe una distribución de probabilidad para determinar cuál será el siguiente estado. Sin embargo, esta distribución de
32
Nombre de la asignatura:
Investigación de Operaciones II
Parcial de estudio:
Primero
probabilidad que da completamente de terminada por el estado y la política de decisión de la etapa actual. Es decir que si, en una etapa n, el estado inicial es , y se escoge un valor dado para la variable de decisión , entonces el estado final (o estado inicial de la próxima etapa) +no tiene un valor único, sino que tiene un conjunto de valores posibles distribuidos según una distribución de probabilidad. En el diagrama siguiente se describe la estructura básica que resulta para los problemas de programación dinámica probabilística.
Ejemplos 1 y 2
En el libro guía, en la parte de curso con ejemplos resueltos, encontrara dos ejemplos clásicos resueltos de este tipo de problemas. Léalos con mucho cuidado.
Ejemplos 3 y 4
Los ejemplos a continuación están corregidos entre los ejercicios corregidos disponibles
33