Vous êtes sur la page 1sur 130

UNIVERSIDADE DA CORUA

FACULTAD DE INFORMTICA
Departamento de Matemticas

PROYECTO DE FIN DE CARRERA DE


INGENIERA INFORMTICA

Diseo e implementacin de una herramienta para la


enseanza y el aprendizaje de la teora de colas

Autor :

Jorge L. Vega Valle

Director :

Ricardo Cao Abad

A Corua, Enero de 2004

Ttulo del proyecto:

Diseo e implementacin de una herramienta para


la enseanza y aprendizaje de la teora de colas.

Clase de proyecto:

Clsico de ingeniera

Nombre del autor:

Jorge L. Vega Valle

Nombre del director: Ricardo Cao Abad

Miembros del Tribunal

Fecha de lectura y
defensa
Calificacin obtenida

A mi madre

AGRADECIMIENTOS
Se me hace bastante complicado el intentar condensar en una sola pgina los
agradecimientos a todas aquellas personas que han tenido una influencia directa o
indirecta en la realizacin de este proyecto.
En primer lugar, a mi familia, en especial a mi abuela, mi madre y mi hermana, por
su preocupacin, su apoyo en los momentos difciles y la confianza depositada en m.
Tambin me gustara agradecer a todos aquellos profesores de la facultad,
especialmente a mi director de proyecto, Ricardo Cao, por su dedicacin, su
disposicin y por toda la ayuda prestada y a Jos M Domnguez.
No sera justo que me quedase sin agradecer tanto a todos los compaeros de
prcticas que he tenido a lo largo de estos aos: Pablo, Alberto, Vctor, Miguel,... y
sobre todo a Juanda, como a todos los compaeros y amigos que he conocido en la
facultad.
Por ltimo, aunque no por ello menos importante, me gustara tambin dar las
gracias a mis amigos de Santa Mara del Mar, especialmente a Juan y a Luis, por su
preocupacin y las veces que nos hemos redo todos juntos.

RESUMEN
Mediante la realizacin de este proyecto se pretende desarrollar una aplicacin que
permita resolver los distintos problemas de teora de colas (modelos y redes de colas)
que se puedan plantear, y que al mismo tiempo pueda ser empleada en un mbito
docente.
Para ello se ha desarrollado en MATLAB una aplicacin que resuelve dichos
problemas desde una perspectiva dual: aquellos modelos en los cuales tanto la
distribucin del tiempo entre llegadas como la distribucin del tiempo de servicios
sean de carcter exponencial, se resolvern de forma analtica, proporcionando una
respuesta exacta a dicho problema implementado las distintas frmulas existentes;
por otra parte cuando la distribucin del tiempo entre llegadas o la del tiempo de
servicios sean o no exponenciales, se resolver dicho problema empleando tcnicas
de simulacin.
En ambos casos el usuario tiene la posibilidad de conocer las caractersticas del
problema introducido mediante la visualizacin (grfica o numrica) de un
determinado nmero de parmetros como los siguientes: nmero medio de clientes
en el sistema, nmero medio de clientes en la cola, tiempo medio que un cliente est
en el sistema, tiempo medio de espera en la cola, eficiencia del sistema, intensidad de
trfico del sistema, probabilidad de que haya un determinado nmero de clientes en
el sistema, probabilidad de que haya un determinado nmero de clientes en el
sistema justo cuando una nueva llegada se est produciendo o la probabilidad de que
un determinado cliente est en la cola o en el sistema durante un tiempo menor que
uno establecido.
Con el desarrollo de esta aplicacin, se pretende ofrecer al usuario la posibilidad de
conocer mejor las caractersticas del problema introducido e incluso tomar decisiones
sobre el mismo si se trata de un problema real.

PALABRAS CLAVE
Fase de estabilizacin, Fase de simulacin, Modelo M/M/-, Redes de Jackson
abiertas, Redes de Jackson cerradas, Simulacin estocstica, Sistemas de espera,
Tasa de llegada, Tasa de servicio, Teora de colas.

Lista de Figuras
Figura 1- Modelo de una cola simple .........................................................................15
Figura 2- Elementos existentes en un modelo de colas..............................................19
Figura 3- Red de Jackson abierta con K = 3...............................................................28
Figura 4- Red de Jackson cerrada con K = 3 ..............................................................30
Figura 5- Resumen de tipos de simulacin ................................................................36
Figura 6- Comportamiento de la simulacin ..............................................................38
Figura 7- Ciclo de vida para la parte de resolucin analtica .....................................42
Figura 8- Ciclo de vida para la parte de simulacin...................................................43
Figura 9- Comportamiento grfico de la simulacin..................................................68
Figura 10- Actualizacin de los valores de "c" y "d" en las redes cerradas ................82
Figura 11- Localizacin de la carpeta en donde se encuentra la aplicacin.............125
Figura 12- Ventana inicial de la aplicacin..............................................................126

ndice
Captulo 1: Introduccin ...........................................................................................11
1.1- Caractersticas iniciales del proyecto ..........................................................12
1.1.1- Justificacin del proyecto.........................................................................12
1.1.2- Objetivos del proyecto .............................................................................12
1.1.3- Herramienta utilizada para el desarrollo ..................................................13
1.2- Introduccin a la Teora de Colas ...............................................................14
1.2.1- El origen ...................................................................................................14
1.2.2- Definiciones iniciales ...............................................................................15
1.2.3- Objetivos de la Teora de Colas ...............................................................16
1.2.4- Elementos existentes en un modelo de colas ...........................................17
1.2.5- Terminologa y notacin ..........................................................................20
1.2.5.1- Terminologa .........................................................................................20
1.2.5.2- Conceptos bsicos .................................................................................21
1.2.5.3- Notacin de Kendall..............................................................................22
1.2.6- Redes de colas ..........................................................................................24
1.2.6.1- Introduccin a las redes de colas...........................................................24
1.2.6.2- Redes de Jackson abiertas .....................................................................26
1.2.6.3- Redes de Jackson cerradas ....................................................................28
1.3- Introduccin a la Simulacin .......................................................................31
1.3.1- Conceptos bsicos ....................................................................................31
1.3.2- Experimentacin real y simulacin..........................................................32
1.3.3- Tipos de simulacin .................................................................................33
1.3.3.1- Simulacin esttica y dinmica.............................................................33
1.3.3.2- Simulacin por eventos y por cuantos ..................................................34
1.3.4- Problemas de estabilizacin y dependencia .............................................36
1.3.5- Comportamiento de la simulacin ...........................................................37
1.3.6- Aplicaciones comunes y uso de la simulacin.........................................38

Captulo 2: Aspectos de implementacin..................................................................40


2.1- Caractersticas generales de la aplicacin ..................................................41
2.1.1- Filosofa de la implementacin ................................................................41
2.1.2- Ciclo de vida empleado............................................................................42
2.1.3- Parmetros de entrada y salida.................................................................43
2.1.4- Distribuciones de probabilidad elegidas ..................................................48
2.2- Resolucin analtica ......................................................................................50
2.2.1- Caractersticas generales ..........................................................................50
2.2.2- Resolucin de los modelos.......................................................................50
2.2.2.1- Modelo M/M/1 ......................................................................................50
2.2.2.2- Modelo M/M/s.......................................................................................51
2.2.2.3- Modelo M/M/1/K...................................................................................52
2.2.2.4- Modelo M/M/s/K ...................................................................................54
2.2.2.5- Modelo M/M/1/ /H .............................................................................55
2.2.2.6- Modelo M/M/s/ /H..............................................................................57
2.2.2.7- Modelo M/M/s/ /H con Y repuestos....................................................58
2.2.2.8- Modelo M/M/......................................................................................59
2.2.2.9- Redes de Jackson abiertas .....................................................................60
2.2.2.10- Redes de Jackson cerradas ..................................................................63
2.3- Resolucin por simulacin............................................................................67
2.3.1- Caractersticas generales ..........................................................................67
2.3.2- Implementacin de los distintos modelos ...............................................68
2.3.2.1- Bucle de simulacin del modelo G/G/1 ................................................69
2.3.2.2- Bucle de simulacin del modelo G/G/s.................................................70
2.3.2.3- Bucle de simulacin del modelo G/G/1/K ............................................72
2.3.2.4- Bucle de simulacin del modelo G/G/s/K.............................................73
2.3.2.5- Bucle de simulacin del modelo G/G/1/ /H .......................................74
2.3.2.6- Bucle de simulacin del modelo G/G/s/ /H........................................75
2.3.2.7- Bucle de simulacin del modelo G/G/s/ /H con Y repuestos..............77
2.3.2.8- Bucle de simulacin del modelo G/G/ ...............................................78
2.3.2.9 Bucle de simulacin de las redes cerradas .............................................80
2.3.2.10- Bucle de simulacin de las redes abiertas ...........................................83

2.4- Detalles de la implementacin......................................................................87


2.4.1- Clculo de W(t) en los modelos en los que no hay una solucin analtica
............................................................................................................................87
2.4.2- Problemas de desbordamiento en el clculo ............................................88
2.4.3- Problemas de precisin en el clculo .......................................................89

Captulo 3: Evaluacin de la aplicacin...................................................................91


3.1- Validacin de los resultados de la simulacin ............................................92
3.1.1- Variacin del parmetro de estabilizacin y del nmero de clientes de la
simulacin ..........................................................................................................92
3.1.2- Variacin de la intensidad de trfico........................................................95
3.1.3- Variacin del modelo de colas .................................................................97
3.2- Validacin de la simulacin de las distribuciones de probabilidad........100
3.3- Influencia de la variacin de algunos parmetros en el tiempo de
ejecucin de la simulacin .................................................................................111
3.3.1- Variacin de la distribucin de probabilidad .........................................111
3.3.2- Variacin de la intensidad de trfico......................................................113
3.3.3- Variacin del parmetro de estabilizacin y nmero de clientes de la
simulacin ........................................................................................................114
3.3.4- Variacin del modelo de colas ...............................................................116

Captulo 4: Conclusiones y trabajo futuro .............................................................118

Apndice A: Caractersticas de las de distribuciones usadas en la aplicacin .121


Apndice B: Instalacin y ejecucin de la aplicacin..........................................124
Apndice C: Contenido del CD .............................................................................127

Bibliografa..............................................................................................................128

Captulo 1: Introduccin
No importa en qu cola se site: La otra siempre avanzar ms rpido
(Primera Ley de Harper)
Y si se cambia de cola, aqulla en la que estaba al principio empezar a ir ms
deprisa (Segunda Ley de Harper)

Captulo 1: Introduccin

Jorge L. Vega Valle

1.1- Caractersticas iniciales del proyecto


1.1.1- Justificacin del proyecto
Las colas son un aspecto de la vida moderna que nos encontramos continuamente
en nuestras actividades diarias. En el contador de un supermercado, accediendo a
Internet,... el fenmeno de las colas surge cuando unos recursos compartidos
necesitan ser accedidos para dar servicio a un elevado nmero de trabajos o clientes.
El estudio de las colas es importante porque proporciona tanto una base terica del
tipo de servicio que podemos esperar de un determinado recurso, como la forma en la
cual dicho recurso puede ser diseado para proporcionar un determinado grado de
servicio a sus clientes.
Debido a lo comentado anteriormente, se plantea como algo muy til el desarrollo
de una herramienta que sea capaz de dar una respuesta sobre las caractersticas que
tiene un determinado modelo de colas.

1.1.2- Objetivos del proyecto


Estos son algunos de los objetivos que se pretenden alcanzar con el desarrollo de la
aplicacin:
Facilitar al usuario una herramienta que le permita obtener de forma sencilla
(tanto grfica como analticamente),
modelo de colas.

12

las caractersticas de un determinado

Captulo 1: Introduccin

Jorge L. Vega Valle

Fomentar el estudio y aprendizaje de la teora de colas en un mbito docente,


usando la herramienta como un posible complemento de las clases tericas.
Poder estudiar como influye la variacin de los parmetros de un modelo
sobre el modelo inicial para as, facilitar la toma de decisiones.

1.1.3- Herramienta utilizada para el desarrollo


La programacin de los distintos modelos de colas conlleva la codificacin de un
gran nmero de frmulas matemticas, no todas ellas sencillas, que dan respuesta a
las caractersticas del mismo. Asimismo, el clculo vectorial y matricial est presente
en una gran parte de estas frmulas matemticas (por ejemplo: las probabilidades
para ir de un nodo a otro forman una matriz, la evolucin de (t) a lo largo del
tiempo se puede guardar en un vector,...).
Por todo ello, y tambin debido a su facilidad de uso, a la productividad respecto a
otros entornos de desarrollo y a que se trata de una herramienta ampliamente
extendida en el mbito docente que puede ayudar a fomentar la enseanza y el
aprendizaje de la teora de colas se ha elegido MATLAB como la herramienta ms
adecuada para resolver un problema de estas caractersticas.

13

Captulo 1: Introduccin

Jorge L. Vega Valle

1.2- Introduccin a la Teora de Colas


En muchas ocasiones en la vida real, un fenmeno muy comn es la formacin de
colas o lneas de espera. Esto suele ocurrir cuando la demanda real de un servicio es
superior a la capacidad que existe para dar dicho servicio. Ejemplos reales de esa
situacin son: los cruces de dos vas de circulacin, los semforos, el peaje de una
autopista, los cajeros automticos, la atencin a clientes en un establecimiento
comercial, la avera de electrodomsticos u otro tipo de aparatos que deben ser
reparados por un servicio tcnico, etc.
Todava ms frecuentes, si cabe, son las situaciones de espera en el contexto de la
informtica, las telecomunicaciones y, en general, las nuevas tecnologas. As, por
ejemplo, los procesos enviados a un servidor para ejecucin forman colas de espera
mientras no son atendidos, la informacin solicitada, a travs de Internet, a un
servidor Web puede recibirse con demora debido a congestin en la red o en el
servidor propiamente dicho, podemos recibir la seal de lneas ocupadas si la central
de la que depende nuestro telfono mvil est colapsada en ese momento, etc.

1.2.1- El origen
El origen de la Teora de Colas est en el esfuerzo de Agner Kraup Erlang
(Dinamarca, 1878 - 1929) en 1909 para analizar la congestin de trfico telefnico
con el objetivo de cumplir la demanda incierta de servicios en el sistema telefnico
de Copenhague. Sus investigaciones acabaron en una nueva teora denominada teora
de colas o de lneas de espera. Esta teora es ahora una herramienta de valor en
negocios debido a que un gran nmero de problemas pueden caracterizarse, como
problemas de congestin llegada-salida.

14

Captulo 1: Introduccin

Jorge L. Vega Valle

1.2.2- Definiciones iniciales


La teora de colas es el estudio matemtico del comportamiento de lneas de
espera. Esta se presenta, cuando los clientes llegan a un lugar demandando un
servicio a un servidor, el cual tiene una cierta capacidad de atencin. Si el servidor
no est disponible inmediatamente y el cliente decide esperar, entonces se forma la
lnea de espera.
Una cola es una lnea de espera y la teora de colas es una coleccin de modelos
matemticos que describen sistemas de lnea de espera particulares o sistemas de
colas. Los modelos sirven para encontrar un buen compromiso entre costes del
sistema y los tiempos promedio de la lnea de espera para un sistema dado.
Los sistemas de colas son modelos de sistemas que proporcionan servicio. Como
modelo, pueden representar cualquier sistema en donde los trabajos o clientes llegan
buscando un servicio de algn tipo y salen despus de que dicho servicio haya sido
atendido. Podemos modelar los sistemas de este tipo tanto como colas sencillas o
como un sistema de colas interconectadas formando una red de colas. En la siguiente
figura podemos ver un ejemplo de modelo de colas sencillo. Este modelo puede
usarse para representar una situacin tpica en la cual los clientes llegan, esperan si
los servidores estn ocupados, son servidos por un servidor disponible y se marchan
cuando se obtiene el servicio requerido.

Servidor(es)
Llegadas

Salidas
Posiciones de
espera
Figura 1- Modelo de una cola simple

15

Captulo 1: Introduccin

Jorge L. Vega Valle

El problema es determinar qu capacidad o tasa de servicio proporciona el balance


correcto. Esto no es sencillo, ya que un cliente no llega a un horario fijo, es decir, no
se sabe con exactitud en que momento llegarn los clientes. Tambin el tiempo de
servicio no tiene un horario fijo.
Los problemas de colas se presentan permanentemente en la vida diaria: un
estudio en EEUU concluy que, por trmino medio, un ciudadano medio pasa cinco
aos de su vida esperando en distintas colas, y de ellos casi seis meses parado en los
semforos.

1.2.3- Objetivos de la Teora de Colas


Los objetivos de la teora de colas consisten en:
Identificar el nivel ptimo de capacidad del sistema que minimiza el coste
global del mismo.
Evaluar el impacto que las posibles alternativas de modificacin de la
capacidad del sistema tendran en el coste total del mismo.
Establecer un balance equilibrado (ptimo) entre las consideraciones
cuantitativas de costes y las cualitativas de servicio.
Hay que prestar atencin al tiempo de permanencia en el sistema o en la cola: la
paciencia de los clientes depende del tipo de servicio especfico considerado y eso
puede hacer que un cliente abandone el sistema.

16

Captulo 1: Introduccin

Jorge L. Vega Valle

1.2.4- Elementos existentes en un modelo de colas


