Anda di halaman 1dari 7

1. EL ESCENARIO DEL ASCENSOR Asuma que se tiene un edificio con n ascensores y m pisos.

Cuando un ascensor es llamado, se deseara atendiera la peticin de una forma razonable: el ascensor seria seleccionado de forma tal que pueda atender la peticin tan pronto como sea posible. Imaginemos que existe actualmente un edificio con tres ascensores (n = 3) y diez pisos (m = 10). El primero y ltimo piso tienen un nico botn de llamada (indicador arriba o abajo segn sea el caso), los pisos restantes tienen dos botones de llamada, cada uno con su indicador abajo y arriba respectivamente. Estando en cualquier piso es posible pedir un ascensor presionando uno de los botones de llamada. Una peticin es atendida seleccionando a un ascensor para que se detenga en ese piso. Cada ascensor tiene 10 botones ( en general m botones) adentro, numerados con los nmeros de los pisos. Estos botones detendran el ascensor en el piso apropiado. La tarea consiste en escribir un programa en matlab que simule el sistema de ascensores para un edificio que mnimo tiene 10 pisos (m=10) y cuenta con mnimo 3 ascensores (n=3). El sistema debe ser capaz aceptar agregar mas pisos y/o agregar mas ascensores sin tener que modificar el cdigo del programa para seguir funcionando. Las llagadas a cada piso son de forma independiente y se debe poder configurar la tasa de llegada para cada piso. En el programa tambin demos poder definir uno de dos posibles mtodos para asignar un elevador al cliente. Metodo 1. Se asignara el ascensor que realice el menor tiempo en llegar al piso solicitado Metodo 2. Asignar el ascensor al solicitante de forma aleatoria, es decir se elegir de forma aleatoria uno de los n ascensores y ser la que se le asigne a tienda al cliente que solicito. Aclarando que una vez definido el mtodo para asignar un ascensor, ser el mismo mtodo para toda la simulacin. Podemos ejecutar ms de una vez la misma simulacin pudiendo cambiar el mtodo para asignar los ascensores (Cada mtodo que no se implemente equivale a 20 puntos menos de calificacin), adems debe permitir correr exactamente la misma simulacin ms de 1 vez si es necesario.

LLEGADAS Y DESTINOS EN EL SISTEMA Las llegadas a cada piso son de forma independiente

Las llegadas a cada piso siguen una distribucin exponencial de tasa media lambda: x = ln u / , donde x es el tiempo que transcurrir antes de la prxima llegada, u es un numero aleatorio con distribucin uniforme (0,1) y lambda es la tasa media de llegada por unidad de tiempo. Para cada piso la tasa media de llagada puede ser diferente y configurable en el sistema. Llegadas al piso 1, los clientes que llegan al piso 1 solicitan nicamente subir. A que piso se dirige (DESTINO) cada cliente? El piso a que se dirige cada cliente sigue una distribucin uniforme (Los pisos son del 2 al m, sabemos que m=10 para un caso particular). Llegadas al ultimo piso (en este caso piso 10). Todos solicitan bajar A que piso se dirige (DESTINO) cada cliente)? La probabilidad de que el cliente se dirija al piso 1 es de p>=0.8, en otro caso se dirige a cualquier otro piso y el destino sigue una distribucin Uniforme entre piso m-1 al piso 2 Llegada a los pisos intermedios. Sea q un piso intermedio, q!=1 y q!=m Subir o Bajar? Se sabe que un cliente que llega a un piso intermedio tiene como destino el piso 1 con una probabilidad de 80% (es decir el 80% baja al piso 1), y solo tiene una probabilidad de 20% de dirigirse a un piso diferente de 1 y q. En este caso, dependiendo del piso q (piso origen) y el piso destino ser como determinaremos si sube o baja.

COMPORTAMIENTO DEL CLIENTE AL LLEGAR A ALGUN PISO Sea q un piso, cada puerta de elevador en el piso q tiene botn para subir y/o botn para bajar. El cliente que llega puede elegir presionar solo un botn en alguna de las n puertas (n elevadores equivale a n puertas). Cmo va a seleccionar la puerta en que presionar el botn? Esto se har de forma aleatoria con distribucin uniforme para cada cliente que llega a dicho piso. De acuerdo a las llegas y destinos en el sistema, se recomienda generar aleatoriamente para cada llegada la puerta del elevador que el cliente presionar su botn. Aclarando que si un cliente presiona el botn de subir o bajar del elevador E1 en un piso q, no necesariamente E1 ser el elevador que atienda dicha peticin, esto debido a que la asignacin del elevador no se realiza de esa forma, la asignacin se har de acuerdo a uno de los dos mtodos antes mencionado.

