You are on page 1of 34

Conceptos y ejemplos bsicos de

Programacin Dinmica





Wilson Julin Rodrguez Rojas
julianrodriguez1212@hotmail.com






Trabajo de Grado para Optar por el Ttulo de Matemtico



Director: Pervys Rengifo Rengifo
Ingeniero Universidad Nacional de Colombia









Fundacin Universitaria Konrad Lorenz
Facultad de Matemticas
Bogot D.C.
2005
2

I ntroduccin......................................................................................................................4
Programacin dinmica...................................................................................................5
Ejemplos de funciones recursivas....................................................................................6
Ejemplo 1.1:...................................................................................................................6
Ejemplo 1.2:...................................................................................................................6
Ejemplos de Programacin Dinmica.............................................................................7
Ejemplo 1.3 (El problema de la diligencia) .....................................................................7
Teorema de optimalidad............................................................................................... 12
Ejemplo 1.4: (Problema de la distribucin de la inversin)........................................... 13
Ejemplo 1.5: (Proble ma de la subdivisin ptima)................................ ........................ 17
Ejemplo 1.6: (Problema de Programacin Lineal)................................ ........................ 23
Ejemplo 1.7: (Problema de Programacin Lineal Entera)............................................ 25
Ejemplo 1.8: (Problema de Programacin no Lineal)................................................... 27
Comparacin entre los mtodos basados en ecuaciones recursivas de
avance y los basados en ecuaciones recursivas de retroceso........................................31
Ejemplo 1.9:................................................................................................................. 31
Conclusin......................................................................................................................33
Bibliografa.....................................................................................................................33
3
Resumen

Se presentan algunos resultados de la teora matemtica de Programacin
Dinmica y se exponen ejemplos que muestran la gran versatilidad de la
tcnica. Tambin se muestra un esquema de demostracin del Principio
de Optimalidad.


Abstract
Some results of the Mathematical theory of Dynamic Programming are
presented and some of the consequences of these results are exposed
through examples that demonstrate the great versatility this technique
owns; There is here also included a demonstration scheme of the
Optimal Principle.
4
Introduccin



El presente trabajo comprende la exposicin de la teora y algunos
ejemplos de Programacin Dinmica (P.D.). La P.D. est comprendida
dentro de un conjunto de tcnicas matemticas que a su vez forman parte
de un rea ms amplia, conocida como Investigacin de Operaciones.
Esta ltima puede definirse como una ciencia interdisciplinaria que tiene
por objeto la bsqueda de estrategias que permitan obtener resultados
ptimos en el desarrollo de actividades por parte de sistemas hombre-
mquina (estos sistemas pueden estar formados exclusivamente por
hombres, por mquinas o por una combinacin de los dos). Como se ver
ms adelante, los problemas propios de la P.D. son aquellos que pueden
ser divididos en subproblemas, los cuales, a su vez, tienen una estructura
igual al problema original (en este sentido podra decirse que tienen una
estructura fractal). Para este propsito, el mtodo consiste en dividir el
problema en etapas, resolver la primera de estas, utilizar esta solucin
para resolver la etapa siguiente y continuar as sucesivamente hasta
encontrar la solucin del problema en su totalidad.

Son caractersticas esenciales de la P.D. por un lado, la versatilidad con
respecto a la amplia gama de problemas que puede atacar y, por otra
parte, que la P.D. se limita a aportar un esquema de solucin (ya
mencionado arriba) dejando al ingenio de quien resuelva el problema la
construccin del modelo matemtico para realizar la optimizacin de cada
caso en particular. En este sentido el trabajo en P.D. est ms en relacin
directa con la labor del matemtico que del ingeniero, pues este ltimo no
necesita comprender la base terica en la cual descansa el procedimiento,
sino nicamente conocer el algoritmo propio del problema particular que
pretende resolver.

Para lograr la comprensin de la tcnica el trabajo se ha estructurado
sobre ejemplos que ilustran la versatilidad de la P.D., con este fn se
presentan soluciones de problemas propios del trabajo en Programacin
Lineal, Programacin Lineal Entera, Programacin No Lineal etc. El
objetivo es ms presentar la potencia de la P.D. que proponerla como la
panacea de los mtodos de Investigacin de Operaciones, pues tambin se
ver que aunque funciona, en ocasiones la tcnica puede resultar
impractica al momento de resolver problemas de cierta envergadura.
5
Programacin dinmica



Las caractersticas propias de la Programacin Dinmica (PD) como son:
el no tener un tipo especfico de problemas sobre el cual operar, el carecer
de un algoritmo estndar de solucin , etc.,hacen que exista una gran
dificultad en el momento de intentar dar una definicin de ella. Sin
embargo, para comenzar, se debe tener alguna definicin que, aunque
parcial e incompleta, sirva para ir demarcando el terreno al que se
circunscribir este trabajo.

Definicin 1.0: La programacin dinmica es un procedimiento
matemtico diseado principalmente para mejorar la eficiencia de
clculo de problemas de programacin matemtica seleccionados,
descomponindolos en subproblemas de menor tamao y por
consiguiente mas fciles de calcular. La PD normalmente resuelve el
problema en etapas. Los clculos en las diferentes etapas se enlazan a
travs de clculos recursivos de manera que se genere una solucin
ptima factible a todo el problema.



Para ayudar a aclarar algunos conceptos presentes en la definicin
anterior y en el trabajo posterior se dan las siguientes definiciones:

Definicin 1.1 (Mximo): sea { }
n k k
a
,..., 3 , 2 , 1
una sucesin finita, se dice
que
m
a es el mximo de { }
n k k
a
,..., 3 , 2 , 1
si
k m
a a para n k ,..., 3 , 2 , 1 .

Definicin 1.2 (Mnimo): sea { }
n k k
a
,..., 3 , 2 , 1
una sucesin finita, se dice
que
m
a es el mnimo de { }
n k k
a
,..., 3 , 2 , 1
si
k m
a a para n k ,..., 3 , 2 , 1 .

Definicin 1.3 (Funcin Recursiva): Sea S N f : , donde N es el
conjunto de los nmeros naturales y S cualquier conjunto, a F se le
denomina una sucesin en S, y se denota ( )
n
s n f , donde
n
s se
denomina el n-simo elemento de la sucesin. A una funcin se le llama
funcin de recurrencia si es una sucesin donde el n-simo elemento se