Fuente de entrada o poblacin potencial: Es un conjunto de individuos
(no necesariamente seres vivos) que pueden llegar a solicitar el servicio en
cuestin. Podemos considerarla finita o infinita. Aunque el caso de infinitud no
es realista, s permite (por extrao que parezca) resolver de forma ms sencilla
muchas situaciones en las que, en realidad, la poblacin es finita pero muy
grande. Dicha suposicin de infinitud no resulta restrictiva cuando, an siendo
finita la poblacin potencial, su nmero de elementos es tan grande que el
nmero de individuos que ya estn solicitando el citado servicio prcticamente no
afecta a la frecuencia con la que la poblacin potencial genera nuevas peticiones
de servicio.
Cliente: Es todo individuo de la poblacin potencial que solicita servicio.
Suponiendo que los tiempos de llegada de clientes consecutivos son 0<t1<t2<...,
ser importante conocer el patrn de probabilidad segn el cual la fuente de
entrada genera clientes. Lo ms habitual es tomar como referencia los tiempos
entre las llegadas de dos clientes consecutivos: {k} = tk - tk-1, fijando su
distribucin de probabilidad. Normalmente, cuando la poblacin potencial es
infinita se supone que la distribucin de probabilidad de los k (que ser la
llamada distribucin de los tiempos entre llegadas) no depende del nmero de
clientes que estn en espera de completar su servicio, mientras que en el caso de
que la fuente de entrada sea finita, la distribucin de los k variar segn el
nmero de clientes en proceso de ser atendidos.
Capacidad de la cola: Es el mximo nmero de clientes que pueden estar
haciendo cola (antes de comenzar a ser servidos). De nuevo, puede suponerse
finita o infinita. Lo ms sencillo, a efectos de simplicidad en los clculos, es
suponerla infinita. Aunque es obvio que en la mayor parte de los casos reales la

17

Captulo 1: Introduccin

Jorge L. Vega Valle

capacidad de la cola es finita, no es una gran restriccin el suponerla infinita si es


extremadamente improbable que no puedan entrar clientes a la cola por haberse
llegado a ese nmero lmite en la misma.
Disciplina de la cola: Es el modo en el que los clientes son seleccionados
para ser servidos. Las disciplinas ms habituales son:
La disciplina FIFO (first in first out), tambin llamada FCFS (first
come first served): segn la cual se atiende primero al cliente que antes haya
llegado.
La disciplina LIFO (last in first out), tambin conocida como LCFS
(last come first served) o pila: que consiste en atender primero al cliente que
ha llegado el ltimo.
La RSS (random selection of service), o SIRO (service in random
order), que selecciona a los clientes de forma aleatoria.
La disciplina RR (round robin), segn la cual se otorga un pequeo
cuanto de tiempo de servicio a cada cliente de forma secuencial. Esto viene a
equivaler a repartir los recursos de forma igualitaria entre todos los clientes
en espera y, por supuesto slo tiene sentido en algunas circunstancias (como
el mbito de la informtica).
Mecanismo de servicio: Es el procedimiento por el cual se da servicio a
los clientes que lo solicitan. Para determinar totalmente el mecanismo de servicio
debemos conocer el nmero de servidores de dicho mecanismo (si dicho nmero
fuese aleatorio, la distribucin de probabilidad del mismo) y la distribucin de
probabilidad del tiempo que le lleva a cada servidor dar un servicio. En caso de

18

Captulo 1: Introduccin

Jorge L. Vega Valle

que los servidores tengan distinta destreza para dar el servicio, se debe
especificar la distribucin del tiempo de servicio para cada uno.
La cola, propiamente dicha, es el conjunto de clientes que hacen espera, es
decir los clientes que ya han solicitado el servicio pero que an no han pasado al
mecanismo de servicio.
El sistema de la cola: es el conjunto formado por la cola y el mecanismo
de servicio, junto con la disciplina de la cola, que es lo que nos indica el criterio
de qu cliente de la cola elegir para pasar al mecanismo de servicio.
Estos elementos pueden verse ms claramente en la siguiente figura:

Disciplina de la cola
Llegada de un cliente
Cola
Servicio

Fuente de
entrada

Mecanismo de servicio
Sistema de la cola

Figura 2- Elementos existentes en un modelo de colas

19

Captulo 1: Introduccin

Jorge L. Vega Valle

1.2.5- Terminologa y notacin


1.2.5.1- Terminologa
A menos que se establezca otra cosa, y tomando como referencia [Cao-02], se
utilizar la siguiente terminologa estndar:
N(t): Denota el nmero de clientes en el sistema en el instante t. N(t) es un
proceso estocstico en tiempo continuo y con espacios de estados discreto.
Nq(t): Representa el nmero de clientes en la cola en el instante t.
Pn(t): Es la probabilidad de que, en el instante t, se encuentren n clientes en
el sistema. A estos efectos se supone conocido el nmero de clientes en el
instante cero (usualmente dicho nmero es cero).
s: Denota el nmero de servidores del mecanismo de servicio.
n: Representa el nmero medio de llegadas de clientes al sistema, por
unidad de tiempo, cuando ya hay n clientes en l. Tambin se denomina tasa de
llegadas (que se correspondera con la tasa de nacimientos si N(t) es un proceso
de nacimiento y muerte). Cuando las tasas de llegada no dependen de n (es decir
todos los n son constantes) suele denotarse por dicho valor constante.
n: Es el nmero medio de clientes a los que se les completa el servicio,
por unidad de tiempo, cuando hay n clientes en el sistema. Es frecuente referirse
a los n como tasas de compleccin de servicio (o, simplemente, tasas de
servicio). Si todos los servidores tienen la misma distribucin del tiempo de
servicio, suele denotarse por el nmero medio de clientes que puede atender

20

Captulo 1: Introduccin

Jorge L. Vega Valle

cada servidor por unidad de tiempo. Como consecuencia se tiene que n= n si


n = 1, 2,..., s y n = s para n s.
: Es la llamada constante de utilizacin del sistema o intensidad de
trfico. Se define, como

Cuando los n son constantes y todos los servidores tienen la misma distribucin de
tiempo de servicio, es el nmero medio de clientes que entran en el sistema y s es
el nmero medio de clientes a los que pueden dar servicio los s servidores cuando
todos estn ocupados. En estas condiciones, representa la fraccin de recursos del
sistema que es consumida por los clientes. As, intuitivamente, parece necesario que
se cumpla, en estos casos, que < 1 y adems cuanto ms cercano a 1 que sea su
valor, ms trfico ha de soportar el sistema (o menos tiempo libre tendrn los
servidores, o ms espera habrn de sufrir los clientes, como se quiera expresar).
Aunque es evidente que no tiene unidades, es habitual medir la intensidad de
trfico en Erlangs, en honor a los trabajos pioneros de Erlang en la teora de colas.

1.2.5.2- Conceptos bsicos


Los siguientes conceptos, como se puede ver en [Cao-02], son de utilidad para
analizar las caractersticas y el comportamiento de un modelo de colas estacionario:

N: Es la variable aleatoria que contabiliza el nmero de clientes en el sistema.


Nq: Denota la variable aleatoria nmero de clientes en la cola.

21

Captulo 1: Introduccin

Jorge L. Vega Valle

pn: Es la probabilidad de que se encuentren n clientes en el sistema (n = 0,


1,).
L: Representa el nmero medio de clientes en el sistema, es decir L = E(N).
Lq: Que no es ms que el nmero medio de clientes en la cola, o lo que es lo
mismo, Lq = E(Nq).

: Es la variable aleatoria que describe el tiempo que un cliente pasa en el


sistema o tambin llamado tiempo de espera en el sistema (incluyendo el tiempo
de servicio) para cada cliente.

q: Representa el tiempo que un cliente espera en la cola.


W: Es el tiempo medio que un cliente est en el sistema. En trminos
matemticos, W = E().
Wq: Denota el tiempo medio de espera en la cola para un cliente genrico.
Matemticamente, Wq = E(q).

1.2.5.3- Notacin de Kendall


Para clasificar los posible tipos de sistemas de colas debemos especificar las
caractersticas que determinan los elementos que lo componen. As, Kendall (ver
[Bos-02], [Cao-02] o [Hil-97]) introdujo en 1953 la notacin A/B/s para indicar que
la distribucin del tiempo entre llegadas es de del tipo A, que B es la distribucin del
tiempo de servicio y que s es el nmero de servidores. Posteriormente esta notacin

22

Captulo 1: Introduccin

Jorge L. Vega Valle

se extendi dando lugar a la ms habitual en nuestros das, consistente en designar el


sistema de una cola con la nomenclatura A/B/s/K/H/Z, donde:
A es la distribucin del tiempo entre llegadas. Algunas de las abreviaturas
ms usadas para las distribuciones entre llegadas son: M (exponencial), D
(determinstica), Ek (Erlang con segundo parmetro k), U (uniforme), (gamma)
o G (distribucin genrica), entre otras.
B es la distribucin del tiempo de servicio. Se usan las mismas abreviaturas
que las mencionadas para A.
s es el nmero de servidores del sistema. Puede ser un nmero entero positivo
(s = 1, 2,) o bien s = .
K es la capacidad de la cola (o longitud mxima de la misma). Tambin K
puede ser un nmero entero mayor o igual que cero, o bien K = , si no hay
lmite para la cola. El valor de K puede omitirse, tomndose por defecto K = .
H es el tamao de la poblacin potencial. Tambin puede ser finito o infinito.
Este ltimo valor es el que se toma por defecto cuando se omite su valor.
Z es la disciplina en la cola. Algunas abreviaturas para Z son FIFO, LIFO,
RSS, PR (disciplina con prioridades) o GD (disciplina general). Su valor por
defecto (en caso de omitirse Z) es FIFO.
As, por ejemplo, la notacin M/D/2/ / /FIFO indica que se trata del sistema de
una cola con tiempo entre llegadas exponenciales, tiempo de servicio determinstico
(i.e. siempre se tarda el mismo tiempo en darle servicio a cada cliente), hay 2
servidores en el mecanismo de servicio, no existe lmite para el nmero de clientes
que pueden estar en la cola de espera, la poblacin potencial se supone con infinitos

23

Captulo 1: Introduccin

Jorge L. Vega Valle

clientes y los clientes son atendidos segn una disciplina FIFO. Como los tres
ltimos valores ( , y FIFO) son precisamente los asignados por defecto, la
notacin anterior podra abreviarse como M/D/2.

1.2.6- Redes de colas


Se presentan aqu los modelos bsicos de redes de colas abiertas y cerradas con
distribucin del tiempo de servicio y distribucin del tiempo entre llegadas (si es el
caso) exponencial. Adems se impondr la restriccin de que los clientes que salen
servidos de una de las colas que compone la red se mueven instantneamente y con
ciertas probabilidades prefijadas a cualquier otra posible cola de la red. Estos
modelos dan lugar a las llamadas redes de Jackson (abiertas y cerradas).

1.2.6.1- Introduccin a las redes de colas


Una red de colas no es ms que una red en la que cada nodo est constituido por el
sistema de una cola. Se trata, por tanto, de un grafo orientado en el que se pueden
producir transiciones de clientes que salen servidos de un nodo (que es una cola)
hacia otro nodo. La forma ms habitual (aunque no la nica) para modelizar el modo
en que los clientes servidos en un nodo se dirigen a otro es considerando que lo
hacen de acuerdo a una distribucin de probabilidad discreta.
Al igual que en los modelos de una nica cola, en las redes de colas abiertas
tambin pueden producirse llegadas de clientes desde fuera del sistema (desde fuera
de la red, en este caso) y salidas de clientes servidos hacia fuera de la red. A
diferencia de aqul caso, en las redes de colas s tiene sentido el plantear situaciones
en las que no hay llegadas de clientes desde fuera de la red ni salidas hacia fuera de

24

Captulo 1: Introduccin

Jorge L. Vega Valle

la red. Esto da lugar a las llamadas redes cerradas y tienen la peculiaridad que el
nmero total de clientes en la red es fijo, y lo nico que desconocemos es dnde se
encuentran (en qu nodos concretos) y en qu estado de servicio se hallan. Por su
parte, las redes abiertas son aquellas en que s se producen llegadas de clientes y
salidas hacia fuera de la red.
Como se comentaba con anterioridad, denotando por 1, 2,, K, los nodos que
forman la red (es decir las etiquetas con las que denotamos a cada cola) la manera
ms frecuente de modelizar las transiciones de clientes consiste en suponer que
cuando un cliente sale servido de la cola del nodo i (siendo i {1, 2,, K}) se
desplaza instantneamente al sistema de la cola de cualquier otro nodo j {1,
2,, K}, con probabilidad pij. Evidentemente, en las colas abiertas tambin es
posible que desde algunos nodos se pueda abandonar la red. Denotando con el ndice
0 el exterior de la red, la probabilidad de que un cliente abandone la red cuando sale
servido del nodo i se denotar por pi0 y puede calcularse a partir de las anteriores
mediante
K

pi 0 = 1 pij
j =1

Este tipo de esquema de transicin de clientes se denotar esquema de


transiciones instantneas aleatorias de clientes.

En una situacin como la anterior, las probabilidades de transicin de clientes de


unos nodos a otros se pueden expresar de forma matricial:

25

Captulo 1: Introduccin

p11

p 21
M
P=
pi1

M
p
K1

Jorge L. Vega Valle

p12
p 22
M
pi 2
M
pK 2

L p1 j
L p2 j
O M
L pij
O M
L p Kj

L p1K

L p2 K
O
M

L piK
O
M
L p KK

Esta es la llamada matriz de transicin de la red.


Normalmente denotaremos por i la tasa de entrada desde fuera del sistema a la
cola del nodo i {1, 2,, K}. Asimismo i denotar la tasa de servicio de cada uno
de los servidores del subsistema del nodo i. De esta forma, bajo la hiptesis de que
los tiempos entre llegadas desde fuera del sistema sean de distribucin exponencial
de parmetro T (que denota la tasa de entrada al sistema, T = i ) y denotando por

p0i la probabilidad de que cuando un cliente entra al sistema lo haga a travs del nodo
i, se tiene que la distribucin del tiempo entre dos entradas consecutivas de clientes
al subsistema del nodo i es tambin exponencial y con parmetro i = T p0i.
Obviamente los valores de i tambin pueden interpretarse como el nmero medio
de clientes que entran al sistema, por el nodo i, por unidad de tiempo. El nmero
efectivo de llegadas de clientes al subsistema del nodo i (sean procedentes de fuera
del sistema o de otro nodo del mismo) se denotar con la letra lambda mayscula i.

1.2.6.2- Redes de Jackson abiertas


Una red de Jackson abierta no es ms que una red de colas abierta (es decir, en la
es posible la llegada de clientes desde fuera de la red y la salida de clientes a fuera de
la red) que verifica las tres propiedades siguientes:

26

Captulo 1: Introduccin

Jorge L. Vega Valle

Cada nodo i = 1, 2,, K tiene un mecanismo de servicio consistente en si


servidores con tiempo de servicio de idntica distribucin exponencial de
parmetro i, de tal forma que las distribuciones de los tiempos de servicio de
cada nodo son iguales en todos los servidores de un nodo (pudiendo ser distintos
entre los diferentes nodos de la red).
Los clientes que llegan al nodo i desde fuera del sistema lo hacen segn un
proceso de Poisson de intensidad i. Esto equivale a decir que los tiempos entre
dos llegadas de clientes consecutivos desde fuera del sistema al nodo i, siguen
una distribucin exponencial de dicho parmetro.
El flujo de clientes sigue el esquema de transiciones instantneas aleatorias.
Es decir, cada cliente que sale servido del mecanismo de servicio del nodo i va
instantneamente a cualquier otro nodo j con probabilidad pij, o bien sale del
K

sistema (lo cual ocurre con la siguiente probabilidad: pi 0 = 1 pij ).


j =1

En la siguiente figura podemos ver un ejemplo de red de colas abierta:

27

Captulo 1: Introduccin

Jorge L. Vega Valle

p11

p22

p12
NODO 1

p20
NODO 2

p21

p10

p32
p13

p23
p31

EXTERIOR

EXTERIOR

3
NODO 3
p30
p33

Figura 3- Red de Jackson abierta con K = 3

1.2.6.3- Redes de Jackson cerradas


Una red de Jackson cerrada es una red de colas cerrada con K nodos o subsistemas,
en la cual cada nodo i = 1, 2,, K tiene si servidores en su mecanismo de servicio,
siendo todos los del nodo i con tiempo de servicio de distribucin exponencial de
parmetro i. A diferencia de las redes abiertas, no es posible ni la entrada ni salida
de clientes hacia el exterior, con lo que, resulta indispensable especificar en nmero
de clientes dentro de la red, N, que permanecer constante siempre. Por este motivo,
LT = N y cantidades como WT o Wq,T, carecen de sentido. Lo realmente importante
aqu es determinar las probabilidades de que haya ni clientes en el nodo i para i = 1,
2,, K, que se denotarn por p n1 ,n2 ,...nK . Obviamente stas probabilidades son
distintas de cero slo si n1 + n2 + + nK = N.

28

Captulo 1: Introduccin

Jorge L. Vega Valle

Como no hay entradas de clientes, las probabilidades de transiciones entre nodos


deben verificar lo siguiente:
k

p
j =1

ij

=1

(siendo i un nodo cualquiera de la red de colas)

Tal y como se comenta en [Bos-02], una red de colas cerrada puede parecer inusual
a primera vista debido a que no permite entrada o salida de clientes de la red. Un
sistema tpico de este tipo podra ser uno en el cual haya una gran cantidad (infinita)
de clientes intentando entrar al sistema de forma continua, el nmero de clientes a los
que se les permite la entrada tiene un determinado valor fijo y un cliente entra en el
sistema de forma inmediata, siempre que se complete la secuencia de servicios de
otro cliente (por ejemplo, un sistema de computacin de tiempo compartido).
En la siguiente figura podemos ver un ejemplo de red de colas cerrada:

29

Captulo 1: Introduccin

Jorge L. Vega Valle

p11

p22

p12
NODO 1

NODO 2

p21
p32

p13

p23
p31

NODO 3

p33

Figura 4- Red de Jackson cerrada con K = 3

30

Captulo 1: Introduccin

Jorge L. Vega Valle

1.3- Introduccin a la Simulacin


