Sei sulla pagina 1di 46

ESTADISTICA ESPAOLA

nm. 105, 1984, pgs. 71 a 115

EL CONTR O L DE PROY ECTOS E N UN CONTEXTO


A LEATORIO : APLICAC I O N DEL M ETO DO
MONT ECARLO
por JUAN ANTONIO CAAS MADUEO
Departamento de Economa y Sociologa
Agrarias. ETSIA. Universidad de Cbrdoba

y RAFAELA DIOS PALOMARES


Dpartamento de Estadstica.
ETSIA. Universidad de Cbrdoba

RESUMEN

En este trabajo realizamos una aplicacin del mtodo de simulacin


Monte Carlo al control de proyectos en aquellos casos en los que algunas de
las actividades en que se descompone la realizacin de una obra, presentan
una duracin de realizacin aleatoria. Para poder aplicar el mtodo de
simulacin se han desarrollado unos programas de clculo en lenguaje BA-
SIC mediante los cuales se determinan las holguras de las actividades, as
como el camino(s) crtico(s) con cada uno de los valores simulados para
cada actividad con duracin de realizacin aleatoria. Los tipos de variables
aleatorias contempladas en el trabajo son: variables continuas con distribu-
cin de probabilidad de tipo Beta, y con distribucin de probabilidades en
histogramas de frecuencia; variables discretas cuya distribucin se puede
ajustar a una binomial negativa o bien a cualquier otra funcin de probabili-
dad que se estudiara mediante su histograma de frecuencias. Realizados los
clculos para el nmero de generacions deseado, se determina el ndice de
criticidad de las diferentes activdades.

Palabras clave: PERT, simulacin Mante Carlo, lenguaje BASIC, distribu-


cin Beta, distribucin binominal negativa, camino crtico.
F-.tiTA[^ISTIC.A ^_^F'A!^(>I^A

INTRODLICCIU^t

ilna de las funciones del empresario como tal es la de tmar decisiones ante las
diversas situaciones yue se le presentan a lo larg,o del proceso de produccin. La
adopcic^n de una u otra decisin da lugar a unas cc^nsecuencias, posiblemente diferentes
en cada caso, siendo tambin fur^in del empresario el controlar y evaluar estos resulta-
dos.

Actualmente se dispone de varios mtodos que permiten analizar y evaluar las


consecuencias de las decisiones empresariales de acuerdo con el grado de informacin
que se tenga sobre las variables que intervienen en el problema, as como sobre la
fiabilidad que le merezcan al empresario o responsabte de la decisin.

Una de las tcnicas que se aplican en la programacin y control de proyectos es el


mtodo ipERT, que permite determinar el camino crtico, as como el tiempo total de
ejecucicn y los mrgenes que pueden permitirse en cada tarea para que la fecha de
terminacin de1 proyecto no se retrase. Sabido es, sin embargo, que las variables que
intervienen en el modelo son los tiempos de duracic^n de cada tarea, cuya naturaleza es,
en gran mayora, estocstica.

As, para hacer una buena modelizacin de la realidad y conseguir, por tanto,
resultados fiables y aplicables empricamente una vez tomada la decisin, es indispensa-
ble iniroducir en el modelo la naturaleza aleatoria de aquellas variables cuya considera-
cin como deterministicas implicaria errores sustanciales.

E1 PERT aleatorio tiene en cuenta esta aleatoriedad, pero can algunas simplificacio-
nes, ya que slo introduce en el modelo las varianzas de las variables, Por otro lado, la
determinacin de la varianza del tiempo total se basa en el Teorema Central del Lmite,
que se apoya en la hiptesis, que no siempre se curnple, de que el nmero de variables
es muy grande.

El ideal, sin embargo, es modelar la realidad considerando el comportamiento aleato-


rio de las vaables en toda su amplitud, esto es, introduciendo en el modelo la funcin
de densidad de las mismas para llegar a determinar las funciones de densidad de las
variables de decisn que nos proporcionan la informacin ms completa. Esto es io que
se consigue aplicando fos mtodos de simulacin.

E1 objetivo del presente trabajo consiste precisamente en la aplicacic5n de las tcnicas


de simulacin al mtado PERT para la programacibn y el control de proyectos. Hemos
construido a tal efecto un modelo de simulacin utilizando el mtodo Monte Carlo.

Uno de los problemas que se presentan es la determinacin de las distribuciones que


siguen las variables.
f-:[_ CONT^ROL. DE: PRC:)^ I^C-'IC)S

Con el fin de que el modelo sea lo ms amplia posible, se ha diseado considerando


la posibilidad de que intervengan variables, tanto continuas camo discretas. Igualmente,
teniendo en cuenta los problemas especficos yue se resuelven con este tipo de tcnicas
de control, hemos particularizado para las variables Beta y binomial negativa, por
considerar que san las que mejor se ajustan a los tiempos de ejecucin de las tareas del
proyecto.

Para la resoucin del modela se ha elaborado y puesto a punto un programa de


clculo para un microcomputador cuya utilizacin resulta indispensable para aplicar los
mtodos de simulacin.

Por ltimo hacemos una aplicacin de la metodaloga presentada a un caso prctico,


que consiste en un proyecto, descompuesto en 18 actividades, de las cuales siete se
consideran realizables en un tiempo fi jo, con lo que las variables que expresan sus
tiempos de duracin son determinsticas. Las otras 11 actividades, sin embargo, presen-
tan en sus tiempos de realizacin una considerable aleatoriedad, motivo por el cual se
resuelve el proyecto aplicando el mtodo de simulacin.

Una vez analizada la naturaleza de las actividades aleatorias, cuenta el modelo con
cuatro variables discretas, siendo dos de ellas binomial negativa y siete continuas que se
dividen en tres variables en histogramas de frecuencias y cuatro variables betas.

Los resultados obtenidos ofrecen una informacin completa de la natraleza aleatoria


del tiempo total de ejecucin, as como de las holguras y del indice de criticidad de cada
actividad del proyecto.

LA SIMULACI^N MONTE CARL(^ APLICADA AL PERT

La aplicacin de los mtodos de simulacin Monte Carlo al mtodo PERT viene a


resolver, como ya se ha indicado, el problema originado por la aleatoriedad de algunas
de las variables que intervienen en el modelo de control de proyectos.

De una manera bsica y esquemtica, la metodologa consiste en resolver el proyecto


mediante el mtodo PERT un nmero elevado de veces, de modo que cada vez tomen
las variables aleatorias un valor generado aleatoriamente segn su propia funcin de
densidad. Se consigue as igualmente un nmero elevado de valores de las variables de
decisin que nos permitir conocer su comportamiento representado en sus distribuciones
,.
empir^cas.

E1 primer paso para piantear el modelo es el anlisis de las variables para ver cul
es su naturaleza y determinar o ajustar su funcin de densidad o de probabilidad. Una
E^STADIST[CA ESPA,!^O1_A

vez hecho esto la simulacin proporciona su metodologa especfica para la generacin


aleatoria de las mismas.

Anlisis de las variales

Las variables del modelo de cantrol de proyectos representan los tiempos de duracin
en la ejecucin de las tareas o actividades que lo componen. D^ebido a esto tienen unas
caractersticas determinadas.

Para realizar el anlisis de las mismas se determina su d^stribucin empfrica a partir


de un nmera de datos considerable, extrados de proyectos de carcter similar, que se
han realizado con anterioridad. E1 estudio de dicha distribucin nos permite, en algunos
casos, ajustar a la misma una distribucin terica conocida, que asciamos a la variable
en estudio.

La distribuci6n beta: En el caso de variables continuas es frecuente poder aj ustar, con


suficiente rigor estadstico, distribuciones de tipo beta cuya funcin de densidad represen-
ta fielmente el comportamiento de los tiempos de duracin de las actividades. Se caracte-
riza esta distribucin por estar su espacio muestral acotado entre dos valores a y b y
tener la forma acampanada dependiendo de dos parmetros p y q. Su funcin de
densidad es:

1 (x-u^{h-x)4
- para a ^ x<_ h
^^F' + ^ + ^ + ^ ^ (h - a ^P+y+ ^

La determinacin de !a funcin beta que mejor se ajusta a una distribucin emprica


dada, sp rea;=?-s estimando los parmetros de posicin y de dispersin de dicha distribu-
cin e,-r.pric;- , w^sto es, ta media, la moda y la varianza y relacionndolos con las de la
funcin beta. :;_.to nos permitir estimar los parmetros ^ ^ y y de esta ltima, de la
siguiente manera:
A

Sean m. M y t^2 los estimadores de la distribucin emprica y rn. M y a^ los de la


fur^cin beta ^3(p, r^ ) de extremos a y h.

Dado que en la funcin beta se cumplen las relaciones

u + M(p + q} + h
rn =
p + y + 2

q + h!^

n+y
}(h u)2
{P + 1)(q + 1
cs 2
^ (p + a + 3) (p+ q + 2}^
^ 1_ CONTRQL DE PROYFC'TOS 75

podemos calcular h y y, dados c^ y h, mediante las expresiones

^, + M(p + y) + h
^rr =
^^ + y + ?

. ct y + h- p
M -
p + y

2 (p + 1)(y + 1)(h - u)2


^ -
(p + q + 3) (p + y + 2)a

Lu hi^i^miu^ nekat! ^ ^u: En el anlisis de las variables discretas se ha observado que


varias de ellas deben su compartamiento aleatorio a fenmenos atmosfricos o bien a
averas de maquinarias, que, en suma, se traducen en ocasionar que los das de trabajo
sean tiles o no tiles.

Analicemos una tarea del proyecto que requiera T, das tiles para su terminacin.
Si suceden fenmenos que provaquen la ocurrencia de T2 das no tiles, la terminacin
de la tarea se cumplir transcurridos T, + T2 das en total, que ser el tiempo de
duracin efectivo y podr repercutir en el tiempo de realizacin del proyecto. Se trata,
por tanto, de una variable aleatoria acotada inferiormente a T, y cuya naturaleza
depende directamente de la probabilidad p de ocurrencia de da til. Estas considera-
ciones nos han Ilevado a conciuir que su comportamiento se ajusta fielmente a la
variable discreta denominada binomial negativa de las siguientes caractersticas:

Sea una variable binaria B(p) que se realiza un nmero indefinido de veces, siendo p
la probabilidad de xito, y(1 -- p) la probabilidad de fallo. La variable x binomial
negativa representa el nmero de pruebas que hay que realizar de B(p) para conseguir k
xitos o el nmero de la prueba en la que se consigue el k-simo xito.

En relacin con las variables tiempo de ejecucin que estarnos estudiando lo expresa-
riamos como el nmero de das que transcurrir en total para conseguir T, das tiles.

La variable binomial negativa de parmetros k, p se distribuye de la siguiente


manera:
X - 1
f(X k. P) _ pk (1 - p)X-k x E S= (k, k+ 1, ...)
k 1

En nuestro caso particular k= T, y p sera la probabilidad de da til que puede ser


estimada empricamente a partir de datos conocidos de fenmenos ocurridos con ante-
rioridad.

Di.strihuciones empricu.s: E1 modelo de control de proyectos puede contener tam-


bin actividades cuya funcin de probabilidad no se ajusta bien a ninguna distbucin
f.STA[71^T[C^A E^SP.A'vC71.A

CC^noclda. En estas Casos, 1dS variables cont^nuas se representan mediante SU histograma


de frecuencias y las discretas, mediante 5^^ funcin de probabilidad.

C;c^rtc^rucicn ulYUtcjriu

La generaci^ n aleatoria de )as variables se realiza aplicando los mtodos de la


simulacin Monte Carlo que utilzan las funciones de distribucin empiricas o bien algn
mtodo especfico para casos de variables continuas de funcin de densidad compli-
cada. En resumen, se trata de generar valores de una determinada variable, de tal
manera que los msrnos se ^justen fielmente al comportamiento aleatorio que manifiesta
su funcin de densidad.

La generacin aleatoria de cualquier variabte se basa en la generacin previa de


valares de 1a variable uniforme o rectangular R(o, 1), que son equiprobables entre o y 1.

Existen varios mtodos para la determinacin de estos valores que se denominan


nmeros aleatorios, pero en ta prctica se utilizan tablas previamente elaboradas que !os
contienen. Es, sin embargo, general que se encuentren introducidos como subrutina en
todos 1os computadores, !o que facilita la puesta en prctica de los mtodos de simula-
cin.

Vuriuhles cuntinr^c^.S: Si particularizamos para una variable aleatora continua _x de


funcin de densidad .f ^(_x), y de funcin de distribucin F(x), la obtencin de cada valor
de la misma se efecta de1 siguiente modo:

u) Se genera un valor R E R(o, 1).


h) Se calcula .r mediante ta inversa de F(.^c ) de manera que x= F-' (R ).

.____.. .^ ._..^ ^ ^ ____. _..___ _._._.

x=I^^^r^^ X

Para el empleo de esta metodoiogia es necesario e! conocimiento de F-'{.r) que no


siempre es fcil. Es por eso que se han elaborado mtodos especficos para la genera-
cin de ai,gunas variables aleatorias en las que la aplicacin de este mtodo no es
fciimente viable.
E^L. CC^;^ITRC)[_ UE: PROYE:C""IOS

As la variabie aleatoria ^3(^^, c^) cie extremos cc y h que hemos consicierado en el


modelo, se genera de la siguiente manera:

u) Se generan cios nmeros aleatorios R, ^ R(o, 1) y R^ E R(o, 1).

h) Se calcula la expresin

M = R; ^' + R2 y

Si M< 1 pasamos al apariado c).

