PRUEBA 2. Note que las esquinas desde donde vienen los llamados son referidas como el conjunto de puntos i

Curso : ING4520 201220 Profesor : Juan Eduardo Pérez Retamales. Duración : 1 hora 45 minutos Auxiliares : F. Vergara, M. Mujica, S. Moral. PRU...
3 downloads 0 Views 559KB Size
Curso

: ING4520 201220

Profesor

: Juan Eduardo Pérez Retamales.

Duración

: 1 hora 45 minutos

Auxiliares

: F. Vergara, M. Mujica, S. Moral.

PRUEBA 2 INSTRUCCIONES – MUY IMPORTANTE – LEER CUIDADOSAMENTE: 

Siga claramente las instrucciones del enunciado, y limítese a responder precisamente la pregunta que se le está formulando. No habrá puntuación para aquellos que escriban la teoría sin que se les haya preguntado en forma expresa, o que escriban un resultado sin haberlo justificado claramente según las instrucciones de la prueba.



No está permitido: utilizar apuntes, teléfonos celulares, PC, tablet, o similares. SÍ ESTÁ PERMITIDO UTILIZAR CALCULADORA.



Consultas pueden ser sólo de enunciado y se formulan desde el puesto o ubicación de cada alumno. El auxiliar/ayudante responderá desde adelante de la sala, sin acercarse al puesto, y de modo que todos escuchen la respuesta.



Todos los reclamos serán estrictamente por escrito, sólo se podrá argumentar con temas referentes al curso, con respecto a su desempeño en el control o prueba, el cual sólo puede ser medido por lo que haya escrito en sus respuestas y no por argumentaciones extemporáneas.



Se les solicita encarecidamente CLARIDAD Y ORDEN en las respuestas, formatos y notación. Recuerde que los reclamos son válidos sólo sobre lo que exponen en sus respuestas escritas. No hay lugar a interpretaciones a posteriori.



¡CADA PREGUNTA SE RESPONDE EN UNA HOJA INDEPENDIENTE!  SEPARE SU CUADERNILLO.

Pregunta 1 (50%) – Modelación: Logística de Ambulancias Suponga que está asesorando a una empresa que se dedica a proveer el servicio de ambulancias privadas, y está planeando ingresar a un nuevo mercado. Este nuevo mercado es peculiar, porque se trata de una zona geográfica cuadrada con

N  1  N  1

“manzanas” simétricas, conoce el largo de una cuadra y este es L y se mide en [km]. Todos los autos (incluyendo las ambulancias) como en toda ciudad sólo pueden utilizar las calles al moverse, es decir, NO pueden ir en diagonal. Las llamadas de emergencias provienen desde las N  N esquinas que se conforman en esta ciudad, existen dos tipos de llamadas de emergencias una es de “Ataques al corazón” y el resto es un tipo que se le denomina “Otros”, la cantidad respectiva de llamadas de cada uno de los tipos es DAit  DOit , i  I , t  T . Donde T es el conjunto de días del horizonte de evaluación. Todas las llamadas deben ser asistidas con una ambulancia. Note que las esquinas desde donde vienen los llamados son referidas como el conjunto de puntos i  I , en los cuales los primeros N índices corresponden a las esquinas de la primera fila, los siguientes N índices corresponden a la segunda fila, y así sucesivamente hasta la última esquina N  N . En esta ciudad se puede asumir que la rapidez promedio con la que se puede mover una ambulancia (independientemente del tipo) es v [km/hora], esta estimación promedio ya incluye holguras del viaje y posibles contratiempos, por ende puede (y debe) usarla tal cual para efectos de una definición del tiempo total de un determinado viaje. El consumo de combustible de las ambulancias es conocido y es  A y  O [km/litro] respectivamente para el tipo A y O. Cada ambulancia, independientemente de su tipo, puede trabajar H [horas/día]. Otro dato importante es que hay dos tipos de ambulancia, una “Tipo A” que sirve para atender llamados del tipo “ataques al corazón” y del tipo “otros” también, y las ambulancias del “Tipo O” que sirven sólo para emergencias tipo “otros”. En este esquema de esquinas, tiene la opción de instalar “centros de ambulancias” en los j  J  I puntos que se consideran factibles para que esto se realice, el costo de instalación de estos centros es CI tj , j  J , t  T . En cada punto sólo podría haber un centro de ambulancias. En cada uno de los centros, a lo más se podrá asignar K j , j  J ambulancias en total. Debido a consideraciones de calidad de servicio y tiempo de atención mínimo, no todas las esquinas de la ciudad pueden ser atendidas por todos los centros de ambulancia, sino que una emergencia del tipo “Ataque al corazón” u “Otros” ocurrida en la esquina i  I podrá ser atendida sólo por un conjunto CoviA de ambulancias del “Tipo A” en la vecindad, caso análogo para las emergencias del tipo “Otros” ocurridas en la esquina i  I que sólo pueden ser atendidas por ambulancias “Tipo O” en las esquinas . Ambos conjuntos son conocidos por usted, y debe considerarlos como información conocida. CovO i 1