Tomado de [Tah95]
6
obtiene a partir de un elemento o varios elementos anteriores de la
sucesin.

Ejemplos de funciones recursivas

Ejemplo 1.1:
Inters Compuesto
Supngase que se consigna $100 en una cuenta que produce un
rendimiento del 5% mensual. Cul ser el monto 4 meses mas tarde?.
Se define

i
M monto en el i-simo mes.
Y entonces se tiene
100
0
M
1 1 1
05 . 1 05 . 0 *

+
i i i i
M M M M i = 1,2, . . .

a la pareja ( )
1 0
05 . 1 , 100


i i
M M M , se le llama frmula de recurrencia.
Y esto implica:
M1 = 1.05*100
M2 = 1.05*(1.05*100) = 1.05
2
*100
M3 = 1.05*(1.05
2
*100) = 1.05
3
*100
M4 = 1.05*(1.05
3
*100) = 1.05
4
*100 = 121.55


Ejemplo 1.2:
La sucesin de Fibonaccise define segn la frmula recursiva:
1
0
s
1
1
s
2 1
+
n n n
s s s para n = 2,3,4,

Si se desarrolla la formula de recurrencia general se obtiene

S2 = 2
S3 = 3
S4 = 5
S5 = 8 etc.



7
Ejemplos de Programacin Dinmica


El siguiente ejemplo fue desarrollado por el profesor Harvey M. Wagner
cuando estaba en la universidad de Stanford con el fin de ilustrar los
elementos y la terminologa propios de la PD.


Ejemplo 1.3 (El problema de la diligencia)
Una diligencia debe atravesar el oeste estadounidense en plena fiebre del
oro. Cada uno de los tramos de su recorrido est cubierto por una pliza
de seguro, cuyo costo es directamente proporcional al riesgo presente
durante el viaje. El recorrido se inicia en la ciudad A y tiene como destino
la ciudad J. La figura 1.1 ilustra la situacin.

Los nmeros en los arcos indican el costo de la pliza que cubre el viaje
entre las dos ciudades, por ejemplo, la pliza del viaje entre A y C tiene
un costo de 3. El conductor supone que la ruta ms segura es aquella para
la cual la suma total de los costos de las plizas sea mnima.


Figura 1.1


D
C
B
G
F
E
I
H
J
A
2
4
3
7
4
6
3
2
4
4
1
5
1
4
6
3
3
3
3
4
8
Solucin del problema

En primer lugar debemos notar que la estrategia de escoger, en cada
etapa, la ruta con el costo mnimo no conduce a la solucin ptima, pues
al seguir esta tctica se obtiene la ruta ABFI J la cual tiene un
costo total de 13. Sin embargo un pequeo sacrificio en una etapa puede
conducir a mejores resultados ms adelante. Para este caso tenemos que
A DF ofrece un mejor resultado que ABF.

Un procedimiento que s conduce a encontrar la solucin ptima es la
enumeracin exhaustiva de todas las posibilidades, las cuales en este caso
son: 3x3x2 = 18. Se procedera de la siguiente manera:

Ruta 1. ABEHJ costo total 13
Ruta 2. ABEI J costo total 17

Ruta 18. ADGI J costo total 15

Recurdese que la definicin de PD habla de mejorar la eficiencia de
clculo y por lo tanto, se observa que la enumeracin exhaustiva de casos
no es eficiente porque, por ejemplo, al calcular los costos de las rutas 1 y
2 se repite el trabajo correspondiente al segmento ABE y a su
aporte al costo total, que en este caso es de 9. Un procedimiento ms
eficiente guarda este resultado intermedio para evitar la redundancia en
los clculos, este es precisamente el enfoque de la PD para este tipo de
problemas.

En primer lugar debe notarse que cualquiera que sea la solucin la
diligencia deber realizar 4 etapas de camino. Por lo tanto se resolver el
problema para cada una de las etapas , agregando en cada paso una etapa
ms hasta llegar a la primera y con ello a la solucin del problema. Sin
embargo, antes de comenzar a resolver el problema se introducirn
algunos conceptos que, aunque excesivos para este problema en
particular, (pues este problema puede resolverse desde el punto de vista
de la PD pero sin tanta parafernalia) van ambientando los elementos
propios del enfoque de la PD.

Sean
n
x (n = 1,2,3) las variables de decisin que representan la ciudad por
la cual deber pasar la diligencia en la etapa n. Por ejemplo, el conjunto
de valores que puede tomar
2
x es { E, F, G }, los elementos de este
9
conjunto se denominan estados de la etapa 2. Entonces la ruta
seleccionada es Ax1 x2 x3 J.