Si M> l se desprecian los valores R, y R2 y se empieza de nuevo en r^ ) con nuevos


valores.

c ) E1 valor generado de la variable ^i ser:


R ^ `^
x=^1 + ^ -- (h-u)
M
Vuriuhfes en {tist^^^rumus c!e ,frPCrcencius: Cuando 1a variable viene representada por
su distribucin emprica, la funcin de distribucin expresada en hstograma escalonado
de frecuencias se utilza para la generacin aleatoria de la misrna.
Sea una variable _r continua y con funcin de distribucin emprica F(x; ) siendo x; las
marcas de las clases en que se ha dividido el espacio muestral.

La generacin de valores de x se efecta de la siguiente manera;

u) Se ge ne ra u n valor R E R(Q, 1) .
h) Se compara R con todos los valores de F(x^) empezando por el menor hasta que
se cumpla que R est comprendido entre dos valores de x; consecutivos, tal que:

F(x;- ^) < R ^ F(x,^


se asignar entonces el vator .x = x, .

^...-.^. .... ... ^ -... ..^. ..^ ..... ^ ^ ^.^.

^......-..^ ^ .... ..r ^. ^ .^ ^ ... ^ ... ,r ^ .^

M.. ..^ ^ ^ .^.^ ^ ^ ^ ^ ^. .... .... ^^ `^

^-^. ^.. -^..

^i-i x^ X
E.S^ At:)iSTEC a E_S>=A^JC)[_A

Vc^r^^cthle.^ c1^.ti^c^rc^tu.^ : La:^ variahles discreta^ se generan de ia misma manera que las
que vienen en histc^gramas c^e frecuencas con !a nica diferencia de que los valores .r,
de .z- no son en este catio la:^ marcas de 1^^s clases, sino lcas valores del espacio muestral
discreto de fa variable.

La variabie binomal negativa se genera como cualquier variable discreta una vez
determinada su funcin de distribucin, dados los parmetros ^ y^^.

PROGRAMA DE CALCULO

La operativizacin de las tcnicas de simulacin Monte Carlo aplicadas al PERT


aleatvrio ha dado lugar a!a elaboracin de los ocho programas de computador en
}enguaje BASIC que se adjunta en el Anexo II. Estos programas se conexionan entre s
a lo largo del proceso de clculo.

La funcin de cada uno de estos programas es la siguiente:

Programa nm. l: Entrada de datos previa a! programa 6.


Programa nm. 2: Funcin de distribucin de la binomial negativa.
Programa nm. 3: Entrada de datos general.
Programa nm. 4: Entrada de datos para las variables discretas.
Programa nm. S: Entrada de datos para las variables betas.
Programa nm. 6: Entrada de datos para las variables en histogramas.
Programa nm. ?: Sirnulacin PERT.
Programa n^m. 8: Salida de resultados.

E1 procedimiento operativo que vamos a comentar a continuacin se esquematiza,


mediante los organi,grarnas correspondientes, en eI Anexo I,

Los programas 1 y 2 realizan operaciones previas al bloque principal de programas