Desde hace mucho tiempo la simulacin ha sido una herramienta importante en
una gran cantidad de mbitos. Por ejemplo, la simulacin del vuelo de un avin en un
tnel de viento es una prctica normal cuando se disea un nuevo avin. En teora se
podran usar las leyes de la fsica para obtener la misma informacin sobre los
cambios que sufre el avin si se modifican los parmetros, pero en el sentido
prctico, el anlisis sera muy complicado. Una alternativa sera construir aviones
reales para cada uno de los diseos y probarlos en vuelos reales, pero esto sera
demasiado costoso (a la vez que peligroso). Por lo tanto, despus de realizar un
anlisis terico preliminar para desarrollar un diseo bsico, la herramienta ms
viable para experimentar con los diseos especficos es la simulacin del vuelo en un
tnel de viento. Esta simulacin significa imitar el desempeo de un avin real en un
medio controlado con el fin de estimar cul sera el desempeo real. Despus de
desarrollar un diseo detallado se puede construir un modelo prototipo y probarse en
un vuelo real para dar los ltimos detalles del diseo final.

1.3.1- Conceptos bsicos


La simulacin es la tcnica que consiste en realizar experimentos de muestreo
sobre el modelo de un sistema. Un modelo no es ms que un conjunto de variables
junto con ecuaciones matemticas que las relacionan y restricciones sobre dichas
variables. La modelizacin es una etapa presente en la mayor parte de los trabajos de
investigacin (especialmente en las ciencias experimentales). En muchas ocasiones,
la realidad es bastante compleja como para ser estudiada directamente y es preferible
la formulacin de un modelo que contenga las variables ms relevantes que aparecen
en el fenmeno en estudio y las relaciones ms importantes entre ellas.

31

Captulo 1: Introduccin

Jorge L. Vega Valle

Frecuentemente, la resolucin de los problemas que se pretenden abordar puede


realizarse por procedimientos analticos sobre el modelo construido (normalmente
mediante el uso de herramientas matemticas como las de resolucin de ecuaciones
ordinarias o de ecuaciones diferenciales, el clculo de probabilidades, etc.). En otras
circunstancias dicha resolucin analtica no es posible (o es tremendamente
complicada o costosa) y es preferible una aproximacin de la solucin mediante
simulacin.

1.3.2- Experimentacin real y simulacin


Como se comenta en [Cao-02], la experimentacin directa sobre la realidad puede
tener muchos inconvenientes:
un coste muy alto
gran lentitud
en ocasiones las pruebas son destructivas
a veces no es tica (experimentacin sobre seres humanos)
puede resultar imposible (un acontecimiento futuro)
Razones como esas (y algunas otras) pueden indicar la ventaja de trabajar con un
modelo del sistema real. La estadstica es precisamente la ciencia que se preocupa de
cmo estimar los parmetros y contrastar la validez de un modelo a partir de los
datos observados del sistema real que se pretende modelizar.

32

Captulo 1: Introduccin

Jorge L. Vega Valle

1.3.3- Tipos de simulacin


1.3.3.1- Simulacin esttica y dinmica
La simulacin se dice esttica si en el modelo no juega ningn papel el transcurso
del tiempo mientras que es dinmica si el tiempo es una de las variables importantes
del modelo. En la simulacin esttica resulta muy sencillo comparar distintas
estrategias ante las mismas condiciones del azar, mientras que esto es ms
complicado en la simulacin dinmica, exigiendo un trabajo mayor de planificacin.
Adems, el coste computacional de la simulacin esttica es bastante ms moderado.
La simulacin esttica se usa muy frecuentemente por los estadsticos para
comprobar el comportamiento comparativo de diversos mtodos estadsticos
alternativos para tamaos muestrales finitos (complementando los estudios tericos,
casi siempre asintticos).
En la simulacin dinmica, normalmente se trata de ir analizando los distintos
estados por los que va pasando un sistema que evoluciona en el tiempo. Esto
provoca, en general, un mayor coste computacional y problemas de estabilizacin y
dependencia. Existen dos grandes tipos de simulacin dinmica: la simulacin
continua, en la que se supone que el sistema cambia de estado constantemente y la
simulacin discreta, para la cual los cambios se producen en ciertos instantes de
tiempo singulares. La razn de sus nombres viene de que en el primer caso el
conjunto de estados es continuo, mientras que en el segundo es discreto. Dentro de la
simulacin discreta distinguiremos la simulacin por eventos y la simulacin por
cuantos.

33

Captulo 1: Introduccin

Jorge L. Vega Valle

1.3.3.2- Simulacin por eventos y por cuantos


Con el nombre de simulacin por eventos, o asncrona, designamos el tipo de
simulacin dinmica discreta en la cual se controla la variable tiempo movindola
hasta la ocurrencia del siguiente suceso (o evento). Esto implica la necesidad de
controlar minuciosamente cul es dicho prximo suceso: saber cules son los
posibles sucesos en un futuro inmediato y cul de ellos es el ms inmediato.
Resumen de la simulacin por eventos: [Hil-97]
Se avanza el tiempo hasta el momento en que ocurre el siguiente evento de
cualquier tipo.
Se actualiza el sistema determinando su nuevo estado, que es el resultado de
este evento y generado aleatoriamente (si no se gener antes) el tiempo hasta la
siguiente ocurrencia de un evento de cualquier tipo que pueda ocurrir estando en
este estado. Tambin se registra la informacin deseada sobre el comportamiento
del sistema. (volver al paso anterior).
Ejemplo de simulacin por eventos: [Bos-02]
Supongamos una red de colas abierta con dos nodos. Los eventos que debemos
considerar son los siguientes:
Llegadas del exterior al nodo 1
Llegadas del exterior al nodo 2
Llegadas al nodo 1 procedentes del nodo 1
Llegadas al nodo 1 procedentes del nodo 2
Llegadas al nodo 2 procedentes del nodo 1

34

Captulo 1: Introduccin

Jorge L. Vega Valle

Llegadas al nodo 2 procedentes del nodo 2


Finalizacin del servicio (salida) en el nodo 1
Finalizacin del servicio (salida) en el nodo 2

Como se comenta en [Cao-02], la simulacin por cuantos, o asncrona, responde a


una filosofa totalmente diferente. Se trata de examinar el sistema (que evoluciona
en el tiempo) dejando pasar pequeos intervalos de tiempo de longitud , fija,
(llamada cuanto) en los cuales se supone que, a lo sumo, un slo suceso puede
producirse.
Resumen de la simulacin por cuantos: [Hil-97]
Se avanza el tiempo una cantidad fija pequea.
Se actualiza el sistema determinando los eventos que ocurrieron durante ese
lapso y el estado del sistema que resulta. Tambin se registra la informacin
deseada sobre el comportamiento del sistema (volver al paso anterior).
En general, la simulacin por eventos es exacta y de ms difcil implementacin,
pero de mucha ms rpida ejecucin que la simulacin por cuantos. Sin embargo
esta ltima es muchas veces la nica posibilidad factible en la simulacin
dinmica continua.

35

Captulo 1: Introduccin

Jorge L. Vega Valle

En el siguiente esquema podemos ver un resumen de los tipos de simulacin:

Simulacin

Esttica

Dinmica

Continua

Discreta

Por Eventos

Por Cuantos

Figura 5- Resumen de tipos de simulacin

1.3.4- Problemas de estabilizacin y dependencia


Ambas cuestiones suelen plantearse en la simulacin dinmica. Los problemas de
estabilizacin estn relacionados con el hecho de que, en ocasiones, el sistema
evoluciona en el tiempo de tal forma que tiene una distribucin estacionaria que se
supone de partida pero que puede ser muy sensible a las condiciones iniciales con las
que se comience la simulacin. En tal caso resulta conveniente el transcurso de cierto
perodo de tiempo (denominado perodo de estabilizacin) durante el cual los
resultados obtenidos para las variables de salida son ignorados y cuyo nico objeto es
conseguir que se estabilice la distribucin de probabilidad.
Los problemas de dependencia son aquellos derivados del hecho de que
frecuentemente (de nuevo en modelos de simulacin dinmica) las distintas variables

36

Captulo 1: Introduccin

Jorge L. Vega Valle

de salida de la simulacin son dependientes. Esto afecta fundamentalmente a la


precisin de los estimadores construidos con observaciones de las mismas. Una
forma de atenuar este efecto sera considerar observaciones de las mismas en
instantes temporalmente lejanos (donde se supone que la dependencia es mucho ms
dbil). En ocasiones, ms que atenuar este efecto se trata de estimar la precisin del
estimador resultante. Obviamente, para ello ha de tenerse en cuenta la dependencia.

1.3.5- Comportamiento de la simulacin


En la siguiente figura, se puede observar el comportamiento tpico de la simulacin
(descrito con ms detalle en [Bos-02]) de un parmetro Z durante una simulacin que
fue llevada a cabo en un intervalo de tiempo (0, T). El parmetro Z se encuentra
inicialmente en un estado transitorio, no necesariamente cercano a su verdadero
valor, pero en un momento dado alcanza valores ya muy cercanos a la cantidad de
inters.
En la figura se pueden observar dos intervalos: el primero de ellos, llamado
intervalo de transicin transcurre cuando t se encuentra entre 0 y TZ, mientras que el
segundo de ellos, en el cual la simulacin ha alcanzado las condiciones de equilibrio,
transcurre cuando t se encuentra entre TZ y T.

37

Captulo 1: Introduccin

Jorge L. Vega Valle

Estado
de Equilibrio
Estado
Transitorio

Simulacin
Variable, Z

TZ

Tiempo

Figura 6- Comportamiento de la simulacin

1.3.6- Aplicaciones comunes y uso de la simulacin


Se han realizado numerosas aplicaciones de simulacin en una gran variedad de
contextos. Estos son slo algunos ejemplos (podemos encontrar ms en [Hil-97]) que
ilustran la gran versatilidad de esta tcnica:
Simulacin de las operaciones en un aeropuerto por una compaa area para
probar cambios en las polticas y prcticas de la empresa.
Simulacin de la economa para predecir el efecto de las decisiones de las
polticas econmicas.

38

Captulo 1: Introduccin

Jorge L. Vega Valle

Simulacin de batallas militares de gran escala para evaluar los sistemas de


armamento ofensivo y defensivo.
Simulacin de un sistema de comunicaciones telefnicas para determinar la
capacidad requerida de las respectivas componentes para proporcionar un
servicio satisfactorio al nivel ms econmico.
Simulacin de la operacin de la cuenca hidrulica de un ro para determinar
la mejor configuracin de presas, plantas de energa y sistemas de irrigacin que
proporcione el nivel deseado de control de avenidas y desarrollo del recurso.
La simulacin es un mtodo de anlisis cientfico ampliamente usado. Un estudio
comentado por [Wat-89], de The Institute of Managemet Sciences (TIMS) y de la
Operactions Research Society of America (ORSA) averigu que la simulacin es una
de las tcnicas cientficas que ms se usa, solo detrs de las tcnicas de anlisis
estadstico (inferencia, teora de decisiones,...) y las tcnicas de anlisis econmico.
Otro estudio de los miembros de TIMS / ORSA comprob si las organizaciones
usaban tcnicas de simulacin, y, si efectivamente era as, que resultados haban
obtenido. Los resultados fueron que el 89% de las organizaciones utilizaban tcnicas
de simulacin y que el 85% de las mismas estaban contentas con los resultados
obtenidos.

39

Captulo 2: Aspectos de implementacin


No queda sino batirnos
(El personaje que protagoniza Francisco de Quevedo en la novela El Capitn
Alatriste de Arturo Prez-Reverte)

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.1- Caractersticas generales de la aplicacin


Como ya se ha comentado anteriormente, la aplicacin desarrollada es capaz de
resolver problemas de colas de forma analtica y mediante simulacin. Por ello,
hemos decidido llamar a la aplicacin con el siguiente nombre: AQUAS, cuyas siglas
significan Application for solving QUeuing problems Analytically and using
Simulation.

2.1.1- Filosofa de la implementacin


Como ya se ha comentado en anteriores apartados (ver 1.1.3), este proyecto ha sido
desarrollado

utilizando

MATLAB

como

herramienta

fundamental.

La

programacin de la aplicacin ha sido realizada utilizando tanto ficheros de


comandos (scripts), como funciones, mientras que el control de los distintos eventos
se ha desarrollado empleando callbacks1 .
Es importante resear que, a pesar de que la palabra diseo est incluida en el
titulo del proyecto, no tiene la connotacin tpica en informtica (ya que esta suele ir
asociada a la programacin orientada a objetos), sino que ms bien se refiere al
desarrollo y eleccin de las caractersticas estticas de la aplicacin.
Por otra parte, para la realizacin de la interfaz se ha usado la GUI2 de MATLAB y
las caractersticas que proporciona. Tambin se han empleado algunas funciones
especficas de la librera estadstica (ver 2.1.4 y [2]).

1
2

Para una mayor aclaracin sobre estos conceptos, vase [Red-98] o [8]
GUI: Graphical User Interface. Ver [Mar-99] o [3]

41

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.1.2- Ciclo de vida empleado


Hay que diferenciar entre el ciclo de vida (definicin de [Pre-97]) usado para la
parte analtica y para la parte de simulacin. En la parte analtica, el anlisis de cada
modelo es muy sencillo, ya que los algoritmos de resolucin estn previamente
establecidos, cosa que no ocurre en la parte de simulacin, lo que implica que el
anlisis sea ms complejo, ya que hay que tener en cuenta tanto los posibles eventos
(ver 1.3.3.2) que pueden ocurrir como la influencia de estos eventos en el clculo de
los distintos parmetros de salida.
En las siguientes figuras podemos observar con detalle el ciclo de vida usado para
la parte analtica y para la parte de simulacin.

DETERMINAR LOS
PARAMETROS DE
ENTRADA
ERROR
DETERMINAR LOS
PARAMETROS DE
SALIDA
IMPLEMENTAR EL
MODELO
DETERMINAR COMO
CALCULAR LOS
PARAMETROS DE
SALIDA

ANALIZAR LOS
POSIBLES RIESGOS

ANALISIS DE UN DETERMINADO MODELO

Figura 7- Ciclo de vida para la parte de resolucin analtica

42

PRUEBAS SW DEL
MODELO
IMPLEMENTADO

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

DETERMINAR LOS
PARAMETROS DE
ENTRADA
ERROR
DETERMINAR LOS
PARAMETROS DE
SALIDA

ANALIZAR LA
IMPLEMENTACION
DEL ALGORITMO

ANALIZAR LOS
POSIBLES RIESGOS

IMPLEMENTAR EL
MODELO

ESTUDIAR LOS
POSIBLES EVENTOS
QUE PUEDEN
OCURRIR
(llegada de cliente,
salida, transicin)

PRUEBAS SW DEL
MODELO IMPLEMENTADO
(CONTRASTE CON
RESOLUCION ANALITICA)

ANALIZAR LA
INFLUENCIA DEL
EVENTO EN LA
VARIACION DE LOS
PARAMETROS

ANALISIS DE UN DETERMINADO MODELO

Figura 8- Ciclo de vida para la parte de simulacin

2.1.3- Parmetros de entrada y salida


La aplicacin da respuesta a los distintos modelos de colas. Cuando la hiptesis de
exponencialidad es cierta, se proporciona una respuesta analtica exacta al modelo.
Por otra parte, si no podemos suponer dicha hiptesis, deberemos recurrir a la
simulacin para poder tener una respuesta con las caractersticas del modelo.
Tanto para la resolucin analtica como en la resolucin por simulacin los
parmetros de entrada son los siguientes:
Nmero de servidores (s):
Slo para el caso de los modelos M/M/s, M/M/s/K, M/M/s/ /H y
M/M/s/ /H con Y repuestos en resolucin analtica y los modelos G/G/s,

43

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

G/G/s/K, G/G/s/ /H y G/G/s/ /H con Y repuestos en el caso de resolucin


por simulacin.
En el caso de que estemos en una red de colas debemos introducir el
nmero de servidores para cada uno de los nodos de la red.
Tamao de la cola (K): Slo para el caso de los modelos M/M/1/K y
M/M/s/K en resolucin analtica y los modelos G/G/1/K y G/G/s/K en el caso de
resolucin por simulacin.
Poblacin potencial (H): Slo para el caso de los modelos M/M/1/ /H,
M/M/s/ /H y M/M/s/ /H con Y repuestos en resolucin analtica y los modelos
G/G/1/ /H, G/G/s/ /H y G/G/s/ /H con Y repuestos en el caso de resolucin
por simulacin.
Nmero de repuestos (Y): Slo para el caso del modelo M/M/s/ /H con Y
repuestos en resolucin analtica y el modelo G/G/s/ /H con Y repuestos en el
caso de resolucin por simulacin.
Probabilidades de transicin entre nodos (pij): En el caso de las redes de
colas abiertas o cerradas.
Nmero de nodos que forman la red (K): En el caso de que nos
encontremos en una red de colas
Nmero de clientes de la red cerrada (N)
En el caso de que el usuario seleccione la opcin de resolucin analtica tendr
adems los siguientes parmetros de entrada:

44

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Tasa de llegada ():


En las redes de colas abiertas debemos introducir la tasa de llegada para
cada uno de los nodos.
En las redes de colas cerradas no tiene sentido el incluir este parmetro.
Tasa de servicio (): En las redes de colas debemos de incluir la tasa de
servicio para cada uno de los nodos.
Mientras que si elige la resolucin por simulacin tiene, a mayores, los siguientes
parmetros de entrada:
Tipo de distribucin a la entrada y la salida: En el caso de las redes de
colas no tiene sentido la distribucin de entrada.
Parmetros asociados a las distintas distribuciones elegidas.
Parmetro de estabilizacin.
Nmero de clientes de la simulacin Numero de transiciones de
clientes.
Por otra parte, los parmetros de salida son los siguientes:
L: Nmero medio de clientes en el sistema. En el caso de una red de Jackson
abierta se muestra el nmero medio de clientes en cada nodo y en toda la red. En
el caso de una red de Jackson cerrada se muestra el nmero medio de clientes en
cada nodo de la red.

45

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Lq: Nmero medio de clientes en cola. En el caso de una red de Jackson


