Vous êtes sur la page 1sur 35

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 proporciona 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: 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 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 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. 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 Con formato: Inglés (Estados Unidos)
(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, 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. Los ejercicios han
sido tomados del conjunto de ejercicios propuestos en libro guía principal y corregidos en
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 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
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 Ejercicios corregidos


Ruta más corta {9.3.3, 9.3.4, 9.3.6, 9.3.7}
Árbol de expansión mínima {9.4.2, 9.4.3}
Flujo máximo {9.5.2, 9.5.3, 9.5.5, 9.5.6}
Flujo de costo mínimo {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 Ejercicios corregidos


Programación dinámica determinística con {10.2.1, 10.2.2, 10.3.4, 10.3.5, 10.3.6,
variables discretas 10.3.7.a, 10.3.8},
Programación dinámica determinística con {10.3.7.b, 10.3.9, 10.3.10, 10.3.18}
variables continuas
Programación dinámica probabilística (con {10.4.1, 10.4.2, 10.4.3}.
cualquier tipo de variable)

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
Resuelve el problema general de optimización de redes, es decir, el problema del flujo de costo
aprendizaje
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 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).
Planteamiento de
o En el ejercicio n.° 5, p. 241, además de lo que pide el enunciado, debe presentar tanto la
la actividad
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

 Lea y comprenda el capítulo 09 (Modelos de optimización de redes) del libro guía


Orientaciones principal de Hillier.
didácticas  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.

o 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 posibles. 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 Uso de Excel


evaluación
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 archivo 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.


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
Resultados de /etc.) y otros problemas multivariables de optimización (con una función objetivo y una o más
aprendizaje 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
Contenidos
- 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)

Realice y entregue los ejercicios siguientes:


Planteamiento de
- N.° 4, p. 440, n.° 4, p. 445 del capítulo 12 del libro guía de apoyo de Taha.
la actividad
- 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

- Obligatorio
Orientaciones
o Teoría
didácticas
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.

o 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 Los criterios de evaluación son exactamente los mismos descritos para la actividad entregable
evaluación 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.

Envíe sus preguntas o dudas a través de la plataforma: utilice la sección Enviar correo y
Preguntas o dudas
marque el nombre de su tutor.

Puntaje por actividad

Actividades de aprendizaje

Puntaje
Actividad de aprendizaje 1.1. 10
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. 10
Cada uno de los cuatro ejercicios vale 2.5 puntos cada uno.
Suman 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. Seleccionar cualquier nodo de la red.


2. Conectar este nodo al nodo más cercano que minimice la distancia total.
3. 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.
4. 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. 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.)
2. Se desea diseñar la red con suficientes ligaduras para satisfacer el requisito de que haya un camino
entre cada par de nodos.
3. 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. 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.
2. 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.
3. 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.
4. 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) La red es una red dirigida y conexa.


2) Al menos uno de los nodos es un nodo fuente.
3) Al menos uno de los nodos es un nodo demanda.
4) El resto de los nodos son nodos de trasbordo.
5) 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 flujo 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ábricas, 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 mono-
variable 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 𝑥1 , 𝑥2 , … , 𝑥𝑁−1 , 𝑥𝑁 .

La función global objetivo se puede anotar como 𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁−1 , 𝑥𝑁 ).

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 𝑝1 (𝑥1 ), 𝑝2 (𝑥2 ), … , 𝑝𝑁−1 (𝑥𝑁−1 ) 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 𝑝1 (𝑥1 ), 𝑝2 (𝑥2 ), … , 𝑝𝑁−1 (𝑥𝑁−1 ), 𝑝𝑁 (𝑥𝑁 ) 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 𝐺(𝑥1 , 𝑥2 , … , 𝑥𝑁−1 , 𝑥𝑁 ), tenga una
estructura que se puede también “dividir” o “separar” en N sub-funciones de una sola
variable 𝑔1 (𝑥1 ), 𝑔2 (𝑥2 ), … , 𝑔𝑁−1 (𝑥𝑁−1 ) 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:

 𝑔1 (𝑥1 ) + 𝑔2 (𝑥2 ) + ⋯ + 𝑔𝑁−1 (𝑥𝑁−1 )+ 𝑔𝑁 (𝑥𝑁 ) ≤ 𝑘, o


 𝑔1 (𝑥1 ) * 𝑔2 (𝑥2 ) ∗ … ∗ 𝑔𝑁−1 (𝑥𝑁−1 )* 𝑔𝑁 (𝑥𝑁 ) ≤ 𝑘

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
𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁−1 , 𝑥𝑁 ) = 𝑝1 (𝑥1 ) + 𝑝2 (𝑥2 ) + ⋯ + 𝑝𝑁−1 (𝑥𝑁−1 )+ 𝑝𝑁 (𝑥𝑁 )

