SlideShare a Scribd company logo
1 of 34
Download to read offline
Conceptos y ejemplos básicos de
Programación Dinámica
Wilson Julián Rodríguez Rojas
julianrodriguez1212@hotmail.com
Trabajo de Grado para Optar por el Título de Matemático
Director: Pervys Rengifo Rengifo
Ingeniero Universidad Nacional de Colombia
Fundación Universitaria Konrad Lorenz
Facultad de Matemáticas
Bogotá D.C.
2005
2
Introducción......................................................................................................................4
Programación dinámica...................................................................................................5
Ejemplos de funciones recursivas....................................................................................6
Ejemplo 1.1:...................................................................................................................6
Ejemplo 1.2:...................................................................................................................6
Ejemplos de Programación Dinámica.............................................................................7
Ejemplo 1.3 (El problema de la diligencia).....................................................................7
Teorema de optimalidad...............................................................................................12
Ejemplo 1.4: (Problema de la distribución de la inversión)...........................................13
Ejemplo 1.5: (Proble ma de la subdivisión óptima)........................................................17
Ejemplo 1.6: (Problema de Programación Lineal)........................................................23
Ejemplo 1.7: (Problema de Programación Lineal Entera)............................................25
Ejemplo 1.8: (Problema de Programación no Lineal)...................................................27
Comparación entre los métodos basados en ecuaciones recursivas de
avance y los basados en ecuaciones recursivas de retroceso........................................31
Ejemplo 1.9:.................................................................................................................31
Conclusión......................................................................................................................33
Bibliografía.....................................................................................................................33
3
Resumen
Se presentan algunos resultados de la teoría matemática de Programación
Dinámica y se exponen ejemplos que muestran la gran versatilidad de la
técnica. También se muestra un esquema de demostración 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
Introducción
El presente trabajo comprende la exposición de la teoría y algunos
ejemplos de Programación Dinámica (P.D.). La P.D. está comprendida
dentro de un conjunto de técnicas matemáticas que a su vez forman parte
de un área más amplia, conocida como Investigación de Operaciones.
Esta última puede definirse como una ciencia interdisciplinaria que tiene
por objeto la búsqueda de estrategias que permitan obtener resultados
óptimos en el desarrollo de actividades por parte de sistemas hombre-
máquina (estos sistemas pueden estar formados exclusivamente por
hombres, por máquinas o por una combinación de los dos). Como se verá
más 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 podría decirse que tienen una
estructura “fractal”). Para este propósito, el método consiste en dividir el
problema en etapas, resolver la primera de estas, utilizar esta solución
para resolver la etapa siguiente y continuar así sucesivamente hasta
encontrar la solución del problema en su totalidad.
Son características 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 solución (ya
mencionado arriba) dejando al ingenio de quien resuelva el problema la
construcción del modelo matemático para realizar la optimización de cada
caso en particular. En este sentido el trabajo en P.D. está más en relación
directa con la labor del matemático que del ingeniero, pues este último no
necesita comprender la base teórica en la cual descansa el procedimiento,
sino únicamente conocer el algoritmo propio del problema particular que
pretende resolver.
Para lograr la comprensión de la técnica el trabajo se ha estructurado
sobre ejemplos que ilustran la versatilidad de la P.D., con este fín se
presentan soluciones de problemas propios del trabajo en Programación
Lineal, Programación Lineal Entera, Programación No Lineal etc. El
objetivo es más presentar la potencia de la P.D. que proponerla como la
panacea de los métodos de Investigación de Operaciones, pues también se
verá que aunque funciona, en ocasiones la técnica puede resultar
impractica al momento de resolver problemas de cierta envergadura.
5
Programación dinámica
Las características propias de la Programación Dinámica (PD) como son:
el no tener un tipo específico de problemas sobre el cual operar, el carecer
de un algoritmo estándar de solución , etc.,hacen que exista una gran
dificultad en el momento de intentar dar una definición de ella. Sin
embargo, para comenzar, se debe tener alguna definición que, aunque
parcial e incompleta, sirva para ir demarcando el terreno al que se
circunscribirá este trabajo.
Definición 1.0: La programación dinámica es un procedimiento
matemático diseñado principalmente para mejorar la eficiencia de
cálculo de problemas de programación matemática seleccionados,
descomponiéndolos en subproblemas de menor tamaño y por
consiguiente mas fáciles de calcular. La PD normalmente resuelve el
problema en etapas. Los cálculos en las diferentes etapas se enlazan a
través de cálculos recursivos de manera que se genere una solución
óptima factible a todo el problema. ∗
Para ayudar a aclarar algunos conceptos presentes en la definición
anterior y en el trabajo posterior se dan las siguientes definiciones:
Definición 1.1 (Máximo): sea { } nkka ,...,3,2,1=
una sucesión finita, se dice
que ma es el máximo de { } nkka ,...,3,2,1=
si km aa ≥ para nk ,...,3,2,1= .
Definición 1.2 (Mínimo): sea { } nkka ,...,3,2,1=
una sucesión finita, se dice
que ma es el mínimo de { } nkka ,...,3,2,1=
si km aa ≤ para nk ,...,3,2,1= .
Definición 1.3 (Función Recursiva): Sea SNf →: , donde N es el
conjunto de los números naturales y S cualquier conjunto, a F se le
denomina una sucesión en S, y se denota ( ) nsnf = , donde ns se
denomina el n-ésimo elemento de la sucesión. A una función se le llama
función de recurrencia si es una sucesión donde el n-ésimo elemento se
∗
Tomado de [Tah95]
6
obtiene a partir de un elemento o varios elementos anteriores de la
sucesión.
Ejemplos de funciones recursivas
Ejemplo 1.1:
Interés Compuesto
Supóngase que se consigna $100 en una cuenta que produce un
rendimiento del 5% mensual. ¿Cuál será el monto 4 meses mas tarde?.
Se define
=iM monto en el i-ésimo mes.
Y entonces se tiene
1000 =M
111 05.105.0* −−− =+= iiii MMMM i = 1,2, . . .
a la pareja ( )10 05.1,100 −== ii MMM , se le llama fórmula 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.053
*100) = 1.05 4
*100 = 121.55
Ejemplo 1.2:
La sucesión de Fibonaccise define según la fórmula recursiva:
10 =s
11 =s
21 −− += nnn sss 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 Programación Dinámica
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 terminología 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 póliza
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 situación.
Los números en los arcos indican el costo de la póliza que cubre el viaje
entre las dos ciudades, por ejemplo, la póliza del viaje entre A y C tiene
un costo de 3. El conductor supone que la ruta más segura es aquella para
la cual la suma total de los costos de las pólizas sea mínima.
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
Solución del problema
En primer lugar debemos notar que la estrategia de escoger, en cada
etapa, la ruta con el costo mínimo no conduce a la solución óptima, pues
al seguir esta táctica se obtiene la ruta A→B→F →I →J la cual tiene un
costo total de 13. Sin embargo un pequeño sacrificio en una etapa puede
conducir a mejores resultados más adelante. Para este caso tenemos que
A →D →F ofrece un mejor resultado que A→B→F.
Un procedimiento que sí conduce a encontrar la solución óptima es la
enumeración exhaustiva de todas las posibilidades, las cuales en este caso
son: 3x3x2 = 18. Se procedería de la siguiente manera:
Ruta 1. A→B→E →H →J costo total 13
Ruta 2. A→B→E →I →J costo total 17
Μ
Ruta 18. A→D→G →I→J costo total 15
Recuérdese que la definición de PD habla de mejorar la eficiencia de
cálculo y por lo tanto, se observa que la enumeración 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 A→B →E y a su
aporte al costo total, que en este caso es de 9. Un procedimiento más
eficiente “guarda” este resultado intermedio para evitar la redundancia en
los cálculos, este es precisamente el enfoque de la PD para este tipo de
problemas.
En primer lugar debe notarse que cualquiera que sea la solución 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
más hasta llegar a la primera y con ello a la solución del problema. Sin
embargo, antes de comenzar a resolver el problema se introducirán
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 nx (n = 1,2,3) las variables de decisión que representan la ciudad por
la cual deberá pasar la diligencia en la etapa n. Por ejemplo, el conjunto
de valores que puede tomar 2x es { E, F, G }, los elementos de este
9
conjunto se denominan estados de la etapa 2. Entonces la ruta
seleccionada es A→x1 → x2 → x3 →J.
Sea ),( 1−nn xsf el costo total de la mejor política global para las etapas
anteriores, dado que la diligencia se encuentra en la ciudad s y acaba de
llegar de 1−nx .
Dados s y n, sea *
1−nx el valor de 1−nx (no necesariamente único) que
minimiza ),( 1−nn xsf , y sea )(*
sfn el valor mínimo correspondiente
de ),( 1−nn xsf . Entonces
)(*
sfn = mín
n
x
),( 1−nn xsf = ),( *
1−nn xsf (1)
en donde
),( 1−nn xsf = costo inmediato (etapa n) + costo mínimo etapas 1,2, . . ., n-
1
en otras palabras
),( 1−nn xsf =
1−nsx
C + ),( *
1−nn xsf (2)
Con la notación introducida se tiene que el objetivo es encontrar )(*
4 Jf .
Si alguna de estas definiciones no ha logrado ser entendida
completamente esto deberá lograrse viendo el proceso de solución, el cual
extrae la información de la figura 1.1 y de las tablas que se vayan
generando:
Para n = 1, 0x = A y no existen opciones de caminos para },,{ DCBs∈
por lo tanto se tienen únicamente soluciones óptimas
10
s )(*
1 sf *
0x
B 2 A
C 4 A
D 3 A
Tabla 1.1
Para n = 2 se tiene, por ejemplo:
)(),( *
12 1
BfcBEf EB += = 7+2 = 9
esta ecuación tiene el siguiente significado: el costo mínimo para llegar a
E desde A pasando por B es igual al costo de ir de B a E ( EBc ) – este dato
aparece en la figura 1.1-más el costo mínimo del viaje de A hasta B
( )(*
1 Bf ) -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 mínimo para ir de A a E es de
7 ( )(*
2 Ef ) y se consigue llegando a E desde C o D ( *
1x ), 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 atención se
centra en la lógica que sigue la construcción y lectura de las tablas.
)(),( 1
*
112 1
xfcxsf sx +=1x
s B C D )(*
2 sf *
1x
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
*
223 2
xfcxsf sx +=2x
s E F G )(*
3 sf *
2x
H 8 10 11 8 E
I 11 7 11 7 F
Tabla 1.3
Y finalmente para n=4
)(),( 3
*
334 3
xfcxsf sx +=2x
s H I )(*
4 sf *
3x
J 11 11 11 H o I
Tabla 1.4
De la tabla 1.4 se concluye que el costo mínimo 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 través de E. A su vez la
tabla 1.2 informa que existen rutas óptimas que llegan a E a través 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 través de A (trivial). Con la
información anterior se concluye que una ruta óptima es
A →C→E →H →J
Análisis similares arrojan las siguientes rutas óptimas alternativas
A →D→E →H→J
A →D→F → I →J
Obviamente todas tienen un costo total de 11.∗
∗
Nota: este mismo ejemplo se encuentra resuelto en la página 533 de [Hil02] siguiendo
un procedimiento conocido como de retroceso, el cual consiste en atacar el problema de
adelante hacia atrás. Sin embargo, se ha considerado que el procedimiento de avance,
seguido aquí, es mas intuitivo. Más adelante se discutirán las ventajas de cada uno.
12
Teorema de optimalidad
El ejemplo 1.3 también permite ambientar la discusión de la base
fundamental de la PD que es el llamado Teorema (o principio) de
optimalidad, cuyo enunciado es el siguiente: Una política óptima solo
puede estar formada por subpolíticas óptimas. En esencia lo que significa
es que las diferentes restricciones de la solución al problema total
(política óptima) a cada uno de los subproblemas (subpolítica) es
también solución óptima de dicho subproblema. Acudiendo al ejemplo, se
tiene que la ruta A →C →E →H→J es una política óptima y que
C →E→H es una subpolítica de A→C →E →H →J. Lo que afirma el
teorema es que, en estas condiciones, C →E →H es a su vez subpolítica
óptima, o sea, que es solución óptima del subproblema que surge al
considerar como punto inicial C y como destino H. La justificación es
intuitiva: supóngase que la afirmación es falsa, existirá entonces un nodo
X tal que C→X →H es mejor que C→E→H, pero de ello surge una
contradicción, pues en ese caso se tendría que A →C →X →H→J sería
mejor que A→C→E →H →J con lo cual esta última no sería política
óptima.
Con esto se tiene una motivación, no a una demostración, sino a un
esquema de demostración del principio de optimalidad. Consiste en una
generalización de lo discutido en el párrafo anterior: sea x1, x2, . . . ,xk, . . .
,xk+r, . . . ., xn una sucesión de soluciones óptimas a los subproblemas en
los cuales se ha dividido uno mayor o, en otras palabras, una solución
óptima del problema general. Supóngase además que xk, . . . ,xk+r no
constituyen una solución optima al subproblema restringido que las posee
como variables de decisión, entonces deben existir x’k, . . . ,x’k+r tales que
constituyen una solución óptima del mencionado subproblema, con lo
cual se tendría que x1, x2, . . . ,x’k, . . . ,x’k+r, . . . ., xn sería una solución
mejor que x1, x2, . . . ,xk, . . . ,xk+r, . . . ., xn y esto contradice el hecho de
que esta última sea una solución óptima. Este esquema debe ser adaptado
para que constituya una demostración 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 empeño por adquirir el
dominio total de las características del modelo matemático particular que
se pretende aplicar.
13
Como ya se dijo, el ejemplo 1.3 fue creado con el propósito de introducir
los elementos y la terminología propios de la P.D. Se tienen entonces las
siguientes características:
1. El problema se puede dividir en etapas que requieren una política
de decisión en cada una de ellas. Esta es quizá la principal
característica de los problemas de P.D. y se verá que la esencia de
la solución será identificar las etapas, en algunos ejemplos, como
el anterior, estas serán evidentes, sin embargo, se verán 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 solución está diseñado para encontrar una
política ó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 decisión inmediata óptima depende sólo del estado actual y no
de cómo se llegó ahí. En el ejemplo anterior, esta afirmación 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 solución emplea una relación recursiva que
identifica la política óptima para la etapa n, dada la política óptima
para la etapa n-1. Para el caso del ejemplo anterior esta relación
tenía la forma:
),( 1−nn xsf =
1−nsx
C + ),( *
1−nn xsf (3)
Con la ayuda de estas nuevas herramientas conceptuales se atacará otro
problema típico de la P.D.
Ejemplo 1.4: (Problema de la distribución de la inversión)
Una corporación recibe propuestas de sus tres plantas respecto a la
posible expansión de las instalaciones. La corporación tiene un
presupuesto de 5 millones de dólares 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 dólares). 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 decisión 1x , 2x y 3x se
definen de la siguiente manera:
1x = monto de capital asignado a la planta 1.
2x = monto de capital asignado a las plantas 1 y 2.
3x = monto de capital asignado a las plantas 1, 2 y 3.
Una solución 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 solución tendría un costo de 1 + 3 + 0 = 4 millones
y produciría un ingreso de 5 + 9 + 0 = 15 millones. Existen solucione no
factibles como (3, 4, 2) pues tiene un costo de 7 millones.
Solución del problema
Como 1x corresponde al monto que se asignará a la planta 1, se deben
considerar todas las posibilidades desde hacer 1x = 0 lo que significaría
emplear los $5 millones en las otras dos plantas, hasta hacer 1x = 5 en
cuyo caso se asignaría la totalidad de los recursos a la planta 1 (Este
último caso, evidentemente, no corresponde a una solución óptima, pues
la máxima cantidad que puede aprovechar la planta 1 es $2 millones). Se
recurre a la siguiente notación:
)( nn PR = ingreso de la propuesta nP en la etapa n.
)( nn xf = rendimiento óptimo de las etapas 1, 2, . . . , ndado el estado nx .
15
*
jP = propuesta óptima asociada a )( nn xf
Por lo tanto se tiene
)( 11 xf =
1Pfactibles
propuestas
máx { )( 11 PR } (4)
en esta ecuación se relacionan dos variables diferentes: por un lado 1x ,
que como ya se dijo corresponde a la cantidad asignada a la planta 1, y
por otro lado 1P que representa la propuesta que se elige de las
presentadas por la planta 1. Dependiendo del valor de 1x no todas las
propuestas son factibles, por ejemplo para 1x = 1 la propuesta 1P = 3 no
es factible pues tiene un costo de 2. La tabla 1.6 resume la relación de
todos los posibles valores de 1x con todos los posibles valores de 1P , los
asteriscos representan la no factibilidad de algunos casos.
n=1
)( 11 PR
1x
1P = 1 1P = 2 1P = 3 )( 11 xf *
1P
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 política óptima que debe seguirse para
cada uno de los posibles valores de 1x . Puede parecer redundante en su
construcción pues para cada estado la propuesta más alta que puede
cubrirse es la que genera el mayor ingreso, sin embargo, como ocurre en
la realidad, no siempre la mayor inversión genera el más alto beneficio.
Ahora se define la parte faltante de la ecuación recursiva y que
corresponde a las etapas 2, 3, . . .
16
)( nn xf =
Pnfactibles
propuestas
máx { )( nn PR + )( 11 −− nn xf } (5)
pero como )( nn xf es función de nx exclusivamente, el lado derecho
también debe serlo, esto se consigue teniendo en cuenta que
)(1 nnnn PCxx −=− (6)
donde )( nn PC es el costo de la propuesta nP en la etapa n. Esta ecuación
ilustra la forma en que opera el procedimiento recursivo: de un dado nx se
asigna una parte ( )( nn PC ) para cubrir la propuesta nP de la etapa n y la
cantidad restante ( )(1 nnnn PCxx −=− ) se destina a cubrir las propuestas
de las etapas 1,2, . . . ,n-1. Se tiene, entonces:
)( nn xf =
Pnfactibles
propuestas
máx { )( nn PR + ))((1 nnnn PCxf −−
} n = 2,3, . . . (7)
tabulando para n=2
)( 22 PR + ))(( 2221 PCxf −
2x
2P = 1 2P = 2 2P = 3 2P = 4 )( 22 xf *
2P
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 solución total del
problema restringido a las dos primeras etapas, esto es, si el problema
total se limitara a las plantas 1 y 2, ya estaría resuelto, pues en la fila
correspondiente a 2x = 5 vemos que se obtiene una ganancia máxima 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 1x = 5 – 4 = 1 y para 1x = 1
la tabla 1.6 nos dice que se debe seguir la propuesta 2 de la planta 1. Se
17
tendría entonces la solución 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
inversión sino, únicamente, el caso 3x =5.
)( 33 PR + ))(( 3332 PCxf −
3x
3P = 1 3P = 2 )( 33 xf *
3P
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 máximo 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, según la tabla 1.5
tiene un costo de 0 se tiene 2x = 5 – 0 = 5, y en la tabla 1.7 se ve que para
este valor de 2x se debe implementar la propuesta 4 de la planta 2, la
cual, según la tabla 1.5 tiene un costo de 4, con lo cual se tiene 1x = 5 – 4
= 1, finalmente, la tabla 1.6 indica que para este valor de 1x el
procedimiento óptimo es implementar la propuesta 2 de la planta 1.
Resumiendo la discusión anterior, se tiene como una solución optima (2,
4, 1) . Un procedimiento análogo 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 sensación de que la P.D. consiste
en la resolución de problemas que involucran variables discretas y que
son susceptibles de una representación tabular, los ejemplos que se
exponen a continuación muestran que ese no es el hecho.
Ejemplo 1.5: (Problema de la subdivisión óptima)
El problema consiste en dividir una cantidad q, mayor que cero, en n
partes. El objetivo es determinar la subdivisión óptima de q que maximiza
el producto de las n partes.
18
Solución del problema
Sea ix la i-ésima parte de q ( i = 1, 2 , . . . , n ). Entonces el problema
puede expresarse de la siguiente forma
maximizar p = ∏=
n
i
ix
1
sujeto a ∑=
n
i
ix
1
= q, ix > 0 para toda i
Se hacen las siguientes definiciones:
1. La etapa i representa la i-ésima parte de q.
2. El estado iy es la parte de q que se asigna a las etapas 1, 2, . . . , i.
Es evidente que, según esta definición, qyn = .
3. La alternativa ix es la parte de q asignada a la etapa i.
Sea )( ii yf el valor óptimo de la función objetivo para las etapas 1, 2, . . .
,i dado el estado iy y sea *
ix el ix asociado con )( ii yf . Por lo tanto las
ecuaciones recursivas asumen la siguiente forma
)( 11 yf = }{ 1
11
xmáx
yx ≤
(8)
)( ii yf = )}(*{ 1
1
iiii
yx
xyfxmáx
i
−−
≤
(9)
Para i=1 es evidente que )( 11 yf = }{ 1
11
xmáx
yx ≤
= 1y y por lo tanto *
1x = 1y .
Para i = 2 se debe calcular )}(*{ 2212
22
xyfxmáx
yx
−
≤
pero como )( 11 yf = 1y
entonces se tiene
)( 22 yf = )}(*{ 222
22
xyxmáx
yx
−
≤
(10)
o
)( 22 yf = )}{ 2
222
22
xyxmáx
yx
−
≤
(11)
para encontrar este máximo se acude al cálculo elemental y se sigue el
conocido recurso de derivar e igualar a cero, como la ecuación es de una
19
parábola que abre hacia abajo no deben realizarse más cálculos. Se define
la función h como:
)( 2xh = 2
222 xyx − (12)
entonces
)(' 2xh = 22 2xy − (13)
se resuelve la ecuación )(' 2xh = 0 y se tiene
2/2
*
2 yx = (14)
como consecuencia de esto se tiene que
2/2
*
1 yx = (15)
que es la conocida solución para el caso n = 2. De donde
)( 22 yf = 4/2
2y (16)
Para i = 3 se debe calcular )( 33 yf = )}(*{ 3323
33
xyfxmáx
yx
−
≤
lo cual,
aplicando el resultado que se acaba de obtener para la etapa 2, es igual a
)( 33 yf = }4/)(*{ 2
333
33
xyxmáx
yx
−
≤
(17)
o
)( 33 yf = }4/)2{( 3
3
2
333
2
3
33
xxyxymáx
yx
+−
≤
(18)
Se define )( 3xh = 4/)2( 3
3
2
333
2
3 xxyxy +− y se procede como en el caso
anterior:
)(' 3xh = 4/)34( 2
333
2
3 xxyy +− = 0 (19)
factorizando y trasponiendo el 4
0))(3( 3333 =−− xyxy (20)
20
Se tienen, en consecuencia, dos soluciones: =3x 3y /3 y =3x 3y . El
cálculo de la segunda derivada permitirá determinar la raíz correcta
aunque el modelo ya insinúa que se trata de la primera.
)('' 3xh =(-4 3y +6 3x )/4 (21)
02/)3/('' 33 <−= yyh (22)
02/)('' 33 >= yyh (23)
Estos resultados confirman la predicción hecha. Se tiene el siguiente
conjunto de resultados:
=*
3x 3y /3 (24)
)( 33 yf = 3
3y /27 (25)
Los cálculos realizados con i = 1, 2 y 3 insinúan que para cada etapa i los
resultados siguen el siguiente patrón:
iyx ii /*
= (26)
i
iii iyyf )/()( = (27)
Se recurrirá a la inducción matemática para demostrar este hecho. Para i =
1 ya se tiene el resultado. Supóngase que se cumple para i y calcúlese
para i + 1.
)( 11 ++ ii yf = )}(*{ 111
111
+++
≤
−
++
iiii
yx
xyfxmáx
i
(28)
que aplicando la hipótesis de inducción se transforma en
)( 11 ++ ii yf = })/)((*{ 111
111
i
iii
yx
ixyxmáx
i
+++
≤
−
++
(29)
definiendo
i
iiii ixyxxh )/)((*)( 1111 ++++ −= (30)
y haciendo los respectivos cálculos
0)/)(()/)(()(' 1
111111 =−−−= −
++++++
i
iii
i
iii ixyxixyxh (31)
21
factorizando
0)/)(()/)(( 111
1
11 =−−− +++
−
++ iii
i
ii xixyixy (32)
el modelo permite descartar la posibilidad 11 ++ = ii yx en consecuencia
solo es necesario resolver
0/)( 111 =−− +++ iii xixy (33)
que da como resultado
)1/(1
*
1 += ++ iyx ii (34)
con lo cual se tiene
)( 11 ++ ii yf =
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 demostración. Este resultado permite pasar
directamente a la evaluación de la etapa n.
Para i = n se tiene
nqnyx nn //*
== (36)
q
n
n
y
n
n
nyyxyy nnnnnn
)1()1(
/1
−
=
−
=−=−=− (37)
la fórmula iyx ii /*
= permite concluir que nqnyx nn /)1/(1
*
1 =−= −− y por
lo tanto
q
n
n
n
q
q
n
n
xyy nnn
)2(1
112
−
=−
−
=−= −−− (38)
22
de donde, aplicando la misma fórmula
nqxn /*
2 =−
(39)
esto permite calcular
q
n
n
n
q
q
n
n
xyy nnn
32*
223
−
=−
−
=−= −−− (40)
Continuando estos cálculos se ve que nqxi /*
= para todo i =1,2, . . . ,n y
con esto se concluye el producto máximo es
n
nq )/(
lo cual confirma el resultado anticipado por la fórmula (27).∗
La utilización del cálculo en la solución de este ejemplo muestra que la
técnica de la P.D. se limita a la descomposición en etapas pero no dice
nada acerca de la forma como se optimiza el problema en cada etapa.
Refiriéndose a esta característica de la P.D. en la página 533 de [Hil02]
aparece la siguiente afirmación: “La P.D. se trata de un enfoque de tipo
general para la solución de problemas y las ecuaciones específicas que
se usan se deben desarrollar para que representen cada situación
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”.
Solución de problemas de Programación lineal
El problema
maximizar pp xcxcxcz +++= ...2211
∗
Nota: este ejemplo se encuentra resuelto en la página 425 de [Tah95] siguiendo un
procedimiento de retroceso, el procedimiento de avance, seguido aquí, simplifica los
cálculos.
23
sujeto a
mpmpmm
pp
pp
bxaxaxa
bxaxaxa
bxaxaxa
≤+++
≤+++
≤+++
...
...
...
2211
22222121
11212111
ΜΛΜΛΛΛΜΛΛΛΜΛΛΛΜ
0,...,, 21 ≥pxxx
puede formularse como un problema de P.D. Cada actividad j (j = 1, 2, . .
. ,p) se considera como una etapa. El nivel de actividad jx ( ≥ 0 )
representa la alternativa en la etapa j. Como en el ejemplo anterior, al
tratarse de variables continuas, cada etapa posee un número 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 ),...,,( 21 mjjj vvv 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 jf ),...,,( 21 mjjj vvv el valor óptimo de la función objetivo para las
etapas 1, 2, . . . ,j dados los estados mjjj vvv ,...,, 21
. Por lo tanto
1f ),...,,( 12111 mvvv =
mi
vxa ii
máx
,...,2,1
0 111
=
≤≤
{ 11xc } (41)
jf ),...,,( 21 mjjj vvv =
mi
vxa ijjij
máx
,...,2,1
0
=
≤≤
{ ),...,( 1111 mjmjmjjjjjjj xavxavfxc −−+ − },
j = 2, 3, . . . ,p (42)
donde iij bv ≤≤0 para todas i y j.
Ejemplo 1.6: (Problema de Programación Lineal)
Resolver
maximizar 21 1620 xxz +=
24
sujeto a
10535 21 ≤+ xx
7042 21 ≤+ xx
0, 21 ≥xx
Solución del problema
A partir de (41) se tiene
}20{),( 1
20
50
21111
211
111
xmáxvvf
vx
vx
≤≤
≤≤
=
Como 1115 vx ≤ y 2112 vx ≤ se concluye que






≤
2
,
5
2111
1
vv
mínx pero
como se trata de maximizar se tiene






=
2
,
5
2111
1
vv
mínx y por lo tanto
=),( 12111 vvf 20






2
,
5
2111 vv
mín (43)
Resta hacer los cálculos de la segunda etapa:
2f ),( 2212 vv =











 −−
+
≤≤
≤≤ 2
4
,
5
3
2016 222221
2
40
30
222
122
xvxv
mínxmáx
vx
vx
(44)
pero se tiene 10512 =v y 7022 =v , entonces, 1053 2 ≤x y 704 2 ≤x lo
cual equivale a 2/352 ≤x . Se tiene
2f ),( 2212 vv =











 −−
+
≤≤ 2
470
,
5
3105
2016 22
2
2/350 2
xx
mínxmáx
x
(45)
Para 0= 2/352 ≤x es necesario resolver
2
470
5
3105 22 xx −
≤
−
que tiene
como solución 102 ≤x . Con lo cual se tiene
25
2f ),( 2212 vv =


















≤≤
−
≤≤
−
+
2/3510
2
470
100
5
3105
2016
2
2
2
2
2
x
x
x
x
xmáx (46)
o de forma equivalente
2f ),( 2212 vv =






≤≤−
≤≤+
2/351024700
1004420
22
22
xx
xx
máx (47)
En el intervalo [0,10] la función es creciente y por lo tanto tiene su
máximo en 102 =x con un valor de 460; en [10,35/2] la función es
decreciente de donde el máximo está también en 102 =x y tiene el mismo
valor, de donde se concluye que en [0,35] el máximo se localiza en
102 =x y tiene un valor de 460.
Para obtener 1x se tiene en cuenta que:
75301053 21211 =−=−= xvv
y
3040704 22221 =−=−= xvv
pero como






=
2
,
5
2111
1
vv
mínx entonces 151 =x .
Una leve variación a procedimiento anterior permite resolver problemas
de Programación Lineal entera, esto se ilustra en el siguiente ejemplo.
Ejemplo 1.7: (Problema de Programación Lineal Entera)
Resolver
maximizar 21 78 xxz +=
26
sujeto a
82 21 ≤+ xx
1525 21 ≤+ xx
21, xx enteros no negativos
Solución del problema
enteroxxmáxvvf
vx
vx
11
50
20
21111 }8{),(
211
111
≤≤
≤≤
=
Como 1112 vx ≤ y 2115 vx ≤ se concluye que






≤
5
,
2
2111
1
vv
mínx además
tratándose de un problema de maximización con valores enteros se tiene












=
5
,
2
2111
1
vv
mínx (donde  x representa la parte entera de x) y por lo
tanto
=),( 12111 vvf 8 











5
,
2
2111 vv
mín (48)
Dado que 812 =v y 1522 =v para la etapa 2 se tiene:
2f ),( 2212 vv =

















 −−
+
≤≤
≤≤ 5
215
,
2
8
87 22
2
1520
80
2
2
xx
mínxmáx
x
x
(49)
las desigualdades 82 ≤x y 152 2 ≤x equivalen a 72 ≤x , entonces para
este rango resolvemos la desigualdad
5
215
2
8 22 xx −
≤
−
que tiene como
solución 102 ≥x por lo tanto se tiene
2f ),( 2212 vv =









 −
+
≤≤ 5
215
87 2
2
70 2
x
xmáx
x
(50)
La tabla 1.9 permite encontrar la solución de (50)
27
2x 




 −
+
5
215
87 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 máximo se consigue con 2x =7 y que tiene un valor de 49.
Como
1x = 










 −−
5
215
,
2
8 22 xx
mín entonces 1x = 0
5
1
,
2
1
=











mín .
Un procedimiento similar al seguido en los dos ejemplos anteriores sirve
también para resolver algunos problemas de programación no lineal como
se verá en el siguiente ejemplo.
Ejemplo 1.8: (Problema de Programación no Lineal)
Resolver el problema de Programación no Lineal:
maximizar 2
21
2
1 567 xxxz ++=
sujeto a
0,
93
102
21
21
21
≥
≤−
≤+
xx
xx
xx
28
Solución del problema
}67{),( 1
2
1
0
0
21111
211
111
xxmáxvvf
vx
vx
+=
≤≤
≤≤
(51)
entonces { }21111 ,vvmínx ≤ . Sea 1
2
11 67)( xxxh += entonces
614)(' 11 += xxh (52)
se resuelve la desigualdad 0)(' 1 ≥xh y se obtiene
7
3
1 −≥x como 01 ≥x
entonces la función h es creciente en el rango de interés y por lo tanto
{ }2111
*
1 ,vvmínx = (53)
y
*
1
2*
121111 67),( xxvvf += (54)
Para la etapa 2 se tiene
2f ),( 2212 vv = { }221
2
2
93
1020
39,210(5
2
2
xxfxmáx
x
x
+−+
≤−
≤≤
(55)
se tiene entonces, que 2x está en el rango [0,5] y sobre él debe
optimizarse. Se resuelve la desigualdad 22 21039 xx −≤+ y se obtiene
5/12 ≤x con lo cual (55) se transforma en
2f ),( 2212 vv =




≤≤+−++−+
≤≤++++
55/1)102(6)102(75
5/10)93(6)93(75
22
2
2
2
2
22
2
2
2
2
xxxx
xxxx
máx
(56)
que simplificado queda
2f ),( 2212 vv =




≤≤+−
≤≤++
55/176029233
5/1062139668
22
2
2
22
2
2
xxx
xxx
máx (57)
29
para resolver esta optimización se definen
62139668)( 2
2
22 ++= xxxh y 76029233)( 2
2
22 +−= xxxg
entonces
396136)(' 22 += xxh y 29266)( 22 −= xxg
resolviendo 0)(' 2 ≥xh y 0)(' 2 ≥xg 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 mínimo dentro de [1/5,5] por lo tanto h(x) tiene
máximo 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 2f ),( 2212 vv = 702.92 y como
{ }22
*
1 39,210 xxmínx +−=
entonces
{ }6.9,6.9*
1 mínx = = 9.6.
Este problema de programación no lineal también puede ser resuelto por
un método gráfico que sigue la misma idea que el empleado en
programación lineal. La gráfica 1 ilustra el procedimiento.
30
Gráfica 1.
La parte sombreada corresponde a la región factible. También se ha
graficado la función objetivo con diferentes valores para z. Es evidente
que al aumentar z el gráfico de la función objetivo “crece” alejándose del
centro y que su último punto de contacto con la región factible coincide
con la intersección de las rectas que corresponden a las restricciones del
problema, en consecuencia el punto solución se halla resolviendo el
sistema de ecuaciones que determinan las rectas:
3
9
2
10 11 −
=
− xx
que tiene como solución
6.91 =x
de donde
2.02 =x
que coincide con la solución encontrada empleando P.D. La sencillez de
este método parece contradecir la definición de P.D. dada al comienzo,
más adelante se harán algunas conclusiones al respecto de esta
observación.
31
Comparación entre los métodos 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 además, para algunos ejemplos, la bibliografía en la cual se
pueden consultar las soluciones que emplean ecuaciones recursivas de
retroceso. La razón de ello radica en que en la mayoría de los libros se
sigue un enfoque contrario, por lo cual se ha querido llamar la atención
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 año 0 un campesino posee k ovejas. Al final de cada año
decide cuántas debe vender y cuantas conservar. La ganancia obtenida por
la venta de una oveja en el año i es ip . Las ovejas que conserve
duplicarán su número en el transcurso del año. El campesino venderá
todas sus ovejas al cabo de n años.
Para el año j se considerarán las siguientes variables:
jx : = número de ovejas conservadas
jy : = número de ovejas vendidas
jjj yxz +=
La gráfica 2 ilustra la situación planteada
Gráfica 2.
32
Se tiene
kxz 22 01 ==
njxz jj ,...,2,12 1 == −
Ecuación recursiva de retroceso:
}{)(
2
nn
kzy
nn ypmáxzf n
nn ≤=
=
]}[2({)( 1
2
jjjjj
kzy
jj yzfypmáxzf j
jj
−+= +
≤≤
, j = 1,2, . . . ,n-1
Ecuación recursiva de avance:
}{)( 11
2
11
11
ypmáxxf
xky −=
=
}
2
({)( 1
2/)(
2
jj
jjj
enteroyx
xky
jj
yx
fypmáxxf
jj
j
j
j
+
+= −
+
−≤
, j = 2, 3,. . . ,n
Al comparar las formulaciones se ve que el método de avance incluye una
condición de integridad lo que constituye una dificultad adicional que no
está presente en el método de retroceso. ∗
El ejemplo anterior ilustra que en algunos casos puede resultar
conveniente preferir un método al otro en pro de la simplificación de los
cálculos.
∗
Nota: el ejemplo de las ovejas tiene más un propósito pedagógico que uno práctico,
pues se trata de un caso en el cual la solución se encuentra determinando el mejor
momento para vender las ovejas y venderlas todasen ese instante, para ello se determina
el mayor i
i
p2 . En caso de presentarse un empate existirán 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. resultaría sumamente impráctico.
33
Conclusión
Las técnicas de P.D. nos han permitido resolver, entre otros, problemas de
Programación Lineal, de Programación Lineal Entera, de Programación
No Lineal etc. Esto no quiere decir que la P.D. constituya una panacea
para la solución de los problemas de todos estos campos, por dos razones:
en primer lugar, porque las técnicas de P.D. son aplicables únicamente a
un conjunto reducido de problemas en cada campo. Y en segundo lugar
porque, aunque la técnica sea aplicable, al resolver problemas grandes (de
Programación Lineal por ejemplo) el número 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
impráctico. Sin embargo, el propósito buscado al resolver este tipo de
problemas no ha sido proponer una alternativa a los métodos estándar de
solución de tales campos (como el método símplex en el caso de la
Programación 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 cálculos 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.
También es importante tener en cuenta que el tamaño de los cálculos
tenga proporciones razonables.
34
Bibliografía
1. [Hil02] Hillier Frederick, Investigación de Operaciones,
México, D.F.: McGraw-Hill (2002).
2. [Tah95] Taha Hamdy, Investigación de Operaciones, México,
D.F.: Alfaomega (1995).
3. [Pra00] Prawda Juan, Métodos y modelos de Investigación de
Operaciones, México, D.F.: Limusa (2000).

More Related Content

What's hot

METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONESMETODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONESJuanMiguelCustodioMo
 
06 método simplex
06 método simplex06 método simplex
06 método simplexJulio Pari
 
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...ADRIANA NIETO
 
Problemas resueltos-cadenas-de-markov
Problemas resueltos-cadenas-de-markovProblemas resueltos-cadenas-de-markov
Problemas resueltos-cadenas-de-markovLaura Garzón
 
Flujo max 2
Flujo max 2Flujo max 2
Flujo max 2Macogi
 
Metodo modi-ejercicios
Metodo modi-ejerciciosMetodo modi-ejercicios
Metodo modi-ejerciciosRubí Parra
 
Programacion dinamica final
Programacion dinamica finalProgramacion dinamica final
Programacion dinamica finalWalter Toledo
 
5. probabilidad conjunta ejercicios resueltos
5. probabilidad conjunta   ejercicios resueltos5. probabilidad conjunta   ejercicios resueltos
5. probabilidad conjunta ejercicios resueltosfabebust
 
Diagrama de flujo_efectivo_ejercicios_
Diagrama de flujo_efectivo_ejercicios_Diagrama de flujo_efectivo_ejercicios_
Diagrama de flujo_efectivo_ejercicios_UTCH
 
programacion dinámica 1
programacion dinámica 1programacion dinámica 1
programacion dinámica 1Luis Leon
 
Distribuciones de probabilidad
Distribuciones de probabilidadDistribuciones de probabilidad
Distribuciones de probabilidadAlexitaMx
 
Problema del Transporte
Problema del TransporteProblema del Transporte
Problema del TransporteJose
 

What's hot (20)

METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONESMETODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
 
06 método simplex
06 método simplex06 método simplex
06 método simplex
 
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...
 
Solucionario de dennis g zill ecuaciones diferenciales
Solucionario de dennis g zill   ecuaciones diferencialesSolucionario de dennis g zill   ecuaciones diferenciales
Solucionario de dennis g zill ecuaciones diferenciales
 
Pl.inves operativa
Pl.inves operativaPl.inves operativa
Pl.inves operativa
 
Problemas resueltos-cadenas-de-markov
Problemas resueltos-cadenas-de-markovProblemas resueltos-cadenas-de-markov
Problemas resueltos-cadenas-de-markov
 
Flujo max 2
Flujo max 2Flujo max 2
Flujo max 2
 
Distribución Binomial Negativa y Geométrica
Distribución Binomial Negativa y GeométricaDistribución Binomial Negativa y Geométrica
Distribución Binomial Negativa y Geométrica
 
Metodo modi-ejercicios
Metodo modi-ejerciciosMetodo modi-ejercicios
Metodo modi-ejercicios
 
Programacion dinamica final
Programacion dinamica finalProgramacion dinamica final
Programacion dinamica final
 
5. probabilidad conjunta ejercicios resueltos
5. probabilidad conjunta   ejercicios resueltos5. probabilidad conjunta   ejercicios resueltos
5. probabilidad conjunta ejercicios resueltos
 
Trabajo de ope labo
Trabajo de ope laboTrabajo de ope labo
Trabajo de ope labo
 
Diagrama de flujo_efectivo_ejercicios_
Diagrama de flujo_efectivo_ejercicios_Diagrama de flujo_efectivo_ejercicios_
Diagrama de flujo_efectivo_ejercicios_
 
programacion dinámica 1
programacion dinámica 1programacion dinámica 1
programacion dinámica 1
 
Distribuciones de probabilidad
Distribuciones de probabilidadDistribuciones de probabilidad
Distribuciones de probabilidad
 
Probabilidades de estado estable
Probabilidades de estado estableProbabilidades de estado estable
Probabilidades de estado estable
 
Investigción de Operaciones: Programación Lineal
Investigción de Operaciones: Programación LinealInvestigción de Operaciones: Programación Lineal
Investigción de Operaciones: Programación Lineal
 
Método gráfico
Método gráficoMétodo gráfico
Método gráfico
 
Tarea 4 operativa luis
Tarea 4 operativa luisTarea 4 operativa luis
Tarea 4 operativa luis
 
Problema del Transporte
Problema del TransporteProblema del Transporte
Problema del Transporte
 

Viewers also liked

Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación DinámicaAngel Carreras
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámicaliisab04
 
Problema de asignación de programación dinámica
Problema de asignación de programación dinámicaProblema de asignación de programación dinámica
Problema de asignación de programación dinámicaLuis La Rosa Cavalcanti
 
solucionario Investigación de operaciones Hamdy a. Taha
 solucionario Investigación de operaciones Hamdy a. Taha solucionario Investigación de operaciones Hamdy a. Taha
solucionario Investigación de operaciones Hamdy a. Tahaangel05az
 
Reacción química - 1.Unidades y estequiometría - Ejercicio 11 Comprobación de...
Reacción química - 1.Unidades y estequiometría - Ejercicio 11 Comprobación de...Reacción química - 1.Unidades y estequiometría - Ejercicio 11 Comprobación de...
Reacción química - 1.Unidades y estequiometría - Ejercicio 11 Comprobación de...Triplenlace Química
 
Tarea programación dinámica
Tarea programación dinámicaTarea programación dinámica
Tarea programación dinámicaRafael Arenas
 
El problema del agente viajero resuelto por fuerza, programación dinámica y v...
El problema del agente viajero resuelto por fuerza, programación dinámica y v...El problema del agente viajero resuelto por fuerza, programación dinámica y v...
El problema del agente viajero resuelto por fuerza, programación dinámica y v...Luis Alfredo Moctezuma Pascual
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamicaNairolys Arsz
 
Plan de gestion tic
Plan de gestion ticPlan de gestion tic
Plan de gestion ticiesergioc
 
Trabajo colaborativo4 grupo_434206_203
Trabajo colaborativo4 grupo_434206_203Trabajo colaborativo4 grupo_434206_203
Trabajo colaborativo4 grupo_434206_203Jorge Andres
 
Comunidad on line socialbiblio 21nov2013
Comunidad on line socialbiblio 21nov2013Comunidad on line socialbiblio 21nov2013
Comunidad on line socialbiblio 21nov2013aceb_enfermeria
 
11 sems y precisión del aterrizaje de emergencia - anexo
11   sems y precisión del aterrizaje de emergencia - anexo11   sems y precisión del aterrizaje de emergencia - anexo
11 sems y precisión del aterrizaje de emergencia - anexoMiguel Cabral Martín
 

Viewers also liked (20)

Programación dinámica
Programación  dinámicaProgramación  dinámica
Programación dinámica
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Investigacion de operaciones taha opti3
Investigacion de operaciones   taha opti3Investigacion de operaciones   taha opti3
Investigacion de operaciones taha opti3
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Problema de asignación de programación dinámica
Problema de asignación de programación dinámicaProblema de asignación de programación dinámica
Problema de asignación de programación dinámica
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
solucionario Investigación de operaciones Hamdy a. Taha
 solucionario Investigación de operaciones Hamdy a. Taha solucionario Investigación de operaciones Hamdy a. Taha
solucionario Investigación de operaciones Hamdy a. Taha
 
Reacción química - 1.Unidades y estequiometría - Ejercicio 11 Comprobación de...
Reacción química - 1.Unidades y estequiometría - Ejercicio 11 Comprobación de...Reacción química - 1.Unidades y estequiometría - Ejercicio 11 Comprobación de...
Reacción química - 1.Unidades y estequiometría - Ejercicio 11 Comprobación de...
 
Tarea programación dinámica
Tarea programación dinámicaTarea programación dinámica
Tarea programación dinámica
 
El problema del agente viajero resuelto por fuerza, programación dinámica y v...
El problema del agente viajero resuelto por fuerza, programación dinámica y v...El problema del agente viajero resuelto por fuerza, programación dinámica y v...
El problema del agente viajero resuelto por fuerza, programación dinámica y v...
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Algoritmos c5-diap
Algoritmos c5-diapAlgoritmos c5-diap
Algoritmos c5-diap
 
Plan de gestion tic
Plan de gestion ticPlan de gestion tic
Plan de gestion tic
 
Trabajo colaborativo4 grupo_434206_203
Trabajo colaborativo4 grupo_434206_203Trabajo colaborativo4 grupo_434206_203
Trabajo colaborativo4 grupo_434206_203
 
Virus
VirusVirus
Virus
 
Proyecto de vida
Proyecto de vidaProyecto de vida
Proyecto de vida
 
Comunidad on line socialbiblio 21nov2013
Comunidad on line socialbiblio 21nov2013Comunidad on line socialbiblio 21nov2013
Comunidad on line socialbiblio 21nov2013
 
11 sems y precisión del aterrizaje de emergencia - anexo
11   sems y precisión del aterrizaje de emergencia - anexo11   sems y precisión del aterrizaje de emergencia - anexo
11 sems y precisión del aterrizaje de emergencia - anexo
 

Similar to Programacion dinamica

1.introduccion analisis
1.introduccion analisis1.introduccion analisis
1.introduccion analisisrjvillon
 
Trabajo programacion lineal
Trabajo  programacion  linealTrabajo  programacion  lineal
Trabajo programacion linealluis fernandez
 
Programación lineal y pert. do
Programación lineal y pert. doProgramación lineal y pert. do
Programación lineal y pert. doJohn Leyton
 
Diagramas de-flujo.
Diagramas de-flujo.Diagramas de-flujo.
Diagramas de-flujo.Uriel Lopez
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación DinámicaKimLinares
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación DinamicaRafael Brito
 
Trabajo escrito individual
Trabajo escrito individual Trabajo escrito individual
Trabajo escrito individual nmanaure
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamicaVINAYOCANDO13
 
Tema1 faa 16_17
Tema1 faa 16_17Tema1 faa 16_17
Tema1 faa 16_17alexray100
 
Presentación optimizacion de sistema
Presentación optimizacion de sistemaPresentación optimizacion de sistema
Presentación optimizacion de sistemaDiRossalez
 
INTRODUCCIÓN ADSI - PARTE 3
INTRODUCCIÓN ADSI - PARTE 3INTRODUCCIÓN ADSI - PARTE 3
INTRODUCCIÓN ADSI - PARTE 3thefasp10
 

Similar to Programacion dinamica (20)

Taller 2 aplicacion de derivadas
Taller 2 aplicacion de derivadasTaller 2 aplicacion de derivadas
Taller 2 aplicacion de derivadas
 
1.introduccion analisis
1.introduccion analisis1.introduccion analisis
1.introduccion analisis
 
Trabajo programacion lineal
Trabajo  programacion  linealTrabajo  programacion  lineal
Trabajo programacion lineal
 
Optimizacion
OptimizacionOptimizacion
Optimizacion
 
Ejercicios de Programación Matemática Aplicada
Ejercicios de Programación Matemática Aplicada Ejercicios de Programación Matemática Aplicada
Ejercicios de Programación Matemática Aplicada
 
_Algoritmos.ppt
_Algoritmos.ppt_Algoritmos.ppt
_Algoritmos.ppt
 
Programación lineal y pert. do
Programación lineal y pert. doProgramación lineal y pert. do
Programación lineal y pert. do
 
Diagramas de-flujo.
Diagramas de-flujo.Diagramas de-flujo.
Diagramas de-flujo.
 
Asignacion
AsignacionAsignacion
Asignacion
 
Proyecto final matemática 2 (INTEGRALES)
Proyecto final matemática 2 (INTEGRALES)Proyecto final matemática 2 (INTEGRALES)
Proyecto final matemática 2 (INTEGRALES)
 
Programacion
ProgramacionProgramacion
Programacion
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Vivi Reinoso
Vivi ReinosoVivi Reinoso
Vivi Reinoso
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación Dinamica
 
Trabajo escrito individual
Trabajo escrito individual Trabajo escrito individual
Trabajo escrito individual
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamica
 
Tema1 faa 16_17
Tema1 faa 16_17Tema1 faa 16_17
Tema1 faa 16_17
 
Presentación optimizacion de sistema
Presentación optimizacion de sistemaPresentación optimizacion de sistema
Presentación optimizacion de sistema
 
Algoritmo simplex-para-imprimir
Algoritmo simplex-para-imprimirAlgoritmo simplex-para-imprimir
Algoritmo simplex-para-imprimir
 
INTRODUCCIÓN ADSI - PARTE 3
INTRODUCCIÓN ADSI - PARTE 3INTRODUCCIÓN ADSI - PARTE 3
INTRODUCCIÓN ADSI - PARTE 3
 

Programacion dinamica

  • 1. Conceptos y ejemplos básicos de Programación Dinámica Wilson Julián Rodríguez Rojas julianrodriguez1212@hotmail.com Trabajo de Grado para Optar por el Título de Matemático Director: Pervys Rengifo Rengifo Ingeniero Universidad Nacional de Colombia Fundación Universitaria Konrad Lorenz Facultad de Matemáticas Bogotá D.C. 2005
  • 2. 2 Introducción......................................................................................................................4 Programación dinámica...................................................................................................5 Ejemplos de funciones recursivas....................................................................................6 Ejemplo 1.1:...................................................................................................................6 Ejemplo 1.2:...................................................................................................................6 Ejemplos de Programación Dinámica.............................................................................7 Ejemplo 1.3 (El problema de la diligencia).....................................................................7 Teorema de optimalidad...............................................................................................12 Ejemplo 1.4: (Problema de la distribución de la inversión)...........................................13 Ejemplo 1.5: (Proble ma de la subdivisión óptima)........................................................17 Ejemplo 1.6: (Problema de Programación Lineal)........................................................23 Ejemplo 1.7: (Problema de Programación Lineal Entera)............................................25 Ejemplo 1.8: (Problema de Programación no Lineal)...................................................27 Comparación entre los métodos basados en ecuaciones recursivas de avance y los basados en ecuaciones recursivas de retroceso........................................31 Ejemplo 1.9:.................................................................................................................31 Conclusión......................................................................................................................33 Bibliografía.....................................................................................................................33
  • 3. 3 Resumen Se presentan algunos resultados de la teoría matemática de Programación Dinámica y se exponen ejemplos que muestran la gran versatilidad de la técnica. También se muestra un esquema de demostración 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. 4 Introducción El presente trabajo comprende la exposición de la teoría y algunos ejemplos de Programación Dinámica (P.D.). La P.D. está comprendida dentro de un conjunto de técnicas matemáticas que a su vez forman parte de un área más amplia, conocida como Investigación de Operaciones. Esta última puede definirse como una ciencia interdisciplinaria que tiene por objeto la búsqueda de estrategias que permitan obtener resultados óptimos en el desarrollo de actividades por parte de sistemas hombre- máquina (estos sistemas pueden estar formados exclusivamente por hombres, por máquinas o por una combinación de los dos). Como se verá más 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 podría decirse que tienen una estructura “fractal”). Para este propósito, el método consiste en dividir el problema en etapas, resolver la primera de estas, utilizar esta solución para resolver la etapa siguiente y continuar así sucesivamente hasta encontrar la solución del problema en su totalidad. Son características 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 solución (ya mencionado arriba) dejando al ingenio de quien resuelva el problema la construcción del modelo matemático para realizar la optimización de cada caso en particular. En este sentido el trabajo en P.D. está más en relación directa con la labor del matemático que del ingeniero, pues este último no necesita comprender la base teórica en la cual descansa el procedimiento, sino únicamente conocer el algoritmo propio del problema particular que pretende resolver. Para lograr la comprensión de la técnica el trabajo se ha estructurado sobre ejemplos que ilustran la versatilidad de la P.D., con este fín se presentan soluciones de problemas propios del trabajo en Programación Lineal, Programación Lineal Entera, Programación No Lineal etc. El objetivo es más presentar la potencia de la P.D. que proponerla como la panacea de los métodos de Investigación de Operaciones, pues también se verá que aunque funciona, en ocasiones la técnica puede resultar impractica al momento de resolver problemas de cierta envergadura.
  • 5. 5 Programación dinámica Las características propias de la Programación Dinámica (PD) como son: el no tener un tipo específico de problemas sobre el cual operar, el carecer de un algoritmo estándar de solución , etc.,hacen que exista una gran dificultad en el momento de intentar dar una definición de ella. Sin embargo, para comenzar, se debe tener alguna definición que, aunque parcial e incompleta, sirva para ir demarcando el terreno al que se circunscribirá este trabajo. Definición 1.0: La programación dinámica es un procedimiento matemático diseñado principalmente para mejorar la eficiencia de cálculo de problemas de programación matemática seleccionados, descomponiéndolos en subproblemas de menor tamaño y por consiguiente mas fáciles de calcular. La PD normalmente resuelve el problema en etapas. Los cálculos en las diferentes etapas se enlazan a través de cálculos recursivos de manera que se genere una solución óptima factible a todo el problema. ∗ Para ayudar a aclarar algunos conceptos presentes en la definición anterior y en el trabajo posterior se dan las siguientes definiciones: Definición 1.1 (Máximo): sea { } nkka ,...,3,2,1= una sucesión finita, se dice que ma es el máximo de { } nkka ,...,3,2,1= si km aa ≥ para nk ,...,3,2,1= . Definición 1.2 (Mínimo): sea { } nkka ,...,3,2,1= una sucesión finita, se dice que ma es el mínimo de { } nkka ,...,3,2,1= si km aa ≤ para nk ,...,3,2,1= . Definición 1.3 (Función Recursiva): Sea SNf →: , donde N es el conjunto de los números naturales y S cualquier conjunto, a F se le denomina una sucesión en S, y se denota ( ) nsnf = , donde ns se denomina el n-ésimo elemento de la sucesión. A una función se le llama función de recurrencia si es una sucesión donde el n-ésimo elemento se ∗ Tomado de [Tah95]
  • 6. 6 obtiene a partir de un elemento o varios elementos anteriores de la sucesión. Ejemplos de funciones recursivas Ejemplo 1.1: Interés Compuesto Supóngase que se consigna $100 en una cuenta que produce un rendimiento del 5% mensual. ¿Cuál será el monto 4 meses mas tarde?. Se define =iM monto en el i-ésimo mes. Y entonces se tiene 1000 =M 111 05.105.0* −−− =+= iiii MMMM i = 1,2, . . . a la pareja ( )10 05.1,100 −== ii MMM , se le llama fórmula 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.053 *100) = 1.05 4 *100 = 121.55 Ejemplo 1.2: La sucesión de Fibonaccise define según la fórmula recursiva: 10 =s 11 =s 21 −− += nnn sss 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. 7 Ejemplos de Programación Dinámica 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 terminología 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 póliza 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 situación. Los números en los arcos indican el costo de la póliza que cubre el viaje entre las dos ciudades, por ejemplo, la póliza del viaje entre A y C tiene un costo de 3. El conductor supone que la ruta más segura es aquella para la cual la suma total de los costos de las pólizas sea mínima. 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. 8 Solución del problema En primer lugar debemos notar que la estrategia de escoger, en cada etapa, la ruta con el costo mínimo no conduce a la solución óptima, pues al seguir esta táctica se obtiene la ruta A→B→F →I →J la cual tiene un costo total de 13. Sin embargo un pequeño sacrificio en una etapa puede conducir a mejores resultados más adelante. Para este caso tenemos que A →D →F ofrece un mejor resultado que A→B→F. Un procedimiento que sí conduce a encontrar la solución óptima es la enumeración exhaustiva de todas las posibilidades, las cuales en este caso son: 3x3x2 = 18. Se procedería de la siguiente manera: Ruta 1. A→B→E →H →J costo total 13 Ruta 2. A→B→E →I →J costo total 17 Μ Ruta 18. A→D→G →I→J costo total 15 Recuérdese que la definición de PD habla de mejorar la eficiencia de cálculo y por lo tanto, se observa que la enumeración 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 A→B →E y a su aporte al costo total, que en este caso es de 9. Un procedimiento más eficiente “guarda” este resultado intermedio para evitar la redundancia en los cálculos, este es precisamente el enfoque de la PD para este tipo de problemas. En primer lugar debe notarse que cualquiera que sea la solución 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 más hasta llegar a la primera y con ello a la solución del problema. Sin embargo, antes de comenzar a resolver el problema se introducirán 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 nx (n = 1,2,3) las variables de decisión que representan la ciudad por la cual deberá pasar la diligencia en la etapa n. Por ejemplo, el conjunto de valores que puede tomar 2x es { E, F, G }, los elementos de este
  • 9. 9 conjunto se denominan estados de la etapa 2. Entonces la ruta seleccionada es A→x1 → x2 → x3 →J. Sea ),( 1−nn xsf el costo total de la mejor política global para las etapas anteriores, dado que la diligencia se encuentra en la ciudad s y acaba de llegar de 1−nx . Dados s y n, sea * 1−nx el valor de 1−nx (no necesariamente único) que minimiza ),( 1−nn xsf , y sea )(* sfn el valor mínimo correspondiente de ),( 1−nn xsf . Entonces )(* sfn = mín n x ),( 1−nn xsf = ),( * 1−nn xsf (1) en donde ),( 1−nn xsf = costo inmediato (etapa n) + costo mínimo etapas 1,2, . . ., n- 1 en otras palabras ),( 1−nn xsf = 1−nsx C + ),( * 1−nn xsf (2) Con la notación introducida se tiene que el objetivo es encontrar )(* 4 Jf . Si alguna de estas definiciones no ha logrado ser entendida completamente esto deberá lograrse viendo el proceso de solución, el cual extrae la información de la figura 1.1 y de las tablas que se vayan generando: Para n = 1, 0x = A y no existen opciones de caminos para },,{ DCBs∈ por lo tanto se tienen únicamente soluciones óptimas
  • 10. 10 s )(* 1 sf * 0x B 2 A C 4 A D 3 A Tabla 1.1 Para n = 2 se tiene, por ejemplo: )(),( * 12 1 BfcBEf EB += = 7+2 = 9 esta ecuación tiene el siguiente significado: el costo mínimo para llegar a E desde A pasando por B es igual al costo de ir de B a E ( EBc ) – este dato aparece en la figura 1.1-más el costo mínimo del viaje de A hasta B ( )(* 1 Bf ) -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 mínimo para ir de A a E es de 7 ( )(* 2 Ef ) y se consigue llegando a E desde C o D ( * 1x ), 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 atención se centra en la lógica que sigue la construcción y lectura de las tablas. )(),( 1 * 112 1 xfcxsf sx +=1x s B C D )(* 2 sf * 1x 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. 11 Para n=3 se tiene )(),( 2 * 223 2 xfcxsf sx +=2x s E F G )(* 3 sf * 2x H 8 10 11 8 E I 11 7 11 7 F Tabla 1.3 Y finalmente para n=4 )(),( 3 * 334 3 xfcxsf sx +=2x s H I )(* 4 sf * 3x J 11 11 11 H o I Tabla 1.4 De la tabla 1.4 se concluye que el costo mínimo 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 través de E. A su vez la tabla 1.2 informa que existen rutas óptimas que llegan a E a través 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 través de A (trivial). Con la información anterior se concluye que una ruta óptima es A →C→E →H →J Análisis similares arrojan las siguientes rutas óptimas alternativas A →D→E →H→J A →D→F → I →J Obviamente todas tienen un costo total de 11.∗ ∗ Nota: este mismo ejemplo se encuentra resuelto en la página 533 de [Hil02] siguiendo un procedimiento conocido como de retroceso, el cual consiste en atacar el problema de adelante hacia atrás. Sin embargo, se ha considerado que el procedimiento de avance, seguido aquí, es mas intuitivo. Más adelante se discutirán las ventajas de cada uno.
  • 12. 12 Teorema de optimalidad El ejemplo 1.3 también permite ambientar la discusión de la base fundamental de la PD que es el llamado Teorema (o principio) de optimalidad, cuyo enunciado es el siguiente: Una política óptima solo puede estar formada por subpolíticas óptimas. En esencia lo que significa es que las diferentes restricciones de la solución al problema total (política óptima) a cada uno de los subproblemas (subpolítica) es también solución óptima de dicho subproblema. Acudiendo al ejemplo, se tiene que la ruta A →C →E →H→J es una política óptima y que C →E→H es una subpolítica de A→C →E →H →J. Lo que afirma el teorema es que, en estas condiciones, C →E →H es a su vez subpolítica óptima, o sea, que es solución óptima del subproblema que surge al considerar como punto inicial C y como destino H. La justificación es intuitiva: supóngase que la afirmación es falsa, existirá entonces un nodo X tal que C→X →H es mejor que C→E→H, pero de ello surge una contradicción, pues en ese caso se tendría que A →C →X →H→J sería mejor que A→C→E →H →J con lo cual esta última no sería política óptima. Con esto se tiene una motivación, no a una demostración, sino a un esquema de demostración del principio de optimalidad. Consiste en una generalización de lo discutido en el párrafo anterior: sea x1, x2, . . . ,xk, . . . ,xk+r, . . . ., xn una sucesión de soluciones óptimas a los subproblemas en los cuales se ha dividido uno mayor o, en otras palabras, una solución óptima del problema general. Supóngase además que xk, . . . ,xk+r no constituyen una solución optima al subproblema restringido que las posee como variables de decisión, entonces deben existir x’k, . . . ,x’k+r tales que constituyen una solución óptima del mencionado subproblema, con lo cual se tendría que x1, x2, . . . ,x’k, . . . ,x’k+r, . . . ., xn sería una solución mejor que x1, x2, . . . ,xk, . . . ,xk+r, . . . ., xn y esto contradice el hecho de que esta última sea una solución óptima. Este esquema debe ser adaptado para que constituya una demostración 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 empeño por adquirir el dominio total de las características del modelo matemático particular que se pretende aplicar.
  • 13. 13 Como ya se dijo, el ejemplo 1.3 fue creado con el propósito de introducir los elementos y la terminología propios de la P.D. Se tienen entonces las siguientes características: 1. El problema se puede dividir en etapas que requieren una política de decisión en cada una de ellas. Esta es quizá la principal característica de los problemas de P.D. y se verá que la esencia de la solución será identificar las etapas, en algunos ejemplos, como el anterior, estas serán evidentes, sin embargo, se verán 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 solución está diseñado para encontrar una política ó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 decisión inmediata óptima depende sólo del estado actual y no de cómo se llegó ahí. En el ejemplo anterior, esta afirmación 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 solución emplea una relación recursiva que identifica la política óptima para la etapa n, dada la política óptima para la etapa n-1. Para el caso del ejemplo anterior esta relación tenía la forma: ),( 1−nn xsf = 1−nsx C + ),( * 1−nn xsf (3) Con la ayuda de estas nuevas herramientas conceptuales se atacará otro problema típico de la P.D. Ejemplo 1.4: (Problema de la distribución de la inversión) Una corporación recibe propuestas de sus tres plantas respecto a la posible expansión de las instalaciones. La corporación tiene un presupuesto de 5 millones de dólares 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 dólares). Las propuestas de costo cero
  • 14. 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 decisión 1x , 2x y 3x se definen de la siguiente manera: 1x = monto de capital asignado a la planta 1. 2x = monto de capital asignado a las plantas 1 y 2. 3x = monto de capital asignado a las plantas 1, 2 y 3. Una solución 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 solución tendría un costo de 1 + 3 + 0 = 4 millones y produciría un ingreso de 5 + 9 + 0 = 15 millones. Existen solucione no factibles como (3, 4, 2) pues tiene un costo de 7 millones. Solución del problema Como 1x corresponde al monto que se asignará a la planta 1, se deben considerar todas las posibilidades desde hacer 1x = 0 lo que significaría emplear los $5 millones en las otras dos plantas, hasta hacer 1x = 5 en cuyo caso se asignaría la totalidad de los recursos a la planta 1 (Este último caso, evidentemente, no corresponde a una solución óptima, pues la máxima cantidad que puede aprovechar la planta 1 es $2 millones). Se recurre a la siguiente notación: )( nn PR = ingreso de la propuesta nP en la etapa n. )( nn xf = rendimiento óptimo de las etapas 1, 2, . . . , ndado el estado nx .
  • 15. 15 * jP = propuesta óptima asociada a )( nn xf Por lo tanto se tiene )( 11 xf = 1Pfactibles propuestas máx { )( 11 PR } (4) en esta ecuación se relacionan dos variables diferentes: por un lado 1x , que como ya se dijo corresponde a la cantidad asignada a la planta 1, y por otro lado 1P que representa la propuesta que se elige de las presentadas por la planta 1. Dependiendo del valor de 1x no todas las propuestas son factibles, por ejemplo para 1x = 1 la propuesta 1P = 3 no es factible pues tiene un costo de 2. La tabla 1.6 resume la relación de todos los posibles valores de 1x con todos los posibles valores de 1P , los asteriscos representan la no factibilidad de algunos casos. n=1 )( 11 PR 1x 1P = 1 1P = 2 1P = 3 )( 11 xf * 1P 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 política óptima que debe seguirse para cada uno de los posibles valores de 1x . Puede parecer redundante en su construcción pues para cada estado la propuesta más alta que puede cubrirse es la que genera el mayor ingreso, sin embargo, como ocurre en la realidad, no siempre la mayor inversión genera el más alto beneficio. Ahora se define la parte faltante de la ecuación recursiva y que corresponde a las etapas 2, 3, . . .
  • 16. 16 )( nn xf = Pnfactibles propuestas máx { )( nn PR + )( 11 −− nn xf } (5) pero como )( nn xf es función de nx exclusivamente, el lado derecho también debe serlo, esto se consigue teniendo en cuenta que )(1 nnnn PCxx −=− (6) donde )( nn PC es el costo de la propuesta nP en la etapa n. Esta ecuación ilustra la forma en que opera el procedimiento recursivo: de un dado nx se asigna una parte ( )( nn PC ) para cubrir la propuesta nP de la etapa n y la cantidad restante ( )(1 nnnn PCxx −=− ) se destina a cubrir las propuestas de las etapas 1,2, . . . ,n-1. Se tiene, entonces: )( nn xf = Pnfactibles propuestas máx { )( nn PR + ))((1 nnnn PCxf −− } n = 2,3, . . . (7) tabulando para n=2 )( 22 PR + ))(( 2221 PCxf − 2x 2P = 1 2P = 2 2P = 3 2P = 4 )( 22 xf * 2P 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 solución total del problema restringido a las dos primeras etapas, esto es, si el problema total se limitara a las plantas 1 y 2, ya estaría resuelto, pues en la fila correspondiente a 2x = 5 vemos que se obtiene una ganancia máxima 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 1x = 5 – 4 = 1 y para 1x = 1 la tabla 1.6 nos dice que se debe seguir la propuesta 2 de la planta 1. Se
  • 17. 17 tendría entonces la solución 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 inversión sino, únicamente, el caso 3x =5. )( 33 PR + ))(( 3332 PCxf − 3x 3P = 1 3P = 2 )( 33 xf * 3P 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 máximo 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, según la tabla 1.5 tiene un costo de 0 se tiene 2x = 5 – 0 = 5, y en la tabla 1.7 se ve que para este valor de 2x se debe implementar la propuesta 4 de la planta 2, la cual, según la tabla 1.5 tiene un costo de 4, con lo cual se tiene 1x = 5 – 4 = 1, finalmente, la tabla 1.6 indica que para este valor de 1x el procedimiento óptimo es implementar la propuesta 2 de la planta 1. Resumiendo la discusión anterior, se tiene como una solución optima (2, 4, 1) . Un procedimiento análogo 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 sensación de que la P.D. consiste en la resolución de problemas que involucran variables discretas y que son susceptibles de una representación tabular, los ejemplos que se exponen a continuación muestran que ese no es el hecho. Ejemplo 1.5: (Problema de la subdivisión óptima) El problema consiste en dividir una cantidad q, mayor que cero, en n partes. El objetivo es determinar la subdivisión óptima de q que maximiza el producto de las n partes.
  • 18. 18 Solución del problema Sea ix la i-ésima parte de q ( i = 1, 2 , . . . , n ). Entonces el problema puede expresarse de la siguiente forma maximizar p = ∏= n i ix 1 sujeto a ∑= n i ix 1 = q, ix > 0 para toda i Se hacen las siguientes definiciones: 1. La etapa i representa la i-ésima parte de q. 2. El estado iy es la parte de q que se asigna a las etapas 1, 2, . . . , i. Es evidente que, según esta definición, qyn = . 3. La alternativa ix es la parte de q asignada a la etapa i. Sea )( ii yf el valor óptimo de la función objetivo para las etapas 1, 2, . . . ,i dado el estado iy y sea * ix el ix asociado con )( ii yf . Por lo tanto las ecuaciones recursivas asumen la siguiente forma )( 11 yf = }{ 1 11 xmáx yx ≤ (8) )( ii yf = )}(*{ 1 1 iiii yx xyfxmáx i −− ≤ (9) Para i=1 es evidente que )( 11 yf = }{ 1 11 xmáx yx ≤ = 1y y por lo tanto * 1x = 1y . Para i = 2 se debe calcular )}(*{ 2212 22 xyfxmáx yx − ≤ pero como )( 11 yf = 1y entonces se tiene )( 22 yf = )}(*{ 222 22 xyxmáx yx − ≤ (10) o )( 22 yf = )}{ 2 222 22 xyxmáx yx − ≤ (11) para encontrar este máximo se acude al cálculo elemental y se sigue el conocido recurso de derivar e igualar a cero, como la ecuación es de una
  • 19. 19 parábola que abre hacia abajo no deben realizarse más cálculos. Se define la función h como: )( 2xh = 2 222 xyx − (12) entonces )(' 2xh = 22 2xy − (13) se resuelve la ecuación )(' 2xh = 0 y se tiene 2/2 * 2 yx = (14) como consecuencia de esto se tiene que 2/2 * 1 yx = (15) que es la conocida solución para el caso n = 2. De donde )( 22 yf = 4/2 2y (16) Para i = 3 se debe calcular )( 33 yf = )}(*{ 3323 33 xyfxmáx yx − ≤ lo cual, aplicando el resultado que se acaba de obtener para la etapa 2, es igual a )( 33 yf = }4/)(*{ 2 333 33 xyxmáx yx − ≤ (17) o )( 33 yf = }4/)2{( 3 3 2 333 2 3 33 xxyxymáx yx +− ≤ (18) Se define )( 3xh = 4/)2( 3 3 2 333 2 3 xxyxy +− y se procede como en el caso anterior: )(' 3xh = 4/)34( 2 333 2 3 xxyy +− = 0 (19) factorizando y trasponiendo el 4 0))(3( 3333 =−− xyxy (20)
  • 20. 20 Se tienen, en consecuencia, dos soluciones: =3x 3y /3 y =3x 3y . El cálculo de la segunda derivada permitirá determinar la raíz correcta aunque el modelo ya insinúa que se trata de la primera. )('' 3xh =(-4 3y +6 3x )/4 (21) 02/)3/('' 33 <−= yyh (22) 02/)('' 33 >= yyh (23) Estos resultados confirman la predicción hecha. Se tiene el siguiente conjunto de resultados: =* 3x 3y /3 (24) )( 33 yf = 3 3y /27 (25) Los cálculos realizados con i = 1, 2 y 3 insinúan que para cada etapa i los resultados siguen el siguiente patrón: iyx ii /* = (26) i iii iyyf )/()( = (27) Se recurrirá a la inducción matemática para demostrar este hecho. Para i = 1 ya se tiene el resultado. Supóngase que se cumple para i y calcúlese para i + 1. )( 11 ++ ii yf = )}(*{ 111 111 +++ ≤ − ++ iiii yx xyfxmáx i (28) que aplicando la hipótesis de inducción se transforma en )( 11 ++ ii yf = })/)((*{ 111 111 i iii yx ixyxmáx i +++ ≤ − ++ (29) definiendo i iiii ixyxxh )/)((*)( 1111 ++++ −= (30) y haciendo los respectivos cálculos 0)/)(()/)(()(' 1 111111 =−−−= − ++++++ i iii i iii ixyxixyxh (31)
  • 21. 21 factorizando 0)/)(()/)(( 111 1 11 =−−− +++ − ++ iii i ii xixyixy (32) el modelo permite descartar la posibilidad 11 ++ = ii yx en consecuencia solo es necesario resolver 0/)( 111 =−− +++ iii xixy (33) que da como resultado )1/(1 * 1 += ++ iyx ii (34) con lo cual se tiene )( 11 ++ ii yf = 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 demostración. Este resultado permite pasar directamente a la evaluación de la etapa n. Para i = n se tiene nqnyx nn //* == (36) q n n y n n nyyxyy nnnnnn )1()1( /1 − = − =−=−=− (37) la fórmula iyx ii /* = permite concluir que nqnyx nn /)1/(1 * 1 =−= −− y por lo tanto q n n n q q n n xyy nnn )2(1 112 − =− − =−= −−− (38)
  • 22. 22 de donde, aplicando la misma fórmula nqxn /* 2 =− (39) esto permite calcular q n n n q q n n xyy nnn 32* 223 − =− − =−= −−− (40) Continuando estos cálculos se ve que nqxi /* = para todo i =1,2, . . . ,n y con esto se concluye el producto máximo es n nq )/( lo cual confirma el resultado anticipado por la fórmula (27).∗ La utilización del cálculo en la solución de este ejemplo muestra que la técnica de la P.D. se limita a la descomposición en etapas pero no dice nada acerca de la forma como se optimiza el problema en cada etapa. Refiriéndose a esta característica de la P.D. en la página 533 de [Hil02] aparece la siguiente afirmación: “La P.D. se trata de un enfoque de tipo general para la solución de problemas y las ecuaciones específicas que se usan se deben desarrollar para que representen cada situación 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”. Solución de problemas de Programación lineal El problema maximizar pp xcxcxcz +++= ...2211 ∗ Nota: este ejemplo se encuentra resuelto en la página 425 de [Tah95] siguiendo un procedimiento de retroceso, el procedimiento de avance, seguido aquí, simplifica los cálculos.
  • 23. 23 sujeto a mpmpmm pp pp bxaxaxa bxaxaxa bxaxaxa ≤+++ ≤+++ ≤+++ ... ... ... 2211 22222121 11212111 ΜΛΜΛΛΛΜΛΛΛΜΛΛΛΜ 0,...,, 21 ≥pxxx puede formularse como un problema de P.D. Cada actividad j (j = 1, 2, . . . ,p) se considera como una etapa. El nivel de actividad jx ( ≥ 0 ) representa la alternativa en la etapa j. Como en el ejemplo anterior, al tratarse de variables continuas, cada etapa posee un número 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 ),...,,( 21 mjjj vvv 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 jf ),...,,( 21 mjjj vvv el valor óptimo de la función objetivo para las etapas 1, 2, . . . ,j dados los estados mjjj vvv ,...,, 21 . Por lo tanto 1f ),...,,( 12111 mvvv = mi vxa ii máx ,...,2,1 0 111 = ≤≤ { 11xc } (41) jf ),...,,( 21 mjjj vvv = mi vxa ijjij máx ,...,2,1 0 = ≤≤ { ),...,( 1111 mjmjmjjjjjjj xavxavfxc −−+ − }, j = 2, 3, . . . ,p (42) donde iij bv ≤≤0 para todas i y j. Ejemplo 1.6: (Problema de Programación Lineal) Resolver maximizar 21 1620 xxz +=
  • 24. 24 sujeto a 10535 21 ≤+ xx 7042 21 ≤+ xx 0, 21 ≥xx Solución del problema A partir de (41) se tiene }20{),( 1 20 50 21111 211 111 xmáxvvf vx vx ≤≤ ≤≤ = Como 1115 vx ≤ y 2112 vx ≤ se concluye que       ≤ 2 , 5 2111 1 vv mínx pero como se trata de maximizar se tiene       = 2 , 5 2111 1 vv mínx y por lo tanto =),( 12111 vvf 20       2 , 5 2111 vv mín (43) Resta hacer los cálculos de la segunda etapa: 2f ),( 2212 vv =             −− + ≤≤ ≤≤ 2 4 , 5 3 2016 222221 2 40 30 222 122 xvxv mínxmáx vx vx (44) pero se tiene 10512 =v y 7022 =v , entonces, 1053 2 ≤x y 704 2 ≤x lo cual equivale a 2/352 ≤x . Se tiene 2f ),( 2212 vv =             −− + ≤≤ 2 470 , 5 3105 2016 22 2 2/350 2 xx mínxmáx x (45) Para 0= 2/352 ≤x es necesario resolver 2 470 5 3105 22 xx − ≤ − que tiene como solución 102 ≤x . Con lo cual se tiene
  • 25. 25 2f ),( 2212 vv =                   ≤≤ − ≤≤ − + 2/3510 2 470 100 5 3105 2016 2 2 2 2 2 x x x x xmáx (46) o de forma equivalente 2f ),( 2212 vv =       ≤≤− ≤≤+ 2/351024700 1004420 22 22 xx xx máx (47) En el intervalo [0,10] la función es creciente y por lo tanto tiene su máximo en 102 =x con un valor de 460; en [10,35/2] la función es decreciente de donde el máximo está también en 102 =x y tiene el mismo valor, de donde se concluye que en [0,35] el máximo se localiza en 102 =x y tiene un valor de 460. Para obtener 1x se tiene en cuenta que: 75301053 21211 =−=−= xvv y 3040704 22221 =−=−= xvv pero como       = 2 , 5 2111 1 vv mínx entonces 151 =x . Una leve variación a procedimiento anterior permite resolver problemas de Programación Lineal entera, esto se ilustra en el siguiente ejemplo. Ejemplo 1.7: (Problema de Programación Lineal Entera) Resolver maximizar 21 78 xxz +=
  • 26. 26 sujeto a 82 21 ≤+ xx 1525 21 ≤+ xx 21, xx enteros no negativos Solución del problema enteroxxmáxvvf vx vx 11 50 20 21111 }8{),( 211 111 ≤≤ ≤≤ = Como 1112 vx ≤ y 2115 vx ≤ se concluye que       ≤ 5 , 2 2111 1 vv mínx además tratándose de un problema de maximización con valores enteros se tiene             = 5 , 2 2111 1 vv mínx (donde  x representa la parte entera de x) y por lo tanto =),( 12111 vvf 8             5 , 2 2111 vv mín (48) Dado que 812 =v y 1522 =v para la etapa 2 se tiene: 2f ),( 2212 vv =                   −− + ≤≤ ≤≤ 5 215 , 2 8 87 22 2 1520 80 2 2 xx mínxmáx x x (49) las desigualdades 82 ≤x y 152 2 ≤x equivalen a 72 ≤x , entonces para este rango resolvemos la desigualdad 5 215 2 8 22 xx − ≤ − que tiene como solución 102 ≥x por lo tanto se tiene 2f ),( 2212 vv =           − + ≤≤ 5 215 87 2 2 70 2 x xmáx x (50) La tabla 1.9 permite encontrar la solución de (50)
  • 27. 27 2x       − + 5 215 87 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 máximo se consigue con 2x =7 y que tiene un valor de 49. Como 1x =             −− 5 215 , 2 8 22 xx mín entonces 1x = 0 5 1 , 2 1 =            mín . Un procedimiento similar al seguido en los dos ejemplos anteriores sirve también para resolver algunos problemas de programación no lineal como se verá en el siguiente ejemplo. Ejemplo 1.8: (Problema de Programación no Lineal) Resolver el problema de Programación no Lineal: maximizar 2 21 2 1 567 xxxz ++= sujeto a 0, 93 102 21 21 21 ≥ ≤− ≤+ xx xx xx
  • 28. 28 Solución del problema }67{),( 1 2 1 0 0 21111 211 111 xxmáxvvf vx vx += ≤≤ ≤≤ (51) entonces { }21111 ,vvmínx ≤ . Sea 1 2 11 67)( xxxh += entonces 614)(' 11 += xxh (52) se resuelve la desigualdad 0)(' 1 ≥xh y se obtiene 7 3 1 −≥x como 01 ≥x entonces la función h es creciente en el rango de interés y por lo tanto { }2111 * 1 ,vvmínx = (53) y * 1 2* 121111 67),( xxvvf += (54) Para la etapa 2 se tiene 2f ),( 2212 vv = { }221 2 2 93 1020 39,210(5 2 2 xxfxmáx x x +−+ ≤− ≤≤ (55) se tiene entonces, que 2x está en el rango [0,5] y sobre él debe optimizarse. Se resuelve la desigualdad 22 21039 xx −≤+ y se obtiene 5/12 ≤x con lo cual (55) se transforma en 2f ),( 2212 vv =     ≤≤+−++−+ ≤≤++++ 55/1)102(6)102(75 5/10)93(6)93(75 22 2 2 2 2 22 2 2 2 2 xxxx xxxx máx (56) que simplificado queda 2f ),( 2212 vv =     ≤≤+− ≤≤++ 55/176029233 5/1062139668 22 2 2 22 2 2 xxx xxx máx (57)
  • 29. 29 para resolver esta optimización se definen 62139668)( 2 2 22 ++= xxxh y 76029233)( 2 2 22 +−= xxxg entonces 396136)(' 22 += xxh y 29266)( 22 −= xxg resolviendo 0)(' 2 ≥xh y 0)(' 2 ≥xg 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 mínimo dentro de [1/5,5] por lo tanto h(x) tiene máximo 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 2f ),( 2212 vv = 702.92 y como { }22 * 1 39,210 xxmínx +−= entonces { }6.9,6.9* 1 mínx = = 9.6. Este problema de programación no lineal también puede ser resuelto por un método gráfico que sigue la misma idea que el empleado en programación lineal. La gráfica 1 ilustra el procedimiento.
  • 30. 30 Gráfica 1. La parte sombreada corresponde a la región factible. También se ha graficado la función objetivo con diferentes valores para z. Es evidente que al aumentar z el gráfico de la función objetivo “crece” alejándose del centro y que su último punto de contacto con la región factible coincide con la intersección de las rectas que corresponden a las restricciones del problema, en consecuencia el punto solución se halla resolviendo el sistema de ecuaciones que determinan las rectas: 3 9 2 10 11 − = − xx que tiene como solución 6.91 =x de donde 2.02 =x que coincide con la solución encontrada empleando P.D. La sencillez de este método parece contradecir la definición de P.D. dada al comienzo, más adelante se harán algunas conclusiones al respecto de esta observación.
  • 31. 31 Comparación entre los métodos 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 además, para algunos ejemplos, la bibliografía en la cual se pueden consultar las soluciones que emplean ecuaciones recursivas de retroceso. La razón de ello radica en que en la mayoría de los libros se sigue un enfoque contrario, por lo cual se ha querido llamar la atención 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 año 0 un campesino posee k ovejas. Al final de cada año decide cuántas debe vender y cuantas conservar. La ganancia obtenida por la venta de una oveja en el año i es ip . Las ovejas que conserve duplicarán su número en el transcurso del año. El campesino venderá todas sus ovejas al cabo de n años. Para el año j se considerarán las siguientes variables: jx : = número de ovejas conservadas jy : = número de ovejas vendidas jjj yxz += La gráfica 2 ilustra la situación planteada Gráfica 2.
  • 32. 32 Se tiene kxz 22 01 == njxz jj ,...,2,12 1 == − Ecuación recursiva de retroceso: }{)( 2 nn kzy nn ypmáxzf n nn ≤= = ]}[2({)( 1 2 jjjjj kzy jj yzfypmáxzf j jj −+= + ≤≤ , j = 1,2, . . . ,n-1 Ecuación recursiva de avance: }{)( 11 2 11 11 ypmáxxf xky −= = } 2 ({)( 1 2/)( 2 jj jjj enteroyx xky jj yx fypmáxxf jj j j j + += − + −≤ , j = 2, 3,. . . ,n Al comparar las formulaciones se ve que el método de avance incluye una condición de integridad lo que constituye una dificultad adicional que no está presente en el método de retroceso. ∗ El ejemplo anterior ilustra que en algunos casos puede resultar conveniente preferir un método al otro en pro de la simplificación de los cálculos. ∗ Nota: el ejemplo de las ovejas tiene más un propósito pedagógico que uno práctico, pues se trata de un caso en el cual la solución se encuentra determinando el mejor momento para vender las ovejas y venderlas todasen ese instante, para ello se determina el mayor i i p2 . En caso de presentarse un empate existirán 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. resultaría sumamente impráctico.
  • 33. 33 Conclusión Las técnicas de P.D. nos han permitido resolver, entre otros, problemas de Programación Lineal, de Programación Lineal Entera, de Programación No Lineal etc. Esto no quiere decir que la P.D. constituya una panacea para la solución de los problemas de todos estos campos, por dos razones: en primer lugar, porque las técnicas de P.D. son aplicables únicamente a un conjunto reducido de problemas en cada campo. Y en segundo lugar porque, aunque la técnica sea aplicable, al resolver problemas grandes (de Programación Lineal por ejemplo) el número 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 impráctico. Sin embargo, el propósito buscado al resolver este tipo de problemas no ha sido proponer una alternativa a los métodos estándar de solución de tales campos (como el método símplex en el caso de la Programación 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 cálculos 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. También es importante tener en cuenta que el tamaño de los cálculos tenga proporciones razonables.
  • 34. 34 Bibliografía 1. [Hil02] Hillier Frederick, Investigación de Operaciones, México, D.F.: McGraw-Hill (2002). 2. [Tah95] Taha Hamdy, Investigación de Operaciones, México, D.F.: Alfaomega (1995). 3. [Pra00] Prawda Juan, Métodos y modelos de Investigación de Operaciones, México, D.F.: Limusa (2000).