Está en la página 1de 10

1.3 la programación dinámica aplicada a problemas de redes.

Si bien fue desarrollada especialmente para la resolución de problemas en Procesos de


Decisión en Múltiples Pasos, diferentes investigaciones han mostrado que las mismas ideas
pueden utilizarse en otro tipo de problemas de matemática aplicada, e incluso pueden ser
útiles en el planteo de algunas cuestiones teóricas. Habiendo surgido en los inicios de la
época de las computadoras, la Programación Dinámica fue, además, concebida con un ojo
puesto en esta potente herramienta. La Ecuación Funcional que se obtiene, para cada
problema, a través del uso del Principio de Optimalidad de Bellman permite, con mayor o
menor esfuerzo dependiendo del caso, establecer una recurrencia que es, en sí misma, un
algoritmo que resuelve el problema en cuestión.

TEORIA DE REDES
PROGRAMACIÓN DINÁMICA EN REDES
INTRODUCCIÓN

El matemático Richard Bellman inventó la programación dinámica en 1953 que se utiliza


para optimizar problemas complejos que pueden ser discretizados y secuencializados.

RICHARD BELLMAN

La programación dinámica es un método para resolver ciertos problemas de programación


matemática, cuya característica de estos problemas es que los modelos matemáticos que
los representan son complejos y por tanto requieren mucho procesamiento de computo
para encontrar su solución, además pueden ser divididos en problemas mas pequeños. Esta
característica del problema de dividirse en subproblemas es aprovechada por la
programación dinámica para encontrar la solución.

CONCEPTO

Este problema esta referido a encontrar la ruta optima, para viajar desde un punto llamado
nodo inicial hacia otro llamado nodo final a través de una red de caminos que los conecta
dados los retornos asociados con los arcos o ramas de la red. Proporciona un procedimiento
sistemático para encontrar la combinación de decisiones que maximice la efectividad total,
al descomponer el problema en etapas, las que pueden ser completadas por una o más
formas (estados), y enlazando cada etapa a través de cálculos recursivos.

CARACTERI ́STICAS GENERALES DE LA PROGRAMACIÓ N DINÁ MICA


1.- Una de las caracteri ́sticas esenciales es la toma de decisiones en secuencia.

2.- El problema se puede dividir en etapas, las cuales requieren de una poli ́tica de decisión,
en cada una de ellas.

3.- Es necesarios conocer pocos datos para describir el problema en cada etapa.

4.- La dependencia del resultado de las decisiones de una pequeñ a cantidad de variables.

5.- En cualquier etapa, el resultado de una decisión, altera los valores numéricos de la
pequeñ a cantidad de variables relacionadas con el problema.

6.- Cada etapa tiene un cierto numero de estados asociados a ella.


Estos son las distintas condiciones posibles en las que se puede encontrar el sistema en cada
etapa del problema.

7.- El efecto de la poli ́tica de decisión en cada etapa, es transformar el estado actual en un
estado asociado con la siguiente etapa.

8.- La decisió n real no aumenta ni disminuye el nú mero de factores de los que dependen
los resultados.

9.- El procedimiento de solución esta diseñ ado para encontrar una poli ́tica de solució n
optima, para el problema planteado. Cualquier problema de programació n dinámica
proporciona este tipo de poli ́tica sobre qué hacer en todas las circunstancia posibles. A esto
se debe que la decisió n real que se tome al llegar a un estado en particular se llama poli ́tica
de decisión. El proporcionar esta información adicional más allá de especificar una solució n
optima(secuencia optima de decisiones), puede ser muy valiosa en muchas situaciones que
incluyen el análisis de sensibilidad.

10.- La programación dinámica nos permite llegar a decisiones óptimos para los peri ́odos o
etapas que todavi ́a están en el futuro, a pesar de las decisiones incorrectas que se hayan
tomado en el peri ́odo.