abierta se muestra el nmero medio de clientes en la cola en cada nodo y en toda
la red. En el caso de una red de Jackson cerrada se muestra el nmero medio de
clientes en la cola en cada nodo de la red.
W: Tiempo medio que un cliente est en el sistema. En el caso de una red de
Jackson abierta se muestra el tiempo medio que un cliente est en el sistema en
cada nodo y en toda la red. En el caso de una red de Jackson cerrada se muestra
el tiempo medio que un cliente est en el sistema en cada nodo de la red.
Wq: Tiempo medio de espera en la cola para un cliente. En el caso de una red
de Jackson abierta se muestra el tiempo medio de espera en la cola para un
cliente en cada nodo y en toda la red. En el caso de una red de Jackson cerrada se
muestra el tiempo medio de espera en la cola para un cliente en cada nodo de la
red.
Intensidad del modelo: Refleja la intensidad de trfico (tambin conocida
como ) y toma valores entre 0 y 1. Es necesario que sea inferior a 1, para
que el modelo sea estacionario. No se muestra en las redes de colas.
Eficiencia del modelo: Equivale al cociente entre el tiempo medio que un
cliente est en el sistema (W) y el tiempo medio de servicio (Ws), por lo que su
valor siempre es mayor o igual que 1. No se muestra en las redes de colas.
Valor de W(t) en un instante determinado: No se muestra ni en las redes de
colas ni en el caso de resolucin por simulacin.
Valor de Wq(t) en un instante determinado: No se muestra ni en las redes
de colas ni en el caso de resolucin por simulacin.

46

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Grfica con los valores de W(t) y Wq(t) en unos instantes determinados:


No se muestra ni en las redes de colas ni en el caso de resolucin por simulacin.
p(n): Probabilidad de que haya n clientes en el sistema.
En el caso de las redes abiertas y resolucin analtica podemos hallar la
probabilidad de que haya un nmero determinado de clientes en cada uno de
los nodos de la red.
En el caso de las redes cerradas y resolucin analtica tenemos la
posibilidad de hallar la probabilidad de que haya n clientes en un nodo
determinado de la red, o hallar la probabilidad de que haya un nmero
determinado de clientes en cada uno de los nodos que forman la red.
En el caso de las redes abiertas o cerradas y resolucin por simulacin
tenemos la posibilidad de hallar la probabilidad de que haya un nmero
determinado de clientes en un nodo de la red.
q(n): Probabilidad de que haya n clientes en el sistema justo cuando se
produce una llega. No se muestra ni en los modelos M/M/1, M/M/s en el caso de
resolucin analtica, ni en los modelos G/G/1, G/G/s en el caso de resolucin por
simulacin, ni en las redes de colas.
Grfica con los valores de p(n) cuando n toma unos valores determinados. No
se muestra en el caso de las redes abiertas, ni en la simulacin de redes cerradas.

47

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.1.4- Distribuciones de probabilidad elegidas


Para resolver la parte de simulacin hemos elegido un conjunto de distribuciones
de probabilidad3 representativas. El usuario puede variar tanto la distribucin de
llegada de clientes como la distribucin de servicio. Las distribuciones elegidas son
las siguientes (se explicarn con ms detalle en el Apndice A):
Exponencial
Uniforme
Determinista
Gamma
Beta
Lognormal
Normal
De Weibull
Para generar nmeros aleatorios de dichas distribuciones se han usado las
funciones (ver [2]) que implementa MATLAB. En la siguiente tabla podemos
observar dichas funciones. Ntese que la definicin de MATLAB para algunas de
las funciones, como por ejemplo la gamma o la de Weibull, es ligeramente distinta a
la nuestra:

Podemos observar su definicin en [Cao-98] o [Dev-86]

48

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

DISTRIBUCION

PARAMETROS

FUNCION MATLAB

EXPONENCIAL

exprnd(1/ ) o exprnd(1/ )

UNIFORME

a, b

unifrnd(a, b)

DETERMINISTA

No hay. Es trivial.

GAMMA

a, p

gamrnd(p, 1/a)

BETA

p, q, k

k betarnd(a, b)

LOGNORMAL

lognrnd(, )

NORMAL

normrnd(, )

DE WEIBULL

weibrnd(, )

Es importante resaltar que en ningn momento se establece un valor para la


semilla. Cada vez que se llame a la funcin de generacin de nmeros de una
determinada distribucin, se utilizar el reloj del sistema como semilla, lo que
implica que si se hacen varias llamadas consecutivas a la funcin se obtendrn
valores no necesariamente iguales.

49

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.2- Resolucin analtica


2.2.1- Caractersticas generales
Para resolver de forma analtica los distintos modelos de colas se han
implementado las soluciones planteadas por los distintos libros (vase [All-90],
[Bos-02], [Cao-02], [Gro-98] o [Hil-97]). La implementacin de dichas frmulas se
realiz de forma eficiente, utilizando, en la medida de lo posible, la versin de las
frmulas cuyo coste computacional era ms bajo y evitando la implementacin
directa de las frmulas, de escasa eficiencia computacional.
En el siguiente apartado se explica de forma detallada las frmulas que resuelven
cada uno de los modelos de colas (modelos de la forma M/M/- y redes de Jackson).

2.2.2- Resolucin de los modelos


2.2.2.1- Modelo M/M/14

Intensidad = =

Eficiencia =

W
W
=
=W
1
W Wq

L=

2
Lq =
( )

La frmula de la eficiencia es siempre igual, por lo que, se obviar en los siguiente modelos

50

Captulo 2:Aspectos de implementacin

W=

Jorge L. Vega Valle

W (t ) = 1 e ( ) t

Wq =

si t 0

Wq (t ) = 1

( )

( ) t
e
si t 0

pn = (1 ) n si n = 0, 1, ...

2.2.2.2- Modelo M/M/s

Intensidad = =

c0 = 1

si n = 1, 2,..., s - 1
n

c s = cs 1
s
cn = cn1

p0 =

1
s 1

c
n =0

+ c s

p n = c n p0

si n = 1, 2,..., s - 1

pn = pn1 si n s

L = W

Lq =

51

c s p0
s

Captulo 2:Aspectos de implementacin

W = Wq +

Jorge L. Vega Valle

Wq =

Lq

Wq (t ) = 1 cs p0 e ( s )t si t 0

W (t ) = 1 (1 + c s p0 t ) e t
W (t ) = 1 +

si t 0 y

= s 1

s + Wq (0) t
c p0
e ( s )t
e + s
s
s

si t 0 y

s 1

2.2.2.3- Modelo M/M/1/K

Intensidad = =

( K + 1)
( K + 2)

( K +1 1)
si 1
K +2 1

1
si n = 0, 1,..., K + 1 y = 1
K +2
1
n si n = 0, 1,..., K + 1 y 1
pn = K + 2
1
pn
qn =
si n = 0, 1,..., K
1 p K +1
pn =

52

si = 1

Captulo 2:Aspectos de implementacin

L=

K +1
si = 1
2

( K + 2) K + 2
L=

1
1 K +2

W =

Jorge L. Vega Valle

Lq = W q

si 1

Wq = W

Clculo de W(t):

Clculo de Wq(t):

A = 1, S = 1, B = q0

A = 1, S = 1, B = q1

Desde n = 1 hasta K repetir

Desde n = 2 hasta K repetir

A = A ( t) / n

A = A ( t) / n

S=S+A

S=S+A

B = B + qn S

B = B + qn S

Devolver 1 B e t

Devolver 1 B e t

53

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.2.2.4- Modelo M/M/s/K5


c0 = 1

Intensidad = = (1 p K + s )

cn = cn1

si n = 1, 2,..., s - 1

c s = cs 1 ( K + 1)

=
s

c s = cs 1

K +2
1

si = 1
si 1

= (1 p K + s )
p0 =

1
s 1

c
n =0

+ c s

pn = cn p0

si n = 1, 2,..., s - 1

pn = pn1 si n = s, s + 1,..., K + s
qn =

L = W

pn
1 pK + s

si n = 0, 1,..., K + s - 1

Lq =

Lq =

(1 + K K +1 ( K + 1) K ) 2
p s 1
(1 ) 2
si 1
K ( K + 1)
p s 1
2

si = 1

El clculo de W(t) para los modelos M/M/s/K, M/M/s/ /H y M/M/s/ /H con Y repuestos se
explicar en el apartado 2.4.1

54

Captulo 2:Aspectos de implementacin

W = Wq +

Jorge L. Vega Valle

Wq =

Lq

Clculo de Wq(t):
A = 1, S = 1, B = qs
Desde n = s + 1 hasta K + s - 1 repetir
A = A (s t) / ( n s )
S = S + A
B = B + qn S
Devolver 1 B e s t

2.2.2.5- Modelo M/M/1/ /H


Intensidad = = ( H L)

c0 = 1
cn = cn1 ( H n + 1)

= ( H L)

55

si n = 1, 2,..., H

Captulo 2:Aspectos de implementacin

p0 =

1
H

c
n =0

pn = cn p0
qn =

Jorge L. Vega Valle

( H n) pn
( H L)

si n = 1, 2,..., H
si n = 0, 1,..., H - 1

Lq = W q

L = n pn
n =1

W =

Wq = W

Clculo de W(t):

Clculo de Wq(t):

A = 1, S = 1, B = q0

A = 1, S = 1, B = q1

Desde n = 1 hasta (H - 1) repetir

Desde n = 2 hasta (H - 1) repetir

A = A ( t) / n

A = A ( t) / n

S=S+A

S=S+A

B = B + qn S
Devolver 1 B e

B = B + qn S
t

Devolver 1 B e t

56

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.2.2.6- Modelo M/M/s/ /H6


Intensidad = = ( H L)

c0 = 1

( H n + 1) si n = 1, 2,..., s
n
cn = cn1 ( H n + 1)
si n = s + 1,..., H

cn = cn1

= ( H L)

p0 =

1
H

c
n =0

p n = c n p0
qn =

( H n) p n
( H L)

si n = 1, 2,..., H
si n = 0, 1,..., H - 1

Lq = W q

L = n pn
n =1

W =

Wq = W

Con la restriccin H s

57

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Clculo de Wq(t):
A = 1, S = 1, B = qs
Desde n = s + 1 hasta (H - 1) repetir
A = A (s t) / (n s)
S = S + A
B = B + qn S
Devolver 1 B e s t

2.2.2.7- Modelo M/M/s/ /H con Y repuestos7

Intensidad = =

c0 = 1

Si s Y :
H
n
cn = cn1 H
cn = cn1

Si Y s Y + H :
H
n
( H + Y n + 1)
cn = cn1
n
cn = ( H + Y n + 1) cn1

Y +H

(n Y ) p
n =Y

p0 =

1
Y +H

c
n =0

p n = c n p0

si n = s + 1,..., Y

cn = cn1 ( H + Y n + 1) si n = Y + 1,..., Y + H
cn = cn1

= (H

si n = 1, 2,..., s

si n = 1, 2,..., Y + H

Con la restriccin H+Y s

58

si n = 1, 2,..., Y
si n = Y + 1,..., s
si n = s + 1,..., Y + H

Captulo 2:Aspectos de implementacin

qn =

Jorge L. Vega Valle

H pn
H

(m Y ) p

m =Y

qn =

( H + Y n) pn
H

si n = Y ,..., Y + H - 1

Y +H

(m Y ) p

m =Y

L=

si n = 0, 1,..., Y - 1

Y +H

Y +H

n p
n =1

W =

Lq = W q

Wq = W

Clculo de Wq(t):
A = 1, S = 1, B = qs
Desde n = s + 1 hasta (H - 1) repetir
A = A (s t) / (n s)
S = S + A
B = B + qn S
Devolver 1 B e s t

2.2.2.8- Modelo M/M/


c0 = 1

Intensidad = = 0

cn = cn1

59

si n = 1, 2,...

Captulo 2:Aspectos de implementacin

p0 = e

Jorge L. Vega Valle

p n = c n p0

L=

W=

si n = 1, 2,...

Lq = 0

Wq = 0

2.2.2.9- Redes de Jackson abiertas


Supongamos una red de Jackson abierta con K nodos:
i = Tasa de entrada desde fuera del sistema a la cola del nodo i, i = 1, 2,..., K
i = Tasa de servicio de cada servidor del subsistema del nodo i, i = 1, 2,..., K
T = Tasa de entrada al sistema (da igual por donde) = i
i = Nmero efectivo de llegadas de clientes al subsistema del nodo i (da
igual por donde), i = 1, 2,..., K
Matriz probabilidades:

p11

p 21
M
P=
pi1
M

p
K1

p12
p 22
M
pi 2
M
pK 2

L p1 j
L p2 j
O M
L pij
O M
L p Kj

60

L p1K

L p2 K
O
M

L piK
O
M
L p KK

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

A mayores, tenemos que:

p0 i =

i
K

i =1

pi 0 = 1 pij

i = 1, 2,..., K

i = 1, 2,..., K

j =1

Denotamos con A, la siguiente matriz:


1 p11

M
A = p1 j

M
p
1K

L p j1
O
M
L 1 p jj
O
M
L p jK

L p K1

O
M
L p Kj

O
M
L 1 p KK

Si el det(A) = 0, entonces el sistema no es estacionario.


Si el det(A) 0 se verifica que:
= inverso(A)

es un vector que tiene K elementos

Si i si i, para algn valor de i, entonces el sistema no es estacionario.


Para que el sistema sea estacionario, debe verificarse que det(A) 0 y i si i para
todos los valores de i = 1, 2,..., K. Si se verifica esta condicin, podremos calcular los
siguientes parmetros de salida:

61

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Obtencin de parmetros relativos a un nodo:

Lq , nodo = Resolver modelo M/M/s ( nodo, nodo , snodo ) =

c s nodo p0
s nodo nodo nodo
(ver 2.2.2.2)

Lnodo = Lq , nodo +

nodo

Wnodo =

nodo

Lq, nodo
nodo

Wq , nodo =

nodo

Lq, nodo
nodo

Obtencin de parmetros relativos a toda la red:

LT =

Lnodo

nodo =1

Lq , T =

nodo =1

WT =

q, nodo

LT

Wq , T =

Lq , T

Tambin podemos calcular fcilmente la probabilidad de que haya ni clientes en


cada nodo de la red, con i = 1, 2,..., K

p(n1, n2,..., nk) = p1 (n1) p2 (n2) pK (nK)

siendo ni el nmero de
clientes del nodo i.

Para obtener pi (ni), hay que operar del mismo modo que si tratase de un modelo

M/M/s, con tasa de llegada i, tasa de servicio i y si servidores (para ms


informacin, ver 2.2.2.2).

62

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.2.2.10- Redes de Jackson cerradas


Supongamos una red de Jackson cerrada con K nodos y N clientes:
i = Tasa de servicio de cada servidor del subsistema del nodo i, i = 1, 2,..., K
i = Nmero efectivo de llegadas de clientes al subsistema del nodo i (da
igual por donde), i = 1, 2,..., K
Matriz probabilidades: (K x K elementos)

p11

p 21
M
P=
pi1
M

p
K1

p12
p 22
M
pi 2
M
pK 2

L p1 j
L p2 j
O M
L pij
O M
L p Kj

L p1K

L p2 K
O
M

L piK
O
M
L p KK

Denotamos con A, la siguiente matriz: ( (K-1) x (K-1) elementos)

p 21

1 p 22
A=
M

p
2 , K 1

p31
p32
M
p3, K 1

p K 1,1
L
L p K 1, 2
O
M
L 1 p K 1, K 1

p K1

pK 2

p K , K 1

Denotamos con B, el siguiente vector: ( (K-1) x 1 elementos)


1 + p11

p12
B=

1, K 1

63

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

= inverso(A) B
Segn esta frmula es un vector que tiene K-1 elementos, que se corresponden
con 2, 3,..., K. A mayores asignamos a 1 el valor de 1, con lo se convierte en
un vector de K elementos.

i =

i = 1, 2,..., K

Denotamos con G, la siguiente matriz: (K x (N +1) elementos)

g1 (0) g1 (1) g1 (2)

g (0) g 2 (1) g 2 (2)


G= 2
M
M
M

g (0) g (1) g (2)


K
K
K

L g1 ( N )

L g2 (N )
O
M

L g K ( N )

Se verifica que:
gi(0) = 1,

para i = 1, 2,..., K

g1 (n) = f 1 (n) , para n = 0, 1,..., N


in

n
n!

f i ( n) = i =
ai ( n )
in

n si
si ! s i

si n si

si n > si

Con lo que,
1 f 1 (1) f 1 (2)

1 g 2 (1) g 2 (2)
G=
M
M
M

1 g (1) g (2)
K
K

64

L f1 ( N )

L g 2 (N )
O
M

L g K ( N )

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Para calcular los valores de la matriz G que desconocemos hay que utilizar la
siguiente frmula recursiva:

g m (n) = f m (i ) g m1 (n i )

m = 1, 2,..., K , n = 0, 1,..., N

i =0

Ya podemos calcular fcilmente la probabilidad de que haya ni clientes en cada


nodo de la red, con i = 1, 2,..., K
K
ini
1
=

g K ( N ) i =1 ai (ni )

p n1 , n2 ,...nK

Clculos relativos al ltimo nodo:


Podemos calcular la probabilidad de que haya un determinado nmero de clientes
(por trmino medio) en el ltimo nodo:

p... i =

f K (i ) g N ( N i )
gK (N )

i = 0, 1,..., N

Ahora ya podemos calcular el valor de L en el ltimo nodo:

L = i p... i
i =1

Para calcular el resto de cantidades relativas al ltimo nodo (Lq, W y Wq),


necesitamos conocer el valor de K .

65

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Clculo de K :

K = 0
Para i = 1, 2,..., N
Si i sK

K = K + K i p... i
Si no

K = K + K sK p... i
Fin Si
Devolver K
Clculo de W, Wq y Lq en el ltimo nodo:

W =

L
K

Wq = W

Lq =

L
Wq
W

Para calcular estas cantidades para el resto de nodos, hay que renombrar todos los
nodos de forma que el nodo de inters sea el ltimo:
Intercambiamos las posiciones en el vector .
Intercambiamos las posiciones en el vector de servidores.
Intercambiamos las posiciones en la matriz P.

66

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.3- Resolucin por simulacin


2.3.1- Caractersticas generales
La resolucin de los modelos de colas por simulacin se divide en dos partes:
La primera de ellas, llamada bucle de estabilizacin, se encarga de calcular
el nmero de clientes que habr en el sistema cuando entren8 en el mismo tantos
como el valor del parmetro de estabilizacin que introduzcamos.
La segunda, llamada bucle de simulacin, se encarga de simular el
comportamiento del sistema (teniendo en cuenta la entrada de tantos clientes
como el valor del parmetro de simulacin) y calcular todos los parmetros de
salida del modelo. El nmero de clientes en el sistema al comenzar el bucle de
simulacin es el valor obtenido al finalizar el bucle de estabilizacin.
A lo largo de la segunda fase de estabilizacin se pueden observar otras dos fases
(comentadas en el apartado 1.2.5) en la obtencin de un determinado parmetro de
salida. Un ejemplo, tal y como se comenta en [Bos-02], lo podemos advertir en la
siguiente grfica, que corresponde a la simulacin del modelo G/G/1, con
distribucin de llegada exponencial de parmetro = 2 y distribucin de servicio
exponencial de parmetro = 3.

En el caso de las redes cerradas, donde no hay entradas de clientes desde el exterior, tanto el
parmetro de simulacin como el de estabilizacin contabilizan las transiciones que un cliente tiene
entre los nodos de la red.

67

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Figura 9- Comportamiento grfico de la simulacin

2.3.2- Implementacin de los distintos modelos


A continuacin, presentamos en forma de pseudo-cdigo y de modo incremental
los programas de simulacin (bucle de simulacin) de los distintos modelos de colas.
Antes de comenzar, es conveniente aclarar el significado de alguna de las variables
que se usarn en los programas de simulacin:
c: Acumula tiempo nmero de clientes que hay en el sistema. Inicialmente
vale 0. En el caso de las redes de colas ser un vector con tantos elementos
como el nmero de nodos que tengamos.

68

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

d: Acumula tiempo nmero de clientes que hay en la cola. Inicialmente vale


0. En el caso de las redes de colas ser un vector con tantos elementos
como el nmero de nodos que tengamos.

2.3.2.1- Bucle de simulacin del modelo G/G/1


Mientras n de clientes simulados < n de clientes totales en la simulacin
Si el nmero de clientes en el sistema es mayor que 0
mnimo = min(tiempo en haber una nueva llegada, tiempo en haber una nueva salida)
Si no
mnimo = tiempo que tarda en haber una nueva llegada
Fin Si
Si (mnimo = tiempo que tarda en haber una nueva llegada)
Aumentar el n de clientes simulados en una unidad
Incrementar el cronmetro en el valor mnimo
Hallar el tiempo que tarda en haber una nueva llegada
Incrementar el tiempo en el que hay n clientes en mnimo
Si (nmero de clientes en el sistema = 0)
Incrementar el nmero de clientes en el sistema en una unidad
Hallar el tiempo que tarda en haber una nueva salida
Si no
Incrementar c en mnimo (nmero de clientes en el sistema)
Incrementar d en mnimo (nmero de clientes en el sistema-1)
Incrementar el nmero de clientes en el sistema en una unidad
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo
Fin Si
Si no
Incrementar el cronmetro en el valor mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)
Incrementar d en mnimo (nmero de clientes en el sistema-1)
Incrementar el tiempo en el que hay n clientes en mnimo
Disminuir en uno el nmero de clientes del sistema
Si (nmero de clientes en el sistema = 0)
No puede haber una nueva salida del sistema
Si no
Hallar el tiempo que tarda en haber una nueva salida del sistema
Fin Si
Disminuir el tiempo que tarda en haber una nueva llegada en mnimo
Fin Si
Fin Mientras