Cada vez que decide comprar una ambulancia, debe asignarla a un único “centro de ambulancias” en alguna determinada esquina

j  J en un determinado día t  T , y debe pagar un costo CAt y CO t por la compra de una ambulancia del “Tipo A” y del “Tipo O” respectivamente. En este contexto, el problema que usted debe resolver es el definir dónde localizar los centros de ambulancias, cuántas ambulancias de cada tipo comprarle a cada uno de los centros, y en qué momento, de modo que el costo total de instalación de centros de ambulancias, el costo total de transporte, y el costo total de compra de ambulancias sea mínimo. Lo anterior se debe cumplir tomando en consideración todas las restricciones que emanan desde la descripción dada anteriormente. Para lo anterior se le pide que siga los siguientes pasos:

 

donde i  I  j  J , y denomínelos tij . Note que por

(0.7 puntos) Calcule los tiempos de transporte entre dos puntos i, j

a)

simetría, para ambos tipos de emergencia, los tiempos de i a j son iguales que los de j a i . b)

i, j 

(0.3 puntos) Calcule los costos de transporte entre dos puntos

donde i  I  j  J , y denomínelos CTAij  CTOij

respectivamente. Considere el precio del combustible constante en el período de evaluación con valor p [$/litro]. (5.0 puntos) Formule un problema de optimización (LINEAL – EL HACERLO NO LINEAL SERÁ CONSIDERADO SIN

c)

PUNTAJE) que le permita abordar el problema. Formulación implica desarrollar: variables y su explicación clara, dominios, función objetivo, y restricciones. DEBE EXPRESAR CLARAMENTE TODOS LOS SUBÍNDICES Y NOMBRES. Toda constante del tipo “Gran M” que proponga debe ser calculada por usted. Respuesta a) Consideremos, para entender, un ejemplo con N-1=5 manzanas, lo que implica que habrán N  N  36 esquinas, y se numeran de acuerdo a lo explicado en el enunciado de la manera que se indica en la siguiente figura. 1

2

1

3

2

7

8

6

3 9

7

13

14

11 20

16 25

26

21 32

15

19

24

20 29

24 34

18

23

28

33

10

14

23

12

17

22

18

22

31

9

13

27

5 11

16

21

6

4

8

17

5

10

15

12

19

4

30

25 35

36

Es importante notar, que dado que hay que considerar una rapidez constante (es una aproximación), entonces al determinar la distancia, se podrá determinar en forma unívoca el tiempo total.

 

Si deseo viajar entre las esquinas i, j , y dado que sólo puedo viajar en horizontal y vertical, entonces tendré que viajar tantas cuadras como la suma de la diferencia horizontal y vertical de esquinas a la que se encuentren los nodos. Así, para poder determinar esta distancia, tendré que determinar la cuadra horizontal (fila) y cuadra vertical (columna) en la que me encuentro, dado un determinado número de esquina i  I en el que me encuentre.



Notemos que si la calle horizontal es h  1,2,..., N



i  1,2,..., N  N









y la calle vertical es v  1,2,..., N

será:



i  v  N h 1

2



entonces el número de esquina

Puesto que sabemos que el ordenamiento es de izquierda a derecha, entonces:

