Anda di halaman 1dari 218

(i)

PROYECTO FIN DE CARRERA






ANLISIS DE UNA RED DE
ACTIVIDADES CON DURACIONES
CONOCIDAS Y BORROSAS












AUTOR: FRANCISCO JAVIER COCO UTRILLA

MADRID, SEPTIEMBRE 2007
UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INFORMTICO






Autorizada la entrega del proyecto del alumno:
Francisco Javier Coco Utrilla



EL DIRECTOR DEL PROYECTO
Manuel Rojas Guerrero

Fdo.: .............................. Fecha: ....../ ....../ ......



V B del Coordinador de Proyectos
Miguel ngel Sanz Bobi

Fdo.: .............................. Fecha: ....../ ....../ ......




ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- I -
RESUMEN
El concepto de lo que es un proyecto, es universal pero bastante
inconcreto. Existen diversas definiciones, segn el punto de vista de cada
descriptor, pero en lo que todos parecen coincidir es que es un medio para
llevar a cabo una proyeccin hacia el futuro con respecto a una situacin actual
que se desea cambiar.
En el complejo mundo de las Organizaciones y Empresas, disear y
desarrollar un proyecto que consiga aunar los diferentes intereses existentes y
latentes, es una ardua tarea en la que muchas veces tienen que consensuar
promotores y detractores.
Adems, a la hora de acometer un proyecto a veces se suelen encontrar
situaciones complicadas para su direccin, planificacin, obtencin de recursos,
recopilacin de datos e incluso su justificacin econmica, que pueden dificultar
el xito del mismo.
Por ello, a lo largo del tiempo se han ido confeccionando distintos
mtodos de trabajo que persiguen soslayar estos inconvenientes y que
presentados de manera formal y pblica reciben el nombre de Metodologas.
Unas estn especializadas para confeccionar proyectos en el mundo de
cada organizacin y otras son de propsito general.
En este Proyecto Final de Carrera se ha desarrollado un sistema de
propsito general que extiende el algoritmo clsico del PERT-CPM basado en
programacin dinmica (que permite estudiar una red de actividades) al caso en


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- II -
el que se tiene un conocimiento vago de las duraciones de las diferentes
actividades de la red. Este conocimiento puede ser modelado mediante
nmeros borrosos trapezoidales (y, como casos particulares, intervalos
constantes y nmeros borrosos piramidales).
El sistema se ha diseado con una arquitectura cliente-servidor que
permite al usuario la creacin de un proyecto que parte de una fecha que el
usuario asigna y que est compuesto por un conjunto de actividades que l
mismo disea a travs de un interfaz sencillo e intuitivo.
Por su potencia de desarrollo en soluciones de cualquier tipo,
integracin de funciones, facilidad de uso y documentacin existente, el
proyecto ha sido desarrollado en su totalidad en el lenguaje de programacin
Java (jdk 1.6) con el entorno de desarrollo Eclipse-SDK-3.1.1.
El sistema permite al usuario guardar y cargar los proyectos existentes,
insertar nuevas actividades que puedan surgir, modificarlas y eliminarlas del
proyecto con total facilidad y en cualquier momento. Asimismo se proporcionan
diferentes mtodos de desborrosificacin de resultados para estimar una
valoracin del proyecto en un diagrama de Gantt.
La aplicacin se divide en dos subsistemas: cliente y servidor que se
comunican mediante un protocolo a nivel de aplicacin diseando para trabajar
tanto desde el mismo equipo como en una red local o a travs de Internet.
La aplicacin cliente es la encargada de recoger la informacin que
aporta el usuario controlando la entrada de datos en el sistema para mantener la


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- III -
informacin en un estado conforme e ntegro de tal manera que se cumplan las
directrices de los diagramas de red y de las duraciones borrosas. Por otra parte
se presentan las tablas de actividades y etapas generadas por el servidor
enfatizando la ruta crtica del proyecto. Como apoyo se muestran grficas
descriptivas para la ayuda al diseo y a la comprensin de los resultados.
El servidor se encargar de resolver las redes de actividades enviadas
por el cliente con las opciones de solucin elegidas para cada una de las fases
del camino crtico.
El sistema desarrollado en definitiva es capaz de proporcionar una
importante ayuda a la toma de decisiones en el mbito empresarial para
proyectos con actividades modeladas mediante nmeros borrosos combinando
el algoritmo clsico del PERT-CPM con seis tcnicas diferentes de
desborrosificacin implementadas, de las cuales cuatro de ellas incorporan un
parmetro asociado dotando a la aplicacin de una robustez y versatilidad
sorprendentes.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- IV -
ABSTRACT
The concept about what is a project is universal but no specific enough.
Diverse definitions exist, according to the point of view of every describer, but all
of them seem to agree about it is that it is a way to carry out a projection towards
the future with regard to a current situation that one wants to change.
Inside the complex world of the Organizations and Companies, to design
and develop a project that manages to unite the different existing and latent
interests, it is an arduous task in which often promoters and detractors have to
agree.
In addition, at the moment of undertaking a project it is usual to find
complex situations for its direction, planning, obtaining of resources, summary of
information and even its economic justification, which can impede the success of
it.
For all this, throughout the time there have been created different
methods of work that they chase to avoid these disadvantages and they receive
the name of Methodologies.
Some are specialized to make projects in the world of every organization
and others are of general purpose.
In this project a general purpose system has been developed that
extends the classic algorithm of the PERT-CPM based on dynamic programming
(that allows studying an activities network) to the case in which a vague
knowledge exist about the duration of the different activities in the network. This


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- V -
knowledge can be shaped by means of trapezoidal fuzzy numbers (and, as
particular cases, constant intervals and pyramidal fuzzy numbers).
The system has been designed with a client - server architecture that
allows the user to create a project that initiates from a date that the user assigns
and is composed by a set of activities designed by him across a simple and
intuitive interface.
For its power of development in solutions of any type, integration of
functions, facility of use and existing documentation, the project has been
developed entirely in the Java programming language (jdk 1.6) using the
development environment Eclipse-SDK-3.1.1.
The system allows the user to save and load the existing projects, to
insert new activities that could arise, modify them and eliminate them from the
project with total facility and at any time. Likewise different methods of
defuzzification are provided to estimate a valuation of the project results in
Gantt's graph.
The application is composed by two subsystems: client subsystem and
server subsystem that communicate by an application level protocol designed to
work as much from the same computer as in a local area network or across the
Internet.
The client subsystem is in charge of gathering the information that the
user put in, controlling the entry of information in the system to support the
information in a right and entire state in such a way that the directives of network


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- VI -
diagram and the fuzzy durations are carried out. On the other hand it presents
tables about activities and stages generated by the server emphasizing the
critical path of the project. Descriptive graphs are shown to help with the design
and to the comprehension of the results.
The server will take charge solving the networks of activities sent by the
client with the solution options chosen for each of the phases of the critical path.
The system developed in short is capable to provide an important help to
make a decisions in the business area for projects with activities shaped by
fuzzy numbers combining the classic algorithm of the PERT-CPM with six
different defuzzification methods implemented, in which four of them incorporate
an associate parameter providing the application with a solid and a surprising
versatility.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- A -
NDICE
1. INTRODUCCIN Y PLANTEAMIENTO...................................... 1
2. EL PERT/CPM............................................................................ 5
2.1 GLOSARIO........................................................................................... 5
2.2 VENTAJAS PERT Y CPM.................................................................... 8
2.3 CAMPO DE ACCIN............................................................................ 8
2.4 DISEO DEL DIAGRAMA DE RED..................................................... 9
2.5 EL MTODO CPM.............................................................................. 13
2.5.1 APLICACIN DEL MTODO CPM......................................... 13
2.5.2 EJEMPLO DE CPM................................................................. 18
2.5.3 LIMITACIONES DEL CPM...................................................... 21
2.6 EL MTODO PERT ............................................................................ 22
2.6.1 TIEMPOS DE ESTIMACIN DE ACTIVIDAD......................... 22
2.6.2 DETERMINAR LA RUTA CRTICA......................................... 24
2.6.3 VENTAJAS DEL PERT ........................................................... 26
2.6.4 LIMITACIONES....................................................................... 27
2.7 CONCLUSIONES ............................................................................... 27
3. LA LGICA BORROSA............................................................ 29
3.1 CONJUNTOS CLSICOS.................................................................. 29
3.1.1 FUNCIN CARTESIANA........................................................ 31
3.1.2 OPERACIONES BSICAS ENTRE CONJUNTOS................. 32
3.1.3 PROPIEDADES DE LOS CONJUNTOS CLSICOS.............. 33
3.2 CONJUNTOS BORROSOS................................................................ 35


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- B -
3.2.1 FUNCIN DE PERTENENCIA................................................ 36
3.2.2 DEFINICIONES BSICAS SOBRE
CONJUNTOS BORROSOS ............................................................. 41
3.2.3 OPERACIONES BSICAS ENTRE
CONJUNTOS BORROSOS ............................................................. 43
3.2.4 PRINCIPIO DE EXTENSIN .................................................. 44
3.2.5 -CORTES.............................................................................. 45
3.3 NMEROS BORROSOS.................................................................... 46
4. PLANTEAMIENTO Y OBJETIVOS DEL PROYECTO.............. 48
4.1 PLANTEAMIENTO DEL PROYECTO................................................ 49
4.2 OBJETIVOS DEL PROYECTO .......................................................... 49
5. SOLUCIN PROPUESTA ........................................................ 52
6. DIAGRAMA DE CONTEXTO.................................................... 53
7. PERFILES Y MBITO............................................................... 54
8. ANLISIS.................................................................................. 55
8.1 ANLISIS DE REQUISITOS .............................................................. 55
8.1.1 REQUISITOS FUNCIONALES................................................ 55
8.1.2 REQUISITOS NO FUNCIONALES ......................................... 56
8.2 ANLISIS FUNCIONAL DETALLADO .............................................. 58
8.2.1 CREACIN DEL PROYECTO, INSERCIN,
MODIFICACIN Y ELIMINACIN DE ACTIVIDADES .................... 58
8.2.2 TRATAMIENTO DE LAS DURACIONES BORROSAS........... 59
8.2.3 CREACIN DEL ALGORITMO DE SOLUCIN ..................... 59
8.2.4 PROTOCOLO DE CONEXIN ............................................... 60


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- C -
8.2.5 PRESENTACIN DE LOS DATOS......................................... 61
8.2.6 PRESENTACIN DE LOS GRFICOS .................................. 61
8.2.7 ALMACENAMIENTO DE LOS DATOS ................................... 62
8.2.8 MODIFICACIN DE PARMETROS DEL PROYECTO Y DEL
PROGRAMA .................................................................................... 62
9. ESTUDIO DE LA ARQUITECTURA.......................................... 63
9.1 EL LENGUAJE JAVA......................................................................... 63
9.2 ESTRUCTURA DEL SISTEMA........................................................... 65
10. DISEO DE LA APLICACIN................................................ 67
10.1 MODELO DE DOMINIO.................................................................... 68
10.2 MODELO DE DATOS....................................................................... 69
10.2.1 TABLA DE ACTIVIDADES.................................................... 69
10.2.2 TABLA DE ETAPAS.............................................................. 72
10.2.3 TABLA DE ACTIVIDADES FICTICIAS.................................. 74
10.3 MODELO DE CASOS DE USO........................................................ 75
10.3.1 IDENTIFICACIN DE LOS CASOS DE USO....................... 75
10.3.2 DIAGRAMA DE CASOS DE USO......................................... 76
10.3.3 DESCRIPCIN DE LOS CASOS DE USO........................... 78
10.4 DIAGRAMA DE PAQUETES............................................................ 92
10.4.1 PACKAGE MOTOR............................................................... 92
10.4.2 PACKAGE CLIENTE............................................................. 93
10.4.3 PACKAGE ORG.................................................................... 93
10.4.4 PACKAGE COMMON........................................................... 94



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- D -
10.5 DIAGRAMA DFD DE PRIMER NIVEL DE
LA APLICACIN CLIENTE...................................................................... 95
10.6 DIAGRAMA STATECHART DEL SERVIDOR DE RESOLUCIN... 96
11. LA APLICACIN CLIENTE .................................................... 97
11.1 DISEO Y EDICIN DEL PROYECTO............................................ 97
11.1.1 CREACIN DE UN NUEVO PROYECTO (CU01) ................ 97
11.1.10 SOLUCIN DEL PROYECTO........................................... 124
11.1.2 DEFINIR LOS PARMETROS DEL PROYECTO (CU02) .... 98
11.1.3 INICIADOR DE ACTIVIDADES (CU03) .............................. 100
11.1.4 CREADOR DE DURACIONES BORROSAS (CU14).......... 103
11.1.5 INICIADOR DE SUCESORAS (CU04) ................................ 107
11.1.6 AADIR ACTIVIDADES AL PROYECTO (CU05) ............... 111
11.1.7 MODIFICAR LAS ACTIVIDADES
DEL PROYECTO (CU06)............................................................... 112
11.1.8 ELIMINAR ACTIVIDADES DEL PROYECTO (CU07) ......... 116
11.1.9 MODIFICAR FECHA DE INICIO DEL PROYECTO (CU02) 122
11.2 COMUNICACIONES....................................................................... 126
11.2.1 CONEXIN CON EL SERVIDOR DE
RESOLUCIN (CU09) ................................................................... 126
11.2.2 MODIFICAR LA CONFIGURACIN DE CONEXIN CON EL
SERVIDOR (CU13) ........................................................................ 129
11.3 GESTIN DE ARCHIVOS .............................................................. 130
11.3.1 GUARDADO DE INFORMACIN (CU11)........................... 132
11.3.2 CARGA DE INFORMACIN (CU12)................................... 135


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- E -
11.4 PRESENTACIN DE LA INFORMACIN (CU10) ......................... 137
11.4.1 INFORMACIN BSICA..................................................... 137
11.4.2 INFORMACIN RESUELTA............................................... 140
12. EL SERVIDOR DE RESOLUCIN........................................ 147
12.1 GESTOR DE PETICIONES ............................................................ 147
12.2 MOTOR DE RESOLUCIN (CU08)................................................ 149
12.2.1 CREACIN DEL DIAGRAMA DE RED............................... 149
12.2.2 FASE HACIA DELANTE DEL MTODO CPM.................... 154
12.2.3 FASE HACIA ATRS DEL MTODO CPM......................... 158
12.2.4 IDENTIFICACIN DE LAS ACTIVIDADES CRTICAS ....... 165
12.2.5 CALCULAR LOS MRGENES DE CADA ACTIVIDAD....... 165
12.2.6 OPCIONES DE DESBORROSIFICACIN
PROPORCIONADAS..................................................................... 166
12.2.7 OPCIONES DE RESOLUCIN DEL PROYECTO.............. 174
13. EJEMPLO DE ENSAYO ....................................................... 178
14. PLANIFICACIN .................................................................. 187
15. ESTUDIO ECONMICO....................................................... 192
15.1 RECURSOS UTILIZADOS ............................................................. 192
15.2 COSTES DEL PROYECTO............................................................ 193
15.2.1 COSTES DE PERSONAL ................................................... 193
15.2.2 COSTES DE AMORTIZACIN DE PROGRAMAS Y
EQUIPOS....................................................................................... 195
15.2.3 COSTES DE MATERIAL..................................................... 196
15.2.4 COSTES INDIRECTOS ...................................................... 197


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- F -
15.3 COSTE TOTAL DEL PROYECTO.................................................. 198
16. CONCLUSIONES Y LNEAS FUTURAS .............................. 199
17. BIBLIOGRAFA..................................................................... 201



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 1 -
1. INTRODUCCIN
Los proyectos, y en especial los proyectos a gran escala, han existido
desde tiempos antiguos. Este hecho lo atestigua la construccin de las
pirmides de Egipto y los acueductos de Roma.
El Proqramme Evaluation and Review Technique (PERT Tcnica de
revisin y evaluacin de proyectos) fue desarrollado por cientficos de la Oficina
de Proyectos Especiales de la Marina de los Estados Unidos de Amrica. Con
este mtodo se comienza descomponiendo el proyecto en una serie de
actividades, entendiendo por actividad la ejecucin de una tarea que necesita
para su realizacin la utilizacin de uno o varios tipos de recursos (mano de
obra, maquinaria, materiales, tiempo, etc.), considerando como caracterstica
fundamental su duracin. La tcnica demostr tanta utilidad que ha ganado
amplia aceptacin tanto en el gobierno como en el sector privado.
Casi al mismo tiempo, la Compaa DuPont, junto con la Divisin
UNIVAC de la Remington Rand, desarroll el Critical Path Method (CPM,
Mtodo del Camino Critico) para controlar la programacin de cierres de
mantenimiento de plantas de procesamiento qumico de DuPont. El CPM es
idntico al PERT en concepto y metodologa. La diferencia principal entre ellos
es simplemente el mtodo por medio del cual se realizan estimaciones de
tiempo para las actividades del proyecto. Con CPM, los tiempos de las
actividades son deterministas. Con PERT, los tiempos de las actividades son
probabilsticos o estocsticos.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 2 -
El PERT/CPM fue diseado para proporcionar diversos elementos
tiles de informacin para los administradores del proyecto. Primero, el
PERT/CPM expone la "ruta crtica" de un proyecto. Estas son las actividades
que limitan la duracin del proyecto. En otras palabras, para lograr que el
proyecto se realice pronto, las actividades de la ruta crtica deben realizarse
pronto. Por otra parte, si una actividad de la ruta crtica se retarda, el proyecto
como un todo se retarda en la misma cantidad. Las actividades que no estn
en la ruta crtica tienen una cierta cantidad de holgura; esto significa que
pueden empezarse ms tarde, y permitir que el proyecto como un todo se
mantenga en programa. El PERT/CPM identifica estas actividades y la cantidad
de tiempo disponible para retardos. A esto se le llama margen. Hay dos tipos
de mrgenes: el margen libre (retraso que puede existir en el comienzo o en la
ejecucin de una actividad sin modificar la fecha prevista de la etapa sucesora)
y el margen total (retraso que puede existir en el comienzo o en la ejecucin de
una actividad sin modificar la fecha prevista de finalizacin del proyecto).
Ambos mrgenes para la ruta crtica valen cero.
Finalmente, el PERT/CPM proporciona una herramienta para controlar
y monitorizar el progreso del proyecto. Las actividades de la ruta crtica,
permiten por consiguiente, recibir la mayor parte de la atencin, debido a que la
terminacin del proyecto, depende fuertemente de ellas. Las actividades no
crticas se manipularan y remplazaran en respuesta a la disponibilidad de
recursos.
En los aos 60, en la Universidad de California en Berkeley, Lotfi A.
Zadeh introdujo el concepto de la lgica borrosa (ZADE65) guiado por el


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 3 -
principio de que las matemticas pueden ser usadas para encadenar el
lenguaje con la inteligencia humana. Algunos conceptos pueden ser mejor
definidos en trminos de palabras, que por matemticas; la lgica borrosa y su
expresin en conjuntos borrosos, proveen una disciplina que puede construir
mejores modelos de la realidad.
La lgica borrosa es bsicamente lgica multivaluada que amplifica los
enunciados de la lgica clsica intentando aplicar la forma de pensar del ser
humano a la programacin de computadores, sensores, chips, etc. La habilidad
de la lgica borrosa para procesar valores parciales de verdad ha sido de gran
ayuda para la ingeniera.
La aplicacin del adjetivo "borrosa" es debida a que los valores de
verdad no-deterministas utilizados en la lgica borrosa tienen mayoritariamente
una connotacin de incertidumbre. De hecho, lo borroso puede entenderse
como la posibilidad de asignar ms valores de verdad a los enunciados que
"falso" o "verdadero" e incluso en determinadas reas de conocimiento, estos
enunciados van asociados a valores de verdad que son grados de veracidad o
falsedad.
Resumiendo, puede llegar a redefinir los grados de veracidad de los
enunciados de salida conforme se refinan los de los de entrada, por lo que
algunos sistemas de lgica borrosa ejercen una labor de aprendizaje, y son
excelentes mecanismos de control de procesos.
En conclusin, la lgica borrosa crea aproximaciones matemticas en
la resolucin de ciertos tipos de problemas, produciendo resultados exactos a


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 4 -
partir de datos imprecisos, siendo por ello, especialmente tiles en aplicaciones
de tipo electrnico e informtico.
En el presente proyecto se estudia la posibilidad de aunar en una
aplicacin informtica dos reconocidas tcnicas de ingeniera, el PERT/CMP y
la lgica borrosa, para integrar en la planificacin de proyectos las actividades
que no tengan una duracin determinada por diferentes factores. Estos factores
son las actividades nuevas, actividades que han sido desarrolladas de forma
experimental, y no estn bien definidas, y actividades que han sido realizadas
mltiples veces pero varan dentro de un rango. Todas ellas se pueden modelar
usando la lgica borrosa por estimacin de un experto en la materia.
La planificacin de proyectos repercute econmicamente en las
empresas que destinan sus recursos a un proyecto determinado deseando
necesariamente que se finalice en la fecha prevista. A la vista del proyecto, los
caminos crticos dependern de las funciones que rijan sus actividades y
variarn segn el tratamiento que se d a las mismas.




ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 5 -
2. EL PERT/CPM
2.1 GLOSARIO
Para lograr una adecuada comprensin del tema a desarrollar ha
redactado un glosario que sirva como gua para comprender la terminologa
empleada.
PERT. La traduccin de las siglas en ingls significan: tcnica de
revisin y evaluacin de programas, es una tcnica de redes desarrollado en la
dcada de los 50, utilizada para programar y controlar programas a realizar.
Cuando hay un grado extremo de incertidumbre y cuando el control sobre el
tiempo es ms importante sobre el control del costo, PERT es mejor opcin que
CPM.
CPM. La traduccin de las siglas en ingls significan: mtodo del
camino crtico, es uno de los sistemas que siguen los principios de redes, que
fue desarrollado en 1957 y es utilizado para planear y controlar proyectos,
aadiendo el concepto de costo al formato PERT. Cuando los tiempos y costos
se pueden estimar relativamente bien, el CPM puede ser superior a PERT.
Actividad. Es un trabajo que se debe llevar a cabo como parte de un
proyecto, es simbolizado mediante una arista dirigida de la red de PERT.
Lista de actividades. Es una lista ordenada donde se recopilan todas
las diferentes actividades que intervienen en la realizacin de un proyecto.
Etapa. Se dice que se realiza una etapa, cuando todas las actividades
que llegan a un mismo nodo han sido terminadas. Son los crculos numerados


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 6 -
que forman parte del diagrama de red y representan el principio y el fin de las
actividades que intervienen en el proyecto.
Arista. Son las flechas que forman parte del diagrama de red y
representan cada una de las actividades del proyecto.
Ruta crtica o camino crtico. Se llama camino crtico tanto al mtodo
como a la serie de actividades contadas desde la iniciacin del proyecto hasta
su terminacin que no tienen flexibilidad en su tiempo de ejecucin, por lo que
cualquier retraso que sufriera alguna de las actividades de la serie provocara
un retraso en todo el proyecto. Desde otro punto de vista, es la serie de
actividades que indica la duracin total del proyecto.
Actividad Predecesora. Es una actividad que debe preceder (estar
antes) inmediatamente a una actividad dada en un proyecto.
Actividad Sucesora. Es una actividad que debe suceder (estar
despus) inmediatamente a una actividad dada en un proyecto.
Diagrama de red. Es una red de crculos numerados (etapas)
conectados con flechas (actividades), donde se muestran todas las actividades
que intervienen en un determinado proyecto y la relacin de prioridad entre las
actividades en la red as como las duraciones previstas y lmites para cada
etapa del proyecto y los mrgenes de cada actividad.
Actividad ficticia. Actividades imaginarias que existen dentro del
diagrama de red, slo con el propsito de establecer las relaciones de
precedencia y no se les asigna tiempo alguno, es decir, que la actividad ficticia


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 7 -
Permite dibujar redes con las relaciones de precedencia apropiadas, se
representa por medio de una lnea punteada.
Margen libre. Retraso que puede existir en el comienzo o en la
ejecucin de una actividad sin modificar la fecha prevista de la etapa sucesora.
Margen total. Retraso que puede existir en el comienzo o en la
ejecucin de una actividad sin modificar la fecha prevista de finalizacin del
proyecto.
Tiempo optimista. Es el tiempo mnimo o ms corto posible en el cual
es probable que sea terminada una actividad, se simboliza con a en las
duraciones borrosas que se estudiaran en el captulo siguiente.
Tiempo ms probable. Es el tiempo ms probable que toma una
actividad, en otras palabras, es el tiempo normal que se necesita en
circunstancias ordinarias para realizarla, se simboliza con el intervalo [A,B] en
las duraciones borrosas.
Tiempo pesimista. Es el tiempo mximo o ms largo posible en el cual
es probable que sea terminada una actividad, bajo las condiciones ms
desfavorables, simbolizado con b en las duraciones borrosas.
Fecha prevista. Es la fecha de una etapa en la que se prev que todas
las actividades que llegan a ella estarn terminadas.
Fecha lmite. Es la fecha de una etapa que si se rebasa implica el
retraso de todo el proyecto.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 8 -
Intervalo de flotamiento. Es el intervalo de tiempo en el que se puede
completar una etapa sin retrasar el proyecto. Comprende desde la fecha
prevista hasta la fecha lmite para cada etapa. Si la etapa forma parte del
camino crtico el intervalo de flotamiento ser cero.
2.2 VENTAJAS PERT Y CPM
1. Ensea una disciplina lgica para planificar y organizar un programa
detallado de largo alcance.
2. Identifica los elementos (segmentos) ms crticos del plan, en que
problemas potenciales puedan perjudicar el cumplimiento del programa
propuesto.
3. Ofrece la posibilidad de simular los efectos de las decisiones alternativas
o situaciones imprevistas y una oportunidad para estudiar sus
consecuencias en relacin a los plazos de cumplimiento de los
programas.
4. Aporta la probabilidad de cumplir exitosamente los plazos propuestos.
En otras palabras: CPM es un sistema dinmico, que se mueve con el
progreso del proyecto, reflejando en cualquier momento el STATUS
presente del plan de accin.
2.3 CAMPO DE ACCIN
El campo de accin de este mtodo es muy amplio, dada su gran
flexibilidad y adaptabilidad a cualquier proyecto grande o pequeo. Para


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 9 -
obtener los mejores resultados debe aplicarse a los proyectos que posean las
siguientes caractersticas:
1. Que el proyecto sea nico, no repetitivo, en algunas partes o en su
totalidad.
2. Que se deba ejecutar todo el proyecto o parte de el, en un tiempo
mnimo, sin variaciones, es decir, en tiempo crtico.
3. Que se desee el costo de operacin ms bajo posible dentro de un
tiempo disponible.
Dentro del mbito aplicacin, el mtodo se ha estado usando para la
planeacin y control de diversas actividades, tales como construccin de
presas, apertura de caminos, pavimentacin, construccin de casas y edificios,
reparacin de barcos, investigacin de mercados, movimientos de colonizacin,
estudios econmicos regionales, auditorias, planeacin de carreras
universitarias, distribucin de tiempos de salas de operaciones, ampliaciones
de fbrica, planeacin de itinerarios para cobranzas, planes de venta, censos
de poblacin, etctera.
2.4 DISEO DEL DIAGRAMA DE RED
Para aplicar CPM o PERT se requiere conocer la lista de actividades
que incluye un proyecto. Se considera que el proyecto esta terminado cuando
todas las actividades han sido completadas. Para cada actividad, puede existir
un conjunto de actividades predecesoras que deben ser completadas antes de
que comience la nueva actividad. Se construye una malla o red del proyecto


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 10 -
para graficar las relaciones de precedencia entre las actividades. En dicha
representacin grafica, cada actividad es representada como un arco y cada
nodo (etapa) ilustra la culminacin de una o varias actividades.
Consideremos un proyecto que consta de solo dos actividades A y B.
Supongamos que la actividad A es predecesora de la actividad B. La
representacin grafica de este proyecto se muestra en la figura. As, el nodo 2
representa la culminacin de la actividad A y el comienzo de la actividad B.