Con 𝑝1 , 𝑝2 , … , 𝑝𝑁−1 , 𝑝𝑁 funciones cualquiera de una variable, expresadas de


manera analítica.

Con la restricción 𝑎1 𝑥1 + 𝑎2 𝑥2 + ⋯ + 𝑎𝑁−1 𝑥𝑁−1 + 𝑎𝑛 𝑥𝑁 ≤ 𝐾


(𝑎1 , 𝑎2, … , 𝑎𝑁−1 , 𝑎𝑁 𝑦 K valores constantes positivos)

Con 𝑥1 ≥ 0, 𝑥2 ≥ 0, …, 𝑥𝑁 ≥ 0

 Ejemplo 2 (caso particular del ejemplo 1)

Maximizar
𝐹(𝑥1 , 𝑥2 , 𝑥3 ) = 1500. 𝑥1 + 2200. 𝑥2 + 1200. 𝑥3

Con 2𝑥1 + 7𝑥2 + 3𝑥3 ≤ 50

Con 𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥3 ≥ 0

 Ejemplo 3 (caso particular del ejemplo 1)

Maximizar
𝐹(𝑥1 , 𝑥2 , 𝑥3 ) = 1500. 𝑥1 + 2200. 𝑥2 + 1200. 𝑥3

Con 2𝑥1 + 7𝑥2 + 3𝑥3 ≤ 50


Con 𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥3 ≥ 0
Con 𝑥1 , 𝑥2 , 𝑥3 enteros

 Ejemplo 4 (caso particular del ejemplo 1)

Maximizar
𝐹(𝑥1 , 𝑥2 ) = 3𝑥12 − 𝑥13 + 5𝑥22 − 𝑥23

Con 𝑥1 + 2𝑥2 ≤ 4
Con 𝑥1 ≥ 0, 𝑥2 ≥ 0

 Ejemplo 5

Maximizar
𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁−1 , 𝑥𝑁 ) = 𝑝1 (𝑥1 ) + 𝑝2 (𝑥2 ) + 𝑝3 (𝑥3 )+ 𝑝4 (𝑥4 )

Con 𝑝1 , 𝑝2 , , 𝑝3 , 𝑝4 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 𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 ≤ 6

Con 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 enteros positivos o nulos

Valores de las funciones 𝑝1 , 𝑝2 , 𝑝3 , 𝑝4


𝑥1 𝑝1 (𝑥1 ) 𝑥2 𝑝2 (𝑥2 ) 𝑥3 𝑝3 (𝑥3 ) 𝑥4 𝑝4 (𝑥4 )

0 0 0 0 0 0 0
0
4 1 7 1 5 1 6
1
9 2 11 2 10 2 11
2
15 3 16 3 15 3 14
3
18 4 18 4 18 4 16
4
22 5 20 5 21 5 17
5
24 6 21 6 22 6 18
6

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 𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁−1 , 𝑥𝑁 ), dada su estructura, se


puede “dividir” en N sub-funciones de una sola variable 𝑝1 (𝑥1 ) 𝑝2 (𝑥2 ), …,
𝑝𝑁−1 (𝑥𝑁−1 ), 𝑝𝑁 (𝑥𝑁 ).