Para cada piso solo se puede hacer una solicitud de ascensor para bajar, una vez atendida dicha peticin se puede realizar otra peticin. Lo mismo sucede para subir. Supongamos que C1, C2 y C3 son tres clientes que llegan al piso q, sabemos que antes de sus llegadas, aleatoriamente se decide sus destinos y aleatoriamente se les asigna la puerta a que presionarn el botn, veamos tres posibles escenarios: CASO en que los tres BAJAN y los 3 les toca presionar el botn de la puerta 1: Si C1 es el primero en llegar presionar el botn de bajar de la puerta 1 y en ese momento se encender la luz del botn bajar de la puerta 1 y se realizar una peticin de ascensor para bajar en el piso q. Si C2 es el segundo en llegar entonces C2 presionar el botn de la puerta 1, si la luz ya esta encendida seguir as y NO se realizar una peticin de ascensor porque ya fue solicitada por C1 y aun no se ha atendido. Lo mismo suceder cuando llegue C3 si aun no se ha atendido la peticin iniciada por C1. CASO en que los tres BAJAN pero les toca presionar el botn de diferentes puertas Si C1 es el primero en llegar y le toca presionar el botn de la puerta 1, se encender la luz de bajar de la puerta 1 y permanecer encendida hasta que sea atendida la peticin. Si C2 es el segundo en llegar y le toca presionar el botn de la puerta 2, se encender el botn de bajar de la puerta 2 pero NO se enviara peticin de ascensor ya que C1 ya lo realizo y mientras no se atienda no se enviara otro ascensor al mismo piso. Si C3 es el tercero en llegar y le toca presionar el botn de la puerta 3, se encender el botn de bajar de la puerta 3 pero NO se enviara peticin de ascensor para dicho piso ya que C1 realizo la peticin y aun no se ha atendido. Cuando un ascensor se detiene en un piso q y atiende una peticin que se le asigno, una vez que termina su parada en dicho piso y antes de moverse debe apagar las luces de las puertas, si su direccin es Bajar apaga las luces encendida para bajar, y si Sube entonces apaga las luces de subir. Antes de moverse el agente de piso debe verificar que se haya atendido a todas las personas que esperaban por ascensor en dicho piso, en caso de que no se haya atendido a todos entonces debe avisarle a la primera persona en la lista para que vuelva a presionar el botn de solicitar ascensor. El CASO cuando SUBEN se sigue la misma mecnica mencionada para cuando BAJAN. En cada piso q, habr nicamente una fila de personas esperando subir y/o una fila esperando bajar. Las filas no son por cada puerta de levador las filas son por piso. Cuando un ascensor se detiene en el piso q, el ascensor debe tener encendido la luz de direccin si el ascensor va en direccin de subir entonces cuando se habr su puerta podrn ingresar los clientes que estn esperando subir, y si va en direccin

de bajar entonces ingresaran los de la lista que esperan bajar. No olvidar que el elevador tiene un lmite de personas que pueden ingresar a el.

DATOS DE UN CLIENTE (una llegada) Informacin que debemos saber y administrar de un cliente que solicita un servicio de elevador, Al llegar a algn piso debemos conocer la siguiente informacin: Tiempo que transcurrir antes de su llegada. (x = ln u / ) Tiempo de llegada al piso (t+x, donde t es el tiempo del reloj) Piso de origen Piso destino Direccin (subir o bajar, se calculara revisando piso origen y piso destino) Elevador que va a presionar su botn ( el botn a presionar ser de acuerdo a su direccin) Informacin complementaria que se le debe asignar al ser atendido Que elevador lo atendi Tiempo en que se subi al elevador (t, tiempo del reloj) Tiempo en que se bajo del elevador (t, tiempo del reloj) DATOS DE CADA PISO Tasa media de llegada por unidad de tiempo Lista de llegadas para subir (clientes que solicitan servicio de ascensor) Lista de llegadas para bajar (clientes que solicitan servicio de ascensor) Botn de subir para cada puerta de ascensor (estado de encendido o apagado) Botn de bajar para cada puerta de ascensor (estado de encendido o apagado) Que elevador ser el prximo en detenerse para subir Que elevador ser el prximo en detenerse para bajar

DATOS DE CADA ASCENSOR Una lista de prximas paradas Lista de personas en el ascensor incluyendo su destino Cantidad de personas que ha atendido el ascensor Cantidad de pisos recorridos por el ascensor Botones (m botones, con encendido prximas paradas) Indicar de direccin que lleva el ascensor (arriba, abajo) Capacidad del ascensor (nmero de personas que pueden estar al mismo tiempo en el) Estado (en movimiento, parada, esperar, parada-puerta-abierta, parada-puertacerrada) Tiempo total en una parada ( 5 unidades de tiempo)