SIMUPERT que se compone de los seis restantes y contiene la metodologa de la
simu[aein aplicada al PERT.

Lus ^^rc^^^ru ^rtcc.^ /

El prgrama nm. 1 realiza nicamente la entrada de !as funciones de distribucin


de las variables que denominamos variables en histogramas. Medante el mismo se
almacena en la unidad de cinta una matriz que contiene ios datos referentes a dichas
funcines de distribucicn y que ser utilizada a! operar el programa nm. 6 de1 bloque
SIMUPERT.
E^t_ C'nNTFtOL DE PROI^'E:C`i<^S

EI programa nm. 2 calcula la f'uncin de distribucin de cualquiera variable bino-


mial negativa, dados los parmetros que la definen. As, al programa se le introducen
Ios parmetros ^^ y k, siendo la salida los valores cfe:

x, -- 1
^_^ .^,k.^ _^,lxr^- .x, E S = (k. k + 1, . .. )

E1 clculo de dicha funcin de disiribucin nos permite conocer los datos necesarios
para i ntrod uc i rlos en el bloq ue S 1 M U PE RT considerando las variables bi nomial nega-
tiva que intervengan en el modelo, como variables discretas. Por tanto, es un programa
que habr que procesarse cuando haya binomiales negativas y previamente al programa
nm. 4 del bloque SIMUPERT.

El hlvy^^e SlMUPERT

E1 contenido principal de la metodologa se ha estructurado en un bloque de seis


programas numerados del 3 al 8, que hemos denominado bloque SIM U PERT . Las
caracteristicas del soporte informtico de que disponemos nos han perrnitido enlazarios
de tal forma que van encadenados entre s y con la posibilidad de operar en cada caso
slo aquellos que sean necesarios al efecto. De esta manera slo los programas 3, ? y 8
se tendrn que operar siempre, mientras que el resto se operarn dependienda de la
estructura que tengan las distintas variables que intervienen en el modelo.

Segn se ha cornentado enel apartado 2, la aplicacin de los mtodos de simulacin


se introduce en el modelo debido a la consideracin de la naturaleza aleatoria de la
duracin de realizacin de algunas actividades del proyecto. Con el fin de que la
aplicacin del bloque de programas sea lo ms general posible, ste admite en el modelo
distintos tipos de variables que difieren en su naturaleza.

En resumen, las distintas posibilidades que se pueden presentar son las siguie ntes:

- Modelo determinstico: con todas las variables determinsticas.

- Modelo estacstico: con alguna variable estocstica que puede ser continua de
naturaleza beta, continua con la funcin de disiribucin dada por un histograma de
frecuencias y, por ltimo discreta, dentro de las cuales se considera tambin la
binomial negati va .

En el programa nm. 3 se introducen como datos el nmero de variables de cada


clase que contiene el proyecto, as como las duraciones de realizacin de las distintas
actividades. Mediante este programa se forma una matriz que sirve de base para operar
el programa nm. 7 que resuelve el proyecto aplicando el mtodo PERT.
r ^r^,^n ^ sT^rc^^^ E-s^^.^^ ^^^^ a

Lc^s programas nms. ^, ^ y 6 permiten 1^^ entrada de datt^s refrenies a las variable4
aleatorias que se consicieren de cacia clase. Estoti ciatoti serviran cie bdse al programa
nm. 7 para la generacic^n aleatoria de valc3res cie dichas variables utilizando su f^uncin
cie distribucn segn vimos en el apartacio 2. Cada uno de estos tres pro,gramas se
operarn sc^lamente en el casc^ cfe que existan en el proyecto actividades cuya dur<acin
tenga la distribucin correspondiente, ya sea discreta, beta o en histogramas.

EI programa nm. 7 cantiene dos partes fundamentales, siendo la primera la que


realiza la generacin aleatoria de las variables y!a se,gunda, la que resuelve el mtodo
PERT.

Tamando como base la matriz cie datas procedente del programa nm. 3 la metodo-
loga de la simulacic^n consiste en asignar a cada variable aleatoria un valor generado,
segn su distribuci^n y que pasa a acupar el lugar correspandiente en dicha matriz,
sustituyendo al anterior. De esta forma en cada generacin se modifican los valores de
esta matriz dando un resultada distinto al aplicarle el mtoda PERT. Dichos resultados
se van almacenando y/o acumulando para obtener al finat la distribucin de la duracin
del proyecta, as como la informacin ms completa referente a la criticidad de las
actividades y a las holguras de 1as mismas.

Por fin, el programa nm. 8 reatiza la salida mediante la impresora de los resultados
obtenidos anteriarrt3ente al prucesar el resto de los programas.

En resumen, el blaque S[MUPERT opera de la siguiente manera:

EI programa nm. 3 proporciona los datas de la matriz de base para la resolucin


del mtodo PERT y los que indican qu tipos de variables intervienen en el proyecto y
r

su numero.
Los programas nrns. 4, S y 6 permiten la entrada de los espacios muestrales y de
las funciones de distribucin de las variables, para ser generados aleatoriamente.

EI programa nm. 7 genera aleatoriamente las variables del modelo y resuel ve el


mtodo PERT para cada generacin agrupando y almacenando los datos obtenidos .

EI programa nm. 8 realiza la salida de dichos datas.

Uno de los resultados ms ir^teresantes del programa es la distribucin de probabili-


dad de la variable de decisin que representa la duracin total dei proyecto.

Por motivos de operatividad para alrnacenar los datos que van sienda obtenidos en
cada generacin es canveniente canocer el espacio muestral de dicha variable, esto es,
la duracin total minima y 1a duracin total rnxima. La primera corresponder a la
duracin del proyecto cuanda todas las variables aleatorias toman su valor mnimo y la
segunda, al caso en que stas tomen su valor mximo.
E^t.. C(^)NTRUI._ Df- PRO^'EC`I^^^OS

EI conocimiento de dichos valores se consigue resolviendo el proyecto como si fuera


determinstico, una vez con los mnimos y otra vez con los mximos, previamente a la
pasada definitiva donde se aplica la simulacin.

Una vez dada una visin esquemtica y resumida del contenido fundamental del
bloque SIMUPERT y de la relacin que liga los programas que lo componen, se indica
a continuacin el funcionamiento de los mismos de una manera ms explcita.

Prc^^ru mu rt rn . .3

El funcionamiento del programa nm. 3 se puede seguir a travs dei organigrama


correspondiente. En primer lugar se introducen los valores de los parrnetros que
caracterizan a cada proyecto, corno son el nmero de actividades (N) y el nmero de
vrtices (M). A continuacin se indican los valores correspondientes al nrnero de
actividades cuya duracin de realizacin se distribuye en histograma (N 1), el nmero de
las que se distribuyen segn una ley beta (N2) y el nmero de las que siguen una
distribucin de tipo discreta (N3).

Seguidamente se forma una matriz con cuatro columnas y tantas filas como activi-
dades tiene el proyecto. La primera columna est ocupada por el nmero de orden
equivalente a la clave representativa de cada actividad; as la clave de las actvdades
ir desde el 1 hasta el valor de N. La segunda columna est ocupada por la duracin de
las actividades. En la tercera columna se encuentra la clave representativa del vrtice
origen de la actividad que encabeza la fila y en la cuarta columna se encuentra la clave
del vrtice fin de dicha actividad.

Una vez introducidos todos los valores correspondientes a esta matriz (A), se
imprime para poder corregir los posibles errores y se enlaza con el programa nm. 7,
que aplica el algoritmo del PERT a esta matriz de datos.

Como se ha indicado anteriormente, este programa, junto con el nm. 7, se pasa dos
veces al principio del clculo, una vez con el tiempo de realizacin mnimo de cada
actividad y otra vez con el tiempo de realizacin mximo, obteniendo de esta forma un
tiempo PERT mnimo y otro mximo para la ejecucin total del proyecto.

f r^^^,^ruirtu nt^rt. 4

Mediante este programa se introducen los valores correspondientes a aquellas acti-


vidades cuya duracin de realizacin sigue una distribucin de probabilidad de tipo
discreta.
I:tiT.4E^ISTIC'A FSPA,+()l_A

Se da al computador el nmero maximu cie valores (NS) que puede tamar una de
estas variables, conociendo ya e1 ordenador, por el prc^grama nm. 3, el nmero de
^:ctividades qE^e siguen este tipo de distrihucin 1N3). ^

Se fiorma una rnatriz R can cios columnas y tantas filas como el valor que toma N3.
En la primera columna de R se recoge el nmero de valores que toma cada una de las
actividades discretas (de la actividad 1 a N3), y en la segunda columna se recoge la
clave de los ficheros donde previamente se han archivado las funciones de distribucin
de cada actividad.

E1 vector K archiva la informacin correspondiente a la clave representativa de las


N 3 acti vidades discretas,

A continuacin se forma una matriz X con tantas filas como actividades discretas
tenga el proyecto y con tantas columnas, para cada actividad, como el nmero de datos
que tengamos de dicha actividad que se encuentra registrado en la primera columna de
R y en la fila correspondiente a la actividad de que se trate. Una vez dispuesta esta
matriz se introducen los datos correspondientes.