Sabemos que, para cada restricción funcional R, la función del lado izquierdo
𝐺(𝑥1 , 𝑥2 , … , 𝑥𝑁−1 , 𝑥𝑁 ), dada su estructura, se puede también “dividir” en N
subfunciones de una sola variable 𝑔1 (𝑥1 ), 𝑔2 (𝑥2 ), … , 𝑔𝑁−1 (𝑥𝑁−1 ), 𝑔𝑁 (𝑥𝑁 ).

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 𝑝𝑛 (𝑥𝑛 ), si 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 𝑥1 , 𝑥2 , … , 𝑥𝑛−1 , 𝑥𝑛+1 , … , 𝑥𝑁−1, 𝑥𝑁 .

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
𝑥1 , 𝑥2 , … , 𝑥𝑛−1 , 𝑥𝑛+1 , … , 𝑥𝑁−1, 𝑥𝑁 .). 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 {𝑥𝑛+1 , 𝑥𝑛+2 , … . 𝑥𝑁−1 𝑥𝑁 } (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 {𝑥1, 𝑥2 , … . 𝑥𝑛−2 , 𝑥𝑛−1 , 𝑥𝑛 }
- 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 {𝑥1, 𝑥2 , … . 𝑥𝑛−2 , 𝑥𝑛−1 } 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𝑥1 + 7𝑥2 + 3𝑥3 ≤ 50, con


𝑥1 , 𝑥2 , 𝑥3 positivos, se tendrá lo que sigue.

Etapa 1
- 𝑥1 positivo (no necesitaba ninguna traducción)
- Estado inicial de la etapa 1: 𝑠1= 50.
- Traducción de la restricción R, en una restricción para 𝑥1 : 2𝑥1 ≤ 𝑠1
(planteando 𝑠1 como un parámetro inicial de la etapa).
Aquí, en la primera etapa, conviene establecer una restricción para 𝑥1
porque si 𝑥1 es superior a 25 (por ejemplo 30), como 𝑥2 𝑦 𝑥3 son
positivos, entonces 2𝑥1 + 7𝑥2 + 3𝑥3 sería superior a 50 (en este caso del
ejemplo sería 60 o más) y se violaría R.
Etapa 2
- 𝑥2 positivo (no necesitaba ninguna traducción)
- Estado inicial de la etapa 2: 𝑠2= 50 - 2𝑥1 = 𝑠1- 2𝑥1
- Traducción de la restricción R, en una restricción para 𝑥2 independiente
de las otras variables: 7𝑥2 ≤ 𝑠2 (planteando 𝑠2 como un parámetro
inicial de la etapa)
Etapa 3
- Estado inicial de la etapa 3: 𝑠3= 50 - 2𝑥1 − 7𝑥2 = 𝑠2 - 7𝑥2
- Traducción de la restricción R, en una restricción para 𝑥3 independiente
de las otras variables: 3𝑥3 ≤ 𝑠3 (planteando 𝑠3 como un parámetro
inicial de la etapa).
Verificación
- 3𝑥3 ≤ 𝑠3 equivale a 3𝑥3 ≤ 50 − 2𝑥1 − 7𝑥2 o sea que se vuelve a
establecer R tal cual 2𝑥1 + 7𝑥2 + 3𝑥3 ≤ 50

Por ejemplo, también, si la restricción funcional es RF: 𝑥1 𝑥2 𝑥3 ≤ 1, con


𝑥1 , 𝑥2 , 𝑥3 positivos, se tendrá lo que sigue.

Etapa 1
- Estado inicial de la etapa 1, 𝑠1= 1.
- Traducción de la restricción R, en una restricción para 𝑥1 : no es
pertinente.
Aquí, en esta primera etapa, no es pertinente porque, por ejemplo, si se
plantea 𝑥1 ≤ 1, entonces no sería posible tener 𝑥1 = 5, sin embargo, los
valores {𝑥1 = 5, 𝑥2 = 1/20, 𝑥2 = 1} sí cumplen con R.
Etapa 2
- Estado inicial de la etapa 2, 𝑠2= 1/ 𝑥1 = 𝑠1/𝑥1
- Traducción de la restricción R, en una restricción para 𝑥2 independiente
de las otras variables: 𝑥2 ≤ 𝑠2 (planteando 𝑠2 como un parámetro
inicial de la etapa).
Etapa 3
- Estado inicial de la etapa 3, 𝑠3= 1/𝑥1 𝑥2 = 𝑠2/𝑥2

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 𝑥3 independiente
de las otras variables, 𝑥3 ≤ 𝑠3 (planteando 𝑠3 como un parámetro
inicial de la etapa).
Verificación
- 𝑥3 ≤ 𝑠3 equivale a 𝑥3 ≤ 1/𝑥1 𝑥2 o sea 𝑥1 𝑥2 𝑥3 ≤ 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 𝑠𝑛+1 dado que existe una relación recursiva
entre 𝑠𝑛+1 , 𝑠𝑛 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 caso, 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 𝑥1 , 𝑥2 , … , 𝑥𝑛−1 para llegar a 𝑠𝑛 (ni de los valore que se dará en las etapas
posteriores a 𝑥𝑛+1 , … , 𝑥𝑁−1, 𝑥𝑁 ); 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 𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁 ), dada su estructura, se puede