i -1 vi  1  mod   , donde mod(x) es la función que devuelve el residuo después de dividir un número por un divisor.  N     i   mod   N   mod  hi   N       N 

       si i  1,..., N  N  1     si i  N  N







Análogamente entonces se puede hacer el cálculo para un punto j  J de los valores

h , v  . Con lo anterior, para calcular la j

j

distancia en [km] entre ambos puntos, se podrá calcular de la siguiente forma:



dij  L vi  v j  hi  h j



Finalmente en forma directa, el tiempo en [hora] de transporte entre dos puntos se puede estimar como:

tij 

dij v

Respuesta b) Acá el cálculo es directo, puesto se conoce el rendimiento de cada tipo de ambulancia. Así, el costo de transporte entre dos puntos del mapa será: CTAijt [$]  CTOijt [$] 

dij [km]  p[$/litro]

 A[km/litro] dij [km]  p[$/litro]

 O [km/litro]

Respuesta c) Conjuntos:

-

i  I : Puntos de donde se generan los llamados. j  J  I : Puntos factibles de localización de puestos de ambulancias.

-

CoviA  J

-

y

CoviO  J :

emergencia en el nodo

i I

Conjunto de puntos donde se puede poner un centro de ambulancias que podría atender una con una ambulancia del tipo A y O respectivamente. Suponga que un analista le calculó dicha

información, con base en un tiempo máximo de respuesta y está disponible para usted. Note que si usted conociere el tiempo de respuesta, usted también podría calcularlo. -

t  T : Conjunto de días del horizonte de evaluación.

Parámetros: -

DAit , i  I , t  T

: Demanda de llamados de emergencias del tipo ataque al corazón.

-

DOit , i  I , t  T

: Demanda de llamados de emergencias del tipo otro.

-

CI jt , j  J , t  T

: Costo de instalación de un centro ambulancias en un determinado período. 3

-

K j , j  J

-

CAt : Costo de comprar ambulancia del tipo 1 en un determinado período.

-

CO t : Costo de comprar ambulancia del tipo 2 en un determinado período.

-

CTAij

y

: Capacidad máxima en término del número de ambulancias que un centro ambulancias puede tener asignadas.

CTOij : Costo variable de transporte por cada cuadra recorrida ambulancia tipo 1 y 2 respectivamente. (Es lo que

calcularon antes) -

tij  t ji  0

i

: tiempo que me toma viajar entre

j

y

para ambos tipos de ambulancias tipo 1 y 2.

Variables de decisión (1.0 punto)

  : (0,2 puntos) Variable binaria que indica 1 si se instala un local de ambulancias en el punto

y tj  0,1

j J

ó 0 en caso

contrario.

  : (0,1 puntos) Variable binaria que indica si una k-ésima ( k  1,..., K ) ambulancia se asignó al del “tipo 1” se

wa tjk  0,1

j

asignó al punto

j J

en

t T .

  : (0,1 puntos) Variable binaria que indica si una k-ésima ( k  1,..., K ) ambulancia se asignó al del “tipo 2” se

wotjk  0,1

j

asignó al punto

xaaijt 



j J

en

t T .

: (0,2 puntos) Número de viajes para atender la demanda de “ataques al corazón” del punto

ambulancias del “tipo 1” que salen del punto

xaoijt 



j J

en



t T .

j J

en

j J

en

i I

t T .

Función objetivo Kj   t CI j y j    CAt wa tjk  CT t wotjk     j J k 1 t t   z  min     CTAij xaaij  xaoij    tT iI j Cov A i   t     CTOij xoij    iI jCovOi









Restricciones Sólo se pueden atender emergencias desde nodos donde alguna vez se haya instalado un centro de ambulancias. t

xaaijt  MAAit  y j  1 t

xaoijt  MAOjt  y j

i  I , j  J , t  T , donde MAAit  DAit i  I , j  J , t  T

, donde

 1

4

i I

con

t T .

: (0,2 puntos) Número de viajes para atender la demanda de emergencias del tipo “otros” del punto

de ambulancias del “tipo 2” que salen del punto

1.

con viajes de