69

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.3.2.2- Bucle de simulacin del modelo G/G/s9


Mientras n de clientes simulados < n de clientes totales en la simulacin
Si el nmero de clientes en el sistema es mayor que 0
mnimo = min(tiempo en haber una nueva llegada, tiempo en haber una nueva salida de alguno de los servidores en los
que hay un cliente)
Si no
mnimo = tiempo que tarda en haber una nueva llegada
Fin Si
Si (mnimo = tiempo que tarda en haber una nueva llegada)
Aumentar el nmero de clientes simulados en una unidad
Incrementar el cronmetro en el valor mnimo
Incrementar el tiempo en el que hay n clientes en mnimo
Hallar el tiempo que tarda en haber una nueva llegada
Incrementar c en mnimo (nmero de clientes en el sistema)
Si (nmero de clientes en el sistema < nmero de servidores)
Incrementar el nmero de clientes en el sistema en una unidad
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo (en los servidores donde ya
haba algn cliente)
Hallar el tiempo que tarda en haber una nueva salida (en uno de los servidores donde no haba ningn
cliente)
Si no
Incrementar d en mnimo (nmero de clientes en el sistema-nmero de servidores)
Incrementar el nmero de clientes en el sistema en una unidad
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo (en los servidores donde ya
haba algn cliente)
Fin Si
Si no
Encontrar cual es el servidor en el cual se produce la salida de un cliente
Incrementar el cronmetro en el valor mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)
Si nmero de clientes > nmero de servidores
Incrementar d en mnimo (nmero de clientes en el sistema-nmero de servidores)
Fin Si

Aparecen resaltadas en color verde las diferencias respecto al modelo G/G/1

70

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Incrementar el tiempo en el que hay n clientes en mnimo


Disminuir en uno el nmero de clientes del sistema
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo (en los servidores donde ya haba algn
cliente)
Si (nmero de clientes en el sistema < nmero de servidores)
No puede haber una nueva salida del sistema del servidor en el que se ha producido la salida
Si no
Hallar el tiempo que tarda en haber una nueva salida del sistema en el servidor en el que se ha producido
la salida
Fin Si
Disminuir el tiempo que tarda en haber una nueva llegada en mnimo
Fin Si
Fin Mientras

Nota:
Como se puede observar, las diferencias entre los algoritmos de simulacin para el
caso de un valor de s genrico (G/G/s, G/G/s/K, G/G/s/ /H y G/G/s/ /H con Y
repuestos) y el caso de un valor de s igual a 1 (G/G/1, G/G/1/K, G/G/1/ /H) no son
muy importantes a efectos de complejidad algortmica. Podra haberse obviado la
codificacin de los casos en los que s es igual a la unidad, ms se opt por su
implementacin para as tener un claro paralelismo entre la parte analtica y la parte
de simulacin.
Por lo que se refiere a la parte analtica, las diferencias entre los casos en que s
toma un valor genrico y en los que s es igual a 1 son muy claras, ya que es ms
eficiente el programar al margen este caso que el realizar los clculos del caso
genrico con el valor del nmero de servidores igual a la unidad. Adems para
algunos casos, como el M/M/1/K o M/M/1/ /H , su implementacin proporciona una
frmula explcita para el valor de W(t), sin necesidad de emplear tcnicas de
integracin numrica.

71

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.3.2.3- Bucle de simulacin del modelo G/G/1/K10


Mientras n de clientes simulados < n de clientes totales en la simulacin
Si el nmero de clientes en el sistema es mayor que 0
mnimo = min(tiempo en haber una nueva llegada, tiempo en haber una nueva salida)
Si no
mnimo = tiempo que tarda en haber una nueva llegada
Fin Si
Si (mnimo = tiempo que tarda en haber una nueva llegada)
Incrementar el cronmetro en el valor mnimo
Incrementar el tiempo en el que hay n clientes en mnimo
Hallar el tiempo que tarda en haber una nueva llegada
Si (nmero de clientes en el sistema = tamao de la cola + 1)
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)
Incrementar d en mnimo (nmero de clientes en el sistema-1)
Si no
Aumentar el n de clientes simulados en una unidad
Si (nmero de clientes en el sistema = 0)
Aumentar el nmero de clientes en el sistema en una unidad
Hallar el tiempo que tarda en haber una nueva salida
Si no
Incrementar c en mnimo (nmero de clientes en el sistema)
Incrementar d en mnimo (nmero de clientes en el sistema-1)
Aumentar el nmero de clientes en el sistema en una unidad
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo
Fin Si
Fin Si
Si no
Incrementar el cronmetro en el valor mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)
Incrementar d en mnimo (nmero de clientes en el sistema-1)
Incrementar el tiempo en el que hay n clientes en mnimo
Disminuir en uno el nmero de clientes del sistema
Si (nmero de clientes en el sistema = 0)
No puede haber una nueva salida del sistema

10

Aparecen resaltadas en color verde las diferencias respecto al modelo G/G/1

72

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Si no
Hallar el tiempo que tarda en haber una nueva salida del sistema
Fin Si
Disminuir el tiempo que tarda en haber una nueva llegada en mnimo
Fin Si
Fin Mientras

2.3.2.4- Bucle de simulacin del modelo G/G/s/K11


Mientras n de clientes simulados < n de clientes totales en la simulacin
Si el nmero de clientes en el sistema es mayor que 0
mnimo = min(tiempo en haber una nueva llegada, tiempo en haber una nueva salida de alguno de los servidores en los
que hay algn cliente)
Si no
mnimo = tiempo que tarda en haber una nueva llegada
Fin Si
Si (mnimo = tiempo que tarda en haber una nueva llegada)
Incrementar el cronmetro en el valor mnimo
Incrementar el tiempo en el que hay n clientes en mnimo
Hallar el tiempo que tarda en haber una nueva llegada
Incrementar c en mnimo (nmero de clientes en el sistema)
Si (nmero de clientes en el sistema = tamao de cola + nmero de servidores)
Incrementar d en mnimo (nmero de clientes en el sistema-nmero de servidores)
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo (en los servidores donde ya
haba algn cliente)
Si no
Aumentar el nmero de clientes simulados en una unidad
Si (nmero de clientes en el sistema < nmero de servidores)
Incrementar el nmero de clientes en el sistema en una unidad
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo (en los servidores
donde ya haba algn cliente)
Hallar el tiempo que tarda en haber una nueva salida (en uno de los servidores donde no haba
ningn cliente)
Si no
Incrementar d en mnimo (n de clientes en el sistema - n de servidores)
Incrementar el nmero de clientes en el sistema en una unidad
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo (en los servidores
donde ya haba algn cliente)
Fin Si

11

Aparecen resaltadas en color verde las diferencias respecto al modelo G/G/s

73

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Fin Si
Si no
Encontrar cual es el servidor en el cual se produce la salida de un cliente
Incrementar el cronmetro en el valor mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)
Si nmero de clientes > nmero de servidores
Incrementar d en mnimo (nmero de clientes en el sistema-nmero de servidores)
Fin Si
Incrementar el tiempo en el que hay n clientes en mnimo
Disminuir en uno el nmero de clientes del sistema
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo (en los servidores donde ya haba algn
cliente)
Si (nmero de clientes en el sistema < nmero de servidores)
No puede haber una nueva salida del servidor en el que se ha producido la salida
Si no
Hallar el tiempo que tarda en haber una nueva salida del sistema en el servidor en el que se ha producido
la salida
Fin Si
Disminuir el tiempo que tarda en haber una nueva llegada en mnimo
Fin Si
Fin Mientras

2.3.2.5- Bucle de simulacin del modelo G/G/1/ /H


Mientras n de clientes simulados < n de clientes totales en la simulacin
Si el nmero de clientes en el sistema es mayor que 0
mnimo = min(tiempo en haber una nueva llegada de algn potencial cliente, tiempo en haber una nueva salida)
Si no
mnimo = tiempo que tarda en haber una nueva llegada de algn potencial cliente
Fin Si
Si (mnimo = tiempo que tarda en haber una nueva salida)
Incrementar el cronmetro en el valor mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)
Incrementar d en mnimo (nmero de clientes en el sistema-1)
Incrementar el tiempo en el que hay n clientes en mnimo
Disminuir en uno el nmero de clientes del sistema
Si (nmero de clientes en el sistema = 0)
No puede haber una nueva salida del sistema
Si no
Hallar el tiempo que tarda en haber una nueva salida del sistema

74

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Fin Si
Disminuir en mnimo el tiempo que tardan en llegar los potenciales clientes
Hallar el tiempo que tarda en llegar un nuevo potencial cliente
Si no
Aumentar el n de clientes simulados en una unidad
Hallar cual es el potencial cliente que tarda menos en llegar
Incrementar el cronmetro en el valor mnimo
Incrementar el tiempo en el que hay n clientes en mnimo
Disminuir en mnimo el tiempo que tardan en llegar los potenciales clientes
Anotar la llegada del cliente que ha tardado menos en llegar
Si (nmero de clientes en el sistema = 0)
Incrementar el nmero de clientes en el sistema en una unidad
Hallar el tiempo que tarda en haber una nueva salida
Si no
Incrementar c en mnimo (nmero de clientes en el sistema)
Incrementar d en mnimo (nmero de clientes en el sistema-1)
Incrementar el nmero de clientes en el sistema en una unidad
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo
Fin Si
Fin Si
Fin Mientras

2.3.2.6- Bucle de simulacin del modelo G/G/s/ /H12


Mientras n de clientes simulados < n de clientes totales en la simulacin
Si el nmero de clientes en el sistema es mayor que 0
mnimo = min(tiempo en haber una nueva llegada de algn potencial cliente, tiempo en haber una nueva salida de
alguno de los servidores en los que hay un cliente)
Si no
mnimo = tiempo que tarda en haber una nueva llegada de algn potencial cliente
Fin Si
Si (mnimo = tiempo que tarda en haber una nueva salida)
Encontrar cual es el servidor en el cual se produce la salida de un cliente
Incrementar el cronmetro en el valor mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)

Si (nmero de clientes en el sistema > nmero de servidores)


12

Aparecen resaltadas en color verde las diferencias respecto al modelo G/G/1/ /H

75

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Incrementar d en mnimo (nmero de clientes en el sistema-nmero de servidores)


Fin Si
Incrementar el tiempo en el que hay n clientes en mnimo
Disminuir en uno el nmero de clientes del sistema
Disminuir en mnimo el tiempo que tarda en haber nuevas salidas de los servidores donde hay clientes
Si (nmero de clientes en el sistema < nmero de servidores)
No puede haber una nueva salida del sistema de ese servidor
Si no
Hallar el tiempo que tarda en haber una nueva salida del sistema de ese servidor
Fin Si
Disminuir en mnimo el tiempo que tardan en llegar los potenciales clientes
Hallar el tiempo que tarda en llegar un nuevo potencial cliente
Si no
Aumentar el n de clientes simulados en una unidad
Hallar cual es el potencial cliente que tarda menos en llegar
Incrementar el cronmetro en el valor mnimo
Incrementar el tiempo en el que hay n clientes en mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)
Disminuir en mnimo el tiempo que tardan en llegar los potenciales clientes
Anotar la llegada del cliente que ha tardado menos en llegar
Disminuir el tiempo que tarda en haber una nueva salida de alguno de los servidores en los que hay un cliente en el
valor mnimo
Si (nmero de clientes en el sistema < nmero de servidores)
Incrementar el nmero de clientes en el sistema en una unidad
Hallar el tiempo que tarda en haber una nueva salida de un servidor vaco
Si no
Incrementar d en mnimo (nmero de clientes en el sistema-nmero de servidores)
Incrementar el nmero de clientes en el sistema en una unidad
Fin Si
Fin Si
Fin Mientras

76

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.3.2.7- Bucle de simulacin del modelo G/G/s/ /H con Y repuestos13


Mientras n de clientes simulados < n de clientes totales en la simulacin
Si el nmero de clientes en el sistema es mayor que 0
mnimo = min(tiempo en haber una nueva llegada de algn potencial cliente, tiempo en haber una nueva salida de
alguno de los servidores en los que hay un cliente)
Si no
mnimo = tiempo que tarda en haber una nueva llegada de algn potencial cliente
Fin Si
Si (mnimo = tiempo que tarda en haber una nueva salida)
Encontrar cual es el servidor en el cual se produce la salida de un cliente
Incrementar el cronmetro en el valor mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)
Si (nmero de clientes en el sistema > nmero de servidores)
Incrementar d en mnimo (nmero de clientes en el sistema-nmero de servidores)
Fin Si
Incrementar el tiempo en el que hay n clientes en mnimo
Disminuir en uno el nmero de clientes del sistema
Disminuir en mnimo el tiempo que tarda en haber nuevas salidas de los servidores donde hay clientes
Si (nmero de clientes en el sistema < nmero de servidores)
No puede haber una nueva salida del sistema de ese servidor
Si no
Hallar el tiempo que tarda en haber una nueva salida del sistema de ese servidor
Fin Si
Disminuir en mnimo el tiempo que tardan en llegar los potenciales clientes
Si (nmero de clientes en el sistema >= nmero de repuestos)
Hallar el tiempo que tarda en llegar un nuevo potencial cliente
Fin Si
Si no
Aumentar el n de clientes simulados en una unidad
Hallar cual es el potencial cliente que tarda menos en llegar
Incrementar el cronmetro en el valor mnimo
Incrementar el tiempo en el que hay n clientes en mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)
Disminuir en mnimo el tiempo que tardan en llegar los potenciales clientes
Anotar la llegada del cliente que ha tardado menos en llegar

13

Aparecen resaltadas en color verde las diferencias respecto al modelo G/G/s/ /H

77

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Si (nmero de clientes en el sistema <= nmero de repuestos)


Hallar el tiempo que tarda en llegar el repuesto del cliente que acaba de llegar
Fin Si
Disminuir el tiempo que tarda en haber una nueva salida de alguno de los servidores en los que hay un cliente el
valor mnimo
Si (nmero de clientes en el sistema < nmero de servidores)
Incrementar el nmero de clientes en el sistema en una unidad
Hallar el tiempo que tarda en haber una nueva salida de un servidor vaco
Si no
Incrementar d en mnimo (nmero de clientes en el sistema-nmero de servidores)
Incrementar el nmero de clientes en el sistema en una unidad
Fin Si
Fin Si
Fin Mientras