“dividir” en N sub-funciones de una sola variable 𝑝1 (𝑥1 ), 𝑝2 (𝑥2 ), …, 𝑝𝑁 (𝑥𝑁 ). Y más
comúnmente, en este curso,
 𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁 ) = 𝑝1 (𝑥1 ) + 𝑝2 (𝑥2 ) + ⋯+ 𝑝𝑁 (𝑥𝑁 ), o,
 𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁 ) = 𝑝1 (𝑥1 ) * 𝑝2 (𝑥2 ) ∗ … ∗ 𝑝𝑁 (𝑥𝑁 )

El problema no se estudia tomando cada etapa por separado: o sea, al estudiar una
etapa n, se no estudia únicamente la función 𝑝𝑛 (𝑥𝑛 ), si 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 𝑝𝑁−1 (𝑥𝑁−1 ), luego se
integra el aporte de 𝑝𝑁−2 (𝑥𝑁−2 ), etc. hasta llegar a integrar el aporte de 𝑝1 (𝑥1 ). 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 𝑠𝑛+1 ,
- se supone que sea cual sea el 𝑠𝑛+1 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 𝑥𝑛+1 si se llega a ese
estado 𝑠𝑛+1 .

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 funció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 Cantidad de variables y de etapas (o estados)


𝑥1 , 𝑥2 , … , 𝑥𝑁 Variables
A cada variable le corresponde una etapa (o estado)
𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁 ) Función objetivo de N variables

𝑝1 (𝑥1 ), 𝑝2 (𝑥2 ), …, 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.
n 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 𝑠𝑛 , 𝑠𝑛−1 y

22
Nombre de la asignatura: Investigación de Operaciones II
Parcial de estudio: Primero
𝑥𝑛−1 (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, 𝑥𝑛+1 , 𝑥𝑛+2 ,…,𝑥𝑁∗ ).

Basándose en la forma matemática (o en la descripción verbal)


de la función objetivo 𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁 ), para cada etapa n, se
debe llegar a expresarse la relación recursiva siguiente:

𝑓𝑛 (𝑠𝑛 , 𝑥𝑛 ) = función de [𝑠𝑛 , 𝑥𝑛 , 𝑓𝑛+1 (𝑠𝑛+1 )]

donde 𝑓𝑛+1 tiene valores conocidos o formas analíticas
conocidas (principio de optimalidad futura).

Sabiendo, además, que se estableció con anterioridad una


relación entre 𝑠𝑛+1 , 𝑠𝑛 y 𝑥𝑛 (principio Markoviano) y por lo
tanto se puede escribir 𝑠𝑛+1 en función de 𝑠𝑛 y 𝑥𝑛 (casos
continuos) o se puede saber a qué estados 𝑠𝑛+1 se puede llegar
partiendo de un estado 𝑠𝑛 fijado (casos discretos).

Por ello, 𝑓𝑛 (𝑠𝑛 , 𝑥𝑛 ) = función de [𝑠𝑛 , 𝑥𝑛 , 𝑓𝑛+1 (𝑠𝑛 , 𝑥𝑛 )]

𝑓𝑛∗ (𝑠𝑛 ) = 𝑓𝑛∗ (𝑠𝑛 ) se obtiene de esta manera


𝑓𝑛 (𝑠𝑛 , 𝑥𝑛∗ ) - se conoce 𝑓𝑛 (𝑠𝑛 , 𝑥𝑛 ) = función de [𝑠𝑛 , 𝑥𝑛 ,

𝑓𝑛+1 (𝑠𝑛 , 𝑥𝑛 )]
- 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 𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁 ) = 𝑝1 (𝑥1 ) + 𝑝2 (𝑥2 ) + ⋯ + 𝑝𝑁 (𝑥𝑁 )
Con 𝑝1 , 𝑝2 , … , 𝑝𝑁 funciones cualesquiera de una variable
Con 𝑥1 + 𝑥2 + ⋯ + 𝑥𝑁 ≤ 𝐾 (K valor constante)
Con 𝑥1 ≥ 0, 𝑥2 ≥ 0, …, 𝑥𝑁 ≥ 0

- Entonces la relación recursiva en la etapa n es