Sea ) , (
1 n n
x s f el costo total de la mejor poltica global para las etapas
anteriores, dado que la diligencia se encuentra en la ciudad s y acaba de
llegar de
1 n
x .

Dados s y n, sea
*
1 n
x el valor de
1 n
x (no necesariamente nico) que
minimiza ) , (
1 n n
x s f , y sea ) (
*
s f
n
el valor mnimo correspondiente
de ) , (
1 n n
x s f . Entonces

) (
*
s f
n
=
mn
n
x
) , (
1 n n
x s f = ) , (
*
1 n n
x s f (1)
en donde

) , (
1 n n
x s f = costo inmediato (etapa n) + costo mnimo etapas 1,2, . . ., n-
1

en otras palabras

) , (
1 n n
x s f =
1 n sx
C + ) , (
*
1 n n
x s f (2)

Con la notacin introducida se tiene que el objetivo es encontrar ) (
*
4
J f .

Si alguna de estas definiciones no ha logrado ser entendida
completamente esto deber lograrse viendo el proceso de solucin, el cual
extrae la informacin de la figura 1.1 y de las tablas que se vayan
generando:

Para n = 1,
0
x = A y no existen opciones de caminos para } , , { D C B s
por lo tanto se tienen nicamente soluciones ptimas
10

s
) (
*
1
s f
*
0
x
B 2 A
C 4 A
D 3 A
Tabla 1.1

Para n = 2 se tiene, por ejemplo:

) ( ) , (
*
1 2
1
B f c B E f
EB
+ = 7+2 = 9

esta ecuacin tiene el siguiente significado: el costo mnimo para llegar a
E desde A pasando por B es igual al costo de ir de B a E (
EB
c ) este dato
aparece en la figura 1.1- ms el costo mnimo del viaje de A hasta B
( ) (
*
1
B f ) -este dato se toma de la tabla 1.1, en general se tomar de la
tabla anterior -. De esta forma se calculan todas las entradas de la tabla
1.2.

La tabla 1.2 nos permite ver ya un resultado interesante: en este momento
hemos resuelto el problema si el destino de la diligencia fuera alguna de
las ciudades E, F o G. Por ejemplo, el costo mnimo para ir de A a E es de
7 ( ) (
*
2
E f ) y se consigue llegando a E desde C o D (
*
1
x ), si por ejemplo se
llega por D la tabla 1.1 nos informa que a D debe llegarse en la ruta
ptima desde A, aunque este ltimo resultado es trivial la atencin se
centra en la lgica que sigue la construccin y lect ura de las tablas.


) ( ) , (
1
*
1 1 2
1
x f c x s f
sx
+


1
x
s
B C D
) (
*
2
s f
*
1
x
E 9 7 7 7 C o D
F 6 6 4 4 D
G 8 8 8 8 B o C o D
Tabla 1.2

11
Para n=3 se tiene

) ( ) , (
2
*
2 2 3
2
x f c x s f
sx
+

2
x
s
E F G
) (
*
3
s f
*
2
x
H 8 10 11 8 E
I 11 7 11 7 F
Tabla 1.3

Y finalmente para n=4

) ( ) , (
3
*
3 3 4
3
x f c x s f
sx
+


2
x
s
H I
) (
*
4
s f
*
3
x
J 11 11 11 H o I
Tabla 1.4

De la tabla 1.4 se concluye que el costo mnimo es 11 y que puede
llegarse a J tanto de H como de I. Si se escoge la ruta que llega por H de
la tabla 1.3 se tiene que la ruta ptima llega a H a travs de E. A su vez la
tabla 1.2 informa que existen rutas ptimas que llegan a E a travs de C
tanto como de D. Finalmente, si se escoge la ruta que llega a E por C la
tabla 1.1 indica que la ruta optima llega a C a travs de A (trivial). Con la
informacin anterior se concluye que una ruta ptima es

ACEHJ

Anlisis similares arrojan las siguientes rutas ptimas alternativas

ADEHJ
ADF I J

Obviamente todas tienen un costo total de 11.

Nota: este mismo ejemplo se encuentra resuelto en la pgina 533 de [Hil 02] siguiendo
un procedimiento conocido como de retroceso, el cual consiste en atacar el problema de
adelante hacia atrs. Sin embargo, se ha considerado que el procedimiento de avance,
seguido aqu, es mas intuitivo. Ms adelante se discutirn las ventajas de cada uno.
12
Teorema de optimalidad

El ejemplo 1.3 tambin permite ambientar la discusin de la base
fundamental de la PD que es el llamado Teorema (o principio) de
optimalidad, cuyo enunciado es el siguiente: Una poltica ptima solo
puede estar formada por subpolticas ptimas. En esencia lo que significa
es que las diferentes restricciones de la solucin al problema total
(poltica ptima) a cada uno de los subproblemas (subpoltica) es
tambin solucin ptima de dicho subproblema. Acudiendo al ejemplo, se
tiene que la ruta A C EHJ es una poltica ptima y que
C EH es una subpoltica de ACEHJ. Lo que afirma el
teorema es que, en estas condiciones, C EH es a su vez subpoltica
ptima, o sea, que es solucin ptima del subproblema que surge al
considerar como punto inicial C y como destino H. La justificacin es
intuitiva: supngase que la afirmacin es falsa, existir entonces un nodo
X tal que CXH es mejor que CEH, pero de ello surge una
contradiccin, pues en ese caso se tendra que ACXHJ sera
mejor que ACEHJ con lo cual esta ltima no sera poltica
ptima.

Con esto se tiene una motivacin, no a una demostracin, sino a un
esquema de demostracin del principio de optimalidad. Consiste en una
generalizacin de lo discutido en el prrafo anterior: sea x
1
, x
2
, . . . ,x
k
, . . .
,x
k+r
, . . . ., x
n
una sucesin de soluciones ptimas a los subproblemas en
los cuales se ha dividido uno mayor o, en otras palabras, una solucin
ptima del problema general. Supngase adems que x
k
, . . . ,x
k+r
no
constituyen una solucin optima al subproblema restringido que las posee
como variables de decisin, entonces deben existir x
k
, . . . ,x
k+r
tales que
constituyen una solucin ptima del mencionado subproblema, con lo
cual se tendra que x
1
, x
2
, . . . ,x
k
, . . . ,x
k+r
, . . . ., x
n
sera una solucin
mejor que x
1
, x
2
, . . . ,x
k
, . . . ,x
k+r
, . . . ., x
n
y esto contradice el hecho de
que esta ltima sea una solucin ptima. Este esquema debe ser adaptado
para que constituya una demostracin de cada caso particular al cual se
est aplicando la PD. Esto ltimo no debe verse como una dificultad
gratuita, sino como un paso adelante en el empeo por adquirir el
dominio total de las caractersticas del modelo matemtico particular que
se pretende aplicar.

13
Como ya se dijo, el ejemplo 1.3 fue creado con el propsito de introducir
los elementos y la terminologa propios de la P.D. Se tienen entonces las
siguientes caractersticas:

1. El problema se puede dividir en etapas que requieren una poltica
de decisin en cada una de ellas. Esta es quiz la principal
caracterstica de los problemas de P.D. y se ver que la esencia de
la solucin ser identificar las etapas, en algunos ejemplos, como
el anterior, estas sern evidentes, sin embargo, se vern casos en
los cuales esto no ser siempre as.
2. Los estados son las distintas condiciones posibles en las que se
puede encontrar el sistema en cada etapa del problema.
3. El procedimiento de solucin est diseado para encontrar una
poltica ptima para el problema completo, a partir de un
procedimiento que inicia analizando una etapa y que en cada uno
de los pasos agrega una nueva, hasta abarcar el problema en su
totalidad.
4. La decisin inmediata ptima depende slo del estado actual y no
de cmo se lleg ah. En el ejemplo anterior, esta afirmacin se
evidencia en el hecho de que en cada paso nicamente se
consultaba la tabla anterior y no el conjunto total de tablas.
5. El procedimiento de solucin emplea una relacin recursiva que
identifica la poltica ptima para la etapa n, dada la poltica ptima
para la etapa n-1. Para el caso del ejemplo anterior esta relacin
tena la forma:

) , (
1 n n
x s f =
1 n sx
C + ) , (
*
1 n n
x s f (3)

Con la ayuda de estas nuevas herramientas conceptuales se atacar otro
problema tpico de la P.D.


Ejemplo 1.4: (Problema de la distribucin de la inversin)
Una corporacin recibe propuestas de sus tres plantas respecto a la
posible expansin de las instalaciones. La corporacin tiene un
presupuesto de 5 millones de dlares para asignarlo a las tres plantas.
Cada planta expone sus propuestas indicando el costo total (C) y el
ingreso total (R) para cada propuesta. En la tabla 1.5 se muestran los
costos e ingresos (en millones de dlares). Las propuestas de costo cero
14
indican la posibilidad de no asignar fondo alguno a la planta. El objetivo,
obviamente, es maximizar el ingreso total resultante.


Planta 1 Planta 2 Planta 3
Propuesta C1 R1 C2 R2 C3 R3
1 0 0 0 0 0 0
2 1 5 2 8 1 3
3 2 6 3 9 - -
4 - - 4 12 - -
Tabla 1.5

Las plantas definen las etapas. Las variables de decisin
1
x ,
2
x y
3
x se
definen de la siguiente manera:


1
x = monto de capital asignado a la planta 1.

2
x = monto de capital asignado a las plantas 1 y 2.
3
x = monto de capital asignado a las plantas 1, 2 y 3.

Una solucin es una tripla (P1, P2, P3) donde Pi corresponde a la propuesta
que se escoge de la planta i, por ejemplo (2, 3, 1) significa escoger la
propuesta 2 para la planta 1, la propuesta 3 para la planta 2 y la propuesta
1 para la planta 3; esta solucin tendra un costo de 1 + 3 + 0 = 4 millones
y producira un ingreso de 5 + 9 + 0 = 15 millones. Existen solucione no
factibles como (3, 4, 2) pues tiene un costo de 7 millones.

Solucin del problema

Como
1
x corresponde al monto que se asignar a la planta 1, se deben
considerar todas las posibilidades desde hacer
1
x = 0 lo que significara
emplear los $5 millones en las otras dos plantas, hasta hacer
1
x = 5 en
cuyo caso se asignara la totalidad de los recursos a la planta 1 (Este
ltimo caso, evidentemente, no corresponde a una solucin ptima, pues
la mxima cantidad que puede aprovechar la planta 1 es $2 millones). Se
recurre a la siguiente notacin:

) (
n n
P R = ingreso de la propuesta
n
P en la etapa n.
) (
n n
x f = rendimiento ptimo de las etapas 1, 2, . . . , n dado el estado
n
x .
15
*
j
P = propuesta ptima asociada a ) (
n n
x f

Por lo tanto se tiene

) (
1 1
x f =
1 P factibles
propuestas
mx { ) (
1 1
P R } (4)

en esta ecuacin se relacionan dos variables diferentes: por un lado
1
x ,
que como ya se dijo corresponde a la cantidad asignada a la planta 1, y
por otro lado
1
P que representa la propuesta que se elige de las
presentadas por la planta 1. Dependiendo del valor de
1
x no todas las
propuestas son factibles, por ejemplo para
1
x = 1 la propuesta
1
P = 3 no
es factible pues tiene un costo de 2. La tabla 1.6 resume la relacin de
todos los posibles valores de
1
x con todos los posibles valores de
1
P , los
asteriscos representan la no factibilidad de algunos casos.

n=1
) (
1 1
P R

1
x
1
P = 1
1
P = 2
1
P = 3 ) (
1 1
x f
*
1
P
0 0 * * 0 1
1 0 5 * 5 2
2 0 5 6 6 3
3 0 5 6 6 3
4 0 5 6 6 3
5 0 5 6 6 3
Tabla 1.6


La tabla 1.5 informa cual es la poltica ptima que debe seguirse para
cada uno de los posibles valores de
1
x . Puede parecer redundante en su
construccin pues para cada estado la propuesta ms alta que puede
cubrirse es la que genera el mayor ingreso, sin embargo, como ocurre en
la realidad, no siempre la mayor inversin genera el ms alto beneficio.

Ahora se define la parte faltante de la ecuacin recursiva y que
corresponde a las etapas 2, 3, . . .
16
) (
n n
x f =
Pn factibles
propuestas
mx { ) (
n n
P R + ) (
1 1 n n
x f } (5)

pero como ) (
n n
x f es funcin de
n
x exclusivamente, el lado derecho
tambin debe serlo, esto se consigue teniendo en cuenta que

) (
1 n n n n
P C x x

(6)

donde ) (
n n
P C es el costo de la propuesta
n
P en la etapa n. Esta ecuacin
ilustra la forma en que opera el procedimiento recursivo: de un dado
n
x se
asigna una parte ( ) (
n n
P C ) para cubrir la propuesta
n
P de la etapa n y la
cantidad restante ( ) (
1 n n n n
P C x x

) se destina a cubrir las propuestas


de las etapas 1,2, . . . ,n-1. Se tiene, entonces:

) (
n n
x f =
Pn factibles
propuestas
mx { ) (
n n
P R + )) ( (
1 n n n n
P C x f

} n = 2,3, . . . (7)

tabulando para n=2

) (
2 2
P R + )) ( (
2 2 2 1
P C x f

2
x
2
P = 1
2
P = 2
2
P = 3
2
P = 4 ) (
2 2
x f
*
2
P
0 0+0=0 * * * 0 1
1 0+5=5 * * * 5 1
2 0+6=6 8+0=8 * * 8 2
3 0+6=6 8+5=13 9+0=9 * 13 2
4 0+6=6 8+6=14 9+5=14 12+0=12 14 2 o 3
5 0+6=6 8+6=14 9+6=15 12+5=17 17 4
Tabla 1.7

Como en el ejemplo anterior, la tabla 1.5 contiene la solucin total del
problema restringido a las dos primeras etapas, esto es, si el problema
total se limitara a las plantas 1 y 2, ya estara resuelto, pues en la fila
correspondiente a
2
x = 5 vemos que se obtiene una ganancia mxima de
17, siguiendo la propuesta 4 de la planta 2 y como por la tabla 1.5
sabemos que esta tiene un costo de 4 tenemos
1
x = 5 4 = 1 y para
1
x = 1
la tabla 1.6 nos dice que se debe seguir la propuesta 2 de la planta 1. Se
17
tendra entonces la solucin al problema reducido (2,4) que tiene un costo
de 5 millones y, como ya se dijo, reporta una ganancia de 17 .

La tabla para la ltima etapa posee solamente una fila, pues al no haber
etapas restantes no deben considerarse todas las posibilidades de
inversin sino, nicamente, el caso
3
x =5.

) (
3 3
P R + )) ( (
3 3 3 2
P C x f

3
x
3
P = 1
3
P = 2 ) (
3 3
x f
*
3
P
5 0 + 17 = 17 3 + 14 = 17 17 1 o 2
Tabla 1.8

Se tiene, por lo tanto, de la tabla 1.8, que el ingreso mximo es de 17
millones, el cual se obtiene implementando las propuestas 1 o 2 de la
planta 3. En el caso de escogerse la propuesta 1 la cual, segn la tabla 1.5
tiene un costo de 0 se tiene
2
x = 5 0 = 5, y en la tabla 1.7 se ve que para
este valor de
2
x se debe implementar la propuesta 4 de la planta 2, la
cual, segn la tabla 1.5 tiene un costo de 4, con lo cual se tiene
1
x = 5 4
= 1, finalmente, la tabla 1.6 indica que para este valor de
1
x el
procedimiento ptimo es implementar la propuesta 2 de la planta 1.
Resumiendo la discusin anterior, se tiene como una solucin optima (2,
4, 1) . Un procedimiento anlogo permite encontrar otras dos soluciones
ptimas: (3, 2, 2) y (2, 3, 2), cada una de las cuales reporta ingresos de 17
millones.

Los dos ltimos ejemplos comunican la sensacin de que la P.D. consiste
en la resolucin de problemas que involucran var iables discretas y que
son susceptibles de una representacin tabular, los ejemplos que se
exponen a continuacin muestran que ese no es el hecho.

Ejemplo 1.5: (Problema de la subdivisin ptima)
El problema consiste en dividir una cantidad q, mayor que cero, en n
partes. El objetivo es determinar la subdivisin ptima de q que maximiza
el producto de las n partes.

18
Solucin del problema

Sea
i
x la i-sima parte de q ( i = 1, 2 , . . . , n ). Entonces el problema
puede expresarse de la siguiente forma
maximizar p =

n
i
i
x
1

sujeto a

n
i
i
x
1
= q,
i
x > 0 para toda i
Se hacen las siguientes definiciones:

1. La etapa i representa la i-sima parte de q.
2. El estado
i
y es la parte de q que se asigna a las etapas 1, 2, . . . , i.
Es evidente que, segn esta definicin, q y
n
.
3. La alternativa
i
x es la parte de q asignada a la etapa i.

Sea ) (
i i
y f el valor ptimo de la funcin objetivo para las etapas 1, 2, . . .
,i dado el estado
i
y y sea
*
i
x el
i
x asociado con ) (
i i
y f . Por lo tanto las
ecuaciones recursivas asumen la siguiente forma

) (
1 1
y f = } {
1
1 1
x mx
y x
(8)

) (
i i
y f = )} ( * {
1
1
i i i i
y x
x y f x mx
i

(9)

Para i=1 es evidente que ) (
1 1
y f = } {
1
1 1
x mx
y x
=
1
y y por lo tanto
*
1
x =
1
y .

Para i = 2 se debe calcular )} ( * {
2 2 1 2
2 2
x y f x mx
y x

pero como ) (
1 1
y f =
1
y
entonces se tiene
) (
2 2
y f = )} ( * {
2 2 2
2 2
x y x mx
y x

(10)
o
) (
2 2
y f = )} {
2
2 2 2
2 2
x y x mx
y x

(11)

para encontrar este mximo se acude al clculo elemental y se sigue el
conocido recurso de derivar e igualar a cero, como la ecuacin es de una
19
parbola que abre hacia abajo no deben realizarse ms clculos. Se define
la funcin h como:

) (
2
x h =
2
2 2 2
x y x (12)
entonces
) ( '
2
x h =
2 2
2x y (13)

se resuelve la ecuacin ) ( '
2
x h = 0 y se tiene

2 /
2
*
2
y x (14)

como consecuencia de esto se tiene que

2 /
2
*
1
y x (15)

que es la conocida solucin para el caso n = 2. De donde

) (
2 2
y f = 4 /
2
2
y (16)

Para i = 3 se debe calcular ) (
3 3
y f = )} ( * {
3 3 2 3
3 3
x y f x mx
y x

lo cual,
aplicando el resultado que se acaba de obtener para la etapa 2, es igual a

) (
3 3
y f = } 4 / ) ( * {
2
3 3 3
3 3
x y x mx
y x

(17)
o
) (
3 3
y f = } 4 / ) 2 {(
3
3
2
3 3 3
2
3
3 3
x x y x y mx
y x
+

(18)

Se define ) (
3
x h = 4 / ) 2 (
3
3
2
3 3 3
2
3
x x y x y + y se procede como en el caso
anterior:

) ( '
3
x h = 4 / ) 3 4 (
2
3 3 3
2
3
x x y y + = 0 (19)

factorizando y trasponiendo el 4

0 ) )( 3 (
3 3 3 3
x y x y (20)

20
Se tienen, en consecuencia, dos soluciones:
3
x
3
y /3 y
3
x
3
y . El
clculo de la segunda derivada permitir determinar la raz correcta
aunque el modelo ya insina que se trata de la primera.

) ( ' '
3
x h =(-4
3
y +6
3
x )/4 (21)
0 2 / ) 3 / ( ' '
3 3
< y y h (22)
0 2 / ) ( ' '
3 3
> y y h (23)

Estos resultados confirman la prediccin hecha. Se tiene el siguiente
conjunto de resultados:

*
3
x
3
y /3 (24)
) (
3 3
y f =
3
3
y /27 (25)

Los clculos realizados con i = 1, 2 y 3 insinan que para cada etapa i los
resultados siguen el siguiente patrn:

i y x
i i
/
*
(26)
i
i i i
i y y f ) / ( ) ( (27)

Se recurrir a la induccin matemtica para demostrar este hecho. Para i =
1 ya se tiene el resultado. Supngase que se cumple para i y calclese
para i + 1.

) (
1 1 + + i i
y f = )} ( * {
1 1 1
11 1
+ + +


+ +
i i i i
y x
x y f x mx
i
(28)

que aplicando la hiptesis de induccin se transforma en

) (
1 1 + + i i
y f = } ) / ) (( * {
1 1 1
11 1
i
i i i
y x
i x y x mx
i
+ + +

+ +
(29)
definiendo
i
i i i i
i x y x x h ) / ) (( * ) (
1 1 1 1 + + + +
(30)

y haciendo los respectivos clculos

0 ) / ) (( ) / ) (( ) ( '
1
1 1 1 1 1 1


+ + + + + +
i
i i i
i
i i i
i x y x i x y x h (31)

21
factorizando

0 ) / ) (( ) / ) ((
1 1 1
1
1 1

+ + +

+ + i i i
i
i i
x i x y i x y (32)

el modelo permite descartar la posibilidad
1 1 + +

i i
y x en consecuencia
solo es necesario resolver

0 / ) (
1 1 1

+ + + i i i
x i x y (33)

que da como resultado

) 1 /(
1
*
1
+
+ +
i y x
i i
(34)

con lo cual se tiene

) (
1 1 + + i i
y f =
1
1
1
1
1
1
1
*
1
+
+
+
+
+

,
_

,
_

+
i
i
i
i
i
i
i
y
i
i
y
y
i
y
(35)

con lo cual finaliza la demostracin. Este resultado permite pasar
directamente a la evaluacin de la etapa n.

Para i = n se tiene
n q n y x
n n
/ /
*
(36)

q
n
n
y
n
n
n y y x y y
n n n n n n
) 1 ( ) 1 (
/
1

(37)

la frmula i y x
i i
/
*
permite concluir que n q n y x
n n
/ ) 1 /(
1
*
1


y por
lo tanto

q
n
n
n
q
q
n
n
x y y
n n n
) 2 ( 1
1 1 2



(38)
22
de donde, aplicando la misma frmula

n q x
n
/
*
2

(39)
esto permite calcular
q
n
n
n
q
q
n
n
x y y
n n n
3 2
*
2 2 3



(40)

Continuando estos clculos se ve que n q x
i
/
*
para todo i =1,2, . . . ,n y
con esto se concluye el producto mximo es

n
n q ) / (

lo cual confirma el resultado anticipado por la frmula (27).




La utilizacin del clculo en la solucin de este ejemplo muestra que la
tcnica de la P.D. se limita a la descomposicin en etapas pero no dice
nada acerca de la forma como se optimiza el problema en cada etapa.
Refirindose a esta caracterstica de la P.D. en la pgina 533 de [Hil02]
aparece la siguiente afirmacin: La P.D. se trata de un enfoque de tipo
general para la solucin de problemas y las ecuaciones especficas que
se usan se deben desarrollar para que representen cada situacin
individual. Entonces, se necesita cierto grado de creatividad y un buen
conocimiento de la estructura general de los problemas de P.D. para
reconocer cuando y como se puede resolver un problema por medio de
estos procedimientos.


Solucin de problemas de Programacin lineal


El problema

maximizar
p p
x c x c x c z + + + ...
2 2 1 1

Nota: este ejemplo se encuentra resuelto en la pgina 425 de [Tah95] siguiendo un


procedimiento de retroceso, el procedimiento de avance, seguido aqu, simplifica los
clculos.

23
sujeto a
m p mp m m
p p
p p
b x a x a x a
b x a x a x a
b x a x a x a
+ + +
+ + +
+ + +
...
...
...
2 2 1 1
2 2 2 22 1 21
1 1 2 12 1 11


0 ,..., ,
2 1

p
x x x

puede formularse como un problema de P.D. Cada actividad j (j = 1, 2, . .
. ,p) se considera como una etapa. El nivel de actividad
j
x ( 0 )
representa la alternativa en la etapa j. Como en el ejemplo anterior, al
tratarse de variables continuas, cada etapa posee un nmero infinito de
alternativas dentro del espacio factible. Los estados pueden definirse
como las cantidades de recursos que se asignan a la etapa actual y a las
anteriores. Una diferencia con los problemas resueltos hasta el momento
radica en el hecho de que al existir m recursos los estados deben
representarse con un vector de m dimensiones.

Sean ) ,..., , (
2 1 mj j j
v v v los estados del sistema en la etapa j, o sea, las
cantidades de los recursos 1, 2, . . . , m, asignadas a las etapas 1, 2, . . . , j.
Sea
j
f ) ,..., , (
2 1 mj j j
v v v el valor ptimo de la funcin objetivo para las
etapas 1, 2, . . . ,j dados los estados
mj j j
v v v ,..., ,
2 1
. Por lo tanto
1
f ) ,..., , (
1 21 11 m
v v v =
m i
v x a
i i
mx
,..., 2 , 1
0
1 1 1


{
1 1
x c } (41)

j
f ) ,..., , (
2 1 mj j j
v v v =
m i
v x a
ij j ij
mx
,..., 2 , 1
0


{ ) ,..., (
1 1 1 1 mj mj mj j j j j j j
x a v x a v f x c +

},
j = 2, 3, . . . ,p (42)

donde
i ij
b v 0 para todas i y j.

Ejemplo 1.6: (Problema de Programacin Lineal)
Resolver
maximizar
2 1
16 20 x x z +

24
sujeto a
105 3 5
2 1
+ x x
70 4 2
2 1
+ x x
0 ,
2 1
x x


Solucin del problema

A partir de (41) se tiene
} 20 { ) , (
1
2 0
5 0
21 11 1
21 1
11 1
x mx v v f
v x
v x



Como
11 1
5 v x y
21 1
2 v x se concluye que

'

2
,
5
21 11
1
v v
mn x pero
como se trata de maximizar se tiene

'

2
,
5
21 11
1
v v
mn x y por lo tanto
) , (
12 11 1
v v f 20

'

2
,
5
21 11
v v
mn (43)

Resta hacer los clculos de la segunda etapa:

2
f ) , (
22 12
v v =

'

'

+


2
4
,
5
3
20 16
2 22 2 21
2
4 0
3 0
22 2
12 2
x v x v
mn x mx
v x
v x
(44)

pero se tiene 105
12
v y 70
22
v , entonces, 105 3
2
x y 70 4
2
x lo
cual equivale a 2 / 35
2
x . Se tiene

2
f ) , (
22 12
v v =

'

'

+

2
4 70
,
5
3 105
20 16
2 2
2
2 / 35 0
2
x x
mn x mx
x
(45)
Para 0= 2 / 35
2
x es necesario resolver
2
4 70
5
3 105
2 2
x x

que tiene
como solucin 10
2
x . Con lo cual se tiene

25
2
f ) , (
22 12
v v =

'

'

+
2 / 35 10
2
4 70
10 0
5
3 105
20 16
2
2
2
2
2
x
x
x
x
x mx (46)
o de forma equivalente

2
f ) , (
22 12
v v =

'


+
2 / 35 10 24 700
10 0 4 420
2 2
2 2
x x
x x
mx (47)

En el intervalo [0,10] la funcin es creciente y por lo tanto tiene su
mximo en 10
2
x con un valor de 460; en [10,35/2] la funcin es
decreciente de donde el mximo est tambin en 10
2
x y tiene el mismo
valor, de donde se concluye que en [0,35] el mximo se localiza en
10
2
x y tiene un valor de 460.
Para obtener
1
x se tiene en cuenta que:

75 30 105 3
2 12 11
x v v
y
30 40 70 4
2 22 21
x v v

pero como

'

2
,
5
21 11
1
v v
mn x entonces 15
1
x .


Una leve variacin a procedimiento anterior permite resolver problemas
de Programacin Lineal entera, esto se ilustra en el siguiente ejemplo.


Ejemplo 1.7: (Problema de Programacin Lineal Entera)

Resolver

maximizar
2 1
7 8 x x z +

26
sujeto a
8 2
2 1
+ x x
15 2 5
2 1
+ x x
2 1
, x x enteros no negativos

Solucin del problema


entero x x mx v v f
v x
v x
1 1
5 0
2 0
21 11 1
} 8 { ) , (
21 1
11 1




Como
11 1
2 v x y
21 1
5 v x se concluye que

'

5
,
2
21 11
1
v v
mn x adems
tratndose de un problema de maximizacin con valores enteros se tiene
1
]
1

'

5
,
2
21 11
1
v v
mn x (donde
]
x representa la parte entera de x) y por lo
tanto
) , (
12 11 1
v v f 8
1
]
1