Por ltimo se buscan las diferentes funciones de distribucin para las actividades
discretas segn los datos que se encuentran en la segunda columna de R y se
ccanstruye con ellos [a matriz L de funciones de distribucin, donde cada fila repnesenta
la funcin de distribucin de una actividad discreta.

f'ro^,^rurnu nm. S

Con este programa introducimos en ei proceso de clculo los datos correspondientes


a aquellas actividades cuya duracin sigue una funcin de densidad de tipo beta. E1
nmero de actividades de este tipo (N2) ya lo conoce el computador. En esta ocasin
se forman los vectores y matrices siguientes: el vector C, donde se archivan las claves
de las actividades cuyas duraciones se distribuyen segn una ley beia; la matriz E, con
dos columnas donde se recogen los valores de los extremos de la variable de cada
actividad y los vectores P y Q, donde se archivan los valores de los parmetros n y c^
de cada variable. EI nmero de filas de todos estos vectores y matrices es igual a N2.

f'r^^^,^rurrru nt^m.

Este programa lo utilizamos para introducir los datos correspondientes a aquellas


actividades que presentan una duracin de realizacin en histogramas. La matriz de
frecuencias de dichas actividades se ha introducido previamente con el programa n-
f^f_ C^OtiTRC)[, DE: PRC)Y`f.C^TOti

mero 1 y se utiliza en este programa con el nombre de matriz F, cuyas dimensic^nes


son :

-- E1 nmero de filas es de cinco, debido a que hemos considerado cinco intervalos


para cada acti vidad .

-- El nmero de columnas es igual al nmero de dctividades en histogramas (N 1).

Otros vectores y matrices utilizados en este programa son: el vector D con N 1


elementos, que nos sirve para archivar la clave numrica de estas actividades; la matriz
G con N 1 filas y dos columnas, donde se recogen los extremos de los valores que toma
la duracin de cada una de estas actividades, introduciendo el limite inferior en la
primera columna y el lmite superior en ta segunda y el vector Z, con N 1 elementos,
donde para cada actividad se calcula la amplitud de cada intervalo dividiencio la
amplitud total entre cinco.

f'rt^,^^ru^rtu rtt^rt. 7

Este programa es el que realiza el clculo del algoritmo del PERT sobre los datos
existentes en la matriz introducida con el programa nm. 3 en las dos pasadas primeras
(valores mnirnos y valores mximos de la duracin de cada actividad), o sobre los
valores resultantes para dicha matriz cada vez que modificamos algn valor de la
duracin de cierta actividad, con el valor obtenido al simular en cada generacin un
tiempo de ejecucin para todas aquellas actividades cuya duracin es una variable
aleatoria de cualquiera de las clases estudiadas en este trabajo.

Al empezar a procesar este programa hay que darle al computador como datos , el
nmero de generaciones aleatorias que queremos realizar ( V), as como la d uracin
mxima ( D2) y mnima (D t), obtenidas con los valores extremos de la duracin de cada
actividad. Como estos dos valores son los extremos de la variable duracin total del
proyecto que se va a generar V veces y a acumular en f^recuencias, es necesario
calcular la amplitud del intervalo dividiendo la amplitud total D2 - D1 enire 10, ya que
se consideran diez intervalos.

Si hay actividades cuya duracin sigue una distribucin beta (N2 ^ 0) se simula un
valor, en cada generacin, para cada una de ellas y se muditican las dur^aciones
correspondientes en la matriz de datos inicial.

Seguidamente se genera un valor para todas aquellas actividades cuya dur^acin se


distribuye en histogramas (N 1^ Q) y por ltirno se generan los valores correspondien-
tes a aquellas actividades que presenten una distribucin de tipo discreta {N3 ^ U),
haciendo las modificaciones oportunas en la matriz de datos.
FS fAC)[S^TI<'A ^_SPAti()1.^

Una vez que se ha simul^iciu un valor para cadd actividad con tiempo de realizacin
variable, se aplica e[ algc^riimu cfel PERT. Para ella calculamc^s los tiempos edrly y
last , as coma la holgura pdra cada suceso c^^ vrtice del grafo. Estos valores los
acumulamos en una matriz T cuya dimensin es M(nmero de vrtices) x 3, siendo
^^na columna para cada valor calculado.

Contina el programa calculando la holgura total, la holgura libre y la hoigura


independiente para cada actividad archivando sus valores en las tres primeras columnas
de la matriz H(N, 6). En la columna cuarta se indica si la actividad es ctica o no, y en
las col u mnas 5 y 6 se arc hi van respecti vamente las fec has de camienzo ms tard a y d e
terminacin ms ternprana de cada actividad.

A continuacin se van sumando sobre la matriz M{N, b) el valor de las holguras que
presenta cada actividad en cada generacin y sobre la matri^ N(tVI, 3), se van sumando
los diferentes valores que toman los distintos tiempos en cada generacin real izada.

Par ltimo se van sumando, sobre la variable S 1, los tiempos PERT que resultan en
cada generacin y sobre 52 los cuadrados de estos tiempos y sobre el vector B se
acumula la distribucin de frecuencias de la variable tiempo PERT.

U`na vez realizadas todas las generaciones se calcula el valor rnedio y la varianza de
la distribucin de frecuencias que se ha obtenido para la variable tiempo PERT, as
como los valores medios de todos los tiempos early ylast de los diversos sucesos
y de las holguras de los sucesos y cie las actividades en que se descompone el proyecto.

Prc^^^rujrt^! n ^^ ^T . ^

E1 programa nm. 8 es un programa de escritura de las resultados abtenidos con el


programa nm. 7, de la forma que se puede ver en los cuadros de resultados de la
aplicacin prctica al final de este trab^jo.

Sintetizando, los resultados obtenidos se presentan en forma de dos cuadros. EI


primero tiene tantas filas c^mo actividades tenga el proyecta (ver cuadro 2) y las
columnas representan los conceptos siguientes:

Clave de las actividades.


Duracin.
- Suceso inicio.
Suceso final.
Tiempo early de1 suceso inicia [.
Tiempo Kearly del suceso f<nal J.
Tiempa last del suceso inicio l.
E.l. C'(7ti^'ROI_ [:)E PROYE=.C"TO^ K5

-- Tiempo last del suceso final J.


- Holgura dei suceso iniciu I.
-- Holgura del suceso final J.
- Nolgura total de la actividad.
- Holgura libre de la actividad.
-- Holgura independiente de la actividad.
Camino critico.

EI segundo cuadro (ver cuadro 3) presenta el calendario de ejecucin del proyecto


con las fechas de ^omienzo y de terminacin ms temprana y ms tarda para cada
acti vidad .

Por itimo se imprime la distribuci^n de frecuencias del tiempo total.

APLICACION

En este aparato vamos a realizar una aplicacin numrica de la metodologa expuesta,


expresando los diferentes cuadros de datos para las distintas clases de actividades considera-
das, as como los resultados finales para un determinado nmero de generaeiones simula-
das.

Consideramos un proyecto cuya realizacin se puede desarrollar segn el grafo


indicado en la figura 1, formado por 18 actividades reales y dos ficticias y 15 vrtices.
Las 18 actividades reales las vamos a denominar con las letras siguientes: A, B, C, D, E,
F, G, H, I, J, K, L, M, N, P, Q, R y S, y las dos ^icticias las denominamos F1 y F2. Para
efectos de clculo, sin embargo, las representamos por una clave numrica que va desde el
1 al 20.

En este proyecto existen 11 actividades cuya duracin de realizacin tiene naturaleza


aleatoria y las siete restantes se puede considerar que presentan un tiempo de ejecucin
determinstico. Una vez analizadas las 11 actividades con duracin aleatoria, hemos
obervado que de ellas, siete son continuas y cuatro son discretas. De las siete actividades
continuas, slo a cuatro de ellas (N2) se les ha podido ajustar una distribucin conocida,
siendo la distribucin beta la que mejor describe el comportamiento aleatorio de las
mismas. Las otras tres actividades continuas (N1) no se ajustan a ninguna distribucin
conocida, por la que se ha calculado su distribucin emprica para introducirla en el
modelo en forma de histograma de frecuencias.

De las otras cuatro actividades cuyo tiempo de ejecucin es una variable aleatoria
discreta (N3), dos de ellas se ajustan bien a la distribucin binomial negativa por su
propia naturaleza, mientras que las otras dos no se ajustan a ninguna variable discreta
^^fl t:Si^A[)ISTIC^A E:SFANOL..A

cc^nocida, por lo que su cc^mpt^rtamiento aleatorio viene expresado por su funcic^n de


distribucin emprica.

Los datos referentes a las distintas actividades del proyecto se encuentran en el


cuadro 1, cuyo contenido, por coumnas, es el siguiente:

CUADRO 1

DATC35 INICIALES

DURACIC)N
Actividad Suceso inicio Suceso fin Naturaleza
Min. Mx.

A_ 1 2 5 1 2 Histgrarrias
B- 2 +6 l 3 Determinstica
C- 3 6 2 4 Determinstica
D- 4 2 5 2 b Binomial negativa
E- 5 2 5 3 7 Beta
F- 6 3 7 4 5 Beta
G- 7 2 4 b 9 Discreta
H- 8 3 7 S Determinstica
I- 9 3 8 9 11 Histogramas
J- lU 6 3 1^ Determinstica
K-11 4 10 10 12 Binomial negativa
L-12 2 5 11 12 Beta
M-13 3 6 5 12 Discreta
N-14 3 12 13 Determinstica
P-15 2 12 15 Determinstica
Q-l 1 5 12 14 Histogramas
R-1? 5 13 15 Determinfstica
S-18 3 9 14 15 Beta
F1-19 0 5 b Determinstica
F2-20 0 8 9 Determinstica

Columna 1. Nombre de las actividades en que se descompone el proyecto.

Columna 2. Clave numrica de las distintas actividades.

Columna 3. Duracin de realizacin de cada actividad. Para las actividades de


naturaleza determinstca (ver columna 6) se expresa su tiempo de ejecucin, mientras
que en las actividades de naturaleza aleatoria es necesari indicar los extremos de su
espacio muestral, que sern los tiempos mnimo y mximo de ejecucin.

Columnas 4 y 5. Sucesos inicio y final de cada actividad (ver figura 1}.

Columna 6. En esta columna se expresa a naturaleza de las distintas actividades, ya


sean determinsticas o aleatorias y para estas ltimas se indica la distribucin que sigue la
variable aleatoria que describe ei tiempo de ejecucin.
E:L C.'ONTROL. DE PRUYECVTOS

Fi ^u ra 1

Seguidamente vamos a describir las actividades cuyo tiempo de ejecucin es una


variable aleatoria, indicando su espacio muestral y su funcin de distribucin.

Variables continuas

Las cuatro variables que siguen una distribucin beta se describen mediante los cuatro
parmetros que caracterizan la distribucin (p, q) de extremos a y b,

Parmetros
Clave
cr b p q

5 2 5 3,14 0,58
3 7 3,00 U,E^O
12 2 5 U,47 2,94
18 3 9 0,65 3,25

Las tres variables en histogramas tienen las siguientes caractersticas:

Espacio Funcidn de
Clave muestral distribucin
continuo emprica

1 1-5 0,45-U,3-U,9-U,96-1
9 3-8 U,22-0,7-0,86-0,96-1
16 1-S 0,42-U,72-U,84-0,94-1

Variables discretas

Las actividades cuya duracin se distribuye segn una binomial negativa, se describen
mediante los dos parmetros que caracterizan la distribucin b(k, p) .

Parmetras
Clave
p k