∗ (𝑠
𝑓𝑛 (𝑠𝑛 , 𝑥𝑛 ) = 𝑝𝑛 (𝑥𝑛 ) + 𝑓𝑛+1 𝑛+1 ) con 0 ≤ 𝑥𝑛 ≤ 𝑠𝑛 y 𝑠𝑛+1 = 𝑠𝑛 − 𝑥𝑛
∗ ∗
𝑓𝑛 (𝑠𝑛 ) = 𝑚𝑎𝑥 {𝑝𝑛 (𝑥𝑛 ) + 𝑓𝑛+1 (𝑠𝑛 − 𝑥𝑛 )} 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 𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁 ) = 𝑝1 (𝑥1 ) * 𝑝2 (𝑥2 ) ∗ … ∗ 𝑝𝑁 (𝑥𝑁 )
Con 𝑝1 , 𝑝2 , … , 𝑝𝑁 funciones cualesquiera de una variable
Con 𝑥1 + 𝑥2 + ⋯ + 𝑥𝑁 ≤ 𝐾 (K valor constante)
Con 𝑥1 ≥ 0, 𝑥2 ≥ 0, …, 𝑥𝑁 ≥ 0

- Entonces la relación recursiva en la etapa n es



𝑓𝑛 (𝑠𝑛 , 𝑥𝑛 ) = 𝑝𝑛 (𝑥𝑛 ) * 𝑓𝑛+1 (𝑠𝑛+1 ) con 0 ≤ 𝑥𝑛 ≤ 𝑠𝑛 y 𝑠𝑛+1 = 𝑠𝑛 − 𝑥𝑛
∗ ∗
𝑓𝑛 (𝑠𝑛 ) = 𝑚𝑎𝑥 {𝑝𝑛 (𝑥𝑛 ) * 𝑓𝑛+1 (𝑠𝑛 − 𝑥𝑛 )} 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
𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁 ) = 𝑝1 (𝑥1 ) + 𝑝2 (𝑥2 ) + ⋯ + 𝑝𝑁 (𝑥𝑁 )
Con 𝑝1 , 𝑝2 , … , 𝑝𝑁−1 , 𝑝𝑁 funciones cualquiera de una variable
Con 𝑎1 𝑥1 + 𝑎2 𝑥2 + ⋯ + 𝑎𝑁−1 𝑥𝑁−1 + 𝑎𝑛 𝑥𝑁 ≤ 𝐾 (𝑎1 , 𝑎2, … , 𝑎𝑁−1 , 𝑎𝑁 𝑦 K
valores constantes positivos)
Con 𝑥1 ≥ 0, 𝑥2 ≥ 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

𝑓𝑛 (𝑠𝑛 , 𝑥𝑛 ) = 𝑝𝑛 (𝑥𝑛 ) +
𝑓𝑛+1 (𝑠𝑛+1 ) con 0 ≤ 𝑎𝑛 𝑥𝑛 ≤ 𝑠𝑛
y con 𝑠𝑛+1 = 𝑠𝑛 − 𝑎𝑛 𝑥𝑛


𝑓𝑛∗ (𝑠𝑛 ) = 𝑚𝑎𝑥 {𝑝𝑛 (𝑥𝑛 ) + 𝑓𝑛+1 (𝑠𝑛 − 𝑎𝑛 𝑥𝑛 )} 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
𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁 ) = 𝑝1 (𝑥1 ) * 𝑝2 (𝑥2 ) ∗ … ∗ 𝑝𝑁 (𝑥𝑁 )
Con 𝑝1 , 𝑝2 , … , 𝑝𝑁−1 , 𝑝𝑁 funciones cualquiera de una variable
Con 𝑎1 𝑥1 + 𝑎2 𝑥2 + ⋯ + 𝑎𝑁−1 𝑥𝑁−1 + 𝑎𝑛 𝑥𝑁 ≤ 𝐾 (𝑎1 , 𝑎2, … , 𝑎𝑁−1 , 𝑎𝑁 𝑦 K
valores constantes positivos)
Con 𝑥1 ≥ 0, 𝑥2 ≥ 0, …, 𝑥𝑁 ≥ 0

- Entonces la relación recursiva en la etapa n es


𝑓𝑛 (𝑠𝑛 , 𝑥𝑛 ) = 𝑝𝑛 (𝑥𝑛 ) * 𝑓𝑛+1 (𝑠𝑛+1 ) con 0 ≤ 𝑎𝑛 𝑥𝑛 ≤ 𝑠𝑛
y 𝑠𝑛+1 = 𝑠𝑛 − 𝑎𝑛 𝑥𝑛

𝑓𝑛∗ (𝑠𝑛 ) = 𝑚𝑎𝑥 {𝑝𝑛 (𝑥𝑛 ) * 𝑓𝑛+1 (𝑠𝑛 − 𝑎𝑛 𝑥𝑛 )} 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)