'

5
,
2
21 11
v v
mn (48)

Dado que 8
12
v y 15
22
v para la etapa 2 se tiene:

2
f ) , (
22 12
v v =

'

1
]
1

'

+


5
2 15
,
2
8
8 7
2 2
2
15 2 0
8 0
2
2
x x
mn x mx
x
x
(49)

las desigualdades 8
2
x y 15 2
2
x equivalen a 7
2
x , entonces para
este rango resolvemos la desigualdad
5
2 15
2
8
2 2
x x

que tiene como


solucin 10
2
x por lo tanto se tiene


2
f ) , (
22 12
v v =

'

1
]
1


+

5
2 15
8 7
2
2
7 0
2
x
x mx
x
(50)


La tabla 1.9 permite encontrar la solucin de (50)
27
2
x


1
]
1


+
5
2 15
8 7
2
2
x
x
0 24
1 23
2 30
3 29
4 36
5 43
6 42
7 49
Tabla 1.8

se ve que el mximo se consigue con
2
x =7 y que tiene un valor de 49.
Como

1
x =
1
]
1

'

5
2 15
,
2
8
2 2
x x
mn entonces
1
x = 0
5
1
,
2
1

1
]
1

'

mn .


Un procedimiento similar al seguido en los dos ejemplos anteriores sirve
tambin para resolver algunos problemas de programacin no lineal como
se ver en el siguiente ejemplo.