4 0,9b 2
11 0,89 4
KR E-:STAi.^[^iTiC'A E:SPAti()l_A

Por ltimo, las actividades cuya duracin es una variable discreta se especifican segn
su espacio muestral y su funcin de distribucin empirica.

Clave Espaci^ muestral Funcin de distribucidn empfrica

7 2-3-4 ^,33-0,75-1
13 3-^-5-6 U,15-0,50-0,85-1

Con todos estos datos procedemos a procesar la aplicacin utilizando el bloque de


programas realizado al efecto.

Planteado as el proyecto, con todos los datos referentes a las distintas actividades,
procedemos a la determinacin de la distribucin de frecuencias de la variable aleatoria
duracin del proyecto, simulando valores para ei tiempo de ejecucin de aquellas
actividades en las que dicho tiempo es una variable aleatoria, tal y como se ha descrito
en el apartado sobre el programa de clculo.

Segn se indic hay que procesar el programa dos veces, en primer lugar, una vez
para cada uno de los valores que aparecen en la columna 3 del cuadro 1(para las
actividades determinsticas su tiempo es fijo y se repite en las dos pasadas, as como en
cada una de las generaciones). A continuacin, y considerando los valores extremos de la
distribucin de frecuencias de la variable duracin del proyecto (tiempos mnimo y
mximo) se procede a la simulacin de nuevas tiempos para las actividades aleatorias
tantas veces como se quiera generar, obteniendo un valor para dicha variable en cada
generacin.

Los valores extremos obtenidos para la variable duracin del proyecto han sido:
tiempo mnimo veintinueve das, tiempo mximo cuarenta y nueve das.

En la aplicacin realizada a este proyecto se hicieron 250 generaciones y los resulta-


dos se recogen en los cuadros 2 y 3.

E1 cuadro 2 recoge los valores medios para los *.iempos early ylast, as como de
las holguras de los sucesos y de las actividades. En la ltima columna de este cuadro se
indica el ndice de criticidad obtenido para cada actividad.

En el cuadro 3 se presenta el calendario de ejecucin del proyecto calculado para los


tiempos medios de ejecucin indicados en el cuadro 2.

Por ltimo se obtienen las caractersticas de la variable aleatoria duracin del proyec-
to, como son la media, la varianza y la distribucin de frecuencias, cuyos valores son:

Tiempo medio: 33,586


Varianza: 2,3
t:L C`UN^TROL Df^^ PRC)Y^CTf)S ^t1

Aunque el extremo superior de esta variable era de cuarenta y nueve das, una vez
realizadas las 250 generaciones no se han obtenido valores, para la misma, superiores a
ireinta y nueve das. Por este motivo la distribucin de frecuencias se organiza conside-
rando el espacio muestral con los extremos 29 y 39 y dividido en cinco intervalos.

La distribucin de frecuencias obtenida es la siguiente:

T f, (T1

29-31 0,016
31-33 0,412
33-35 0,412
35-37 0,132
37-39 0,028

CuwnRO 1 CALENDARIO DE EJECUCION DEL PROYECTO

Fecha de cmienzo Fecha de terminacin


Actividad
Ms temprana M^s tarda Ms temprana Ms tardia

1 0,000 0,285 2,724 3,009


2 0,000 I,425 6,000 7,422
3 2,724 3,009 8,721 9,OO
4 2,724 13,291 4,795 15,363
5 6,000 7,422 10,513 11,938
6 8,721 9,006 15,078 15,363
7 15,078 15,363 18,054 18,339
8 10,513 11,938 13,513 14,938
9 18,054 18,339 22,813 23,U99
10 13,513 14,938 19,512 20,937
11 19,5I2 20,937 24,044 25,469
12 22,813 23,099 25,184 25,469
13 15,078 20,969 19,578 25,469
14 25,469 25 ,582 28,469 28,582
15 25,469 31,582 27,469 33,582
16 25,469 27,256 27,797 29,585
17 28,469 28,582 33,469 33,582
18 27,797 29,585 31,?95 33,582
19 15,U78 15,363 15,078 15,3f^3
ZO 13,513 18,339 13,513 18,339

La obtencin de la distribucin de frecuencias del tiempo total nos permite calcular la


probabiiidad de finalizar el proyecto en un determinado nmero de das. Por ejemplo, la
probabilidad de acabar el proyecto en un tiempo menor o igual a treinta y cinco das.

P(T ^ 35) = F(T = 35) = 0,84

Igualmente la distribucin de frecuencias obtenida nos permite calcular un intervalo


para la variable, tal que entre sus extremos est el P por 100 de la misma. As, podemos
^.Sl' A[7lti^t [C^.^ i.tiPAtiC_)l,A

^ ^ ^ x ^ ^ ^^^^^
ac el, ^ ^i : ^C ^
^^^xvx ^ ^C
.r: :^ C C .^ ^ ^ G :r ^: C G

^^ ^^ ^!', ^ ... \/^. tJ^^ ti) ^/"i V"r ti, ^ ^ ^1 ^ !r! ^ ^ l!`) ^r
x ^+ r^t ^c x c^a ^ r! -^-^ ^o --^
^^r.a?^.r!'NN`7N`7^^^^^^ ^^N--+
O G C Q` .-+ C J^-+ J --+ C C v', .....
^ ^O C^ C rJ .^.^ t^.
f f f I t f i f f

^^^^^^^^^^^^^^^^^^^
G G O O O O O^ O^ C^D O C^ ^--r O rt
I""' I I i I I

_b cr v^, ^, r- ^n or. o^ ^n o^ v-, +r^ cT .- r^ ^, -^ ^p os ^n


O ^7Q'^M^C7CT^^MCTMOIQ^M t`- ^J^t'^GTMN
^ c^a N N^/'^ N rJ N t`J N r^^ N t'RI OO G r-r ^ Q^p rJ 00
. . , .
G ^ 0 C --+ O C --^ G3 -- ^ C^ ^n O ^C ^ ^ O ^t
.-.^