- Para 𝑠𝑛 𝑓𝑖𝑗𝑎𝑑𝑜, 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

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 𝑥𝑁−1 , la iteración 3 corresponde a la etapa N-3 y
variable 𝑥𝑁−3 , etc.
- Por ejemplo, si el problema tiene 5 variables: La iteración 1 corresponde
etapa 5 y variable 𝑥5, la iteración 2 corresponde a la etapa 4 y variable 𝑥4 , la
iteración 3 corresponde a la etapa 3 y variable 𝑥3, la iteración 4 corresponde
a la etapa 2 y variable 𝑥2, la iteración 5 corresponde a la etapa 1 y variable
𝑥1.

10. Solución final

Una vez que se tiene el cuadro de resumen de cada etapa (N cuadros)

o La tabla de la etapa 1 nos da el valor de 𝑓1∗ (𝑠1 ) y de 𝑥1∗


o La función 𝑓1∗ (𝑠1 ) nos da directamente el valor óptimo (máximo o mínimo) de la
función objetivo global 𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁 ) que buscábamos.
o Los valores óptimos de 𝑥1∗ , 𝑥2∗ , 𝑥3∗ , … , 𝑥𝑁∗ se van deduciendo a partir de 𝑥1∗,
sucesivamente, cuadro por cuadro, al seguirles la traza de esta manera:
 𝑥1∗ permite deducir el valor de 𝑠2 (porque se conoce 𝑠1 y 𝑥1= 𝑥1∗, y hay
una relación recursiva de 𝑠2 𝑐𝑜𝑛 𝑠1 𝑦 𝑥1 ) y luego a partir de 𝑠2 se deduce
𝑥2∗ (usando la tabla de la etapa 2),
 𝑥2∗ permite deducir el valor de 𝑠3 (porque se conoce 𝑠2 y 𝑥2= 𝑥2∗, y hay
una relación recursiva general entre 𝑠3 𝑐𝑜𝑛 𝑠2 𝑦 𝑥2 ) y luego a partir de 𝑠3
se deduce 𝑥3∗ (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) 𝑠𝑛+1 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 𝑠𝑛+1 = 𝑠𝑛 − 𝑥𝑛 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:

𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 cantidad de voluntarios a destinar a los distritos 1, 2, 3 y 4.

Maximizar
𝐹(𝑥1 , 𝑥2 , … , 𝑥𝑁−1 , 𝑥𝑁 ) = 𝑝1 (𝑥1 ) + 𝑝2 (𝑥2 ) + 𝑝3 (𝑥3 )+ 𝑝4 (𝑥4 )
Con 𝑝1 , 𝑝2 , , 𝑝3 , 𝑝4 funciones de una variable, expresadas en la tabla de valores
aquí abajo.

Con 𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 ≤ 6

Con 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 elementos de {0, 1, 2, 3, 4, 5, 6}.

Valores de las funciones 𝑝1 , 𝑝2 , 𝑝3 , 𝑝4


𝑥1 𝑝1 (𝑥1 ) 𝑥2 𝑝2 (𝑥2 ) 𝑥3 𝑝3 (𝑥3 ) 𝑥4 𝑝4 (𝑥4 )

0 0 0 0 0 0 0
0

28
Nombre de la asignatura: Investigación de Operaciones II
Parcial de estudio: Primero
4 1 7 1 5 1 6
1
9 2 11 2 10 2 11
2
15 3 16 3 15 3 14
3
18 4 18 4 18 4 16
4
22 5 20 5 21 5 17
5
24 6 21 6 22 6 18
6

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

𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 cantidad de unidades paralelas a poner en los componentes 1, 2, 3


y 4.
𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝐹(𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ) = 𝑝1 (𝑥1 ) * 𝑝2 (𝑥2 ) ∗ 𝑝3 (𝑥3 ) ∗ 𝑝4 (𝑥4 )
Con 𝑝1 , 𝑝2 , 𝑝3 , 𝑝4 , funciones dadas por el 1er cuadro (cuadro de probabilidad
de funcionamiento)
Sujeto a 𝑐1 (𝑥1 ) + 𝑐2 (𝑥2 ) + 𝑐3 (𝑥3 ) + 𝑐4 (𝑥4 ) ≤ 10
Con 𝑐1 , 𝑐2 , 𝑐3 , 𝑐4 , funciones dadas por el 2do cuadro (cuadro de costo- en
cientos- según la cantidad de unidades paralelas puestos en cada componente)
Con 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 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) 𝑠𝑛+1 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
Nombre de la asignatura: Investigación de Operaciones II
Parcial de estudio: Primero

34

Vous aimerez peut-être aussi