2.3.2.8- Bucle de simulacin del modelo G/G/


Mientras n de clientes simulados < n de clientes totales en la simulacin
Si el nmero de clientes en el sistema es mayor que 0
mnimo = min(tiempo en haber una nueva llegada, tiempo en haber una nueva salida de alguno de los servidores en los
que hay un cliente)
Si no
mnimo = tiempo que tarda en haber una nueva llegada
Fin Si
Si (mnimo = tiempo que tarda en haber una nueva llegada)
Aumentar el n de clientes simulados en una unidad
Incrementar el cronmetro en el valor mnimo
Incrementar el tiempo en el que hay n clientes en mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)
Incrementar el nmero de clientes en el sistema en una unidad
Hallar el tiempo que tarda en haber una nueva llegada
Disminuir el tiempo que tarda en haber una nueva salida en el valor mnimo (en los servidores donde ya haba algn
cliente)
Hallar el tiempo que tarda en haber una nueva salida (en un nuevo servidor donde no hay ningn cliente)
Si no
Encontrar cual es el servidor en el cual se produce la salida de un cliente
Incrementar el cronmetro en el valor mnimo
Incrementar c en mnimo (nmero de clientes en el sistema)
Incrementar el tiempo en el que hay n clientes en mnimo
Disminuir en uno el nmero de clientes del sistema

78

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Disminuir el tiempo que tarda en haber una nueva salida el valor mnimo (en los servidores donde ya haba algn
cliente)
No puede haber una nueva salida del sistema del servidor en el que se ha producido la salida
Disminuir el tiempo que tarda en haber una nueva llegada en mnimo
Fin Si
Fin Mientras

Para obtener el valor de los parmetros de salida14 hay que proceder como sigue:

L=

Lq =

c
cronometro

d
cronometro

p (n) =

14

W=

c
parametro de simulacion

Wq =

d
parametro de simulacion

tiempo en el que ha habido n clientes


cronometro

Referido a todos los modelos vistos hasta ahora: desde el G/G/1 hasta el G/G/

79

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.3.2.9 Bucle de simulacin de las redes cerradas15


Mientras n de clientes simulados < n de clientes totales en la simulacin
Hallar cul es el servidor (y en que nodo se encuentra) que tarda menos tiempo en atender a un determinado cliente (de aqu
en adelante, ese servidor ser el servidor x, y ese nodo ser el nodo x)
mnimo = tiempo que se tarda en atender a un cliente en el servidor x del nodo x
Aumentar el n de clientes simulados en una unidad
Disminuir el nmero de clientes del nodo x en una unidad
Disminuir en mnimo el tiempo que tardan en atender el resto de los servidores que no sean el servidor x a un potencial
cliente.
Si (n clientes (nodo x) < n servidores (nodo x))
No puede haber una nueva salida del nodo x
Si no
Hallar el tiempo que tarda en producirse una nueva salida del servidor x del nodo x
Fin Si
Hallar el nodo al cual ha migrado el cliente en funcin de la matriz de probabilidades
Aumentar en uno el n clientes (nodo al cual ha migrado)
Aumentar en uno el n entradas (nodo al cual ha migrado)
Si (n clientes (nodo al cual ha migrado) <= n servidores (nodo al cual ha migrado))
Hallar el tiempo que tarda en producirse una nueva salida de un determinado servidor desocupado del nodo al que ha
migrado
Fin Si
Aumentar el cronmetro en el valor mnimo
Para nodo = 1 hasta todos los nodos de la red
Si (nodo = nodo x y nodo ~ = nodo de migracin)
Aumentar el valor de c (nodo) en mnimo (n clientes (nodo) + 1)
Si (n clientes (nodo) + 1 > n servidores (nodo))
Aumentar el valor de d (nodo) en mnimo (n clientes (nodo) + 1 - n servidores(nodo))
Fin Si
Aumentar en mnimo el tiempo en el que hay n clientes (nodo) + 1 clientes en el nodo
Fin Si

15

En las redes de colas cerradas el parmetro de simulacin equivale al nmero de transiciones de


clientes entre los distintos nodos.

80

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Si (nodo ~ = nodo x y nodo = nodo de migracin)


Aumentar el valor de c (nodo) en mnimo (n clientes (nodo) 1)
Si (n clientes (nodo) 1 > n servidores (nodo))
Aumentar el valor de d (nodo) en mnimo (n clientes (nodo) 1 - n servidores(nodo))
Fin Si
Aumentar en mnimo el tiempo en el que hay n clientes (nodo) 1 clientes en el nodo
Si no
Aumentar el valor de c (nodo) en mnimo (n clientes (nodo))
Si (n clientes (nodo) > n servidores (nodo))
Aumentar el valor de d (nodo) en mnimo (n clientes (nodo) n servidores(nodo))
Fin Si
Aumentar en mnimo el tiempo en el que hay n clientes (nodo) clientes en el nodo
Fin Si
Fin Para
Fin Mientras

Inicialmente, los clientes se distribuyen de la siguiente forma:

n clientes red (n servidores (nodo))-1

n clientes (nodo) =
Nodos de la red cerrada
-1

(n servidores (i))

i =1

Segn esta frmula es posible que quede algn cliente sin asignar, es decir, que tras
esta distribucin inicial, la suma del nmero de clientes que hay en todos los nodos
sea inferior al nmero de clientes que ha introducido el usuario. Para que esto no
ocurra, se inicia un reparto secuencial de los clientes residuales16 , empezando por
el primer nodo.
Ntese que las actualizaciones de los valores de c, d y el tiempo que un cliente est
en un determinado nodo son a posteriori. As, si tenemos la siguiente situacin:

16

Se corresponden con el nmero de clientes que ha introducido el usuario menos la suma del nmero
de clientes en los nodos de la red tras aplicar la frmula inicial

81

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Nodo de
migracin

Nodo x

3 clientes antes de migrar

5 clientes antes de migrar

2 clientes despues de migrar

6 clientes despues de migrar

Otros Nodos

Figura 10- Actualizacin de los valores de "c" y "d" en las redes cerradas

Al entrar en el bucle para que recorre todos los nodos haremos las siguientes
operaciones (en los nodos etiquetados como nodo x y nodo de migracin de la
anterior figura):
Nodo x
c (nodo x) = c (nodo x) + mnimo 3
Si ( 3 > n de servidores (nodo x) )
d (nodo x) = d (nodo x) + mnimo ( 3 n servidores (nodo x) )
Tiempo (3 clientes, nodo x) = Tiempo (3 clientes, nodo x) + mnimo
Nodo de migracin
c (nodo migracin) = c (nodo migracin) + mnimo 5
Si ( 5 > n de servidores (nodo migracin) )
d

(nodo

migracin)

(nodo

migracin)

mnimo

( 5 n servidores (nodo migracin) )


Tiempo (5 clientes, nodo migracin) = Tiempo (5 clientes, nodo migracin)
+ mnimo

82

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Para obtener el valor de los parmetros de salida hay que proceder como sigue:

W (nodo) =

c (nodo)
n de entradas (nodo)

Wq (nodo) =

d (nodo)
n de entradas (nodo)

c (nodo)
cronometro

L (nodo) =

Lq (nodo) =

d (nodo)
cronometro

Lq , T =

p (n, nodo) =

Nodos de la red cerrada

i =1

d (i)
cronometro

tiempo en el que hay n clientes en un determinado nodo


cronometro

2.3.2.10- Bucle de simulacin de las redes abiertas


Mientras n de clientes simulados < n de clientes totales en la simulacin
mnimo = min(tiempo que tarda en salir un determinado cliente de un servidor x de un nodo x, tiempo que tarda en llegar
un potencial cliente a un nodo y)
Si (mnimo = tiempo de llegada de un potencial cliente)
Aumentar en una unidad el n de clientes simulados
Aumentar en una unidad el n de entradas al nodo y
Aumentar en una unidad el n de clientes del nodo y
Disminuir en mnimo el tiempo de llegada de potenciales clientes
Hallar el tiempo de llegada de un nuevo potencial cliente al nodo y
Disminuir en mnimo el tiempo de salida de clientes en los servidores de aquellos nodos donde exista un cliente

83

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Si (n clientes (nodo y) < n servidores (nodo y))


Generar el tiempo de salida de un servidor del nodo y que estaba desocupado
Fin Si
Aumentar la variable cronmetro en el valor mnimo
Para nodo = 1 hasta todos los nodos de la red
Si (nodo = nodo y)
Aumentar el valor de c (nodo) en mnimo (n clientes (nodo) 1)
Si (n clientes (nodo) 1 > n servidores (nodo))
Aumentar d (nodo) en mnimo (n clientes (nodo) 1 n servidores (nodo))
Fin Si
Aumentar en mnimo el tiempo en el que hay n clientes (nodo) 1 clientes en el nodo
Si no
Aumentar el valor de c (nodo) en mnimo (n clientes (nodo))
Si (n clientes (nodo) > n servidores (nodo))
Aumentar d (nodo) en mnimo (n clientes (nodo) n servidores (nodo))
Fin Si
Aumentar en mnimo el tiempo en el que hay n clientes (nodo) clientes en el nodo
Fin Si
Fin Para
Si no
Disminuir en uno el nmero de clientes del nodo x
Disminuir en mnimo el tiempo de salida de clientes en los servidores de aquellos nodos donde exista un cliente
Si (n clientes (nodo x) < n servidores (nodo x))
No puede haber una nueva salida del servidor x del nodo x
Si no
Calcular el tiempo que tarda en producirse una nueva salida en el servidor x del nodo x
Fin Si
Disminuir en mnimo el tiempo de llegada de potenciales clientes
Hallar el nodo (o exterior) al cual migra el cliente en funcin de la matriz de probabilidades
Si (nodo de migracin ~= exterior del sistema)
Aumentar en uno el n clientes (nodo al cual ha migrado)
Aumentar en uno el n entradas (nodo al cual ha migrado)
Si (n clientes (nodo de migracin) <= n servidores (nodo de migracin))
Hallar el tiempo de salida de este nuevo cliente que ocupa un servidor que estaba desocupado en el nodo
de migracin
Fin Si
Fin Si

84

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

Aumentar el cronmetro en el valor mnimo


Para nodo = 1 hasta todos los nodos de la red
Si (nodo = nodo x y nodo ~ = nodo de migracin)
Aumentar el valor de c (nodo) en mnimo (n clientes (nodo) + 1)
Si (n clientes (nodo) + 1 > n servidores (nodo))
Aumentar el valor de d (nodo) en mnimo (n clientes (nodo) + 1 - n servidores(nodo))
Fin Si
Aumentar en mnimo el tiempo en el que hay n clientes (nodo) + 1 clientes en nodo
Fin Si
Si (nodo ~ = nodo x y nodo = nodo de migracin)
Aumentar el valor de c (nodo) en mnimo (n clientes (nodo) 1)
Si (n clientes (nodo) 1 > n servidores (nodo))
Aumentar el valor de d (nodo) en mnimo (n clientes (nodo) 1 - n servidores(nodo))
Fin Si
Aumentar en mnimo el tiempo en el que hay n clientes (nodo) 1 clientes en nodo
Si no
Aumentar el valor de c (nodo) en mnimo (n clientes (nodo))
Si (n clientes (nodo) > n servidores (nodo))
Aumentar el valor de d (nodo) en mnimo (n clientes (nodo) n servidores(nodo))
Fin Si
Aumentar en mnimo el tiempo en el que hay n clientes (nodo) clientes en nodo
Fin Si
Fin Para
Fin Mientras

Para obtener el valor de los parmetros de salida hay que proceder como sigue:

L (nodo) =

c (nodo)
cronometro

Lq (nodo) =

d (nodo)
cronometro

85

W (nodo) =

c (nodo)
n de entradas (nodo)

Wq (nodo) =

d (nodo)
n de entradas (nodo)

Captulo 2:Aspectos de implementacin

Nodos de la red cerrada

LT =

L q, T =

i =1

Jorge L. Vega Valle

c (i)
cronometro

Nodos de la red cerrada

i =1

p (n, nodo) =

WT =

d (i)
cronometro

W q, T =

LT
n de clientes simulacion

cronometro

L q, T
n de clientes simulacion

cronometro

tiempo en el que hay n clientes en un determinado nodo


cronometro

86

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

2.4- Detalles de la implementacin


En este apartado se explica con mayor detalle alguna de las caractersticas de la
aplicacin, as como algunos de los problemas surgidos a lo largo de la
implementacin y la forma de solucionarlos.

2.4.1- Clculo de W(t) en los modelos en los que no hay una solucin
analtica
Tanto para el modelo M/M/s/K (ver apartado 2.2.2.4), como para los modelos
M/M/s/ /H (apartado 2.2.2.6) y M/M/s/ /H con Y repuestos (apartado 2.2.2.7) no
se ha proporcionado una frmula explcita para el clculo de W(t). Esto es debido a
que dicha frmula es excesivamente compleja, y la mayora de los libros ni siquiera
la consideran.
Por todo ello, hemos tenido que optar por otra va para calcular el valor de W(t). En
todos los modelos se verifica que:

W (t ) = Wq (t s ) e s ds
0

La resolucin numrica exacta de dicha integral es bastante complicada, por lo que,


para hallar el valor de W(t) en los modelos en los que no tenemos una frmula
exacta, hemos utilizado la implementacin que MATLAB realiza del mtodo de
Simpson17 (funcin quad) de integracin numrica.
Pese a lo que se pueda pensar en un primer momento, el hecho de utilizar un
mtodo de integracin numrica para hallar el valor de W(t) apenas tiene influencia
en el tiempo de ejecucin del algoritmo y el sistema nos proporciona una respuesta

17

Puede observarse con detalle en [Gar-98]

87

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

de forma muy rpida. Incluso para el caso de tener que mostrar la evolucin de la
funcin W(t) en un rango de valores (esto se hace resolviendo la integral para cien
valores equiespaciados en dicho rango, es decir realizando cien aproximaciones
mediante integracin numrica) se resuelve muy rpidamente.

2.4.2- Problemas de desbordamiento en el clculo


Debido a como se resuelven analticamente muchos de los modelos, se pueden
plantear problemas de desbordamiento en el clculo de algunos parmetros. Un
ejemplo puede ser el siguiente:
Modelo M/M/1/K con K = 300, = 100 y = 1
En este caso, = 100.
Recordemos la frmula de L, para el modelo M/M/1/K:

L=

L=

( K + 2) K + 2
1 K +2

, sustituyendo tenemos que

100 302 100 302

, lo que provoca un desbordamiento en el clculo, ya que


99 1 100 302

100302 es un nmero superior al mayor nmero real que puede manejar


MATLAB (1.7976 10308)
Este problema puede darse en otros modelos en funcin de los valores de los
parmetros de entrada que introduzca el usuario. Para solucionar el problema, le
indicamos al usuario por medio de un mensaje de error que se ha producido un

88

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

desbordamiento en la realizacin de los clculos y debe cambiar los valores de los


parmetros de entrada.

2.4.3- Problemas de precisin en el clculo


A lo largo del desarrollo de la aplicacin han aparecido varios problemas relativos
a la precisin en el clculo de las distintas variables. A continuacin se citan los ms
importantes y la manera de resolverlos:
En las redes cerradas se debe verificar la condicin de que la suma de las
probabilidades de transicin de un nodo concreto a todos los nodos de la red debe
ser igual a 1. Pues bien, si por ejemplo en MATLAB hacemos 0.4 + 0.3 + 0.2 +
0.1, esto da como resultado un valor distinto de 1!!! Para resolver este problema
hemos sustituido la condicin de que la suma sea igual a 1, por la condicin de
que la suma se encuentre entre 0.999999 y 1.000001.
En muchos modelos, el clculo de Wq y Lq se realiza segn las siguientes
frmulas:
Wq = W

L q = Wq

Esto puede provocar que debido a las mltiples operaciones que hay que realizar
para el clculo de L (normalmente son varias sumas y productos), se puede
obtener en algunos casos un valor para W ligeramente inferior a 1/, lo que
provocara que tanto el valor de Wq, como de Lq fuesen negativos, en vez de ser
igual a cero. Para solucionar este problema, asignamos directamente el valor cero
a dichas variables en caso de que se de esta situacin.
Debido a que, para el clculo analtico de W(t) en los modelos M/M/s/K,
M/M/s/ /H y M/M/s/ /H con Y repuestos se utilizan tcnicas de integracin

89

Captulo 2:Aspectos de implementacin

Jorge L. Vega Valle

numrica, puede producirse que el valor de W(t) sea, en algunos casos,


ligeramente superior a 1. Para solucionar este problema se asigna directamente
un valor igual a 1 en caso de que ocurra.
Algunas veces al usar las tcnicas de integracin numrica pueden aparecer
los siguientes mensajes de aviso en la lnea de comandos de MATLAB :
Warning: Minimum step size reached; singularity possible
Este mensaje se produce cuando al intentar evaluar el valor de la integral y
debido a las caractersticas de la misma, MATLAB no puede garantizar que
el error cometido en dicha evaluacin sea inferior al requerido, que en nuestro
caso es de una milsima.
Warning: Infinite or Not-a-Number function value
encountered

Este mensaje indica que se ha producido un error de overflow


(desbordamiento de clculo) o una divisin por cero durante la evaluacin de
la integral.
Para evitar estos mensajes de aviso basta con escribir lo siguiente (esto slo es
vlido con la versin 6.5 de MATLAB) en la lnea de comandos:
warning off MATLAB:quad:MinStepSize
warning off MATLAB:quad:ImproperFcnValue

90

Captulo 3: Evaluacin de la aplicacin


Tolle numerorum omnibus rebus et omnia pereunt
Quita el nmero de las cosas y todas se destruirn
(San Isidoro de Sevilla, obispo y telogo de la Espaa visigoda, siglo VIII)

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

3.1- Validacin de los resultados de la simulacin