: (0,2 puntos) Número de viajes para atender la demanda de emergencias del tipo “otros” del punto

viajes de ambulancias del “tipo 1” que salen del punto

xoijt 

i I

MAOit  DOit

i  I , t  T i  I , t  T

con viajes

t

xoijt  MOit  y j

i  I , j  J , t  T , donde MOit  DOit

 1

2.

Se deben atender todos los llamados.

 xaa

jCovi

jCovi

Si hago

 DAit

t ij

 xo

3.

i  I , t  T

i  I , t  T



 xaoijt  DOit

t ij

i  I , t  T

 t t t   xaaij ,  xaoij ,  xoij   iI iI iI 

viajes de cada tipo en 1 día, entonces requeriré (respectivamente) un total de tiempo

de viajes que será (el factor 2 es porque es la ida y la vuelta):

    2tij xaaijt ,  2tij xaoijt ,  2tij xoijt  iiI :jCovi   iiI :j Covi  iiI :j Covi  Dado que una ambulancia (independientemente de su tipo) trabaja requeridas en cada nodo, cada día será tal que: t

Kj

wa   1 k 1

t

 jk

Kj

wo   1 k 1

4.

jk









i iI : j Covi





2tij xaaijt  xaoijt



 H

i iI : j Covi

H

horas/día, entonces la cantidad de ambulancias

 j  J , t  T

H



j  J , t  T

2tij xoijt j  J , t  T

Capacidad máxima de centros de ambulancias. Si las variables de ambulancias son correctamente definidas en su dominio, esta restricción sería redundante. Kj

wa     t

1 k 1

5.

jk



 wojk  K j y tj

j  J , t  T

Precedencia temporal. La cantidad de ambulancias que se asigna sólo crece o se mantiene, pero no decrece.

wa tjk  wa tjk1 6.

Precedencia de cantidad. No se pueden tener

k

ambulancias si antes no se tienen

k  1.

wa tjk  wa tjk 1 Los casos “cruzados” entre k y t quedan definidos por transitividad, se podrían poner pero son redundantes.

Pregunta 2 (50%) – Programación Dinámica

5

Un sistema eléctrico (muy parecido al de un país llamado Chile) está planeando una inversión de gran escala con de generación eólica en los próximos años. Las plantas están conformadas por “jardines” o superficies de terrenos con varios molinos. Un total de 8 plantas eólicas deben ser desarrolladas en los siguientes 6 años a causa de la creciente demanda y una crisis energética, la cual ha forzado al cierre de algunas de las centrales térmicas tradicionales. Asuma que la demanda por electricidad en la región es conocida con certeza (lo cual en la práctica no es del todo cierto en la práctica) y que se debe satisfacer el nivel mínimo de demanda ACUMULADA que se indica en la tabla 1. TABLA 1 N° total de Costo por cada Plantas planta [US$ Millones] 1 5,4 2 5,6 4 5,8 6 5,7 7 5,5 8 5,2

Año 2013 2014 2015 2016 2017 2018

La construcción de cada planta eólica demora 1 año. Adicionalmente, al momento de decidir la construcción de una planta se incurrirá en un costo fijo de US$ 1.5 millones, independientemente de cuantas se decida construir. Es decir (a modo de ejemplo), si no construye, entonces US$ 0 de costo fijo; pero si construye entre 1 y 8 plantas eólicas, entonces deberá incurrir en US$ 1.5 millones de costo fijo. Lo anterior es común, debido a costos administrativos de preparación de contratos y certificación de impacto ambiental.

En un determinado año, a lo más 3 plantas pueden ser construidas, el costo de construcción de cada planta también se puede apreciar en la tabla 1. Los costos van incrementándose debido a la eliminación de una tasa de impuesto, que se ha decido aplicar para incentivar la inversión en energía eólica. Sin embargo, en el año 2016, una nueva tecnología de transformación eólica permitirá bajar los costos, a pesar de la política de inversión impulsada por el gobierno. Resuelva el problema ESTRICTAMENTE mediante programación dinámica, para lo se le pide que realice los siguientes pasos: a)