11.- Dado el estado actual, una poli ́tica optima para las etapas restantes es independientes
de la poli ́tica adoptada en etapas anteriores “situació n llamada principio de optimalidad”.
12.- El procedimiento de solució n se inicia al encontrar la poli ́tica optima para las ultimas
etapas. Ya que esta prescribe la poli ́tica optima de decisió n para cada estado posible en esa
etapa.
13.- Se establece una función recursiva que identifique la poli ́tica optima para la etapa n
dada la poli ́tica optima para la etapa (n+1).

ESTRUCTURA DE LA PROGRAMACIÓ N DINÁ MICA

Todo problema de programació n dinámica debe reunir los siguientes pasos:

a.- El problema se divide en etapas, con una poli ́tica de decisió n requerida en cada etapa.
b.- Cada etapa tiene algunos estados asociados.
c.- Cada problema debe tener una variable de estado; la cual nos dice todo lo que
necesitamos saber sobre el sistema, a fin de tomar decisiones.
d.- Cada estado debe contar con una decisión, la cual es una oportunidad para cambiar las
variables de estado en una forma probabilistica.
e.- El efecto de una decisió n a cada etapa es transformar el estado corriente (actual), en
uno asociado con la pró xima etapa.
f.- Dado el estado corriente, la poli ́tica ó ptima para las etapas que quedan es independiente
a la poli ́tica adoptada en etapas anteriores. En este caso “etapa anterior”, significa tiempo.
g.- El procesamiento empieza por escoger la decisió n(poli ́tica), óptima para cada estado de
la ultima etapa.
h.- Debe tener una función RECURSIVA; la cual identifica la decisió n(poli ́tica), ó ptima para
cada estado cuando quedan n-etapas, dada la decisió n óptima para cada estado cuando
quedan n-1 etapas.
i.- Usando esta relación recursiva, el método de solució n mueve hacia atrás etapa por etapa,
determinando la decisión óptima en cada etapa hasta llegar a la etapa final.

PROBLEMA DE LA DILIGENCIA
SOLUCIÓN WIN QSB
PROGRAMACIÓN DINÁMICA

Parte de una pequeña porción del problema y encuentra la solución optimo para ese
problema mas pequeño. Entonces gradualmente agranda el problema, hallando la solución
optima en curso a partir de la anterior, hasta que se resuelve por completo el problema
original.
Utilizando la forma tabular de la PD tenemos, para las diferentes etapas:

Para n=5
Para n=4
Para n=3
Para n=2
Para n=1
¿Cómo se obtiene el recorrido más corto?
Esto se logra comenzando desde la etapa 1, de la siguiente manera:

Si se está en el nodo 1 la decisión óptima es ir al nodo 3, luego se pasa a la etapa 2.


Si se está en el nodo 3 la decisión óptima es ir al nodo 5, luego se pasa a la etapa 3.
Si se está en el nodo 5 la decisión óptima es ir al nodo 9, luego se pasa a la etapa 4.
Si se está en el nodo 9 la decisión óptima es ir al nodo 12, luego se pasa a la etapa 5.
Si se está en el nodo 12 la decisión óptima es ir al nodo 14.

La distancia total recorrida se obtiene sumando las distancias de las ramas involucradas en
el recorrido en este caso es:
1-3-5-9-12-14 2+8+2+3+4=19
Ingreso de datos
Resultados
Una compañía dispone de 5 agentes de venta y desea asignarlos óptimamente en 4 áreas
de venta, de tal forma que se obtengan las máximas utilidades. Las estimaciones de las
ganancias en miles de pesos son las siguientes:

ASIGNACIÓN DE RECURSOS

Planteamiento
Xn: 5 4 3 2
321

Decidir asignar Dn: 1 ó 2

Etapas
Utilidad Óptima
Solución
Utilidad en miles de pesos: 150+160+190+230=730