Tiempo que dura en subir o bajar un piso ( 1 unidad de tiempo) COMPORTAMIENTO DE UN ASCENSOR Cada ascensor cuenta con una lista de prximas paradas, si la lista esta vacia el ascensor permanece en el piso donde realizo la ltima parada. Cuando hay una nueva parada en su lista inmediatamente se dirige a ese destino Cada ascensor tiene una lista de clientes que estn dentro del ascensor. Cuando un cliente sube al ascensor le indica al ascensor a que piso se dirige, dicho piso se debe agregar a la lista de prximas paradas. nicamente se suben al ascensor las personas que llevan la misma direcciones que el ascensor (descartamos el caso que se suba alguien que vaya en direccin contraria). Sea E1 un ascensor, un agente puede asignar a la lista de E1 un piso en que debe detenerse ya que hay una peticin de ascensor y E1 es el elegido. Cada vez que E1 se detiene debe revisar en su lista de pasajeros quienes deben bajarse en el piso donde se detuvo, si los clientes se bajan entonces debe de quitarlos de su lista de pasajeros, adems debe subir a los clientes que van hacia la direccin del ascensor. 2. Planificando Ascensores Soponga que el boton arriba es presionado en el cuarto piso. Es necesario decidir cual ascensor deberia parar en el cuarto piso. Para ello se usara el siguiente algoritmo: El agente del cuarto piso envia un mensaje a cada uno de los agentes de los ascensores, preguntando cuanto tardaria llegar al piso 4. Tambien le dice a los ascensores que existe una persona en el piso 4 que quiere subir. Cada ascensor que recibe este mensaje calcula cuanto tiempo le tomaria llegar al piso 4 y le contesta al agente de piso con un mensaje que contiene el tiempo de espera. El agente del piso selecciona el ascensor con el minimo tiempo de espera propuesto y responde con un mensaje de reservar. Todos los dems ascensores son informados con un mensaje de rechazar.

Se asume que un agente de ascensor esta bloqueado despues de que ha enviado una estimacion de tiempo, y se mantiene bloqueado hasta que recibe un mensaje de reservar o rechazar. RECOMENDACIONES: Las llegadas y destinos de los clientes deben ser generados todos al inicio del programa antes de iniciar la simulacin.

Se recomienda definir una semilla para los nmeros aleatorios a utilizar para poder reproducir exactamente la misma simulacin ms de 1 vez. Falta mencionar otras recomendaciones

REPORTE DEL SISTEMA Debe generar un texto informativo que contendr los siguientes datos (deben estar ordenadas por TLO de forma ascendente):

TPPL

TLO

Piso origen

Subir/Baja r

Piso destino

TLD

TT E

PEP

EA

TPPL= Tiempo que pasara para antes de que llegue el cliente TLO=Tiempo de llegada del cliente al piso origen TLD= Tiempo en que llega el cliente a su piso destino (no se puede saber al inicio) TTE= Tiempo total de espera PEP= Puerta de elevador que presiono su boton EA= Elevador que lo atendio

Tiempo mximo de espera en el servidor Total de clientes que llegaron a cada piso Total de clientes cuyo destino fue el piso 1, 2, , m Total de paradas realizadas por cada elevador Total de pisos recorridos por cada elevador Total de personas trasladadas por cada elevador Consumo total de energa de cada elevador Debemos dibujar la cabina del ascensor mostrando los siguientes datos: Cuantas personas estn dentro del elevador Direccin que lleva el elevador Los botones prendidos (que indican paradas del elevador) Piso en que se encuentra el elevador Cantidad mxima de personas que puede trasladar cada elevador

Implementar un mecanismo que nos permita cambiar el generador de llegadas para cada piso sin afectar el cdigo del sistema de ascensores LO QUE NO DEBE FALTAR EN LA SIMULACION La simulacin debe cumplir con lo especificado en este documento La simulacin debe mostrar una pantalla que contendr:

Datos de cada ascensor (con las caractersticas: los mencionados) Datos de cada piso (con sus caractersticas: los mencionados) Una pantalla con animacin de los ascensores Falta terminar este punto ESTRUCTURA Y TIEMPO DE LA SIMULACION La estructura general de la simulacin es de la forma Definir el tiempo total de simulacin, puede ser en minutos Definir la tasa de llegadas por unidad de tiempo (minutos) para cada piso La unidad de tiempo debe ser la misma para cada piso Ejemplo si lambda=10/60 , en todo los pisos debe ser sobre 60 Con esto se concluye que el tiempo total de simulacin es 60 minutos Primero generar todas las llegadas en todos los pisos Luego iniciar la simulacin, bsicamente es un ciclo de la forma: Para i=0 hasta t=t_sim hacer Inicio Escribir aqu en orden la secuencia de actividades de la simulacion i=i+deltaT ; /*deltaT = es el incremento o paso de la simulacin */ Fin

Anda mungkin juga menyukai