Act 4 5
Act 4 5
Act 4 5
OPTIMIZACIÓN DINÁMICA
2EM19
1
.................................................................................................................................... 3
......................................................................................................................... 4
.............................................................................................................................. 6
........................................................................................................................... 25
..................................................................................................................... 40
2
Los alumnos deberán crear un panorama mas complejo acerca de las aplicaciones
de la programación dinámica, para qué, de esta forma sea accesible para
estudiantes de la licenciatura, tratando así los elementos básicos de la teoría para
su comprensión. Utilizando el problema básico de control optimo discreto, para
identificar y formular su solución mediante la técnica de programación dinámica de
Bellman e identificar los casos que se presentan para proceder a su
planteamiento y la solución del problema.
3
Para el planteamiento del problema de control optimo discreto, se tiene un
sistema dinámico formulado en tiempo discreto, para un número dado N de etapas
o períodos, donde la situación inicial viene dada por el vector n.-dimensional 𝑥0 , y
que evoluciona en el tiempo. Dicha evolución depende del valor que se dé a cierta
variable nombrada variable de control, que permiten influir en el sistema. Donde
𝑢(𝑘), será el vector m-dimensional de las variables de control en la etapa o periodo
k, para 𝑘 ∈ (0,1, … , 𝑁 − 1).Representado por 𝑥(𝑘), para cada 𝑘 ∈ (0,1, … . , 𝑁 −
1),el vector n-dimensional llamado variable de estado, que nos indicará la
situación del sistema en la etapa o periodo k.
Esto quiere decir, que el sistema dinámico parte del estado inicial 𝑥0 .En el periodo
o etapa 1 (que corresponde a 𝑘 = 0), donde se elige un control 𝑛(0) ∈ Ω(0), en
dicho periodo o etapa se realiza una aportación al funcional objetivo dada por F
[𝑥(0), 𝑢(0),0] y se inicia el periodo o etapa 2 (que corresponde a 𝑘 = 1) con un
valor de vector de estado: 𝑥(1) = 𝑓(𝑥(0), 𝑢(0), 0).
En dicha etapa se tendrá que elegir un control 𝑢(1) ∈ Ω(1). Además se realiza una
aportación al funcional objetivo dada por 𝐹 [𝑥, (1), 𝑢(1), 1]y se inicia el período o
etapa 3 (que corresponde a 𝑘 = 2)con un vector de valor de estado:𝑥(2) =
𝑓(𝑥(1), 𝑢(1), 1).
Se continua de esta manera hasta que por último comienza el período o etapa N
(que corresponde a 𝑘 = 𝑁 − 1)con un estado inicial 𝑥, y hay que elegir un control
𝑢(𝑁 − 1) ∈ Ω(𝑁 − 1), donde se realizara una aportación al funcional objetivo dada
por 𝐹[𝑥(𝑁 − 1), 𝑢 (𝑁 − 1), (𝑁 − 1], alcanzando el sistema en un estado final 𝑥(𝑁) =
𝑓(𝑥(𝑁 − 1), 𝑢(𝑁 − 1), 𝑁 − 1). Al terminar en dicho estado, se realiza una
aportación al funcional objetivo dado por 𝑆[𝑥(𝑁)].
4
La programación dinámica, introducida por Bellman (1957), fue creada para
resolver problemas formulados en tiempo discreto, aunque posteriormente sería
adaptada para la resolución de problemas en tiempo continuo. Puesto que la
programación dinámica busca resolver un problema de N etapas o períodos,
mediante la resolución de N problemas de etapas o períodos.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
EJERCICIO 6.1
Se trata de construir una autopista entre dos ciudades Ay K, existiendo varias
ciudades por las que puede pasar la autopista, tal como se indica el siguiente
grafo, pudiendo clasificarse estas ciudades en grupos o fases habiéndose
asignado a los arcos del grafo, el importe de los costes totales en cientos de
millones de pesetas (costes de realización, costes de expropiación, etc.
25
SOLUCIÓN
𝐺 − 𝐾 = 30 𝐸 − 𝐺 = 40 + 30 = 70 𝐵 − 𝐸 = 50 + 70 = 120 𝐴 − 𝐵 = 15 + 80 = 95
𝑀 − 𝐾 = 25 𝐵 − 𝐸 = 50 + 60 = 110 𝐴 − 𝐶 = 20 + 80 =
𝐼 − 𝐾 = 20 𝐸 − 𝑀 = 35 + 25 = 60 𝐵 − 𝐸 = 50 + 60 = 110 100
𝐽 − 𝐾 = 35 𝐹 − 𝑀 = 45 + 25 = 70 𝐶 − 𝐸 = 20 + 70 = 90 𝐴 − 𝐷 = 30 + 75 = 105
𝐶 − 𝐸 = 20 + 60 = 80
𝐹 − 𝐼 = 30 + 20 = 50 𝐶 − 𝐸 = 20 + 60 = 80
𝐸 − 𝐽 = 25 + 35 = 60 𝐵 − 𝐹 = 30 + 50 = 80
𝐹 − 𝐽 = 40 + 35 = 75 𝐵 − 𝐹 = 30 + 60 =
90
𝐵 − 𝐹 = 30 + 60 = 90
𝐶 − 𝐹 = 40 + 60 = 100
𝐶 − 𝐹 = 40 + 50 = 90
𝐶 − 𝐹 = 40 + 60 = 100
𝐷 − 𝐹 = 25 + 60 = 85
𝐷 − 𝐹 = 25 + 50 = 75
𝐷 − 𝐹 = 25 + 60 = 85
RUTA DE SOLUCIÓN
𝐴 − 𝐵 − 𝐹 − 𝐼 − 𝐾 = 95
26
EJERCICIO 6.2
Resolver el siguiente problema de control, utilizando la programación dinámica:
Despejar u
Etapa 3
27
Etapa 2
Etapa 1
Etapa 0
𝐽 ∗0 [𝑥(0)] = [1 + 2[𝑢(0) + 2]
1 + 2(𝑢(0) + 2) = 0
2(𝑢(0) + 2) = −1
𝑢(0) + 2 = −0.5
𝑢(0) = −2.5
Sustituir en Ecu. 1
𝑥(1) = 12 − 2.5
𝑥(1) = 9.5
Etapa 1:
28
Sustituir x(1)
𝐽 ∗1 [𝑥(1)] = [2[𝑢(1) + 4] + 1]
2[𝑢(1) + 4] + 1 = 0
2[𝑢(1) + 4] = −1
𝑢(1) + 4 = −0.5
𝑢(1) = −4.5
Sustituir en Ecu. 2
𝑥(2) = 14.5
𝑢(2) = 20 − 2(14.5) = −9
𝑥(3)𝑘=2 = 2(14.5) − 9 = 20
t X*(t) U*(t)
0 6 -2.5
1 9.5 -4.5
2 14.5 -9
3 20
29
EJERCICIO 6.4
Un científico vive en una ciudad B y tiene que estar en la ciudad A el próximo
domingo. En cada uno de los días Jueves, Viernes y Sábados, puede dar una
conferencia en alguna de las ciudades A,B,C, con la excepción de que no puede
ser en C jueves. Se le ofrecen 20 unidades monetarias por conferencia en A, 22
en B y 25 en C, más gastos de estancia para una noche en la ciudad en la que
ha dado la charla.
Utilizar programación dinámica para obtener donde debería pasar los 3 días y
noches finales por las conferencias, menos los costos de transporte entre
ciudades.
30
31
RUTA DE SOLUCIÓN:
𝐵 − 𝐵 − 𝐵 − 𝐵 − 𝐴 = 60
𝐵 − 𝐵 − 𝐶 − 𝐶 − 𝐴 = 60
Ejercicio 6.5
El servicio de compras de una empresa debe aprovisionar todos los meses cierta
materia prima. El precio de compra y la demanda de dicha materia vienen datos
para los próximos 6 meses por la tabla siguiente:
Mes 1 2 3 4 5 6
Demanda de 5 8 2 4 7 5
toneladas
Precio de 11 13 18 17 10 20
compra
ETAPA 5
Demanda Precio Total
2 20 2 40
3 20 3 60
4 20 4 80
5 20 5 100
6 20 6 120
7 20 7 140
8 20 8 160
9 20 9 180
32
Una demanda de 7 unidades y pagar el precio de $70
ETAPA 3
Capacidad Capacidad anterior Pago
4 5 17 4 68
5 4 17 5 85
6 3 17 6 102
7 2 17 7 119
8 1 17 8 136
9 0 17 9 153
33
PRECIO
$104
$36
$68
$70
$100
TOTAL= $378
Se obtiene que el gasto mínimo para el servicio de compras será de $378 el cual
cubrirá la demanda
Ejercicio 6.6
La responsable de ventas de una editorial de libros de textos universitarios tiene 6 jóvenes
vendedores a los que tiene que asignar a 3 diferentes áreas en que ha dividido el país. Ha
decidió que cada área tiene que designar al menos un vendedor, y cada vendedor individual
tiene que tener restringido su campo de actuación a una sola área. Ahora quiere determinar
cuántos vendedores tiene que nombrar para cada una de las áreas y maximizar las ventas.
La siguiente tabla da una estimación del incremento de ventas (en unidades apropiadas)
en cada área se asigna determinando el número de vendedores:
N° Vendedores/área 1 2 3
1 32 20 28
2 48 42 41
3 70 56 63
4 89 70 75
X(6) 4,3,2,1,0
X(5) 4,3,2,1,0
X(4) 4,3,2,1,0
X(3) 3,2,1,0
X(2) 2,1,0
X(1) 1,0
X(0) 0
ETAPA 3
34
1 28 1
0 0 0
ETAPA 2
x(2)/u(2) 4 3 2 1 0
1 20+0 20 0+28 28
0 0+0 0
ETAPA 1
x(1)/u(1) 4 3 2 1 0
6 89+48 137 70+70 140 48+84 132 32+105 137 0+119 119
𝑈1∗ = 3 𝒙∗ (𝟏) = 𝟔
𝑈2∗ = 2 𝒙∗ (𝟐) = 𝟑
𝑈3∗ = 1 𝒙∗ (𝟑) = 𝟏
35
La decisión optima es determinar 1 vendedor en área 3, 2 vendedores en área 2 y 3
vendedores en área 1 para tener un máximo de ventas que es de 140
Ejercicio 6.7
El ayuntamiento de una ciudad ha recibido 5 millones de euros del gobierno autonómico,
que debe gastar totalmente en las áreas de Juventus, cultura, medio ambiente.
El equipo de análisis del ayuntamiento ha obtenido la siguiente estimación de los niveles
de satisfacción de los ciudadanos, en función de la partida presupuestaria destinada a cada
área (que siempre debe ser múltiplo de millón):
Área/dinero 0 1 2 3 4 5
Juventud 0 5 5 6 7 11
Cultura 0 3 6 6 8 10
Medio 0 5 6 8 9 14
Ambiente
Determinar usando programación dinámica, la manera en que sea de repartir los 5 millones
de euros si el ayuntamiento quiere maximizar el nivel de satisfacción ciudadana.
X(0) 5
X(1) 5,4,3,2,1,
X(2) 5,4,3,2,1
X(3) 0
5 5 14
4 4 9
3 3 8
2 2 6
1 1 5
0 0 0
36
x(1) u(1) 𝒃𝟏 [𝒖(𝟏)] + [𝒙(𝟏) − 𝒖(𝟏)] total
5 5 10 0 10
4 8 5 13
3 6 6 12
2 6 8 14
1 3 9 12
0 0 14 14
4 4 8 0 8
3 6 5 11
2 6 6 12
1 3 8 11
0 0 9 9
3 3 6 0 6
2 6 5 11
1 3 6 9
0 0 8 8
2 2 6 0 6
1 3 5 8
0 0 6 6
1 1 3 0 3
0 0 5 5
0 0 0 0 0
𝑱∗𝟏 (𝒙(𝟏))
x(1) u(1)
5 2,0 14
4 2 12
3 2 11
2 1 8
1 0 5
0 0 0
37
U(0)=1 𝒙∗ (𝟏) = 𝟒
U(1)=2 𝒙∗ (𝟐) = 𝟐
U(2)=2 𝒙∗ (𝟑) = 𝟎
Se concluye que se debe asignar una unidad a la juventud, dos unidades a la cultura y
dos al medio ambiente para utilizar los 5 unidades o millones de dinero y así tener un
máximo de satisfacción que es igual a 17
38
En aquellos problemas en los cuales se considera el tiempo continuo y variables
determinísticas, usualmente se emplea la técnica de control optimo; mientras que
aquellos en los cuales se consideran el tiempo discreto y variables estocásticas
(es decir, variables que tienen un comportamiento aleatorio), se emplea la técnica
de programación dinámica.
39
• Pdf, E. D. (2022, 1 januari). Optimización Dinámica
https://economiadigitals.blogspot.com/2014/11/descargar
optimizacion-dinamica-de.html
40