Chapter 3 Research Methodology
3.5 Data Collection instrument and procedure
3.5.5 Interview Process
aterrizaje y descarga de pasajeros. Aquí necesitamos representar dos situaciones que nos están dando a entender explícitamente:
La situación en la que los pasajeros recogen su
equipaje y se verifica el monto total de la multa a cancelar.
Y la situación en la que los aviones se dirigen al área de servicio, para que uno de los grupos de
mantenimiento lo deje listo para los vuelos posteriores.
Entonces para poder lograr esto, hacemos uso del bloque Unbatch, el cual nos permite dividir el ítem en su entrada hacia varias salidas, pero para nuestro caso únicamente vamos a necesitar clonar el ítem hacia dos salidas. Con ello logramos representar la situación en la que los aviones van por mantenimiento, y los pasajeros van a recoger su equipaje.
Unbatch
45 En la opción Select block behavior, especificamos Create multiple ítems. En Specify the quantity to unbatch agregamos unicamente 2 filas y en Quantity especificamos que unicamente queremos un item a cada una de las salidas.
Item Animation
Configuración:
Aquí solamente vamos a cambiar la animación de la fila 1, entonces en Animation option seleccionamos Change to y en 2D Picture selecionamos People.
46
Generacion de pasajeros del avión
El primer paso es generar la cantidad de pasajeros que se supone venien en el vuelo, esto lo hacemos con la ayuda del bloque Get para obtener en primer lugar el tipo de avión, y de esta forma poder hacer el mismo proceso con los bloques Lookup table para generar los intervalos de pasajeros según la información proporcionada en el caso de estudio, y poder mandar estos valores al bloque Random Number que finalmente generara la cantidad de pasajeros para el tipo de avión en particular.
47
Get
Get Properties
Configuración:
Unicamente seleccionamos en Property Name el atributo que queremos consultar. En nuestro caso es tipo.
Marcamos Show property name on output connector Marcamos Show property value on output connector
Lookup table
Vamos hacer uso de dos bloques para generar el valor Minimo y Maximo de la distrubucion Integer, Uniforme del bloque Random Number que dara el número de pasajeros del avión.
El primer bloque lo configuraremos para que nos genere el valor Minimo del rango.
El segundo bloque para que genere el valor Maximo del rango.
Al final las salidas de los bloques se conectan al bloque Random Number en los conectores
correctos.
Table
Configuración:
48 input value (Lookup the), y discrete (Output is).
En la sección Enter values in the table especificamos que solamente vamos a tener dos opciones y para cada uno seleccionamos el nombre de la opcion y el valor que se quiere. En este caso lo valores corresponden a los limites inferios de cada uno de los rangos.
La misma configuración se aplica para el otro bloque, solamente que se deben de cambiar los valores de la salida para cada una delas opciones, que serian la de los limites superiores de cada uno de los rangos de pasajeros que se indican en el caso de estudio.
Random Number
Distributions
Configuración:
Únicamente se especifica el tipo de distribución de probabilidades. Como tampoco se especifica una distribución particular, especificamos ‘Uniform, Integer’, ya que el rango de valores únicamente puede ser valores enteros.
49
Set
Para simular la cantidad de pasajeros que descendieron del avión, hacemos uso de un bloque Set y utilizamos la propiedad del sistema _item quantity, para aumentar la cantidad de items (pasajeros) en este punto del modelo. La cantidad de items que se agregan al sistema depende del resultado del bloque Random Number que se conecta a la entrada del bloque.
Entonces en este punto lo que se hace es generar generar el numero de pasajeros según si el avión es grande o pequeño, y las distribuciones que se indican de los pasajeros para cada tipo de avión.
Set Properties
Configuración:
En Property name especificamos selecionamos _item quantity Marcamos Show property name on output connector
50
Servicio de mantenimiento
A grandes rasgos el proceso que se sigue en este subsistema es que los aviones llegan y si existe algún avión recibiendo mantenimiento, esperan en una cola siguiendo una disciplina FIFO.
Una vez que el equipo de mantenimiento este libre el siguiente avión en la cola se dirige a
recibir mantenimiento. El tiempo que se tarda el equipo en darle mantenimiento a cada avión varía según si el avión es grande o pequeño, según la información proporcionada en el enunciado.
Entonces como primer paso, necesitamos generar el tiempo que le toma al equipo de
mantenimiento dejar listo al avión. Esto lo hacemos tomando del avión que deja la cola, a través del bloque Get consultamos el atributo tipo para idenitificar si es grande o pequeño, y para poder generar el valor del tiempo que se le asigna al equipo de mantenimiento (bloque Activity). En este bloque únicamente marcamos el nombre del atributo cuyo valor queremos obtener y la opción de no cambiar la animación:
51
Queue
Configuración:
En Select queue behavior, especificamos sorted queue y en Select sort method especificamos first in, first out.
Get
Get Properties
Configuración:
Unicamente seleccionamos en Property Name el atributo que queremos consultar. En nuestro caso es tipo.
Marcamos Show property name on output connector Marcamos Show property value on output connector
52
Lookup table
El valor del atributo que se obtiene con el bloque Get estará disponible en el conector tipo, del bloque y que se toma como entrada para los bloques Lookup table, al igual que con la generación del intervalo para obtener los pasajeros del avión.
Vamos hacer uso de dos bloques para generar el valor Minimo y Maximo de la distrubucion Real, Uniforme del bloque Random Number que dara el tiempo que el avión pasara en mantenimiento.
El primer bloque lo configuraremos para que nos genere el valor Minimo del rango.
El segundo bloque para que genere el valor Maximo del rango.
Al final las salidas de los bloques se conectan al bloque Random Number en los conectores
correctos.
Table
Configuración:
En la seccion Specify behavior configuramos el bloque con los valores input value (Lookup the), y discrete (Output is).
En la sección Enter values in the table especificamos que solamente vamos a tener dos opciones y para cada uno seleccionamos el nombre de la opcion y el valor que se quiere. En este caso lo valores corresponden a los limites inferios de cada uno de los rangos.
53 La misma configuración se aplica para el otro bloque, solamente que se deben de cambiar los valores de la salida para cada una delas opciones, que serian la de los limites superiores de cada uno de los rangos de los tiempos que el avión pasaría en mantenimeinto según se indican en el caso de estudio.
Activity
Finalmente el bloque Activity, representa dos grupos de mantenimiento, los cuales se tarda el tiempo que nos da el bloque Random Number en darle mantenimiento al avión.
Process
Configuración:
Especificamos en Maximum ítems in activity el valor 2, con el cual se simula que habran dos equipos brindando servicio.
54
Sistema de entrega de equipaje y cobro de multas
Espera para entrega de equipaje
Al descender del avión cada pasajero se dirige al área encargada de la entrega y control de equipaje, dado que el enunciado no especifica mayor información de como es este proceso, entonces se asume que existe una cola en donde los pasajeros esperan pos su equipaje.
Entrega de equipaje
Para modelar la entrega del equipaje al pasajero, lo hacemos agregandole un nuevo atributo al pasajero en este caso, para el manejo de la cantidad de maletas que trae consigo. La cantidad en generada de acuerdo a la información proporcionada en el caso de estudio, con la ayuda de un bloque Random Number.
55
Cálculo de multas
Luego de asignarle a cada uno de los pasajeros la cantidad de maletas, es tiempo de calcular la multa total que tiene que pagar. Para ello en primer lugar tenemos que saber el número de maletas asignados al pasajero.
Con ese valor se procede a generar el intervalo para el peso de las maletas, segun la
información del problema: dice que el peso de las maletas es una distribucion Normal con media=25*n y desviación=2.5*n, donde 'n' es la cantidad de maletas. Los bloques 'Constant' nos sirven entonces para tomar el valor por el cual multiplicar la cantidad de maletas, en este caso el primero tiene un valor de 25 y el siguiente el valor de 2.5. El bloque ''Multiply' entonces recibe como entrada la cantidad de maletas y el valor de la contante para generar el valor que se envia al bloque Random.
Ya teniendo el valor de Media en el conector 1 del bloque Random y la desviación en el
conector 2, y configurando el bloque Random para que use una distribucion normal, nos genera valor de peso de la maleta.
Finalmete para hacer el cálculo de la multa, hacemos uso del bloque 'Equation(I)', el cual nos
permite programar codigo estandar ModL. La forma en la que se calcula la multa es la siguiente:
Primero se verifica si la cantidad maletas es menor o igual a 2, si es cierto lo único que se debe de verificar es si el peso total de las maletas excede el valor el valor de la media (25*n) y calcular la multa en base a la cantidad de kilos de exceso, la siguiente fórmula hace esta tarea:
pago = multa_peso * Max2(peso_total - const_media * maletas, 0);
Por otro lado si la cantidad de maletas excesa a 2, entonces ademas de la multa por exceso de kilo se cobra multa por exceso de equipaje, a travez de la siguiente formla:
56