^^ 7^ ^^C.0^4a^+^O^^^^^ ^^
N!t- N N v r^a ra * N^t ^ t-
--,
G--r GO--^C^C--^G ^OC00--^000
^
a^ f I I
u
^
cn
^-^ v^, {n ^n ^, ^r, +n +n ^n er`, ari c+^ r^ ^n v^
^
.- ^ ^^^d^^^^^-^^t'^1^
. . . . ^
--^c^^.-rr--c^oc>^^
I I I 1 I

c4
...i ^-, d^ M . Q'^ M r^.. O`^ ^ CT ^ d^^^^^^ .. M M
c'^ C'`- 4^ ^^, ^ v^ 00 d' c^ J V^ ^r7 u7 QO cY7 O^ M c+i V'^ QO
^ ^-+ r-+ ^-+ ^--+ ^ N N N N N N['^`i N M M ^-+ .--+

...
un
QQ^C?^^^`^1Q^^ O'wCTOc'^^^^d' ^t^^^MCT
^ ...r
t^ Q r's M t^- CT v^ .-+ 00 ^ r^^ v^ ^n ^n ^n o0 ^T ^n ^et
^.-+-' r+NN r-+NNNNN-+^

z,
N ^ O N^^-M-^^^^^.N -.^^ ^^ p ^UNOC^TOO^^
:c ['^ Q r^ O v^ O O u'^ 00 ^r`^ ^^t rt ^7' ^n t^- ^n v'^ O C^
0 w^
cv ^o ac v-^ o^n oo r^ N o^ ^n ^n ^n ac^ r-, r- r^ cn ^n a^
^'+ .-^+ ^--r +-r .-+ N+-+ N N N N(+'^ N M M-r ^-+
^ t~
<
^
U y.
^ N *-+^ ^^ ^OOGTCrQ^^C'^00^
^ !"^^G^U^^GQ^h
h- t^- t^ O v'^ O^r, ^n o0 O^ et tt .[`^- ^
W ~
cv cy ^^ oc7 ^ 04 rri v^ r^ ^ ^ ^.-^ ^ oo t-^- ^ r^
.-+ r-+ .-+ *-, ^--+ N+--^ N N N N N r--+ .-^
^

.-.r
v, cd *-^ C N N N c'^ u'^ !t ^^/'^
O C_ N M ^T +i^ C'`^ ^ ^ 00 r-r .-+ .-^ ..-r .-r r-+ ^-+ .--r --^ -^ ^O O^
y LJ. r r r r r r r r r r ^ r r ^ r r r ^ ^ r
U r
^ - ... *-+ ^--+ N N M d^ tiO [1- O^ 00 O*-^+ ^/') N N N c'h `^f ^`i OC^
in C .--^ T-. .-- .-r r-, .-r .^-,
.-.

u
ee^
>, c'^ ^L? ^O CV `7 `d' `rt t^^ u'`^ ^,p ^G N d' c'^ N M v^ M 0 0
^
^

^ N c^ d^ v^ ^L7 ['^- c^ C7^ O^+ N r^ ^t ^^ t^- oo Q^ O


^-1 ^r .-. r-. +-r .^-r .^-^ .-. r-. , .r (-.^
d l_ C'C)"vTRO!_ I)!^ !'Rt')^r'F.C'IO^ 9 l.

concluir que la prohabilidad de que ei tiempo total de ejecucin est entre treinta y uno y
treinta y siete das es:

P(31 < T^ 37) = F(T = 37) - F(T = 31) = U,972 - O,U16 = 0,956

Sin embargo, es ms frecuente poner ms atencin en los valores de la variable prrxi-


mos al extremo superior, puesto que seran casos en que se crearan problemas al menos
de tipo econmico.

Es, por tanto, interesante para el empresario fijar un riesgo mnimo de no cumplir el
proyecto en el plazo prometido y conocer el tiempo Tp, al que puede comprometerse para
acabar el proyecto asumiendo l ese riesgo.

As, un riesgo (1 - p) de no acabar el proyecto en el tiempo Tp, es equivalente a


expresar que la probabilidad de que el proyecto dure ms de Tp es (1 --- p}. Esto es:

P{T > Tp )= 1-- P(T < T^ )

Esta segunda expresin se relaciona directamente con la funcin de distribucin de la


variable duracin del proyecto, de modo que podemos calcular Tp dado un valor del riesgo
{1 -- P)

Si asumimos un riesgo (1 -- p) = 5 por 100, el tiempo T^ tal que P(T , Tp) = 0,95 es
en nuestra aplicacin Tp = 36,66, que indica que la probabilidad de terminar el proyecto
en treinta y siete das es algo mayor del 95 por 1C}o.

La ltima columna del cuadro 2 nos indica el ndice de criticidad de las distintas
actividades en que se descompone el proyecto. Este ndice mide el tanto por uno de veces
que cada una de ellas ha sido crtica en el total de las generaciones simuladas (en nuestro
caso 250). As las actividades 4, 13, 15 y 20 que presentan un ndice nulo, nunca han sido
crticas y, por tanto, es presumible que para cualquier valor que tomen los tiempos de
ejecucin de las actividades aleatorias nunca pertenecern al camino crtico; por el contra-
rio, las actividades 1, 3, 6, 7, 9, 12, 14, 17 y 19 presentan un ndice superior al $0 por lUO,
lo que nos hace concluir que es muy probable que pertenezcan al camino crtico cuando el
proyecto se realice. El resto de las actividades tienen un valor para el ndice de criticidad
de 0,284 la 16 y 18 y de O,SU4 las dems.

A la vista de estos datos, el responsable del proyecto debe atender especialmente al


control de las actividades con un alto ndice de criticidad, pero sin olvidarse de aquellas
otras que presentan un bajo valor para dicho ndice, ya que en alguna ocasin estas
actividades pueden formar parte del camino crtico y, por tanto, un retraso en su ejecucin
implicara un retraso en la finalizacin del proyecto.
92 E=.STAC^IST[C^A E:SPA^+'OL_.A

ANEXC^ I.-URGANIGRANiAS

PROCRAh1^1 Nfl 1

^KIN CI}^7:C^

N 1=1'; ^ I^F. V.^4R l A l7I f r, ^; t; C^^'^ ^ 7. ::'_^.^ ^^ U R A Ir r^ S

DAR EL VALOR
^
A( I, J}
^ ^^^

ES C R I B1"; 7^A l^^^ATR I Z A

ARCH IV A 1 ^A l'ftATR I Z A

F zrl
E^:L CUNTRUI_ [)E: PRC)YE<"`iU^ 93

PROGRAr^tA NQ 2

_._.._.,,^.---
YRINCI^IO

ENTRADA DE I^OS VAI^OKF^^ DE I^ Y K

I = 1

F 1= FN C X^I ^^--1
F 2=FN C ( K-1)
F3=FNC X( I ) -K

[F 1/( F 2* F 3)^+t ^p t K) ^[(1 - P) t ^X^I)-K)^

s
wo
F(I,2)=F(I,1

F(I,2 =F(I-1,2)^F(I,l

S1

N^

I = I ^ 1

X( I ) =X( I-1) -^1


E=.S"TADISTI^"A E^SPA?v()L_^

J = 1 ^
.^..^_

ESCRII^^?^^ ^ .OS VALQR^:S :

^tJ ^ , FtJ:l-) ^ F^J^ ^)

W= FILA PA.RA ARCHIVAR F

ARCH IV O D^: I^A N^ATRIZ F

F IN

Subrut ina ^arer. _de fin ir la fur^nc i n FNC


^ - ^.r+^y^- s ^^ ^^ a ^^w r ar w+^^ ^^

DEF ZN E LA FUNC I ON FNC ^ X

L= =1
.
^

^o

REGRESA A LA FUNCIC}N F
_._._.___.._._.,_^...,.-...
t t c^r^^r^tc^^_ t^E-: t'tzc^tit.r^^ir^^ y5

PROGRA''.^ N9 3

PRINCIPIO

DAR LOS VALORES


N= NQ DE ACTIVIDADES
Ni= N Q DE VERTICES

nt ra a de :
N 1= NQ DE VARILBLES EN HISTOGR.
N 2= N 4 DE VARIABLES BETA
N 3= N Q DE VARIABLES DISCRETAS

I = 1
^^-z,-1) -_ _I
A I, 2^=DURAC ION DE LA ACT IV IDAD I
A( I, 3^=VERT ICE ORIGEN
A( I 4)=VERTICE FIN
a
-I

^ I 1
S E LA MA T R IZ DE DATOS

^ I _ ^- 1 i

L D= N g DE ERRORES

^ DAR VERDADERO VALOR DE I,J,A(I,J)


P P ^ 1

NO

^
ENLAZA CUN EL NLU (,^U_E___D^: 1^' J.1,A - ^
9C, ESTAI^lSTiC.`A ESPAI^iC)LA

PRGRAMA NQ 4
^^w ^ ^.^^

FRINCIPIO
_^_______ ^ _ ^ ,.
KS=N Q MAXIIl^O DE VALORES DE X

I = 1

R I, 1 = VALORES DE X I
R( I, 2}=ARCH IY 0 DE LOS VALORES DE X( I)
K{I) =INDICE DE LA ACTIVIDAD I ,
^
L_.____^ ^

^ BU S C A R LA MATR IZ V EN R (I 2)

I^^I,J) = V(J)

J ^

F IN
F:l, C'ONTROL I^F PR(aYFC`T<)S 97

pRO^^^^
_ N^ 5

FRINCIPIO

I =1

C( I,1) =INDICE I^^^ J^^ V^_RIk^.^a^L

E( I,1 }, E( I, 2)=EXTRET^^OS DE I^.A VAhIA13I^E


P( I), C^ ( I) = FARA.MEfiROS P, Q
E:ti 1 AUIti f^1C .^ E^1F'.^^1()I..^
_ _ _ ___ _.

PROGRA?^tA Ng 6

PRINCIFIU

K = 1

D{K, 1) -=INDICE D^: T^A VA^^Ik}3L^:


G{ K, 1) , G( K, 2^=EXTR^;n'^C^:^ ].^^; 1:p. V^Z^IABLE

K 1

_- F LA ARCH I^T O^'i.ATR I Z DE F^t^:CU FN C IAS

BUSCAR I^A N^ATRIG' F

Z (K) = (G(K, 2^^K, l^}J5


[:I, C'C)NTRC)[_ [>E: PR{)YE=('7C)S

P ROC RA 1^1.^ N Q 7

F'RINCIPIC.

SI

V=N ^ vE Gi;I'iERAC IOId LS


v2=DURACIOI^T TOTAL N!AXIr^;A
Di^DURACION To2^AL r^Ir^ I1r^A

O
MAT 8 = ldA T M=b1AT P7 = C ERO

^^^ w^^wi^^^

S1--V 2-0
._._
.___ _ __.

__
^.o.+..^^^

^^

^i ^i ^^^^^W..^^^^

X1 ^RN D ^ 0 . 9^
X2=RND(.5)
^
M8=X1 T ( 1fP ( H )}^X 2 T ( 1fC^(H) )

A[C(H,l),2^ =E(H,1)1{Xlt[1/P(H),J^ ^[E(H,2)-E{H,1)]/1^28

ESCR I BE ET^ VALOR D^, A C G( N 1) , 2

^
F=_S^^AI:)tST1C A F.SPAN4.)I.R

^ RD^O.?5^
- ^ ---- - --
r^^^.^^^ ^^
E^1_ CUNTRUL DE: PRCJYE:CTC)S 101

1
^
I w= RND ( 0. $j-
T-

X=X( L, I

A[K(L),2]=X

ESCRIBE EL VALOR D^: X


_ ^

L ^ 1

.
1O^ r^ t:^i>i^, rtc a r.^,t^.a^:c,t .^^
f^:[. (^O^+"I^k<)1. I^)E PFtUYF ( ^^1O^ lll^^
E.STAD[tiTIC'A ESPA!rC)I A

H(I,l)=Ttx(I,4),2) -TtA(I,3),l^-A(I,2)
H(I,2}=T^,A(I,4),1] -TCA{I,3).l^-A(I,2)
H(I.3}=TCA(I,4),l^ -T[A(I,3),2]-A(I,2)
H(I,5}^TCA(I,4),2^ -A{I,2)
H(I.6)=TCACI^3),1^ }ACI.2)
x C i, 4 )^o

= 1

= 1

M( I,J)=M( I,J)-EH{I,J}

I ^ 1

..

iv o
EL C'Cl!YTRC)L_ DE-^ PRt)1'ECCUS

il' = .^
1 ^

N(I,J N(I,J ) ^ T(I,J


^^
I ^ 1

J ^ 1

S1= Sl ^ T(M,2}
S2i S2 ^ T(M,2)t2
G^1=[T(1^, 2) - D1^/S
G2= 1 ^ INT ( G1)

i--
H(G2) = B(G2^_ ^ 1_

U = U ^ 1

Ml = Sl/`V
r^I2 = S21`V-Mlt2

MAT N ^ (1/V } ^ 1^1


MAT B = (1/V }^t B
h^IAT N = (1/V )^ N
Dl'LA T H = M
MAT T = N

ESGRIBE:
VAI,OR bIEDI^} UEL T. TlJTAL = N'1
VARIAI^`ZA DEI, T. TO'rAT^ = D12
1(1f^ F ti[^,lll^.l.l( A f^ tiP.-^+,tit ) ..^,
_ _ _ _ __

P^^t C^ G K A".^:A ^^t 4 t^3

^-----
P.^I^:CI.I IO

^SC^I t3^; .
V 3,LQRES I`^I ED I 0 S S I IU LA DO S

LSCRIT3L E+^CABEZAi^'I^NTO D^.^L CUADI^O D:^


RESU 1,I' ^DOS :
A@T ., Dt^HAC ., SiJC ESOS IN I.-FIr^aL, T. EaRLY I,
T. EARIi^Y J, T. I^A3T I^ T. LAST J, i^ . SUC . I-J ,
H. LIBRE, H. I^V D}^^P. y^; .^:.

ESCRIBE LC)S VALOIZ^S DE I,OS ELE^+'IEh^TOS


C4.^.RESPOt1DIENTES A :
^._^^^ A^
I, AtI,2), ACI:3), {I,4). TCACI.3),l
TCA{I,4^,1), TcAiI,3),2)^ TCACI,^)^2)^
T(AiI,3),3). TCAiI,4)^3)^ HCI:lis HCI,2),
HCI3). HCI,4}