(0.5 puntos) Identifique los elementos componentes de un PSTD (es parte de los conocimientos – que por lo demás, vimos en clases – que debe poseer el saber cuáles son estos componentes) en el esquema del problema que se le está presentando.

b)

(0.5 puntos) Plantee el PSTD que se genera a partir de los elementos que identificó antes.

c)

(0.5 puntos) Plantee la ecuación básica de su PSTD (recursión) que le permitirá solucionar el problema (Proposición de PD).

d)

(4.5 puntos) Desarrolle resuelva el problema ya sea por extensión con tablas, o bien siguiendo las fórmulas de la recursión. Ambas formas tienen igual puntaje, en efecto son absolutamente equivalentes.

Respuesta a) La definición del dinamismo del problema, no es algo difícil, puesto que el problema muestra el tiempo en forma explícita.





t  T  2013,2014,...,2018

El problema descrito se puede estructurar como un proceso secuencial de decisión en tiempo discreto (PSTD) por medio de la identificación de la variable de estado sea la cantidad total de plantas eólicas al final de un determinado año, digamos s t . En el “año 0”, no hay ninguna planta instalada y al final de año debe haber tantas plantas como las que se indican en la Tabla 1. Adicionalmente, se sabe que no se puede construir más que 8 plantas. Por su parte, las variables de decisión serán dos, una para saber cuántas plantas se decida construir al inicio de cada año, y otra para saber cuántas plantas instalar en cada año. Recuérdese que los costos de tomar cada una de esas decisiones serán los 1.5 millones por decidir construir cada año, y el costo de construcción que indique la tabla, dependiendo del año y de cuantas plantas se decida construir.

 

y t  0,1 : Cantidad de plantas a ser construidas en el año t  T . xt 



: Cantidad de plantas a ser construidas en el año t  T .

6

Con lo anterior podemos escribir explícitamente la cómo se calcula el estado.

st 

t



x

 2013

De pasada aprovechamos de ejercitar el álgebra y desarrollar esta función de transformación de estado con respecto al estado precedente.

st 

t



t 1



x  xt 

 2013

x   x t  s t 1

 2013





st   t st 1, yt , x t  x t  s t 1 Sólo nos queda definir la función de costo (beneficio) lo cual hacemos directamente con nuestras variables recién definidas.

z  min

2018



t 2013

1.5y

t



 ct x t  min

2018





g t s t 1, y t , x t

t 2013



Entonces:





g t s t 1, yt , x t  1.5y t  ct x t





Donde los costos ct , t  2013,...,2018 son los de la Tabla 1. Respuesta b) Plantear el problema es directo desde las definiciones anteriores. Variables de control

 

y t  0,1 : Cantidad de plantas a ser construidas en el año t  T . xt 



: Cantidad de plantas a ser construidas en el año t  T .

Variable de estado st 



: Cantidad total de plantas que han sido construidas hasta el final del año t  T .

Problema en su versión PSTD

z  min

2018



t 2013



gt st , yt , x t



s.a.

7





st   t st 1, yt , x t



s 2013  x 2013



s 2012  0



x t  Myt



y t  0,1



xt 



t  2013,...,2018

t  T , donde M  3 .

 

t



s 

 

Respuesta c) La proposición básica de programación dinámica plantea en forma directa la recursión, la cual es la siguiente. Note que hasta el momento sólo se ha tratado de reconocer y plantear términos, no ha habido nada de cálculos.

 

z k s k 1 

min

 

y k  0,1 0 x k  3y k

s.a.

1.5y 

k

s k   k s k 1, y k , x k s

2018

 

 c k x k  z k 1 s k



8

Respuesta d) Tenían dos opciones (análogas) para resolver esta parte, hacerlo con la ecuación de recursión viendo por casos, o ver esos mismos casos por extensión en una tabla. Como generalmente la mayoría decide hacerlo de la segunda manera, lo haremos con tablas. Los que lo hagan con las ecuaciones también deben tener puntaje (si es que lo hacen bien claro). Comenzamos desde el último año, como sabemos que tenemos que cumplir con la demanda, y también sabemos que no haremos nada en el año T+1, puesto no tiene sentido construir más de las que me piden, y además fuera del período de evaluación. Comenzamos con la construcción de tablas. Se comienza desde el último período y sólo nos enfocamos a los casos relevantes, los cuadros “inexistentes” tienen el símbolo “-”.Fíjense que el hecho que a lo más se puedan construir 3 en un período, y que el máximo es 8, me da los límites y me indica los casos “interesantes” de ser analizados.