Para comprobar la correccin de los resultados obtenidos, compararemos los
resultados obtenidos mediante simulacin con los de la solucin analtica
correspondiente al mismo modelo. Ntese que para poder validar los resultados de la
simulacin con los de la solucin analtica deberemos de considerar tanto la
distribucin de llegada como la de servicio de tipo exponencial.
La validacin de los resultados de la simulacin se enfocar estudiando la
influencia de los siguientes parmetros:
Parmetro de estabilizacin y nmero de clientes de la simulacin
Intensidad de trfico
Modelo de colas

3.1.1- Variacin del parmetro de estabilizacin y del nmero de


clientes de la simulacin
Para observar la influencia del parmetro de estabilizacin y del nmero de
clientes de la simulacin en el resultado del algoritmo de simulacin se han analizado
los dos siguientes casos:
Primer caso
Modelo de colas: Simulacin del modelo G/G/s/K
Distribucin de llegada: Exponencial, con = 10
Distribucin de servicio: Exponencial, con = 5
Nmero de servidores: s = 3

92

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Tamao de la cola: K = 3

100

1000

5000

10000

50000

100000

8.582 %

7.017 %

1.415 %

1.643 %

0.481 %

0.463 %

1000 19.235 %

3.998 %

3.520 %

0.463 %

0.676 %

0.106 %

10000 11.714 %

5.213 %

2.281 %

0.885 %

0.336 %

0.339 %

100
Estab.

Parm.

N Clientes Simulacin

Segundo caso
Modelo de colas: Simulacin del modelo G/G/s/K
Distribucin de llegada: Exponencial, con = 200
Distribucin de servicio: Exponencial, con = 5
Nmero de servidores: s = 30
Tamao de la cola: K = 300

N Clientes Simulacin
100
Estab.

Parm.

100

1000

83.290 % 52.723 %

5000

10000

50000

100000

6.986 %

3.935 %

0.680 %

0.338 %

1000 17.209 %

3.342 %

0.257 %

0.237 %

0.040 %

0.040 %

10000 0.545 %

0.130 %

0.030 %

0.043 %

0.021 %

0.025 %

En las tablas anteriores, se muestra el error medio (en tanto por ciento) de cinco
muestras en el clculo de L.

93

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Como podemos observar, los resultados del primer caso son muy diferentes a los
del segundo. As, mientras en el primer caso apenas tiene influencia el aumento del
valor del parmetro de estabilizacin, para el segundo caso podemos ver como un
aumento del parmetro de estabilizacin tiene una gran influencia en el error
obtenido. Esto es debido a que en el primer caso no es muy importante el estado del
cual se parta para el clculo de L, mientras que en el segundo caso es crucial.
En ambos casos podemos ver como cuanto mayor es el nmero de clientes de la
simulacin, menor es el error que se comete. La disminucin del error es muy
pronunciada al principio y ms lenta a medida que ya estamos muy cerca de la
solucin ptima (ntese que el pasar de 50.000 a 100.000 clientes en la simulacin
apenas tiene influencia en el valor del error).
Recomendacin prctica
Debido a que el parmetro de estabilizacin puede tener una gran influencia en el
modelo (dependiendo de las caractersticas del mismo) y a que un valor muy elevado
para el nmero de clientes de la simulacin no hace sino ralentizar el tiempo de
respuesta, los siguientes valores pueden considerarse como los ms adecuados para
obtener lo ms rpidamente posible una respuesta con un pequeo valor para el error:
Parmetro de estabilizacin = 5.000
Nmero de clientes de la simulacin = 10.000

94

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

3.1.2- Variacin de la intensidad de trfico


Para estudiar la influencia de la intensidad de trfico en el error cometido por la
simulacin vamos a analizar tres posibles situaciones:
Primer caso
Modelo de colas: Simulacin del modelo G/G/s
Distribucin de llegada: Exponencial
Distribucin de servicio: Exponencial, con = 5
Nmero de servidores: s = 2
Parmetro de estabilizacin: 1.000
Nmero de clientes de la simulacin: 10.000

ent

Intensidad

Error

0.1

0.983 %

0.5

1.868 %

0.7

3.771 %

0.9

11.326 %

9.5

0.95

25.2192 %

Segundo caso
Modelo de colas: Simulacin del modelo G/G/s/ /H
Distribucin de llegada: Exponencial
Distribucin de servicio: Exponencial, con = 5
Nmero de servidores: s = 2
Poblacin potencial: H = 5

95

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Parmetro de estabilizacin: 1.000


Nmero de clientes de la simulacin: 10.000

ent

Intensidad

Error

0.2

0.096137

2.001 %

1.25

0.48824

0.943 %

2.25

0.71267

1.662 %

0.89162

0.673 %

0.9588

0.750 %

Tercer caso
Modelo de colas: Simulacin del modelo G/G/s/ /H
Distribucin de llegada: Exponencial
Distribucin de servicio: Exponencial, con = 5
Nmero de servidores: s = 2
Poblacin potencial: H = 500
Parmetro de estabilizacin: 1.000
Nmero de clientes de la simulacin: 10.000

ent

Intensidad

Error

0.002

0.09996

1.653 %

0.01003

0.50017

3.357 %

0.01408

0.70018

4.476 %

0.01835

0.90181

7.201 %

0.01977

0.95719

17.8428 %

96

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Los resultados obtenidos en las tablas anteriores muestran el error medio cometido
(por cinco muestras) en el clculo de L.
Como podemos ver en las tablas anteriores, dependiendo de las caractersticas del
modelo que tengamos, el valor de la intensidad de trfico puede tener una gran
influencia en el error cometido. Para el primer y tercer caso, vemos como al
aumentar el valor de la intensidad de trfico mayor es el error cometido y, a medida
que sta se acerca ms a uno, el error aumenta mucho ms. Esto es debido a que en
estos casos, cuanto mayor sea el valor de la intensidad de trfico, mayor ser tambin
la dependencia que existe entre los datos de la muestra obtenida por simulacin. Por
otra parte, para el segundo caso no ocurre lo mismo, ya que, al tener un valor de H
tan bajo, la dependencia entre las observaciones se atena (el tiempo de estancia en
el sistema de un cliente y del siguiente a l no pueden tener una correlacin muy alta)

3.1.3- Variacin del modelo de colas


En este apartado estudiaremos la influencia que tiene la eleccin del modelo de
colas en el error cometido. Debido a que, como hemos observado en el apartado
anterior, la intensidad de trfico tiene influencia en el valor del error (al menos, para
algunos casos), consideraremos modelos cuya intensidad de trfico sea
razonablemente baja.
Para observar la influencia del parmetro modelo de colas en el resultado del
algoritmo de simulacin se han fijado los siguientes parmetros:
Distribucin de llegada: Exponencial
Distribucin de servicio: Exponencial

97

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Intensidad de trfico18: Baja


Parmetro de estabilizacin: 1.000
Nmero de clientes de la simulacin: 10.000
Los resultados obtenidos pueden verse en la siguiente tabla: (el error que se
muestra corresponde a la media de cinco muestras en el clculo de L)
ent

sal

Modelo de colas

Parmetros del

Intensidad

Error

0.1

0.875 %

modelo
1

10

G/G/1

G/G/s

s=2

0.1

1.099 %

2.75

25

G/G/1/K

K=5

0.11

1.209 %

G/G/s/K

s = 4, K = 5

0.1

1.529 %

2.1

40

G/G/1/ /H

H=2

0.099515

0.624 %

28

G/G/s/ /H

s = 4, H = 6

0.1

0.963 %

40

s = 4, H = 8, Y = 2

0.099893

0.806 %

1.307 %

G/G/s/ /H con Y
repuestos
G/G/

K = 2,
Redes Jackson
abiertas

1 = 2, 1 = 5, s1 = 5,
p11 = 0.2, p12 = 0.1,

1.039 %

2 = 3, 2 = 4, s2 = 10,
p21 = 0.1, p22 = 0.1
K = 2, N = 4,

Redes Jackson
cerradas

1 = 2, s1 = 5,
p11 = 0.1, p12 = 0.9,
2 = 3, s2 = 5,
p21 = 0.4, p22 = 0.6

18

No definida como tal para los modelos de redes de colas

98

1.126 %

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Como se puede observar en la tabla anterior, los resultados de la simulacin son


muy parecidos a los del modelo analtico correspondiente. De hecho, un estudio ms
completo muestra que solamente no es as cuando nos encontramos en modelos con
una intensidad de trfico elevada en donde haya una gran dependencia entre los datos
de la muestra obtenida por simulacin.

99

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

3.2- Validacin de la simulacin de las distribuciones


de probabilidad19
Para verificar el correcto funcionamiento de la simulacin de las distintas
distribuciones (ver [Cao-98] o [Dev-86]) que se han empleado en la aplicacin, se ha
usado la frmula de Pollaczek-Khintchine, explicada con detalle en [Cao-02], que
nos permite obtener el valor de L en modelos de la forma M/G/1.

2 + 2 S2
L=+
2 (1 )
donde:

es la intensidad de trfico, y en este caso equivale a:

1
Media ( Distribucin de Servicio)

= Media ( Distrib de Servicio)

Adems debe cumplirse que < 1, para as garantizar la estacionariedad.

es el nmero medio de llegadas de clientes al sistema por unidad de tiempo


(recordemos que para poder aplicar la frmula de Pollaczek-Khintchine la
distribucin de llegada de clientes al sistema debe ser siempre exponencial).

19

2S es la varianza de la distribucin de servicio.

Ver Apndice A para observar la definicin de dichas distribuciones

100

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Los resultados de las distintas pruebas son los siguientes:20


Distribucin exponencial
El valor de tiene una gran influencia en los resultados obtenidos durante la
simulacin. As, el error cometido es mucho mayor cuando toma valores cercanos
a uno que cuando se encuentra alejado de este valor. Como ejemplo, vamos a
comentar los resultados obtenidos para el caso de la distribucin exponencial:
Caso 1: Intensidad de trfico baja ( = 0.15)

=3
= 20
= 0.15
2S= 0.0025
L(Pollaczek-Khintchine) = 0.17647

L (Simulacin)

Error cometido (en %)

Prueba n1

0.17976

1.8643

Prueba n2

0.17678

0.1757

Prueba n3

0.18051

2.2893

Prueba n4

0.17397

1.4167

Prueba n5

0.17623

0.1360

Error Medio

1.1764

Media(L(Simulacin))

Error de la Media (en %)

0.17745

0.5553

20

Todas las pruebas se han realizado con un valor igual a 1.000 en parmetro de estabilizacin y con
un valor igual a 10.000 en nmero de clientes de la simulacin

101

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Caso 2: Intensidad de trfico media ( = 0.60)

=3
=5
= 0.6
2S = 0.04
L(Pollaczek-Khintchine) = 1.5

L (Simulacin)

Error cometido (en %)

Prueba n1

1.4866

0.8933

Prueba n2

1.4456

3.6266

Prueba n3

1.4892

0.7200

Prueba n4

1.6302

8.6800

Prueba n5

1.4776

1.4933

Error Medio

3.0826

Media(L(Simulacin))

Error de la Media (en %)

1.50584

0.3893

Caso 3: Intensidad de trfico alta ( = 0.90)

=3
= 10/3
= 0.9
2S = 0.09

102

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

L(Pollaczek-Khintchine) = 9

L (Simulacin)

Error cometido (en %)

Prueba n1

10.6167

17.9634

Prueba n2

8.5961

4.4878

Prueba n3

9.3125

3.4723

Prueba n4

8.4652

5.9423

Prueba n5

12.0142

33.4912

Error Medio

13.0714

Media(L(Simulacin))

Error de la Media (en %)

9.8009

8.8989

En el siguiente grfico se puede observar de forma clara lo comentado


anteriormente. Cuando toma valores elevados el error medio es mucho mayor
(13%) que cuando toma valores medios (3%) o bajos (1%).

Influencia de la intensidad de trfico en el error cometido


Error (%)

35,0000
30,0000
25,0000
20,0000

Ro = 0.15 (bajo)

15,0000

Ro = 0.6 (medio)
Ro = 0.9 (alto)

10,0000
5,0000
0,0000

Prueba Prueba Prueba Prueba Prueba


1
2
3
4
5

103

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Distribucin uniforme

=1
a = 0.2
b = 0.8

= 0.5
2S = 0.03
L(Pollaczek-Khintchine) = 0.78

L (Simulacin)

Error cometido (en %)

Prueba n1

0.79093

1.4013

Prueba n2

0.78149

0.1910

Prueba n3

0.77515

0.6218

Prueba n4

0.75774

2.8538

Prueba n5

0.78549

0.7038

Error Medio

1.1543

Media(L(Simulacin))

Error de la Media (en %)

0.77816

0.2359

104

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Distribucin determinista

=2
d = 0.3

= 0.6
2S = 0
L(Pollaczek-Khintchine) = 1.05

L (Simulacin)

Error cometido (en %)

Prueba n1

1.0164

3.2000

Prueba n2

1.0245

2.4286

Prueba n3

1.1154

6.2286

Prueba n4

1.0288

2.0190

Prueba n5

1.0466

0.3238

Error Medio

2.8400

Media(L(Simulacin))

Error de la Media (en %)

1.04634

0.3486

105

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Distribucin gamma

= 0.5
p=2
a=3

= 1/3
2S = 2/9 0.2222
L(Pollaczek-Khintchine) = 11/24 0.4583333

L (Simulacin)

Error cometido (en %)

Prueba n1

0.4621

0.8218

Prueba n2

0.4751

3.6582

Prueba n3

0.4529

1.1855

Prueba n4

0.4620

0.8000

Prueba n5

0.4528

1.2073

Error Medio

1.5346

Media(L(Simulacin))

Error de la Media (en %)

0.4610

0.5818

106

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Distribucin beta

=2
p=1
q=5
k=1

= 1/3
2S = 5/252
L(Pollaczek-Khintchine)= 120/252 0.47619

L (Simulacin)

Error cometido (en %)

Prueba n1

0.4795

0.6950

Prueba n2

0.4759

0.0610

Prueba n3

0.4836

1.5560

Prueba n4

0.4872

2.3120

Prueba n5

0.4824

1.3040

Error Medio

1.1856

Media(L(Simulacin))

Error de la Media (en %)

0.4817

1.1570

107

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Distribucin lognormal

= 0.2
=1
= 0.2
= 0.2 * e1.02 0.5546
2S = e2.08 - e2.04 0.3139
L(Pollaczek-Khintchine)= 0.2 * e1.02 + (0.02 * e2.08) / (1 0.2 * e1.02) 0.9141

L (Simulacin)

Error cometido (en %)

Prueba n1

0.9212

0.7769

Prueba n2

0.9038

1.1267

Prueba n3

0.8895

2.6910

Prueba n4

0.8789

3.8506

Prueba n5

0.9090

0.5578

Error Medio

1.8006

Media(L(Simulacin))

Error de la Media (en %)

0.9005

1.4877

108

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Distribucin normal

= 0.2
=4
= 0.5
= 0.8
2S = 0.25
L(Pollaczek-Khintchine) = 2.425

L (Simulacin)

Error cometido (en %)

Prueba n1

2.3993

1.0598

Prueba n2

2.6071

7.5093

Prueba n3

2.3044

4.9732

Prueba n4

2.5243

4.0948

Prueba n5

2.3460

3.2577

Error Medio

4.1790

Media(L(Simulacin))

Error de la Media (en %)

2.4362

0.4627

109

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Distribucin de Weibull

llegada = 1
Weibull = 10
= 0.5
= 0.2
2S = 0.2
L(Pollaczek-Khintchine) = 0.35

L (Simulacin)

Error cometido (En %)

Prueba n1

0.3703

5.8000

Prueba n2

0.3530

0.8571

Prueba n3

0.3546

1.3143

Prueba n4

0.3595

2.7143

Prueba n5

0.3657

4.4857

Error Medio

3.0343

Media(L(Simulacin))

Error de la Media (En %)

0.3606

3.0286

Como se puede observar en los resultados de todas las distribuciones, el error


cometido es siempre inferior a un 5%, por lo que la simulacin de las distintas
funciones de distribucin funciona correctamente. Solamente hay que tener
precaucin con los resultados de la simulacin cuando los valores de la intensidad de
trfico son cercanos a uno.

110

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

3.3- Influencia de la variacin de algunos parmetros


en el tiempo de ejecucin de la simulacin
En este apartado se analizar la influencia que tiene la variacin de algunos
parmetros en el tiempo de ejecucin de los algoritmos de simulacin. En el caso de
la resolucin analtica la respuesta es inmediata en casi todos los casos (salvo en las
redes de colas cerradas que posean un nmero de nodos y clientes elevados).
Todas las pruebas han sido realizadas en el siguiente equipo:
Pentium III a 933 Mhz
384 Mb de memoria RAM
Carga mnima del sistema (mquina aislada).

Los factores a considerar son los siguientes:


Distribucin de probabilidad
Intensidad de trfico
Parmetro de estabilizacin y nmero de clientes de la simulacin
Modelo de colas

3.3.1- Variacin de la distribucin de probabilidad


Para observar la influencia de una determinada distribucin de probabilidad en el
tiempo de ejecucin del algoritmo de simulacin se han fijado los siguientes
parmetros:

111

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Modelo de colas: Simulacin del modelo G/G/1


Parmetro de estabilizacin: 1.000
Nmero de clientes de la simulacin: 10.000
Distribucin de llegada: Exponencial
La distribucin de servicio vara en funcin de que distribucin de probabilidad
estemos estudiando.
Los resultados obtenidos pueden verse en la siguiente tabla21:
ent

Distrib. Servicio

Parmetros de la

Intensidad

Tiempo

distribucin
3

EXPONENCIAL

= 0.6

0.6

3.6032

UNIFORME

a = 0.2, b = 0.8

0.5

5.8804

DETERMINISTA

d = 0.3

0.6

3.5650

GAMMA

a = 5, p = 1

0.4

7.3848

BETA

p = 1, q = 5, k = 1

0.3333