ESCRIBE:
ACT IV I TJAD, FECHA DE COb'I EN Z L^AS
TEIri^Ra.NA ^ biAS TARDIA, FECHA DE TER
^ciINAC IO^^ b1AS 3'E^4?FRANA Y blAj^ fiARDIA 1
f^l_ (.^Uri"TRC^L UE^ E'Rt.)YE^^C^"T^Oti ^ ^

E3CR2 BE L05 VALO ^^ES CORRESF^aT^ D I EN TES


A= I, TCAiI,3},l). HCI,S), HCZ.6),
T(A(I,4),2)

ESCRIBE:
DISTRIBUCIC^N DE FRECUENCIAS
TIEM^PG TTAL /

ESCRI BF :
D1 ^ S ^ { I_3^ )_____ g( I

P I N ^^
fSTADISTiCA E^SPA!VC)t_A

ANEXO II.-PROGRAMAS

Programa n^im. 1

10 REM ENTRADA DE MATRIZ FRECUENCIAS EN ARCHIVO-SIMUPERT


20 DIM AS(5,20)
30 DISP 'T^T. VAR. HISTO.";
40 INPUT N 1
SO REDIM A(5,N l )
0 FOR J=1 TO N 1
70 FO R I=1 TO 5
80 DISP I","J;
90 INPUT A(I,J)
100 NEXT I
I 10 NEXT J
120 MAT PRINT A
130 DISP '^ILA DE ARCHIVO";
140 INPUT K
150 STORE DATA K,A
1 0 END

Pro^grama nm. 2

10 REM BINOMIAL NEGATIVA-CALCULO FUNCION DiSTRIBUCION


20 DIM X{20), FS(20,2)
30 DISP '^,K";
40 INPUT P,K
5^0 I =1
60 X(I) = K
?0 F1= FNC(X(I}-1)
80 F2=FNC(K-1)
90 F3=FNC(X(I}-K)
100 F(I,1}=(F1/(F2*F3}) * (P ^` K) * ((2-P) fi (X(I)-K))
110IFI> 1THEN 140
12 F(I,2)=F(i,l)
130 GOTO 150
140 F(I,2)=F(I-1,2)+F(I,1)
150 IF 1-F(I,2) < 10 ^' (-4) THEN 190
1l50 I=I+1
170 X(I)=X(I-1)+1
180 GOT+O 70
190 F{I,2)=1
200 PRINT " X P(X) F(X) "
210 FOR J=1 TO I
FL. COl^iTROL DE: PROYE:CTC)S

220 FORMAT F3.O,F10.f^,F10.fi


23C) WRITE (15,220) X(J),F(J,1),F(J,2)
24^ N E XT J
25C) DISP "FILA PARA GRABAR LA F"'
2fi0 INPUT W
270 STORE DATA W,F
280 END
290 DEF FNC(X}
300 L= F=1
310 F=F*L
320 L=L+1
330 IF L^ X THE N 310
340 RETURN F

Programa nm. 3

10 REM MEMORIA CENTRAL SIMUPERT-ENTRADA DE DATOS


20 DIM AS(25,4),TS(20,3),HS(25,),CS(5,1),ES(5,2),PS(5),t?S(5),DS(5,2),GS(5,2)
30 DIM ZS(5),FS(5,5),MS(25,),NS(25,3},BS(10),LS(5,10),XS(5,10},RS(5,2),KS(5}
40 DISP "N. DE ACTIV. Y N. DE VERT.";
50 INPUT N,M
60 DISP "N. DE VARI. BETA;--HISTO;-DISCRETAS";
70 INPUT N2,N1,N3
80 REDIM A(N,4),T(M,3),H(N,}
90FORI=ITON
100 A{I,1)=I
110 DISP "DUR. Y COOR. DE LA ACTIV."I;
120 INPUT A(I,2),A{I,3),A(I,4)
130 NEXT I
140 PRINT "MATRIZ DE DATOS"
150 PRINT "ACTI. DUR. SL)C. I. SUC. F."
160 PRINT " "
170 FOR I-=1 TO N
180 FORMAT F3.O,FS.O,F.0,F8.0
190 WRITE (15,180) I,A (I,2),A(I,3),A(I,4)
200 NEXT I
210 DISP "N. DE ERRORES";
220 INPLJT D
230 IF D=0 THEN 290
240 FOR P=1 TO D
250 DISP 'wALOR DEL ERROR"P;
260 INPUT I,J,A(I,J}
270 NEXT P
280 GOTO 140
290 LOAD KEY 4
300 END
t^+^ _ _., _._ . _ _ . _.
F ^iAt)ISiI( ^^ f-`s}'Ati()I ^^
__

B L C^ tr^? U F^ S I M L_7 P E_^ RT