La idea básica es que existen N tipos distintos de artículos que pueden cargarse e n una
mochila; cada articulo tiene asociados peso y un valor. El problema consiste en determinar
cuantas unidades de cada articulo se deben colocar en la mochila para maximizar el valor
total. Nótese que este enfoque resulta útil para la planificación de transporte de artículos
en algún medio, por ejemplo: carga de un buque, avión, camión, etc. También es utilizable
este modelo en planificación de producción a través de varias máquinas.
EL PROBLEMA DE LA MOCHILA.

El problema de la mochila es un problema simple, hay una persona que tiene una mochila
con una cierta capacidad y tiene que elegir que elementos pondrá en ella.
Cada uno de los elementos tiene su peso y aporta un beneficio sin excederse de la capacidad
permitida. Este problema es considerado NP ya que existe una combinación exponencial de
instancias que, en su totalidad, no pueden ser resueltas. Existen variantes relacionadas con
este problema: problema con cantidad de productos limitada, problema con cantidad de
productos ilimitada, elección múltiple, elección de un producto de diferentes categorías,
como un problema relacionado con el peso de los productos, como un problema
relacionado con el monto económico, entre otros.
La Mochila que es conocido como un Problema de Optimización Combinatoria de tipo NP-
hard. Este problema es una generalización de los problemas donde se tiene un contenedor
(mochila) con o sin restricciones, y donde la solución base es mediante la programación
entera dicotómica.

DEFINICIÓN
El problema de la mochila (KP) puede ser definido con un conjunto de n artículos donde
cada artículo es identificado por nx, con un valor entero px, y un peso wx. El problema
consiste en elegir un subconjunto de n artículos maximizando el beneficio obtenido
considerando el peso total de los artículos seleccionados, sin exceder la capacidad c de la
mochila..
Dorta et al. definen el Problema de la mochila de la siguiente manera: Se dispone de una
mochila de capacidad C y de un conjunto de N objetos, donde los objetos son indivisibles.
Describen a un objeto k que tiene un beneficio bk y un peso pk, para k = 1,2,…, N. Para los
autores, el problema consiste en averiguar qué objetos se pueden insertar en la mochila sin
exceder la capacidad total de la misma, obteniendo el máximo beneficio.

ALGORITMO BASE
El algoritmo base, como se presenta en la descripción, está orientado hacia un conjunto
finito de artículos que tienen un peso específico y que deberán guardados en un contenedor
(mochila) con una capacidad limitada, teniendo como función objetivo, el minimizar el
espacio utilizado.
Las formulas 1 – 3 presentan el algoritmo básico del problema de la mochila (KP) :
Donde:
xj -> Variables de decisión
wj -> Peso w del item j
c -> Capacidad total del contenedor (mochila)
n -> número de items
La fórmula 1 hace referencia a maximizar los resultados del proyecto a partir de la
integración de múltiples variables que pertenecen al proyecto actual identificado por el
subíndice j. La fórmula 2 indica que es necesario estimar el peso total de los artículos que
serán guardados en un contenedor cuya capacidad es determinada por la variable c. La
fórmula 3 indica que las variables de decisión pertenecen al proyecto identificado por el
valor j, es decir, forman parte del proyecto (valor 1) o no forman parte de dicho proyecto
(valor 0)
VARIANTES DEL PROBLEMA
La variante donde se tiene un número límite de artículos mj por ítem del tipo j, el problema
KP puede ser presentado de la siguiente manera (fórmulas 1.1, 2.1 y 3.1), siendo una
variante de la representación del problema base:

Cuando la variante se enfoca a un grupo de artículos ilimitados, el problema se puede


representar de la siguiente manera (fórmulas 1.2, 2.2 y 3.2):
Para la variante del Problema de la Mochila donde se pueden elegir múltiples ítems de
diferentes tamaños y beneficios, la variable de decisión afecta de manera directa la función
objetivo, definiendo, en las fórmulas 1.3, 2.3 y 3.3, la representación matemática de esta
variante:

El problema denominado 0-1 Knapsack Problem, se tienen un número k clases, donde se