Si suponemos ahora que las actividades A y B deben ser terminadas
antes que una actividad C pueda comenzar, la malla del proyecto queda como
se muestra en la ilustracin 2. En este caso, el nodo representa que las
actividades A y B se han terminado, adems del inicio de la actividad C. Si la
actividad A fuera predecesora de las actividades B y C, la red quedara como se
muestra en la ilustracin 3.






Dado un conjunto de actividades y sus relaciones de predecisin o
sucesin, se puede construir una representacin grafica de acuerdo a las
siguientes reglas:
A B
1

2 3
Ilustracin 2.1 Diagrama de red de dos actividades
3
2
1
A
C
B
2 1
A
B
C
Ilustracin 2.2 A y B preceden a C Ilustracin 2.3 A precede a B y C


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 11 -
El nodo 1 representa el inicio del proyecto. Por lo tanto, las actividades
que parten del nodo 1 no pueden tener predecesoras.
El nodo Terminal o final del proyecto debe representar el trmino de
todas las actividades incluidas en la red.
Una actividad no puede ser representada por ms de un arco en la red.
Dos nodos deben estar conectados como mximo por un arco.
Para no violar las reglas 3 y 4, a veces es necesario introducir una
actividad ficticia o dummy que posee tiempo de duracin nulo. Por ejemplo,
supongamos que las actividades A y B tienen como actividad sucesora a la
actividad C y adems comienzan al mismo tiempo o en la misma etapa. En
este caso, una primera representacin podra ser la indicada en la figura
siguiente.


Ilustracin 2.4 Representacin errnea de sucesin sin actividad ficticia
Sin embargo, la red de la ilustracin 4 viola el cuarto punto. Para
corregir este problema, se introduce una actividad ficticia indicada con un arco
segmentado en la figura.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 12 -

Ilustracin 2.5 Actividad dummy
La red de la ilustracin 5 refleja el hecho de que la actividad C tiene
como predecesoras a A y B, pero sin violar el punto 4. En otros casos, se
deben agregar actividades dummy para no violar la regla 3. En la siguiente
figura se muestra la lgica para construir un diagrama de red.

Ilustracin 2.6 Lgica de construccin del diagrama de red



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 13 -
2.5 EL MTODO CPM
2.5.1 APLICACIN DEL MTODO CPM
Los pasos a seguir para plantear un proyecto con el mtodo del camino
crtico CPM son:
Especificar las actividades individuales. Se realiza una lista de
todas las actividades de las que se compone el proyecto. En este listado se
puede aadir un identificador a cada actividad y una descripcin de la misma.
Es obligado estimar la duracin de cada actividad, modelarla segn la funcin
de probabilidad a la que se ajuste o representarla mediante un nmero borroso
que se explicara en el siguiente apartado del proyecto.
Determinar la secuencia de las actividades. Algunas actividades son
dependientes en la terminacin de otras, es decir son las sucesoras de otras
actividades que necesitan completarse antes de que stas empiecen. Un
listado de los precursores inmediatos de cada actividad o un listado de los
sucesores de cada actividad es til para construir el diagrama de la red del
CPM.
Dibujar el diagrama de la red. Una vez que se hayan definido las
actividades, el diagrama del CPM puede ser dibujado. El CPM fue desarrollado
originalmente como actividad en red del nodo (AON), pero algunos
planificadores del proyecto prefieren especificar las actividades en los arcos.
Hay que tener en cuenta las reglas para la construccin del diagrama descritas
anteriormente.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 14 -
Aadir la informacin al diagrama de red. La informacin recopilada
para cada actividad es aconsejable aadirla en el diagrama. La etapa inicial se
numerar con un uno. Se irn numerando las diferentes etapas hasta llegar a la
final del proyecto que tendr el nmero mayor. En la figura siguiente se
representa la informacin que debera contener el diagrama en este apartado.

Ilustracin 2.7 Informacin primaria de un diagrama de red


Fase hacia delante. En esta fase se pretende determinar los
instantes ms tempranos o la fecha prevista para cada etapa o nodo. Para ello
se asigna al nodo inicial la fecha prevista cero. Luego se elige un nodo tal que
todos los anteriores que estn unidos directamente a l por una actividad ya
tengan fecha prevista. Se etiqueta el nodo elegido con la duracin mxima de
la suma de la duracin cada actividad ms la fecha prevista del nodo del que
proviene. Por tanto, usando la notacin t
k
para la fecha prevista del nodo k y t
i,k