17.7636

0.2

LOGNORMAL

= 1, = 0.2

0.5546

5.8624

0.2

NORMAL

= 4, = 0.5

0.8

6.1750

WEIBULL

= 10, = 0.5

0.2

6.2448

Como conclusin, se puede observar que la distribucin que se elija tiene una gran
influencia en el tiempo de ejecucin del algoritmo; por ejemplo, el tiempo de
ejecucin del algoritmo con la distribucin beta es casi cinco veces superior al de la
distribucin determinista. Esto es debido a que la generacin de nmeros de una
determinada distribucin (ver 2.1.4) es ms compleja en unos casos que en otros.

Puede observarse que todos los modelos son estacionarios ( < 1). Los tiempos de ejecucin que se
muestran en todas las tablas son en segundos.
21

112

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

3.3.2- Variacin de la intensidad de trfico


Para observar la influencia de la intensidad de trfico en el tiempo de ejecucin del
algoritmo de simulacin se han fijado los siguientes parmetros:
Modelo de colas: Simulacin del modelo G/G/1
Parmetro de estabilizacin: 1.000
Nmero de clientes de la simulacin: 10.000
Distribucin de llegada: Exponencial
Distribucin de servicio: Exponencial, con = 10
El valor de vara en funcin del valor de la intensidad de trfico que estemos
estudiando.
Los resultados obtenidos pueden verse en la siguiente tabla:
ent

Intensidad

Tiempo

0.1

0.01

3.5230

0.1

3.5570

0.3

3.6110

0.5

3.6736

0.7

3.7234

0.9

3.7654

9.5

0.95

3.7854

9.9

0.99

3.8056

Como conclusin, se puede observar que el valor de la intensidad de trfico tiene


una ligera influencia en el tiempo de ejecucin del algoritmo. Esto es debido a que
para la finalizacin del bucle de simulacin (y para la finalizacin del bucle de

113

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

estabilizacin), se requiere que el nmero de llegadas, que inicialmente vale cero, sea
igual al nmero de clientes de la simulacin (en el caso del bucle de estabilizacin,
igual al parmetro de estabilizacin). El nmero de llegadas aumenta cuando no hay
ningn cliente en el sistema (debe de producirse de forma forzosa una llegada) o
cuando hay algn cliente y se produce una llegada. La intensidad de trfico tiene una
gran influencia en ambos casos, pues, el primero de ellos se produce con mayor
frecuencia cuanto menor es su valor, mientras que el segundo de los casos se produce
con mayor frecuencia cuanto mayor es su valor.

3.3.3- Variacin del parmetro de estabilizacin y nmero de


clientes de la simulacin
Para observar la influencia del parmetro de estabilizacin y del nmero de
clientes de la simulacin en el tiempo de ejecucin del algoritmo de simulacin se
han fijado los siguientes parmetros:
Modelo de colas: Simulacin del modelo G/G/1
Distribucin de llegada: Exponencial, con = 3
Distribucin de servicio: Exponencial, con = 5
Los resultados obtenidos pueden verse en la siguiente tabla:

114

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Estabilizacin

Parmetro de

N Clientes Simulacin
1000

5000

10000

20000

50000

100000

10

1.913

2.614

3.555

5.417

10.966

20.159

100

1.893

2.634

3.565

5.408

10.986

20.169

500

1.953

2.704

3.626

5.518

11.086

20.229

1000

2.003

2.764

3.686

5.558

11.186

20.329

5000

2.544

3.355

4.226

6.138

11.617

20.850

10000

3.304

3.976

4.937

6.760

12.418

21.501

Como conclusiones podemos citar las siguientes:


El aumento del parmetro de estabilizacin tiene especial influencia en el
tiempo de ejecucin del algoritmo de simulacin cuando el nmero de clientes de
la simulacin es bajo. Podemos observar, que con 1.000 clientes de simulacin,
la duracin del algoritmo en funcin del parmetro de estabilizacin flucta un
72%, con 10.000 clientes un 39%, y con 100.000 clientes slo oscila un 7%.
La complejidad del algoritmo de simulacin es: (n). La comprobacin
puede verse en la siguiente tabla, realizada para el caso en el cual el parmetro
de estabilizacin vale 10.000 (en otro caso ocurrira algo muy similar):

Simulacin

N Clientes

Cociente entre el t. ejecucin y las siguientes funciones


log (n)

n log(n)

n2

1000

0.826

3.30410-3

1.10110-3

3.30410-6

5000

1.075

7.95210-4

2.15010-4

1.59010-7

10000

1.234

4.93710-4

1.23410-4

4.93710-8

20000

1.572

3.38010-4

7.85910-5

1.69010-8

50000

2.643

2.48410-4

5.28510-5

4.96710-9

100000

4.300

2.15010-4

4.30010-5

2.15010-9

115

Captulo 3: Evaluacin de la aplicacin

Jorge L. Vega Valle

Para el caso de la funcin log(n), la sucesin parece ser


divergente. Se trata de una funcin subestimada22 .
Para n2 podemos ver que la sucesin aparenta converger a cero.
Se trata de un funcin sobrestimada.
Tanto al considerar la funcin n, como la funcin nlog(n), las
sucesiones parecer converger a un valor distinto de cero, por lo que se
trata de funciones ajustadas, aunque la primera con una mayor
precisin que la segunda.

3.3.4- Variacin del modelo de colas


Para observar la influencia del modelo de colas en el tiempo de ejecucin del
algoritmo de simulacin se han fijado los siguientes parmetros:
Parmetro de estabilizacin: 1.000
Nmero de clientes de la simulacin: 10.000
Distribucin de llegada: Exponencial
Distribucin de servicio: Exponencial
Intensidad de trfico23: Igual muy cercana a 0.4
Los resultados obtenidos pueden verse en la siguiente tabla:

22
23

Estos trminos se definen con detalle en [Wei-95]


Salvo en el modelo G/G/ en donde la intensidad de trfico es siempre igual a cero

116

Captulo 3: Evaluacin de la aplicacin

ent

sal

Modelo de colas

Jorge L. Vega Valle

Parmetros del

Intensidad

Tiempo

0.4

3.6412

modelo
2

G/G/1

G/G/s

s=2

0.4

5.5580

G/G/1/K

K = 10

0.4

3.6974

G/G/s/K

s = 2, K = 10

0.4

5.6480

11

G/G/1/ /H

H=5

0.40258

5.5760

G/G/s/ /H

s = 4, H = 5

0.41424

7.6892

s = 6, H = 5, Y = 2

0.41892

7.3626

5.5338

G/G/s/ /H con Y
repuestos
G/G/

Como conclusin, se puede observar que el tipo del modelo de colas tiene una gran
influencia en el tiempo de ejecucin del algoritmo de simulacin. As se puede
observar como el tiempo de ejecucin para el modelo G/G/s/ /H es ms de dos
veces superior al tiempo de ejecucin del modelo G/G/1. Esto es debido a que las
operaciones que se tienen que realizar no son las mismas en todos los modelos (vase
en el apartado 2.3.2 las diferencias entre los distintos algoritmos).

117

Captulo 4: Conclusiones y trabajo futuro

Las cosas, una vez principiadas, ni se han de olvidar ni dejar, hasta ser acabadas,
que es nota de poca prudencia muchos actos comenzados y acabado ninguno
(Mateo Alemn, escritor espaol, siglos XVI y XVII)

Captulo 4: Conclusiones

Jorge L. Vega Valle

El desarrollo de la aplicacin tiene, entre otras, las siguientes consecuencias


directas a la hora de resolver un determinado modelo de colas:
Disminuir el tiempo dedicado a la resolucin del modelo.
Evitar el tener que resolver el modelo a mano.
Evitar la posibilidad de cometer algn tipo de error en los clculos.
Posibilitar la rpida resolucin de otros modelos parecidos.
Permitir que se pueda analizar la influencia de la variacin de algunos
parmetros de entrada en los valores de salida.
Ayudar a la toma de decisiones en el caso de que se trate de un modelo real.
Permitir resolver por simulacin muchos modelos que no tienen una solucin
analtica.
Fomentar la enseanza y el aprendizaje de la teora de colas en un mbito
docente.

Es importante resaltar que los alumnos de la Facultad de Informtica de A Corua


que han cursado durante este ao la asignatura de Teora de Colas, han estado
utilizando esta aplicacin para la resolucin de modelos reales.

Trabajo futuro
A pesar de que la herramienta es capaz de solucionar los objetivos (ver 1.1.2) que
se marcaron al inicio del proyecto, existen otras tareas que se podran realizar en
futuros trabajos:
Conseguir dar respuesta a un mayor nmero de modelos de colas (tanto de la
forma M/M/- G/G/-, como de redes de colas).

119

Captulo 4: Conclusiones

Jorge L. Vega Valle

Permitir la posibilidad de ejecutar la aplicacin sin la necesidad de tener


instalado MATLAB en el equipo. Sobre este aspecto, caben dos posibilidades:
La primera y menos interesante, que es la generacin de un ejecutable
(por ejemplo, directamente con MATLAB usando el comando mcc).
Para ms informacin sobre como generar un archivo ejecutable con
MATLAB, consultar [7].
La segunda y ms interesante, sera el desarrollo de una herramienta de
este tipo en un entorno tipo Web (por ejemplo), que permita a distintos
usuarios, con la sola presencia de un navegador, poder ejecutar la aplicacin.
Mejorar la interfaz de la aplicacin, de forma que sea ms amigable con el
usuario.

120

Apndice A: Caractersticas de las de distribuciones


usadas en la aplicacin
A continuacin se muestran las caractersticas ms importantes (funcin de
densidad, media y varianza) de las distintas distribuciones que se utilizan en la
aplicacin.
Distribucin exponencial: Exp()
f ( x) = e x

E( X ) =

Var ( X ) =

x>0

Distribucin uniforme: U(a,b)

f ( x) =

1
ba

E( X ) =

x ( a, b)

a+b
2

(b a ) 2
Var ( X ) =
12

121

Distribucin determinista: D(d)


f ( x) = d
E( X ) = d
Var ( X ) = 0

Distribucin gamma: (a,p)

f ( x) =

ap
e a x x p 1
( p)

E( X ) =

Var ( X ) =

x>0

p
a
p
a2

Distribucin beta: (p,q,k)

x

k
f ( x) =

p 1

1
k

k ( p, q )

E( X ) =

Var ( X ) = k 2

q 1

0<x<k

kp
p+q

pq
( p + q ) ( p + q + 1)
2

122

Distribucin lognormal: L(,)

f ( x) =

(ln( x ) ) 2

1
x 2

E( X ) = e

x R

2 2

( +

2
2

Var ( X ) = e e 2 (e 1)
Distribucin normal: N(,)

f ( x) =

( x )2

xR

2 2

E( X ) =

Var ( X ) = 2

Distribucin de Weibull: W(,)


f ( x) = x 1 e ( x )
E( X ) =

Var ( X ) =

(1 +

x0

1
2
1
(1 + ) 2 (1 + )
2

Donde

( p) = x p 1 e x dx

Adems, si p entonces (p) = (p - 1)!

123

Apndice B: Instalacin y ejecucin de la aplicacin


Requisitos de la aplicacin
Requisitos de software
Para poder ejecutar correctamente la aplicacin es necesario tener instalado en
el equipo los siguientes componentes:
-

Versin de MATLAB posterior a la 5.0 para as poder visualizar la


interfaz.

La librera especfica que incluye MATLAB para el clculo estadstico


(Statistics Toolbox), ya que se utilizan funciones de dicha librera para
generar nmeros segn una determinada distribucin (ver 2.1.4 y [2])
Requisitos de hardware

Espacio en disco libre: La aplicacin necesita un espacio en disco duro


ligeramente inferior a 1 Mb y el espacio requerido por MATLAB depende
tanto de la versin como de los componentes adicionales que instalemos
(vara entre 100 Mb y 1.5 Gb)

Memoria RAM del equipo: Mayor o igual a 128 Mb.

Velocidad del procesador: Mayor o igual a 500 MHz.24

24

Tanto el valor de la memoria RAM, como de la velocidad del procesador, no se corresponden


realmente con una limitacin, sino ms bien con una recomendacin para poder ejecutar la aplicacin
de forma rpida.

124

Instalacin de la aplicacin
Una vez que tenemos instalado MATLAB en nuestro equipo, la instalacin de la
aplicacin resulta muy sencilla, pues lo nico que tenemos que hacer es indicarle a
MATLAB donde tenemos localizados los archivos que forman parte de la
aplicacin.
Para ello hay que seleccionar en el men File la opcin Set Path, y nos aparece
una ventana como la que se muestra a continuacin:

Figura 11- Localizacin de la carpeta en donde se encuentra la aplicacin

Para especificar el lugar en donde se encuentran instalados los archivos de la


aplicacin seleccionamos la opcin Add Folder. Una vez seleccionada la ruta,

125

debemos almacenarla (opcin Save), para as no tener que introducirla cada vez que
volvamos a ejecutar MATLAB.
Ejecucin de la aplicacin
Si ya le hemos indicado al sistema donde localizar los archivos que forman parte de
la aplicacin, estamos en condiciones de poder ejecutarla.
Para ello, lo nico que hay que hacer es teclear lo siguiente en la Ventana de
Comandos de MATLAB:
>> aquas

Figura 12- Ventana inicial de la aplicacin

126

Apndice C: Contenido del CD


El contenido del CD adjunto a esta memoria se divide en las siguientes carpetas:
Carpeta Memoria. Incluye la versin en formato electrnico de este
documento.
Carpeta AQUAS. Incluye los archivos que forman parte de la aplicacin.
Carpeta Ayuda Matlab. Incluye los documentos relativos a MATLAB que
han sido consultados con mayor frecuencia. A su vez esta carpeta se divide en las
siguientes carpetas:
Carpeta Comenzar con Matlab. Incluye un archivo [4] en donde se
explica lo bsico para comenzar a trabajar con MATLAB.
Carpeta Graficas. Incluye un documento [5] en donde se explica cuales
son los diferentes tipos de grficas que hay en MATLAB, as como sus
opciones.
Carpeta GUIs. Incluye un archivo [3] en donde se explica qu hay que
hacer para desarrollar una aplicacin que trabaje con interfaces usando
MATLAB as como las opciones que proporciona.
Carpeta Manual de Referencia. Incluye tres documentos [6] en donde se
muestra una breve pero muy til descripcin de todas las funciones existentes
en MATLAB.
Carpeta Statistics Toolbox. Incluye un archivo [2] en donde podemos
encontrar la definicin de todas las funciones de la librera estadstica.

127

Bibliografa
Los libros son, de entre mis consejeros, los que ms me agradan, porque ni el temor
ni la ambicin les impiden decirme lo que debo hacer.
(Alfonso II de Aragn, el Casto, Rey de la corona de Aragn, siglo XII)

[All-90]

Allen, A.O. (1990). Probability, Statistics and Queueing Theory with Computer
Science Applications. Academic Press.

[Bos-02] Bose,

S.K.

(2002).

An

Introduction

to

Queueing

Systems.

Kluwer

Academic/Plenum.
[Cao-98] Cao, R. y otros (1998). Estadstica Bsica Aplicada. Trculo.
[Cao-02] Cao, R. (2002). Introduccin a la Simulacin y a la Teora de Colas. Netbiblo.
[Dev-86] Devroye, L. (1986). Non-uniform random variate generation. Springer-Verlag.
[Gar-98]

Garca, A. y otros (1998). Clculo I. Teora y problemas de Anlisis Matemtico en


una Variable. Clagsa.

[Gro-98]

Gross, D. and Harris, C.M. (1998). Fundamentals of Queueing Theory. Wiley.

[Hil-97]

Hillier, F. y Lieberman, G. (1997). Introduccin a la Investigacin de Operaciones.


McGraw-Hill.

[Law-91] Law, A.M. and Kelton, W.D.(1991). Simulation Modeling and Analysis. McGrawHill.

128

[Mar-99] Marchand P. (1999). Graphics and GUIs with MATLAB. CRC Press.
[Pre-97]

Pressman R. G. (1997). Ingeniera del Software. Un enfoque prctico. McGrawHill.

[Red-98] Redfern D. and Campbell C. (1998). The MATLAB 5 Handbook. Springer.


[Wat-89] Watson H.J. and Blackstone J.H. (1989). Computer Simulation. Wiley.
[Wei-95] Weiss M.A. (1995). Estructuras de Datos y Algoritmos. Addison-Wesley
Iberoamericana.

Sitios Web
[1] MATLAB. The Language of Technical Computing. Home Page. The MathWorks.
http://www.mathworks.com, 2004
[2] MATLAB. The Language of Technical Computing. Statistics Toolbox. The MathWorks.
http://www.mathworks.com/access/helpdesk/help/pdf_doc/stats/stats.pdf, 2004
[3] MATLAB. The Language of Technical Computing. Creating Grafical User Interfaces.
Version 6. The MathWorks
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/buildgui.pdf, 2004
[4] MATLAB. The Language of Technical Computing. Getting Started With MATLAB.
Version 6. The MathWorks
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/getstart.pdf, 2004

129

[5] MATLAB. The Language of Technical Computing. Using MATLAB Graphics. Version 6.
The MathWorks
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/graphg.pdf, 2004
[6] MATLAB. The Language of Technical Computing. MATLAB Function Reference. Version
6. The MathWorks
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/refbook.pdf,
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/refbook2.pdf,
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/refbook3.pdf, 2004
[7] MATLAB. The Language of Technical Computing. MATLAB Compiler. Version 6. The
MathWorks
http://www.mathworks.com/access/helpdesk/help/pdf_doc/compiler/compiler3.pdf, 2004
[8] Manual de Matlab 6.0: Aprenda Matlab 6.0 como si estuviera en primero. Escuela
Superior de Ingenieros Industriales. Universidad de Navarra,
http://www1.ceit.es/asignaturas/Informat1/AyudaInf/aprendainf/matlab60/matlab60.pdf,
Julio 2001

130

Vous aimerez peut-être aussi