puede elegir solo un ítem j, donde el número total de ítems seleccionados para ocupar el
contenedor, es presentado con la variable Ni, donde i=1,2, …, k y se tiene como función
objetivo, maximizar el beneficio (fórmulas 1.4, 2.4 y 3.4).

APLICACIONES
Como parte de la aplicación del Problema de la mochila como una forma de emular
situaciones reales donde es necesario acomodar artículos de diferentes dimensiones en un
espacio reducido.
Se puede emplear, como ejemplo, el uso de contenedores en las aduanas, donde se
requiere enviar ítems de diferentes pesos, tamaños y valores de beneficio. Por otra parte,
en la misma aduana, es necesario almacenar, de manera temporánea, los contenedores
mismos, por lo que este problema puede ser resuelto con base en la soluciones propuesta
para el problema de la mochila.
En aspectos de criptografía, en el caso de descifrar contraseñas, este problema se puede
ver como un número de contenedores que pueden tener n valores cada uno. En otro
sentido, cuando es necesario traducir un texto encriptado, en el momento de identificar los
espacios, cada palabra puede fungir como un contenedor de ni ítems (caracteres de la
palabra), donde cada caracter i puede tener n posibles artículos.
Como parte de la aplicación del problema de la mochila, y haciendo una revisión de la
literatura actual se pueden resolver problemas relacionados con:

 La selección de proyectos, donde cada proyecto se puede como un contenedor de


diferentes ítems tales como: personas, recursos, etc. [16].
 En la solución de problemáticas donde es necesario detectar patrones de corte .
 En situaciones donde se problemas de distribución de carga (física, eléctrica,
etc.) 19].
 Cuando se requiere abastecer vehículos de transporte y entrega de productos de
diferentes tamaños que deben ser colocados en múltiples compartimentos de igual
o diferente tamaño [20],
 Asignación de procesadores y datos en sistemas distribuidos.
 Despediciar la menor cantidad de materiales(materiales limitante)
 Aprovechar al máximo el uso de las maquinas (tiempo limitante)

Se utiliza para modelar diferentes situaciones

 En los sistemas de apoyo de fianza:para encontrar el mayor eqwuilibrio entre el


capital y el redimnmiientpo financiero.
 En la carga del barco o del avión :todo el equipaje debe ser llevado ,sin ser
sobrecargado .
 En el corte de materiales:para minizar las caídas.
CONCLUSIONES

El problema de la mochila, es tal vez, el problema más analizado entre los investigadores de
Inteligencia Artificial, considerando que las variables son identificadas con base en las
características de los artículos que se guardarán en un contenedor (mochila) con
características relativas a la capacidad, a las dimensiones o a la resistencia de los materiales.
Y, por otra parte, su aplicación es de forma directa a diversas situaciones de la vida real
donde las variables contempladas pueden emular dichas situaciones

EJEMPLO PRÁCTICO
Problema de la Mochila

Un armador tiene un carguero con capacidad de hasta 700 toneladas. El carguero transporta
contenedores de diferentes pesos para una determinada ruta. En la ruta actual el carguero
puede transportar algunos de los siguientes contenedores:

El analista de la empresa del armador desea determinar el envío (conjunto de


contenedores) que maximiza la carga transportada. Para ello se propone el siguiente
modelo de Programación Entera:
Variables de Decisión:
Función Objetivo: Consiste en maximizar la carga que transportará el carguero.

Restricciones: El peso de la carga transportada no puede exceder la capacidad máxima del


carguero.

La solución óptima consiste en transportar los contenedores C1, C2, C3, C4, C8, C9 y C10,
con un valor óptimo de 700 (toneladas), es decir, se utiliza la capacidad completa del
carguero. Notar que otra solución óptima consiste en transportar los contenedores C1, C3,
C4, C5, C6, C7, C8 y C9 lo que reporta un similar valor en la función objetivo.

También podría gustarte