para la duracin de la actividad que va del nodo i al k, la formula a emplear es:
} ,..., , max{
, , 2 2 , 1 1 k nm nm k n n k n n k
t t t t t t t + + + =

Ecuacin 2.1


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 15 -
Este paso se repite hasta etiquetar el nodo final, entonces esta ser la duracin
mnima del proyecto.
Fase hacia atrs. En esta fase se pretende determinar los instantes
ms tardos o la fecha lmite para cada etapa o nodo. Para ello se asigna al
nodo final la fecha lmite, siendo esta la misma que su fecha prevista. Luego se
elige un nodo tal que todos los siguientes que estn unidos directamente a l
por una actividad ya tengan fecha lmite. Se etiqueta el nodo elegido con la
duracin mnima de la resta de la fecha lmite del nodo al que llega menos la
duracin de la actividad que los une. Por tanto, usando la notacin t
i
* para la
fecha lmite del nodo i y t
i,k
para la duracin de la actividad que va del nodo i al
k, la formula a emplear es:
} ,..., , min{ *
, 2 , 2 1 , 1 nm i nm n i n n i n i
t t t t t t t =

Ecuacin 2.2

Este paso se repite hasta etiquetar el nodo inicial, debiendo ser ste igual a su
fecha prevista, es decir, cero.
Identificar las actividades crticas. Habiendo determinado las fechas
previstas y lmites de todos los nodos de la red, la identificacin del camino
crtico es sencilla. Las actividades crticas de la red sern aquellas que unan
aquellos nodos cuyas fechas previstas y lmites sean iguales (las etapas con
intervalo de flotamiento igual a cero). Estos nodos tambin forman parte del
camino crtico.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 16 -
Calcular los mrgenes de cada actividad. Los mrgenes u holguras
de cada actividad son los retrasos que puede tener cada actividad. Se calcula
tanto el margen libre como el total denotndolos con L
i,k
y S
i,k
respectivamente.
k i i k k i
k i i k k i
t t t S
t t t L
, ,
, ,
* =
=

Ecuacin 2.3
Por tanto el margen libre de la actividad que va del nodo i al k ser el retraso
que puede existir en el comienzo o en la ejecucin de la actividad que va de i a
k sin modificar la fecha prevista de la etapa k. El margen total de la actividad
que va del nodo i al k ser el retraso que puede existir en el comienzo o en la
ejecucin de una actividad que va de i a k sin modificar la fecha prevista de
finalizacin del proyecto. Cabe destacar que las actividades que formen parte
de la ruta crtica tendrn ambos mrgenes iguales a cero.
Los datos ahora de los cuales se compone el diagrama y los lugares
donde se sitan se muestran en la imagen 8.

Ilustracin 2.8 Informacin completa de un diagrama de red


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 17 -
Realizar el diagrama de Gantt. El diagrama de es una popular
herramienta grfica cuyo objetivo es el de mostrar el tiempo de dedicacin
previsto para diferentes actividades a lo largo de un tiempo total determinado. A
pesar de que, en principio, el diagrama de Gantt no indica las relaciones
existentes entre actividades, la posicin de cada tarea a lo largo del tiempo
hace que se puedan identificar dichas relaciones e interdependencias.
En gestin de proyectos, el diagrama de Gantt muestra el origen y final de las
diferentes actividades y las dependencias entre las mismas. Desde su
introduccin los diagramas de Gantt se han convertido en una herramienta
bsica en la gestin de proyectos de todo tipo, con la finalidad de representar
las diferentes actividades programadas como parte de un proyecto o para
mostrar una lnea de tiempo en las diferentes actividades haciendo el mtodo
ms eficiente. Aunque un diagrama de Gantt es fcilmente comprensible para
proyectos pequeos en los que el diagrama cabe en una nica hoja de papel o
en una pantalla, puede ser bastante engorroso para proyectos con ms de
unas 30 actividades.
Actualizar el diagrama segn progresa el proyecto. Los tiempos
reales de la terminacin de la tarea sern sabidos y el diagrama de la red se
puede poner al da para incluir esta informacin. Una trayectoria crtica nueva
puede emerger, y los cambios estructurales se pueden realizar en la red si los
requisitos del proyecto cambian.




ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 18 -
2.5.2 EJEMPLO DE CPM
A continuacin se muestra un ejemplo siguiendo los pasos para
resolver una red de actividades CPM:
Especificar las actividades individuales y determinar la secuencia
de las actividades.

Tabla 2.1 Descripcin de las actividades del proyecto
Dibujar el diagrama de la red y aadirle la informacin

Ilustracin 2.9 Diagrama de red con informacin bsica


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 19 -
Fase hacia delante.

Ilustracin 2.10 Diagrama de red tras la fase hacia delante
Fase hacia atrs.

Ilustracin 2.11 Diagrama de red tras la fase hacia atrs



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 20 -
Identificar las actividades crticas.

Ilustracin 2.12 Identificacin del camino crtico
Calcular los mrgenes de cada actividad.

Ilustracin 2.13 Diagrama de red con informacin completa




ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 21 -
Realizar el diagrama de Gantt.

Ilustracin 2.14 Diagrama de red proporcionado por la aplicacin


2.5.3 LIMITACIONES DEL CPM
El CPM fue desarrollado para proyectos bastante rutinarios con
incertidumbre mnima en los tiempos de la terminacin del proyecto. Para otros
proyectos menos rutinarios hay ms incertidumbre en los tiempos de
terminacin, ello trae consigo las limitaciones del modelo determinista del CPM
al introducir incertidumbre. Una alternativa al CPM es el modelo del
planeamiento del proyecto del PERT, que permite que una gama de duraciones
sea especificada para cada actividad.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 22 -
2.6 EL MTODO PERT
En CPM se asume que la duracin de cada actividad es conocida con
certeza. Claramente, en muchas ocasiones este supuesto no es valido. PERT
intenta corregir este error suponiendo que la duracin de cada actividad es una
variable aleatoria.
2.6.1 TIEMPOS DE ESTIMACIN DE ACTIVIDAD
Para cada activad, se requiere estimar las siguientes cantidades:
a = Tiempo Optimista. Duracin de la actividad bajo las condiciones
ms favorables
b = Tiempo Pesimista. Duracin de la actividad bajo las condiciones
ms desfavorables
m = Tiempo Normal. El valor ms probable de la duracin de la
actividad.
La forma de la distribucin se muestra en la Ilustracin 15. El tiempo
ms probable es el tiempo requerido para completar la actividad bajo
condiciones normales. Los tiempos optimistas y pesimistas proporcionan una
medida de la incertidumbre inherente en la actividad, incluyendo desperfectos
en el equipo, disponibilidad de mano de obra, retardo en los materiales y otros
factores.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 23 -

Ilustracin 2.15 Estimacin del tiempo optimista, pesimista y normal

Con la distribucin definida, la media (esperada) y la desviacin estn-
dar, respectivamente, del tiempo de la actividad para la actividad Z puede
calcularse por medio de las frmulas de aproximacin:
( )
( )
6
6
4
a b
Z
b m a
Z T
e

=
+ +
=


Ecuacin 2.4
El tiempo esperado de finalizacin de un proyecto es la suma de todos
los tiempos esperados de las actividades sobre la ruta crtica. De modo similar,
suponiendo que las distribuciones de los tiempos de las actividades son
independientes (una suposicin fuertemente cuestionable), la varianza del
proyecto es la suma de las varianzas de las actividades en la ruta crtica.
Si T
ij
es la variable aleatoria asociada a la duracin de la actividad (i,j),
PERT asume que T
ij
sigue una distribucin Beta. Sin entrar en mayores


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 24 -
detalles de esta distribucin, se puede demostrar que el valor esperado y la
varianza de la variable aleatoria T
ij
quedan definidas por:
[ ] ( )
[ ]
( )
36
6
4
2
a b
Tij V
b m a
Z Tij E
e

=
+ +
=

Ecuacin 2.5
Por lo tanto, el valor esperado y la varianza de una ruta pueden ser
estimadas segn:
[ ]
( )

Ruta ij
Tij
= Duracin esperada de la ruta
[ ]
( )

Ruta ij
Vij
= Variacin de la duracin de la ruta
2.6.2 DETERMINAR LA RUTA CRTICA
La ruta crtica es determinada agregando los tiempos para las
actividades en cada secuencia y determinando la ruta mas larga del proyecto.
La ruta crtica determina el tiempo total del calendario requerido para el
proyecto. Si las actividades fuera de la ruta ctrica aceleran o retrasaron el
tiempo (dentro de los lmites), entonces el tiempo total de proyecto no vara. Al
tiempo de una actividad no crtica de la ruta, que no altera la duracin del
proyecto, se denomina tiempo flojo.
Si la ruta crtica del proyecto no resulta obvia, entonces puede ser
provechoso determinar las cuatro cantidades siguientes para cada actividad:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 25 -
ES, principio temprano.
EF, principio tardo.
LS, terminacin temprana.
LF, terminacin tarda.
Se calculan estos tiempos usando la duracin prevista para las
actividades relevantes. Los tiempos ms tempranos del comienzo y del final de
cada actividad son determinados trabajando adelante a travs de la red y
determinando el tiempo ms temprano en el cual una actividad puede
comenzar y acabar a considerar sus actividades del precursor. Los tiempos
ms tardos del comienzo y del final son los tiempos ms tardos en que una
actividad puede comenzar y acabar sin variar el proyecto. El LS y el LF son
encontrados trabajando al revs a travs de la red. La diferencia en el final ms
tardo y ms temprano de cada actividad es holgura de esa actividad. La ruta
crtica entonces es la trayectoria a travs de la red en la cual ningunas de las
actividades tienen holgura.
La variacin en el tiempo de la terminacin del proyecto puede ser
calculada sumando las variaciones en los tiempos de la terminacin de las
actividades en la ruta crtica. Dado esta variacin, se puede calcular la
probabilidad que el proyecto ser terminado por cierta fecha si se asume que
una distribucin normal de la probabilidad para la trayectoria crtica.
Sea CP la variable aleatoria asociada a la duracin total de las
actividades de la ruta crtica determinadas mediante CPM. PERT asume que la


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 26 -
ruta crtica encontrada a travs de CPM contiene suficientes actividades para
emplear el Teorema Central del Lmite y concluir que CP se distribuye
normalmente.
( )
Tij CP
Ruta ij

=

Ecuacin 2.6
Puesto que la ruta crtica determina la fecha de la terminacin del
proyecto, el proyecto puede ser acelerado agregando los recursos requeridos
para disminuir la duracin para las actividades en la ruta crtica.
2.6.3 VENTAJAS DEL PERT
El PERT es til porque proporciona la informacin siguiente:
Tiempo previsto de la terminacin del proyecto.
Probabilidad de la terminacin antes de una fecha especificada.
Las actividades de la trayectoria crtica que afectan directamente el
tiempo de la terminacin.
Las actividades que tienen tiempo flojo y que pueden prestar recursos a
las actividades de la trayectoria crtica.
Fechas del comienzo y de fin de la actividad.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 27 -
2.6.4 LIMITACIONES
A continuacin se describen algunas de las debilidades del PERT:
Las estimaciones del tiempo de la actividad son algo subjetivas y
dependen del juicio. En casos donde hay poca experiencia en la
ejecucin de una actividad, los nmeros pueden ser solamente una
conjetura. En otros casos, si la persona o el grupo que realiza la
actividad estiman el tiempo puede haber una mejor estimacin.
Incluso si se estiman correctamente los tiempos de la actividad, el PERT
asume una distribucin beta para stos aunque la distribucin real
puede ser diferente.
El PERT asume que la distribucin de la probabilidad del tiempo de la
terminacin del proyecto es igual que el de la ruta crtica. Otras
trayectorias pueden convertirse en la ruta crtica si se retrasan sus
actividades asociadas, el PERT subestima constantemente el tiempo
previsto de la terminacin del proyecto.
2.7 CONCLUSIONES
El PERT y CPM han sido aplicados a numerosos proyectos. El PERT
se desarroll para proyectos en donde hubiera incertidumbre en el tiempo de
las actividades (usualmente debido a que el proyecto nunca se haba intentado
antes y por tanto no haba bases de datos para los tiempos de las actividades).
Esto condujo al enfoque probabilstico que se tom. La principal
desventaja es que no es funcional para grandes proyectos, debido a los tres


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 28 -
estimados de tiempo que se requieren en cada. Adems, el coste de actualizar
y mantener la informacin del proyecto con el tiempo en ambientes tan dinmi-
cos, puede ser excesivamente trabajoso.
Por otra parte, el CPM se desarroll para manejar proyectos repetitivos.
Obviamente, se gana gran cantidad de experiencia con el tiempo en tales
circunstancias, aun cuando dos proyectos puede que no sean iguales. Esta
experiencia llev al anlisis de tcnicas de colisin utilizadas en las redes CPM.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 29 -
3. LA LGICA BORROSA
En 1965, L. A. Zadeh introduce la teora de conjuntos borrosos
(ZADE65), como un mecanismo para representar la vaguedad e imprecisin de
los conceptos empleados en el lenguaje natural. Estos conjuntos borrosos
fueron definidos como una extensin de los conjuntos clsicos capaz de
modelar la imprecisin propia de los conceptos humanos. A mediados de los 70
llega la ampliacin del concepto de conjunto al de lgica, apareciendo las
lgicas borrosas y las aplicaciones a sistemas de control. Hoy en da son
muchas las aplicaciones tanto industriales como domsticas que hacen uso de
este paradigma.
3.1 CONJUNTOS CLSICOS
Como se ha apuntado, el origen de la lgica borrosa es la nocin de
conjunto borroso. Antes de abordar el estudio de la Teora de Conjuntos
Borrosos, se revisarn algunos de los conceptos bsicos de la Teora Clsica,
con el objeto de alcanzar una mayor comprensin de ambas.
El punto de partida de la teora de conjuntos son las nociones de
elemento y de conjunto. Un conjunto se define genricamente como una
coleccin de elementos. Tpicamente los elementos que forman parte de un
conjunto tienen algn tipo de propiedad en comn que les haga susceptibles de
pertenecer al conjunto, pero tal requisito es meramente anecdtico. El conjunto
se suele representar con una letra mayscula, tipo A, B, C, etc., y los
elementos del mismo se representan con una letra minscula (a, b, c, etc.).


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 30 -
Sobre los conjuntos se define una relacin de pertenencia, la cual se
denota con el smbolo . As pues, si el elemento a pertenece al conjunto A,
este hecho se formaliza mediante la expresin A a y en el caso en que b no
pertenezca a A se escribe A b .
Respecto a la forma de descripcin del conjunto, sta se puede realizar
de manera enumerativa, } ,..., , {
2 1 n
a a a A = , o bien, mediante la ley de formacin
a la que se ha hecho referencia A =los diez primeros nmeros naturales. Tal
definicin, como puede imaginarse, es equivalente a escribir de forma
enumerativa } 10 ,..., 2 , 1 { = A .
Se define el cardinal de un conjunto como el nmero de elementos que
forman parte de dicho conjunto. Si dicho cardinal es un nmero finito, el
conjunto se denominar finito. Caso contrario ser infinito. Dentro de estos
ltimos, deben distinguirse los de cardinal numerable, que sern aquellos
cuyos elementos se pueden poner en relacin 1:1 con los nmeros enteros (por
ejemplo, el conjunto de los nmeros pares), por otra parte nos encontraremos
conjuntos de cardinal no numerable, como, por ejemplo, el conjunto de los
nmeros reales comprendidos entre dos nmeros a y b.
La relacin de inclusin se deriva de la relacin de pertenencia; un
conjunto B se dice que est incluido dentro de un conjunto A cuando todos los
elementos de B estn en A. Si tal es el caso, podemos expresar de forma
abreviada que A B , o bien que B A . Si se verifica que A B y que B A
de forma simultnea, entonces es que los dos conjuntos son iguales.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 31 -
Dos conjuntos de dice que son disjuntos si no tienen ningn elemento
en comn. A estos conjuntos se les denomina tambin mutuamente
excluyentes.
Dado un problema, el conjunto universal, denotado por S, ser el
conjunto formado por todos los elementos del problema. De forma
complementaria, el conjunto vaco, denotado por , ser un conjunto sin
ningn elemento. Como es natural, los conjuntos S y son mutuamente
excluyentes.
Sea S un universo del cual cualquier conjunto A es subconjunto, esto
es:
S A , A
Ecuacin 3.1
En teora clsica de conjuntos cualquier elemento x perteneciente a S
pertenece o no pertenece al subconjunto A de manera clara e inequvoca, sin
que exista ninguna otra posibilidad al margen de estas dos.
La pertenencia o no de un elemento arbitrario x a un subconjunto A
viene dada en la mayora de los casos por la verificacin o no de un predicado
que caracteriza a A y da lugar a una biparticin del universo de discurso S.
3.1.1 FUNCIN CARTESIANA
El concepto de pertenencia o no de un elemento a un conjunto A puede
expresarse numricamente mediante una funcin caracterstica. Esta funcin


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 32 -
asigna a cada elemento x del universo de discurso un dgito binario (1 0)
segn x pertenezca o no al conjunto A.

=

A x si
A x si
x
S x
A
A
0
1
) (
} 1 , 0 { : ) (


Ecuacin 3.2
Por ejemplo, el conjunto } 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 { = A se puede representar por
su funcin caracterstica


=
caso otro en
x para
x
A
0
} 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 { 1
) (
Ecuacin 3.3
3.1.2 OPERACIONES BSICAS ENTRE CONJUNTOS
Dados dos conjuntos cualesquiera A y B incluidos en S es posible
definir un conjunto de operaciones bsicas entre ellos:
Complemento: El complemento de A se denota por A, y est formado
por todos los elementos de S que no pertenecen a A (operador unario).
A x si A x
Ecuacin 3.4
Su funcin de caracterstica ser:
) ( 1 ) ( x x
A
A
=
Ecuacin 3.5


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 33 -
Interseccin: se denota por B A y se define como el conjunto
formado por aquellos elementos de S que pertenecen a A y a B
simultneamente:
B x y A x si B A x
Ecuacin 3.6
Su funcin de caracterstica ser:
)) ( ), ( min( ) ( x x x
B A B A
=


Ecuacin 3.7
Unin: Es el conjunto formado por aquellos elementos que pertenecen
a A, o pertenecen a B, o bien a ambos simultneamente. Se denota por B A .
B x A x si B A x
Ecuacin 3.8
Su funcin de caracterstica ser:
)) ( ), ( max( ) ( x x x
B A B A
=


Ecuacin 3.9
3.1.3 PROPIEDADES DE LOS CONJUNTOS CLSICOS
Las operaciones entre conjuntos clsicos presentan ciertas leyes y
propiedades:
1. Propiedad conmutativa
A B B A
A B B A
=
=

Ecuacin 3.10
2. Propiedad asociativa


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 34 -
) ( ) (
) ( ) (
C B A C B A
C B A C B A
=
=

Ecuacin 3.11
3. Leyes de idempotencia
A A A
A A A
=
=

Ecuacin 3.12
4. Leyes de absorcin
A A B A
A A B A
=
=
) (
) (

Ecuacin 3.13
5. Propiedad distributiva
) ( ) ( ) (
) ( ) ( ) (
C A B A C B A
C A B A C B A
=
=

Ecuacin 3.14
6. Propiedades de absorcin por S y
=
=
A
S S A

Ecuacin 3.15
7. Propiedades de identidad
A A
A S A
=
=


Ecuacin 3.16
8. Involucin del complemento


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 35 -
A A =
Ecuacin 3.17
9. Leyes de Morgan
B A B A
B A B A
=
=

Ecuacin 3.18
10. Leyes complementarias
=
=
A A
S A A

Ecuacin 3.19
3.2 CONJUNTOS BORROSOS
En la seccin anterior se ha visto cmo la mayora de las veces los
conjuntos clsicos se definen mediante un predicado que da lugar a una clara
biparticin del universo de discurso S. Sin embargo, el razonamiento humano
utiliza frecuentemente predicados de los cuales no resulta esa biparticin; son
los denominados predicados vagos.
Como ejemplo, se propone la variable edad y tres conjuntos para
definir a los individuos; joven, maduro y viejo.
Por supuesto, es imposible dar a una persona una definicin clsica, ya
que su correspondiente predicado no divide el universo en tres partes
claramente diferenciadas. No resulta nada fcil afirmar con rotundidad que una
persona es joven o no lo es. El problema podra resolverse en parte
considerando que una persona es joven cuando su edad supera cierto umbral


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 36 -
fijado de antemano. Decimos que el problema tan slo se resuelve en parte, y
de manera no muy convincente, por dos motivos: de una parte el umbral
mencionado se establece de una manera arbitraria, y por otro lado podra darse
el caso de que dos personas con edades muy diferentes fuesen considerados
ambos como jvenes. Evidentemente, el concepto joven as definido nos dara
una informacin muy pobre sobre la edad de la persona en cuestin.
La manera ms apropiada de dar solucin a este problema es
considerar que la pertenencia o no pertenencia de una persona x al conjunto
joven no es absoluta sino gradual. En definitiva, definiremos joven como un
conjunto borroso. Su funcin caracterstica (ahora de pertenencia") ya no
adoptar valores en el conjunto discreto {0,1}, sino en el intervalo cerrado [0,1].
Mediante notacin matemtica se define un conjunto borroso A como:
} | )) ( , {( S x x x A
A
=
Ecuacin 3.20
3.2.1 FUNCIN DE PERTENENCIA
La funcin caracterstica es reemplazada por una funcin de
pertenencia que se define
] 1 , 0 [ : S
A

Ecuacin 3.21
de tal modo que ] 1 , 0 [ ) ( x
A
es el grado con el que un elemento S x (siendo
S el universo de discurso) pertenece al conjunto borroso A. Cuando 0 ) ( = x
A

el elemento no pertenece al conjunto, y cuando 1 ) ( = x
A
pertenece totalmente.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 37 -
La forma de la funcin de pertenencia tiene una cierta componente
subjetiva, frente a la forma rgida (objetiva) de las funciones caractersticas de
la lgica clsica. En funcin de la aplicacin de los conjuntos o de los
conceptos representados por ellos, estas funciones pueden adquirir muy
diversas formas, y muchas veces pueden ser elegidas con un amplio grado de
libertad por parte del diseador, lo que en la prctica puede traducirse como la
posibilidad de incluir cierto conocimiento experto.
A pesar de que las funciones podran tener cualquier forma, en la
literatura se tiende a trabajar con funciones de pertenencia estndares:
1. Funciones Gaussianas o con forma de S. Usan la frmula
( )
|
|

\
|

=
2
2
2
exp
2
1
) (
d
m x
s
x


Ecuacin 3.22

Ilustracin 3.1 Funcin Gaussiana
Permiten modelar fcilmente modificadores pero son complicadas para el
clculo.
2. Funciones triangulares o trapezoidales. Se definen en funcin de los
vrtices de las funciones; (a,b,c) para las triangulares


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 38 -

Ilustracin 3.2 Funcin Triangular
y T(a,b,c,d) para las trapezoidales. Son sencillas de manejar en algoritmos
numricos.

Ilustracin 3.3 Funcin Trapezoidal
Zeng y Singh definen un modelo de funcin de pertenencia que agrupa
a las principales clases, la funcin Pseudo-trapezoidal (Del ingls pseudo
trapezoid-shaped (PTS)) es una funcin continua dada por

=
]} , [ , | { ] , [ 0
] , ( ) (
] , [
) , [ ) (
) , , , , ; (
d a x U x x d a U x
d c x x D
c b x h
b a x x I
h d c b a x A
Ecuacin 3.23
donde abcd, a<d, 0 ) ( x I es una funcin montona estrictamente
creciente en [a,b) y 0 ) ( x D es una funcin montona estrictamente
decreciente en (c,d]. Cuando la funcin de pertenencia de un conjunto borroso
A es una funcin PTS, se llama funcin de pertenencia PTS y se denota por


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 39 -
) , , , , ; ( ) ( h d c b a x A x A = . Cuando el conjunto borroso es normal (es decir, h = 1),
su funcin de pertenencia se denota simplemente por ) , , , ; ( ) ( d c b a x A x A = .

Ilustracin 3.4 Funcin Trapezoidal normal
De acuerdo con esta definicin, las funciones trapezoidales son un
caso especial de las funciones PTS cuando b < c y
c d
x d
x D
a b
a x
x I

=
) (
) (

Ecuacin 3.24
y las funciones triangulares es el caso especial cuando b = c y
b d
x d
c d
x d
x D
a c
a x
a b
a x
x I

=
) (
) (

Ecuacin 3.25
Como ejemplo, en la siguiente figura se muestran algunos conjuntos
borrosos definidos en el universo de discurso Edad anteriormente mencionado.
El conjunto borroso Joven" representa el grado de pertenencia respecto al
parmetro juventud que tendran los individuos de cada edad. Dicho de otra
manera, el conjunto expresa la posibilidad de que un individuo sea


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 40 -
caracterizado como Joven". Un conjunto borroso podra ser considerado una
distribucin de posibilidad, que es diferente a una distribucin de probabilidad.

Ilustracin 3.5 Representacin de los conjuntos joven, maduro y viejo
Puede verse que los conjuntos borrosos de la figura se superponen,
entonces un individuo x con edad de 30 aos, podra tener un grado de
pertenencia en dos conjuntos: Joven" y Maduro", indicando que posee
cualidades asociadas con ambos conjuntos.
Por razones prcticas, muchas veces se asume que el universo de
discurso S es finito, esto es { }
n
x x S ,...,
1
= , y el par )} ), ( {( x x
A
se denota por
x x
A
/ ) ( , y cada par x x
A
/ ) ( se denomina individualidad borrosa (fuzzy
singleton). El conjunto borroso A se puede reescribir como

=
= + + = = =
n
i
i i A n n A A A A
x x x x x x x x x x A
1
1 1
/ ) ( / ) ( ... / ) ( } / ) ( { )} ), ( {(
Ecuacin 3.26
donde + y deben entenderse en el sentido de la teora de conjuntos. Por
convenio, los pares x x
A
/ ) ( con 0 ) ( = x
A
se omiten.
3.2.2 DEFINICIONES BSICAS SOBRE CONJUNTOS
BORROSOS


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 41 -
A continuacin se presentan una serie de definiciones bsicas de
utilidad en el manejo de los conjuntos borrosos:
Conjunto vaco: Se dice que un conjunto borroso A est vaco, y se
escribe = A , si y slo si
U x x
A
= 0 ) (
Ecuacin 3.27
Igualdad: Se dice que dos conjuntos borrosos A y B definidos sobre
el mismo universo de discurso U son iguales, y se escribe B A = si y slo si
U x x x
B A
= ) ( ) (
Ecuacin 3.28
Contencin: Se dice que un conjunto borroso A definido en U est
contenido en B definido en U tambin (o alternativamente, es un subconjunto
de B ), y se escribe B A , si y slo si
U x x x
B A
) ( ) (
Ecuacin 3.29
Normalidad: Se dice que un conjunto borroso A definido en U es
normal si y slo si
1 ) ( max =

x
A
U x


Ecuacin 3.30
Soporte: El soporte de un conjunto borroso A en U (escrito
A
S ) es el
conjunto no borroso


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 42 -
U S y x U x S
A A A
> = } 0 ) ( : {
Ecuacin 3.31
Ncleo: El ncleo de un conjunto borroso A en U (escrito
A
N ) es el
conjunto no borroso
U N y x U x N
A A A
= = } 0 ) ( : {
Ecuacin 3.32
Particin completa: Se dice que los conjuntos borrosos
N
A A A ,... ,
2 1

son una particin completa de U si U x existe al menos un ) 1 ( N i i A
i
=
tal que 0 ) ( > x A
i
. Por simplicidad, se dice que los conjuntos
N
A A A ,... ,
2 1
son
completos si forman una particin completa.
Consistencia: Se dice que los conjuntos borrosos
N
A A A ,... ,
2 1
son
consistentes si se verifica que si 1 ) ( = x A
i
para algn U x
0
, entonces
0 ) ( ,
0
= x A i j
j
.
Subconjunto Normal de un Conjunto Borroso Normal: Se define el
subconjunto normal de un conjunto borroso normal A como
{ } 1 ) ( | ) ( = = x A y U x x A M
Ecuacin 3.33
que es un subconjunto de
A
S (el soporte del conjunto borroso A). Si el
conjunto borroso normal A tiene funcin de pertenencia PTS, entonces
] , [ ) ( c b A M = .


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 43 -
Orden entre Conjuntos Borrosos Normales: Para dos conjuntos
borrosos normales A y U B , se dice que B A > si ) ( ) ( B M A M > ,
definindose esta desigualdad como
) ( max ) ( max B M A M
x x
>

Ecuacin 3.34
3.2.3 OPERACIONES BSICAS ENTRE CONJUNTOS
BORROSOS
Las tres operaciones bsicas definidas sobre los conjuntos clsicos
(complemento, interseccin y unin) pueden ser generalizadas a los conjuntos
borrosos de diversas formas.

Ilustracin 3.6 Operaciones bsicas de los conjuntos borrosos
Dentro de la teora de los conjuntos borrosos tiene especial relevancia
la que hace uso de operaciones conocidas como operaciones estndar,
definidas como:
Interseccin (T-norma): )) ( ), ( min( ) ( x x x
B A B A
=


Unin (T-conorma): )) ( ), ( max( ) ( x x x
B A B A
=


Complemento: ) ( 1 ) ( x x
A
A
=


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 44 -
No obstante, al contrario que pasa con los conjuntos clsicos, sta no
es la nica forma posible de definir estas operaciones; diferentes funciones
pueden ser apropiadas para representarlas en diferentes contextos. Por lo
tanto, no slo las funciones de pertenencia de los conjuntos borrosos van a ser
dependientes del contexto sino tambin las operaciones sobre dichos
conjuntos. En este proyecto no se comentarn con ms detalle.
3.2.4 PRINCIPIO DE EXTENSIN
Este principio proporciona un mecanismo para calcular los conjuntos
borrosos obtenidos por medio de una transformacin concreta (no borrosa) de
cierto nmero ( N ) de conjuntos borrosos. Especficamente, si
N
X X X ,... ,
2 1
son
conjuntos borrosos con funciones de pertenencia ) ( ),... ( ), (
2 2 1 1 N N
x x x , el
nuevo conjunto borroso ) ,... , (
2 1 N
X X X f Y = tendr como funcin de
pertenencia:
(

=
=
=

) ( min max ) (
1
) (
) 1 (
i i
N
i
y f x
y y

Ecuacin 3.35


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 45 -
3.2.5 -CORTES
Existe una manera directa de pasar de conjuntos borrosos a conjuntos
clsicos mediante los llamados -cortes. Dado un nmero ] 1 , 0 [ y un
conjunto borroso A, definimos el -corte de A como el conjunto

A , cuya
funcin caracterstica se define:


=
otro
x
x
A
A
0
) ( 1
) (


Ecuacin 3.36
En definitiva, el -corte se compone de aquellos elementos cuyo grado de
pertenencia supera o iguala el umbral .
Hablamos de -cortes estrictos si:

>
=
otro
x
x
A
A
0
) ( 1
) (


Ecuacin 3.37
Cualquier conjunto borroso A se puede representar mediante la unin
de sus -cortes de la siguiente manera:
)] ( [ max ) (
] 1 , 0 [
x x
A A


Ecuacin 3.38
Los -cortes son de especial utilidad en el estudio de propiedades
tales como la reflexividad, simetra y transitividad en conjuntos borrosos.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 46 -
3.3 NMEROS BORROSOS
A. Kaufmann emplea el trmino Subconjunto borroso contra Conjunto
borroso (KAUF86) ya que siendo el referencial siempre un conjunto vulgar, es
decir tal y como se define intuitivamente en matemticas modernas, o sea una
coleccin de objetos bien especificados y bien distintos, el subconjunto borroso
es subconjunto de este referencial.
Un caso particular y de especial inters de los conjuntos borrosos son
los llamados nmeros borrosos. Surgen stos como un intento de introducir
vaguedad en los nmeros reales.
Un nmero borroso es un conjunto borroso A definido en la recta real
R y que cumple adems las siguientes propiedades:
1. Es normal, o lo que es lo mismo, existe al menos un elemento x de
R tal que 1 ) ( = x
A
.
2. Es convexo, lo cual quiere decir que
)) ( ), ( min( ) ) 1 ( (
, ] 1 , 0 [
y x y x
R y x
A A A

+


Ecuacin 3.39
Geomtricamente esta propiedad quiere decir que todos los -cortes de A
son intervalos cerrados en R . La funcin de pertenencia es creciente hasta
llegar al punto en que 1 ) ( = x
A
y decreciente a partir de l.
3. La funcin de pertenencia es continua en intervalos.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 47 -
4. El soporte de A es acotado.
Para este proyecto se van a usar nicamente los nmeros borrosos
trapezoidales. Definidas ya las propiedades que ha de cumplir nos
dispondremos a conocer sus principales variantes.

Ilustracin 3.7 Nmero borroso trapezoidal
Llamaremos nmero borroso trapezoidal ) , , , ( d c b a A = a un nmero
borroso que cumple que d c b a y que el grado de pertenencia de a y d
es siempre 0 y el de b y c es siempre 1. De este principio se pueden obtener
cuatro patrones diferentes:
Nmero (Escalar): en caso de que d c b a = = = .
Nmero borroso lineal: en caso de que d c b a = < = .
Nmero borroso piramidal (triangular): en caso de que d c b a < =
d c b a = < .
Nmero borroso trapezoidal: en caso de que d c b a < <
d c b a < < .
El tratamiento a los nmeros borrosos que se va a dar en el proyecto
se puede ver en el apartado 12.2.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 48 -
4. PLANTEAMIENTO Y OBJETIVOS DEL
PROYECTO
Despus de analizar los contextos en los que se va a trabajar se
recuerda que como se vio en el captulo dos, el mtodo PERT es una tcnica
fundamental para la planificacin de proyectos especialmente en casos en que
las duraciones de las diferentes actividades de la red o son aleatorias o, siendo
de naturaleza determinista pero de tipo novedoso, su valor solo puede ser
estimado de forma vaga o imprecisa a travs de la opinin de expertos en
actividades semejantes.
El modelo CPM expone el camino crtico de un proyecto a partir de una
serie de actividades con duraciones fijas bien conocidas.
Las actividades con duraciones que no son perfectamente conocidas
introducen aleatoriedad dentro del proyecto haciendo trabajosa la
determinacin de la ruta crtica.
En un conjunto clsico definido sobre un intervalo U se asigna el valor
0 1 a cada elemento del mismo para indicar la pertenencia o no a dicho
conjunto. Esta funcin puede generalizarse de forma que a cada elemento de U
se le asigne un valor del intervalo [0,1] que indique el grado de pertenencia de
ese elemento al conjunto en cuestin. A esta funcin se la llama funcin de
pertenencia y al conjunto que define se denomina Conjunto Borroso. Es
decir, en la lgica borrosa los elementos de un conjunto pertenecen con un
cierto grado al intervalo [0,1].


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 49 -
Mediante la estimacin de la duracin de las actividades con nmeros
borrosos, se obtienen las ventajas que ellos proporcionan, como la aritmtica.
Utilizando tambin la lgica borrosa se puede estimar cada duracin por medio
de la desborrosificacin y sus diferentes variantes para llegar a una solucin
determinista.
4.1 PLANTEAMIENTO DEL PROYECTO
El proyecto se plantea como:
Extender el algoritmo clsico del PERT-CPM basado en programacin
dinmica, que permite estudiar una red de actividades, al caso en el que se
tiene un conocimiento vago de las duraciones de las diferentes actividades de
la red. Este conocimiento puede ser modelado mediante nmeros borrosos
trapezoidales (y, como casos particulares, intervalos constantes y nmeros
borrosos piramidales). Al modelo se le dar el adecuado tratamiento
informtico.
4.2 OBJETIVOS DEL PROYECTO
Por tanto el proyecto se define con los siguientes objetivos:
Modelar el comportamiento de las actividades segn se ajusten a
unos determinados patrones como son: nmeros borrosos
trapezoidales, piramidales o constantes.
Programar una aplicacin que permita al usuario crear un
diagrama PRET/CMP en el que pueda establecer su propia red


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 50 -
de actividades y etapas del proyecto con sus correspondientes
duraciones: ntidas y borrosas.
Crear un motor de resolucin del diagrama PERT/CMP que sea
capaz de calcular los caminos crticos a partir de actividades de
duracin fija as como los mrgenes libres y totales de cada
actividad y las fechas previstas y lmites de las etapas del
proyecto.
Analizar el problema de las duraciones aleatorias derivado de los
nmeros borrosos e integrarlo en el motor de resolucin.
Al considerar algunas de las duraciones como borrosas, los
resultados vendrn dados en forma de nmero borroso, y por
tanto habr que hacer una estimacin de los resultados para
poder trabajar con ellos. Para ello se han elegido diferentes
mtodos de desborrosificacin que han de ser implementados y
ofrecidos al usuario para seleccionar.
Crear una arquitectura cliente-servidor de tal manera que el
usuario (cliente) sea capaz de disear su red y poder modificarla
o actualizarla en cualquier momento enviando as al motor de
resolucin (servidor) las modificaciones y devolverle a ste los
resultados para que se le puedan presentar al usuario en la
aplicacin cliente.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 51 -
Presentar al usuario las actividades y etapas correspondientes al
camino crtico y las relaciones existentes entre ellas as como un
diagrama de Gantt que permita determinar fcilmente la ejecucin
del proyecto desde su fecha de inicio.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 52 -
5. SOLUCIN PROPUESTA
Se ha descrito cmo se estudia y modela un proyecto a partir de un
conjunto de actividades y cules son los principales problemas derivados de la
metodologa utilizada. Ante esto, se propone un sistema de bajo coste, basado
en una aplicacin interactiva capaz de permitir crear proyectos a partir de un
conjunto de actividades definidas y determinar la ruta o las rutas crticas que lo
forman.
Se trata de implementar un sistema de clculo de duraciones basado
en la interaccin con el usuario. Se presentarn una secuencia de formularios
al usuario que le permitan gestionar las actividades que componen el proyecto
(crearlas, aadirlas, modificarlas y borrarlas). El motor de resolucin tiene la
funcin de construir el diagrama de red a partir de los atributos de las
actividades que compongan el proyecto y proponer la solucin al problema en
funcin de la opcin de solucin que elija el usuario. Los atributos de las
actividades se transmiten por Internet hasta el motor de resolucin donde
mediante algoritmos y tcnicas de lgica borrosa se soluciona el proyecto.
En los puntos sucesivos se especifica el proceso seguido para la
elaboracin de la aplicacin utilizando la ingeniera del software.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 53 -
6. DIAGRAMA DE CONTEXTO
En este diagrama se reflejan las relaciones que el sistema tiene con las
entidades externas con las que interacciona. Una entidad externa simboliza
cualquier otro sistema o elemento del entorno que interacciona con el sistema,
pero que est fuera de su alcance de definicin.

Diagrama 6.1 Diagrama de contexto del sistema
Se observa que el usuario interacciona con el sistema mediante la
aplicacin cliente y que sta a su vez se relaciona con el motor de resolucin
para solucionar las peticiones que solicite el usuario.
El usuario interacciona con la aplicacin cliente por medio del interfaz
grfico de la aplicacin y tanto el motor de resolucin como la aplicacin cliente
se comunican mediante un protocolo con conexin a nivel de aplicacin.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 54 -
7. PERFILES Y MBITO
Un usuario slo tiene un nico perfil en la aplicacin. El perfil se define
como Usuario que engloba lo siguiente:
- Usuario: Ser la persona que podr crear, modificar y eliminar
actividades para la red que representa el proyecto (y sus parmetros
bsicos) as como salvar y guardar los datos y solicitar la solucin al
servidor.
Se podra incluir el perfil de administrador del motor de resolucin. El
perfil se definira como Administrador y sera el encargado de iniciar el motor
de resolucin y seleccionar el puerto de entrada de las conexiones al mismo.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 55 -
8. ANLISIS
8.1 ANLISIS DE REQUISITOS
El objetivo de este apartado del Anlisis es alcanzar un conocimiento
suficiente del sistema, definiendo las necesidades, problemas y requisitos del
usuario, para expresarlo posteriormente mediante los modelos de procesos y
de datos.
8.1.1 REQUISITOS FUNCIONALES
Modelar el problema: El modelado es la primera actividad que
debe llevar a cabo el sistema. Dicho modelado consiste en la
creacin de un esquema de informacin basado en la informacin
inherente a las actividades: su identificador unvoco, su
descripcin, sus actividades sucesoras y su duracin.
Modelar el comportamiento de las duraciones borrosas: Su
objetivo es poder trabajar con ellas aritmticamente para poder
extender el mtodo del camino crtico CPM y permitir darlas un
valor plausible mediante diferentes tcnicas de desborrosificacin.
Permitir la gestin del proyecto: Esta accin consiste en
ofrecer al usuario la creacin de proyectos nuevos, incrementar y
eliminar las actividades que lo componen y modificarlas en
cualquier momento.
Permitir la conexin entre los subsistemas: Crear un protocolo
con conexin capaz de comunicar al cliente con el servidor de
manera sncrona y que permita enviarle la lista de actividades y


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 56 -
este le devuelva el diagrama PERT/CPM solucionado
dependiendo de la opcin de solucin elegida.
Ofrecer varias formas de solucionar el diagrama: Al trabajar
con nmeros borrosos, se obtiene una mayor cantidad de los
mismos y su interpretacin no resulta determinista, por ello se
incluyen varias formas de desborrosificacin.
Generacin del diagrama de red: Poder transformar un conjunto
de actividades con sus datos en un conjunto de actividades y
etapas consistente y fcilmente entendible por el usuario
siguiendo el modelo de diagrama de red.
Permitir el salvaguardado: Hacer posible en todo momento el
salvado de la informacin, tanto del proyecto solucionado como
someramente planteado, y poder cargarlo. Asimismo se permitir
el salvaguardado de los grficos mostrados.
8.1.2 REQUISITOS NO FUNCIONALES
Requisitos de calidad: La aplicacin debe de responder a todos
los requisitos de calidad de la normativa ISO. Se hace especial
hincapi en la velocidad de respuesta, en el control de errores y
en la amigabilidad de la aplicacin para el usuario.
Requisitos de interfaces externas: A continuacin se describen
las interfaces externas que requiere el sistema con el usuario y


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 57 -
con otros sistemas, cuyos requisitos son importantes para el
correcto desarrollo y funcionamiento.
Interfaz de usuario: El objeto del interfaz de usuario es
establecer un medio interactivo por el que el usuario pueda
gestionar el conjunto de las actividades que compone el
proyecto y por otro ejecutar las funcionalidades de la
aplicacin.
Interfaz de datos: El objeto del interfaz de datos es
establecer un medio interactivo por el que el usuario pueda
guardar y cargar el conjunto de las actividades que compone
el proyecto y los grficos que genera.
Interfaz de conexin: El objeto del interfaz de conexin es
establecer protocolo por el que la aplicacin cliente se
comunicar con el servidor de resolucin a travs de
Internet.
Requisitos de seguridad y control: Estos requisitos abarcan el
control de los valores de los datos que introduce el usuario, la
deteccin de bucles, y el mantenimiento de la consistencia de la
informacin.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 58 -
8.2 ANLISIS FUNCIONAL DETALLADO
En este apartado se describe la funcionalidad detallada de la
aplicacin, es decir, las acciones bsicas que deber realizar la aplicacin para
obtener los objetivos necesarios.
Las funciones que debe realizar el sistema son las siguientes:
8.2.1 CREACIN DEL PROYECTO, INSERCIN, MODIFICACIN
Y ELIMINACIN DE ACTIVIDADES
El sistema deber permitir la gestin de estos conceptos
pertenecientes al sistema.
Para la creacin de un proyecto el deber introducir la fecha de inicio
del mismo y el numero de actividades que lo componen. Posteriormente el
sistema iniciar las actividades por defecto y le solicitar al usuario los datos
propios de cada actividad haciendo especial hincapi en el campo de las
duraciones de las actividades para que sean validadas. Tras terminar este
proceso se solicitar que designe las actividades sucesoras para cada una de
las generadas comprobando que no se formen bucles entre ellas.
Para la insercin de actividades en el sistema, el usuario deber indicar
el nmero de actividades a insertar. Se inicializarn por defecto y se solicitar
al usuario los datos que la representan al igual que la informacin de la relacin
de anterioridad que tienen con las actividades ya creadas. El sistema
mantendr la consistencia de las ya creadas y de las actividades nuevas
especialmente en las duraciones y en las relaciones de sucesin.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 59 -
En el caso de modificacin de actividades en el sistema, el usuario
deber interaccionar con los datos y relaciones ya creados, y el sistema
mantener la consistencia de las duraciones y las precedencias.
En la eliminacin el sistema deber controlar que un proyecto no pueda
tener un nmero menor de dos actividades y ofrecer nuevas relaciones si
existen entre las predecesoras de la actividad eliminada y sus sucesoras. Del
mismo modo se garantizar la consistencia de la informacin.
Todos los campos podrn ser modificados menos el cdigo
identificador unvoco de cada actividad.
8.2.2 TRATAMIENTO DE LAS DURACIONES BORROSAS
Se modelar convenientemente el tratamiento de la aritmtica borrosa
en las operaciones bsica se suma y resta entre duraciones borrosas y de
duraciones borrosas con duraciones fijas para la fase hacia delante y la fase
hacia atrs del modelo CMP.
Tambin se modelarn varias opciones de desborrosificacin entre las
que se incluirn valoraciones optimistas y pesimistas de cada duracin en
funcin de un -corte introducido por el usuario y tcnicas de
desborrosificacin bsicas y complejas como la media mxima, el centro de
rea y la media borrosa para la parte PERT.
8.2.3 CREACIN DEL ALGORITMO DE SOLUCIN
El motor de resolucin ser capaz de recibir un conjunto de actividades
con la informacin introducida para el usuario y obtener el diagrama de red


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 60 -
equivalente ms optimo de todos los posibles, creando los nodos o etapas de
la red y asignando las fechas de inicio y finalizacin de cada etapa y los
mrgenes u holguras libres y totales de cada actividad. Se contemplar la
posibilidad de introducir actividades dummy (actividades de tiempo nulo) para
ceirse al formato de diagrama de red. El conjunto de actividades y etapas esta
relacionado entre si consistentemente conociendo cada actividad su etapa de
inicio y fin y poder acceder a su informacin. Anlogamente las etapas conocen
las actividades que acaban en ella y las que se inician en ella y pueden
acceder a su informacin.
Por otra parte se incluye el tratamiento de las duraciones borrosas y
funciones aritmticas bsicas y de desborrosificacin para las mismas.
8.2.4 PROTOCOLO DE CONEXIN
Se crear un protocolo con conexin a travs del cual se comunique la
aplicacin cliente con el servidor de resolucin de manera que la aplicacin
cliente se mantiene a la espera de la solucin del servidor usando como
soporte Internet. El formato de los datos deber ser consistente con el
protocolo tanto para el envi como para la recepcin de informacin.
El cliente deber conocer la direccin IP del servidor y el puerto de
entrada. El comportamiento del servidor se modelar con un socket multihilo
capaz de procesar varias peticiones a la vez manteniendo la integridad de los
datos y envindolos de nuevo al cliente que envi la peticin de resolucin.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 61 -
8.2.5 PRESENTACIN DE LOS DATOS
Cuando exista un proyecto en la aplicacin, toda informacin
susceptible de ser mostrada se representar fcilmente mediante tablas no
editables en los siguientes conjuntos: Actividades, Actividades ficticias (dummy)
y Etapas. La tabla de etapas se mostrar en caso de que est solucionado el
diagrama y la tabla de actividades dummy en caso de que est solucionado el
diagrama y de que existan.
Los informes de cada unidad debern ser mostrados de forma
ordenada, de mayor a menor identificador en el caso de las actividades y
actividades nuevas, y en orden cronolgico el de las etapas.
Como se explic anteriormente la aplicacin genera informes cuyo
resultado son los datos previstos, es decir, los datos que se esperan obtener en
el futuro. Estos datos deben aproximarse lo ms posible a los datos reales, que
son aquellos que efectivamente se obtienen en la realidad.
8.2.6 PRESENTACIN DE LOS GRFICOS
Los grficos de apoyo al programa se generarn para representar un
proyecto solucionado mediante un diagrama de Gantt con la fecha de inicio del
proyecto como inicio del mismo. En caso de que la solucin (fecha fin del
proyecto) sea una duracin borrosa se mostrar por pantalla. Como ayuda a la
creacin de las duraciones borrosas, stas se representarn en forma grfica.
En cualquier caso los grficos sern susceptibles de ser guardados en
un formato de imagen o impresos.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 62 -
8.2.7 ALMACENAMIENTO DE LOS DATOS
Todos los datos, tanto los generados como los introducidos debern
ser almacenados en el sistema. Estarn almacenados en ficheros.
Todos los informes sern almacenados automticamente por el
sistema en el momento posterior a su generacin o a su modificacin por parte
del usuario.
Se proporcionar un proceso de guardado de datos al iniciar
operaciones que puedan variar o eliminar los datos existentes y al salir de la
aplicacin.
Los datos se guardarn y cargarn de ficheros con extensin pert.
Dichos ficheros tendrn un formato determinado nico, legible e interpretable
por la aplicacin.
8.2.8 MODIFICACIN DE PARMETROS DEL PROYECTO Y DEL
PROGRAMA
Se proporcionar la opcin de cambiar la fecha de inicio del proyecto
tanto si es anterior a la actual como si se necesita posponerla. Anlogamente la
configuracin de conexin al servidor se proporcionar en un formulario que
contenga un campo para la direccin IP del servidor y el puerto de entrada al
mismo.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 63 -
9. ESTUDIO DE LA ARQUITECTURA
A la hora de elegir la plataforma ms conveniente para la explotacin
del Sistema se han valorado una serie de factores:
- El volumen de informacin a almacenar
- Necesidades planteadas en el anlisis
- Disponibilidad de herramientas software
- Facilidad de tratamiento y acceso a la informacin
Dichos factores han llevado a elegir un sistema cliente-servidor, con las
siguientes caractersticas:
9.1 EL LENGUAJE JAVA
Java es un lenguaje de programacin orientado a objetos desarrollado
por Sun Microsystems. Las aplicaciones Java estn tpicamente compiladas en
un bytecode, aunque la compilacin en cdigo mquina nativo tambin es
posible. En el tiempo de ejecucin, el bytecode es normalmente interpretado o
compilado a cdigo nativo para la ejecucin, aunque la ejecucin directa por
hardware del bytecode por un procesador Java tambin es posible.
El lenguaje en s mismo toma mucha de su sintaxis de C y C++, pero
tiene un modelo de objetos ms simple y elimina herramientas de bajo nivel
como punteros.
Sun Microsystems proporciona una implementacin GNU General
Public License de un compilador Java y una mquina virtual Java, conforme a


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 64 -
las especificaciones del Java Community Process, aunque la biblioteca de
clases que se requiere para ejecutar los programas Java no es software libre.
Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liber la
mayor parte de sus tecnologas Java bajo la licencia GNU GPL, de acuerdo con
las especificaciones del Java Community Process, de tal forma que
prcticamente todo el Java de Sun es ahora software libre.
El lenguaje de programacin Java ha sido totalmente mejorado,
ampliado y probado por una comunidad activa de unos cuatro millones de
desarrolladores de software.
Se ha escogido Java para la realizacin del proyecto porque la
tecnologa Java es una tecnologa madura, extremadamente eficaz y
sorprendentemente verstil, se ha convertido en un recurso inestimable ya que
permite a los desarrolladores:
Desarrollar software en una plataforma y ejecutarlo en
prcticamente cualquier otra plataforma.
Crear programas para que funcionen en un navegador Web y en
servicios Web.
Disear aplicaciones con interfaz grafico para el usuario con todos
los componentes necesarios y su fcil gestin de eventos.
Desarrollar aplicaciones para servidores como foros en lnea,
tiendas, encuestas, procesamiento de formularios HTML, etc.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 65 -
Combinar aplicaciones o servicios basados en la tecnologa Java
para crear servicios o aplicaciones totalmente personalizados.
Desarrollar potentes y eficientes aplicaciones para telfonos
mviles, procesadores remotos, productos de consumo de bajo
coste y prcticamente cualquier dispositivo digital.
Tener gran versatilidad en sistemas para aplicaciones con
conexin.
9.2 ESTRUCTURA DEL SISTEMA
Hardware: Ordenador con
Intel Pentium a 2.4 GHz
Memoria RAM de 512 MB
Conexin a Internet de 5Mbps
Software:
Sistema operativo Windows/Linux
Versin Java: Java Runtime Environment Version 6 Update 2
Plataforma de desarrollo Eclipse.
Software conseguido:
Aplicacin capaz de mostrar la programacin de un proyecto
mediante el uso de la lgica borrosa.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 66 -
Servidor de resolucin multihilo a travs de Internet.
Amos en formato autoejecutable JAR.



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 67 -
10. DISEO DE LA APLICACIN
Se va a optar por un diseo de la aplicacin en dos fases a nivel
conceptual del funcionamiento de la aplicacin. Por un lado tenemos el
programa que se presenta al usuario y con el que ste interacta, y por otro el
motor de resolucin que es el encargado de procesar la informacin. La
siguiente representa el primer nivel conceptual del funcionamiento de la
aplicacin:

Diagrama 10.1 Diagrama de contexto del sistema
En este primer nivel la aplicacin queda dividida en dos sistemas:
1. Aplicacin cliente: Adquisicin de informacin a travs del interfaz
grafico del usuario as como su edicin y el guardado y recuperacin de los
datos desde disco. Garantizando la correccin y consistencia de la informacin
introducida para enviarla al motor de resolucin a travs de la red con el
protocolo diseado as como su recepcin y mostrar los resultados obtenidos
por pantalla.
2. Motor de resolucin: Anlisis del conjunto de las actividades del
proyecto y su distribucin en un diagrama de red. Clculos de resolucin
dependiendo de la opcin seleccionada. Recepcin y transmisin de los datos
por el protocolo diseado a travs de la red.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 68 -
10.1 MODELO DE DOMINIO
El modelo de dominio diseado para la aplicacin desarrollada es el
siguiente:

Diagrama 10.2 Modelo de dominio del sistema
Como se puede observar en la figura superior la complejidad del
problema reside en lo que llamaremos PertCpm y sus relaciones. Se han
representado los atributos de todos los componentes del proyecto y sus


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 69 -
relaciones entre los mismos. La aplicacin cliente y el motor de resolucin
dependen del PertCpm para poder funcionar.
10.2 MODELO DE DATOS
El objetivo de este apartado es realizar una representacin lgica de la
informacin que maneja el sistema. Por lo tanto este modelo se realiza para
especificar los datos que se manejan y las relaciones entre ellos se han
mostrado en el modelo de dominio.
Existirn tres tablas de datos como mximo en la aplicacin. No se
usan bases de datos pero la informacin se mantiene en un estado conforme
mediante el objeto PertCpm. En l se ha visto que contiene tres listas: la de
actividades, la de actividades ficticias o dummy y la de etapas. Cada uno de los
componentes de esta lista est en la regin de memoria asociada al PertCpm.
Todas las relaciones que existen entre ellas estn establecidas mediante
punteros a sus datos asociados. Es decir, la actividad C ocupa un lugar en
memoria y es apuntada por las actividades que la precedan, y por las que la
sucedan al igual que su etapa inicial y final, reduciendo as el tamao de los
datos en memoria.
El fichero de los datos en que se guarda la informacin, aparte de otros
parmetros de configuracin, guarda el PertCpm como una totalidad
beneficindose de las ventajas apuntadas en el prrafo anterior.
10.2.1 TABLA DE ACTIVIDADES
La tabla de actividades se muestra durante toda la ejecucin del
programa. Sus campos son:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 70 -

Ilustracin 10.1 Tabla de actividades con informacin bsica
Id: Es el identificador unvoco de cada actividad asignado por la
aplicacin cliente. Es lo que se conoce como campo clave en una
base de datos. Es una cadena de caracteres ascendentes que
empieza en A, al llegar a Z pasa a AA y as sucesivamente. No
puede ser nulo.
Nombre: Es la descripcin de la actividad. Es una cadena de
caracteres y puede tener valor nulo.
Duracin: Es la representacin de la duracin de la actividad en
forma de cadena de caracteres. Ninguna duracin ser negativa.
Puede tomar cuatro formas diferentes:
Conocida (escalar): Es el nmero decimal que la
representa.
Borrosa constante: Representada por Lin(A,B) siendo A y
B las duraciones conocidas que la representan.
Borrosa piramidal: Representada por Pir(a,B,b) siendo a, B
y b las duraciones conocidas que la definen.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 71 -
Borrosa trapezoidal: Representada por Tra(a,A,B,b) siendo
a, A, B y b las duraciones conocidas que la representan.
Actividades Anteriores: Es el conjunto de actividades
inmediatamente anteriores asociadas por punteros representado
por una cadena de caracteres. En caso de ser nulo se declara
como ninguna.
Actividades Siguientes: Es el conjunto de actividades
inmediatamente posteriores asociadas por punteros representado
por una cadena de caracteres. En caso de ser nulo se declara
como ninguna.

Ilustracin 10.2 Tabla de actividades con informacin completa
Etapa Inicial: Es la etapa de la que parte la actividad (en la que
se inicia). Est representada por un nmero entero mayor que
cero. Puede tener valor nulo si el diagrama no esta solucionado y
se representa por una cadena de caracteres vaca.
Etapa Final: Es la etapa a la que llega la actividad (en la que se
termina). Est representada por un nmero entero mayor que


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 72 -
cero. Puede tener valor nulo si el diagrama no esta solucionado y
se representa por una cadena de caracteres vaca.
Margen Libre: Es la representacin del margen libre de la
actividad en forma de cadena de caracteres. Ninguna duracin
ser negativa. Puede tener valor nulo si el diagrama no esta
solucionado y toma cualquiera de las cuatro formas diferentes
descritas en el campo duracin.
Margen Total: Es la representacin del margen total de la
actividad en forma de cadena de caracteres. Ninguna duracin
ser negativa. Puede tener valor nulo si el diagrama no esta
solucionado y toma cualquiera de las cuatro formas diferentes
descritas en el campo duracin.
Como se ve en la ilustracin superior se enfatiza el camino crtico con
color rojo.
10.2.2 TABLA DE ETAPAS
La tabla de etapas se muestra una vez que se haya solucionado el
diagrama de red.
Sus campos son:
Id: Es el identificador unvoco de cada etapa asignado por el
motor de resolucin. Es lo que se conoce como campo clave en
una base de datos. Es un entero ascendentes que empieza en 1.
No puede ser nulo.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 73 -
Fecha Prevista: Es la representacin de la fecha prevista de la
etapa en forma de cadena de caracteres. Ninguna duracin ser
negativa. No puede tener valor nulo y toma cualquiera de las
cuatro formas diferentes descritas en el campo duracin.
Fecha Lmite: Es la representacin de la fecha lmite de la etapa
en forma de cadena de caracteres. Ninguna duracin ser
negativa. No puede tener valor nulo y toma cualquiera de las
cuatro formas diferentes descritas en el campo duracin.
Actividades Anteriores: Es el conjunto de actividades que llegan
a la etapa representado por una cadena de caracteres. En caso
de ser nulo se declara como ninguna, nicamente se da en el
caso de la etapa inicial del proyecto.
Actividades Siguientes: Es el conjunto de actividades que salen
a la etapa representado por una cadena de caracteres. En caso
de ser nulo se declara como ninguna, nicamente se da en el
caso de la etapa final del proyecto.

Ilustracin 10.3 Tabla de etapas


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 74 -
Como se ve en la ilustracin superior se enfatiza el camino crtico con
color rojo.
10.2.3 TABLA DE ACTIVIDADES FICTICIAS
La tabla de actividades ficticias (dummy) se muestra una vez que se
haya solucionado el diagrama de red y si ste las contiene. Se recuerda que es
una actividad creada con tiempo nulo para respetar las obligaciones de
representacin del diagrama de red. Por tanto no tiene relevancia darlas un
nombre, ni una duracin ni, consecuentemente, valor a los mrgenes.

Ilustracin 10.4 Tabla de actividades dummy
Id: Es el identificador unvoco de cada actividad asignado por el
motor de resolucin. Es lo que se conoce como campo clave en
una base de datos. Es un entero ascendentes que empieza en 0.
No puede ser nulo.
Actividades Anteriores: Es un conjunto de actividades
inmediatamente anteriores representadas por una cadena de
caracteres. No puede ser nulo.
Actividades Siguientes: Es un conjunto de actividades
inmediatamente posteriores representadas por una cadena de
caracteres. No puede ser nulo.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 75 -
Etapa Inicial: Es la etapa de la que parte la actividad (en la que
se inicia). Est representada por un nmero entero mayor que
cero. No puede ser nulo.
Etapa Final: Es la etapa a la que llega la actividad (en la que se
termina). Est representada por un nmero entero mayor que
cero. No puede ser nulo.
10.3 MODELO DE CASOS DE USO
El modelo de casos de uso permite recoger y documentar los
requerimientos y funcionalidades del sistema. Se compone de la identificacin
de los casos de uso, los diagramas de casos de uso y la descripcin detallada
de los mismos.
10.3.1 IDENTIFICACIN DE LOS CASOS DE USO
Los casos de uso ms destacados de la aplicacin se citan a
continuacin:
CU01: Creacin de un nuevo proyecto.
CU02: Definir los parmetros del proyecto.
CU03: Inicializar las actividades.
CU04: Crear relaciones temporales entre las actividades.
CU05: Insertar actividades nuevas.
CU06: Modificar actividades.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 76 -
CU07: Eliminar actividades.
CU08: Solucionar el diagrama.
CU09: Enviar la informacin al servidor y recibirla.
CU10: Mostrar la informacin.
CU11: Guardar la informacin en un archivo.
CU12: Cargar la informacin de un archivo.
CU13: Modificar la configuracin de conexin con el servidor.
CU14: Edicin de duracin borrosa.
10.3.2 DIAGRAMA DE CASOS DE USO
El diagrama de casos de uso es el siguiente:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 77 -

Diagrama 10.3 Casos de uso del sistema


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 78 -
10.3.3 DESCRIPCIN DE LOS CASOS DE USO
A continuacin se describen los casos de uso ms importantes
identificados con anterioridad:
Identificador CU01
Nombre Creacin de un nuevo proyecto
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario en el men
Precondiciones -
Escenario
primario
1- El sistema pregunta al usuario si quiere guardar los
datos existentes.
2- El sistema inicia el proceso de definicin de los
parmetros del proyecto.
3- El sistema muestra los datos introducidos por el
usuario.
Extensiones
1.1- No existen datos para guardar.
Se inicia el caso de uso en 2
2.1- El usuario cancela el proceso
Finaliza el caso de uso
Descripcin de
datos
Informacin de la actividad:
Identificador
Descripcin
Duracin
Actividades anteriores
Actividades siguientes
Casos de uso
relacionados
CU02, CU10, CU11



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 79 -

Identificador CU02
Nombre Definir los parmetros del proyecto
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario
Precondiciones
El usuario ha seleccionado previamente la opcin de
crear nuevo proyecto
Escenario
primario
1- El sistema pregunta al usuario la fecha de inicio del
proyecto.
2- El sistema pregunta al usuario el nmero de
actividades del proyecto.
3- El sistema inicia el proceso de inicializacin de las
actividades.
Extensiones
1.1- Cancelacin del usuario
Finaliza el caso de uso
2.1- Cancelacin del usuario
Finaliza el caso de uso
Descripcin de
datos
Informacin del proyecto:
Fecha de inicio
Numero de actividades del proyecto
Casos de uso
relacionados
CU01, CU03



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 80 -

Identificador CU03
Nombre Inicializar las actividades
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario
Precondiciones El usuario ha introducido los datos del proyecto
Escenario
primario
1- El sistema inicializa las actividades por defecto.
2- El usuario introduce los datos de las actividades.
3- El sistema inicia el proceso de creacin de relaciones
temporales entre las actividades.
Extensiones
2.1- El usuario introduce datos no vlidos
El sistema advierte al usuario para que corrija los
datos errneos
Descripcin de
datos
Informacin de la actividad:
Identificador
Descripcin
Duracin
Casos de uso
relacionados
CU02, CU04, CU05, CU06, CU14



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 81 -

Identificador CU04
Nombre Crear relaciones temporales entre las actividades
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario
Precondiciones El usuario ha introducido los datos de las actividades
Escenario
primario
1- El usuario introduce las relaciones temporales entre
las actividades.
2- Se devuelve el control al caso de uso que lo invoc.
Extensiones -
Descripcin de
datos
Informacin de la actividad:
Actividades anteriores
Actividades siguientes
Casos de uso
relacionados
CU01, CU03, CU05, CU06, CU07, CU10



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 82 -

Identificador CU05
Nombre Insertar actividades nuevas
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario en el men
Precondiciones -
Escenario
primario
1- El sistema pregunta al usuario el nmero de
actividades a aadir al proyecto.
2- El sistema inicia el proceso de inicializacin de las
actividades.
3- El sistema muestra los datos introducidos por el
usuario.
Extensiones
1.1- El usuario cancela el proceso
Finaliza el caso de uso
Descripcin de
datos
Informacin de la actividad:
Identificador
Descripcin
Duracin
Actividades anteriores
Actividades siguientes
Casos de uso
relacionados
CU03, CU10, C11



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 83 -

Identificador CU06
Nombre Modificar actividades
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario en el men
Precondiciones -
Escenario
primario
1- El sistema pregunta al usuario si quiere guardar los
datos existentes.
2- El sistema inicia el proceso de modificacin de las
actividades.
3- El sistema muestra los datos modificados por el
usuario.
Extensiones
1.1- No existen datos para guardar.
Se inicia el caso de uso en 2
2.1- El usuario introduce datos no vlidos
El sistema advierte al usuario para que corrija los
datos errneos
2.2- El usuario cancela el proceso
Finaliza el caso de uso
Descripcin de
datos
Informacin de la actividad:
Identificador
Descripcin
Duracin
Actividades anteriores
Actividades siguientes
Casos de uso
relacionados
CU03, CU04, CU10, C11, CU14



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 84 -

Identificador CU07
Nombre Eliminar actividades
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario en el men
Precondiciones El numero de actividades debe ser mayor que dos
Escenario
primario
1- El sistema pregunta al usuario si quiere guardar los
datos existentes.
2- El sistema inicia el proceso de eliminacin de las
actividades.
3- El sistema muestra los datos restantes.
Extensiones
1.1- No existen datos para guardar.
Se inicia el caso de uso en 2
2.1- El usuario intenta eliminar ms actividades de las
permitidas
El advierte al usuario
2.2- El sistema encuentra nuevas relaciones
Se muestra al usuario
2.3- El usuario cancela el proceso
Finaliza el caso de uso
Descripcin de
datos
Informacin de la actividad:
Identificador
Actividades anteriores
Actividades siguientes
Informacin del proyecto:
Numero de actividades del proyecto
Casos de uso
relacionados
CU04, CU10, C11


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 85 -

Identificador CU08
Nombre Solucionar el diagrama
Actor Primario Usuario
Actores
Secundarios
-
Trigger Inicio de la conexin del usuario
Precondiciones -
Escenario
primario
1- El sistema recibe las actividades del cliente.
2- El sistema construye el diagrama de red.
3- El sistema rellena los datos mediante clculos.
4- El sistema enva la solucin del proyecto al cliente.
Extensiones
1.1- Se produce un error de conexin.
Finaliza el caso de uso
4.1- Se produce un error de conexin.
Finaliza el caso de uso
Descripcin de
datos
Informacin de la actividad:
Duracin, Actividades anteriores y siguientes, Etapa
Inicial y Final, Margen Libre y Total
Informacin de la etapa:
Identificador, Actividades anteriores y siguientes,
Fecha Prevista y Lmite
Informacin de la actividad nueva:
Identificador, Actividades anteriores y siguientes,
Etapa Inicial y Final
Informacin del proyecto:
Actividades y Actividades nuevas del proyecto
Etapas del proyecto
Casos de uso
relacionados
CU04, CU05, CU09, CU14


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 86 -

Identificador CU09
Nombre Enviar la informacin al servidor y recibirla
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario
Precondiciones El servidor debe estar ejecutndose.
Escenario
primario
1- El sistema inicia el proceso de solucin del proyecto.
2- El sistema inicia la conexin con el servidor.
3- El sistema enva las actividades al servidor.
4- El sistema recibe la solucin del proyecto del servidor.
5- El sistema muestra los datos de la solucin.
Extensiones
1.1- Se produce un error de conexin.
El sistema advierte al usuario del error producido
Finaliza el caso de uso
Descripcin de
datos
Informacin de la actividad:
Id, Descripcin, Duracin, Actividades anteriores y
siguientes, Etapa Inicial y Final, Margen Libre y Total
Informacin de la etapa:
Identificador, Actividades anteriores y siguientes,
Fecha Prevista y Lmite
Informacin de la actividad nueva:
Identificador, Actividades anteriores y siguientes,
Etapa Inicial y Final
Informacin del proyecto:
Actividades y Actividades nuevas del proyecto
Etapas del proyecto
Casos de uso
relacionados
CU08, CU10, CU12


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 87 -

Identificador CU10
Nombre Mostrar la informacin
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario
Precondiciones -
Escenario
primario
1- Se muestran la informacin de las actividades.
2- Se muestran la informacin de las etapas.
3- Se muestra el diagrama de Gantt.
4- Se muestran la informacin de las actividades nuevas.
Extensiones
2.1- No existen etapas.
Finaliza el caso de uso
4.1- No existen actividades nuevas.
Finaliza el caso de uso
Descripcin de
datos
Informacin de la actividad:
Id, Descripcin, Duracin, Actividades anteriores y
siguientes, Etapa Inicial y Final, Margen Libre y Total
Informacin de la etapa:
Identificador, Actividades anteriores y siguientes,
Fecha Prevista y Lmite
Informacin de la actividad nueva:
Identificador, Actividades anteriores y siguientes,
Etapa Inicial y Final
Informacin del proyecto:
Actividades y Actividades nuevas del proyecto
Etapas del proyecto
Casos de uso
relacionados
CU01, CU05, CU06, CU07, CU14


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 88 -

Identificador CU11
Nombre Guardar la informacin en un archivo
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario directamente o indirectamente
Precondiciones -
Escenario
primario
1- El sistema muestra las opciones de guardado.
2- El sistema guarda la informacin en un fichero.
Extensiones
1.1- El usuario cancela el proceso
Finaliza el caso de uso
2.1- Se produce un error de entrada/salida.
El sistema advierte al usuario del error producido
Finaliza el caso de uso
Descripcin de
datos
Informacin de la actividad:
Id, Descripcin, Duracin, Actividades anteriores y
siguientes, Etapa Inicial y Final, Margen Libre y Total
Informacin de la etapa:
Identificador, Actividades anteriores y siguientes,
Fecha Prevista y Lmite
Informacin de la actividad nueva:
Identificador, Actividades anteriores y siguientes,
Etapa Inicial y Final
Informacin del proyecto:
Actividades y Actividades nuevas del proyecto
Etapas del proyecto
Casos de uso
relacionados
CU01, CU05, CU06, CU07, CU13



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 89 -

Identificador CU12
Nombre Cargar la informacin de un archivo
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario
Precondiciones -
Escenario
primario
1- El sistema carga la informacin de un fichero.
2- Se muestra la informacin
Extensiones
1.1- El usuario cancela el proceso
Finaliza el caso de uso
1.2- Se produce un error de entrada/salida.
El sistema advierte al usuario del error producido
Finaliza el caso de uso
Descripcin de
datos
Informacin de la actividad:
Id, Descripcin, Duracin, Actividades anteriores y
siguientes, Etapa Inicial y Final, Margen Libre y Total
Informacin de la etapa:
Identificador, Actividades anteriores y siguientes,
Fecha Prevista y Lmite
Informacin de la actividad nueva:
Identificador, Actividades anteriores y siguientes,
Etapa Inicial y Final
Informacin del proyecto:
Actividades y Actividades nuevas del proyecto
Etapas del proyecto
Casos de uso
relacionados
CU13



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 90 -

Identificador CU13
Nombre Modificar la configuracin de conexin con el servidor
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario
Precondiciones -
Escenario
primario
1- El sistema carga la informacin del fichero.
2- El usuario introduce los parmetros de conexin.
3- El sistema guarda la informacin en el fichero.
Extensiones
1.1- Se produce un error de entrada/salida.
El sistema advierte al usuario del error producido
Finaliza el caso de uso
2.1- El usuario introduce datos no vlidos
El sistema advierte al usuario para que corrija los
datos errneos
2.2- El usuario cancela el proceso
Finaliza el caso de uso
3.1- Se produce un error de entrada/salida.
El sistema advierte al usuario del error producido
Finaliza el caso de uso
Descripcin de
datos
Informacin de la conexin:
Direccin IP
Puerto de entrada al servidor
Casos de uso
relacionados
CU09, CU11, CU12


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 91 -

Identificador CU14
Nombre Edicin de duracin borrosa
Actor Primario Usuario
Actores
Secundarios
-
Trigger Seleccin del usuario
Precondiciones -
Escenario
primario
1- El sistema carga la informacin de la duracin.
2- El usuario introduce los parmetros de la duracin.
3- El sistema actualiza la informacin de la duracin.
Extensiones
1.1- No existe informacin anterior
Se inicia el caso de uso en 2
2.1- El usuario introduce datos no vlidos
El sistema advierte al usuario para que corrija los
datos errneos
2.2- El usuario cancela el proceso
Finaliza el caso de uso
Descripcin de
datos
Informacin de la actividad:
Duracin
Casos de uso
relacionados
CU03, CU06, CU08, CU10



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 92 -
10.4 DIAGRAMA DE PAQUETES
El diagrama de paquetes de los cuales consta el proyecto es el
siguiente:

Diagrama 10.4 - Paquetes del sistema
10.4.1 PACKAGE MOTOR


Diagrama 10.5 Paquete motor


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 93 -
10.4.2 PACKAGE CLIENTE

Diagrama 10.6 Paquete cliente
10.4.3 PACKAGE ORG

Diagrama 10.7 Paquete org


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 94 -
10.4.4 PACKAGE COMMON

Diagrama 10.8 Paquete common


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 95 -
10.5 DIAGRAMA DFD DE PRIMER NIVEL DE LA
APLICACIN CLIENTE

Diagrama 10.9 DFD de primer nivel de la aplicacin cliente
Se puede ver en el diagrama DFD de primer nivel las funcionalidades
de la aplicacin cliente y sus flujos de datos. Se observa que el sistema
interacciona con el usuario (pantalla, ratn y teclado), con el disco y con la red.
Mediante el teclado el usuario introducir los datos de entrada, con el ratn
seleccionar las funciones a llevar a cabo y en la pantalla podr ver los
resultados del trabajo realizado. En el apartado 12 se detallarn cada una de
las funcionalidades internas de los cuatro mdulos de los cuales se compone.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 96 -
10.6 DIAGRAMA STATECHART DEL SERVIDOR DE
RESOLUCIN

Diagrama 10.10 Statechart del servidor de resolucin
En un diagrama statechart se representan los estados en que se
encuentra un sistema y los eventos que los cambian. Se representa en el
diagrama el subsistema del motor de resolucin que consta de dos mdulos en
paralelo (1 y 2). El gestor de peticiones arranca el sistema y crea hilos de
ejecucin de motores de resolucin para servir las peticiones que realicen los
diferentes clientes. El motor de resolucin soluciona el proyecto pasando por
sus seis estados donde acaba devolviendo la informacin resuelta y
terminando su ejecucin.
Se detallar el funcionamiento de los dos mdulos en el captulo 13.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 97 -
11. LA APLICACIN CLIENTE
Este subsistema es el encargado de arrancar el interfaz (a travs del
cual el usuario va a operar con los proyectos) y permitir la conexin con el
servidor. Es de relevante importancia garantizar el salvaguardado de datos en
todo momento. Es un archivo JAR que se inicia mediante un doble clic de
ratn. El subsistema se divide a su vez en cuatro mdulos: diseo y edicin del
proyecto, comunicaciones, gestin de archivos, presentacin de la informacin.
En cada uno de los mdulos se especifican los casos de uso que solucionan.
11.1 DISEO Y EDICIN DEL PROYECTO
11.1.1 CREACIN DE UN NUEVO PROYECTO (CU01)

Ilustracin 11.1 Aspecto de la aplicacin cliente al arrancar


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 98 -
En la figura superior se puede observar el inicio de la aplicacin que se
inicia maximizada en primer plano. A partir de la cual se puede comenzar a
disear un proyecto mediante la seleccin en la barra de men de
Archivo/Nuevo proyecto o Ctrl+N.
11.1.2 DEFINIR LOS PARMETROS DEL PROYECTO (CU02)

Ilustracin 11.2 Men de apertura de archivo
Al accionar el AccionListener que gestiona los eventos de seleccin o
presionar Ctrl+N se inicia el submdulo Parmetros del Proyecto que es una
serie de dos objetos que hereda de JDialog y son modales (se instaura en
primer plano y no permite al usuario la interaccin con el resto del programa
hasta que finalice su ejecucin), por lo tanto retienen el foco. Al activar esta
serie de dilogos se presentarn las siguientes ventanas requiriendo
informacin por parte del usuario.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 99 -

Ilustracin 11.3 Calendario de seleccin de fecha de inicio del proyecto
En la figura superior se requiere la seleccin de la fecha de inicio del
proyecto y presionar Aceptar o Enter. Si se cierra esta ventana o se presiona
cancelar se acabar la ejecucin del submdulo Parmetros del Proyecto. El
siguiente paso es preguntar al usuario en otro dilogo el nmero de actividades
del que consta el proyecto.

Ilustracin 11.4 Insercin de numero de actividades del proyecto
Se presenta en esta ventana un JSpinner de actividades con un
SpinModel que va de 2 a infinito incrementndose en nmeros enteros (ya que
se considera como proyecto a un conjunto de actividades mayor o igual que


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 100 -
dos). Por el contrario si se cierra esta ventana o se presiona cancelar se
acabar la ejecucin del submdulo Parmetros del Proyecto y se vuelve a la
pantalla de inicio.
A partir de aqu se inicia un objeto que hereda de JDialog y que se
denomina Iniciador de actividades.
11.1.3 INICIADOR DE ACTIVIDADES (CU03)
En l se muestra al usuario los datos referentes a cada actividad en un
formulario dentro de una ventana JDialog tambin modal y no cerrable.

Ilustracin 11.5 Formulario de inicializacin de las actividades
Los datos de que se compone una actividad son los que se muestran:
Identificador de la actividad: Se asigna mediante un algoritmo de
obtencin de identificador al que se le pasa un nmero entero. Es
un campo no editable.
Nombre de la actividad: En l se puede escribir la descripcin de
la misma para un mejor seguimiento.
Duracin de la actividad: En este caso, y como ya se ha expuesto
anteriormente. Existen dos tipos de duraciones con las que el


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 101 -
programa trabaja: las fijas o conocidas y las borrosas. Por ello el
usuario elige la que desee mediante un JButtonGroup compuesto
por dos JRadioButton mutuamente excluyentes.
Para introducir una duracin fija se escribe el nmero de das que
abarca. En este campo no se permite el uso de caracteres alfanumricos ni
especiales, nicamente el uso de nmeros y de un carcter . para decimales.
Esto es gestionado por el KeyAdapter del JTextField.
Las actividades se inicializan por defecto con la duracin fija de un da.
Para introducir una duracin borrosa se selecciona el radio destinado al
efecto dando la posibilidad de crearla apretando el botn Nueva.

Ilustracin 11.6 Seleccin de duracin borrosa
Al apretarlo se pasa el control del programa al Creador de duraciones
borrosas que tambin extiende de la clase JDialog que se detallar en
sucesivos apartados. Tras definir la duracin borrosa se da la opcin de
modificarla si se necesitara con el botn Cambiar.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 102 -

Ilustracin 11.7 Representacin de una duracin borrosa
Una vez escogida una duracin vlida el programa permite moverse a
la siguiente actividad con el botn siguiente.

Ilustracin 11.8 - Seleccin de duracin conocida
En todo momento se puede avanzar y retroceder por las actividades
con el objeto de cambiarlas. El botn Anterior estar inactivo para la primera
actividad y el botn siguiente se transformar en Finalizar en la ltima donde
se cerrar la ventana y se pasar a la etapa siguiente: Iniciador de Sucesoras.
Si en algn momento se produjera un error en los datos debido a que el
usuario ha dejado vaco el campo de duracin de una actividad se mostrar por
pantalla el siguiente error si se trata de una duracin fija


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 103 -

Ilustracin 11.9 Error causado en los parmetros de la duracin fija
o si se trata de una duracin borrosa que no se ha creado an y est
seleccionado su JRadioButton

Ilustracin 11.10 Error causado en los parmetros de la duracin borrosa
ambos devuelven el foco al JtextField y al botn crear respectivamente.
11.1.4 CREADOR DE DURACIONES BORROSAS (CU14)
El creador de duraciones borrosas es un objeto que hereda de JDialog
y es modal y cerrable. Presenta el siguiente aspecto al crear una duracin
borrosa nueva para una actividad.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 104 -

Ilustracin 11.11 Formulario presentado para la creacin de una duracin borrosa nueva
Est compuesto de tres JRadioButton para elegir entre los tres tipos de
duraciones borrosas (intervalo lineal, piramidal y trapezoidal). Dependiendo de
la opcin seleccionada se habilitan o deshabilitan los campos de los
parmetros para definir la duracin borrosa. En dichos campos se controla el
input del teclado mediante el KeyAdapter permitiendo nicamente nmeros y
un carcter ..
Cuando se presiona el botn de previsualizar y los datos son correctos
se muestra un grfico con el eje de abcisas representando la duracin en das
y el de ordenadas representando la probabilidad de cada uno de los puntos de
la duracin borrosa. Asimismo se habilita el botn de listo para dejar definida la
duracin borrosa.
En cualquier momento el usuario puede limpiar los parmetros con el
botn destinado al efecto, borrando el contenido de los JTextField y de la
grfica. Tambin se puede salir cerrando la ventana o presionando el botn
cancelar.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 105 -
Para que el botn de listo est activo tiene que haberse definido
completamente la duracin habindola previsualizado y siendo los datos
consistentes. En caso contrario se mostrar un mensaje de error al usuario
indicndole el motivo y poniendo el foco en el campo que lo haya producido.
Como ejemplo se muestra la figura siguiente:

Ilustracin 11.12 Error en la lgica de los datos

Ilustracin 11.13 Error de tipo de duracin escogida
El usuario es advertido en el caso de que est intentando crear una duracin
borrosa de un tipo en otro tipo, como por ejemplo una lineal en la de tipo
trapezoidal.
A continuacin se muestran diferentes ejemplos de las duraciones
soportadas por la aplicacin que, como puede verse son nmeros borrosos
(subconjuntos borrosos convexos y normales atendiendo a las definiciones de
del apartado de lgica borrosa).


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 106 -

Ilustracin 11.14 Clases de duracin borrosa de intervalo constante

Ilustracin 11.15 Clases de duracin borrosa piramidales

Ilustracin 11.16 Clases de duracin borrosa trapezoidales
Para representar los datos en una grfica se enva un mensaje a una
clase llamada GraficaBoorsa conteniendo un vector con vectores de pares de
datos y mediante la cual se actualiza el panel en tiempo de ejecucin mediante
el comando super.validate().
En caso de que se intente modificar una duracin borrosa desde el iniciador de
actividades o el modificador de actividades se pasa al constructor del creador


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 107 -
de duraciones borrosas los parmetros de la duracin creada anteriormente
para su edicin pudiendo cancelarla en cualquier momento sin variar la original.
11.1.5 INICIADOR DE SUCESORAS (CU04)
Este submdulo se encarga de definir las actividades sucesoras de
cada actividad con el objeto de poder crear el diagrama de red.
Se compone de un conjunto de n JRadioButton (mutuamente
excluyentes) y un conjunto de n JCheckBox (de mltiple seleccin) siendo n el
nmero de actividades del proyecto.

Ilustracin 11.17 Iniciador de actividades sucesoras
Esta clase (que hereda de JDialog y es modal y no cerrable) muestra el
identificador de cada actividad con su descripcin entre parntesis y guarda en
todo momento las opciones marcadas. Si la lista de actividades no entra en la
pantalla se activa un JScrollPane activando una barra vertical para poder
mostrarlas.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 108 -

Ilustracin 11.18 Activacin del JScrollPane
Asimismo contiene un algoritmo de deteccin de bucles que se encarga
de impedir su construccin.
Los bucles no estn permitidos en los diagramas de red debido a que si
se produjeran nunca se podra llegar a determinar la fecha de finalizacin del
proyecto porque las etapas y actividades implicadas nunca pararan de
calcularse.
Por tanto se han analizado las posibilidades de crearlos. Ello se ha
solucionado deshabilitando los JCheckBoxs de la columna Actividades
sucesoras que crearan un bucle cuando una actividad concreta est
seleccionada en la columna Actividad actual.
Se muestra un ejemplo en la figura siguiente:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 109 -

Ilustracin 11.19 Ejemplo de funcionamiento del algoritmo
Las condiciones que hacen que se forme un bucle en el diagrama son:
La actividad i no puede tenerse de sucesora a s misma.

Diagrama 11.1 Bucle sobre la misma actividad
Si la actividad i ha marcado a la actividad j como siguiente,
ninguna de las actividades que precedan a i en toda la red (tanto
si son inmediatas como si no) podrn ser sucesoras de j
incluyendo a la actividad i. En otras palabras, todo camino desde
cualquier actividad sin actividades anteriores (actividad que saldr
de la etapa inicial) hasta la actividad i no podr suceder a j
incluyendo a la actividad i.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 110 -

Diagrama 11.2 - Bucle sobre diferentes actividades
Si la actividad i ha marcado a la actividad j como siguiente,
ninguna de las actividades siguientes inmediatas de todas las
actividades anteriores de i podr suceder a la actividad j.
En el supuesto de que la actividad i tenga de sucesoras a j y k la
actividad j no podr suceder a k ni k a j debido a que se estara
intentando encadenarlas de la forma k j i o j k i
respectivamente.
Al terminar de rellenar el formulario se presiona terminar y se pasa a la
aplicacin principal un array de objetos de la clase actividad para mostrar en
forma de tabla los datos recogidos.

Ilustracin 16 Presentacin de la informacin bsica de las actividades


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 111 -
A partir de este momento todas las opciones del la barra de men se
desbloquean para poder ser utilizadas.
11.1.6 AADIR ACTIVIDADES AL PROYECTO (CU05)
Una vez terminada la fase de creacin de actividades, se habilitan las
funcionalidades de insercin, modificacin y eliminacin de actividades.
En la aplicacin se ofrece la opcin de aadir una sola actividad o
aadir varias al proyecto, ambas en el men Insertar de la barra de men.

Ilustracin 11.20 Men de insercin de actividades
En funcionalidad son equivalentes entre s y equivalentes con el
Iniciador de Actividades. En este caso el identificador se genera a partir del
nmero de las actividades que existen antes de seleccionar la opcin de
aadir.

Ilustracin 11.21 Insercin de una actividad


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 112 -
El proceso es idntico para iniciar las actividades y con la misma
funcionalidad, terminando con una ventana de iniciacin de sucesoras que
recoge todas las actividades del proyecto y las recin insertadas, conservando
los datos de las antiguas e inicializando las nuevas sin ninguna actividad
sucesora. Se espera por parte del usuario que se introduzcan las nuevas
dependencias y se presione el botn de terminado. Asimismo se conserva el
algoritmo de deteccin de bucles que se extender por todas las actividades,
antiguas y nuevas a la vez.
11.1.7 MODIFICAR LAS ACTIVIDADES DEL PROYECTO (CU06)
Para acceder al modificador de actividades se debe seleccionar el
men Modificar actividades del men Modificar de la barra.

Ilustracin 11.22 Men de modificacin de actividades
Se muestra a continuacin un formulario que recoge tanto los datos de
las actividades como la informacin de las sucesoras de cada actividad. El
formulario es una ventana de dilogo modal y que puede ser cerrada.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 113 -

Ilustracin 11.23 Formulario del modificador de actividades
Al iniciar este proceso se clonan (no se pasan por referencia) las
actividades para que, en caso de que el usuario quiera no guardar los cambios
en la modificacin de las actividades, lo pueda hacer. Si ha habido algn
cambio en alguna actividad y se intenta cerrar la ventana aparecer el mensaje
de la siguiente figura.

Ilustracin 11.24 Solicitud de conservacin de la informacin original
Al presionar el botn de cerrar o presionar la opcin No se conserva
el formulario en el estado que estaba antes de intentar salir, si por el contrario
se selecciona la opcin de S se devuelve al programa cliente el conjunto de
actividades originales que fueron clonadas al inicio (los datos son los mismos
pero el Hashcode es diferente, es decir que ocupan dos regiones de memoria


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 114 -
distintas). Al presionar el botn terminado se devuelve al programa cliente las
modificaciones efectuadas para que se muestren en la tabla de las actividades.
El modificador de actividades incluye la deteccin de bucles y la
consistencia en los parmetros de duracin fija, ya que la borrosa es controlada
por el Creador de Duraciones Borrosas.
Si la lista de actividades no entra en la pantalla se activa un
JScrollPane activando una barra vertical permitiendo poder mostrar todas las
actividades sin variar el tamao del formulario de atributos de cada actividad
del encabezado.

Ilustracin 11.25 Activacin de JscrollPane en el formulario de modificacin
El modo de cambiar los atributos de una actividad es presionando en el
JRadioButton con el identificador y la descripcin entre parntesis de la


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 115 -
actividad deseada. Al hacerlo se cargan sus actividades sucesoras y se
deshabilitan las que generen algn bucle. Tambin se cambia la descripcin de
las actividades en tiempo de ejecucin tanto en el JRadioButton como en el
JCheckBox que corresponde. Por defecto aparece seleccionada la actividad
con el identificador menor (la actividad A) y con sus atributos y actividades
sucesoras cargadas as como deshabilitados los JCheckBoxs que sean
imposibles de seleccionar de acuerdo al algoritmo de deteccin de bucles.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 116 -
11.1.8 ELIMINAR ACTIVIDADES DEL PROYECTO (CU07)

Ilustracin 11.26 Men de eliminacin de actividades
Este caso de uso (eliminador de actividades) se inicia desde el men
Eliminar actividades del men Eliminar de la barra. En caso de que se intente
iniciar este caso de uso siendo el nmero de actividades del proyecto igual a 2
se mostrar el siguiente mensaje de error.

Ilustracin 11.27 Error causado al llamar al eliminador de actividades

En la imagen 55 se muestra el modelo que presenta esta clase que
hereda de la clase JDialog, que es modal y cerrable. Anlogamente al
modificador de actividades, se clonan las actividades al originarse el evento
que lo ejecuta permitiendo no guardar los cambios al salir si as lo prefiriera el
usuario. Consta de un JComboBox que carga el identificador de las actividades
y su descripcin entre parntesis al ser lanzado.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 117 -

Ilustracin 11.28 Aspecto del eliminador de actividades
Ser en l donde el usuario seleccione la actividad o las actividades
que desee eliminar (una por una). Existe un JLabel debajo como ayuda para el
proceso de eliminacin que facilita al usuario informacin til que se describir
a lo largo de este apartado.
Por otra parte la ventana consta de un conjunto de JRadioButton y
JCheckBox denominados adems con el identificador de cada actividad y su
descripcin entre parntesis. Este conjunto de botones est inicialmente
inactivo en su totalidad esperando a que el usuario seleccione del JComboBox
la actividad que quiere eliminar.
El algoritmo de eliminacin es el siguiente:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 118 -
El usuario selecciona una actividad a eliminar que
denominaremos i y presiona el botn eliminar.
La actividad se marca en rojo y el algoritmo extrae el conjunto de
actividades inmediatamente anteriores de i y el conjunto de
actividades inmediatamente siguientes a i.
Si ambos conjuntos no estn vacos el algoritmo habilita la opcin
de crear una relacin de sucesin entre sus actividades
predecesoras y sus sucesoras. El usuario comprueba que las
actividades cuyo fin estaba ligado al inicio de la actividad borrada
(las anteriores) se desbloquean en la columna actividades
anteriores en forma de JRadioButton y que, por otra parte, se
habilitan las actividades cuyo inicio depende del fin de la actividad
borrada en la columna de actividades siguientes. Ambas
columnas por defecto aparecen sin marcar, ya que las nuevas
relaciones posibles que pueden existir ahora, antes no se
hubieran dado de ninguna manera gracias al algoritmo de
deteccin de bucles diseado. En la imagen siguiente al eliminar
la actividad i aparecen nueve posibles relaciones
( l h k h k f j f , ,..., , ).


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 119 -

Diagrama 11.3 Ejemplo de eliminacin de la actividad I
El usuario selecciona las relaciones de sucesin entre las n
posibles que desee, pudiendo elegir desde ninguna hasta las n
posibles que existan. Por ltimo se actualizan las conexiones
nuevas, se eliminan las antiguas y se elimina la actividad del
proyecto. En este proceso la lista desplegable permanecer
deshabilitada.

Ilustracin 11.29 Opciones de sucesin encontradas


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 120 -
Como puede observarse en la figura superior el botn terminado se
deshabilita hasta que el usuario haya terminado de seleccionar las relaciones
de sucesin nuevas. Asimismo se carga la informacin de sucesin conocida
de la actividad seleccionada sin posibilidad de ser modificada como puede
verse en la figura superior.
En caso de que no exista ninguna posible relacin de sucesin se
indicar al usuario.

Ilustracin 11.30 Opciones de sucesin no encontradas
El sistema permite eliminar como mximo n-2 actividades siendo n el
nmero total de actividades que compongan el proyecto. En este caso se
deshabilita el JComboBox y el botn Eliminar.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 121 -

Ilustracin 11.31 Eliminacin del mximo de actividades permitidas
Si ha habido algn cambio en alguna actividad y se intenta cerrar la
ventana aparecer el mensaje de la siguiente figura.

Ilustracin 11.32 Solicitud de conservacin de la informacin original
Al presionar el botn de cerrar o presionar la opcin No se conserva
el formulario en el estado que estaba antes de intentar salir, si por el contrario
se selecciona la opcin de S se devuelve al programa cliente el conjunto de
actividades clonadas al inicio (los datos son los mismos pero el Hashcode es
diferente, es decir que ocupan dos regiones de memoria distintas).


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 122 -
Al presionar el botn terminado se genera un mensaje advirtiendo al
usuario que los identificadores de las actividades se reasignarn otra vez para
mantener la consistencia de los datos.

Ilustracin 11.33 Mensaje informativote reasignacin de identificadores
Una vez aceptado se devuelve al programa cliente la nueva lista de
actividades con una longitud menor que la inicial y siempre mayor o igual que
dos para que se puedan considerar como proyecto al conjunto de las mismas y
para que las muestre en la tabla de las actividades.
Es importante resaltar que para el ptimo funcionamiento del
eliminador de actividades es necesario que las actividades sucesoras de cada
actividad estn ordenadas con el identificador creciente. Ello se controla desde
la propia clase Actividad.
11.1.9 MODIFICAR FECHA DE INICIO DEL PROYECTO (CU02)

Ilustracin 11.34 Men de modificacin de la fecha de inicio del proyecto
Al accionar el AccionListener que gestiona los eventos de la barra de
men se inicia el submdulo Modificar fecha de inicio del proyecto que


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 123 -
presentar la siguiente ventana modal y cerrable en primer plano requiriendo
informacin por parte del usuario. Se cargar la fecha de inicio del proyecto
actual en el calendario para que sea cambiada.

Ilustracin 11.35 Formulario de seleccin de fecha
En la figura superior se requiere la modificacin de la fecha de inicio del
proyecto y presionar Aceptar o Enter. Si se cierra esta ventana o se presiona
cancelar se acabar la ejecucin del submdulo sin modificar la fecha de inicio
del proyecto.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 124 -
11.1.10 SOLUCIN DEL PROYECTO

Ilustracin 11.36 Opciones de solucin para una rede con actividades borrosas
Al accionar el AccionListener que gestiona los eventos de seleccin por
accionar alguna opcin de solucin en el men Archivo/Solucionar o presionar
Alt+nmero de opcin de solucin se inicia el proceso de comunicacin con el
servidor para la solucin del proyecto. Para ello los parmetros de conexin
con el servidor deben ser correctos y estar iniciado el servidor.
Se diferenciar entre un proyecto borroso y uno no borroso. Se
denomina proyecto borroso a aquel que tiene una duracin borrosa como
mnimo en alguna de sus actividades y proyecto no borroso a aquel que no
tiene ninguna duracin borrosa en ninguna de sus actividades.
Un proyecto no borroso no puede ser solucionado con tcnicas de
lgica borrosa en el servidor. Por ello se deshabilitan las funciones de solucin
borrosa del men solucionar, obligando al usuario a seleccionar la opcin de
Pert no borroso en el men solucionar. As lo muestra la ilustracin inferior.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 125 -

Ilustracin 11.37 Opciones de solucin para una rede sin actividades borrosas
En caso de ser un proyecto borroso, dependiendo de la opcin de
solucin seleccionada se puede presentar una ventana modal y cerrable de la
clase JDialog requiriendo informacin de un parmetro para solucionar el
diagrama o no. Como ejemplo se muestra el parmetro requerido para una
solucin del tipo Centro de rea.

Ilustracin 11.38 Ejemplo de introduccin de parmetros para la solucin
La correcta entrada de datos es controlada para que el parmetro de
solucin sea vlido. El cuadro de texto permite la entrada de nmeros y del
carcter . como posicin decimal. Se comprueba que el dato introducido est
dentro del rango lcito. En caso contrario se mantendr la ventana en primer
plano hasta que el usuario que cambie el parmetro o la cierre, cancelando as
la solicitud de solucin.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 126 -
Una vez validada la opcin elegida de solucin se pasa el control al
mdulo de comunicaciones con el servidor para la solucionar del diagrama (ello
se explicara en el apartado de solucionar el diagrama del captulo servidor) y
la posterior presentacin de los resultados en pantalla.
11.2 COMUNICACIONES
En este modulo se describir el protocolo de conexin con el servidor
para enviar y recibir los datos y la modificacin de los parmetro de conexin
con el servidor.
11.2.1 CONEXIN CON EL SERVIDOR DE RESOLUCIN (CU09)
Para conectar la aplicacin cliente con el servidor de resolucin se
debe conocer la direccin IP del servidor dentro de la red y el puerto abierto en
l para recibir las peticiones de solucin por parte de los clientes. La direccin
IP es inherente a la situacin de la mquina donde resida el servidor y su
configuracin de red. El puerto es una variable que se modifica desde el propio
servidor. Por tanto es necesario conocer ambas para poder establecer la
comunicacin. La configuracin de la conexin se guarda en el archivo
config.net.
En caso de que se conozcan correctamente ambos parmetros el
cliente iniciar un socket de conexin hacia el servidor (con los parmetros de
configuracin de conexin cargados de un fichero) que aceptar la peticin. En
ese momento se establece una conexin entre ambos, crendose un hilo de
ejecucin paralelo al de aceptacin de peticiones en el servidor y dando inicio
al protocolo a nivel de aplicacin. El socket de conexin est montado en un


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 127 -
stream de objetos (ObjectOutputStream y ObjectInputStream) lo que facilita el
manejo de los mismos, que mantendrn las relaciones entre ellos intactas ya
que comparten el paquete common. Cabe destacar que estas relaciones se
perderan si se mandara por ejemplo actividad por actividad en otro tipo de
stream de los que proporciona java y habra que reconstruir las relaciones en el
receptor de la informacin, incrementando as el tiempo de ejecucin.
El protocolo diseado a nivel de aplicacin es el siguiente:
La aplicacin cliente ha recogido la informacin de los parmetros
de solucin introducidos por el usuario y los enva en forma de
Objetos al servidor. Primero la opcin seleccionada de solucin y
luego el parmetro si ste existiese. El servidor est diseado
para recibir esta informacin y detectar si la opcin de solucin
seleccionada necesita o no un parmetro.
Una vez recibidos los parmetros para la solucin se manda un
objeto de la clase PertCpm por parte del cliente. Este objeto se
vio que contena un array de Actividades, uno de Actividades
dummy y otro de Etapas. El cliente manda el objeto PertCpm con
el que trabajaba que contendr nicamente actividades con los
datos que introduca el usuario (identificador, descripcin,
duracin, actividades anteriores y actividades siguientes) y los
arrays etapas y actividades dummy estarn iniciados como nulos.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 128 -
La aplicacin cliente se mantendr en espera sncrona
(bloquendose) hasta que el servidor termine de solucionar el
proyecto con la opcin seleccionada.
Una vez que se haya solucionado el proyecto se enviar por parte
del servidor al cliente un objeto PertCpm con toda su informacin
derivada de la solucin. En caso de que el proyecto no tenga
actividades dummy, su array ser nulo.
El cliente recibe la informacin y actualiza el archivo con el que
trabajaba para posteriormente mostrar la informacin que
contiene.
El cliente cierra los streams de entrada y salida y el socket de
comunicacin, este mismo proceso es seguido por el servidor que
tambin finalizar el hilo de ejecucin correspondiente a esa
peticin.
En caso de un error en la ejecucin del protocolo se mostrar el
siguiente mensaje en la aplicacin cliente:

Ilustracin 11.39 Error de conexin con el servidor de resolucin
Se puede producir un error en cualquiera de los siguientes casos:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 129 -
Antes de establecer la conexin, causas:
El servidor no est operativo.
La direccin IP es errnea.
El puerto de entrada al servidor no es correcto.
No se dispone de acceso a la red.
Durante la conexin, causas:
El servidor ha terminado su ejecucin.
Ha existido un fallo en el acceso a la red.
En cualquiera de los casos el cliente no se bloquea, detecta que se ha
habido un error en el socket de conexin y la espera sncrona finaliza
manteniendo los resultados originales mostrados.
11.2.2 MODIFICAR LA CONFIGURACIN DE CONEXIN CON EL
SERVIDOR (CU13)
Para modificar los parmetros de comunicacin con el servidor se inicia
la secuencia en la barra de men Modificar/Parmetros de conexin.

Ilustracin 11.40 Men de modificacin de los parmetros de conexin


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 130 -
La ejecucin de este submdulo muestra un dilogo modal y cerrable
que carga la configuracin de red por defecto con la que viene la aplicacin
cliente la primera vez que se ejecuta. Una vez introducidos los parmetros de
conexin se guardan en un archivo para la prxima vez que se inicie la
aplicacin.

Ilustracin 11.41 Formulario de parmetros de conexin
Consta de la direccin IP del servidor y el puerto de entrada de las
peticiones. En caso de usarse en una red local se tiene la posibilidad de poner
el nombre del host en el que se ejecute la aplicacin en el campo direccin
IP. Esto ser resuelto por el servidor de nombres.
Si se cierra la ventana o se cancela el proceso se devolver el control a
la aplicacin cliente sin modificar la configuracin de red. En caso contrario se
verificar que el campo Puerto sea un nmero entero. En caso de no cumplir
esta restriccin se notificar al usuario para que lo cambie o cancele el
proceso.
11.3 GESTIN DE ARCHIVOS
Este mdulo se encarga de la carga y guardado de los datos de los
proyectos a ficheros. Consta de dos submdulos, el de guardado de archivos y
el de carga de archivos.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 131 -
Los archivos que maneja el programa cliente tienen la extensin .pert y
son los nicos con que puede operar. El formato del archivo es el derivado de
un contenedor de objetos y no es legible en editores de textos. Esto garantiza
la seguridad de la no manipulacin por parte del usuario de los datos,
mantenindolos en un estado conforme e ntegro. Con ello se quiere decir que
no se modifiquen las duraciones ni el orden de posterioridad ni anterioridad de
las actividades tanto para construir bucles como para alterar el orden alfabtico
de identificadores de ellas que son usados para el correcto funcionamiento del
programa.
Un archivo pert puede guardar proyectos resueltos y sin resolver, es
decir, con las actividades simplemente inicializadas por el usuario. Los datos
que los archivos pert contienen son cuatro:
Un objeto PertCpm que contiene los datos de actividades,
actividades dummy y etapas del proyecto.
Un objeto representando la fecha de inicio del proyecto.
La opcin de solucin seleccionada en caso de que est resuelto
el proyecto.
El parmetro para el tipo de solucin escogido en caso de que
estuviera resuelto y que necesitara un parmetro.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 132 -
11.3.1 GUARDADO DE INFORMACIN (CU11)
Los archivos se guardan con un objeto de la clase ObjectOutputStream
montado sobre un FileOutputStream con el parmetro de la ruta hasta el
archivo.

Ilustracin 11.42 Men guardar
Est submdulo se encarga de guardar archivos cuando el usuario lo
desee (seleccionndolo en el men) o al producirse un aviso y sugerencia de
guardar los datos del proyecto cuando se vaya a perder informacin por la
llamada a algn submdulo. Se muestra en la siguiente ilustracin.

Ilustracin 11.43 Opciones de guardado automtico
El dilogo de advertencia generado contiene la causa de posible
prdida de la informacin. Se genera siempre que se intente llamar a un
proceso que vaya a cargar informacin nueva (crear un nuevo proyecto o abrir
un archivo), vaya a borrar la solucin actual si sta existe (insertar una


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 133 -
actividad, insertar varias actividades, modificar actividades o eliminar
actividades) o se vaya a cerrar el programa.
Seleccionando la opcin de S se guardar la informacin en el
fichero actual o se pedir al usuario que cree uno nuevo si ste no existe. Con
la opcin No se descartan los cambios. En cualquiera de los dos casos se
contina ejecutando la accin que gener el dilogo de advertencia. En caso
de cancelar o cerrar el dilogo se deshecha la ejecucin de la accin que
gener el dilogo de advertencia, conservando la informacin del proyecto en
pantalla.
Hay dos procesos diferenciados:
Guardar archivo: Se ejecuta siempre que se est manipulando
un archivo y el usuario desee guardar los cambios. Su funcin es
sobrescribir los datos del fichero que est abierto. Si se ejecuta
guardar se muestra un mensaje de confirmacin del xito del
proceso.

Ilustracin 11.44 Confirmacin de la escritura en disco
Guardar archivo como: Se ejecuta cuando no existe un
archivo abierto o cuando sea seleccionado por el usuario. Este
proceso inicia un objeto JFileChooser por defecto en la carpeta


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 134 -
Mis documentos o en la ruta donde est el archivo que se est
manipulando. Se requiere un nombre de archivo para guardar la
informacin. La ruta hasta el archivo se extrae del JFileChooser.

Ilustracin 11.45 Dilogo de guardado con filtro de extensiones pert
En caso de intentar una sobreescritura en otro archivo se advierte al
usuario con el siguiente dilogo:

Ilustracin 11.46 Confirmacin de sobreescritura


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 135 -
Por ltimo se comunica que la operacin se ha realizado
correctamente o se retorna al punto donde se produjo la excepcin si
se ha cancelado el proceso.

Ilustracin 11.47 Confirmacin de la escritura en disco
11.3.2 CARGA DE INFORMACIN (CU12)
Los archivos se cargan con un objeto de la clase ObjectInputStream
montado sobre un FileInputStream con el parmetro de la ruta hasta el archivo.

Ilustracin 11.48 Men de carga de archivos
Al submdulo se accede desde el men Archivo/Abrir o presionando
Ctrl+A y se abre un JFileChooser con un filtro para seleccionar nicamente
archivos pert soportados por el programa.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 136 -

Ilustracin 11.49 Dilogo de carga con filtro de extensiones pert
Una vez cargado el archivo se muestran los datos por pantalla y se
actualiza el campo de nombre de archivo actual de la cabecera de la
aplicacin.
En caso de que exista un error en el formato se notifica al usuario con
un mensaje de error.

Ilustracin 11.50 Error en la carga de archivos


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 137 -
11.4 PRESENTACIN DE LA INFORMACIN (CU10)
El objetivo de este apartado es realizar una representacin lgica de la
informacin que maneja el sistema de acuerdo al modelo de datos descrito en
el apartado Diseo. Las tablas donde se muestran los datos no son editables
para garantizar la integridad de los datos en todo momento y se construyen
sobre ventanas JInternalFrame dentro de un JDesktopPane para hacer ms
fcil su movimiento.
Existirn tres tablas de datos como mximo en la aplicacin. No se
usan bases de datos pero la informacin se mantiene en un estado conforme
mediante el objeto PertCpm. En l se ha visto que contiene tres listas: la de
actividades, la de actividades ficticias o dummy y la de etapas. Cada uno de los
componentes de esta lista est en la regin de memoria asociada al PertCpm.
Todas las relaciones que existen entre ellas estn establecidas mediante
punteros a sus datos asociados.
En este apartado se distinguir entre dos tipos de informacin: la
informacin bsica y la informacin resuelta.
11.4.1 INFORMACIN BSICA
La informacin bsica est formada por los parmetros que el usuario
puede manejar directamente mediante submdulos de la aplicacin. Como se
ha visto hasta ahora son los referentes a las actividades. Siendo los campos
que se manejan:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 138 -
Id: Es el identificador unvoco de cada actividad asignado por la
aplicacin cliente. Es un una cadena de caracteres y no puede
ser nulo.
Nombre: Es la descripcin de la actividad. Es una cadena de
caracteres y puede tener valor vaco.
Duracin: Es la representacin de la duracin de la actividad en
forma de cadena de caracteres. Puede tomar cuatro formas
diferentes:
Conocida (escalar): Es el nmero decimal que la
representa.
Borrosa constante: Representada por Lin(A,B) siendo A y
B las duraciones conocidas que la representan.
Borrosa piramidal: Representada por Pir(a,B,b) siendo a, B
y b las duraciones conocidas que la definen.
Borrosa trapezoidal: Representada por Tra(a,A,B,b) siendo
a, A, B y b las duraciones conocidas que la representan.
Actividades Anteriores: Es un conjunto de las actividades
anteriores asociadas a la actividad. Est representado por una
cadena de caracteres. En caso de ser nulo se declara como
ninguna.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 139 -
Actividades Siguientes: Es el conjunto de las actividades
inmediatamente posteriores asociadas a la actividad. Est
representado por una cadena de caracteres. En caso de ser nulo
se declara como ninguna.
El formato de la tabla lo gestiona un TableModel asociado a la tabla
actividades. En caso de mostrar informacin bsica presenta el aspecto de la
ilustracin:

Ilustracin 11.51 Tabla de informacin bsica de actividades
Esta tabla se genera despus de:
Cargar un archivo que no est resuelto.
Terminar el proceso de creacin de un nuevo proyecto.
Insertar actividades.
Modificar actividades.
Eliminar Actividades.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 140 -
11.4.2 INFORMACIN RESUELTA
La informacin resuelta est formada por todos los datos que contiene
el proyecto. Est compuesta por la tabla de actividades, la de actividades
dummy (en caso de que existan) y la de etapas. Se genera siempre que se
recibe la solucin a un proyecto. Los campos que se manejan en cada tabla
son:
TABLA ACTIVIDADES
Id: Es el identificador unvoco de cada actividad asignado por la
aplicacin cliente. Es un una cadena de caracteres y no puede
ser nulo.
Nombre: Es la descripcin de la actividad. Es una cadena de
caracteres y puede tener valor vaco.
Duracin: Es la representacin de la duracin de la actividad en
forma de cadena de caracteres. Puede tomar cuatro formas
diferentes:
Conocida (escalar): Es el nmero decimal que la
representa.
Borrosa constante: Representada por Lin(A,B) siendo A y
B las duraciones conocidas que la representan.
Borrosa piramidal: Representada por Pir(a,B,b) siendo a, B
y b las duraciones conocidas que la definen.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 141 -
Borrosa trapezoidal: Representada por Tra(a,A,B,b) siendo
a, A, B y b las duraciones conocidas que la representan.
Actividades Anteriores: Es el conjunto de las actividades
anteriores asociadas a la actividad. Est representado por una
cadena de caracteres. En caso de ser nulo se declara como
ninguna.
Actividades Siguientes: Es el conjunto de las actividades
inmediatamente posteriores asociadas a la actividad. Est
representado por una cadena de caracteres. En caso de ser nulo
se declara como ninguna.
Etapa Inicial: Es la etapa en la que se inicia la actividad. Est
representada por un nmero entero mayor que cero.
Etapa Final: Es la etapa en la que se termina la actividad. Est
representada por un nmero entero mayor que cero.
Margen Libre: Es la representacin de la duracin del margen
libre de la actividad en forma de cadena de caracteres y toma
cualquiera de las cuatro formas diferentes descritas en el campo
duracin.
Margen Total: Es la representacin de la duracin del margen
total de la actividad en forma de cadena de caracteres y toma
cualquiera de las cuatro formas diferentes descritas en el campo
duracin.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 142 -
Como se ver en la ilustracin siguiente se enfatiza el camino crtico
con color rojo. Se consigue mediante el TableModel de la tabla actividades que
es capaz de comprobar si tanto el margen libre como el margen total de cada
actividad son iguales a cero. En este caso se colorea la fila entera en color rojo
ya que al ser ambos mrgenes iguales a cero significa que la actividad
pertenece al camino crtico.

Ilustracin 11.52 Tabla de informacin resuelta de actividades
TABLA DE ETAPAS
Id: Es el identificador unvoco de cada etapa y es un entero
Fecha Prevista: Es la representacin de la fecha prevista de la
etapa en forma de cadena de caracteres de una de las cuatro
formas diferentes descritas en el campo duracin.
Fecha Lmite: Es la representacin de la fecha lmite de la etapa
en forma de cadena de caracteres de una de las cuatro formas
diferentes descritas en el campo duracin.
Actividades Anteriores: Es el conjunto de actividades que llegan
a la etapa representado por una cadena de caracteres ordenada.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 143 -
En caso de ser nulo se declara como ninguna, nicamente se da
en el caso de la etapa inicial del proyecto.
Actividades Siguientes: Es el conjunto de actividades que salen
a la etapa representado por una cadena de caracteres ordenada.
En caso de ser nulo se declara como ninguna, nicamente se da
en el caso de la etapa final del proyecto.
Como se ver en la ilustracin siguiente se enfatiza el camino crtico
con color rojo. Se consigue mediante el TableModel de la tabla etapas que es
capaz de comprobar si tanto la fecha prevista como la fecha lmite de cada
etapa son iguales a cero. En este caso se colorea la fila entera en color rojo ya
que al ser ambas fechas iguales a cero significa que la etapa pertenece al
camino crtico.

Ilustracin 11.53 Tabla de informacin resuelta de etapas
TABLA DE ACTIVIDADES FICTICIAS
Id: Es el identificador unvoco de cada actividad dummy y es un
entero ascendentes que empieza en 0.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 144 -
Actividades Anteriores: Es un conjunto de actividades
inmediatamente anteriores representadas por una cadena de
caracteres ordenada.
Actividades Siguientes: Es un conjunto de actividades
inmediatamente posteriores representadas por una cadena de
caracteres ordenada.
Etapa Inicial: Es la etapa de la que parte la actividad
representada por un nmero entero mayor que cero.
Etapa Final: Es la etapa a la que llega la actividad representada
por un nmero entero mayor que cero.
La tabla de actividades ficticias (dummy) se muestra si existen en la
solucin que el motor de resolucin envi. Se recuerda que es una actividad
creada con tiempo nulo para respetar las obligaciones de representacin del
diagrama de red. Por tanto no tiene relevancia darlas un nombre, ni una
duracin ni, consecuentemente, valor a los mrgenes as como enfatizarlas de
alguna manera.

Ilustracin 11.54 Tabla de informacin de actividades dummy


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 145 -
DIAGRAMA DE GANTT
El diagrama de Gantt se muestra siempre que la solucin al proyecto
est desborrosificada. En caso de no estarlo no tendra sentido mostrarlo por la
inviabilidad de la representacin en un diagrama de Gantt.
El diagrama se obtiene como panel de una clase que se encarga de
dibujarle. La clase Gantt recibe como parmetros la fecha de inicio del proyecto
y las actividades del mismo. A partir de ellas obtiene la representacin que
incluye la duracin de la actividad en rojo, el margen libre en verde y el margen
total en azul. Se diferencia cada actividad con su descripcin e identificador
entre parntesis. Se ofrecen al usuario dos tipos de presentacin de las
actividades: por orden de identificador o por orden cronolgico.

Ilustracin 11.55 Opciones de orden para la muestra del diagrama de Gantt
El diagrama es interactivo pudindose hacer zoom en l y guardando la
vista que contenga.



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 146 -

Ilustracin 11.56 Diagrama de Gantt por orden de identificador, por orden temporal y ampliacin de
una seccin del diagrama


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 147 -
12. EL SERVIDOR DE RESOLUCIN
Este subsistema es el encargado de resolver el proyecto diseado por
el cliente y permitir la conexin con l. Es un archivo JAR que se inicia
mediante un doble clic de ratn. El subsistema se divide a su vez en dos
mdulos: gestor de peticiones y el motor de resolucin. En cada uno de los
mdulos se especifican los casos de uso que solucionan.
12.1 GESTOR DE PETICIONES
El gestor de peticiones es el encargado de arrancar el programa y de
gestionar las peticiones de solucin de los clientes que soliciten una solucin al
proyecto con el que trabajan.
Al arrancar el programa se pide al usuario el puerto por el que se
aceptarn las peticiones. Es necesario que el puerto est abierto en el firewall
si ese dispone de l. Esta informacin se guarda en un fichero llamado
config.net. Si ya est configurado se dar la opcin de cambiarlo.

Ilustracin 12.1 Inicio del servidor de resolucin
Seguidamente se procede a arrancar el servidor de peticiones
implementado con un ServerSocket en el puerto configurado que siempre
quedar a la espera de peticiones de resolucin. Como se vio en el cliente, el
socket funciona con streams de objetos para beneficiarse de las mltiples
funcionalidades que proporciona el trabajar con ellos. Del mismo modo se


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 148 -
utiliza en el gestor de peticiones mediante un ObjectInputStream y
ObjectOutputStream montados sobre el socket que sirve las peticiones.
Cuando un cliente inicie el protocolo con conexin a nivel de aplicacin
el servidor aceptar la peticin creando un hilo de ejecucin independiente y
paralelo al Gestor de peticiones donde se recibirn los datos de entrada, se
realizarn los clculos para resolver el proyecto y se devolver la solucin.
Cuando el proceso de solucin finalice y se concluya el protocolo de conexin
el hilo de ejecucin terminar liberando espacio en memoria y los recursos que
estaba utilizando.
El protocolo diseado a nivel de aplicacin es el siguiente:
La aplicacin cliente manda un objeto de la clase PertCpm. Este
objeto se vio que contena un array de Actividades, uno de
Actividades dummy y otro de Etapas. El cliente manda el objeto
PertCpm con el que trabajaba que contendr nicamente
actividades con los datos que introduca el usuario (identificador,
descripcin, duracin, actividades anteriores y actividades
siguientes) y los arrays etapas y actividades dummy estarn
iniciados como nulos.
El servidor recibe la opcin de solucin seleccionada por el cliente
y el parmetro de la misma si es necesario.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 149 -
El servidor termina de solucionar el proyecto con la opcin
seleccionada y el parmetro correspondiente si ste ltimo
existiera.
Una vez que se haya solucionado el proyecto se enviar por parte
del servidor al cliente un objeto PertCpm con toda la informacin
derivada de la solucin. En caso de que el proyecto no tenga
actividades dummy, su array ser nulo.
El servidor cierra los streams de entrada y salida y el socket de
comunicacin, y tambin finalizar el hilo de ejecucin
correspondiente a esa peticin.
En caso de un error en la ejecucin del protocolo se finalizar el hilo
borrndolo en el estado que estuviera junto con los datos que manejara.
12.2 MOTOR DE RESOLUCIN (CU08)
En ste apartado se describir toda la lgica de solucin del proyecto.
Se compone de cuatro submdulos de ejecucin secuencial, es decir, una vez
terminado uno se pasa al siguiente.
12.2.1 CREACIN DEL DIAGRAMA DE RED
Como se ha visto se recibe un conjunto de actividades y sus relaciones
de predecisin y sucesin. Este apartado se encarga de crear el diagrama de
red mediante el siguiente procedimiento:
Para cada actividad, independientemente de las relaciones que
tenga con las dems, se crea una etapa de inicio y de fin. Por


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 150 -
tanto se obtienen 2n etapas en un principio, siendo n el nmero
de actividades del proyecto.

Diagrama 12.1 Mtodo de inicializacin de etapas
Se crea una actividad ficticia (dummy de tiempo nulo) para cada
relacin de succin. Las relaciones de predecisin no intervienen.
Si la actividad i tiene como actividades siguientes a j y k se crea
una actividad ficticia entre la etapa fin de i y la etapa inicial de j y
otra ficticia entre la etapa fin de i y la etapa inicial de k.

Diagrama 12.2 Trazo de actividades ficticias entre etapas


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 151 -
Llegados a este punto se inicia una fase de factorizacin. Su
objetivo es reducir el nmero de etapas conservando los
principios de en que se basa un Diagrama de red.
Primero se factorizan aquellas etapas en las que todas las
actividades que le lleguen sean ficticias o no tengan ninguna de
ningn tipo (etapa inicial o nodo inicial). A este proceso se le
denominar factorizacin simple por la izquierda o de
predecesoras. Cuando este proceso es llevado a cabo se
eliminan etapas y actividades ficticias y se actualiza la
informacin de las etapas y de las actividades de manera que
ninguna etapa existente conozca ninguna actividad ficticia
borrada y viceversa.

Diagrama 12.3 Factorizacin por la izquierda


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 152 -
Posteriormente se factorizan aquellas etapas en las que todas las
actividades que salen de ellas sean ficticias o no tengan ninguna
de ningn tipo (etapa final o nodo final). A este proceso se le
denominar factorizacin simple por la derecha o de sucesoras.
Cuando este proceso es llevado a cabo se eliminan etapas y
actividades ficticias y se actualiza la informacin de las etapas y
de las actividades de manera que ninguna etapa existente
conozca ninguna actividad ficticia borrada y viceversa.

Diagrama 12.4 Factorizacin por la derecha
En gran nmero de proyectos con este simple proceso bastara
pero hay casos en los que es necesario introducir operaciones
ms avanzadas para conseguir el diagrama de red ptimo. Se


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 153 -
muestra un ejemplo de parte de un diagrama y la solucin que
proporciona el servidor.

Diagrama 12.5 Resolucin optima de actividades ficticias
Al terminar de disear el diagrama de red se numeran las etapas y las
actividades ficticias. Llegados a este punto las actividades mantienen los
atributos que tenan a la entrada (identificador, descripcin, duracin,
actividades anteriores y actividades siguientes) y los que proporciona este
submdulo (etapa inicial y etapa final). Las actividades ficticias, en caso de
existir, conocern todos sus atributos (identificador, actividades anteriores,
actividades siguientes, etapa inicial y etapa final). Las etapas generadas
tendrn resueltos parte de sus atributos (identificador, actividades anteriores y
actividades siguientes). Todos los atributos del proyecto estn relacionados con
lo se puede acceder fcilmente a la informacin de cada elemento a partir de
los dems con los que se tenga relacin.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 154 -
12.2.2 FASE HACIA DELANTE DEL MTODO CPM
Para poder realizar la fase hacia delante con xito se debe conocer la
operacin de suma entre dos duraciones y cmo determinar si una es mayor
que otra.
Teniendo en cuenta que estamos trabajando con duraciones borrosas y
duraciones conocidas se pueden presentar tres diferentes tipos de suma:
La suma entre dos duraciones conocidas x A = y y B = se opera
sumando el primer trmino con el segundo dando lugar a la
duracin conocida y x C + = .

Grfica 12.1 Suma de dos duraciones conocidas
La suma entre una duracin conocida x A = y una borrosa
) , , , (
1 1 1 1
d c b a B = se opera incrementando cada parmetro de la
duracin borrosa en el valor de duracin conocida dando lugar a
la duracin borrosa ) , , , (
1 1 1 1
x d x c x b x a C + + + + = .


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 155 -

Grfica 12.2 Suma de duracin borrosa y duracin conocida
La suma entre dos duraciones borrosas ) , , , (
1 1 1 1
d c b a A = y
) , , , (
2 2 2 2
d c b a B = se opera sumando cada trmino de la primera
duracin con el correspondiente de la segunda dando lugar al
numero borroso ) , , , (
2 1 2 1 2 1 2 1
d d c c b b a a C + + + + = .
0
1
0 5 10 15 20

Grfica 12.3 Suma de duraciones borrosas
Teniendo en cuenta que estamos trabajando con duraciones borrosas y
duraciones conocidas se establecen tres tipos de comparaciones entre ambas
para determinar cual es la mayor:
Para determinar entre dos duraciones conocidas si x A = es
mayor que y B = se comprueba si y x > .


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 156 -

Grfica 12.4 Comparacin de duraciones conocidas en que A>B
Para determinar entre una duracin conocida x A = y una borrosa
) , , , (
1 1 1 1
d c b a B = si B A > se comprueba si 1 d x .

Grfica 12.5 Comparacin de duracin conocida y duracin borrosa en que A>B
Para determinar entre una duracin borrosa ) , , , (
1 1 1 1
d c b a A = y
una conocida x B = si B A > se comprueba si x d > 1 .

Grfica 12.6 Comparacin de duracin conocida y duracin borrosa en que A>B


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 157 -
Para determinar entre dos duraciones borrosas si ) , , , (
1 1 1 1
d c b a A =
es mayor que ) , , , (
2 2 2 2
d c b a B = se comprueba si
2 1
d d y en
caso de que sea
2 1
d d = se comprueba si
2 1
c c y en caso de
que sea
2 1
c c = se comprueba si
2 1
b b y en caso de que sea
2 1
b b = se comprueba si
2 1
a a > .


Grfica 12.7 Comparacin de duraciones borrosas en que A>B
En la fase hacia delante del camino crtico se pretende determinar los
instantes ms tempranos o la fecha prevista para cada etapa o nodo. Para ello
se asigna al nodo inicial la fecha prevista cero. Luego se elige un nodo tal que
todos los anteriores que estn unidos directamente a l por una actividad ya
tengan fecha prevista. Se etiqueta el nodo elegido con la duracin mxima de
la suma de la duracin cada actividad ms la fecha prevista del nodo del que


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 158 -
proviene. Por tanto, usando la notacin
k
t para la fecha prevista del nodo k y
ik
t para la duracin de la actividad que va del nodo i al k , la formula a emplear
es:
} ,..., , max{
, , 2 2 , 1 1 k nm nm k n n k n n k
t t t t t t t + + + =

Ecuacin 12.1 Resolucin de la fecha prevista de cada etapa
Este paso se repite hasta etiquetar el nodo final, entonces sta ser la
duracin mnima terica del proyecto. Al trabajar con duraciones borrosas y
conocidas se puede obtener la duracin total del proyecto borrosa.
12.2.3 FASE HACIA ATRS DEL MTODO CPM
Para poder realizar la fase hacia atrs con xito se debe conocer la
operacin de resta entre dos duraciones y cmo determinar si una es menor
que otra.
Teniendo en cuenta que estamos trabajando con duraciones borrosas y
duraciones conocidas se pueden presentar cuatro diferentes tipos de resta:
La resta entre dos duraciones conocidas x A = y y B = se opera
restando el primer trmino con el segundo dando lugar a la
duracin conocida y x C = .


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 159 -

Grfica 12.8- Resta ente duraciones conocidas
La resta entre una duracin borrosa ) , , , (
1 1 1 1
d c b a A = y una
conocida x B = se opera sustrayendo cada parmetro de la
duracin borrosa en el valor de duracin conocida dando lugar a
la duracin borrosa ) , , , (
1 1 1 1
x d x c x b x a C = .

Grfica 12.9 - Resta ente duracin borrosa y duracin conocida
La resta entre dos duraciones borrosas ) , , , (
1 1 1 1
d c b a A = y
) , , , (
2 2 2 2
d c b a B = puede operar de dos formas:
Mediante una resta clsica de dos nmeros borrosos dando
lugar ) , , , (
2 1 2 1 2 1 2 1
a d b c c b d a B A C = = . Ntese que
en este caso las propiedades algebraicas de la resta no se
mantienen ya que si B C A B A C + = . En cambio las


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 160 -
propiedades del nmero borroso ( d c b a ) se
mantienen.

Grfica 12.10 Diferencia borrosa clsica entre duraciones borrosas
Mediante una resta de dos nmeros borrosos ordenados
tambin denominada escalar (dado que se multiplica por -1)
dando lugar ) , , , ( ) 1 (
2 1 2 1 2 1 2 1
d d c c b b a a B A C = + = .
Ntese que en este caso las propiedades algebraicas de la
resta se mantienen ya que si B C A B A C + = = . En
cambio las propiedades del nmero borroso ( d c b a )
no se mantienen la mayora de las veces.

Grfica 12.11 Diferencia escalar entre duraciones borrosas
La resta entre una duracin conocida x A = y una borrosa
) , , , (
1 1 1 1
d c b a B = puede operar de dos formas:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 161 -
Mediante resta clsica del nmero borroso B dando lugar
) , , , (
2 2 2 2
a x b x c x d x B A C = = . Ntese que en este
caso las propiedades algebraicas de la resta no se
mantienen ya que si B C A B A C + = . En cambio las
propiedades del nmero borroso ( d c b a ) se
mantienen.

Grfica 12.12 Diferencia borrosa clsica entre duracin conocida y duracin borrosa
Mediante resta del nmero borroso B escalarmente, es decir
que B se multiplica por -1, dando lugar
) , , , ( ) 1 (
2 1 2 2 2
d x c x b x a x B A C = + = . Ntese que en
este caso las propiedades algebraicas de la resta se
mantienen ya que si B C A B A C + = = . En cambio las
propiedades del nmero borroso ( d c b a ) cambian su
orden a la forma ( d c b a ).


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 162 -

Grfica 12.13 Diferencia escalar entre duracin conocida y duracin borrosa
Teniendo en cuenta que estamos trabajando con duraciones borrosas y
duraciones conocidas se establecen tres tipos de comparaciones entre ambas
para determinar cual es la menor:
Para determinar entre dos duraciones conocidas si x A = es
menor que y B = se comprueba si y x < .

Grfica 12.14 Comparacin de duraciones conocidas en que A<B
Para determinar entre una duracin conocida x A = y una borrosa
) , , , (
1 1 1 1
d c b a B = si B A < se comprueba si 1 d x < .


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 163 -

Grfica 12.15 Comparacin de duracin conocida y duracin borrosa en que A<B
Para determinar entre una duracin borrosa ) , , , (
1 1 1 1
d c b a A = y
una conocida x B = si B A < se comprueba si x d 1 .

Grfica 12.16 Comparacin de duracin conocida y duracin borrosa en que A<B
Para determinar entre dos duraciones borrosas si ) , , , (
1 1 1 1
d c b a A =
es menor que ) , , , (
2 2 2 2
d c b a B = se comprueba si
2 1
d d y en
caso de que sea
2 1
d d = se comprueba si
2 1
c c y en caso de
que sea
2 1
c c = se comprueba si
2 1
b b y en caso de que sea
2 1
b b = se comprueba si
2 1
a a < .


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 164 -


Grfica 12.17 Comparacin de duraciones borrosas en que A<B
En la fase hacia atrs del camino crtico se pretende determinar los
instantes ms tardos o la fecha lmite para cada etapa o nodo. Para ello se
asigna al nodo final la fecha lmite, siendo esta la misma que su fecha prevista.
Luego se elige un nodo tal que todos los siguientes que estn unidos
directamente a l por una actividad ya tengan fecha lmite. Se etiqueta el nodo
elegido con la duracin mnima de la resta de la fecha lmite del nodo al que
llega menos la duracin de la actividad que los une. Por tanto, usando la
notacin *
i
t para la fecha lmite del nodo i y
ik
t para la duracin de la
actividad que va del nodo i al k , la formula a emplear es:
} ,..., , min{ *
, 2 , 2 1 , 1 nm i nm n i n n i n i
t t t t t t t =

Ecuacin 12.2 Resolucin de la fecha lmite de cada etapa



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 165 -
Este paso se repite hasta etiquetar el nodo inicial, debiendo ser ste igual a su
fecha prevista, es decir, cero. Como se ha visto, utilizando la resta borrosa o
la resta escalar u ordenada los resultados no sern los mismos. Utilizando la
resta borrosa la fecha lmite del nodo inicial ser un nmero borroso con la
mayora de sus trminos negativos (algo incoherente) y utilizando la resta
escalar la fecha lmite del nodo inicial ser cero.
12.2.4 IDENTIFICACIN DE LAS ACTIVIDADES CRTICAS
Habiendo determinado las fechas previstas y lmites de todos los nodos
de la red, la identificacin del camino crtico es sencilla (si se ha empleado la
resta escalar) y compleja (si se ha empleado la resta borrosa). Las actividades
crticas de la red sern aquellas que unan aquellos nodos cuyas fechas
previstas y lmites sean iguales (las etapas con intervalo de flotamiento igual a
cero). Estos nodos tambin forman parte del camino crtico.
En el caso del empleo de la resta borrosa sera conveniente usar
tcnicas de desborrosificacin para sealar el camino crtico como opcin ms
sencilla. Las opciones de desborrosificacin se detallarn en el apartado
12.2.6.
12.2.5 CALCULAR LOS MRGENES DE CADA ACTIVIDAD
Los mrgenes u holguras de cada actividad son los retrasos que puede
tener cada actividad. Se calcula tanto el margen libre como el total
denotndolos con
k i
L
,
y
k i
S
,
respectivamente.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 166 -
k i i k k i
k i i k k i
t t t S
t t t L
, ,
, ,
* =
=

Ecuacin 12.3 - Resolucin de las holguras de las actividades del proyecto
Por tanto el margen libre de la actividad que va del nodo i al k ser el retraso
que puede existir en el comienzo o en la ejecucin de la actividad que va de i
a k sin modificar la fecha prevista de la etapa k . El margen total de la actividad
que va del nodo i al k ser el retraso que puede existir en el comienzo o en la
ejecucin de una actividad que va de i a k sin modificar la fecha prevista de
finalizacin del proyecto. Cabe destacar que las actividades que formen parte
de la ruta crtica tendrn ambos mrgenes iguales a cero. Como se ha visto,
utilizando la resta borrosa o la resta escalar u ordenada los resultados no
sern los mismos. Utilizando la resta borrosa las holguras de una actividad
crtica sern nmeros borrosos con la mayora de sus trminos negativos (algo
incoherente) y utilizando la resta escalar las holguras de una actividad crtica
sern cero.
12.2.6 OPCIONES DE DESBORROSIFICACIN
PROPORCIONADAS
En este apartado se hace referencia a las opciones de
desborrosificacin implementadas en el servidor para un proyecto con
duraciones nicamente borrosas o con duraciones borrosas y conocidas.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 167 -
Valoracin optimista de la duracin borrosa A y parmetro
Llamaremos tramo optimista de un nmero borroso
) , , , ( d c b a A = al intervalo ] , [ b a que corresponde a la
ecuacin ] , [ ) ( b a x
a b
a x
x
A

= .
Dado un nmero ] 1 , 0 [ y un conjunto borroso A,
definimos el -corte de A como el conjunto

A , cuya
funcin caracterstica se define:


=
otro
x
x
A
A
0
) ( 1
) (


Ecuacin 12.4
Por tanto la valoracin ms optimista del numero borroso A
con el -corte de parmetro ser:
a a b x
a b
a x
x
a b
a x
x
A
A
+ =

=
) (
) (
) (


Ecuacin 12.5
Como ejemplo se muestra la valoracin optimista del nmero
borroso ) 9 , 6 , 3 , 1 ( = A con el -corte de parmetro 75 . 0 =
siendo 5 . 2 1 ) 1 3 ( 75 . 0 ) ( = + = + = a a b x



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 168 -

Grfica 12.18 Valoracin optimista de la duracin borrosa A con parmetro
Valoracin pesimista de la duracin borrosa A y parmetro
Llamaremos tramo pesimista de un nmero borroso
) , , , ( d c b a A = al intervalo ] , [ d c que corresponde a la
ecuacin ] , [ ) ( d c x
c d
x d
x
A

= .
Dado un nmero ] 1 , 0 [ y un conjunto borroso A,
definimos el -corte de A como el conjunto

A , cuya
funcin caracterstica se define:


=
otro
x
x
A
A
0
) ( 1
) (


Ecuacin 12.6
Por tanto la valoracin ms pesimista del nmero borroso A
con el -corte de parmetro ser:
) (
) (
) (
c d d x
c d
x d
x
c d
x d
x
A
A
=




ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 169 -
Como ejemplo se muestra la valoracin pesimista del
numero borroso ) 9 , 6 , 3 , 1 ( = A con el -corte de parmetro
75 . 0 = siendo 75 . 6 ) 6 9 ( 75 . 0 9 ) ( = = = c d d x

Grfica 12.19 Valoracin pesimista de la duracin borrosa A con parmetro
Media mxima de la duracin borrosa A
Denominaremos el tramo de media mxima de un nmero
borroso ) , , , ( d c b a A = al intervalo ] , [ c b .
La media mxima MOM (Mean Of Maxima) se calcula como
corresponde a la ecuacin
2
c b
MOM
+
= .
En el caso en que el ncleo del nmero borroso se
componga nicamente de un valor ( c b = ), la determinacin
de A es inmediata. Sin embargo, si el ncleo es un intervalo
de confianza ( c b < ) se operara. Obsrvese que este
mtodo se basa en la idea estadstica de la moda y no se
usa toda la informacin de la duracin borrosa.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 170 -
Como ejemplo se muestra la media mxima del nmero
borroso ) 9 , 6 , 3 , 1 ( = A siendo 5 . 4
2
6 3
=
+
= MOM

Grfica 12.20 Media mxima (MOM) de la duracin borrosa A
Valoracin de la media mxima de la duracin borrosa A y
parmetro
Denominaremos el tramo de media mxima de un nmero
borroso ) , , , ( d c b a A = al intervalo ] , [ c b dado un nmero
] 1 , 0 [ .
La media mxima

MOM se calcula como corresponde a la


ecuacin ) ( b c b MOM + =

.
En el caso en que el ncleo del nmero borroso se
componga nicamente de un valor ( c b = ), la determinacin
de A es inmediata. Sin embargo, si el ncleo es un intervalo
de confianza ( c b < ) se operara.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 171 -
Como ejemplo se muestra la media mxima del nmero
borroso ) 9 , 6 , 3 , 1 ( = A con el parmetro 75 . 0 = siendo
25 . 5 ) 3 6 ( 75 . 0 3 ) ( = + = + = b c b MOM



Grfica 12.21 Media mxima (MOM) de la duracin borrosa A con parmetro
Media borrosa de la duracin borrosa A
Partiendo de un nmero borroso ) , , , ( d c b a A = cuya funcin
de pertenencia es:

=
otro
b a x
c d
x d
c b x
b a x
a b
a x
x
A
0
] , (
] , [ 1
) , [
) (

Ecuacin 12.7 Funcin de pertenencia de la duracin borrosa A
El soporte del nmero borroso ] , [ ) ( d a x A sop =
La media borrosa FM (Fuzzy Mean) se calcula como:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 172 -


=
) (
) (
) (
) (
A sop
A
A sop
A
dx x
dx x x
FM


Ecuacin 12.8 Media borrosa
Obsrvese que se basa en la idea estadstica de la media
aritmtica ponderada y que este procedimiento utiliza toda la
informacin del nmero borroso.
Como ejemplo se muestra la media borrosa del nmero
borroso ) 9 , 6 , 3 , 1 ( = A siendo:
7878 . 4
5 . 5
333 . 26
) (
) (
) (
) (
= =

A sop
A
A sop
A
dx x
dx x x
FM


Ecuacin 12.9

Grfica 12.22 Media borrosa (FM) de la duracin borrosa A
Centro de rea de la duracin borrosa A y parmetro
Partiendo de un nmero borroso ) , , , ( d c b a A = cuya funcin
de pertenencia es:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 173 -

=
otro
b a x
c d
x d
c b x
b a x
a b
a x
x
A
0
] , (
] , [ 1
) , [
) (

Ecuacin 12.10 Funcin de pertenencia de la duracin borrosa A
El centro de rea CEO (Center of Area) del nmero borroso
A es aqul que acumule el 50% del rea que delimita su
funcin de pertenencia ) (x
A
con el eje de las abscisas. Es
decir, CEO es aquel valor que:

Ecuacin 12.11 Centro de rea del 50%
Obsrvese, que este mtodo se basa en la idea estadstica
de la mediana y utiliza toda la informacin del nmero
borroso. Este mtodo permite introducir la aversin al riesgo
del usuario variando el rea que ) (x
A
debe acumular a su
izquierda dado un nmero ] 1 , 0 [

Ecuacin 12.12 - Centro de rea del 50%
Como ejemplo se muestra el centro de rea del nmero
borroso ) 9 , 6 , 3 , 1 ( = A con el parmetro 75 . 0 = , 5 . 0 = y
25 . 0 = siendo:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 174 -

375 . 3
75 . 4
1277 . 6
25 . 0
5 . 0
75 . 0
=
=
=
CEO
CEO
CEO


Grfica 12.23 Centro de rea (CEO) de la duracin borrosa A con parmetro
12.2.7 OPCIONES DE RESOLUCIN DEL PROYECTO
Como se acaba de ver en el apartado anterior, se proporcionan seis
maneras diferentes de desborrosificar las duraciones, cuatro de ellas con
parmetro. Se recuerda que dependiendo de si el proyecto contiene al menos
una actividad con duracin borrosa o no se le denomina proyecto borroso o
proyecto no borroso respectivamente.
En caso de que el proyecto sea no borroso, no se permiten opciones
de solucin borrosas, simplemente se soluciona el proyecto con el mtodo del
camino crtico con todas las duraciones conocidas que contenga.
Por otra parte, si el proyecto es definido como borroso, se proporcionan
tres grandes mtodos de solucin:
Desborrosificar la duracin de todas las actividades con duracin
borrosa antes de iniciar la fase hacia delante. De ste modo se
tiene un conjunto de actividades con duraciones deterministas.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 175 -
Este mtodo proporciona un diagrama de Gantt e incluye los seis
tipos vistos en el apartado anterior:
Valoracin optimista con parmetro .
Valoracin pesimista con parmetro .
Media mxima.
Valoracin de la media mxima con parmetro .
Centro de rea con parmetro .
Media borrosa.
Desborrosificar la duracin de todas las actividades y etapas con
duracin borrosa al finalizar la fase hacia delante del camino
crtico. De ste modo se opera con las duraciones borrosas
nicamente en forma de suma que, como se ha visto, es
conmutativa. Se obtiene as una duracin del proyecto borrosa
que ser desborrosificada segn la opcin seleccionada por el
usuario. La fase hacia atrs se realizar con duraciones
deterministas proporcionando un camino crtico bien definido.
Este mtodo proporciona un diagrama de Gantt e incluye los seis
tipos vistos en el apartado anterior:
Valoracin optimista con parmetro .
Valoracin pesimista con parmetro .


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 176 -
Media mxima.
Valoracin de la media mxima con parmetro .
Centro de rea con parmetro .
Media borrosa.
Operar con duraciones borrosas durante todo el proceso del
camino crtico, tanto la fase hacia delante como la fase hacia
atrs. De ste modo se opera con las duraciones borrosas tanto
en forma de suma como de resta que, como se ha visto, sta
ltima no es conmutativa. Se obtiene as una duracin del
proyecto borrosa y todos los datos del mismo en forma de
duracin borrosa. Este mtodo no proporciona un diagrama de
Gantt e incluye los dos tipos de resta vistos en anteriores
apartados:
Resta borrosa (no conmutativa que conserva la definicin
de nmero borroso y con camino crtico no definido).
Resta escalar (conmutativa que no conserva la definicin
de nmero borroso y con camino crtico definido).
Al terminar los clculos de todas las fechas previstas y lmites de
las etapas y los mrgenes libres y totales de las actividades se
presenta al usuario un cuadro con la duracin borrosa del
proyecto y se le ofrece uno de los seis mtodos de
desborrosificacin si lo desea, para desborrosificar la informacin


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 177 -
de todo el proyecto. La desborrosificacin de cada duracin no
afectar al resto. Por tanto los datos obtenidos para el diagrama
de Gantt pueden no ser realistas. En caso de cerrar la ventana o
presionar cancelar se dejan los datos como borrosos en la
aplicacin cliente.

Ilustracin 12.2 Opciones de desborrosificacin tras una opcin de solucin sin desborrosificacin


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 178 -
13. EJEMPLO DE ENSAYO
Se presenta a continuacin un ejemplo de ejecucin de la aplicacin y
los resultados obtenidos. Como punto de partida se supondr que tanto el
servidor como la aplicacin cliente estn abiertos, activos y debidamente
configurados para comunicarse mediante el protocolo con conexin.
El cliente elige la opcin de crear un nuevo proyecto presionando
Ctrl+N, seleccionando la fecha de inicio del proyecto (28 de Junio de 2007) y el
nmero de actividades del cual est compuesto (16 actividades).

Ilustracin 13.1 Seleccin de la fecha de inicio del proyecto


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 179 -

Ilustracin 13.2 Seleccin del numero de actividades del proyecto
El usuario posteriormente facilita una duracin borrosa o determinista a
cada actividad y un nombre a cada una de ellas.

Ilustracin 13.3 Duracin borrosa de la actividad A

Ilustracin 13.4 Datos de la actividad A
Una vez terminada la asignacin de los datos inherentes a cada
actividad se procede a la fase de asignacin de sucesoras.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 180 -

Ilustracin 13.5 Seleccin de actividades sucesoras de la actividad A
Cuando el usuario presiona el botn de terminado, se genera la
siguiente tabla que recoge la informacin de cada actividad introducida.

Ilustracin 13.6 Tabla de actividades del proyecto
El usuario desea conocer la duracin prevista del proyecto entero y
presiona la opcin de solucionar el diagrama de red borrosamente en la fase


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 181 -
hacia delante. Dando como resultado la siguiente duracin y las opciones de
solucin para la fase hacia atrs del mtodo del camino crtico si as lo
deseara.

Ilustracin 13.7 Duracin borrosa del proyecto y opciones de desborrosificacin
El usuario cierra la ventana y se dispone a determinar el camino crtico
del proyecto mediante dos tcnicas de desborrosificacin: el centro de rea que
recoge el 60% de probabilidad desde la izquierda y un -corte pesimista a 0.1.
Ambas soluciones se mostrarn en un diagrama de Gantt ordenado por fecha
de inicio de las actividades. El diagrama de red de actividades no contiene
ninguna actividad ficticia.
Para el centro de rea al 60% los datos resultantes son los siguientes:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 182 -

Ilustracin 13.8 Seleccin de centro de rea con parmetro 60% desde la izquierda

Ilustracin 13.9 Orden del diagrama de Gantt por fecha de inicio de la actividad

Ilustracin 13.10 Tabla de actividades resuelta con centro de rea con parmetro del 60%

Ilustracin 13.11 Tabla de etapas resuelta con centro de rea con parmetro del 60%


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 183 -

Ilustracin 13.12 Diagrama de Gantt ordenado cronolgicamente con centro de rea y parmetro 60%
Como puede observarse en los resultados el camino crtico del
proyecto pasa por las actividades C, H, F, J y O. Se marcan en color rojo en la
tabla de actividades y en el diagrama de Gantt aparecen sin margen libre ni
margen total.
Por otra parte la tabla de etapas muestra consistencia con los datos
anteriormente mencionados dando como etapas del camino crtico 1-4-3-5-8-10
que aparecen resaltadas en rojo. El diagrama de Gantt muestra como fecha
final del proyecto el 2 de Agosto a las 16:20 que es el resultado de sumar


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 184 -
35.6817 das (duracin final resultante del proyecto con centro de rea con
parmetro 60% desde la izquierda) a la fecha inicial del proyecto que era el 28
de junio. El usuario guarda los datos en el archivo proyecto-COA-60.pert y
contina solucionando el proyecto con una valoracin pesimista.
Para un -corte pesimista a 0.1 (ser una valoracin pesimista al 90%)
los datos resultantes son los siguientes:

Ilustracin 13.13 Seleccin de valoracin pesimista con -corte 0.1

Ilustracin 13.14 Orden del diagrama de Gantt por fecha de inicio de la actividad

Ilustracin 13.15 Tabla de actividades resuelta con valoracin pesimista con -corte 0.1


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 185 -

Ilustracin 13.16 Tabla de etapas resuelta con valoracin pesimista con -corte 0.1

Ilustracin 13.17 Diagrama de Gantt ordenado cronolgicamente con valoracin pesimista y -corte 0.1


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 186 -
Como puede observarse en los resultados el camino crtico del
proyecto pasa por las actividades C, H, G, L y P. Se marcan en color rojo en la
tabla de actividades y en el diagrama de Gantt aparecen sin margen libre ni
margen total.
Por otra parte la tabla de etapas muestra consistencia con los datos
anteriormente mencionados dando como etapas del camino crtico 1-4-3-6-9-10
que aparecen resaltadas en rojo. El diagrama de Gantt muestra como fecha
final del proyecto el 8 de Agosto a las 8:00 que es el resultado de sumar 41.335
das (duracin final resultante del proyecto con valoracin pesimista y -corte
0.1) a la fecha inicial del proyecto que era el 28 de junio. El usuario guarda los
datos en el archivo proyecto-PES-0,1.pert y termina la ejecucin del programa.
Como se ha visto en los ejemplos los caminos crticos resultantes para
cada mtodo de solucin son diferentes. El camino crtico vara de ser el
conjunto de actividades C, H, F, J y O (primera opcin) a ser C, H, G, L y P
(segunda opcin). La duracin del proyecto vara en seis das ms para la
segunda opcin. Esto es causado por el extremo al que se ha llevado el -
corte de la segunda opcin. Con un -corte de 0.2 se habra obtenido la
misma ruta crtica al igual que con la mayora de opciones de solucin. En este
ejemplo concreto se ve que las actividades C y H pertenecen al camino crtico
siempre, lo que obliga a prestarlas ms atencin que a las dems dentro del
proyecto. Si se hubieran realizado ms pruebas se habra determinado que en
el 90% de los casos la ruta crtica es la formada por las actividades C, H, F, J y
O, variando hasta 4 das la fecha de finalizacin del proyecto.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 187 -
14. PLANIFICACIN
La planificacin de las tareas a lo largo del proyecto se presenta en el
siguiente diagrama realizado con la aplicacin diseada:



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 188 -
El listado de tareas por orden de aparicin en el diagrama es:
1) Estudio de PERT/CPM
Las tareas ms importantes realizadas en esta fase son:
a) Estudio del mtodo CMP:
Tarea en la que se asimilaron los conceptos necesarios para la
realizacin de los diagramas de red. Esta fase comprende tambin el estudio
de las normas de construccin, la fase hacia delante y la fase hacia atrs del
mtodo del camino crtico.
b) Estudio del mtodo PERT:
Tarea en la que se aprendieron los aspectos importantes de las
tecnologas a utilizar. Se realiz el estudio de los varios supuestos en los que
PERT intenta corregir el error de una actividad de duracin conocida
suponiendo que la duracin de la actividad es una variable aleatoria,
incluyendo valoraciones de tiempo optimistas, pesimistas y normales.
2) Estudio de los nmeros borrosos
Tarea en la que se asimilaron los conceptos necesarios para el
tratamiento de nmeros borrosos. Esta fase comprende tambin el estudio de
los diferentes tipos de duraciones borrosas que contendra la aplicacin
(intervalo constante, piramidal y trapezoidal).



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 189 -
3) Identificacin de necesidades
Fase de la planificacin en la que se identificaron las necesidades que
la aplicacin deba satisfacer. Algunas tareas importantes realizadas en esta
fase son: recopilacin de informacin y entrevistas con expertos.
4) Anlisis funcional y estructural
Fase que constituye el punto de partida en la elaboracin del anlisis
del sistema que identifica los requerimientos de informacin de los usuarios.
Estos requerimientos especficos del sistema sirven como punto de referencia
bsico para validar el sistema final, es decir, comprobar que el sistema se
ajuste a las necesidades del usuario. Antes de realizar esta fase se ha
intentado comprender cules son los elementos del contexto correspondiente y
cmo afectan al desarrollo.
En esta fase se realiz un estudio profundo de las acciones que debe
realizar la aplicacin. Se analiz la informacin teniendo en cuenta los objetivos
del proyecto y los recursos disponibles.
5) Diseo de casos de uso y diseo
Fase en la que se recogen los casos de uso que la aplicacin ha de
satisfacer y cmo implementarlos. Es caracterizada por la creacin de
esquemas que muestren los casos de uso a realizar y su descripcin. La fase
de diseo se inicia conociendo la potencia del software elegido. Se realiz un
diseo que intenta cubrir la totalidad de las necesidades del sistema. Para


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 190 -
llevar a cabo esta fase, se han utilizado diferentes representaciones grficas de
software.
Por lo tanto, en esta fase se ha realizado el proceso completo de
creacin de diagramas y explicaciones necesarios para disear la aplicacin.
Se comenz realizando la identificacin de los casos de uso y sus
correspondientes descripciones. Posteriormente se realizaron el diagrama de
paquetes y el diagrama de estados.
En esta misma fase se distinguieron los dos mdulos en los que
consiste la aplicacin y sus funciones y descripcin. Por ltimo se crearon los
bocetos del diseo visual de la aplicacin, teniendo en cuenta que
posteriormente dichos esquemas podran sufrir alguna modificacin. Tanto el
estudio del software como su diseo, han sido revisados a lo largo del
proyecto.
6) Creacin del Motor de Resolucin
Una vez se realiz el diseo completo del algoritmo de resolucin se
implementaron las diferentes formas de realizar la solucin a los proyectos
creados por el usuario. En esta etapa se realiz la programacin de los
submdulos de los que consta el motor de resolucin.
7) Creacin de la Aplicacin Cliente
Una vez se realiz el diseo completo de la aplicacin y basndose en
los productos que origin se pas a efectuar el desarrollo de la misma. En esta


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 191 -
etapa se realiz la programacin de los submdulos de los que consta la
aplicacin.
8) Comunicaciones Cliente-Servidor
En esta etapa se dise el protocolo a nivel de aplicacin as como las
pruebas pertinentes para su ptimo funcionamiento. Tambin se fue
concluyendo y optimizando los parmetros de la conexin y su salvaguardado
tanto por el motor de resolucin como por la aplicacin cliente.
9) Realizacin de pruebas
Una vez finalizada la etapa de desarrollo ya se pudo comenzar esta
etapa en la que se realizaron los ensayos de software para comprobar el
correcto funcionamiento de la aplicacin. La finalidad de esta etapa fue
encontrar los fallos cometidos en la fase de desarrollo para su posterior
correccin.
10) Redaccin de la memoria
ltima etapa en la que se ha unificado y redactado la informacin
relevante del desarrollo del proyecto. La recopilacin y generacin de
informacin ha sido una etapa constante del proceso, no obstante, en esta
ltima fase, se ha realizado una memoria completa del desarrollo del proyecto.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 192 -
15. ESTUDIO ECONMICO
El objeto del presente proyecto es la creacin de un sistema capaz de
solucionar una red de actividades con duraciones borrosas. Los costes
asociados al mismo sern nicamente todos los relacionados con la tarea de
programacin del software necesario para el mismo, el programa y las
necesidades que esta tarea requiera.
15.1 RECURSOS UTILIZADOS
Podemos dividir en dos clases los recursos empleados en el desarrollo
del presente proyecto: recursos de hardware y recursos de software.
Dentro de los recursos consideramos como hardware contaremos:
Ordenador ADL, con microprocesador Pentium VI 2.4GHz, 512
MB de memoria RAM y 80 GB de capacidad de disco duro.
Cable de red RJ-45 de 3m.
Router inalmbrico ADSL 802.11b/g de 54Mbps.
Conexin a Internet a 5Mbps.
Los recursos que consideraremos como software, sern:
Sistema operativo Windows XP Profesional SP2.
Java Runtime Environment Version 6 Update 2
Entorno de desarrollo Eclipse-SDK-3.1.1.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 193 -
Banco de trabajo MyEclipse 5.0.
Aplicaciones ofimticas del paquete Office 2003.
Herramienta de diseo UML 1.4 Jude Community
15.2 COSTES DEL PROYECTO
La divisin de los costes totales del proyecto se realizar en dos
partidas diferenciadas:
Costes directos.
Costes indirectos.
Dentro de la partida de costes directos, haremos una segunda divisin
de los costes segn:
Costes de personal.
Costes de amortizacin de programas y equipos.
Costes de material.
15.2.1 COSTES DE PERSONAL
Para la realizacin del clculo del coste de personal se supondr que el
proyecto est desarrollado por un Ingeniero Informtico trabajando para el
Departamento de Organizacin Industrial de una empresa.
El sueldo correspondiente se considera un gasto efectivo por parte de
dicho departamento, dentro del cual se tienen en cuenta:


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 194 -
Sueldo bruto
Incentivos
Vacaciones
Seguridad Social
Obtenemos el coste de personal teniendo en cuenta el nmero de
horas empleadas y el coste efectivo de cada hora de trabajo.
Horas anuales estimadas:
Concepto Das
Das medios por ao
Sbados y Domingos
Das de vacaciones efectivos
Das de peticin extraordinarios
Total das hbiles
365,25
-104,36
-15
-20
210,89
Jornada laboral 8 horas/da
Total horas efectivas anuales 1.687,12
Coste anual de un Ingeniero Informtico:
Concepto Euros
Sueldo neto e incentivos
Prestaciones a la Seguridad Social
30.050,60
12,020,24
Coste anual 42.070,84


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 195 -
El coste por hora de trabajo de un Ingeniero Informtico se calcula con
los datos obtenidos en las dos tablas anteriores, dividiendo el coste anual entre
el total de horas efectivas anuales. Este coste ser por tanto de 24,93 /hora.
Calculamos ahora el nmero de horas que se han empleado en la
realizacin del presente proyecto. Se realiza una descomposicin detallada de
las mismas en la siguiente tabla:
Concepto Horas
Estudio de planificacin de proyectos
Estudio nmeros borrosos
Diseo de la aplicacin
Desarrollo de los mdulos
Pruebas
Documentacin
100
50
175
225
50
50
Total horas 650
Obtenemos el coste de personal multiplicando las horas totales
empleadas en el proyecto por el coste de cada hora de trabajo, el resultado nos
da el coste de personal y asciende a 16208,71.
15.2.2 COSTES DE AMORTIZACIN DE PROGRAMAS Y
EQUIPOS
Vamos a considerar una amortizacin lineal a cuatro aos para el
clculo de los costes de amortizacin de los equipos informticos y sus
programas. En la siguiente tabla aparecen detallados estos costes para cada
uno de los distintos conceptos.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 196 -
Concepto Euros
Hardware
Sistema Operativo
Aplicaciones ofimticas
2000,00
270,20
330,30
Total sin IVA 2600,50
IVA (16%) 416,08
Total coste amortizacin 3016,58
Tanto el leguaje de programacin como el compilador y resto de
libreras utilizados son recursos de software libre o cdigo abierto y su coste es
nulo por lo que su coste de amortizacin tambin lo ser.
El tiempo de uso de los equipos es el tiempo total calculado
anteriormente para el desarrollo de la aplicacin, puesto que es necesario tanto
en las etapas de diseo previo como en el desarrollo de la aplicacin.
A continuacin se calcula el ndice de amortizacin por hora de trabajo
dividiendo el coste total de amortizacin de programas y equipos entre el
nmero de horas efectivas de trabajo en cuatro aos. Es resultado es por lo
tanto 0,448 /hora.
Se multiplica ese factor por el nmero de horas que ha llevado
desarrollar este proyecto teniendo como resultado un coste de 290,55 .
15.2.3 COSTES DE MATERIAL
Se reflejan en la siguiente tabla los costes relacionados con los
materiales necesarios para el estudio y desarrollo del proyecto y aquellos
asociados a su presentacin.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 197 -
Concepto Euros
Libros de apoyo
Papel
Fotocopias y encuadernacin
30,30
30,05
50,70
Total sin IVA 111,05
IVA (16%) 17,768
Total 128,818
Se resumen a continuacin, en una tabla los costes directos del
proyecto y su total:
Concepto Euros
Costes personal
Costes de programas y equipos
Costes de material
16204,5
290,55
128,818
Total costes directos 16623,87