1.5y_k+c_k*x_k + z(k+1) Tableau 1 X T 18 0 1 8 0,0 7 6,7

S

g 0,0 6,7

8

x_opt 0,0 1,0

1.5y_k+c_k*x_k + z(k+1) Tableau 2 X T 17 0 1 8 0,0 7 6,7 7,0 6 13,7

S

2 12,5

g 0,0 6,7 12,5

x_opt 0,0 0,0 2,0

1.5y_k+c_k*x_k + z(k+1) Tableau 3 T 16 8 7 6 5 4

X 2 12,9 19,6 25,4

3 18,6 25,3

g 0,0 6,7 12,5 18,6 25,3

x_opt 0,0 0,0 0,0 3,0 3,0

2 13,1 19,8 25,6 31,7 38,4

3 18,9 25,6 31,4 37,5

g 12,5 18,6 25,3 31,4 37,5

x_opt 0,0 0,0 0,0 3,0 3,0

2 31,3 38,0 44,1

3 30,8 36,9 43,6

g 30,8 36,9 43,6

x_opt 3,0 3,0 3,0

1.5y_k+c_k*x_k + z_(k+1)(sk) Tableau 6 S T 13 0 1 2 0 50,50 49,20

3 48,50

g 48,5

x_opt 3,0

S

0 0,0 6,7 12,5 -

1 7,2 13,9 19,7 -

1.5y_k+c_k*x_k + z(k+1)

S

Tableau 4 T 15 6 5 4 3 2

X 0 12,5 18,6 25,3 -

1 14,0 19,8 25,9 32,6 -

1.5y_k+c_k*x_k + z(k+1)

S

S

Tableau 5 T 14 3 2 1

X 0 31,4 37,5 -

1 32,4 38,5 44,6

9

Al comienzo del período no se tienen plantas, luego, con la observación inversa de las tablas se puede reconstruir la política óptima de construcción. -

Tableau 6: observamos que en el año 2013, la política óptima es y 2013

-

Tableau 5: al construir 3 plantas en el primer año, en el año 2014 tendremos 3 plantas, en este estado, según el tableau 5, la política óptima es y 2014

-

30, 8 .

0 , x 2015

0 , con lo que g 2013

12,5 .

0 , x 2016

0 , con lo que g 2016

12,5 .

Tableau 2: al construir 0 plantas en el cuarto año, en el año 2017 tendremos 6 plantas, en este estado, según el tableau 2, la política óptima es y 2017

-

48,5 .

Tableau 3: al construir 0 plantas en el tercer año, en el año 2016 tendremos 6 plantas, en este estado, según el tableau 3, la política óptima es y 2016

-

3 , con lo que g 2014

3 , con lo que g 2013

Tableau 4: al construir 3 plantas en el segundo año, en el año 2015 tendremos 6 plantas, en este estado, según el tableau 4, la política óptima es y 2015

-

1 , x 2014

1 , x 2013

1 , x 2017

2 , con lo que g 2017

12,5 .

Tableau 1: al construir 2 plantas en el quinto año, en el año 2018 tendremos 8 plantas, en este estado, según el tableau 2, la política óptima (y en realidad no queda otra opción) es y 2018

0 , x 2018

0 , con lo que g 2018

0.

El resumen del razonamiento y valores anteriores se muestra en la siguiente tabla. Donde se aprecia la política óptima en las variables x e y, y el resultado del proceso completo de programación dinámica que es 48,5 millones.

T 2.013 2.014 2.015 2.016 2.017 2.018

Resultado de la Programación Dinámica y x s 1,00 3,00 3,00 1,00 3,00 6,00 0,00 0,00 6,00 0,00 0,00 6,00 1,00 2,00 8,00 0,00 0,00 8,00

z 48,50 30,80 12,50 12,50 12,50 0,00

10

Suggest Documents