Ejemplo 1.8: (Problema de Programacin no Lineal)

Resolver el problema de Programacin no Lineal:

maximizar
2
2 1
2
1
5 6 7 x x x z + +
sujeto a
0 ,
9 3
10 2
2 1
2 1
2 1


+
x x
x x
x x


28
Solucin del problema


} 6 7 { ) , (
1
2
1
0
0
21 11 1
21 1
11 1
x x mx v v f
v x
v x
+


(51)

entonces { }
21 11 1
,v v mn x . Sea
1
2
1 1
6 7 ) ( x x x h + entonces

6 14 ) ( '
1 1
+ x x h (52)
se resuelve la desigualdad 0 ) ( '
1
x h y se obtiene
7
3
1
x como 0
1
x
entonces la funcin h es creciente en el rango de inters y por lo tanto

{ }
21 11
*
1
, v v mn x (53)
y
*
1
2 *
1 21 11 1
6 7 ) , ( x x v v f + (54)

Para la etapa 2 se tiene

2
f ) , (
22 12
v v = { }
2 2 1
2
2
9 3
10 2 0
3 9 , 2 10 ( 5
2
2
x x f x mx
x
x
+ +


(55)

se tiene entonces, que
2
x est en el rango [0,5] y sobre l debe
optimizarse. Se resuelve la desigualdad
2 2
2 10 3 9 x x + y se obtiene
5 / 1
2
x con lo cual (55) se transforma en

2
f ) , (
22 12
v v =

'

+ + + +
+ + + +
5 5 / 1 ) 10 2 ( 6 ) 10 2 ( 7 5
5 / 1 0 ) 9 3 ( 6 ) 9 3 ( 7 5
2 2
2
2
2
2
2 2
2
2
2
2
x x x x
x x x x
mx
(56)

que simplificado queda

2
f ) , (
22 12
v v =

'

+
+ +
5 5 / 1 760 292 33
5 / 1 0 621 396 68
2 2
2
2
2 2
2
2
x x x
x x x
mx (57)

29
para resolver esta optimizacin se definen

621 396 68 ) (
2
2
2 2
+ + x x x h y 760 292 33 ) (
2
2
2 2
+ x x x g
entonces
396 136 ) ( '
2 2
+ x x h y 292 66 ) (
2 2
x x g

resolviendo 0 ) ( '
2
x h y 0 ) ( '
2
x g se obtiene

34
99
2
x y
33
146
2
x = 4.42

con lo cual, en los intervalos que nos ocupan se tiene que h(x) es creciente
en [0,1/5] y g(x) tiene un mnimo dentro de [1/5,5] por lo tanto h(x) tiene
mximo en 1/5 y lo tiene en alguno de los extremos de [1/5,5], se calculan
entonces:

h (1/5) = 702.92
g(1/5) = 702.92
g(5) = 125

de lo cual se concluye que 5 / 1
*
2
x = 0.2 y
2
f ) , (
22 12
v v = 702.92 y como

{ }
2 2
*
1
3 9 , 2 10 x x mn x +
entonces
{ } 6 . 9 , 6 . 9
*
1
mn x = 9.6.

Este problema de programacin no lineal tambin puede ser resuelto por
un mtodo grfico que sigue la misma idea que el empleado en
programacin lineal. La grfica 1 ilustra el procedimiento.

30

Grfica 1.

La parte sombreada corresponde a la regin factible. Tambin se ha
graficado la funcin objetivo con diferentes valores para z. Es evidente
que al aumentar z el grfico de la funcin objetivo crece alejndose del
centro y que su ltimo punto de contacto con la regin factible coincide
con la interseccin de las rectas que corresponden a las restricciones del
problema, en consecuencia el punto solucin se halla resolviendo el
sistema de ecuaciones que determinan las rectas:

3
9
2
10
1 1

x x

que tiene como solucin
6 . 9
1
x
de donde
2 . 0
2
x

que coincide con la solucin encontrada empleando P.D. La sencillez de
este mtodo parece contradecir la definicin de P.D. dada al comienzo,
ms adelante se harn algunas conclusiones al respecto de esta
observacin.

31
Comparacin entre los mtodos basados en ecuaciones
recursivas de avance y los basados en ecuaciones recursivas de
retroceso


Un aspecto importante de la P.D. es la diferencia en el grado de dificultad
que se presenta al resolver un problema empleando ecuaciones recursivas
de avance o de retroceso. En este trabajo se ha optado por las primeras y
se ha indicado adems, para algunos ejemplos, la bibliografa en la cual se
pueden consultar las soluciones que emplean ecuaciones recursivas de
retroceso. La razn de ello radica en que en la mayora de los libros se
sigue un enfoque contrario, por lo cual se ha querido llamar la atencin
sobre la otra cara de la moneda. En algunos casos, como en los ejemplos
tratados hasta ahora, el grado de dificultad es igual para ambos enfoques,
sin embargo este no es siempre el caso, como se ilustra con el siguiente
ejemplo.

Ejemplo 1.9:
Al comienzo del ao 0 un campesino posee k ovejas. Al final de cada ao
decide cuntas debe vender y cuantas conservar. La ganancia obtenida por
la venta de una oveja en el ao i es
i
p . Las ovejas que conserve
duplicarn su nmero en el transcurso del ao. El campesino vender
todas sus ovejas al cabo de n aos.

Para el ao j se considerarn las siguientes variables:

j
x : = nmero de ovejas conservadas
j
y : = nmero de ovejas vendidas
j j j
y x z +

La grfica 2 ilustra la situacin planteada


Grfica 2.
32

Se tiene
k x z 2 2
0 1

n j x z
j j
,..., 2 , 1 2
1




Ecuacin recursiva de retroceso:

} { ) (
2
n n
k z y
n n
y p mx z f
n
n n


]} [ 2 ( { ) (
1
2
j j j j j
k z y
j j
y z f y p mx z f
j
j j
+
+

, j = 1,2, . . . ,n-1

Ecuacin recursiva de avance:

} { ) (
1 1
2
1 1
1 1
y p mx x f
x k y


}
2
( { ) (
1
2 / ) (
2
j j
j j j
entero y x
x k y
j j
y x
f y p mx x f
j j
j
j
j
+
+

+

, j = 2, 3,. . . ,n


Al comparar las formulaciones se ve que el mtodo de avance incluye una
condicin de integridad lo que constituye una dificultad adicional que no
est presente en el mtodo de retroceso.



El ejemplo anterior ilustra que en algunos casos puede resultar
conveniente preferir un mtodo al otro en pro de la simplificacin de los
clculos.




Nota: el ejemplo de las ovejas tiene ms un propsito pedaggico que uno prctico,
pues se trata de un caso en el cual la solucin se encuentra determinando el mejor
momento para vender las ovejas y venderlas todas en ese instante, para ello se determina
el mayor
i
i
p 2 . En caso de presentarse un empate existirn soluciones alternativas a la
venta de todas las ovejas en un instante dado, pero la ganancia ser la misma. Por lo
tanto atacar este problema con el enfoque de P.D. resultara sumamente imprctico.
33
Conclusin


Las tcnicas de P.D. nos han permitido resolver, entre otros, problemas de
Programacin Lineal, de Programacin Lineal Entera, de Programacin
No Lineal etc. Esto no quiere decir que la P.D. constituya una panacea
para la solucin de los problemas de todos estos campos, por dos razones:
en primer lugar, porque las tcnicas de P.D. son aplicables nicamente a
un conjunto reducido de problemas en cada campo. Y en segundo lugar
porque, aunque la tcnica sea aplicable, al resolver problemas grandes (de
Programacin Lineal por ejemplo) el nmero de evaluaciones de todas las
alternativas crece de forma exagerada (este problema se conoce como la
plaga de la dimensionalidad) lo cual hace que este enfoque sea
imprctico. Sin embargo, el propsito buscado al resolver este tipo de
problemas no ha sido proponer una alternativa a los mtodos estndar de
solucin de tales campos (como el mtodo smplex en el caso de la
Programacin Lineal) sino sencillamente poner en evidencia la
versatilidad propia de la P.D.

Por otra parte, cuando enfrenta problemas propios de su campo la P.D.
aporta una marco de procedimiento que ayuda a disminuir enormemente
el exceso de trabajo ocasionado por la redundancia en los clculos a la
vez que estimula la creatividad al dejar espacios en blanco que deben ser
llenados al resolver cada caso en particular.

Debe emplearse la P.D. cuando la forma del problema permita dividirlo
en subproblemas que tengan la misma estructura del problema original.
Tambin es importante tener en cuenta que el tamao de los clculos
tenga proporciones razonables.








34
Bibliografa





1. [Hil02] Hillier Frederick, Investigacin de Operaciones,
Mxico, D.F.: McGraw-Hill (2002).


2. [Tah95] Taha Hamdy, Investigacin de Operaciones, Mxico,
D.F.: Alfaomega (1995).

3. [Pra00] Prawda Juan, Mtodos y modelos de Investigacin de
Operaciones, Mxico, D.F.: Limusa (2000).

You might also like