15.2.4 COSTES INDIRECTOS
Incluimos en este apartado aquellos gastos producidos en la
elaboracin del proyecto que no pueden ser incluidos en apartados anteriores.
Concepto Euros
Consumo elctrico equipos
Iluminacin
Gastos administrativos
210,35
180,30
90,15
Total costes indirectos 480,80



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 198 -
15.3 COSTE TOTAL DEL PROYECTO
El coste total del presente proyecto es el resultante de sumar los costes
directos e indirectos ocasionados por el desarrollo del mismo.
Concepto Euros
Total costes directos
Total costes indirectos
16623,87
480,80
Total costes proyecto 17104,67



ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 199 -
16. CONCLUSIONES Y LNEAS FUTURAS
Para el diseo del algoritmo que permite resolver los proyectos se han
hecho pruebas con diferentes tipos de duraciones. Mediante estas pruebas se
ha intentado dotar a la aplicacin de la mxima robustez para permitir el
funcionamiento con un gran nmero posibilidades. Por lo tanto, este objetivo
del proyecto se ha conseguido.
Por otra parte se proporciona solucin a cualquier tipo de red de
actividades tanto si no incluye ninguna duracin borrosa como si incluye
alguna. Manipulando los parmetros de desborrosificacin se puede comprobar
cmo vara el camino crtico del proyecto para cada uno de los diferentes
mtodos de resolucin implementados.
En la aplicacin se garantiza en todo momento el salvaguardado de la
informacin as como la consistencia de los datos introducidos por el usuario.
Para la ayuda a la compresin de los resultados se proporcionan grficos
explicativos durante todo el proceso de desarrollo de la red y al mostrar su
solucin.
El proyecto no slo constituye un acercamiento a varios mtodos de
resolucin de proyectos con actividades con duraciones borrosas, sino que se
puede plantear la integracin del tratamiento de duraciones aleatorias descritas
por diversos tipos de funciones de probabilidad (funciones triangulares,
procesos de Poisson, distribuciones normales, distribuciones Beta, etctera)
como un mdulo ms. Tambin cabe la posibilidad de incrementar mtodos de


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 200 -
desborrosificacin ms avanzados y de implementacin ms laboriosa como el
mtodo de el indicador de valor de Delgado.
El paso siguiente al presente proyecto podra ser el seguimiento de los
proyectos introduciendo los datos del porcentaje de actividad realizada hasta la
fecha actual para la ayuda en la toma de decisiones.
El trabajo realizado es capaz de generar tres tipos de informes
(actividades, etapas y actividades ficticias o dummy). Sera muy interesante la
posibilidad de ofrecer al usuario experimentado un mdulo para el desarrollo
grfico de un diagrama de red a partir de etapas (en forma circular) y
actividades (en forma de flechas unidireccionales). De esta manera se podra
llegar a obtener un sistema que genere la solucin ms rpidamente dado que
el motor de resolucin no tendra que obtener el diagrama de red y ms visual
enfatizando el camino crtico y rellenando las duraciones en el mismo
diagrama.
Se recuerda que, dado el diseo de la aplicacin, la precisin de los
resultados generados est ntimamente relacionada con la opcin de resolucin
que se seleccion en la aplicacin debido a que para generar un resultado
plausible la aplicacin requiere una desborrosificacin de las duraciones.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 201 -
17. BIBLIOGRAFA
[GIL_99] Gil-Aluja, J. (1999). Elements for a theory of decisition in
uncertainty. Boston, London, Dordrecht: Kluwer Academic
Publishers, (versin espaola de Ed. Milladoiro).
[GIL_98] Gil-Aluja, J. (1998). Investment in uncertainty. Boston,
Dordrecht, London: Kluwer Academic Publishers.
[GIL_97] Gil-Aluja, J. (1997). The interactive management of the human
resources in uncertainty. Dordretch, The Netherlands: Kluwer
Academic Publishers.
[KAUF93] Kaufmann, A. y Gil-Aluja, J (1993). Tcnicas especiales para la
gestin de expertos. Santiago de Compostela, Espaa: Ed.
Milladoiro.
[KAUF71] Kaufmann, A. (1971). Introduccin a la combinatoria y sus
aplicaciones. Barcelona, Espaa: Ed. C.E.C.S.A.
[KAUF86] Kaufmann, A. y Gil-Ajula, J. (1986). Introduccin de la teora de
los subconjuntos borrosos a la gestin de las empresas.
Santiago de Compostela, Espaa: Ed. Milladoiro.
[KAUF95] Kaufmann, A. y Gil-Aluja, J. (1995). Grafos neuronales para la
economa y la gestin de empresas. Madrid: Ed. Pirmide.
[KAUF91] Kaufmann, A. y Gil-Aluja, J. ((1991). Selection of affinities by
means of fuzzy relations and Galois lattices. Actas del Euro XI
Congress. O.R. Aachen: 16-19 julio.
[KAUF92] Kaufmann, A. y Gil-Aluja, J. (1992). Tcnicas de gestin de
empresa. Previsiones, decisiones y estrategias. Madrid: Ed.
Pirmide.
[KAUF93] Kaufmann, A. y Gil-Aluja, J. (1993). Tcnicas especiales para la
gestin de Expertos. Santiago de Compostela, Espaa: Ed.
Milladoiro.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 202 -
[MATE03] Mateos Perera, Jess. (2003). La programacin en la
construccin. El PERT en versin completa. (2 edicin ampliada
y revisada). BELLISCO, Ediciones Tcnicas y Cientficas.
[POMA77] Pomares Martnez, Juan. (1977). Planificacin grfica de obras.
Gantt C.P.M. P.E.R.T. Roy.... Editorial Gustavo Gili, S.A.
Barcelona.
[ROME83] Romero Lpez, Carlos. (1983). Tcnicas de Programacin y
Control de proyectos. (2 edicin corregida). Ediciones Pirmide,
S.A. Madrid.
[SANT99] Santana, Gerardo. (1999). Planificacin y control de Proyectos.
ROJAS EBERHARD Editores Ltda.
[AREN00] Arenas Reina, Jos Manuel. (2000). Control de tiempos y
productividad. PARANINFO.
[LOCK90] Gestin de Proyectos. Dennis Lock. Paraninfo. 1990
[PERA91] Direccin y Gestin de Proyectos. Jaime Per Brand Daz de
Santos. 1991
[COMP88] Planificacin y Rentabilidad de Proyectos Industriales Ramn
Compays Pascual, Albert Corominas Subas Marcombo (Serie
Productiva). 1988
[YUE_89] Aplicaciones Prcticas del PERT/CPM Luis Yue Chuen-Tao
Deusto. 1989
[PRAD88] Administracin de Proyectos con PERT/CPM. Darci Prado
Paraninfo. 1988Paraninfo. 1988
[BARR01] Barranco, J. Metodologa del anlisis estructurado de sistemas.
ISBN: 84-8468-043-6. Sal Terrae. 2001.
[ARMS05] Armstrong, E., Ball, J., Bodoff, S., Carson, D., Evans, I., Green,
D., Haase, K., Jendrok, E. The J2EE 1.4 Tutorial. Sun Java
System Platform Edition. 2005.


ANLISIS DE UNA RED DE ACTIVIDADES
CON DURACIONES CONOCIDAS Y BORROSAS


- 203 -
[HERB07] Herbert, S. Fundamentos de Java. ISBN: 9-70-105930-1.
McGraw-Hill. 2007.
[KOLL07] Kolling, M., Warnes, D. Programacin orientada a objetos con
java ISBN: 8-48-322350-3. Prentice-Hall. 2007.
[ZADE65] Zadeh, L. (1965). Fuzzy Sets. Information and Control, vol. 8,
june.

Anda mungkin juga menyukai