Pragrama nm. 4 { ^'. KE^'.0 ^

10 REM ENTRADA DE DATOS VARIABLES DISCRE"i'AS


2t) DISP "NUM. MAX. DE VALORES DE X";
30 INPUT NS
40 REDIM L(N3,N5),X(N3.N5),R(N3,2),K(N3)
SU FR I=] TO N ^
^ D^ ISP "NUM. DE VALORES DE X("I"),ARCHIVO";
70 II'^IPUT R(I,1),R(I,2)
SO RED^ IM V(R(I,l)
9(1 DISP "INDICE DE L.A AC`"TIVIDAD";
1C){) INPL.^T K(I)
11() FfJR J=1 TO R(I,l)
t20 DISP "VAL{JR DE ^C("I J)-;
13f.) INPUT ?^( I ,J )
Ia() NEXT J
t5^ LOAD DATA R(I,2),V
160 FOR J= 1 TO R(^^I,1)
1?0 L+(I,J)=V(J)
18U NEXT J
19U NEXT I
2{x7 END

Programa nm. 5 (F. KEY.1}

IO REM ENTRADA DATOS VARI. BETAS


2U REDIM C(N2,1),E(N2,2),P(t'^I2),(?(NZ)
3U FOR I=1 TO N2
4U D^ iSP "INDICE VARI. BETA"I;
SU INPUT C(I,1)
(^0 DISP "EXTREMOS VARI. BETA" I '",P,Q";
?0 INPUT E(I,1},E(I,2),P(I),Q(I)
80 NFXT I
^0 DISP "HECHC3";
UO END

Programa nm. 6 {F. KEY.Z)

lU REM ENTRADA DE DATOS VARI. HISTO.


20 ItEL?IM Z(N1),F(S,NI),D(NI,I),G(N1,2)
30 FOR K=1 TO N 1
40 DISP "INDICE VARI. HISTO."K;
SO IN PUT D( K,1)
I^^_L C'UtiTRUI. UE^ F'RC)^'t^C'^ O^ 111

t^f) DISP "EXZ'REMOS VA^RI. HIS"I'C^."K;


70 INPIJ'T C'.^(K,1 ^,C.^ (K,2)
80 N I^:XT' K
90 DISP "FILA ARC^HIVC) MA"I'RIZ FREC'."
100 INPUT H1
110 LOAD DATA H 1,F
120 FOR K=1 TO N 1
130 Z(K)=(G(K,2)-G(K,1))5
140 N EXT K
150 DISP "HECHO";
l0 END

Pragrama am. 7 (F. KE^'.3)

10 REM SIMULACION-PERT
2U REDIM M(N,),N(M,3)
30 IF N1=0 AND N2=0 THEN 480
35 IF N3=0 THEN 480
40 DISP "NUMERO DE G ENERACIONES";
50 I NPUT V
60 DISP "Dt.JRACION FINAL MAX, MIN";
70 INPUT D2,D 1
80 S=(D2-D1)/10
90 MAT B=ZER
100 MAT M=ZER
110 MAT N=ZER
120 S1=S2=0
130 FO R U=1 TO V
140 IF N2=0 THEN 230
15U FOR H=1 TO N2
160 Xl = RND(0.9)
170 X2= RND(0.5)
18U M8=X1 T (1jP(H))+X2 T (1/Q(H))
190 IF M8 ? 1 THEN 160
200 A(C(H,1),2)=E(H,1)+(X1 ^` (1/P(H)) * (E(H,2)-E(H,1))/M8
210 PRINT "A("C(H,1)",2) _ "A(C(H,1),2)
22U NEXT H
23U IF N1=0 THEN 370
24(1 FO R K=1 TO N 1
2S0 W= RN D(0. 75 )
260 FO R I=1 TO 5
270 IF W> T(I,K) THEN 350
280 IF I# 1 THEN 310
290 X=G(K,1}+Z{K) * (W%F(1,K))
300 G OTO 320
310 X=G{K,1)+Z{K} * (I-1)+Z(K) * (W-F(I--1,K))/(F(I,K)-F{I-1,K))
320 A(D(K,l),2}=X
112 E:^STADISTIC^A ESPAOC.A

33(T PRINT "A("D(K., l )", 2 )="'^i


340 GOT 3fi()
35U NEXT I
3t5^U NEXT i^
370 IF N3=0 THEN 4^30
380 FOR L=1 TO N3
390 W = RND(0.8)
4()0 FOR I=1 TO R{ L,1)
410 IF W> L(L,I) THEN 460
420 X=X(L,I)
430 A(K(L),2)-X
440 PRINT 'A("X(L),,,2)=..X
450 GC)TO 470
40 NEXT I
470 NEXT L
480 T(I,1)=0
490 FOR J= 2 TO M
500 T(J ,1) ^ -1
S10FORI=ITON
520 IF A{I,4}#J THEN S0
530 T1=T(A{I,3),1)+A(I,2}
540 IF T1 < T(J,1) THEN 5^
550 T(J,1)=T1
560 NEXT I
570 N EXT J
580 T(M,2)=T(M,1)
590 FO R J= M-1 TO I STEP -- I
b00 T(J ,2) =10 T 9
610 FOR I=N TO 1 STEP-1
620 IF A(I,3) #J THEN 660
630 T2=T(A(I,4),2)-A(I,2)
640 IF T2 > T(J,2) THEN 660
50 T(J,2)=T2
bt) NEXT I
670 NEXT J
680 FO R J=1 TO M
690 T(J,3}=T(J,2)-T(J,1)
700 NEXT J
710 FO R I-1 TO N
720 H(I,1)=T(A(I,4),2)--T(A(I,3),1)-A(I,Z)
?30 H(I,2)=T(A(I,4),1)-T(A(I,3),1)-A(I,2)
?40 H(I,3)=T(A(I,4),1)-T(A(I,3),2)--A(I,2)
750 H(I,S)=F(A(I,4),2)--A(I,2)
?b0 H(I,6) = T(A(I,3) ,1) + A(I,2)
770 H(I,4)=0
?80 IF ABS(H(I,l)) ^ 1 THEN 810
790 H(i,l)=0
800 H(I,4) =1
E:l. C'ONTRO[. DE PRC1Yf:^^1^O5

K10 NEXT I
^320 IF N1=0 AND N2=0 THEN 1O8O
^i25 IF N3=O THEN 1{)!^U
H30 FOR J=1 TO 6
840 FOR I=1 TO N
850 M(I,J)=M(I,J)+H(I,J)
8fi0 NEXT I
870 N EXT J
880FORJ=1T03
890 FO R I=1 TO M
900 N(I,J)=N(I,J)+T(I,J)
910 NEXT I
920 N EXT J
930 S1=S1 +T(M,2)
940 S2=S2+T(M,2} ^` 2
950 G1={T(M,2)=D1)/S
960 G2=1+INT(C'^1)
970 B{G2)=B{G2)+ 1
980 N EXT U
990 M1=S1f V
1000 M2=S2^V-Ml ^' 2
1 O 10 MAT M=(1%V )* M
1020 MAT-B = (1/V ) * B
1030 MAT N=(1/V) * N
1040 MAT H = M
1050 MAT T= N
lOfiO PRINT "NALOR MEDIO DEL TIEMPO TOTAL="M1
1070 PRINT "VARIANZA DEL TIEMPO TOTAL="M2
1080 DISP "HECHO";
1()90 END

Programa n^im. 8 (F. KEY.4)

10 REM PROGRAMA ESCRITURA SALIDA-SIMULACION PERT


20 PRINT "VALORES MEDIOS SIMULADOS"
30 FORMAT "ACT. DURAC. SUCESOS T. EARLY T. EARLY T. LAST"
40 WRITE (15,30) " T. LAST H. SUC. H. TOTAL H. LIBRE H. INDEP. C.C.'
50 FORMAT 14X,"INI.-FINAL I J I J "
60 WRITE (15,50) "I J"
70 FORMAT "
80 WRITE (15,70) "
90FORI=ITON
100 FORMAT F3.O,F7.O,F8.O,F3.0,3F9.3
110 FORMAT F9.3,F7.3,F6.3,2F9.3,F6.3
120 FORMAT F9.3
130 WRITE (15,10^0) I,A(I,2),A(I,3)"-",A{I,4), T(A(I,3),1),T(A(I,4),1), T(A(I,3),2),
1 : EySTA1^1S7 EC.^A ESPAI`i(.)l_A

14t1 WRITE (15.11U) T(A(I.^).^),T(A(I,3).3),T(A(I,4),3),I-1(I.1},H(I,2),H(I,3),


15(l WRITE {15,120) H{I,4)
1(^t) NEXT I
17() FCtRMAT t2X,F3E^.()
180 WRITE (15,170) "CALENDARIO DE EJECUCION DEL PROI^EC'TO"
90 FORMAT "AC"TIVIDAD FECHA DE COMIENZO "
210 WRITE ( i5,190)"FECHA DE TERMINACItJN"
210 FORMAT 11X, "MAS TEMPRANA MAS TARDIA"
220 WRTTE, (15,210)"MAS TEMPRANA MAS TARDIA"
23Q FRMAT " ^'
240 WRITE (15,230)" "
254 FOR I=1 TO N
260 FORMAT F6.3,F12.3,3F13.3
270 WRITE (15,2fi0)I,T(A(I,3),1),H/I.5),H(I,6).T(A(I,4),2)
280 NEXT I
290 IF N 1=0 AND N2 =E} TI-IEN 340
300 PRINT "DISTRIBUCION DE FRECUENCIAS - TIEMPO TOTAI_,"
310 FO R I=1 TO 10
320 PRINT DI+S *(I-1)" "B(I)
330 NEXT I
340 END

BIBLIOGRAFIA

AGARD, J.: Les methades de simulation. Dunod, 1968.


B u^A, E. S.: Direecin de operacianes. Ed. Limusa, i 973.

CAlYAS MADUEO, J. A., y Dtos PALOMARES, R.: Los mtodos PERT y RUY en el control de
proyectos y los microcomputadores. Proceso de Datos, nm. 94, Madrid, octubre 1979.

EscvDERO, L.: La simulacin en la empresa. Ediciones Deusto. Bilbao, 1973.

: Asignacin ptima de recursos. Ediciones Deusto. Bilbao, 1977.


GERE^, V., y CZTRNt, V.: Introduccin al anclisis de sistemas e investigacin de operaciones,
Representaciones y Servicios de Ingenierfa, S. A. Mxico, 1978.
NAYL^3R, T. H. ; BALINTFY, J. L. ;$URDICK, D. S., y KNG, C.: Computer simulatican techniques.
John Wiley and Sons. 19bb.

PHiLLiPS, D. T.; RAVINDRAN, A,, y SOLBERG, J.: Operations Research: Principtes and Practice. John
Wiley and Sons. INC. USA, 1976.
E=.1. CIUti'TR()1_ UE^ YROYEC"T(:)5 1]5

RoME^RO LbPFZ, C.: Tcn^cas de pro^ramacin ti^ contro! de prc^y^ect^^s^. 2.' ed. Edieiones Pirmide.
Madrid, 19K3.

SoBOI , I. M.: Mtodo de Monte C'arlv. Editorial MIR. Mosc, 197b.


TE-^leRAUF, R. J., y GROSS^. R. A.: Toma de decisiones por medio de Investigacin de peraciones.
Ed. LIMUSA, 1972.

: Introduccin a la investigacin de operaciones. Ed. LIMU'SA, 1982.


TC)CHER, K. D.: The art of sirnulation. Hdder and Stoughton, 1963.
WAGNER, H. M.: Principles of Otperations Research with aplications to mana,geria! decisions. Prentice
Hall International Editions, 19^5.

SUMMARY

THE PROJECTS CQ^NTROL 1N A RANDOM CONTEXT:


APPLICATION OF THE MONTECARLO METHOD

In this paper an application of Monte-Carlo simulation to the control of


projects is undertaken. It is assumed that the expected time of the activi-
ties are random variables with known distribution. In order to apply the
Monte-Carlo approach some programs in BASIC language have been obtai-
ned. These programs allow to calculate the slacks and the critical path (s)
for the simulated expected times to each activity. It is assumed that the
random variables introduced in the analysis follow beta or negative binominal
distributions. It is also possible to introduce in the analysis every kind of
discrete random variable if the distribution of frecuencies is known. Finally,
a critical index (i. e. the probability that a certain activity is in the critical
path) is evaluated for every activity.

Key words: PERT, Monte-Carlo simulation, BASIC language, beta distribu-


tion, negative binomial distribution, critical path.

AMS 1980. Subject classification: 62E25.

Potrebbero piacerti anche