Beruflich Dokumente
Kultur Dokumente
PROFESOR GUA:
OSCAR BARROS VERA
MIEMBROS DE LA COMISIN:
PATRICIO ANGUITA OSORIO
LUIS SERPA TAMAYO
SANTIAGO DE CHILE
DICIEMBRE 2012
RESUMEN
Controlca S.A., es una empresa venezolana, fundada en los aos 70, con el fin
de ofrecer servicios de consultora en el rea de las telecomunicaciones. Controlca
tiene una amplia trayectoria en este mbito, lo cual le ha permitido posicionarse entre
las ms prestigiosas consultoras de Venezuela. Si bien, es cierto que Controlca tiene
esta trayectoria, requiere mejoras en su sistema de gestin y control, especficamente
en el manejo y control de horas hombre llevadas a cabo por los lderes de proyecto y
dems ingenieros involucrados en las tareas de diversos proyectos que la empresa
ejecuta.
i
ABSTRACT
More precisely, the need for the company is to efficiently manage its projects and
the resources assigned to them. It also requires the optimization of the assignment of
tasks to trained human resources based on the knowledge profile they have.
Because of this, the motivation to develop a solution that efficiently manages and
plans the use of man-hours for the completion of projects arises. The solution will be
generated from the internal point of view of the company to give a more accurate and
closer to reality response. This will allow to lead the project in a way that this solution will
be feasible and applicable within a medium period of time. The impact of this solution
will be directly related to its main customer Inelectra, in terms of efficiency and delivering
of high quality products at lower costs and in the shortest time possible.
ii
DEDICATORIA
A Dios.
Por haberme dado salud y fuerza para lograr este anhelado objetivo profesional. Por su
infinita bondad y amor.
A mis padres.
Por ser el pilar fundamental en todo lo que soy, en toda mi educacin, tanto acadmica,
como de la vida, por su incondicional apoyo perfectamente mantenido a travs del
tiempo.
A mi amada esposa.
Por su incansable apoyo, dedicacin y amor que me brinda da a da para alcanzar
nuevas metas, tanto profesionales como personales.
iii
AGRADECIMIENTOS
A mis amigos.
Quienes me han apoyado durante todos estos aos en mi formacin profesional y que
hasta ahora, seguimos siendo amigos: Eduardo Ferro, Gustavo Angulo, Jos Enrique
Gonzlez Cornejo, Luis Eduardo Serpa, Josefina Tamayo y Eduardo Stiassni.
A Ana Mara, Laura y Don Oscar por su total aceptacin y disposicin en este proceso.
iv
INDICE
v
4.2. Anlisis FODA ................................................................................................... 30
4.2.1. Fortalezas ................................................................................................... 30
4.2.2. Oportunidades ............................................................................................ 30
4.2.3. Debilidades ................................................................................................. 31
4.2.4. Amenazas ................................................................................................... 31
4.3. Caracterizacin del mercado............................................................................. 31
4.3.1. Estado actual .............................................................................................. 31
4.3.2. Tamao ...................................................................................................... 32
4.3.3. Segmentacin ............................................................................................. 32
4.3.4. Localizacin ................................................................................................ 32
5. EL PROYECTO ....................................................................................................... 33
5.1. Planteamiento Estratgico ................................................................................ 33
5.1.1. Planteamiento estratgico, tipo de diferenciacin y ventajas competitivas. 35
5.1.2. Posicionamiento Estratgico segn Hax .................................................... 36
5.1.3. Solucin integral al cliente .......................................................................... 37
5.2. Modelo de Negocios.......................................................................................... 39
5.3. Propuesta de valor ............................................................................................ 41
5.3.1. Variables a considerar ................................................................................ 41
5.4. Recursos Claves ............................................................................................... 42
5.5. Procesos Claves ............................................................................................... 43
5.6. Beneficios esperados ........................................................................................ 43
5.6.1. Cuantificacin de los Beneficios ................................................................. 44
5.7. Definicin del Proyecto...................................................................................... 44
5.7.1. El problema ................................................................................................ 45
5.7.2. Objetivos estratgicos ................................................................................ 45
5.7.3. Evaluacin Financiera ................................................................................ 47
5.7.4. Plan de Marketing ....................................................................................... 48
6. REDISEO DEL PROCESO DE NEGOCIOS Y APOYO COMPUTACIONAL ........ 49
6.1. Relacin con el cliente ...................................................................................... 53
6.2. Planificacin, Programacin y Control Proyectos de Telecomunicaciones ....... 57
6.3. Control de Proyectos ......................................................................................... 62
7. DISEO IMPLEMENTADO COMO APOYO A LOS PROCESOS ........................... 64
vi
7.1. DIAGRAMA DE PAQUETES ............................................................................. 64
7.2. CASOS DE USO ............................................................................................... 66
7.2.1. Detalles de los Casos de Uso ..................................................................... 67
7.2.2. Ingreso Proyectos ....................................................................................... 67
7.2.3. Ingreso Tareas............................................................................................ 68
7.2.4. Buscar Proyectos Similares ........................................................................ 68
7.2.5. Buscar Proyectos........................................................................................ 68
7.2.6. Asignacin Tareas ...................................................................................... 68
7.2.7. Ver Recursos Disponibles .......................................................................... 69
7.2.8. Ingreso Recursos........................................................................................ 69
7.2.9. Notificar Asignaciones ................................................................................ 69
7.2.10. Control de Tareas ....................................................................................... 69
7.2.11. Registro de Tareas ..................................................................................... 70
7.2.12. Informe de Avances .................................................................................... 70
7.3. DIAGRAMAS DE ESCENARIOS ...................................................................... 70
7.3.1. Ingreso de Proyectos .................................................................................. 71
7.3.2. Planificacin de Proyectos.......................................................................... 72
7.3.3. Control de Proyectos .................................................................................. 72
7.4. DIAGRAMAS DE SECUENCIA EXTENDIDOS Y CLASES .............................. 74
7.4.1. Ingreso de Proyectos .................................................................................. 75
7.4.2. Planificacin de Proyectos.......................................................................... 79
7.4.3. Control de Proyectos .................................................................................. 82
8. PRUEBA DE CONCEPTO ....................................................................................... 85
9. DESARROLLO DEL PROTOTIPO .......................................................................... 95
9.1.1. Control de Proyectos .................................................................................. 96
9.1.2. Listado y Creacin de Proyectos ................................................................ 97
9.1.3. Planificacin de Proyectos.......................................................................... 99
9.1.4. Sistema de Alertas.................................................................................... 101
9.1.5. Actualizacin de Proyectos ....................................................................... 102
9.1.6. Autogeneracin de cartas Gantt ............................................................... 102
9.1.7. Panel de Control ....................................................................................... 103
10. GENERALIZACIN DE LA EXPERIENCIA ....................................................... 105
vii
11. PERSPECTIVAS FUTURAS DEL PROYECTO DE GRADO ............................. 108
12. BIBLIOGRAFIA................................................................................................... 110
viii
1. PLANTEAMIENTO Y MOTIVACIONES DEL PROYECTO
Ya han pasado ms de treinta (30) aos desde su fundacin, veinte (20) de los
cuales lleva aliado con el que ahora es su cliente ms importante, Inelectra, empresa
lder en el rea de ingeniera, procura y construccin de proyectos de gran envergadura
en los sectores petrolero, petroqumico y de generacin elctrica.
Controlca por tanto, tiene una amplia trayectoria que le ha permitido posicionarse
entre los mejores en el mbito de la consultora en el campo de las telecomunicaciones.
1
Controlca, en su afn de encontrar mejoras continuas y con el fin de solventar lo
anteriormente expuesto, busca el rediseo de sus procesos internos, con el fin de
incorporar nuevos procesos y tecnologas que le permitan una planificacin, gestin,
administracin y seguimiento de todos sus proyectos de telecomunicaciones de forma
ptima y eficiente que brinde mejores resultados, tangibles y medibles, tanto para ella
como para su principal cliente, Inelectra.
En lo que sigue, este documento representa una sntesis acadmica que posee
el mayor nivel de detalle posible, de cada una de las diferentes etapas a desarrollar,
para as llevar a cabo este proyecto y as lograr el xito deseado.
2
Consultora
Gerencia de Proyectos
Inspeccin y supervisin de la puesta en marcha
IPGC
Controlca cuenta con una nmina de veinticinco (25) personas que prestan
servicio a tiempo completo en la empresa, entre los que se encuentran veinte (20)
ingenieros y un (1) tcnico , especializados en varios campos tcnicos, principalmente:
telecomunicaciones, electricidad, electrnica, computacin, administracin y mercadeo.
Cabe destacar que la cantidad de personas que laboran en Controlca puede llegar a ser
variable dependiendo de la rotacin de personal.
3
Gerencia de construccin de sistemas de telecomunicaciones
Sistemas de Telecomunicaciones
Cableado estructurado cobre
Cableado fibra ptica
LAN
WAN
Wireless LAN
Telefona
Videoconferencia
Televisin
Sonorizacin
Voceo e intercomunicacin
Radio comunicaciones
4
empresas. El sistema SAT recibe, tarifica y almacena la informacin de las llamadas
telefnicas, cursadas por la central telefnica para su posterior procesamiento.
2.3.1. Misin
5
2.3.2. Visin
2.4. Objetivos
6
Actualmente la organizacin de Controlca se estructura segn el siguiente
organigrama, en el cual se destacan las siguientes unidades organizativas:
Direccion General
2.6. Clientes
Sector bancario
Sector empresarial
Sector consultora
Sector industrias bsicas
Sector comunicaciones
Sector petrlero
7
Sector educativo
Sector clnicas
Estudio de factibilidad
Ingeniera conceptual y bsica
Ingeniera de detalle
Gerencia de proyectos
Construccin
Gerencia de construccin
Ingeniera de procesos
Procura
Gerencia de procura
Parada de plantas
Arranque y puesta en marcha
Los segmentos de mercado que atiende Inelectra estn dirigidos hacia las
siguientes reas que representan bsicamente al rea de la energa:
8
Petroqumica
Transporte, distribucin y almacenamiento de hidrocarburos
Instalacin de plataformas costafuera
Generacin y transmisin de electricidad
9
determina la duracin de la actividad, los requerimientos de los diferentes tipos de
recursos y cualquier otra caracterstica asociada con la actividad.
10
ejecuciones de un programa computacional, etc. Cada tarea puede tener diferentes
niveles de prioridad, as como tiempos de posibles inicios. Los objetivos pueden tomar
varias formas: minimizar los tiempos de finalizacin de la ltima tarea, minimizar el
nmero de tareas luego de una fecha de entrega acordada, etc.
El RCPSP puede ser un problema difcil tanto desde el punto de vista tcnico
como de implementacin. El tipo de dificultades encontradas en los aspectos tcnicos
son similares a las encontradas en otras ramas de optimizacin combinatoria y
modelado estocstico. Las dificultades encontradas desde el punto de vista de la
implementacin son de distintas clases y estn relacionadas al modelado de problemas
de scheduling del mundo real y la recuperacin de informacin.
11
travs de un grafo conocido como grafo disyuntivo, como el que se muestra en la
siguiente figura.
Sujeto a:
12
La ecuacin (1) representa la funcin objetivo de cada modelo respectivamente,
makespan o duracin del proyecto. Las ecuacin (2) representa el tiempo de inicio de
cada actividad en el modelo de programacin binaria, el cual debe ser nico dada la
caracterstica de no interrupcin de las actividades, es decir, las que obligan a que una
actividad, una vez iniciada, debe continuarse hasta su terminacin. Las ecuacin (3)
representa las restricciones de precedencia en cada modelo respectivamente, una
actividad slo puede iniciar una vez terminadas todas las actividades predecesoras. Las
ecuacin (4) representan las restricciones de recursos de cada modelo
respectivamente; en cualquier tiempo la cantidad de recursos utilizados por todas las
actividades en ejecucin no debe superar la disponibilidad de cada tipo de recurso
correspondiente. Las ecuacin (5) indica que las variables de decisin de la formulacin
binaria nicamente pueden tomar los valores 0 1.
3.1.2. Metodologa
13
actividades 1. Sin embargo, un proyecto de 60 actividades se puede considerar pequeo
si se compara con los casos reales; por lo tanto, toda discusin acerca de la solucin
del RCPSP se centra en algoritmos aproximados que cada autor, desde su enfoque,
plantea como eficientes.
1 V. Valls, F. Ballestn, S. Quintanilla. "Justification and RCPSP: a technique that pays". European Journal of Operational Research.
14
alcanzada hasta el momento. En los mtodos de ramificacin y poda es esencial afinar
las cotas, ya que eso previene la necesidad de buscar en secciones grandes del
espacio de soluciones.
15
Funcion RyP {
P = Hijos(x,k)
mientras ( no vacio(P) )
x(k) = extraer(P)
si esFactible(x,k) y G(x,k) < optimo
si esSolucion(x)
Almacenar(x)
sino
RyP(x,k+1)
}
3.1.3. RESCON
16
procesos atingente con este trabajo, por lo que es necesario su conocimiento, el cual se
detalla a continuacin.
17
3.2.1. Definiciones
18
Desarrollar y gestionar polticas, procedimientos, plantillas y otra
documentacin compartida del proyecto.
Coordinar la comunicacin entre proyectos.
Los proyectos varan en tamao y complejidad. Todos los proyectos, sin importar
cun pequeos, grandes, sencillos o complejos sean, pueden configurarse dentro de la
estructura del ciclo de vida que se muestra en la siguiente figura: Ejemplo de un
proyecto de una sola fase.
Si bien existen varias posibilidades para trabajar proyectos con varias fases,
sean esta secuenciales, iterativas o superpuestas, por ejemplo, se debe mantener la
19
idea de gobernabilidad del proyecto a lo largo de su ciclo de vida, que no es ms que
proporcionar un mtodo integral y coherente de controlar el proyecto y asegurar el xito.
3.2.3. Interesados
20
Clientes / Usuarios: personas u organizaciones que usarn el producto.
Patrocinador: persona o grupo que proporciona los medios financieros para
el proyecto.
Administrador de portafolio: responsables de la gobernabilidad de alto nivel
de un programa o conjunto de proyectos.
Administrador de programa: responsables de la gestin coordinada de
proyectos relacionados.
PMO: cuerpo o entidad que tiene varias responsabilidades relacionadas con
la direccin centralizada y coordinada de los proyectos.
Jefe de proyecto: encargado de alcanzar los objetivos del proyecto.
Equipo del proyecto: equipo conformado por el director, equipo de direccin
y otros miembros.
Directores funcionales: personas clave que desempean el rol de gestores
dentro de un rea administrativa o funcional de una empresa.
Gerente operaciones: aquellos que desempean una funcin de gestin en
un rea medular de una empresa.
Vendedores del negocio: compaas externas que celebran un contrato
para el proyecto.
Son aquellos procesos realizados para definir un nuevo proyecto o una nueva
fase de un proyecto ya existente, mediante la obtencin de la autorizacin para
comenzar dicho proyecto o fase.
21
1. Desarrollar el Acta de Constitucin del Proyecto: documento formal que
autorice un proyecto.
2. Identificar a los Interesados: identificar a todas las personas impactadas
por el proyecto.
3.2.4.2. Proceso de Planificacin
Aquellos procesos requeridos para establecer el alcance del proyecto, refinar los
objetivos y definir el curso de accin necesario para alcanzar los objetivos para cuyo
logro se emprendi el proyecto.
22
11. Determinar el Presupuesto: sumar los costos estimados para establecer
una lnea base de costos.
12. Planificar la Calidad: identificar requisitos de calidad y/o normas para el
proyecto, documentando cmo se demostrar el cumplimiento con los
mismos.
13. Desarrollar el Plan de Recursos Humanos: identificar roles dentro de un
proyecto, responsabilidades, habilidades y comunicacin en la direccin del
personal.
14. Planificar las Comunicaciones: determinar necesidades de informacin de
los interesados en el proyecto para definir cmo abordar las comunicaciones.
15. Planificar la Gestin de Riesgos: definir cmo realizar las actividades de
gestin de riesgos.
16. Identificar Riesgos: determinar riesgos que puedan afectar el proyecto y
documentarlos.
17. Realizar Anlisis Cualitativo de Riesgos: priorizar los riesgos para realizar
otros anlisis, evaluando y combinando la probabilidad de ocurrencia e
impacto de dichos riesgos.
18. Realizar Anlisis Cuantitativo de Riesgos: analizar numricamente el
efecto de los riesgos identificados sobre los objetivos generales del proyecto.
19. Planificar la Respuesta a los Riesgos: desarrollar opciones y acciones para
mejorar las oportunidades y reducir las amenazas a los objetivos del
proyecto.
20. Planificar las Adquisiciones: documentar las decisiones de compra para el
proyecto.
23
2. Realizar Aseguramiento de Calidad: auditar los requisitos de calidad y los
resultados obtenidos a partir de medidas de control de calidad.
3. Adquirir el Equipo del Proyecto: confirmar los recursos humanos
disponibles y formar el equipo necesario para completar las asignaciones del
proyecto.
4. Desarrollar el Equipo del Proyecto: mejorar las competencias, la
interaccin de los miembros del equipo y el ambiente para lograr un mejor
desempeo.
5. Dirigir el Equipo del Proyecto: dar seguimiento al desempeo de los
miembros del equipo, proporcionar retroalimentacin, resolver problemas y
gestionar cambios.
6. Distribuir la Informacin: poner la informacin relevante a disposicin de los
interesados.
7. Gestionar las Expectativas de los Interesados: comunicarse y trabajar en
conjunto con los interesados para satisfacer sus necesidades y abordar los
problemas.
8. Efectuar Adquisiciones: obtener respuestas de los vendedores, seleccionar
uno y adjudicar un contrato.
24
5. Controlar el Cronograma: dar seguimiento a la situacin del proyecto para
actualizar el avance del mismo y gestionar cambios a la lnea base del
cronograma.
6. Controlar Costos: dar seguimiento a la situacin del proyecto para actualizar
el presupuesto del mismo y gestionar cambios a la lnea base de costo.
7. Realizar Control de Calidad: dar seguimiento y registrar los resultados de la
ejecucin de actividades de control de calidad, a fin de evaluar el desempeo
y realizar los cambios necesarios.
8. Informar el Desempeo: recopilar y distribuir informacin sobre el
desempeo, como informes de estado, mediciones de avance y
proyecciones.
9. Dar Seguimiento y Controlar los Riesgos: implementar planes de
respuesta a los riesgos identificados, residuales y nuevos riesgos y evaluar la
efectividad del proceso.
10. Administrar las Adquisiciones: gestionar las relaciones de adquisiciones,
supervisar el desempeo del contrato y efectuar cambios y correcciones
segn sea necesario.
25
3.2.5. Agrupamiento de Procesos por rea de Gestin
26
4.1. Anlisis de las Fuerzas de Porter
27
5. Costes o facilidades del cliente de cambiar de empresa: los costos de
cambiar de empresa por parte del cliente, Inelectra, son altos dada la relacin
de confianza y de conocimiento que ha construido con Controlca desde hace
mas de 15 aos.
6. Disponibilidad de informacin para el comprador: el cliente tiene acceso a
toda la informacin de la empresa, tanto de las soluciones que ofrece como
de los aspectos financieros, sobre los cuales puede ejercer control.
7. Capacidad de integrarse hacia atrs: actualmente Controlca es
considerada parte de la estructura organizativa de Inelectra.
8. Existencia de productos sustitutivos: existen otras empresas consultaras
que se manejan en el mismo rubro.
9. Sensibilidad del comprador al precio: bajo, dado que la alianza estratgica
entre ambas empresas hace que la competencia no pueda igualar los
precios.
10. Ventaja diferencial (exclusividad) del producto: dado que la empresa
entrega un servicio integral, pasa a ser una ventaja para el cliente contar con
un servicio completo de planificacin, control y gestin de proyectos de
telecomunicaciones.
28
3. Valor de la marca: alto, dado que el trabajo realizado por Controlca es
diseado a la medida del cliente final cumpliendo los altos estndares de
calidad de Inelectra.
4. Costes de cambio: alto, dada la relacin de confianza y de conocimiento que
ha construido con Controlca desde hace ms de 15 aos con Inelectra.
5. Requerimientos de capital: alto, dada las exigencias actuales que impone el
cliente a sus aliados comerciales.
6. Ventajas absolutas en coste: alta, dado que Controlca obtiene mrgenes de
ganancia menores que la competencia dada la alianza estratgica que
mantiene con Inelectra, lo cual es muy difcil de adoptar por los competidores.
7. Ventajas en la curva de aprendizaje: Controlca tiene ms de 15 aos
dedicado a proyectos de ingeniera especializados en telecomunicaciones en
conjunto con Inelectra, siguiendo sus pautas y estndares de calidad.
Adems adaptndose a sus requerimientos y exigencias.
8. Represalias esperadas: bajo, dado que no existen competidores sustitutos
que puedan ejercer las funciones que hoy en da cumple Controlca como
aliado estratgico en el rubro de las telecomunicaciones con Inelectra.
9. Mejoras en la tecnologa: bajo, dado que Inelectra es quien marca la pauta
en los temas tecnolgicos, a los que debe adaptarse Controlca.
29
5. Disponibilidad de sustitutos cercanos: bajo, ya que se desconoce el know
how de la empresa, adems de que no se podra competir con la tarifa de
horas hombre que le ofrece Controlca a Inlectra, su cliente principal.
4.2.1. Fortalezas
4.2.2. Oportunidades
30
Existe una gran cantidad de empresas que reconocen en la gestin, una de
sus principales debilidades, por lo que la necesidad de gestionar con mayor
eficiencia las horas hombre, resulta una oportunidad para ofrecerles
mejores servicios en esta rea.
4.2.3. Debilidades
4.2.4. Amenazas
31
da ms merman en las operaciones de todas las empresas de todos los sectores a
nivel nacional. Estas voltiles condiciones geopolticas que presenta el pas complica la
evolucin de este mercado.
4.3.2. Tamao
4.3.3. Segmentacin
Los segmentos de mercado que atiende Inelectra estn dirigidos hacia las
siguientes reas:
Facilidades de produccin de crudos y gas
Produccin y procesamiento de gas
Refinacin y mejoramiento de crudos
Petroqumica
Transporte, distribucin y almacenamiento de hidrocarburos
Instalacin de plataformas costafuera
Generacin y transmisin de electricidad
4.3.4. Localizacin
32
5. EL PROYECTO
33
eficiente y eficaz, que permita obtener las ventajas sostenibles necesarias en forma
oportuna.
34
En concreto, la motivacin del presente trabajo consiste en el rediseo de los
procesos de planificacin y gestin de proyectos de Telecomunicaciones, dada una
estimacin eficiente de horas-hombre y una planificacin optima que tome en cuenta el
nivel de experticia del recurso humano as como su disponibilidad horaria.
2 Barros, O. Ingeniera e-Business: Ingeniera de Negocios para la Economa Digital. J.C. Sez Editor, 2004.
35
sustentables en el tiempo y con un enfoque sistmico, se utilizar el posicionamiento
competitivo como tipo de ventaja competitiva.
Segn las ideas de Hax 3 una empresa se debe a sus clientes. El centro de la
estrategia debe ser el cliente, intentando atraerlo, satisfacerlo y retenerlo. Dentro de ese
espritu, se establecen 3 visiones las cuales no son 100% excluyentes pero se estudian
de esta manera para su mejor comprensin. Estas visiones se ven representadas en la
siguiente figura.
36
La estrategia Solucin Integral para el Cliente, definida para este proyecto en
particular, se ha escogido ya que en el Modelo de Negocios actual se ha logrado que
Controlca est inserto en la cadena de valor del cliente, al tomar las actividades de
planificacin, programacin y control de proyectos de telecomunicaciones.
37
2. Portafolio Extendido: esta visin consiste en extender el conjunto de
servicios alrededor de las necesidades del cliente. En este caso, Controlca
comienza con el control y gestin de proyectos de telecomunicaciones
para Inelectra, pero implementa en sus procesos tareas de asesoramiento
a las decisiones gerenciales, desarrollando un rol de asesor tecnolgico,
basado en su experiencia.
Hax postula tambin que para aplicarse esta visin desde el inicio las empresas
deben saber cmo centrarse en el cliente y ofrecerle una propuesta de valor que tenga
cuatro atributos, con los cuales cumple este proyecto:
2. Que no sea fcil de imitar: dadas las razones del punto anterior, los ms
de 25 aos de trabajo profesional en el mbito de las telecomunicaciones
y de las ventajas competitivas con que cuenta Controlca para el desarrollo
de de forma rpida y eficiente de proyectos en esta rea tan especifica de
la consultora hacen que esta solucin sea muy compleja y difcil de imitar
e inclusive de reemplazar por parte de Inelectra.
38
lazo inquebrantable, pues se ha trabajado en una relacin basada en la
confianza y en los buenos resultados que los desarrollos realizados por
Controlca han logrado.
39
Recursos
Procesos clave
clave
Formula de
beneficio
Propuesta de valor
Recursos Claves: los recursos claves, son activos tales como las personas,
tecnologa, productos, instalaciones, equipos necesarios para entregar la propuesta de
valor al cliente.
Procesos Claves: son aquellos procesos que permiten generar valor de forma
satisfactoria.
Producto
Los documentos y planos de los Sistemas de Telecomunicaciones y
Vigilancia Electrnica
Libros de ingeniera
40
Requisiciones de materiales
Anlisis tcnicos
Cliente
Para el producto anteriormente descrito se tienen el siguiente cliente:
Inelectra
Se deber tener una especial preocupacin por los tiempos definidos para cada
tarea, para lo que ser necesario establecer una medicin de los tiempos de
implementacin de cada una de ellas y cmo stos varan de una implementacin a
41
otra, tratando de seccionar cada tarea lo ms que sea posible, a modo de poder
establecer tiempos de desarrollo ms fidedignos, ya que si una tarea es muy especfica
y puntal, es ms fcil de determinar su duracin que si fuese ms general y poco
acotada.
Lderes de proyectos
Es el recurso humano indispensable y adecuado para poder impulsar de forma
exitosa la solucin en la organizacin. Son las personas adecuadas para promover el
cambio en el modelo paradigmtico que implica el desenvolvimiento laboral de los
ingenieros participantes de cada uno de los proyectos.
Tecnologa
La tecnologa habilitante que asistir la solucin ser Microsoft.Net Framework,
que hace nfasis en la transparencia de redes, con independencia de plataforma de
hardware y que permita un rpido desarrollo de aplicaciones.
Informacin
Se necesita comunicar de manera clara y transparente, as como de forma
asertiva y oportuna todos los cambios que la solucin implica, a todo el recurso humano
que participar de la misma, sto con el objetivo de manejar una misma informacin sin
ambigedades, lo que permite una mejor cohesin en los equipos que desempean las
actividades en cada proyecto.
42
5.5. Procesos Claves
Este punto ser tratado en la seccin 5 del presente informe con mayor detalle.
Los beneficios esperados una vez que el sistema este implementado son:
43
c) Disminucin de tiempos de diseo, evitando el recurso ocioso:
Se estima que, con la realizacin de este proyecto, las variables para cuantificar
sus beneficios se vern reflejadas en los tiempos de desarrollo de productos y costos
asociados a los mismos, as como la precisin en la planificacin y asignacin de
recursos.
Directos
Disminucin de tiempos de planificacin y mayor precisin en la definicin de
plazos y costos de las actividades a realizar
Disminucin de los costos totales inherentes al proyecto (impacto directo en
el cliente)
Mayor precisin en la asignacin de recursos (menos contrataciones)
Indirectos
Aumento de los niveles de satisfaccin de los clientes.
Disminucin de los tiempos de desarrollo de los proyectos, lo que se traduce
en una disminucin en los costos.
44
Para ello debe optimizar los procesos de planificacin y gestin de proyectos de
ingeniera en telecomunicaciones, haciendo nfasis en la planificacin ms que en la
gestin.
5.7.1. El problema
Este primer objetivo implica la determinacin acertada del clculo de las horas-
hombre necesarias de cada producto para completar con xito cada una de las tareas
especficas, a travs de ciertos criterios de estimacin de diseo que miden la
complejidad del proyecto.
El segundo objetivo estratgico del proyecto consiste en: generar una ptima
planificacin de horas-hombre a lo largo del desarrollo de cada proyecto en base a la
45
experiencia, destreza y habilidades de los recursos disponibles, asegurando su
disponibilidad horaria para el exitoso desarrollo de las tareas.
Estos objetivos entregan las bases para definir las mtricas que permitirn
cuantificar el xito del proyecto. stas permitirn desarrollar los conceptos de un cuadro
integral de mando, el cual considerar las siguientes estrategias e iniciativas:
46
5.7.3. Evaluacin Financiera
47
A continuacin se muestran los costos por llevar a cabo un proyecto expresados
en moneda local, el Bolvar.
N Horas x Total de
Total de Costo
Da Horas Costo Total
Semanas HH
(promedio) Semanales
Jefe de Proyecto 1 2 10 20 Bs. 45,00 Bs. 9.000,00
Jefe de Proyecto 1 2 10 20 Bs. 45,00 Bs. 9.000,00
Ingeniero de Proyecto 1 6 30 20 Bs. 25,00 Bs. 15.000,00
Ingeniero de Proyecto 2 6 30 20 Bs. 25,00 Bs. 15.000,00
Servidor Bs. 5.000,00
Bs. 53.000,00
Para dar respuesta a las necesidades actuales que posee Controlca en el rea
de su gestin de horas hombre, se define el siguiente plan de marketing que pretende
vender el presente proyecto a la mencionada empresa.
Tcticas:
1. Coordinar reuniones con los directivos de Controlca a fin de darles a
conocer el proyecto
48
2. Dirigir workshops dedicados a los lderes de proyectos a fin de que
conozcan la implementacin del proyecto
3. Establecer una pauta de preguntas y respuestas frecuentes que puedan
ser abordadas en las reuniones y workshops, para esclarecer todo tipo de
dudas sobre la implementacin del proyecto.
4. Coordinar una reunin para discutir el presupuesto con el cual se
manejar la venta del proyecto.
49
Macroprocesos
Preparacin y
Planificacin del Ejecucin de Gestin de Recursos
Negocio Proyectos de Habilitadores
Telecomunicaciones
Planificacin
Produccin y entrega
Programacin y
Relacin con el cliente Proyectos de
Control Proyectos
Telecomunicaciones
Telecomunicaciones
Definicin de Sistemas y
Planificacin de Produccin de Emisin de
Productos de Control de Proyectos
Proyectos Documentos y Planos Documentos y Planos
Telecomunicaciones
50
En esta arquitectura de procesos, el macroproceso ms relevante para el modelo
de negocios propuesto es Preparacin y Ejecucin de Proyectos de
Telecomunicaciones (Macro 1) , de la cual se describirn cada uno de los
subprocesos relevantes en el rediseo. Este macroproceso representa la cadena de
valor de Controlca, ya que en ste, es donde se generan los diferentes productos que
ofrece la empresa a su cliente, Inelectra.
51
especialistas en el area de las telecomunicaciones y afines, adquirir nuevos software
de desarrollo, nuevos equipos, entre otros, en fin, todo lo que sea recurso habilitante
para desarrollar los documentos y planos de forma efectiva, eficiente y de calidad.
52
Relacin con el cliente: comprende las actividades de anlisis que se
requieren para inducir y guiar las ventas, as como las actividades de ventas, contactos
por servicios al cliente, procesamiento de rdenes y preparacin de ofertas, adems
incluye la decisin de factibilidad y conveniencia de aceptarlas.
Los procesos donde se pretende impactar directamente son los relacionados con
la planificacin y gestin del proyecto, especficamente en Relacin con el Cliente y
Planificacin, Programacin y Control Proyectos de Telecomunicaciones.
53
En particular, se incorpora la automatizacin en la generacin de las ofertas,
basada en proyectos antiguos, y la tipificacin de los productos, dados ciertos criterios
de evaluacin y reglas de negocio que afectan el clculo de horas-hombre requeridos
para su desarrollo.
54
Partiendo de la solicitud por parte de Inelectra se definen las siguientes variables
para la estimacin del esfuerzo de diseo, las cuales conforman la primera lgica de
negocios dentro del sistema de apoyo computacional.
Cabe destacar que los resultados de dicha tipificacin sern contrastados con
proyectos reales pasados con el fin de determinar el nivel de error de la estimacin.
Esta etapa ser presentada en la siguiente presentacin del curso.
a) Idioma del proyecto: el idioma base del proyecto ser Espaol, con la
posibilidad de desarrollar proyectos en Ingls, lo cual agrega un cierto
grado de complejidad que hay que tomar en cuenta.
55
c) Factor de riesgo: hace referencia al tipo de cliente y la experiencia
basada en el re-trabajado de productos, de una mala coordinacin o
cambios de alcance. Puede ser definido como: bajo, medio, alto o muy
alto.
a. Ingeniera conceptual
b. Ingeniera bsica
c. Ingeniera de detalle
d. FEED
e. IPC
Es importante destacar que cada producto ser definido con un valor base de
horas necesarias para su produccin. Sobre este valor y definidas las variables de
tipificacin mencionadas anteriormente se realizar un recargo de horas hombre.
56
6.2. Planificacin, Programacin y Control Proyectos de Telecomunicaciones
Una vez definida la carga horaria por producto para su diseo y revisin, se
definen los equipos de trabajo basado en el perfil del ingeniero, es decir, su experiencia
en desarrollo de Sistemas de Telecomunicaciones, especficamente los requeridos por
57
el proyecto, as como en la disponibilidad de horario que posea, basado en los datos
entregados por el sistema, referentes a las asignaciones previamente otorgadas y no
finalizadas.
58
El algoritmo toma como entradas los siguientes datos:
Los datos del proyecto son interpretados en forma de grafo, como se presenta a
continuacin:
4Demeulemeester, E., and Herroelen, W., 1992, A branch-and-bound procedure for the multiple resource-constrained
project scheduling problem, Management Science 38(12), pp 1803-1818.
59
A partir de los resultados obtenidos por el RESCON, el sistema genera la ptima
planificacin y asignacin de recursos posible, tomando como premisa la disminucin el
los tiempo de desarrollo del proyecto y optimizacin en el uso de los recursos
disponibles.
60
Asignacin de tareas: recursos tipo 2
61
Ms adelante se demostrar mediante una prueba de concepto, que los
resultados obtenidos mediante el uso de herramientas para solucin de problemas de
planificacin tipo RCPSP, mejoran significativamente la asignacin de actividades y la
planificacin de proyectos. Estos resultados se miden en base a la disminucin del
tiempo de ejecucin de los proyectos y la maximizacin del uso de recursos mediante la
ptima asignacin de actividades.
62
administracin de hojas de tiempo, estado de entrega de los productos en los plazos
estipulados e informacin de estado del proyecto por parte de los ingenieros, lderes de
telecomunicaciones y otras disciplinas de Inelectra.
63
De forma similar que el subproceso anterior, el subproceso Estado de Proyecto
permitir conocer y actualizar el estado del proyecto dado cambios de alcance y
avances en entregas, tanto por Controlca como por Inelectra, permitiendo de esta
manera su interaccin.
64
desarrollar el diseo y la evaluacin del proyecto. sto termina con un plan detallado de
trabajo para cada proyecto de telecomunicaciones, incluyendo tareas, personal
asignado a cada tarea, fechas en las cuales deben terminar las tareas y, como
consecuencia la fecha de finalizacin del proyecto. Una parte importante de esta lgica
es la asignacin de las personas a los proyectos, de acuerdo a sus habilidades y
experiencia, y la estimacin de los tiempos para las diferentes tareas del proyecto, la
cual puede basarse en antecedentes estadsticos de proyectos anteriormente
realizados.
Paquete
Atendedor de
requerimientos Paquetes de
datos del cliente
Paquete
Planificador de
recursos Paquete de datos de
productos de
telecomunicaciones
Paquete de
anlisis de
capacidad
65
telecomunicaciones que requieren; un paquete de datos del cliente, que contendra un
repositorio de datos de proyectos antiguos y datos relevantes para la creacin de
ofertas; un paquete de datos de productos de telecomunicaciones que contenga
repositorio de posibles productos de telecomunicaciones a ser ofrecidos; un paquete
planificador de recursos que posea la lgica de determinacin de recursos; y un
paquete de anlisis de capacidad que posea la lgica de asignacin de tareas.
66
Los casos de uso diseados cubren desde el ingreso de nuevos proyectos hasta
el control y seguimiento de tareas. A continuacin se muestra el diagrama de casos de
uso que muestra las relaciones entre estos y los actores antes mencionados:
67
7.2.3. Ingreso Tareas
Tiene relacin directa con el caso de uso anterior, ya que es mediante esta
funcionalidad que es posible obtener las tareas y productos que componen a un nuevo
proyecto.
Permite hacer una bsqueda de proyectos para visualizar los estados de avance
y atraso, as como la asignacin de nuevas tareas.
68
7.2.7. Ver Recursos Disponibles
69
7.2.11. Registro de Tareas
Ingreso de Proyectos
Planificacin de Proyectos
Control de Proyectos
70
7.3.1. Ingreso de Proyectos
71
El proceso de ingreso del nuevo proyecto finaliza una vez que el Lder de
Proyecto aprueba dicho ingreso.
72
comn para todos el personal del Proyecto, por lo que todos, incluyendo al Lder y Jefe
de Proyecto deben registrar las horas hombre trabajadas en el proyecto.
Control de Eventos
Lder de Proyecto
Jefe de Proyecto
Ingeniero de Proyecto
Inelectra
73
Es importante resaltar que el proceso Control de Eventos puede realizado
indistintamente por: Lider de Proyectos, Jefe de Proyectos, Ingeniero de Proyectos o
Inelectra.
En esta fase se establecen las Clases participantes en los Casos de Uso y se les
asigna un tipo dentro de la nomenclatura UML, ya sea Boundary, Control o Entity.
La Realizacin de los Casos de Uso, que es la manera en que las clases interactan en
la ejecucin de la lgica, se presenta por medio de Diagramas de Secuencia Extendidos
o realizaciones, el cual corresponde al diseo lgico del sistema.
74
Dicho diseo se realiza identificando los componentes de la arquitectura general
de apoyo a los procesos y se mapean a clases UML como sigue:
Interfaz: Boundary
Controlador Interaccin, Lgica de Interfaz, Lgica de Negocio: Control
Capa datos: Entity
Ingreso de Proyectos
Planificacin de Proyectos
Control de Proyectos
Boundary
Pgina de inicio: pgina web que le permite al usuario interactuar con el
sistema. En este caso, permitirle establecer los criterios que definen el
proyecto.
Pgina de resultados: pgina web que permite a la aplicacin
entregarle los resultados de las consultas realizadas. En este caso, el
sistema despliega la lista de productos
75
Control
Control de interaccin: funciona como control principal y es a travs del
cual se administra la comunicacin entre los Boundary y los controles
ejecutores de lgica.
Lgica de Traduccin XML: interpreta la informacin almacenada en
formato XML referente a los criterios de seleccin del proyecto y genera
una pgina web en html.
Lgica de estimacin: determina en base a los criterios definidos por el
usuario los productos e telecomunicaciones a ser realizados en un
proyecto especfico, as como su valor de horas hombre.
Entity
Proyecto: clase cuyos atributos definen los datos que se almacenarn
en una base de datos relativa al proyecto; stos se registran en esta
base de datos mediante los controles de interaccin, los cuales a su vez
toman informacin almenada que define los criterios de seleccin del
proyecto.
76
Seguidamente se presenta el diagrama de realizacin: Aprobacin de Proyecto.
77
El proceso de definicin de tareas y ponderacin de horas hombre lo realiza el
sistema en base a los criterios definidos por el Lder de Proyectos. Esta tarea la realiza
el control Lgica de Estimacin en base a una lista base de productos predefinidos,
los cuales tienen un valor de horas hombre mnimo, el cual se va incrementando dada
la informacin suministrada por el Lder de Proyectos.
78
7.4.2. Planificacin de Proyectos
Boundary
Pgina de inicio: permite definir el grupo de trabajo del proyecto.
Pgina de resultados: el sistema despliega la carta Gantt y
asignaciones por tarea.
Control
Control de interaccin: funciona como control principal y es a travs del
cual se administra la comunicacin entre los Boundary y los controles
ejecutores de lgica.
Lgica de Priorizacin: genera la planificacin del proyecto en base a
la lista de tareas asignadas al proyecto.
Lgica de Staffing Multiskill: asigna las tareas a los ingenieros del
proyecto en base a informacin de disponibilidad y nivel de conocimiento
de los mismos.
79
Entity
Tarea: define los datos relacionados a las asignaciones del proyecto y su
avance
Proyecto: clase cuyos atributos definen los datos que se almacenarn
en una base de datos relativa al proyecto
Recursos: define los datos relacionados al personal de la empresa, as
como sus conocimientos y destrezas
80
Los diagramas presentados anteriormente detallan el proceso de planificacin de
cada nuevo proyecto ingresado al sistema. Esta tarea es realizada por el Lder de
Proyectos, quien en base al personal disponible y con el perfil adecuado define su
grupo de trabajo para el desarrollo del proyecto.
Los dos puntos ms relevantes son los relacionados con las lgicas de
priorizacin y asignacin de recursos. La lgica de priorizacin toma como referencia
informacin preestablecida sobre reglas de prioridad, es decir, cada producto tiene
asociada una serie de condiciones que le permiten al sistema definir el momento en el
deber planificarse el inicio de dicha actividad. Por otro lado, la lgica de asignacin de
recursos se basa en el perfil de destrezas y conocimientos de cada ingeniero, as como
su disponibilidad horaria para definir el grupo de ingenieros que formar parte del grupo
de trabajo del proyecto.
81
7.4.3. Control de Proyectos
Boundary
Pgina de inicio: permite ingresar cambios al proyecto a travs de
eventos, as como las horas hombre empleadas para el desarrollo de un
producto.
Pgina de resultados: el sistema despliega informacin de confirmacin
sobre avances y eventos.
Control
Control de interaccin: funciona como control principal y es a travs del
cual se administra la comunicacin entre los Boundary y los controles
ejecutores de lgica.
Control de HH: actualiza el avance del proyecto en funcin de eventos y
finalizacin de tareas.
82
Entity
Tarea: define los datos relacionados a las asignaciones del proyecto y su
avance
Proyecto: clase cuyos atributos definen los datos que se almacenarn
en una base de datos relativa al proyecto
Recursos: define los datos relacionados
83
En el diagrama se presentara a Inelectra como iniciador del proceso de ingreso
de eventos.
84
8. PRUEBA DE CONCEPTO
La prueba de concepto se realiz con dos proyectos del tipo ingeniera bsica.
Para cada uno de stos, se tomaron las siguientes condiciones iniciales: nmero de
actividades, tiempo de cada actividad, orden de prioridad de las actividades, grupo de
trabajo definido y perfil de cada recurso.
85
Este proyecto requiere ingenieros con las siguientes capacidades:
Vigilancia electrnica
CCTV
VOCEO
Control de acceso
Deteccion de intrusos
Networking
Cableado estructurado
Canalizaciones
LAN
Proteccin industrial
86
DOCUMENTOS
ACTIVIDAD HH TIPO PRIORIDAD
BASES Y CRITERIOS DE DISEO SISTEMAS DE TELECOMUNICACIONES 64 3 1
BASES Y CRITERIOS DE DISEO SISTEMAS DE PROTECCIN INDUSTRIAL 64 3 1
ESPECIFICACIONES GENERALES CABLEADO ESTRUCTURADO 64 3 2
ESPECIFICACIONES GENERALES LAN 64 3 2
ESPECIFICACIONES GENERALES CCTV 64 2 2
ESPECIFICACIONES GENERALES VOCEO 64 2 2
ESPECIFICACIONES GENERALES CONTROL DE ACCESO 64 2 2
ESPECIFICACIONES GENERALES DETECCIN DE INTRUSOS 64 2 2
ESPECIFICACIONES GENERALES CANALIZACIONES PARA TELECOMUNICACIONES 64 3 2
PLANOS
ACTIVIDAD HH TIPO PRIORIDAD
BASES Y CRITERIOS DE DISEO SISTEMAS DE TELECOMUNICACIONES 64 3 1
ARQUITECTURA SISTEMAS DE PROTECCIN INDUSTRIAL 96 3 1
DIAGRAMA DE BLOQUE DE LA RED LAN 68 3 2
UNIFILAR CABLEADO ESTRUCTURADO 136 3 2
UNIFILAR VOCEO 68 2 2
UNIFILAR CCTV 68 2 2
UNIFILAR CONTROL DE ACCESO 68 2 2
UNIFILAR DETECCIN DE INTRUSOS 68 2 2
SIMBOLOGA SISTEMAS DE TELECOMUNICACIONES Y PROTECCIN INDUSTRIAL 52 3 1
UBICACIN DISPOSITIVOS SISTEMAS PROTECCIN INDUSTRIAL 36 3 3
UBICACIN EQUIPOS Y DISPOSITIVOS SISTEMAS TELECOMUNICACIONES 36 3 3
UBICACIN DISPOSITIVOS SISTEMAS PROTECCIN INDUSTRIAL 64 3 3
UBICACIN EQUIPOS Y DISPOSITIVOS SISTEMAS TELECOMUNICACIONES 64 3 2
DOCUMENTOS PLANOS
HH TIPO SEC ID HH TIPO SEC ID
64 R2 1 1 64 R2 1 10
64 R2 1 2 96 R2 1 11
64 R2 2 3 68 R2 2 12
87
DOCUMENTOS PLANOS
64 R2 2 4 136 R2 2 13
64 R1 2 5 68 R1 2 14
64 R1 2 6 68 R1 2 15
64 R1 2 7 68 R1 2 16
64 R1 2 8 68 R1 2 17
64 R2 2 9 52 R2 1 18
36 R2 3 19
36 R2 3 20
64 R2 3 21
64 R2 2 22
88
Asignacin de recursos tipo 2
89
Carta Gantt
90
Proyecto 2: Siderrgica Nacional - Infraestructura General
91
ACTIVIDADES HH TIPO PRIORIDAD
ESTRUCTURADO (FIBRA PTICA AREA EXTERNA)
COMPUTOS MTRICOS EQUIPOS Y MATERIALES LAN 52 2 4
COMPUTOS MTRICOS EQUIPOS Y MATERIALES VOCEO E
36 1 4
INTERCOMUNICACION (AREA EXTERNA)
COMPUTOS MTRICOS EQUIPOS Y MATERIALES CCTV (AREA
36 1 3
EXTERNA)
COMPUTOS MTRICOS EQUIPOS Y MATERIALES CONTROL DE
36 1 2
ACCESO (AREA EXTERNA)
COMPUTOS MTRICOS EQUIPOS Y MATERIALES VIGILANCIA
24 1 2
PERIMETRAL
92
Seguidamente, se presenta la ptima asignacin de recursos tipo 2, tipo 3 y tipo
4, segn la lgica del algoritmo Branch & Bound, as como la Carta Gantt del proyecto
optimizado.
93
Asignacin de recursos tipo 4
Carta Gantt
Tambin es posible apreciar que los recursos tipo 2, quedan libres transcurridas
230 horas desde el inicio del proyecto, lo cual permitira trasladarlos a nuevos proyectos
que requieran expertos con las capacidades tipo 2. De forma similar los recursos tipo 4
slo se necesitan durante 136 horas consecutivas, por lo que el resto del tiempo
podran apoyar otros proyectos.
94
Das usados Real HH usados Simulacin Ahorro (das)
57 47 10
Una vez diseados los procesos, es fundamental brindarle a los usuarios una
plataforma que los soporte y les de facilidades para registrar, controlar y darle
seguimiento a sus proyectos, que como ya se ha mencionado, antes el diseo de los
procesos no era estructurada y careca de buenas prcticas. Como bien se ha
fundamentado en el Marco Terico, se han seguido las pautas enunciadas por el PMI
(Project Management Institute), organizacin que se ha vuelto un estndar en lo que a
administracin de proyectos se refiere, para el desarrollo de dicho sistema.
95
El desarrollo de este prototipo ha fomentado nuevas iniciativas para la gestin de
proyectos, las cuales sern implementadas a futuro como una mejora y apoyo al
sistema base. El xito de este prototipo, en cuanto a su utilidad y estrategia de
desarrollo modular, determin que el sistema fuera ampliado para incluir el control y
planificacin de proyectos de ingeniera de detalle y FEED.
96
9.1.2. Listado y Creacin de Proyectos
97
Para la creacin de un nuevo proyecto el administrador deber definir los
siguientes parmetros: Categoras y Sub-Categoras de Sistemas de
Telecomunicaciones, Idioma del proyecto, Localizacin del Proyecto, Factor de riesgo,
Tipo de Proyecto (para el piloto solo se considero: Ingeniera Bsica), Complejidad de
Edificios y Zonas, Inicio Esperado, Final Acordado.
98
Una vez generado el CDP el proyecto queda en estado "Pendiente por
Aprobacin", esperando a que Inelectra (cliente directo) lo apruebe.
99
Este mdulo busca maximizar el uso de horas hombre disponible en recursos
calificados con el fin de minimizar la contratacin de nuevo personal, es por ello que al
momento de autorizar la ejecucin de la planificacin el sistema devuelve como
resultado una tabla con indicadores que comparan la solucin ptima, calculada en
base a la disponibilidad, perfil del ingeniero y tipos de tareas, con la solucin
"preferente", la cual toma en cuenta los usuarios pre-seleccionados por el
administrador. A continuacin se presenta una figura que detalla los resultados
obtenidos en cada caso.
100
En caso de que el total de horas-hombre supere el total disponible, entonces el
sistema informar la cantidad de personas sugeridas para contratacin, as como el
perfil mnimo de conocimiento que debera poseer (categora).
101
9.1.5. Actualizacin de Proyectos
102
9.1.7. Panel de Control
103
El sistema cuenta con una bitcora, la cual sirve como un libro de comentarios
por proyecto que registra informacin de los usuarios y la sube al sistema. Estos
comentarios quedan disponibles para que cualquier usuario los revise y se mantenga al
tanto de los avances del proyecto. Cada vez que un usuario agrega un comentario, una
notificacin es enviada por correo electrnico a los integrantes del proyecto. De alguna
manera sirve como una especie de sistema de gestin documental. A continuacin se
presenta una figura que ejemplifica el Libro de Comentarios de un Proyecto.
104
10. GENERALIZACIN DE LA EXPERIENCIA
105
A continuacin se presenta la estructurad el problema de forma genrica.
Los objetos del sistema que se pueden personalizar para adaptarse a una
situacin especfica son los siguientes:
Mtodos analticos
Algoritmos de optimizacin
Estos objetos varan segn el dominio al cual se aplica el sistema. Por lo tanto, el
sistema deber estar construido de forma tal que permita el remplazo de dichas clases
por paquetes de clases de especializacin de dominio.
106
A continuacin se presentan los Business Object referentes al dominio descrito.
107
Algunas consideraciones tcnicas que se deben tener en cuenta para lograr una
ptima especializacin del sistema:
Los beneficios obtenidos mediante este diseo son de suma importancia, ya que
se logra personalizar el domino del negocio de la empresa en cuestin, sin intervenir el
sistema. Algo mucho ms potente es la situacin de separar la lgica especfica de un
negocio, del resto de la lgica del sistema. Esto ltimo permite que el desarrollo de la
primera sea realizada por el departamento de informtica de la empresa en donde se
implementar el sistema, consiguiendo guardar exclusividad y reserva de estas clases
de negocio, al no compartirlas con el proveedor del sistema, protegiendo as su know-
how.
La idea inicial del proyecto era la de un ejercicio intelectual que demostrara que,
empleando metodologas de optimizacin, era posible mejorar sustancialmente la
asignacin de tareas y el uso del personal en los proyectos de telecomunicaciones
llevados a cabo por la empresa Controlca.
A medida que se fue desarrollando este trabajo, los alcances fueron cambiando y
tambin la visin a futuro de la empresa en cuanto al uso prctico de dicho proyecto.
Dados los resultados obtenidos, y al ser contrastados con los datos reales, surgi la
necesidad de mejorar la metodologa implementada por la empresa hasta el momento.
Este proceso se desarroll basndose en los estudios y levantamiento de procesos
realizados en este proyecto de grado, para dar inicio a lo que sera el replanteamiento
en la asignacin de tareas al personal calificado de la empresa.
108
Es por ello, que este proyecto no solo queda como ejercicio intelectual, ni como
una prueba de concepto, sino que ser tomado como base para el desarrollo de
metodologas que permitan optimizar el uso de las horas hombre, as como la
asignacin de recursos y la planificacin de los proyectos.
109
12. BIBLIOGRAFIA
1. Algoritmo heurstico hbrido con mltiples vecindarios y recocido simulado para resolver el
RCPSP, Consultada en Julio de 2012
http://www.scielo.unal.edu.co/scielo.php?script=sci_arttext&pid=S0120-
62302010000600025&lng=es&nrm=&tlng=es
110
10. PMBOK Guide and the library of PMI standards, 2012, Consultada en Enero de 2012,
www.pmi.org
13. Anlisis Porter de las cinco fuerzas, 2010, Consultada en Julio 2011,
http://es.wikipedia.org/wiki/An%C3%A1lisis_Porter_de_las_cinco_fuerzas
14. El Modelo Delta un Nuevo Marco Estratgico, 2003, Consultada en Junio 2011, Arnoldo
C. Hax, MIT
15. Arnoldo Hax sobre la relacin del Modelo Delta con los "strategic frameworks" ms
tradicionales, 2008, Consultada en Junio 2011
16. http://innovacionygestion.bligoo.com/content/view/208497/Arnoldo-Hax-sobre-la-relacion-
del-Modelo-Delta-con-los-strategic-frameworks-mas-tradicionales.html
111
ANEXO A
112
!" #$%&'()%*+ ,- .('/,$
01/'$'2 . "34567 !"
89:9%(;<1,('/,$<'=1
>?@ABCDA
EFGH IJIKL MGNKH JO PNKLNGKQ PR J OKQ JIILPJSF TP UKV q '),1(9' ,$)*(h%$'= u(,8'9* v9i'=1;%$/ tuvw
HPWLSK XPOHTLJGOKY ZLP[KST \SFKYW]GOM^ EFK JIILPJSF
GH _JHKY PO TFK SP`_GOJTGPO PR J OPNK] PITG`GaJTGPO m(,j;'k 9,$)%)*) ,- h )'* ,- *h)p)2 h$= h )'* ,- }$%*'
TKSFOGbWK QGTF ]G`GTKY YGHSLKIJOSc HKJLSFd JOY MKOKLV 9hmh9%*+ ('),1(9')< 0h9i *h)p m1*) ),k' ='kh$= ,$
JTKH TFK _KHT eOPQO HP]WTGPOH TP _KOSF`JLe ILP_]K`H *i' ('),1(9')< ~,( 'shkm;'2 9ih$/%$/ *i' ,%; k%/i*
PR LKJ]GHTGS HGaK JOY SFJLJSTKL^ ('r1%(' ,$' l,(pkh$ h$= ,$' 9h( ;%-*< q mh(*%h; ,(7
='(%$/ ,$ *i' *h)p) %) h;), /%&'$ )m'9%-+%$/ *ih* ),k'
f *h)p) k1)* m('9'='= ,*i'() t 2 +,1 ih&' *, )h$= *i'
j,h(= j'-,(' +,1 9h$ mh%$* %*w< '$'(h;;+ *i' /,h; %) *,
g%)*,(%9h;;+ *i'(' ih) ,-*'$ j''$ h k%)kh*9i j'*l''$ k%$%k%x' khp')mh$ l%*i,1* &%,;h*%$/ *i' m('9'='$9'
*i' *+m') ,- )9i'=1;%$/ m(,j;'k) *ih* ih&' j''$ )*1=7 9,$)*(h%$*) ,( ,&'(71*%;%x%$/ *i' ('),1(9')<
%'= h9h='k%9h;;+ h$= *i' $''=) ,- *i' kh$1-h9*1(%$/ uv %) k,(' /'$'(h; *ih$ 8,j )i,m j'9h1)' ('7
9,kk1$%*+< ni' k,)* ,j&%,1) =%o'('$9' %) *ih* kh$+ ),1(9') 9h$ ih&' 9hmh9%*+ /('h*'( *ih$ ,$'2 h$= j'7
('h; m(,j;'k) h(' k19i ;h(/'( *ih$ 9,kk,$ h9h='k%9 9h1)' *h)p) 9h$ 1)' h 9,;;'9*%,$ ,- ('),1(9')< ni%) h;7
j'$9ikh(p)< q )'9,$=2 h$= 'r1h;;+ %km,(*h$*2 =%-7 ;,l) ('),1(9') *, j' *hp'$ *, j' h$+*i%$/ -(,k )9h(9'
-'('$9' %) *ih* ('h; m(,j;'k) /'$'(h;;+ %$&,;&' 9,$7 *,,;)2 *, )m'9%h;%x'= l,(pk'$2 *, l,(p x,$') t)19i h)
)*(h%$*) *ih* ih&' h k,(' 9,km;'s )*(19*1(' *ih$ 9h$ *i' 9,9pm%* ,- h$ h%(m;h$'w< uv m(,j;'k) h(%)' %$
j' 'sm('))'= l%*i%$ h ;%k%*'= -(hk'l,(p ;%p' 8,j )i,m hmm;%9h*%,$) (h$/%$/ -(,k h%(9(h-* h))'kj;+ *, 9i'k%7
)9i'=1;%$/< 9h; ('}$%$/<
$ *i%) mhm'( l' ,&'(&%'l ,$/,%$/ l,(p ,$ ('),1(9' ~,(kh;;+2 '),1(9' ,$)*(h%$'= u(,8'9* v9i'=1;%$/
9,$)*(h%$'= m(,8'9* )9i'=1;%$/ tuvw< uv %) h /'$7 %) *i' -,;;,l%$/
'(h;%xh*%,$ ,- 8,j )i,m )9i'=1;%$/ %$ li%9i *h)p) 9h$ q )'* ,- *h)p) 2 h )'* ,- ('),1(9') 2 h
1)' k1;*%m;' ('),1(9')2 h$= ('),1(9') 9h$ ih&' h 9h7 9hmh9%*+ -1$9*%,$ 2 h =1(h*%,$ -1$9*%,$
mh9%*+ /('h*'( *ih$ ,$'< uv %) *i1) h /,,= k,='; 2 h 1*%;%xh*%,$ -1$9*%,$ 2 h mh(*%h;
-,( m(,j;'k)2 ;%p' h%(9(h-* h))'kj;+2 *ih* 9h$$,* j' 's7 ,(='( ,$ 2 h$= h ='h=;%$' <
m('))'= h) 8,j )i,m m(,j;'k)< $ -h9*2 %- l' *hp' h(7 q$ h))%/$k'$* ,- )*h(* *%k') 2
/1hj;+ *i' k,)* l%=';+ 1)'= 9,kk'(9%h; )9i'=1;%$/ )h*%)-+%$/ *i' -,;;,l%$/
m(,/(hk 2 y%9(,),-* u(,8'9*2 uv )''k) *, 9hm*1('
'sh9*;+ *i' ,m*%k%xh*%,$ m(,j;'k *ih* *i' z('),1(9' < u('9'='$9' 9,$)*(h%$*) %- m('9'=') %$ *i' mh(7
;'&';'({ %$ u(,8'9* ),;&')< *%h; ,(='( 2 *i'$ tw tw tw<
* *1($) ,1* *ih* *i' h;/,(%*ik) *ih* ih&' j''$ ='7
&';,m'= -,( 8,j )i,m )9i'=1;%$/ =, $,* l,(p mh(*%97 < '),1(9' 9,$)*(h%$*) ~,( h$+ *%k' 2 ;'*
1;h(;+ l';; -,( uv< $ *i%) mhm'( l' ,&'(&%'l h$ tw tw tw tw ni'$ -,(
hmm(,h9i *, uv *ih* %) jh)'= ,$ *i' 9,kj%$h*%,$ h;; *%k') 2 h$= h;; 2 t w
,- ;%k%*'= =%)9('mh$9+ )'h(9i t|vw l%*i h $,&'; ,m7 t w<
*%k%xh*%,$ *'9i$%r1'< ni' (')1;*%$/ )+)*'k m(,=19')
*i' j')* p$,l$ )9i'=1;') -,( m(,j;'k) ,- ('h;%)*%9 )%x' 6< |'h=;%$' ~,( h;; *h)p) tw 5 h$= tw tw
h$= 9ih(h9*'(< <
9+9;' h) *i' '$= m,%$* ,- *i' 91(('$* )9i'=1;'< q$7
.1( 'sm'(%k'$*) ih&' j''$ (1$ ,$ h )'(%') ,- m(,j;'k) ,*i'( hmm(,h9i %) *, )';'9* *i' (%/i* ih$= '$= m,%$*
kh=' h&h%;hj;' ,$ *i' h* (h$=,k;+< ni%) *'$=) *, )ihp' *i%$/) 1m h j%* h$=
khp') %*'(h*%$/ *i' ,m*%k%x'( k,(' 'o'9*%&'<
.$9' *i' (%/i* ih$= '$=m,%$* %) )';'9*'= l' (%/i*
j+ h((+ ~,s ,- y9|,$$';; |,1/;h) h$= yh(p %$/'( )i%-* *i' )9i'=1;'< $ *i' (%/i* )i%-* l' *hp' *i' *h)p)
,- g,$'+l';;2 )'(&%$/ h) '$9ikh(p) v'9('*h(+ %$ *i' %$ ,(='( ,- ='9('h)%$/ }$%)i *%k') t%<'<2 -(,k *i' (%/i*
qqq vyq h$= %$ *i' qqq qn2 (')m'9*%&';+< ih$= '$=w< ' )i%-* 'h9i *h)p h) -h( (%/i* h) %* l%;;
ni')' m(,j;'k) ih&' 3 *h)p) h$= 3 ('),1(9')< v,k' /,< $ =,%$/ *i%) )i%-* l' 9,$)%='( ,$;+ m('9'='$9'
,- *i' ('),1(9') ('m(')'$* x,$' t/',k'*(%9w 9,$)*(h%$*)2 9,$)*(h%$*) h$= ('),1(9' 9,$)*(h%$*) l%*i m('&%,1);+
h$= ),k' ('m(')'$* ;hj,( 9,$)*(h%$*)< hj,( h&h%;hj%;7 )i%-*'= *h)p) t,$' lh+ *, *i%$p hj,1* *i%) %) *, '$&%)%,$
%*+ &h(%') j+ )i%-*< ni%) %) h )+$*i'*%9 m(,j;'k *ih* *i' $'l (%/i* ih$= '$=m,%$* h) j'%$/ h* m,)%*%&' %$7
ih) j''$ /'$'(h*'= -(,k 'sm'(%'$9' l%*i k1;*%m;' ;h(/' }$%*+ *i' *h)p) *ih* ih&' $,* +'* j''$ )i%-*'= =, $,*
)9h;' h))'kj;+ m(,j;'k)< * %) 9,kmh(hj;' *, ('h; m(,j7 %$*'(-'(' l%*i *i' 9,$)*(19*%,$ ,- *i' $'l )9i'=1;'w<
;'k) %) )%x' h$= 9ih(h9*'(2 j1* )%km;'( %$ *i' 9,km;'s7 .$9' *i' (%/i* )i%-* %) 9,km;'*'=2 l' ;'-* )i%-* jh9p
%*+ ,- *i' 9,$)*(h%$*)< *, *%k' x'(,2 )*h(*%$/ -(,k *i' j'/%$$%$/ ,- *i' (%/i*
ni' (')1;*) *ih* ih&' j''$ m,)*'= *, *i' *, )i%-*'= )9i'=1;'< q) j'-,('2 l' ;'-* )i%-* h) -h( h) m,)7
=h*' h(' )i,l$ %$ }/1(' < yh(p %$/'( ) (')1;*) l'(' )%j;' )1j8'9* *, m('9'='$9' 9,$)*(h%$*)2 h$= ('),1(9'
-,1$= 1)%$/ h )%km;'2 }()* }*2 %$*'(&h; jh)'= h;/,(%*ik 9,$ X %9*) l%*i m('&%,1);+ ;'-* )i%-*'= *h)p)<
l%*i $, ,m*%k%xh*%,$< ni'+ l'(' m,)*'= *, '$9,1(h/' ni%) )'r1'$9' 9h$ j' %*'(h*'=< q* ),k' m,%$*)
,*i'( 9,$*(%j1*%,$)2 (h*i'( *ih$ *, /'$'(h*' *i' j')* *i%) m(,=19') ;,$/'( )9i'=1;') tm,))%j;+ *i'$ -,;;,l'=
),;1*%,$) m,))%j;'< j+ )i,(*'( )9i'=1;') h-*'( h==%*%,$h; %*'(h*%,$)w< q*
m(')'$* l' ih&' $, *i',('*%9h; k'*i,= *, m('=%9* *i'
FP ZLP_]K` PTK ,m*%kh; $1kj'( ,- %*'(h*%,$) l' )%km;+ %*'(h*' *'$
*%k') h$= p''m *i' j')* )9i'=1;' m(,=19'=<
JLe UGOMKL ! " # POKcQK]] n, )'' *i' ,m*%k%xh*%,$ l,(p)2 9,$)%='( *i' 'shkm;'
GTGO $ MJLQJ] % ! ! \ $ \ )i,l$ %$ }/1(' <
XP]GO & K]] ' V V ( OGN^ PR ) PQJ
& JLLc *P+ , S - POOK]] - PWM]JH
XLJQRPLY ./0 120 , 3 X )U 4
XLJQRPLY ./0 120 , ' , 54 PQKL & PWOY 6 Y 6
~%/1(' ')1;*)
Y
ni' *l, k,)* %km,(*h$* k'*i,=) 1)'= %$ ,1( )9i'=1;'( ~%/1(' q )%km;' )9i'=1;%$/ m(,j;'k <
h(' =,1j;'jh9p ,m*%k%xh*%,$ h$= ;%k%*'=7=%)9('mh$9+
)'h(9i< ' =%)91)) 'h9i %$ *1($ h$= *i'$ =%)91)) i,l
*i'+ l,(p *,/'*i'( %$ *i' )9i'=1;'(<
789:;<:=>? @ABCD CE=BC8F Y 6
ni' ,m*%k%x'( )*h(*) l%*i h$+ )9i'=1;' )h*%)-+%$/ *i'
m('9'='$9' 9,$)*(h%$*) h$= /'$'(h*') h ;'/h; th$= ,-*'$
h )i,(*'(w )9i'=1;'< * l,(p) %$ *l, )*'m) h (%/i* )i%-* Y
h$= *i'$ h ;'-* )i%-* th &'(+ )%k%;h( *'9i$%r1'2 GHI JK
LM NOHPQR lh) %$='m'$='$*;+ %$&'$*'= m('&%,1);+ j+
h((+ ~,s S""! T w< ~%/1(' 6 q jh= )9i'=1;'<
' }()* ')*hj;%)i *i' (%/i* ih$= '$= m,%$*< '9h;; g'(' *i' j,s') ('m(')'$* *h)p) h$= *i' h((,l) ('m7
*ih* *i' h&h%;hj%;%*+ ,- ),k' ;hj,( ('),1(9') &h(%') j+ (')'$* m('9'='$9' (';h*%,$)< ni' $1kj'() %$ *i' j,s')
)i%-*< '9h1)' ,- *i%) %* *1($) ,1* *ih* %* kh**'() li'(' h(' *i' ('),1(9') *i' *h)p) $''=< ~,( *i%) 'shkm;' h;;
%$ *i' =h%;+ 9+9;' *i' '$=m,%$* %) )'*< ni' j')* i'1(%)7 ('),1(9') ih&' 9hmh9%*+ ,$'<
*%9 )''k) *, j' *, )'* %* h* *i' )hk' m,%$* %$ *i' =h%;+ $ ,(='( *, j('hp *i' ('),1(9' 9,$ X %9* j'*l''$ *i'
U EFGH QJH V LHT P_HKLNKY _c W PK ZK`_KLTPO^ *l, *h)p) 1)%$/ ('),1(9' ,$'2 l' ih&' *, ')*hj;%)i h$
A @ A 9,$*'$*%,$ j+ ')*hj;%)i%$/ h$ ,(='(%$/ j'*l''$ 9,k7
m'*%$/ *h)p)<
ni' 9ih;;'$/' ,- j('hp%$/ ('),1(9' 9,$*'$*%,$ %) *ih*
Y 6 l' =, $,* p$,l li%9i *h)p l%;; *1($ ,1* *, j' *i' k,)*
%km,(*h$*< $ ),k' 9h)') %* %) ,j&%,1) li%9i *h)p) h('
k,)* 9(%*%9h;< ~,( 'shkm;'2 %- h *h)p k1)* j' -,;;,l'=
Y j+ h ;,$/ )'(%') ,- *h)p)2 *i'$ 9;'h(;+ l' lh$* *, /%&'
%* h i%/i m(%,(%*+
,*i'(l%)' %* l%;; j' m,)*m,$'= h$=
A @ A *i' {*h%;{ ,- *h)p) *ih* -,;;,l %* %) ;%p';+ *, 's9''= *i'
='h=;%$'< #$-,(*1$h*';+ %* %) $,* /'$'(h;;+ *i%) )%k7
Y 6 m;' t,( ';)' )9i'=1;%$/ l,1;= j' *(h9*hj;'w< $ '))'$9'
lih* /,') l(,$/ %) *ih* l' =, $,* p$,l i,l ih(=
%* l%;; j' *, )9i'=1;' *i' )'*) ,- *h)p) *ih* k1)* -,;7
;,l *i' 9,$ X %9*%$/ *h)p)< g,l'&'(2 %- l' )*h(* -(,k h
Y {)''={ )9i'=1;'2 *i'$ l' 9h$ ='9%=' l%*i ('-'('$9' *,
*i' )''=2 i,l ih(= *i' )1j)'r1'$* *h)p) l%;; j'2 h$=
1)' *i%) %$-,(kh*%,$ *, khp' j'**'( ='9%)%,$) hj,1*
~%/1(' 4 ni' 'o'9* ,- h (%/i* h$= *i'$ ;'-* )i%-*< *h)p m(%,(%*%')<
* *1($) ,1* *ih* *i%) %) 'sh9*;+ lih* *i' ,m*%k%x'(
,(='(%$/ j'*l''$ *i' *h)p)< q))1k' *ih* l' =, *i%) =,')< ni' (%/i* )i%-* m1)i') h;; *h)p) h) ;h*' h) m,))%j;'<
$,$7,m*%kh;;+2 /'$'(h*%$/ *i' )9i'=1;' )i,l$ %$ }/1(' v,2 %- h *h)p %) $'h( *i' j'/%$$%$/ ,- *i' (%/i* )i%-*'=
6< )9i'=1;'2 %* %) *i'(' j'9h1)' %* k1)* j' -,;;,l'= j+ h
,l 9,$)%='( lih* ihmm'$) li'$ l' hmm;+ *i' ,m*%7 ;h(/' $1kj'( ,- *h)p)< v, %* )i,1;= j' /%&'$ i%/i m(%7
k%x'(< ni' (%/i*7)i%-*'=2 h$= *i'$ ;'-*7)i%-*'=2 )9i'=7 ,(%*+< ni%) %) 'sh9*;+ lih* *i' ;'-* )i%-* =,') *i' ;'-*
1;') h(' )i,l$ %$ }/1(' 4< ni' p'+ *i%$/ *, $,*%9' %) )i%-*'= )9i'=1;' %) -,(k'= j+ }()* )9i'=1;' *i' *h)p)
*ih* %$ *i' (%/i* )i%-* *i' j,**,k *h)p -h;;) *, *i' '$= *ih* h(' $'h( *i' j'/%$$%$/ ,- *i' (%/i* )i%-*'= )9i'=7
,- *i' )9i'=1;' tj'9h1)' %* ih) $, )199')),()w2 li%;' 1;'<
*i' *,m *h)p %) -,(9'= *, *i' j'/%$$%$/ ,- *i' )9i'=7
1;'< ni1) *i' ;'-* )i%-* )9i'=1;') *i' *,m *h)p }()*2
/'$'(h*%$/ *i' ,m*%kh; )9i'=1;'< ni' (')1;*) ('*1($'= j+ *i' ,m*%k%x'( h(' )'$)%*%&' *,
' 9h$2 ,- 9,1()'2 /'$'(h*' *')* 9h)') %$ li%9i *i' *i' {)''={ )9i'=1;' /%&'$ *, *i' ,m*%k%x'(< .$' 9h$
,m*%k%x'( -h%;) *, }$= *i' )i,(*')* )9i'=1;'2 h$= l' 9,$)*(19* 'shkm;') ,- {jh={ )9i'=1;') *ih* *i' ,m*%7
91(('$*;+ 9h$$,* ,o'( h$+ *i',('*%9h; /1h(h$*'') ,$ k%x'( 9h$$,* 9,(('9*< $ h )'$)' *i' ,m*%k%x'( %) lh;p7
*i' ,m*%k%x'( ) m'(-,(kh$9'< ni' )*(,$/')* )*h*'k'$* %$/ =,l$ *, h p%$= ,- ;,9h; k%$%k1k 2 h$= *i' r1h;%*+
l' 9h$ khp' %) *ih* ,$ *i' j'$9ikh(p 'shkm;')2 *i' ,- *i' }$h; )9i'=1;' ='m'$=) ,$ li'(' *i' lh;p )*h(*)<
,m*%k%x'( %) 'sm'(%k'$*h;;+ *i' )%$/;' k,)* 'o'9*%&' .1( %km;'k'$*h*%,$ 1)') |v tgh(&'+
%$)j'(/
)9i'=1;%$/ *'9i$%r1' l' h(' hlh(' ,-< "" w *, m(,=19' h )'(%') ,- )''= )9i'=1;') *ih* h('
*i'$ mh))'= *, *i' ,m*%k%x'(< g'(' l' /%&' h j(%'-
,&'(&%'l ,- |v< |'*h%;) 9h$ j' -,1$= %$ gh(&'+ h$=
0sm'(%k'$*h;;+ =,1j;'jh9p ,m*%k%xh*%,$ %) r1%*' 'o'97 %$)j'(/ S"" T <
*%&'< v*h(*%$/ l%*i *i' )9i'=1;' *ih* )*h(*) 'h9i *h)p kh/%$' *ih* l' ih&' h )9i'=1;' *ih* )h*%)}') *i'
h) 'h(;+ h) m,))%j;' )1j8'9* *, ,$;+ *i' m('9'='$9' 9,$7 m('9'='$9' 9,$)*(h%$*)2 j1* $,* *i' ('),1(9' 9,$7
)*(h%$*)2 *i' ,m*%k%x'( %) hj;' *, m(,=19' 46 =h+ )9i'=7 )*(h%$*)< ni' $h*1(h; lh+ *, m(,=19' h ;'/h; )9i'=1;' %)
1;') -,( m(,j;'k 4< ni' ,j&%,1) r1')*%,$ %) li+ )19i *, %*'(h*%&';+ m%9p h ('),1(9' 9,$ X %9*2 =';h+ ,$' ,( k,('
h )%km;' *'9i$%r1' l,(p) ), l';;< *h)p) ;,$/ '$,1/i *, j('hp *i' 9,$ X %9*2 h$= *i'$ m(,m7
$ h )'$)' *i' p'+ ='9%)%,$ *, j' kh=' %$ )9i'=1;%$/ h/h*' *i')' =';h+) *i(,1/i *i' m('9'='$9' 9,$)*(h%$*)<
%) *i' ,(='(%$/ ,- *h)p) *ih* 9,km'*' -,( h ('),1(9'< ni%) %)2 %$ -h9*2 i,l ,1( 91(('$* %km;'k'$*h*%,$ l,(p)
$ -h9* *i' )'h(9i m,(*%,$ ,- ,1( hmm(,h9i t)'' j';,lw t)*h(*%$/ -(,k *i' ;'-* )i%-*'= )9i'=1;' )h*%)-+%$/ ,$;+
'))'$*%h;;+ )'h(9i') h;; m,))%j;' lh+) *, j('hp ('),1(9' *i' m('9'='$9' 9,$)*(h%$*)w<
\WSF J `GHTJeK GH WO]GeK]c GO HWSF J H`J]] ILP_]K` d 0h9i 9,$ X %9* *ih* %) j(,p'$ 9('h*') h 9i,%9' m,%$*2
_WT PWL J_G]GTc TP JNPGY JOJ]PMPWH `GHTJeKH GO ]JLMKL ILP_V h$= j('hp%$/ h )'(%') ,- 9,$ X %9*) m(,=19') h )'h(9i *(''<
]K`H GHd GO J HKOHKd TFK KOTGLK HPWLSK PR TFK GOTLJSTJ_G]GTc PR $ *i' 9h)' ,- *i' j'$9ikh(p m(,j;'k) *i%) m(,=19')
HSFKYW]GOM^ h )'h(9i *('' l%*i h j(h$9i%$/ -h9*,( ,- hj,1* *i(''2
h$= h ='m*i ,- hj,1* 555< kh(p'= 2 h$= ), ,$<
ni' *(h=%*%,$h; hmm(,h9i *, )'h(9i%$/ )19i h *('' %) - *i' i'1(%)*%9 %) /'$'(h;;+ 9,(('9*2 j1* ),k'*%k')
*, 1)' h ='m*i7}()* )'h(9i< $ h ='m*i7}()* )'h(9i2 l' khp') k%)*hp') th) %- /'$'(h;;+ *i' 9h)' l%*i i'1(%)*%9)w
khp' h )'(%') ,- ='9%)%,$) 1$*%; l' ('h9i h ;'h- $,=' %$ *i'$ l' 9h$ ('h),$hj;+ 'sm'9* *, }$= /,,= r1h;%*+
*i' *('' t%$ *i%) 9h)' h ;'h- $,=' %) h )9i'=1;' )h*%)-+%$/ )9i'=1;') j+ )'h(9i%$/ *i' $,=') -,( li%9i *i' $1kj'(
j,*i m('9'='$9' h$= ('),1(9' 9,$)*(h%$*)w< ' *i'$ ,- =%&'(/'$9') %) ;,l < - *i' i'%/i* ,- *i' *('' %) 2 *i'$
jh9p 1m *, *i' ;h)* 9i,%9' m,%$* h$= *hp' *i' ,*i'( *i' 9,km;'s%*+ ,- &%)%*%$/ 'h9i $,=' l%*i =%&'(/'$9')
j(h$9i2 h$= -,;;,l %* *, h ;'h- $,='< ' *i'$ jh9p 1m %) < $ m(h9*%9' l' 1)1h;;+ )'* *, ,( < ni%)
h/h%$2 *i%) *%k' *, *i' ;h*')* j(h$9i m,%$* *ih* )*%;; m(,=19') k19i j'**'( (')1;*) *ih$ h ='m*i7}()* )'h(9i
ih) 1$'sm;,('= 9i%;=('$< 'm'h*%$/ *i%) l' '&'$*1h;;+ 'shk%$%$/ *i' )hk' $1kj'( ,- $,=')< ~1(*i'(2 1$;%p'
)'h(9i *i' '$*%(' *(''2 h$= h(' *i1) /1h(h$*''= *, }$= h ;,9h; )'h(9i2 |v %) )+)*'kh*%9 %- l' 9,$*%$1' *,
*i' ,m*%kh; )9i'=1;'< (h%)' = l' h(' /1h(h$*''= *, '&'$*1h;;+ }$= *i' ,m*%kh;
#$-,(*1$h*';+2 %- *i' )'h(9i *('' %) 555 $,=') =''m )9i'=1;'<
*i'$ h ='m*i7}()* )'h(9i l%;; 'shk%$' ,$;+ h *%$+ -(h97
*%,$ ,- *i' '$*%(' )'h(9i *('' tjh9p%$/ 1m m'(ihm) 5 ,(
li%9i *, jh)' *i'%( ='9%)%,$)<
q) h (')1;*2 *(h=%*%,$h; ='m*i7}()* )'h(9i %) (';h*%&';+
;%**;' i';m ,$ )9i'=1;%$/ m(,j;'k)< ni%) ih) ;'h= kh$+
m(h9*%*%,$'() *, '%*i'( 1)' $, )'h(9i t81)* -,;;,l%$/ *i'
i'1(%)*%9 h$= ('*1($%$/ *i' }()* )9i'=1;' m(,=19'=w ,(
*, 1)' h ;,9h; )'h(9i tli%9i 9h$ ('9,$)%='( h$+ ='9%)%,$
h* h$+ m,%$*w< U U
U
U
$ |v l' }s h j,1$= ,$ *i' $1kj'( ,- *%k') l' l%;;
=%&'(/' -(,k *i' i'1(%)*%9< - *ih* j,1$= %) x'(, *i'$ ~%/1(' ! |v )'h(9i *(''<
l' 81)* m(,=19' *i' )%$/;' )9i'=1;' /%&'$ j+ h;lh+) ~%$h;;+ l' )i,1;= $,=' *ih* |v h$= *i' ,m*%k%x'(
-,;;,l%$/ *i' i'1(%)*%9)< - *i' j,1$= %) ,$' *i'$ l' l,(p l';; *,/'*i'(< ni' ,m*%k%x'( %) )'$)%*%&' *, *i'
m(,=19' h )'* ,- )9i'=1;') /'$'(h*'= j+ %/$,(%$/ *i' $h*1(' ,- *i' )9i'=1;' %* /'*) h) %$m1*< v%$9' |v m(,7
i'1(%)*%9 'sh9*;+ ,$9'< =19') h )'(%') ,- ('h),$hj;+ /,,= tj1* =%o'('$*w )''=
ni' =%o'('$9' j'*l''$ |v h$= ='m*i7}()* )'h(9i %) )9i'=1;')2 l' 9h$ ,m*%k%x' 'h9i ,$'2 h$= %$ *i' '$=
%;;1)*(h*'= %$ }/1(') h$= !< $ j,*i )'h(9i *('') *i' m(,=19' h )9i'=1;' *ih* %) )%/$%}9h$*;+ )i,(*'( *ih$
j(h$9i m('-'(('= j+ *i' i'1(%)*%9 %) h;lh+) =(hl$ ,$ l' /'* j+ 81)* ,m*%k%x%$/ *i' )9i'=1;' /%&'$ j+ -,;;,l7
*i' ;'-*< $ }/1(' *i' ;'h&') h(' $1kj'('= h99,(=%$/ %$/ *i' i'1(%)*%9) 'sh9*;+<
*, *i' ,(='( %$ li%9i ='m*i7}()* )'h(9i l%;; &%)%* *i'k < ' 9h$ *hp' *i%) ,$' )*'m -1(*i'( h$= =')%/$ *i'
,*%9' *ih* %- *i' i'1(%)*%9 khp') h k%)*hp' i%/i %$ i'1(%)*%9 *, h&,%= *i' p%$= ,- k%)*hp') *ih* *i' ,m7
*i' *(''2 -,( 'shkm;'2 h* *i' }()* 9i,%9' m,%$*2 *i'$ *%k%x'( 9h$$,* }s< ni%) /,') j'+,$= *i' )9,m' ,-
='m*i7}()* )'h(9i l%;; ih&' *, )'h(9i ih;- ,- *i' )'h(9i *i' 91(('$* mhm'(2 j1* %* *1($) ,1* *ih* l' 9h$ %='$7
*('' j'-,(' 9,(('9*%$/ *i' k%)*hp'< $ *i' |v )'h(9i *%-+ 9'(*h%$ p%$=) ,- *h)p7,(='(%$/ k%)*hp') *ih* h )%k7
*('' t}/1(' !w2 ;'h- $,=') h(' ;hj';'= h99,(=%$/ *, i,l m;' (%/i*7;'-* )i%-* %) 1$hj;' *, 1$*h$/;'< ' 9h$ *i'$
kh$+ *%k') *i' mh*i -(,k *i' (,,* *, *i' ;'h- =%&'(/') /'$'(h*' i'1(%)*%9) *ih* l%;; /'$'(h;;+ h&,%= *i')' k%)7
-(,k *i' i'1(%)*%9 tQ 2 i,l kh$+ (%/i* *1($) h(' $'97 *hp')< ni%) kh+ 9h1)' 1) *, }$= l,()' 1$,m*%k%x'=
'))h(+ *, ('h9i *i' ;'h-w< |v )'h(9i') *i' ;'h&') j+
}()* )'h(9i%$/ *i' ;'h- kh(p'= 52 *i'$ h;; *i' ;'h&') EFGH GYKJ SJ`K PWT PR YGHSWHHGPOH QGTF JTT GOH_KLM^
)9i'=1;')2 j1* j'**'( )9i'=1;') h-*'( ,m*%k%xh*%,$<
' ih&' ,1*;%$'= h$ hmm(,h9i *, uv m(,j;'k) *ih*
%) jh)'= ,$ 1)%$/ |v *, /'$'(h*' h )'(%') ,- z)''={
)9i'=1;') *ih* h(' mh))'= *, h$ ,m*%k%x'( *ih* 9h$ j'
)''$ h) =,%$/ h p%$= ,- )9i'=1;%$/7)m'9%}9 ;,9h; )'h(9i<
ni' (')1;*) h(' 91(('$*;+ *i' j')* p$,l$ ,$ m(,j;'k)
,- ('h;%)*%9 )%x' h$= 9ih(h9*'(< ,(p 9,$*%$1') ,$ *(h$7
)%*%,$%$/ *i%) *'9i$,;,/+ *, &h(%,1) hmm;%9h*%,$ h('h)2
h$= %$9('h)%$/ *i' 9,km;'s%*+ ,- *i' 9,$)*(h%$*) l' 9h$
('m(')'$* h$= 'o'9*%&' ,m*%k%x' 1$='(<
ni%) l,(p ih) j''$ )1mm,(*'= j+ *i' q%( ~,(9' . 9'
,- v9%'$*%}9 ')'h(9i 1$='( /(h$* $1kj'( ~4"! 57" 7
756 42 j+ quq ,k' hj) 1$='( /(h$* $1kj'()
~65!5 7"6775556 h$= ~65!5 7" 7755 62 h$= j+ *i'
h*%,$h; v9%'$9' ~,1$=h*%,$ 1$='( /(h$* $1kj'( 7
"4 5 < ni' l,(p lh) =,$' h* *i' ,km1*h*%,$h;
$*';;%/'$9' ')'h(9i hj,(h*,(+2 h$= ,l') k19i *,
=%)91))%,$) l%*i h;; *i' k'kj'() ,- *i' ;hj2 mh(*%917
;h(;+ yh** %$)j'(/2 ,' u'kj'(*,$2 h$= q(% ,$)7
),$< ~%$h;;+2 l' )i,1;= h== *ih* *i%) l,(p 9,1;= $,*
ih&' j''$ =,$' l%*i,1* *i' 'o,(* h((+ ~,s h$= yh(p
%$/'( ih&' m1* %$ *, khp' ('h;%)*%9 j'$9ikh(p m(,j7
;'k) h&h%;hj;' ,$ *i' <
~,s2 < ""!< q$ h;/,(%*ik -,( )9i'=1;%$/ %km(,&'7
k'$* j+ )9i'=1;%$/ )i%-*%$/< n'9i$%9h; 'm,(* "!< <2
y9|,$$';; |,1/;h) q'(,)mh9' 7 g,1)*,$< y9|,$$';;
|,1/;h) ih) hmm;%'= -,( h mh*'$* ,$ *i%) l,(p<
gh(&'+2 < | <2 h$= %$)j'(/2 y < < "" < %k%*'=
=%)9('mh$9+ )'h(9i< $ HJQR G I L R I
R RO Q RO M QR R RH R
Q HQO M
R MMQK
RH
K 2 &,;1k' 2 !53
!6<
European Journal of Operational Research 112 (1999) 341
Invited Review
Abstract
Project scheduling is concerned with single-item or small batch production where scarce resources have to be allocated
to dependent activities over time. Applications can be found in diverse industries such as construction engineering,
software development, etc. Also, project scheduling is increasingly important for make-to-order companies where the
capacities have been cut down in order to meet lean management concepts. Likewise, project scheduling is very attractive
for researchers, because the models in this area are rich and, hence, dicult to solve. For instance, the resource-con-
strained project scheduling problem contains the job shop scheduling problem as a special case. So far, no classication
scheme exists which is compatible with what is commonly accepted in machine scheduling. Also, a variety of symbols are
used by project scheduling researchers in order to denote one and the same subject. Hence, there is a gap between
machine scheduling on the one hand and project scheduling on the other with respect to both, viz. a common notation
and a classication scheme. As a matter of fact, in project scheduling, an ever growing number of papers is going to be
published and it becomes more and more dicult for the scientic community to keep track of what is really new and
relevant. One purpose of our paper is to close this gap. That is, we provide a classication scheme, i.e. a description of the
resource environment, the activity characteristics, and the objective function, respectively, which is compatible with
machine scheduling and which allows to classify the most important models dealt with so far. Also, we propose a unifying
notation. The second purpose of this paper is to review some of the recent developments. More specically, we review
exact and heuristic algorithms for the single-mode and the multi-mode case, for the timecost tradeo problem, for
problems with minimum and maximum time lags, for problems with other objectives than makespan minimization and,
last but not least, for problems with stochastic activity durations. 1999 Elsevier Science B.V. All rights reserved.
*
Corresponding author. Fax: +49-431-880-1531; e-mail: drexl@bwl.uni.kiel.de
1
E-mail: peter@mathematik.uni-osnabrueck.de
2
E-mail: moehring@math.tu-berlin.de
3
E-mail: neumann@wior.uni-karlsruhe.de
4
E-mail: E.Pesch@uni-bonn.de
0377-2217/99/$ see front matter 1999 Elsevier Science B.V. All rights reserved.
PII S 0 3 7 7 - 2 2 1 7 ( 9 8 ) 0 0 2 0 4 - 5
4 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
Keywords: Project scheduling/resource constraints; Notation; Classication scheme; Single-mode case; Timecost
tradeos; Multi-mode case; Minimum and maximum time lags; Nonregular objectives; Stochastic activity durations;
Constraint propagation
is ready to have a unied notation and a general Sj (Cj ) denotes the start time (completion time)
classication scheme for project scheduling. It is of activity j. Consequently, S S1 ; . . . ; Sn is a
important that this scheme is compatible with schedule and C C1 ; . . . ; Cn is the vector of
what is generally accepted in machine scheduling completion times. ST denes the set of time-fea-
(cf. [77]) and resource-constrained machine sible schedules, SR the set of resource-feasible
scheduling (cf. [18]), because machine scheduling schedules and S SR \ ST the set of feasible
models are special cases of project scheduling schedules. t is an index for time periods. Finally,
models. dijmin and dijmax denote minimum and maximum
In the sequel we will rst propose a unifying time lags, respectively, between the start of activ-
notation. Basically, we assume a project to consist ities i and j. In general, parameters are assumed to
of activities (jobs) 1; . . . ; n. For the sake of sim- be integer-valued.
plicity, in general a unique dummy beginning ac- Table 1 summarizes the notation introduced
tivity 0 and a unique dummy termination activity along with some minor additions.
n 1 are added. Frequently, the structure of the Now we extend the ajbjc-scheme used in the
project is depicted by a so-called activity-on-node machine scheduling literature.
(AON) network where the nodes and the arcs a: Resource environment: To distinguish be-
represent the activities and the precedence rela- tween specic machine scheduling problems and
tions, respectively. G V ; E denotes the graph of project scheduling problems we introduce in the a-
precedence constraints (transitively reduced), eld PS (project scheduling) or MPS (multi-mode
while single precedence constraints are denoted project scheduling). PS can be augmented to PS
alternatively by i ! j or i; j. Predj denes the m; r; q according to the notation of Bla_zewicz et al.
set of direct predecessors while Succj is the set of [18] for resource-constrained machine scheduling.
direct successors of activity j. The processing time In the case of multi-mode project scheduling also
of activity j is given by pj . nonrenewable resources may be considered. In this
There is a set Rq of renewable, a set Rm of case the notation is analogously augmented by
nonrenewable and, possibly, a set of doubly con- MPSm; r; q; l; s; x.
strained resources. Renewable means that a pre-
specied number of units of a resource is available PS project scheduling
for every period of the planning horizon T . Non- MPS multi-mode project scheduling
renewable says that a number of units of a re- PSm; r; q m resources, r units of each
source is available for the entire planning horizon. resource available, each activ-
As usual, we skip the notion of doubly constrained ity requires at most q units of
resources, because they can be covered by the re- the resources
newable and the nonrenewable ones. The per pe- MPSm; r; q; l; s; x multi-mode project scheduling
riod usage of activity j of renewable resource k is with m renewable resources, r
q
denoted by rjk while Rqk denes the (constant) units of each resource avail-
number of units of resource k available in every able, each activity requires at
period. In the multi-mode case, Mj denes the set most q units of the resources,
of modes, that is, processing alternatives of activ- l nonrenewable resources, s
ity j. The processing time of activity j in mode m is units of each resource avail-
given by pjm . The per period usage (total resource able, each activity requires at
consumption) of activity j of renewable (nonre- most x units of the resources
q m
newable) resource k is given by rjkm (rjkm ) while Rmk
denes the number of units of nonrenewable re- If an entry of m; r; q; l; s; x is replaced by , the
source k available for the entire planning horizon. values of the parameters are specied in the input.
In the single-mode case, that is for jMj j 1 for all For PSm; ; and PSm; r; we write PSm and PSm; r,
j and Rm ;, we skip the mode index m and the respectively, for short. If all values in m; r; q are
superscript q for the sake of simplicity. specied in the input, we write instead of ; ; .
6 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
Table 1
Basic notation
Symbol Denition
V set of activities
n number of real activities
E set of precedence or temporal constraints
G V ; E directed graph of precedence or temporal constraints
i ! j, i; j precedence constraint
Predj set of direct predecessors of activity j
Succj set of direct successors of activity j
pj processing time of activity j
Rq set of renewable resources
Rqk constant amount of available units of renewable resource k
q
rjk per period usage of activity j of renewable resource k
Mj set of modes (processing alternatives) of activity j
pjm processing time of activity j in mode m
Rm set of nonrenewable resources
Rmk total amount of available units of nonrenewable resource k
q
rjkm per period usage of activity j of renewable resource k
when processed in mode m
m
rjkm consumption of activity j of nonrenewable resource k
when processed in mode m
Sj start time of activity j
S S1 ; . . . ; Sn schedule
Cj completion time of activity j
C C1 ; . . . ; Cn vector of completion times
ST set of time-feasible schedules
SR set of resource-feasible schedules
S SR \ ST set of feasible schedules
rk S; t resource consumption of resource k of schedule S at time t
d deadline for project duration
T;t time horizon, index for periods
t 1; 2; . . . ; T periods
t 1; t time interval corresponding to period t
dijmin =dijmax minimum/maximum time lag between start of activities i and j
Likewise, for PS and MPS; we write PS and MPS, processing times, prec general precedence con-
respectively. straints, etc.
Examples:
pj 1 all processing times (activity
durations) are equal to one
PSm; 1; 1 m resources, 1 unit of each resource
pj sto stochastic processing times
available, each activity requires at
d deadline for project duration
most 1 unit of the resources
prec precedence constraints be-
PSm; 1 m resources, unlimited number of
tween activities
resource units available (i.e., there are
chains, intree, precedence relations between
no explicit resource constraints, e.g. in
outtree, tree . . . activities are specied by
resource leveling)
chains, intree, outtree, tree . . .
PS1 one resource
temp general temporal constraints
given by minimum and maxi-
b: Activity characteristics: We use established mum startstart time lags be-
notations from machine scheduling (cf. [77]) like pj tween activities
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 7
applications have been achieved for disjunctive the sense that each predecessor of an activity jg has
scheduling problems (e.g. job shop scheduling) and a smaller index in the sequence than jg . Recently,
are currently going to be extended to this algorithm has been enhanced with powerful
PS j prec j Cmax . The aim of such eorts is to ac- search tree reduction techniques by Sprecher [185].
celerate heuristics or branch-and-bound methods Delay Alternatives: This algorithm bases on the
through an early detection of nonattractive or in- concept of delay alternatives used by Christodes
feasible nodes. A comprehensive introduction into et al. [40] which has been enhanced by De-
constraint propagation has been provided by e.g. meulemeester and Herroelen [48]. In contrast to
Tsang [195]. Constraint propagation-based con- the precedence tree algorithm, here each level g of
sistency tests are described in Appendix A. the branch-and-bound tree is associated with a
xed time instant tg (decision point) at which ac-
tivities may be started. Consequently, a dierent
3.1. Branch-and-bound methods denition of eligible activities is used in this algo-
rithm: A currently unscheduled activity j is called
Starting with an early work of Johnson [101] a eligible at time tg if all of its predecessors i are
variety of branch-and-bound algorithms have been scheduled with a completion time Ci 6 tg . Fur-
developed for PS j prec j Cmax . Most of them use thermore, an activity j with start time Sj is said to
partial schedules which are associated with the be in process at time tg if we have Sj 6 tg < Sj pj .
vertices of the enumeration tree. The branching The proceeding at the current level g of the
process consists of extending the partial schedule branch-and-bound tree is as follows: The new de-
in dierent ways. Dominance rules, lower bounds, cision point tg is determined as the earliest com-
and immediate selection allow to decrease the pletion time of the activities in process at tg1 .
number of alternatives for extending the partial Note that, due to the constant availability levels of
schedule. The methods use dierent branching the renewable resources, only nish times of
schemes and pruning methods. In general, depth- scheduled activities need to be considered for
rst-search is used in order to keep memory re- starting unscheduled ones. Using the set FJg of the
quirements low. activities that are nished at or before the decision
The Precedence Tree: Patterson et al. [155] point, the set EJg of the eligible activities is com-
proposed an algorithm guided by the so-called puted. Having started all eligible activities by
precedence tree. The procedure begins with start- adding them to the set JIPg of the activities in
ing the dummy beginning activity at time 0. At process, may have caused a resource conict.
each level g of the branch-and-bound tree, the set Thus, the set of the minimal delay alternatives is
SJg of the currently scheduled activities and the set computed according to the following denition: A
EJg of the eligible activities, that is, those activities delay alternative DAg is a subset of JIPg such that
the predecessors of which are already scheduled, is P each renewable resource k 2 R it is
for
determined. Then an eligible activity jg is selected. j2JIPg nDAg rjk 6 Rk . A delay alternative DAg is
Now the earliest precedence and resource feasible called minimal if no proper subset of DAg is a
start time Sjg that is not less than the start time delay alternative. A minimal delay alternative is
assigned on the previous level of the search tree is selected and the activities to be delayed are re-
computed. Then we branch to the next level. If the moved from the current partial schedule. Note, if
dummy termination activity is eligible, a complete no resource conict occurs, the only minimal delay
schedule has been found. In this case, backtrack- alternative is the empty set. We store the start
ing to the previous level occurs. Here, the next times of an activity j to be delayed because this
untested eligible activity is chosen. If all eligible information has to be restored during backtrack-
activities have been tested, we track another step ing. Then it is branched to the next level and the
back. Each branch from the root to a leaf of the next decision point is computed. If the schedule is
precedence tree corresponds to a permutation of complete now, backtracking is performed and the
the set of activities which is precedence feasible in next minimal delay alternative is tested. Clearly,
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 9
this procedure is dierent from the precedence tree Block Extensions: Mingozzi et al. [126] consider
algorithm in that sets of activities instead of (sin- a slightly dierent approach based on the follow-
gle) activities are started at each level of the ing ideas. There exists an optimal schedule dening
branch-and-bound tree. Moreover, here the time times
instant at which activities may be started is de-
termined before the activities themselves are se- t0 0 < t1 < t2 < < tl
lected. Finally, in contrast to the precedence tree
algorithm, this approach allows to withdraw and corresponding sets of activities A1 ; . . . ; Al such
scheduling decisions at the current level that have that
been made at a lower level. (i) each ti i > 0 is the nishing time of some ac-
Extension Alternatives: Stinson et al. [188] tivity,
proposed to use extension alternatives to construct (ii) all activities in Ai can be processed jointly
partial schedules. As in the previous algorithm, during ti1 ; ti i 1; . . . ; l,
each level g of the branch-and-bound tree is as- (iii) if an activity j 2 Ai is not nished in ti1 ; ti
sociated with a decision point tg , a set JIPg of the it will also be processed in ti ; ti1 , and
activities in process, a set FJg of the nished ac- (iv) all predecessors of any activity which start
tivities, and a set EJg of eligible activities. Then the at time ti are scheduled before time ti .
current partial schedule is extended by starting a A block consists of such an interval ti1 ; ti with
subset of the eligible activities at the decision point a set Ai of activities which can be processed jointly.
without violating the resource constraints. More Furthermore a partial schedule is dened by a se-
precisely, an extension alternativeP EAg is a subset quence of blocks satisfying conditions (iii) and (iv).
of the eligible set for which j2JIPg [EAg rjk 6 Rk Then it is branched by adding new blocks pro-
holds for each resource k 2 R and, moreover, viding again partial schedules.
EAg 6 ; if JIPg ;. Note, in order to secure that Schedule schemes: The branch-and-bound al-
the algorithm terminates, we may only have non- gorithm developed by Brucker et al. [32] general-
empty extension alternatives if no activities are in izes branch-and-bound methods for the job shop
process. However, if there are currently activities scheduling problem and the multiprocessor task
in process, the empty set is always an extension scheduling problem (cf. [30,118]). It also uses
alternative which must be tested in order to concepts which can be found in Bartusch et al.
guarantee optimality. At the current level g of the [12]. Instead of using partial schedules, sets of
branch-and-bound tree the procedure is as follows: feasible schedules are represented by the so-called
Determine the new decision point and compute the schedule schemes. Schedule schemes can be moti-
set of the eligible activities and the set of extension vated as follows.
alternatives. Finally, select an extension alternative For two arbitrary activities a schedule S induces
EAg and start the corresponding activities before either a parallelity relation ikj or one of the two
branching to the next level. The backtracking conjunctions i ! j or j ! i. i ! j holds if and only
mechanism equals the one of the previous algo- if i nishes before the start time of j. ikj means that
rithm. Note that this procedure is dierent from i and j are processed in parallel for at least one
the previous algorithm: Whereas the former in- time unit. We get sets of schedules by relaxing
cludes the possibility to delay activities that have these relations. i ! j or j ! i are relaxed by the
been started on a lower than the current level, the disjunction i j. i j means that we have either
latter does not allow to withdraw a scheduling i ! j or j ! i. Furthermore disjunctions i j and
decision of a lower level. As a consequence, we parallelity relations ikj can be relaxed to exibility
may not restrict the search to ``maximal'' extension relations i j. i j means that it is undecided yet
alternatives while we do not lose optimality when which of the two relations i j or ikj holds.
considering only minimal delay alternatives. Note, C; D; N and U denote the sets of conjunctions,
Stinson et al. [188] introduced the procedure solely disjunctions, parallelity relations, and exibility
by means of an example. relations, respectively. C; D; N; U is a schedule
10 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
scheme if for any two dierent activities i; j exactly mation of which has been stored, then back-
one of the following relations holds: i ! j 2 C or tracking may be performed. A description of such
j ! i 2 C or i j 2 D or ikj 2 N or i j 2 U. A rules is skipped here for the sake of shortness and
schedule scheme C; D; N; U denes a set of the reader is referred to Section 5.2 where some
feasible schedules (which may be empty), namely rules are outlined.
all feasible schedules which satisfy all the relations
in C; D; N.
If C0 is the set of all given precedence relations,
3.2. Lower bounds
D0 is the set of all pairs of activities which cannot
be processed in parallel due to the resource con-
Usually lower bounds for the optimal solution
straints, and U0 the set of all remaining pairs i j,
value of PS j prec j Cmax can be calculated by re-
then C0 ; D0 ; ;; U0 represents the set of all feasible
laxing some of the constraints and solving the re-
schedules. C0 ; D0 ; ;; U0 corresponds to the root
laxed problem to optimality. Relaxation of the
of the enumeration tree.
resource constraints leads to the critical path
For a schedule scheme of the form C; D; N; ;
length which provides a simple lower bound.
it can be shown that either no feasible schedule
Stinson et al. [188] improve this bound by adding
satisfying all the relations exists or a dominating
an activity i which does not belong to a critical
feasible schedule can be calculated (cf. [117]). Both
path CP . They calculate a maximal number ei of
can be done in On3 time. Thus, schedule schemes time units activity i can be processed in parallel
of the form C; D; N; ; can be treated as leaves of
with CP . By adding maxf0; pi ei g to the critical
the enumeration tree and one can branch by re-
path length a new lower bound is provided. In-
placing a exibility relation i j by i j or ikj.
stead of adding a single activity, Demeulemeester
The inclusion of conjunctions in schedule
and Herroelen augment a critical path CP by a
schemes allows to form a temporal analysis in each
path P node-disjoint with CP and calculate a lower
node of the enumeration tree. By this analysis new
bound for CP [ P using a dynamic programming
conjunctions, disjunctions or parallelity relations
procedure. In general this lower bound does not
are deduced. Furthermore, for the activities time
coincide with the optimal solution value for
windows can be calculated which improve lower
CP [ P (cf. [172]). However, the two-path relax-
bound calculations.
ation can be solved to optimality by a graphical
Minimal forbidden sets: Igelmund and Rader-
method developed for the job shop problem with
macher [99,100] have introduced a branching
two jobs. This approach also allows to nd an
scheme based on minimal forbidden sets. A more
optimal solution for CP [ P which respects time
detailed discussion of these concepts can be found
windows for the activities in CP [ P (cf. [28]).
in Sections 6.2 and 8.2 of this survey.
A bound of Mingozzi et al. [126] is based on the
Beside lower bounds which are described in
following linear program which relaxes partially
Section 3.2, dominance rules are successfully used
the precedence constraints and allows preemption.
within e.g. the partial enumeration algorithms of
They consider maximal sets of activities which can
Demeulemeester and Herroelen [48,49] and
be processed in parallel. Let a1 ; a2 ; . . . ; aq be the
Sprecher [185] in order to prune large parts of the characteristic vectors of all these sets. Then the
search tree. Among the most powerful dominance linear programming relaxation has the form
rules is the cutset rule which makes use of stored
information about already evaluated partial X
q
where xj denotes the number of time units all ac- niques (cf. [110]), and local search techniques (cf.
tivities represented by aj are processed jointly. The [5,24,85,108,119,169]).
integer version of the dual of Eqs. (1)(3) is a set
packing problem. Mingozzi et al. [126] provide
lower bounds for the resource-constrained project 3.4. Computational results
scheduling problem by solving the set packing
problem heuristically. Demeulemeester and Herroelen [48] tested their
Baar et al. [5] solve the linear program (1)(3) branch-and-bound algorithm on the Patterson-set
directly by applying column generation tech- (cf. [154]) which consists of 110 test problems with
niques. Although the number of columns is up to 51 activities. They solved these problems with
growing exponentially with the number of activi- an average computation time of 0.21 s (IBM PS/2
ties the method is quite fast. Brucker and Knust Model 70 A21, 25 MHz) outperforming the algo-
[31] enhanced the approach by taking into account rithm of Stinson et al. [188] by a factor of nearly 12.
time windows for the activities. These time win- Kolisch et al. [116] developed the parameter-
dows are derived from the precedence constraints driven project generator ProGen which thereafter
using a ctitious upper bound T for the makespan. has been widely used as a tool for the evaluation of
Now the columns correspond to sets of activities algorithms proposed for resource-constrained
which can be processed jointly in a given time project scheduling. Meanwhile test sets with 30, 60,
window. The objective is to nd a preemptive 90, and 120 activities have been generated each
schedule respecting all times windows. If such a consisting of 480 instances of various types. The 30
schedule does not exist, T is a lower bound. Binary activity test set was also used to test the approach
search provides largest T with this property. These by Demeulemeester and Herroelen [48] on a per-
``destructive improvement'' technique has also sonal computer (IBM PS/2 Model 55SX, 386SX,
been used by Klein and Scholl [105] who tested 15 MHz). Whereas the Patterson-set has been
various methods for proving infeasibility of an solved within 1.06 s on average, only 415 of the
upper bound T . 480 problems instances have been solved within a
Other linear programming based bounds have time limit of 1000 s per problem.
been introduced in connection with the branch- Mingozzi et al. [126] report that their linear
and-bound algorithm of Christodes et al. [40]. programming formulation based bounds perform
better than the critical sequence bound introduced
by Stinson et al. [188], and that their algorithm is
competitive to the procedure presented by De-
3.3. Heuristic methods meulemeester and Herroelen [48], the best one
known up to then. Demeulemeester and Herroelen
The rst heuristic methods were priority-rule [49] enhanced their approach by adapting a lower
based scheduling methods (cf. [103]). Up to now, a bound of Mingozzi et al. [126] and by representing
multitude of priority rules were proposed and four resources of 8 bit size through one 32 bit
tested experimentally (cf. [4,22,42,153,194]). Pri- unsigned integer. Allowing as much as 24 Mbyte
ority-based heuristics have the advantage of being they could solve the entire 30 activity benchmark-
intuitive, easy to implement, and fast in terms of set for the rst time. The CPU-time averages about
computational eort. However, they do not excel 34 s on a personal computer (80486, 25 MHz).
with respect to the average deviation from the Sprecher [185] compared his branch-and-bound
optimal objective function value. Hence, recent algorithm with the enhanced version of the algo-
research interests shifted to more elaborate heu- rithm of Demeulemeester and Herroelen pointing
ristics like truncated branch-and-bound (cf. [4]), out the tradeo between computation times and
integer programming based heuristics (cf. [148]), memory requirements. While the enhanced algo-
disjunctive arc concepts (cf. [4,14]), local con- rithm of Demeulemeester and Herroelen [49]
straint-based analysis (cf. [196]), sampling tech- solves 479 of the 480 benchmark problems with 30
12 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
Topt b : minfCmax p j pj 2 Mj ; cp 6 bg rived from the slopes of the linear cost functions cj
of the critical activities. These ideas have subse-
giving the minimum makespan as a function of the
quently been improved by Phillips and Dessouky
budget b, and the function
[159,160].
Bopt d : minfcp j pj 2 Mj ; Cmax p 6 dg; This algorithm is polynomial per cut
OjV j2 log jV j by standard ow methods (cf.
giving the minimum cost as a function of the [79]), but the number of cuts to be computed may
deadline d (the project cost curve). be large. Skutella [178] provides a class of exam-
The budget problem is a special case of ples for which the project cost curve has expo-
MPS1 j prec j Cmax which is covered in Section 5. nentially many breakpoints, thus requiring an
While in this section we have no renewable re- exponential number of cut calculations.
sources and only one single nonrenewable re- The case where the possible processing times
source, Section 5 considers the general multi-mode are discrete is quite common in practice. Only re-
version. Similarly, the deadline problem combines cently, De et al. [46] showed that, given the budget
characteristics of the multi-mode case (Section 5) b, it is strongly NP-complete to decide whether
and of the resource levelling problem (Section 7). there is a realization p such that cp 6 b and
In our notation,
P it could be denoted by Cmax p 6 2. This holds already for activities with
MPS1 j prec j ck rk S; t. at most two processing time alternatives, i.e.,
jMj j 6 2.
Due to the practical importance of the problem,
4.2. Exact algorithms many (exponential time) exact algorithms have
been proposed. Early examples are dynamic pro-
Kelley and Walker [104] discuss both the bud- gramming approaches by Hindelang and Muth
get problem and the deadline problem within the [96] and Robinson [164], and an enumeration al-
context of the linear timecost tradeo problem. gorithm by Harvey and Patterson [87].
In this setting (and also in a more general one, see The currently best known algorithms still rely
[15]), the project cost curve Bopt can be obtained as on dynamic programming, but exploit in
the inverse function of Topt , so it suces to con- addition the decomposition structure of the
sider only Bopt . underlying network. The decomposition that fa-
For every xed deadline d, Bopt d can be ex- cilitates the computation is known as modular
pressed as a special linear program whose dual decomposition or substitution decomposition and
resembles a min-cost ow problem (see [74]). has many applications in network and other
Using standard results from parametric linear combinatorial optimization problems, see the
optimization it hence follows that Bopt d is a comprehensive article by M ohring and Rader-
piecewise linear and convex function of the pa- macher [129].
rameter d. Its usefulness for the timecost tradeo prob-
Fulkerson [74] and Kelley [102] independently lem was rst observed by Frank et al. [71] and
developed the same algorithm to compute the Rothfarb et al. [165] for the special case of series
project cost curve Bopt . This algorithm uses an parallel decompositions. The general decomposi-
activity-on-arc representation of the network and tion theorem that involves arbitrary modules is
iteratively calculates a sequence of less and less due to Billstein and Radermacher [15] (see also
``cheap'' cuts in the current network of critical [130]).
activities by which the makespan is reduced. Every Because of the modular decomposition, the
breakpoint of the project cost curve corresponds project cost curve needs only to be evaluated for
to a change of the current cut to a more expensive certain indecomposable subnetworks (the factors
one. in a composition series) of the original network.
Every such cut can be determined by a max- This is done by ``transforming'' such an inde-
ow computation in which the capacities are de- composable network to a seriesparallel network
14 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
and then performing the ``easy'' calculations for 4.3. Approximation algorithms
the seriesparallel case. The transformation into a
seriesparallel network successively identies cer- The approximation behavior of the discrete
tain nodes for ``duplication''. Any such duplica- timecost tradeo problem has recently been an-
tion transforms the network ``closer'' to a series alyzed by Skutella [177].
parallel one, but increases the computation time by He rst presents a polynomial reduction to the
a multiplicative factor. case where every activity has at most two pro-
This idea seems to be due to Robinson [164] cessing times, and one of them is zero. So
and has been further developed by Bein et al. [13], Mj f0; pj g or Mj f pj g for activity j 2 V .
De et al. [45] and Elmaghraby [66]. The same ideas For such a discrete timecost tradeo problem,
also came up in reliability theory and seem to have Skutella denes a natural linear relaxation, which
inuenced each other, see [6]. replaces Mj by the interval M ~ j 0; pj and takes as
Demeulemeester et al. [50] provide the rst cost function cj the linear interpolation between cj 0
implementation of this approach. They imple- and cj pj . All other parameters remain the same.
ment two strategies for nding the nodes for Now consider the deadline problem P for a
duplication. The rst follows the theory of Bein xed deadline d. One then rst solves the linear
et al. [13], which results in the minimum number relaxation P~ for the same deadline d, which yields
of duplications required, while the second tries an optimal realization p~ of P~ in polynomial time.
to minimize the number of realizations that have Since all parameters are assumed to be integral,
to be considered during the algorithm. De- the obtained optimal realization p will in this
meulemeester et al. [50] report on computational special case also be integral, but p~j need not be in
experience for networks with up to 45 activities f0; pj g. This solution p~ is then ``rounded'' to a
without identifying a clear winner between the solution of the original problem P by rounding the
two strategies. processing time p~j of those activities j with
The crucial parameter in the theoretical run- 0 < p~j < pj to the lower value pj 0. Rounding to
time analysis of this algorithmic approach is the the lower value is necessary in order to preserve
minimum number of node duplications needed to the deadline d.
transform an activity-on-arc network into a series If the budget problem is considered, the
parallel network. Bein et al. [13] refer to it as the rounding must be done into the other direction,
reduction complexity of the network. It provides a i.e., pj pj , thus preserving the budget condition.
measure for the ``distance'' of the given network In both cases, the produced realization p of the
from being seriesparallel. discrete timecost tradeo problem is an `-ap-
Such a distance measure is important for the proximation, where ` is the largest occurring pro-
design of polynomial-time algorithms for many cessing time of any activity. So Cmax p 6 ` Topt b
network problems (see also Section 8.1 on sto- and cp 6 ` Bopt d, respectively.
chastic scheduling), since computational ap- For the deadline problem, the performance
proaches for seriesparallel graphs can often be guarantee of ` cannot be improved by this
extended to algorithms for arbitrary graphs that rounding algorithm and it is open whether it can
are exponential only in the ``distance'' from being be improved at all. For the budget problem,
seriesparallel, rather than in its size. however, Skutella develops better approximation
Another measure for this distance is the fac- algorithms. Unlike the situation for the deadline
toring complexity also introduced by Bein et al. problem, he can now repair a budget violation by
[13], which is based on a special way of describing rounding some processing times to the higher
all paths from the source to the sink of the net- value pj , thus ``saving'' part of the budget that can
work. Bein et al. [13] showed that the factoring then be ``reinvested'' to shorten ``critical'' activities
complexity provides an upper bound for the re- to the lower value 0.
duction complexity. Naumann [137] showed that For projects with pj 2 f0; 1; 2g this leads to a 32-
both measures are in fact equal. approximation, i.e., for a given budget b, the al-
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 15
gorithm produces a realization p with cp 6 b and Section 3. The overall capacity of the nonrenew-
Cmax p 6 d32 Topt be. The running time of the al- able resource k 2 Rm is given by Rmk . If activity j is
gorithm is OjV j3 log jV j. processed in mode m then rjkm q
units of the re-
The NP-completeness of deciding whether a newable resource k are used each period activity j
m
makespan of 2 can be realized with a given budget is in process. Similarly, activity j consumes rjkm
shows that the performance ratio of 32 cannot be units of the nonrenewable resource k. In general,
improved (unless P NP). the parameters are assumed to be integer-valued.
For projects with pj 6 `, Skutella uses addi- We assume the modes to be labeled with respect to
tional partitioning techniques and obtains a nondecreasing processing times, that is,
strongly polynomial approximation algorithm pjm 6 pj;m1 for all activities j 2 V and modes
with a performance guarantee of 2 log2 ` 1. A m 2 f1; . . . ; jMj j 1g. The objective is to nd a
dierent variant yields 32 log2 ` 3. makespan-minimal schedule S that meets the
Another idea for approximation algorithms constraints imposed by the precedence relations
consists in relaxing also the tight constraint (bud- and by limited resource availabilities. Similar to
get or deadline), thus arriving at the so-called PS j prec j Cmax in general also MPS j prec j Cmax is
bicriteria approximation algorithms. Using ideas formulated mathematically in terms of a binary
similar to those above, Skutella shows that, for a optimization model which makes use of binary
value 0 < l < 1 and an optimal timecost pair variables xjmt 1, if activity j is completed in
d; b (i.e., d Topt b and b Bopt d), one can in mode m in period t (0, otherwise). For the sake of
polynomial time construct a realization p such that shortness, we do not present a formal model here.
cp < 1=1 lb and Cmax p 6 1=ld. For If jRm j P 2 and jMj j P 2; j 2 V ; then nding a
l 12, this yields a realization which is at most feasible solution is NP-complete (cf. [109]). How-
twice as expensive and twice as long as an optimal ever, presuming feasibility and a constant per-pe-
realization for the given deadline or budget. riod availability of the renewable resources, an
Choosing l uniformly at random in the interval upper bound on the minimum makespan T is given
1=e; 1 one obtains improved approximation ra- by the sum of the maximum activity processing
tios of e=e 1 1:58 for the expected cost and times. Given an upper bound T we can use the
expected makespan. precedence relations and the modes of the shortest
processing times to derive time windows, i.e. in-
tervals ECj ; LCj similar to what has been ex-
5. Multi-mode case plained in Section 3.
Mode and delay alternatives: We summarize the Recently, the more general problem
branch-and-bound approach proposed by Sprec- MPS j temp j Cmax with general temporal con-
her et al. [187]. An eligible activity j scheduled in straints given by minimum and maximum start
mode mj with start time Sj is said to be in process start time lags between activities has been the
at time tg if we have Sj 6 tg < Sj pjmj . Eligible subject of research in Heilmann [88], where an
activities are (temporarily) started at the decision exact branch-and-bound procedure is presented.
point that have already been assigned a mode at a A combination of the discrete timecost trade-
previous level of the search tree. If there are eli- o problem covered in Section 4 and of the multi-
gible activities that have not yet been assigned a mode case dealt with in this section has been
mode, that is, if EJg n EJg1 is not empty, then the studied by Ahn and Erenguc [1].
set of mode alternatives is computed: A mode al-
ternative is a mapping which assigns each activity
j 2 EJg n EJg1 a mode mj 2 Mj . Selecting a mode 5.2. Dominance rules
alternative, the remaining eligible activities can be
(temporarily) started at the decision point as well. In Hartmann and Drexl [86] a description of
Having started all eligible activities by adding several bounding rules can be found. Some of
them to the set JIPg of the activities in process, may them will be revisited in what follows.
have caused a resource conict. Thus, the set of the Non-delayability rule: If an eligible activity
minimal delay alternatives is computed according cannot be feasibly scheduled in any mode in the
to the following denition: A delay alternative current partial schedule without exceeding its lat-
DAg is a subset of JIPg such P that for each re- est nish time, then no other eligible activity needs
q
newable resource k 2 Rq it is j2JIPg nDAg rjkmj 6 to be examined on this level.
q
Rk . Observe that each combination of a mode al- Local left shift rule: If an activity that has been
ternative and a related minimal delay alternative started at the current level of the branch-and-
corresponds to a descendant of the current node in bound tree can be locally left shifted without
the branch-and-bound tree. changing its mode, then the current partial
Mode and extension alternatives: Using again schedule needs not be completed.
the concept of mode alternatives extension al- Multi-mode rule: Assume that no currently
ternatives are introduced by Hartmann and Drexl unscheduled activity will be started before the
[86] to construct partial schedules. More pre- nish time of a scheduled activity j when the cur-
cisely, an extension alternativePEAg is a subset of rent partial schedule is completed. If a multi-mode
q q
the eligible set for which r
j2JIPg [EAg jkmj 6 R k left shift or a mode reduction of activity j with
q
holds for each renewable resource k 2 R and, resulting mode m0j , 1 6 m0j 6 jMj j, can be performed
moreover, EAg 6 ; if JIPg ;. At level g of the on the current partial schedule and, moreover, if
m m
branch-and-bound tree we determine the new rjkm0 j
6 rjkm j
holds for each nonrenewable resource
decision point and the set of the eligible activi- k, then the current partial schedule need not be
ties. Then we compute the set of mode alterna- completed.
tives for xing the modes of the eligible activities Order swap rule: Consider a scheduled activity
that have not been eligible before, that is, those the nish time of which is less than or equal to any
activities the modes of which have not yet been start time that may be assigned when completing
xed. After selecting a mode alternative, compute the current partial schedule. If an order swap on
the set of extension alternatives. Finally, select an this activity together with any of those activities
extension alternative EAg and start the corre- that nish at its start time can be performed, then
sponding activities before branching to the next the current partial schedule need not be completed.
level. Each combination of a mode alternative Cutset rule: Dening a cutset of a partial
and a related extension alternative corresponds to schedule PS as the set of the activities scheduled
a descendant of the current node in the branch- in PS, Sprecher and Drexl [186] proposed the
and-bound tree. following rule. Let PS denote a previously eval-
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 17
uated partial schedule with cutset CSPS, max- genotypes of the newly produced children. After
imal nish time f max PS and leftover capacities computing the tness of the osprings, they are
Rmk PS of the nonrenewable resources k. Let PS added to the current population, leading to a
be the current partial schedule considered to be population size of 2 POP . Then the selection op-
extended by scheduling some activity j with start erator is applied to reduce the population to its
time Sj . If we have CSPS CSPS, former size POP and to obtain the next generation
Sj P f max PS and Rmk PS 6 Rmk PS for all to which again the crossover operator is applied.
k 2 Rm , then PS needs not be completed. This process is repeated for a prespecied number
Immediate selection: Consider an eligible activ- of generations which is denoted as GEN .
ity j no mode of which is simultaneously per- Now a short description of the genetic opera-
formable with any currently unscheduled activity tors crossover, mutation, selection is given (for
in any mode. If the earliest feasible start time of details the reader is referred to Hartmann [84]).
each other eligible activity in any mode is equal to Consider two individuals selected for crossover,
the maximal nish time of the currently scheduled a mother and a father. Then two random integers
activities, then j is the only eligible activity that w1 and w2 with 1 6 w1 ; w2 6 n are drawn. Now two
needs to be selected for being scheduled on the new individuals, a daughter and a son, are pro-
current level of the branch-and-bound tree. duced from the parents. The daughter is dened as
follows: In the sequence of activities of the
daughter, the positions i 1; . . . ; w1 are taken
5.3. Heuristic algorithms from the mother. The activity sequence of posi-
tions i w1 1; . . . ; n is taken from the father.
Heuristic algorithms for solving MPS j prec j However, the activities that have already been ta-
Cmax have for instance been provided by Drexl ken from the mother may not be considered again.
[60], Drexl and Gr
unewald [61], Ozdamar [149] This denition ensures that the relative positions
and Kolisch and Drexl [111]. Slowi nski et al. [179] in the parents' activity sequences are preserved.
address the same set of constraints, but attack the Observe that the resulting activity sequence is
multi-criteria version of the problem. MPSm; r; q; precedence feasible. The modes of the activities on
0 jprec j Cmax is the subject of Boctor [23]. While the positions i 1; . . . ; w2 in the daughter are de-
Boctor, Drexl, and Drexl and Gr unewald analyze ned by the mother's mode assignment. The
priority rule based multi-pass heuristics, Slowi nski modes of the remaining activities on the positions
et al. provide simulated annealing algorithms, i w2 1; . . . ; n are derived from the father's
Ozdamar favorizes a genetic algorithm and Ko- mode assignment. The son is computed similarly.
lisch and Drexl present problem specic local However, the positions 1; . . . ; w1 of the son's ac-
search algorithms. tivity sequence are taken from the father and the
Recently, Hartmann [84] developed the most remaining positions are determined by the mother.
eective and ecient heuristic algorithm for solv- Analogously, the rst part up to position w2 of the
ing the general version of the problem dealt with in mode assignment of the son is taken from the fa-
this section. It is a generalized version of the ge- ther while the second part is derived from the
netic algorithm already mentioned in Section 3.3 mother. Given an activity sequence and a mode
and basically works as follows. The genetic algo- assignment for all activities an earliest start
rithm generates an initial population, i.e. the rst schedule is constructed.
generation, containing POP individuals and then The mutation is applied to each newly generated
determines their tness values. POP is assumed to child individual and is dened as follows: Given an
be an even integer. Then the population is ran- individual I of the current population, then two
domly partitioned into pairs of individuals. To random integers q1 and q2 with 1 6 q1 < n and
each pair of (parent) individuals, the crossover 1 6 q2 6 n are drawn. q1 is used to modify the ac-
operator produces two new osprings. Subse- tivity sequence by exchanging activities jIq1 and
quently, the mutation operator is applied to the jIq1 1 if the result is an activity sequence which
18 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
fullls the precedence constraints. Note that each the schedule related to an individual. The ap-
of the changed activities keeps its assigned mode, proach is based on the denition of a multi-mode
that is, this modication does not change the mode left shift which has been introduced by Sprecher et
assignment. Then a new mode for the activity on al. [187] in order to accelerate their branch-and-
position q2 is randomly chosen, that is, we rede- bound algorithm outlined above. A multi-mode
termine mI jIq2 by drawing a random integer out left shift of an activity j is an operation on a given
of f1; . . . ; MjIq g. While the rst step may create schedule which reduces the nish time of activity j
2
activity sequences that could not have been pro- without changing the modes or nish times of the
duced by the crossover operator, the second step other activities and without violating the con-
may introduce a mode that has not occurred in the straints. Thereby, the mode of activity j may be
current population. It should be noted that per- changed.
forming a mutation on an individual does not
necessarily change the related schedule. This is due
to the redundancy in the genetic representation. 5.4. Computational results
Two variants of the selection operator have
been considered. The rst variant is a simple sur- A set of test problems constructed by the pro-
vival-of-the-ttest method: The original popula- ject generator ProGen which has been developed
tion size is restored by keeping the POP best by Kolisch et al. [116] has been used. They are
individuals and removing the remaining ones from available in the project scheduling problem library
the population (ties are broken arbitrarily). The PSPLIB. For detailed information the reader is
second variant is a randomized version of the referred to Kolisch and Sprecher [115] (cf. [114]
survival-of-the-ttest technique. also). The multi-mode problem sets containing
A number of ISL islands are considered on instances with 10, 12, 14, and 16 nondummy ac-
which the articial evolution as described above tivities have been used. Each of the real activities
takes place. On each island, the evolution starts may be performed in one out of three modes. The
with an independently generated initial popula- duration of a mode varies between 1 and 10 peri-
tion. Let the island currently under consideration ods. There are two renewable and two nonrenew-
be denoted as i with 1 6 i < ISL, and let the current able resources. For each problem size, a set of
generation be denoted as g with 1 6 g 6 GEN . A instances was generated by systematically varying
prespecied migration probability wmigration is used four parameters, that is, the resource factor and
and a random number q 2 0; 1 is drawn to con- the resource strength of each resource category.
trol the migration between the islands: If In Hartmann and Drexl [86] a computational
q 6 wmigration , then the ttest individual of genera- comparison of the three branching schemes in
tion g leaves island i and migrates to island i 1 combination with bounding rules can be found.
where it is added to the population of generation The precedence tree algorithm with the cutset rule
g. is the fastest procedure on the average. It is two
The stopping criterion is either to reach a pre- times faster than the algorithm based on mode and
specied number of islands as described above or, delay alternatives when 10 activities are considered
alternatively, to meet a given limit on the CPU and seven times faster for projects with 16 activi-
time without bounding the number of islands. In ties, that is, the comparison factor increases with an
the latter case, if GEN generations have been increasing number of activities. The algorithm
completed and the time limit has not yet been met, based on mode and delay alternatives is at most 1.4
we skip to the next island and start a new evolu- times faster than the algorithm based on mode and
tion. Clearly, if the number of islands is given by extension alternatives, hence, the latter one is out-
ISL, at most ISL POP GEN dierent individuals performed by the other two algorithms with respect
are calculated. to average computation times. This seems to be due
The genetic algorithm is augmented by a to the fact that branching may not be restricted to
problem specic local search method to improve ``maximal'' extension alternatives. The precedence
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 19
tree algorithm is faster than the other two proce- n 1 represent the beginning and termination of
dures even if the cutset rule is not included. the project, respectively. If there is a given mini-
Noteworthy to mention that the precedence mum time lag dijmin 2 Z P 0 between the start of two
tree algorithm is more general than the other dierent activities i and j, that is, Sj Si P dijmin ,
branching schemes in the sense that the case of we introduce an arc i; j in the project network
time-varying availability prole of renewable re- with weight dij dijmin . If there is a given maximum
sources can be covered. time lag dijmax 2 Z P 0 between the start of activities
The genetic algorithm of Hartmann [84] has i and j, that is, Sj Si 6 dijmax , we introduce an arc
been compared with the algorithm of Kolisch and j; i with weight dji dijmax . The resulting net-
Drexl [111] and Ozdamar [149] on the ProGen set work with node set V , arc set E, and arc weights dij
with 10 nondummy activities. Hartmann's algo- which satisfy the constraints Sj Si P dij for
rithm produces an average deviation of 0.22% i; j 2 E generally contains cycles due to maxi-
from the optimal makespan. The procedure of mum time lags. An appropriate specication of the
Kolisch and Drexl produces an average deviation minimum and maximum time lags ensures the
of more than 0.8% from the optimal makespan. unique assignment of the network to the underly-
Also, the algorithm of Ozdamar has an average ing project (see [139]).
deviation of more than 0.8%. Hence, the average Given a schedule S S0 ; S1 ; . . . ; Sn1 ,
deviation produced by the genetic algorithm of
Hartmann [84] is nearly four times lower than AS; t fj 2 V j Sj 6 t < Sj pj g
those of the two heuristics from the literature. is the set of activities in progress at time t 2 Z P 0
(or in time interval t; t 1 or period t 1, re-
spectively) and
6. Minimum and maximum time lags X
rk S; t rjk
This section is concerned with the problem j2AS;t
PS j temp j Cmax , that is, maximum time lags be- is the usage of renewable resource k 2 R at time t.
tween the start of dierent activities occur in ad- Problem PS j temp j Cmax can then be stated as
dition to minimum ones. Maximum time lags are follows:
often needed in practice, for example, if simulta-
neous or nondelay execution of several activities is min Sn1 4
required, deadlines for subprojects or individual s:t: Sj Si P dij i; j 2 E
activities are prescribed, time windows for re- Sj P 0; j 2 V : 5
sources are given, or in scheduling of make-to-
rk S; t 6 Rk ; k 2 R; t 0; 1; . . . ; T 1; 6
order production (cf. [138,139]).
P
Section 6.1 deals with modeling problem where T i2V max pi ; maxi;j2E dij is an upper
PS j temp j Cmax . Section 6.2 describes branch-and- bound on the minimum project duration.
bound methods for PS j temp j Cmax . Heuristic It is well known that the set ST of time-feasible
procedures are briey discussed in Section 6.3. The schedules (which satisfy Eq. (5)) is nonempty ex-
latter two sections also summarize computational actly if the network does not contain a cycle of
results. positive length (see [12]). The set S of feasible
schedules (which satisfy Eqs. (5) and (6)) is gen-
erally disconnected and represents the union of
6.1. Model convex polyhedra whose number grows exponen-
tially in n. Moreover, the decision problem
As in Section 3, V f0; 1; . . . ; n; n 1g is the whether or not S 6 ; is strongly NP-complete (cf.
set of activities of the project, which coincides with [12,144]).
the node set of the corresponding activity-on-node Sometimes the constraints S0 0 and Sj 2
project network. The ctitious activities 0 and Z j 2 V are added to Eq. (5). We deleted these
20 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
constraints for the following reasons: For each can be resolved successively by introducing addi-
optimal schedule S it holds that S0 0. Moreover, tional temporal constraints which delay one or
S0 0 for all feasible schedules S constructed using several activities. Set F in Eq. (7) is called a for-
any heuristic method discussed in Section 6.3. bidden set. If F is minimal with respect to set in-
Since all parameters dij i; j 2 E are integers, clusion, it is termed a minimal forbidden set.
there always exists an integer optimal schedule Bartusch et al. [12], De Reyck [51], and De
provided that S 6 ;. All methods discussed in Reyck and Herroelen [54] have used ``ordinary''
Sections 6.2 and 6.3 construct integer schedules. precedence constraints of the type Sj P Si pi ,
For approximately solving PS j temp j Cmax , a which correspond to adding arcs i; j with weight
decomposition approach often turns out to be pi to the network. Schwindt [174] has introduced
expedient. A cycle structure of the project network disjunctive precedence constraints
is a strong component which contains at least two
nodes. For each cycle structure treated as a sepa- Sj P min Si pi ; 8
i2F nfjg
rate subproject with original resource capacities
and started at time zero, a scheduling problem where F is a minimal forbidden set. Instead of
corresponding to problems (4)(6) can be stated delaying only one activity j, several activities can
whose (feasible) solutions are called (feasible) be delayed at the same time which form a so-called
subschedules. Neumann and Zhan [140] have minimal delaying alternative (cf. [51]). Then
proven the following theorem. (Eq. (8)) is replaced by
min Sj P minSi pi
Decomposition Theorem. There is a feasible sched- j2M2 i2M1
ule for the project network if and only if there is a with minimal delaying alternative M2 and
feasible subschedule for each cycle structure. M1 : AS; t n M2 . M2 is an inclusion-minimal set
containing at least one element of each minimal
Several heuristic procedures for (approximate- forbidden set F AS; t.
ly) solving project scheduling problems require a To solve PS j temp j Cmax , Schwindt [174] has
strict order in node set V (cf. [70]). Let dij be the considered two partial problems. The sequencing
length of a longest path from node i to node j in problem consists of nding a set Q of schedules
the project network, where dij 1 if there is no which satisfy disjunctive precedence constraints
path from i to j. For i; j 2 V ; i 6 j, we then dene such that ; 6 ST \ Q S. The corresponding
i j if and only if either (a) dij > 0 or (b) dij 0 scheduling problem consists of minimizing Sn1
and dji < 0. subject to S 2 ST \ Q. In contrast to the case of
ordinary precedence constraints, the feasible re-
gion ST \ Q of the latter problem is no longer
6.2. Branch-and-bound methods convex if disjunctive precedence constraints are
used, but represents the union of convex polyhe-
The basic idea of branch-and-bound algorithms dra. A pseudopolynomial xed-point algorithm
for solving PS j temp j Cmax is as follows. An opti- for solving the scheduling problem has been de-
mal solution to the resource relaxation of vised by Schwindt [174].
PS j temp j Cmax (i.e. problems (4) and (5)), for The branch-and-bound algorithm then consists
example, the earliest schedule ES ESj j2V with of appropriatelyS enumerating sequencing solutions
ESj d0j , can be found in polynomial time. Q1 ; . . . ; Qr with rm1 ST \ Qm S such that
Starting with schedule S ES, resource conicts
at points in time t, that is, minSn1 min min Sn1 :
S2S m1;...;r S2ST \Qm
X
rjk > Rk for some k 2 R and F AS; t Preprocessing procedures as well as good lower
j2F
bounds and fathoming rules speed up the branch-
7 and-bound method (see [174]). An overview of recent
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 21
preprocessing techniques as well as constructive and mal time-feasible schedules, and the corresponding
destructive lower bounds for PS j temp j Cmax can be lower bounds for newly generated nodes is then
found in Heilmann and Schwindt [89]. linear in the number of activities for every release
The concept of disjunctive precedence con- date that has been increased. This is a major ad-
straints markedly reduces the number of enumer- vantage over the procedures that introduce pre-
ation nodes of the search tree to be investigated in cedence constraints, where the complexity for the
comparison with the branch-and-bound method computation of time-feasible schedules is qua-
by De Reyck [51]. An experimental performance dratic in the number of activities for every added
analysis by Schwindt [174] based upon 1080 precedence constraint (see e.g. Bartusch et al. [12]),
problem instances with 100 activities and ve re- and pseudopolynomial in the case of disjunctive
sources each (generated by the problem generator precedence constraints (see the above-mentioned
ProGen/max by Schwindt [174]) has shown that scheduling problem and [174]).
Schwindt's method solves more instances to opti- The disadvantage of multiple occurrence of the
mality within 10 s than De Reyck's method in 100 same resource conicts, and the corresponding
s (using an IBM-compatible PC Pentium 200). growth of the enumeration tree is tried to be kept
Another branch-and-bound procedure for small by performing immediate selection rules as
PS j temp j Cmax has been investigated by M ohring well as a (surprisingly simple) dominance rule.
et al. [135]. The main dierence lies in the way of Computational results indicate that, even without
resolving resource conicts. Contrary to the pro- implementation of more sophisticated lower
cedures proposed by Bartusch et al. [12], De Reyck bounds, the procedure is competitive with the ones
[51], De Reyck and Herroelen [54] and Schwindt proposed by Schwindt [174] and De Reyck and
[174], where additional (disjunctive) precedence Herroelen [54].
constraints are introduced to resolve a conict, the Recently, Dorndorf et al. [57] used constraint
idea is to introduce ordinary release dates instead. propagation techniques for PS j temp j Cmax . They
That is, a resource conict at a certain time t is showed that an integration of further constraints
resolved by increasing the release dates d0j of ac- on the start times in the aforementioned sense
tivities j 2 M2 (i.e. the time lags between activities within a new time-oriented branching scheme
0 and j 2 M2 ) according to provides very promising results.
new
d0j : minSi pi for all j 2 M2 ;
i2M1
6.3. Heuristic procedures
where M2 is a minimal delaying alternative and
M1 : AS; t n M2 . Every node of the enumeration To solve large instances of PS j temp j Cmax ap-
tree is then represented only by a vector of release proximately, truncated branch-and-bound tech-
dates (or start times, respectively), and, except for niques based upon Schwindt's algorithm and
the values d0j , the path lengths dij i; j 2 V remain priority-rule methods have been developed. As to
unchanged in the course of the algorithm. truncated branch-and-bound procedures, a ltered
On the one hand, this may in principle enlarge beam search technique, an e-approximate algo-
the enumeration tree considerably as has also been rithm, and a decomposition method have been
observed by Schwindt [174]. Since no precedence proposed by Schwindt [174]. The decomposition
relation is introduced, neither ``ordinary'' nor method exploits the Decomposition Theorem from
disjunctive, it may happen that the same resource Section 6.1. First, for each cycle structure C of the
conict has to be resolved several times, due to the network, an optimal schedule S C is computed by
existence of maximal time lags. But on the other the branch-and-bound algorithm. Second, each
hand, this way of branching gives rise to a re- cycle structure C is replaced by an equivalent cycle
markable speedup in the computation of time- of length zero whose arc weights are determined
feasible schedules once a branching has been per- using S C . Third, the e-approximate algorithm is
formed. More precisely, the computation of opti- applied to the resulting network.
22 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
Priority-rule methods for PS j temp j Cmax have methods, which exploit the Decomposition Theo-
been devised and tested by Zhan [201], Neumann rem, provide feasible (optimal) schedules for 100%
and Zhan [140], Brinkmann and Neumann [26], (6%) and 98% (4%), respectively, of all solvable
and Franck and Neumann [70] (the last reference instances, where the average relative deviation of
contains the most recent results). Two dierent the project duration computed from the best lower
approaches have turned out to be expedient. The bound is around 5%. The remaining heuristics
sequential or direct method schedules the activities solve much less instances to feasibility (the direct
one after another without considering the cycle method only 53%), but more instances to opti-
structures of the network separately. The con- mality (the ltered beam search technique 62%).
traction method again exploits the Decomposition
Theorem. First, a feasible subschedule is deter-
mined for each cycle structure. Second, each cycle 7. Nonregular objective functions
structure is replaced by a single node or activity,
respectively, with appropriate duration and (time- The objective function of problem PS j temp j
dependent) resource usage. Third, a feasible Cmax discussed in Section 6 is regular, i.e. nonde-
schedule for the resulting ``contracted'' network creasing in the completion times of activities (in
without cycles is computed. Fourth, a feasible the case of a minimization problem). In this sec-
schedule for the original network is determined tion, we deal with two kinds of nonregular objec-
using the schedules for the contracted network and tive functions where we again assume that general
the individual cycle structures. minimum and maximum startstart time lags are
To nd a feasible schedule (for the whole net- given. If the objective function to be minimized
work, the contracted network, or a cycle structure), represents some measure of the variation of re-
a serial and a parallel schedule generation scheme source utilization, we speak of a resource leveling
have been developed. Among a large number of problem. In the net present value problem, the ob-
priority rules, the LST rule has turned out to be jective function represents the net present value of
best. That is, the activity to be scheduled next is the project which is to be maximized.
always an ``eligible'' activity (all of its predecessors
with respect to strict order have already been
scheduled) with smallest latest start time (cf. [70]). 7.1. Model
To take maximum time lags into account, both
generation schemes contain a backward scheduling In addition to the temporal constraints (5) of
process which is as follows: If the earliest resource- PS j temp j Cmax , we explicitly require that S0 0;
feasible start time of the activity j to be scheduled Sj 2 Z j 2 V , and there is a prescribed maximum
exceeds the latest possible start time of j induced by project duration d 2 Z P 0 with d P d0;n1 .
some maximum time lag dijmax , the start time of In the objective function
P of the resource leveling
activity i (and of some additional activities already problem PS j temp j ck f rk S; t, ck > 0 is the
scheduled) has to be enlarged appropriately. cost per unit of resource k. This problem can then
An experimental performance analysis based be stated as follows:
upon 120 instances with 500 activities and ve X
min ck f rk S; t 9
resources each (generated by ProGen/max) has k2R
provided the following main results (cf. [142,174]):
s:t: Sj Si P dij i; j 2 E;
The priority-rule methods are much faster than the
truncated branch-and-bound procedures. Whereas S0 0;
the direct and contraction methods require 1 and
Sn1 6 d; 10
2 s, respectively, of computing time per instance on Sj 2 Z P 0 j 2 V ;
the average (using a PC Pentium 200), the de-
rk S; t 6 Rk ; k 2 R; t 0; 1; . . . ; d 1:
composition method as slowest heuristic requires
almost 1 m. The decomposition and contraction 11
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 23
P P F Cj
In Neumann and Zimmermann [141,142], three ck f rk S; t or PS j temp j cj b is strongly
types of objective functions (9) are considered. If NP-complete.
For the P net present value problem
f rk S; t max rk S; t; 12
t0;1;...;d1 PS; 1 j temp j cFj bCj (that is, there are no re-
source constraints (11)), De Reyck [51] has pro-
we speak of the resource
P investment problem de- posed a recursive search procedure which runs in
noted by PS j temp j ck max rk S; t, which is
On4 time. This algorithm P generalizes methods for
used in practice when expensive resources have to
problem PS; 1 j prec j cFj bCj (that is, there are
be purchased. A second type of objective function
only minimum time lags dijmin pi ) devised by
where
Grinold [78], Elmaghraby and Herroelen [68], and
X
d 1 Herroelen et al. [93]. De Reyck's recursive proce-
f rk S; t rk S; t Yk 13 dure starts with the earliest schedule ES and tries
t0
to delay rstly activities j with cFj < 0 and secondly
measures the deviation of the consumption of re- sets of connected activities with negative net
source k from a target value for resource usage present value as far as possible without violating
Yk P 0. Yk P
may be equal to the average resource the temporal constraints (10) in order to increase
utilization j2V rjk pj =d. . . . in Eq. (13) can be the net present value of the project. An experi-
replaced by j . . . j or . . .2 . A third type of objective mental performance analysis has shown that, on the
function where average, an instance with 100 activities can be
X
d solved in less than 1 s using a PC Pentium 60.
f rk S; t rk S; t rk S; t 1 14 For thePgeneral net present value problem
t0 PS j temp j cFj bCj , De Reyck [51] has devised a
with rk S; 1 rk S; d 0 considers the varia- branch-and-bound method, which is based upon
tion of resource utilization over time and is used, De Reyck's branch-and-bound algorithm for
for example, if the resources represent dierent PS j temp j Cmax , where the resource-unconstrained
kinds of manpower. Again . . . in Eq. (14) can be scheduling problems with net present value as
replaced by j . . . j or . . .2 . objective function are solved by DePReyck's re-
The basic concepts of cash ows and net pres- cursive procedure for PS; 1 j temp j cFj bCj . An
ent values of the cash ows of a project can be experimental performance analysis with instances
found in Russell [166] and Herroelen et al. [95]. In with up to 50 activities and ve resources has
the objective function shown that, in principle, P the branch-and-bound
P of the net present value method for PS j temp j cFj bCj has the same ef-
problem PS j temp j cFj bCj , b is the discount rate
per period and cFj the cash ow associated with fectiveness and eciency as the corresponding
activity j, which is assumed to occur at the com- procedure
P F Cj for PS j temp j Cmax . For PS j prec j
pletion time Cj Sj pj of activity j and can be cj b , Icmeli and Ereng uc [98] have proposed a
positive (payment received) or negative (cost in- similar branch-and-bound algorithm, which in-
curred). The net present value problem can then be troduces additional precedence constraints to re-
formulated as follows: solve resource conicts in analogy to the branch-
X and-bound procedure by Demeulemeester and
max cFj bCj Herroelen [48] for PS j prec j Cmax .
P For the resource leveling problem PS; 1 j prec j
j2V
devised by Zimmermann and Engelhardt [203]. and Padman and Smith-Daniels [152]. These pa-
This algorithm exploits the fact that given a partial pers also contain an experimental performance
schedule S 0 Si i2V 0 with V 0 V , for an un- analysis for problem instances with 1000 or more
scheduled activity j 2 V n V 0 , there is a time win- activities and several resources. A simulated an-
dow nealing approach has been presented and com-
0 0 0 pared with priority-rule methods using stochastic
Tj fESjS ; ESjS 1; . . . ; LSjS g; 15 scheduling rules by Yang et al. [199]. For the re-
where source leveling problem PS; 1 j prec j ck f rk S; t
with special objective functions, pseudopolynomi-
0
ESjS max d0j ; max0 Si dij : al priority-rule methods have been devised by
i2V
0 16 Burgess and Killebrew [33], Harris [82,83], Taka-
LSjS min d dj;n1 ; min0 Si dji : moto et al. [191], and Savin et al. [170]. Only small
i2V
problem instances with up to 20 activities have
The nodes of the enumeration tree correspond to been solved (approximately)Pby those methods.
partial schedules S 0 with the root corresponding to For problem PS; 1 j temp j ck f rk S; t, pseu-
S0 0. At a node representing partial schedule S 0 , dopolynomial heuristics have been proposed and
the algorithm branches as follows: Select an ac- tested for instances with up to 100 activities and
0 0
tivity j 2 V n V 0 with minimum LSjS ESjS and, several resources by Brinkmann and Neumann
S0 S0
for each t 2 fESj ; . . . ; LSj g, generate a child S t by [26].
setting Sjt t. For so-called r-monotonous objec- Several variants of a polynomial priority-rule
tive functions (which include functions of types method have recently been presented by
(12) and (13) with Yk 0), good lower bounds at Zimmermann [202] and Neumann and Zimmerm-
the nodes S 0 can be computed. For a generalization ann [141,142],
of this branch-and-bound algorithm to problem P which can be applied to Fboth
P PS j temp j ck f rk S; t and PS j temp j cj bCj .
PS j temp j ck f rk S; t with resource con- We briey sketch the basic idea of that procedure.
straints (11) and a preliminary performance anal- At rst we consider the case without resource
ysis we refer to Zimmermann and Engelhardt constraints (11). Given a partial schedule
[203]. S 0 Si i2V 0 ; V 0 V , the activity to be scheduled
For the
P resource investment problem next is either a critical activity j 2 V n V 0 (that is,
PS j temp j ck max rk S; t, N ubel [143] has pro- with slack time equal to zero) or, if there is none,
posed a branch-and-bound procedure in analogy an activity j 2 V n V 0 with highest priority. For the
to the algorithm by Schwindt [174] for net present value problem, the priority rule great-
PS j temp j Cmax . For the nodes of the enumeration est absolute value of cash ow (GCF) is recom-
tree, which correspond to sequencing solutions, mended. The start time Sj of activity j to be
ctitious maximum resource capacities are intro- 0
scheduled next equals ESjS for cFj P 0 and LSjS for
0
(see (15)) whose cardinality is linear in n and which Cmax Ep1 ; . . . ; Epn 6 ECmax p1 ; . . . ; pn ;
depends on the objective function.
Two methods of generalizing the above pri- which may become arbitrarily large with in-
ority-rule procedure to the case where there are creasing number n of activities or, for xed n,
resource constraints (11) are described in Neu- increasing variances of the processing times (see
mann and Zimmermann [141,142]. An experi- [90]). Equality holds if and only if there is one
mental performance analysis has shown that, on path that is critical with probability 1. This sys-
the average, an instance of problem PS; 1 j temp j tematic underestimation of the expected make-
P span has already been observed by Fulkerson
ck f rk S; t with 500 activities and ve re-
sources can (approximately) be solved in less than [75]. The error becomes even worse if one com-
2 s using aPPC Pentium 200. For an instance of pares the deterministic value Cmax Ep1 ; . . . ;
PS j temp j ck f rk S; t with 200 activities and Epn with quantiles tq such that
ve resources, the average running time is less ProbfCmax p 6 tq g P q for large values of q (say
than 1 s. The running times for instances of the q 0:9 or 0:95). This is the reason why good
net present value problem are much smaller. practical planning tools should incorporate sto-
chastic methods. An overview about these meth-
ods is given in Section 8.1. Section 8.2 then deals
with random processing times in the presence of
8. Stochastic activity durations resource constraints.
compute the probability ProbfCmax p 6 tg that the (1) Every activity j 2 V1 is represented in G2 by a
project nishes by time t. set of copies or duplicates Dh, where
Hagstrom shows that the 2-state versions of Dh \ Dj ; if h 6 j.
these problems, in which every processing time pj (2) Every chain C (the set of activities on a path)
has only two discrete values, are #P-complete of G1 is ``contained'' in a chain C 0 of G2 in the
(any #P-complete problem is polynomially sense that, for every activity j 2 C, there is a
equivalent to counting the number of Hamiltonian duplicate j0 2 Dj with j0 2 C 0 . (These dupli-
cycles of a graph and thus in particular NP-com- cates j may be dierent for dierent chains C
plete). This result is derived from a fundamental of G1 .)
result of Provan and Ball [161] on the #P-com- M ohring and M uller [128] show that, if G1 is a
pleteness of reliability problems and shows an- chain-minor of G2 , then one obtains a lower bound
other connection of project scheduling to for the distribution function FG1 of the makespan
reliability theory besides timecost tradeo prob- of G1 if one gives every duplicate j0 of an activity j
lems. the same processing time distribution as activity j,
The complexity status of the general version of treats them as independent, and calculates the
MEAN is open (only the 2-state version, which has distribution function FG2 of the makespan of G2 . In
a short encoding, is #P-complete). If the pro- other words,
cessing times pj may take more than 2 values, the
ProbfCmax 6 t in G1 g P ProbfCmax 6 t inG2 g
problem has a longer encoding that in principle
could admit a polynomial algorithm for solving for every t.
MEAN. This is, however, not the case for DF. But This very general bounding principle covers the
also for MEAN, Hagstrom provides some evi- mentioned specic bounds of Kleindorfer, Spelde,
dence that problems with a long encoding may still Dodin and others. Moreover, if one can identify
be dicult, since MEAN and DF cannot be solved networks G1 ; G2 that ``sandwich'' the given net-
in time polynomial in the number of values of work G in the sense that G1 is a chain-minor of G
Cmax p unless P NP. and G is a chain-minor of G2 , then the unknown
These results show that ecient methods for makespan distribution function FG of G is ``sand-
calculating the expected makespan or quantiles of wiched'' by those of G1 and G2 , i.e., FG1 P
the distribution function of the makespan are very FG P FG2 .
unlikely to exist, and thus (although in retrospect) This brings up the question to identify networks
justify the great interest in approximate methods G1 and G2 , for which the distribution functions FG1
such as bounds, simulation etc. and FG2 are easier to evaluate. If G1 and G2 are
Many of the methods that provide bounds for chosen to be seriesparallel, then the computation
the distribution function of the makespan trans- reduces to a sequence of convolutions and prod-
form the given network (mostly represented as an ucts of distribution functions. Mohring and M uller
activity-on-arc network) into a seriesparallel [128] show that the 2-state version of DF is still
network that is more easily evaluated since series NP-complete, but only in the weak sense. How-
and parallel reductions of two activities h; j in the ever, MEAN can in this case be solved in time
network correspond to the convolution Fh Fj and polynomial in the largest number of values of the
pointwise product Fh Fj of their processing time makespan of a network encountered in any series
distribution functions Fh ; Fj , respectively. Typical parallel reduction sequence.
examples in this respect are the bounds by Dodin The quality of these bounds depends on the
[56], Kleindorfer [107] and Spelde [183]. ``distance'' of the given network G from being se-
Mohring and M uller [128] give a unied model riesparallel, and is another motivation for
for such bounding results in terms of a chain-minor studying distance measures as the reduction com-
notion for project networks. A network plexity and the factoring complexity discussed in
G1 V1 ; E1 is a chain-minor of a network connection with timecost tradeo problems in
G2 V2 ; E2 if (1) and (2) below hold. Section 4.2. In fact, any activity duplication in the
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 27
sense discussed there, leads to a lower bound for Ludwig et al. [121] have implemented several of
the makespan distribution function by the chain- these bounds (Kleindorfer, Dodin, Spelde) and
minor result. This is the driving principle behind have made an extensive computational study of
the bound of Dodin [56]. their bounding behavior on networks having up to
Another way to facilitate the calculation of the 500 activities. The main conclusions from this
makespan distribution function is, similar to time study are that the Spelde bounds provide an ex-
cost tradeo problems, the substitution or modu- cellent approximation that can be computed very
lar decomposition. The rst rigorous analysis of fast. It usually overestimates the quantiles tq for
modular decomposition in connection with sto- q 2 0:9; 1 only by about 5%, and thus provides a
chastic networks was done by Radermacher [162], very good practical planning tool. The bounds of
see also [131]. It can be used both for exact cal- Dodin and Kleindorfer have an even smaller
culation and for bounds. overestimation, but require complete knowledge of
All the methods discussed above assume that the processing time distributions. The accuracy of
the processing time distributions are known, which the bounds can be improved to less than 2%
usually is not the case in practice and often inhibits overestimation through the use of decomposition.
the use of these methods. A way to cope with this For dependent processing times, the above
incomplete information is oered by the bounds of bounds cannot be used. Instead, there is a dierent
Spelde [183]. He takes as network G2 in the approach that calculates an upper bound for the
``sandwich'' a series composition of all paths of G, expected tardiness Emaxf0; Cmax p tg as
thus duplicating an activity as many times as it is function of t, which is valid for any joint distri-
contained in a path of G. The distribution function bution of the processing times and hence for all
FG2 of the resulting seriesparallel network G2 is possible dependencies among them.
then the product of the distribution functions of the This approach has been investigated by Klein
lengths of these paths, say FG2 F1 F2 . . . FN , Haneveld [106], Meilijson and Nadas [124] and
where Fi is the distribution function of the ith path. Weiss [198]. Interestingly, for discrete processing
If the network G is large enough, i.e. all paths time distributions, the evaluation of this bound
contain ``enough'' activities, then, by the central can be interpreted as a timecost tradeo problem
limit theorem, every Fi is approximately a normal with piecewise linear and convex cost functions
distribution function, whose mean li and variance that is equivalent to a linear timecost tradeo
r2i are obtained as the sum of the means and problem as discussed in Section 4.2. An overview
variances of the processing times pj of all activities of this bound is given in [131].
j contained in the ith path. Another, more recent extension of stochastic
Hence it suces to know the expected pro- network analysis concerns the combination of
cessing time Epj and the variance V pj of every random processing times with the timecost
activity in order to calculate the Spelde bound. tradeo paradigm. Here, one inuences the pro-
There is, however, a complication since the num- cessing time distribution of an activity by allocat-
ber N of all paths may be exponential in the size of ing more resources (money) to it. One then wants
the given network G. This can be overcome by to minimize the expected makespan (or other dis-
calculating the rst k longest paths w.r.t. expected tribution parameters) subject to a xed budget. We
processing times Epj , until Probfkth path is refer to the work of Bowman [25] and Foldes and
longer than 1 st pathg 6 e for a given accuracy Soumis [69] for details.
parameter e (say e 0:05). If F1 ; F2 ; . . . ; Fk are the
normal distribution functions of these paths, then
FG2 F1 F2 . . . Fk . In practice k will be small. 8.2. Stochastic scheduling with resource constraints
In fact, this method contains the traditional
PERT as a special case, since PERT only analyzes We now consider random processing times to-
the distribution of the path with the longest ex- gether with resource constraints as for
pected path length. PS j prec j Cmax . This combination has often been
28 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
studied in machine scheduling, but much less in schedule of G0 for processing times p. These poli-
project scheduling. The model leads into the area cies are therefore called ES-policies (Earliest Start
of stochastic dynamic programming. Scheduling is policies).
done by policies or strategies. A complete charac- Stork [189] has implemented a branch-and-
terization of all policies and subclasses thereof has bound algorithm for both classes of policies that
been given by M ohring et al. [132,133]. nds an optimal preselective policy or ES-policies
For stability reasons explained there, only so- for stochastied ProGen instances with up to 20
called elementary strategies are applicable in activities in reasonable time. Unlike branch-and-
practice. Such a policy P has the following dy- bound algorithms for the associated deterministic
namic interpretation. It chooses actions at decision setting, these algorithms require knowledge of the
points. Decision points are t 0 (project start) and set F of minimal forbidden sets in advance and
activity completions. An action at time t consists cannot use lower bounding techniques or domi-
of starting a feasible set St at t, where feasible nance rules that involve knowledge of all pro-
means that precedence and resource constraints cessing times.
are respected. The decision may of course only Motivated by the precedence tree concept used
exploit information that has become available in branch-and-bound algorithms for PS j prec j
until the current time t. Cmax , see Section 3.1., M ohring and Stork [134]
In the end, when every activity has been identify an interesting subclass of the class of
scheduled, we have a realization p of processing preselective policies, the linear preselective policies.
times and P has constructed a schedule Such a policy P chooses the waiting activities
Pp S1 ; S2 ; . . . ; Sn of starting times for the jF 2 F as the last activity in F according to a
P
activities. Cmax p denotes the makespan of that predened linear ordering on the set V of activities
P
schedule, and ECmax p the expected makespan that is a topological sorting of the graph G of
under policy P. The aim then is to nd a policy precedence constraints.
that minimizes the expected makespan. This class of policies leads to a signicant
Policies may be classied according to how they speedup in computation time, since the calculation
solve the resource conicts. This can be modeled of the expected completion time can be done more
by looking at the set F of minimal forbidden sets eciently, and since many preselective policies
F V . Every proper subset F 0 F of such a set that are dominated by others are no longer gen-
F 2 F can in principle be scheduled simulta- erated. Moreover, it is possible to eciently decide
neously, but the set F itself cannot because of the whether the conict on a currently considered
resource constraints. forbidden set has already been indirectly settled by
A natural class of policies is the class of prese- previous choices of waiting activities jF for other
lective policies introduced by Igelmund and Rad- forbidden sets. These properties make it currently
ermacher [99,100]. They solve the resource conict possible to solve most of the ProGen instances
on every forbidden set F 2 F by choosing an ac- with up to 30 activities to optimality.
tivity jF 2 F that can only start after some other
activity j 2 F n fjF g has nished. This idea has
also recently been used in deterministic scheduling 9. Further models
under the name of delaying alternatives, see also
Section 6.2. Enterprises are and have been facing mounting
A subclass of the class of preselective policies is pressures to exercise reductions in costs arising
obtained by letting the selected activity jF 2 F al- from producing their goods or services and to
ways wait for the same activity iF 2 F n fjF g. Any make better use of existing sta or equipment. It is
such policy P can be identied with a network G0 well known from practical experience that this
constructed from the given network G by adding pressure can be met, at least in part, by more ef-
all such precedence constraints iF ! jF . The policy cient and intelligent planning. Successful appli-
P then constructs as Pp the earliest start cation of these methods, however, depends to a
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 29
large degree on the ability to unambiguously and situation in which certain activities belong together
eciently model the relevant specics of the in the sense that they must be executed in the same
problems tackled. This ability, in turn, calls for way. This leads to the mode identity case that has
expressive modeling concepts, which allow to been recently introduced into the project schedul-
capture a wide range of requirements appearing in ing literature by Salewski et al. [168]. There it is
real world problems. Additionally, advanced proven that MPS j prec j Cmax is a special case of
methods exploiting the degree of freedom covered the more general mode identity case. Moreover, it
by advanced models are also necessary. is shown that the (feasibility variant of the) mode
Obviously, the models and methods discussed so identity case is strongly (NP-complete) NP-hard.
far in this paper meet these requirements to some Furthermore, greedy randomized adaptive search
extent. However, there are numerous practical procedures are presented. Finally, it is shown that
problem settings which require more general mod- the mode identity case serves to model applications
els. Some of them are mentioned in what follows. to audit-sta scheduling.
(i) Recently, it has been shown by Dayanand
and Padman [43,44] that the usual approach to
relate to one single model which has to cover both 10. For further reading
the contractor's and the client's view of the prob-
lem might not be appropriate in practice. Conse- [3,27,41,52,53,64,150,156,173,184,192,193]
quently, in [43] models for the contractor and in
[44] models for the client are discussed.
(ii) A generalization of PS j prec j Cmax is con- Acknowledgements
sidered in B ottcher et al. [21]. There so-called par-
tially renewable resources are dened by assuming This research has been supported by Deutsche
for each resource a capacity on subsets of periods. Forschungsgemeinschaft Grants Br 389/15, Dr
In [21] exact branch-and-bound and serial heuristic 170/6, Mo 446/3, Ne 137/4, Pe 514/7. The authors
algorithms have been developed. The concept of are indebted to Alf Kimms, Frederik Stork and
partially renewable resources is a fundamental tool Marc Uetz for careful reading previous versions of
in order to make e.g. timetabling and shift sched- the manuscript.
uling amenable to project scheduling. In addition,
partially renewable resources serve to model com-
plicated labor regulations. Furthermore, they cover Appendix A. Constraint propagation techniques
traditional renewable and nonrenewable resource
constraints as special cases. Finally, in Schirmer So far we have discussed methods which are
and Drexl [171] it is shown that partially renewable tailored for solving, e.g., PS j prec j Cmax . Now, a
resources can be used to express several kinds of short review of the basis of constraint propaga-
logical relations between the scheduling of activi- tion, the sequence consistency tests which have
ties. In addition, a number of practical require- primarily been developed for solving the special
ments on activities' scheduling can be formulated case PSm; 1; 1 j prec j Cmax will be given. Though
such as maximum or minimum quotas, as well as designed for the special case, it is strongly con-
issues of calendarization. This underscores the ex- jectured that these tests are also applicable to the
pressive power of partially renewable resources. more general problem PS j prec j Cmax . We start
(iii) In the multi-mode case of project scheduling with the description of some basic concepts.
all mode-activity-assignments are mutually inde-
pendent in the sense that assigning a mode to one
activity j of a project consisting of n nonpreemp- A.1. Basic concepts
table activities does not necessarily force any other
activity to be processed in a specic mode. In some The scope of inference or propagation tech-
applications this is not feasible. Imagine, e.g., a niques is to reach a certain level of consistency in
30 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
order to accelerate exact algorithms or local search CONij Yi ; Yj contains at most two variables Yi and
procedures. Model based local reasoning over the Yj , and corresponds to a subset of the Cartesian
constraint set makes problem specic knowledge, product Di Dj . An edge connecting the vertices
which is implicitly contained in the model de- of the variables Yi and Yj corresponds to all binary
scription, explicitly available. relations on these two variables. The resulting
Most existing knowledge based scheduling graph is said to be the constraint graph of the
systems are only capable of incorporating a small underlying CSP. A universal relation between any
fraction of scheduling knowledge. Encouraged by two variables Yi and Yj , i.e. constraints which are
this little success and the progress that is made in satised by all tuples of the Cartesian product Di
the development of general problem solvers in and Dj , is not included into the graph. Universal
form of constraint based logic programming lan- constraints do not deliver any information.
guages (cf. ILOG, see [120]), here we are going to Some simple consistency checks at the begin-
restrict ourselves to the problem PSm; 1; ning of the search can drastically reduce the size of
1 j prec j Cmax . Recognizing some typical features the search tree. These tests of consistency have the
probably could enormously increase the power of advantage that the constraint graph becomes more
general problem solvers in order to solve optimi- explicit, i.e. hidden constraints on variables cur-
zation, and in particular constraint satisfaction rently not adjacent in the constraint graph get
problems. visible and new edges may be introduced into the
A constraint satisfaction problem (CSP) con- graph. Hereby we say that a set of variables is a-
sists of a set of n variables Y1 ; . . . ; Yn , their domains consistent if it is a 1-consistent and for any
D1 ; . . . ; Dn , respectively, and a set of constraints of subset of a 1 variables and any instantiation of
these variables. An n-ary relation or constraint on these a 1 variables satisfying all constraints there
Y1 ; . . . ; Yn is a subset of the cartesian product exists a value in the domain of the remaining
D1 D2 Dn of the domains. A solution is a variable such that all constraints on all a variables
value assignment of the variables such that all are satised. 1-consistency means that for every
constraints are satised. As a special case a binary variable and each of its domain variables all con-
CSP consists only of constraints on two variables straints are satised. A set of variables is arc
(cf. [122,125]). Obviously, project scheduling consistent if it is 2-consistent (this is said in rela-
problems can be considered as constraint satis- tion to the constraint graph). A pair of variables Yi
faction problems whereby the objective function is and Yj is path-consistent if for any feasible, i.e.
included into the set of constraints. CONij Yi ; Yj respecting, instantiation ai and aj of
A graph may serve as an illuminating repre- Yi and Yj and any sequence of edges CONi;i1 ;
sentation of constraint satisfaction problems. In CONi1 ;i2 ; . . . ; CONim ;j in the constraint graph there
the dual representation each vertex of the graph is an instantiation ai1 2 Di1 ; ai2 2 Di2 ; . . . ; aim 2 Dim
corresponds to a constraint and vertices are adja- of variables Yi1 ; Yi2 ; . . . ; Yim such that all constraints
cent if the vertices representing constraints have at CONi;i1 ai ; ai1 ; CONih ;ih 1 aih ; aih 1 ; CONim ;j aim ;
least one variable in common. In the primal rep- aj ; h 1; . . . ; m 1, are satised. Thus path-
resentation the only one we are going to consider consistency means that for any pair of variables
each vertex of the graph corresponds to some and any explicitly feasible value pair there is also a
variable of the CSP. An edge is a subset of the feasible variable-value assignment on each path
vertex set. The edge represents precisely those (edge sequence) connecting this variable pair in the
constraints which constitute of these and only constraint graph (including the universal relation).
these variables represented by the edge dening The constraint graph is arc- or path-consistent if
vertex set. Hence, an edge implicitly is dened by any pair of variables is arc- or path-consistent,
the set of all feasible tuples of variable instantiat- respectively. Arc-consistency requires an Oe a2
ions of the edge dening constraints. The resulting eort while path-consistency can be reached with
graph is a hypergraph. The situation is much an eort of On3 a3 where e is the number of edges
simpler in case of a binary CSP, i.e. a constraint in the constraint graph, a is the maximum number
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 31
of elements in a domain, and n is the number of is available in precisely one unit at a time, i.e.
variables (cf. e.g. [91]). consider PSm; 1; 1 j prec j Cmax . The job shop
As mentioned earlier consistency tests yield a scheduling problem is a special case and has re-
more explicit constraint graph. This is quite com- ceived considerable attention in the literature, see
parable to what happens during backtrack search. the surveys by Bla_zewicz et al. [16,17]. There are a
The enumeration only takes those constraints into couple of solution approaches on job shop sched-
account which are explicitly contained in the con- uling available which we are going to describe in
straint graph, while implicitly existing edges be- the more general project scheduling setting (cf.
come just visible during the search process. Finding [20,29,30,36,37,147,157,158] and the annotated
implicitly existing constraints means to generate bibliography by Hoogeven et al. [97]). An illumi-
new knowledge in the knowledge base, it is called nating description of the problem is the disjunctive
constraint propagation and dates back to an early graph model which has been extended by
idea of Waltz [197]. Clearly, the higher the level of Bla_zewicz et al. [19].
consistency the more constraints become visible. Such a disjunctive graph is a particular form
That means, to reach arc-consistency, path- or 3- of a binary constraint graph. An activity repre-
consistency can be considered as local constraint senting vertex corresponds to a variable in the
propagation. In order to reach backtrack-poor constraint satisfaction model. A variable's do-
search it is necessary to make as many constraints main consists of all possible starting times of the
explicit as possible, because variable instantiations activity. Conjunctive arcs describe the precedence
which violate implicitly existing constraints usually constraints and the orientation of the arc denes
are detected much later during the search process. certain time dependencies. A disjunctive arc pair
Such inconsistencies then lead to backtracking. In connecting two activities i; j; which are competing
order to reach backtrack-free search it is indis- for the same resource, may be replaced by an
pensable to make all implicitly existing constraints undirected edge connecting activities i and j, or
explicit. Montanari [136] called that the ``central variables Yi and Yj , respectively. Yi is the domain
problem'', obviously an NP-hard one. For some variable which shall be instantiated with start
special cases it is possible to require sucient times Si . Each edge denes the constraint
conditions in order to reach a backtrack-free or a CONij Yi ; Yj CONji Yj ; Yi corresponding to
backtrack-poor search. For instance, arc-consis- Yi pi 6 Yj or Yj pj 6 Yi , i.e. either activity i is
tency with respect to a constraint graph which is a scheduled before activity j or the other way
tree guarantees backtrack-free search, cf. [72,73]. round.
Constraint propagation, i.e. local consistency In order to increase eciency a domain is rep-
checks, can reduce the enumeration procedure resented as an interval of integers of possible
before searching substantially but also during the processing starts, hence only the interval dening
search process it may happen that the modication endpoints are considered as domain values. Thus
of a variable domain reduces the domains of other an inconsistency of a tuple is not realized if one of
variables, of those which are connected to the the tuple entries belongs to the interior of an in-
former by some constraints. That may lead to a terval. Such an inconsistency is only excluded from
cut of some search tree branches. Certain methods the interval if the value of the tuple responsible for
are described in the literature in order to reduce the inconsistency, will become an interval endpoint
the search tree. Some of these consistency tests are at a certain time. Consider again any constraint
described in what follows. CONij Yi ; Yj . Then the left bound (with respect to
arc-consistency on constraint CONij ) of the do-
main interval Di is dened by the temporarily
A.2. Resource-based sequence consistency tests earliest possible starting (release) time of activity i
such that there is a possible start time of activity j
Consider the minimum makespan problem of within its domain Dj . The right bound (with re-
project scheduling with m resources each of which spect to arc-consistency on constraint CONij ) of
32 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
the domain Di is dened as the temporarily latest mains unless domain reductions are no longer
possible start time of activity i such that there is a possible. Hence the eect of any propagation
possible start time of activity j in Dj and both heavily depends on the kind of constraints. The
activities can be processed. eciency depends on the constraint activation se-
Assume that the order in which i and j are quence, the variable and value selection in the
processed is not xed. An arc-consistent domain of backtrack search (if no further domain reduction
activity i means that Di is bounded to the left by can be achieved) and the level of consistency.
the maximum of all such earliest possible start These sequence consistency tests reduce activity
times with respect to all activities j requiring the domains by ruling out infeasible start time as-
same resource. The right bound is given by the signments. The benet of the tests is that they can
minimum of all such latest possible start times of reduce the search space and direct an algorithm
activity i with respect to all activities j requiring towards good solutions. From now on we are only
the same resource. Arc-consistency of an interior interested in the tests themselves and will not ad-
point of the interval is not guaranteed unless it dress scheduling algorithms in which they can be
becomes an interval endpoint at some time. Con- embedded.
sider the disjunctive graph model. Then the longest We assume that all activity domains have been
path from the initial dummy activity to activity i, made node-consistent (heads and tails have been
which denes the release date ESi of i, is a lower calculated), i.e. we impose an upper bound on the
bound of the left bound of an arc-consistent in- makespan of at least one feasible schedule. First
terval. Correspondingly, if we subtract the tail, i.e. we derive the tests for the case of unit resource
the length of a longest path connecting activity i capacity as, for instances, encountered in machine
(including pi ) to the ctitious termination activity scheduling. Finally, the results will be generalized
in the disjunctive graph, from the makespan (or an for arbitrary usage of resources and arbitrary re-
upper bound) then we obtain an upper bound LSi source availability. A comprehensive presentation
for the right endpoint of the interval. Hence, can be found in [58].
computing heads (release times) and tails generally Recall pj , the processing time of activity j, rjk ,
yields only node-consistent (1-consistent) domains the per period usage of renewable resource k, and
of possible starting points for all activities but, if ESj ; LSj ] ECj ; LCj , the start (completion) time
one arc is selected from each disjunctive arc pair, window of activity j. The domain Dj is the set of
i.e. we have an acyclic graph dening a feasible all possible start times Sj of j. It is bounded by
schedule, then the computation of heads and tails the start time window ESj ; LSj but some values
provides arc-consistency. Even more, without in the start time window may be infeasible. We
backtracking a feasible solution can be found. As will use the following shorthand description w.r.t.
the constraint graph corresponds to an activity-on- any activity from a subset W of the set V of ac-
node network, these start time windows can be tivities:
derived in a straightforward way. A test of path-
consistency means that for any two path-consis- EW : minfESj j j 2 W g;
tent activities i and j, where i may be processed X
P W : pj
before j, and any third activity h either h; i; j is a j2W
possible processing sequence or i; h; j or i; j; h. All
three possibilities are checked and the intervals are CW : maxfLCj j j 2 W g;
modied. LSW : minfLSj j j 2 W g;
Let us go into more details in order to describe ECW : maxfECj j j 2 W g:
a class of logical tests called sequence consistency
tests which are based on resource constraints. A sequence relation i ! W n j says that activity
Constraint propagation nally is a full exploration i has to be scheduled (started and nished) before
of all available resource constraints in a sense that the start of any activity in set W n j, i.e. there is no
constraints are activated to reduce variable do- precedence relation between i and j.
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 33
The idea behind all sequencing tests described may be possible to reduce the domains of activities
now is to consider subsets W of activities requiring in W n j by applying other tests. In branch-and-
the same resource k for being processed. Within bound procedures that branch over disjunctive
these subsets all possible activity sequences with a arcs, the rules may be employed to x disjunctions,
particular property are examined, e.g. the property a process often called immediate selection or edge
that the activity sequence does not start with an nding, cf. Brucker et al. [29].
activity j from W . If all such sequences are infea- From the input/output condition it can be de-
sible, then we can conclude that the sequence must duced that an activity j must be scheduled rst or
not have the property; therefore, we could deduce last in W . The weaker input or output condition
that j must be rst in W since all sequences where can be used to show that a precedence relation
this is not the case are infeasible. The sequencing i ! j exists between an activity pair i; j from W , cf.
tests are presented in order of decreasing strength. Bla_zewicz et al. [20].
While a stronger condition allows a stronger con- Input or output: Let i and j be two activities
clusion, it is at the same time more likely to be from a subset W of the activity set V where all
inapplicable. Except for the last one all other tests activities of W require one unit of the same re-
in this section are derived for disjunctive schedul- source during each period of processing. If
ing problems where all activities are mutually ex- CW n j EW n i < P W then i must be
clusive in the sense that they exclusively occupy scheduled rst or j must be scheduled last in W . If i
any required resources throughout their processing and j are two distinct activities then i ! j.
time. This is of course the case for instances of If the input or output condition holds and i 6 j
PSm; 1; 1 j prec j Cmax . However, even for instances we can reduce the domains of i and j through an
of PS j prec j Cmax the tests may still be used for update of the latest start time LSi to
subsets of disjunctive activities. Disjunctive tests minfLSi ; LSj pi g. Symmetrically, the earliest start
for activity pairs lead to good lower bounds for time ESj can be updated to maxfESj ; ECi g. If the
PS j prec j Cmax , cf. Klein and Scholl [105]. input or output condition holds and i j we can
Carlier and Pinson [37] have derived conditions reduce the domain of j by the interval
under which it can be concluded that an activity j LSW n j pj ; ECW n j. For the case where
from W must be scheduled rst or last in W , see there are only three activities in W the input or
also Carlier [35]. They even used the preemptive output condition allows to draw the conclusions as
bound for calculation of tighter values LSW and the r-set condition described in Brucker et al. [29]
ECW . If an activity j is scheduled before or after which present an On2 algorithm for checking 3-
W n j we may also think of j as the input or output set conditions. By further relaxing the test for the
of W n j, which stipulates the name of the follow- input or output condition, we can still draw ad-
ing condition. ditional conclusions in situations where the input
Input/output: Let j be an activity from a subset or output condition and the input/output condi-
W of the activity set V where all activities of W tion do not hold.
require one unit of the same resource during each Input/output negation (cf. [8,36,147]): Let j be an
period of processing. If CW EW n j < P W activity from a subset W of the activity set V where
then j must precede all activities in W n j. If all activities of W require one unit of the same
CW n j EW < P W then j must succeed all resource during each period of processing. If
activities in W n j. CW n j ESj < P W then j must not precede all
If the input condition holds we can reduce the activities in W n j. If LCj EW n j < P W then j
domain of j through an update of the latest start must not succeed all activities in W n j.
time LSj to minfLSj ; LSW n j pj g. Symmetri- The input negation extracts the interval
cally, if the output condition holds, the earliest 0; minfECj0 j j0 2 W n jg from the set of possible
start time ESj can be updated to max start times of j. Symmetrically, if the set output
fESj ; ECW n jg. After reducing the domain of j it negation holds, j must precede at least one activity
34 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
in W and it extracts the interval cf. [911]. Assume for simplicity that the resource
maxfLSj0 pj 1 j j0 2 W n jg; 1 from the set of capacity is constant.
possible start times of j. Set input/output: Let j be an activity from a
We now try to reason about the amount of subset W of the activity set V where all activities of
processing time of an activity that must fall into W require at least one unit of the same resource k
a given interval t1 ; t2 . The smallest amount of during each period of processing.
time during which an activity j must be executed X
in the interval t1 ; t2 , say the interval processing IfCW EW n jRk < pi rik ; then j ! W n j:
i2W
time, is:
X
pj t1 ; t2 : IfCW n j EW Rk < pi rik ; then W n j ! j:
i2W
maxf0; minfpj ; t2 t1 ; ECj t1 ; t2 LSj gg:
Note that the meaning of j ! W n j (or
The processing time for aP set W that must fall
W n j ! j) is, that j must start before (or end after)
into t1 ; t2 is P W ; t1 ; t2 : j2W pj t1 ; t2 .
all activities in W n j.
Interval pair ordering: Let i and j be two ac-
Hence, consistency checks, or roughly speaking
tivities from a subset W of the activity set V where
propagation of constraints will make implicitly
all activities of W require one unit of the same
dened constraints more visible and will prune the
resource during each period of processing. If
search tree in a branch and bound algorithm.
Cfjg Efig < P W n fi; jg; Efig; Cfjg
Obviously, n-consistency, where n is the number of
P fi; jg then j ! i.
activities, immediately implies that a feasible
Interval consistency: Let j be an activity from a
schedule can be generated easily, however, to
subset W of the activity set V where all activities of
achieve n-consistency is in general not practicable.
W require one unit of the same resource during
Moreover, worse upper bounds on the makespan
each period of processing. Let t 2 ESj ; LCj . If
of an optimal schedule will hardly reduce variable
t ESj < P W n j; ESj ; t minfpj ; t ESj g then
domains, i.e. only a few arc directions are xed
j must be delayed, i.e. its earliest possible start can
during the constraint propagation process. The
be increased by P W n j; ESj ; t. Symmetrically, if
better the bounds the more arc directions can be
LCj t < P W n j; t; LCj minfpj ; LCj tg then
xed, see also [38,39,123].
j must be preferred, i.e. its latest possible com-
The main interest of propagation of constraints
pletion can be decreased by P W n j; t; LCj .
is the exibility that results from the fact that each
The interval consistency test can be limited to
constraint propagates independently from the ex-
earliest start and latest completion times of activ-
istence or non-existence of other constraints. It
ities, thus providing an ecient algorithm for this
appears that the propagation process can be or-
consistency test, see [58].
ganized to guarantee that propagation can be done
The aforementioned consistency tests got dif-
via longest path computation (cf. [19,20,39]).
ferent names by dierent authors, some of them
are called edge-nding. The two interval tests are
also known as energetic reasoning, cf. [8]. Many of
these tests generalize and extend the earlier tests on References
job shop scheduling, e.g. Nuijten [145] and Nuijten
[1] T. Ahn, S.S. Ereng uc, Resource constrained project
and Le Pape [147] update time bounds of activities scheduling problem with multiple crashable modes,
using ideas presented in Carlier and Pinson [37] Technical Report, College of Business Administration,
and incorporates the tests into a constraint satis- University of Florida, Gainesville, USA, 1995.
faction framework, cf. [146]. [2] H.N. Ahuja, Construction Performance Control by
Networks, Wiley, New York, 1976.
The results for PSm; 1; 1 j prec j Cmax can be
[3] C. Akkan, Two heuristics based on a graph induction
generalized for resources and activities with arbi- method for the discrete timecost tradeo problem,
trary resource availability and usage, respectively, Working Paper, Koc University, Istanbul, 1997.
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 35
[4] R. Alvarez-Valdes, J.M. Tamarit, Heuristic algorithms [18] J. Bla_zewicz, J.K. Lenstra, A.H.G. Rinnooy Kan,
for resource-constrained project scheduling: A review Scheduling subject to resource constraints, Discrete
and an empirical analysis, in: R. Sowi nski, J. Weglarz Applied Mathematics 5 (1983) 1124.
(Eds.), Advances in Project Scheduling, Elsevier, Am- [19] J. Bla_zewicz, E. Pesch, M. Sterna, A note on disjunctive
sterdam, 1989, pp. 114134. graph representation, Working Paper, Universit at Bonn,
[5] T. Baar, P. Brucker, S. Knust, Tabu-search algorithms 1998.
for the resource-constrained project scheduling problem, [20] J. Bla_zewicz, E. Pesch, M. Sterna, A branch and bound
Working Paper, Universit at Osnabruck, 1997. algorithm for the job shop scheduling problem, in: A.
[6] M.O. Ball, C.J. Colbourn, J.S. Provan, Network reli- Drexl, A. Kimms (Eds.), Beyond Manufacturing Re-
ability, in: M.O. Ball, T.L. Magnanti, C.L. Monma, G.L. source Planning (MRP II) Advanced Models and
Nemhauser (Eds.), Network Models, Handbooks in Methods for Production Planning, Springer, Berlin,
Operations Research and Management Science, vol. 8, 1998, pp. 219244.
Elsevier, Amsterdam, 1995, pp. 673762. [21] J. Bottcher, A. Drexl, R. Kolisch, F. Salewski, Project
[7] M. Bandelloni, M. Tucci, R. Rinaldi, Optimal resource scheduling under partially renewable resource con-
leveling using non-serial dynamic programming, Euro- straints, Management Science, under review.
pean Journal of Operational Research 78 (1994) 162 [22] F.F. Boctor, Some ecient multi-heuristic procedures
177. for resource-constrained project scheduling, European
[8] P. Baptiste, C. Le Pape, A theoretical and experimental Journal of Operational Research 49 (1990) 313.
comparison of constraint propagation techniques for [23] F.F. Boctor, A new and ecient heuristic for scheduling
disjunctive scheduling, Proceedings of the 14th Interna- projects with resource restrictions and multiple execution
tional Joint Conference on Articial Intelligence (IJ- modes, European Journal of Operational Research 90
CAI), Montreal, Canada, 1995. (1996) 349361.
[9] P. Baptiste, C. Le Pape, W.P.M. Nuijten, Constrained- [24] K. Bouleimen, H. Lecocq, A new ecient simulated
based optimization and approximation for job-shop annealing algorithm for the resource-constrained project
scheduling, Proceedings of the AAAISIGMAN Work- scheduling problem, Technical Report, Service de Ro-
shop on Intelligent Manufacturing Systems, 14th Inter- botique et Automatisation, Universite de Liege, 1998.
national Joint Conference on Articial Intelligence [25] R.A. Bowman, Stochastic gradient-based timecost
(IJCAI), Montreal, Canada, 1995. tradeos in PERT networks using simulation, Annals
[10] P. Baptiste, C. Le Pape, W.P.M. Nuijten, Incorporating of Operations Research 53 (1994) 533551.
ecient operations research algorithms in constrained- [26] K. Brinkmann, K. Neumann, Heuristic procedures for
based scheduling, Proceedings of the First Joint Work- resource-constrained project scheduling with minimal
shop on Articial Intelligence and Operations Research, and maximal time lags: The resource-leveling and
Timberline Lodge, Oregon, to appear. minimum project duration problems, Journal of Deci-
[11] P. Baptiste, C. Le Pape, W.P.M. Nuijten, Satisability sion Systems 5 (1996) 129155.
test and time-bound adjustments for cumulative sched- [27] P. Brucker, Scheduling Algorithms, Springer, Berlin, 2nd
uling problems, Working Paper, Universite de Technol- edition, 1998.
ogie de Compiegne, 1998. [28] P. Brucker, B. Jurisch, A new lower bound for the job-
[12] M. Bartusch, R.H. M ohring, F.J. Radermacher, Sched- shop scheduling problem, European Journal of Opera-
uling project networks with resource constraints and tional Research 64 (1993) 156167.
time windows, Annals of Operations Research 16 (1988) [29] P. Brucker, B. Jurisch, A. Kr amer, The job-shop
201240. problem and immediate selection, Annals of Operations
[13] W.W. Bein, J. Kamburowski, M.F.M. Stallmann, Research 50 (1996) 73114.
Optimal reduction of two-terminal directed acyclic [30] P. Brucker, B. Jurisch, B. Sievers, A branch and bound
graphs, SIAM Journal on Computing 21 (1992) 1112 algorithm for the job-shop problem, Discrete Applied
1129. Mathematics 49 (1994) 107127.
[14] C.E. Bell, J. Han, A new heuristic solution method in [31] P. Brucker, S. Knust, Solving large-sized resource
resource-constrained project scheduling, Naval Research constrained project scheduling problems; in: J. Weglarz
Logistic 38 (1991) 315331. (Ed.), Handbook on Recent Advances in Project Sched-
[15] N. Billstein, F.J. Radermacher, Timecost optimization, uling, Kluwer Academic Publishers, Dordrecht, to
Methods of Operations Research 27 (1977) 274294. appear.
[16] J. Bla_zewicz, W. Domschke, E. Pesch, The job shop [32] P. Brucker, S. Knust, A. Schoo, O. Thiele, A branch and
scheduling problem: Conventional and new solution bound algorithm for the resource-constrained project
techniques, European Journal of Operational Research scheduling problem, European Journal of Operational
93 (1996) 133. Research, 107 (1998) 272288.
[17] J. Bla_zewicz, K.H. Ecker, E. Pesch, G. Schmidt, J. [33] A.R. Burgess, J.B. Killebrew, Variation in activity level
Weglarz, Scheduling Computer and Manufacturing on a cyclical arrow diagram, Journal of Industrial
Processes, Springer, Berlin, 1996. Engineering 13 (1962) 7683.
36 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
[34] J.M. Burt, Jr., M.B. Garman, Contitional Monte Carlo: [52] B. De Reyck, E. Demeulemeester, W. Herroelen, Local
A simulation technique for stochastic network analysis, search methods for the discrete time/resource trade-o
Management Science 18 (1971) 207217. problem in project networks, Technical Report, Depart-
[35] J. Carlier, The one machine sequencing problem, Euro- ment of Applied Economics, Katholieke Universiteit
pean Journal of Operational Research 11 (1982) 4247. Leuven, 1997.
[36] J. Carlier, E. Pinson, An algorithm for solving the job- [53] B. De Reyck, W. Herroelen, The multi-mode resource-
shop problem, Management Science 35 (1989) 164176. constrained project scheduling problem with generalized
[37] J. Carlier, E. Pinson, A practical use of Jackson's precedence constraints, Working Paper, Katholieke
preemptive schedule for solving the job shop problem, Universiteit Leuven, 1997.
Annals of Operations Research 26 (1990) 269287. [54] B. De Reyck, W. Herroelen, A branch-and-bound
[38] Y. Caseau, F. Laburthe, Disjunctive scheduling with task procedure for the resource-constrained project schedul-
intervals, Working Paper, Ecole Normale Superieure ing problem with generalized precedence relations, Eu-
Paris, 1995. ropean Journal of Operational Research, to appear.
[39] Y. Caseau, F. Laburthe, Cumulative scheduling with [55] L.P. Devroye, Inequalities for the completion times of
task intervals, Proceedings of the Joint Internal Confer- stochastic PERT networks, Mathematics of Operations
ence and Symposium on Logic Programming, 1996. Research 4 (1979) 441447.
[40] N. Christodes, R. AlvarezValdes, J.M. Tamarit, Pro- [56] B. Dodin, Bounding the project completion time distri-
ject scheduling with resource constraints: A branch and bution in PERT networks, Operations Research 33
bound approach, European Journal of Operational (1985) 862881.
Research 29 (1987) 262273. [57] U. Dorndorf, E. Pesch, T. Phan Huy, A time-oriented
[41] E.W. Davis, G.E. Heidorn, An algorithm for optimal branch-and-bound algorithm for project scheduling with
project scheduling under multiple resource constraints, generalized precedence constraints, Working Paper,
Management Science 17 (1971) 803816. Universit at Bonn, 1998.
[42] E.W. Davis, J.H. Patterson, A comparison of heuristic [58] U. Dorndorf, T. Phan Huy, E. Pesch, A survey of
and optimum solutions in resource-constrained project interval capacity consistency tests for time- and resource-
scheduling, Management Science 21 (1975) 944955. constrained scheduling, in: J. Weglarz (Ed.), Handbook
[43] N. Dayanand, R. Padman, Payments in projects: A on Recent Advances in Project Scheduling, Kluwer
contractor's model, Working Paper, The Heinz School, Academic Publishers, Dordrecht, 1998, to appear.
Carnegie Mellon University, Pittsburgh, 1993. [59] P.J. Downey, Distribution-free bounds on the expecta-
[44] N. Dayanand, R. Padman, Project contracts and pay- tion of the maximum with scheduling applications,
ment schedules: The client's problem, Working Paper, Operations Research Letters 9 (1990) 189201.
The Heinz School, Carnegie Mellon University, Pitts- [60] A. Drexl, Scheduling of project networks by job assign-
burgh, 1996. ment, Management Science 37 (1991) 15901602.
[45] P. De, E.J. Dunne, J.B. Ghosh, C.E. Wells, The discrete [61] A. Drexl, J. Gr unewald, Nonpreemptive multi-mode
timecost tradeo problem revisited, European Journal resource-constrained project scheduling, IIE Transac-
of Operational Research 81 (1995) 225238. tions 25 (5) (1993) 7481.
[46] P. De, E.J. Dunne, J.B. Ghosh, C.E. Wells, Complexity [62] S.M. Easa, Resource leveling in construction by optimi-
of the discrete timecost tradeo problem for project zation, Journal of Construction Engineering and Man-
networks, Operations Research 45 (1997) 302306. agement 115 (1989) 302316.
[47] E. Demeulemeester, Minimizing resource availability [63] S.E. Elmaghraby, On the expected duration of PERT
costs in time-limited project networks, Management type networks, Management Science 13 (1967) 299306.
Science 41 (1995) 15901598. [64] S.E. Elmaghraby, Activity Networks Project Planning
[48] E. Demeulemeester, W. Herroelen, A branch-and-bound and Control by Network Models, Wiley, New York,
procedure for the multiple resource-constrained project 1977.
scheduling problem, Management Science 38 (1992) [65] S.E. Elmaghraby, The estimation of some network
18031818. parameters in the PERT model of activity networks:
[49] E. Demeulemeester, W. Herroelen, New benchmark Review and critique, in: R. Slowi nski, J. Weglarz, (Eds.),
results for the resource-constrained project scheduling Advances in Project Scheduling, Elsevier, Amsterdam,
problem, Management Science 43 (1997) 14851492. 1989, pp. 371432.
[50] E. Demeulemeester, W. Herroelen, S.E. Elmaghraby, [66] S.E. Elmaghraby, Resource allocation via dynamic
Optimal procedures for the discrete time/cost trade-o programming in activity networks, European Journal
problem in project networks, European Journal of of Operational Research 88 (1992) 5086.
Operational Research 88 (1996) 5068. [67] S.E. Elmaghraby, Activity nets: a guided tour through
[51] B. De Reyck, Scheduling projects with generalized some recent developments, European Journal of Oper-
precedence relations: Exact and heuristic procedures, ational Research 82 (1995) 383408.
Ph.D. Dissertation, Katholieke Universiteit Leuven, [68] S.E. Elmaghraby, W. Herroelen, The scheduling of
1998. activities to maximize the net present value of projects,
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 37
European Journal of Operational Research 49 (1990) 35 network analysis, Found. Control Eng. 4 (1979) 107
49. 117.
[69] S. Foldes, F. Soumis, PERT and crashing revisited: [88] R. Heilmann, A branch-and-bound procedure for
Mathematical generalizations, European Journal of Op- MRCPSP/max, Report WIOR-512, Universit at Karl-
erational Research 64 (1993) 286294. sruhe, 1998.
[70] B. Franck, K. Neumann, Resource-constrained project [89] R. Heilmann, C. Schwindt, Lower bounds for RCPSP/
scheduling with time windows structural questions and max, Report WIOR-511, Universit at Karlsruhe, 1997.
priority-rule methods, Report WIOR-492, Universitat [90] U. Heller, On the shortest overall duration in stochastic
Karlsruhe, 1997. project networks, Methods of Operations Research 42
[71] H. Frank, I.T. Frisch, R. van Slyke, W.S. Chou, Optimal (1981) 85104.
design of centralized computer networks, Networks 1 [91] P. van Hentenryck, Constraint Satisfaction in Logic
(1970) 4358. Programming, MIT Press, Cambridge, MA, 1989.
[72] E.C. Freuder, A sucient condition of backtrack-free [92] W. Herroelen, E. Demeulemeester, B. De Reyck, Re-
search, Journal of the ACM 29 (1982) 2432. source-constrained project scheduling A survey of
[73] E.C. Freuder, A sucient condition for backtrack- recent developments, Computers and Operations Re-
bounded search, Journal of the ACM 32 (1985) 755761. search, to appear.
[74] D.R. Fulkerson, A network ow computation for project [93] W. Herroelen, E.L. Demeulemeester, P. Van Dommelen,
cost curves, Management Science 7 (1961) 167178. An optimal recursive search procedure for the determin-
[75] D.R. Fulkerson, Expected critical path lengths in PERT istic unconstrained max-npv project scheduling problem,
networks, Operations Research 10 (1962) 808817. Research Report 9603, Department of Applied Econom-
[76] W. Gaul, On stochastic analysis of project-networks, in: ics, Katholieke Universiteit Leuven, 1996.
M.A.H. Dempster, J.K. Lenstra, A.H.G. Rinnoy Kan [94] W. Herroelen, E. Demeulemeester, B. De Reyck, A
(Eds.), Deterministic and Stochastic Scheduling, Reidel, classication scheme for project scheduling problems,
Dordrecht, 1982, pp. 297309. Technical Report, Department of Applied Economics,
[77] R.L. Graham, E.L. Lawler, J.K. Lenstra, A.H.G. Katholieke Universiteit Leuven, 1997.
Rinnooy Kan, Optimization and approximation in [95] W. Herroelen, P. Van Dommelen, E. Demeulemeester,
deterministic sequencing and scheduling theory: A sur- Project network models with discounted cash ows: A
vey, Annals of Discrete Mathematics 5 (1979) 287326. guided tour through recent developments, European
[78] R.C. Grinold, The payment scheduling problem, Naval Journal of Operational Research 100 (1997) 97121.
Research Logistics Quarterly 19 (1972) 123136. [96] T.J. Hindelang, J.F. Muth, A dynamic programming
[79] A.V. Goldberg, R.E. Tarjan, A new approach to the algorithm for Decision CPM networks, Operations
maximum-ow problem, Journal of the Association for Research 27 (1979) 225241.
Computing Machinery 35 (1988) 921940. [97] J.A. Hoogeven, J.K. Lenstra, S.L. Van de Velde,
[80] J.N. Hagstrom, Computational complexity of PERT Sequencing and scheduling, in: M. Dell'Amico, F.
problems, Networks 18 (1988) 139147. Maoli, S. Martello (Eds.), Annotated Bibliographies
[81] J.N. Hagstrom, Computing the probability distribution in Combinatorial Optimization, Wiley, New York, 1997,
of project duration in a pert network, Networks 20 pp. 181197.
(1990) 231244. [98] O. Icmeli, S.S. Ereng uc, A branch and bound procedure
[82] R.B. Harris, Precedence and Arrow Networking Tech- for the resource constrained project scheduling problem
niques for Construction, Wiley, New York, 1978. with discounted cash ows, Management Science 42
[83] R.B. Harris, Packing method for resource leveling (1996) 13951408.
(pack), Journal of Construction Engineering and Man- [99] G. Igelmund, F.J. Radermacher, Preselective strategies
agement 116 (1990) 3943. for the optimization of stochastic project networks under
[84] S. Hartmann, Project scheduling with multiple modes: A resource constraints, Networks 13 (1983) 128.
genetic algorithm, Manuskripte aus den Instituten f ur [100] G. Igelmund, F.J. Radermacher, Algorithmic approach-
Betriebswirtschaftslehre der Universit
at Kiel, no. 435, es to preselective strategies for stochastic scheduling
1997. problems, Networks 13 (1983) 2948.
[85] S. Hartmann, A competitive genetic algorithm for [101] T.J.R. Johnson, An algorithm for the resource-con-
resource-constrained project scheduling, Naval Research strained project scheduling problem, Ph.D. Dissertation,
Logistics, to appear. MIT, Boston, USA, 1967.
[86] S. Hartmann, A. Drexl, Project scheduling with multiple [102] J.E. Kelley, Critical path planning and scheduling:
modes: A comparison of exact algorithms, Networks, to Mathematical basis, Operations Research 9 (1961) 296
appear. 320.
[87] R.T. Harvey, J.H. Patterson, An implicit enumeration [103] J.E. Kelley, The critical path method: Resource planning
algorithm for the time/cost tradeo problem in project and scheduling, in: J.F. Muth, G.L. Thompson (Eds.),
38 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
Industrial Scheduling, Prentice Hall, NJ, 1963, pp. 347 [118] A. Kr amer, Branch and bound methods for scheduling
365. problems with multiprocessor tasks on dedicated pro-
[104] J.E. Kelley, M.R. Walker, Critical Path Planning and cessors, OR Spektrum 19 (1997) 219227.
Scheduling: An Introduction, Mauchly Associates, Am- [119] V.J. Leon, B. Ramamoorthy, Strength and adaptability
bler, PA, 1959. of problem-space based neighborhoods for resource-
[105] R. Klein, A. Scholl, Computing lower bounds by constrained scheduling, OR Spektrum 17 (1995) 173182.
destructive improvement An application to re- [120] C. Le Pape, Implementation of resource constraints in
sourceconstrained project scheduling, Working Paper, ILOG SCHEDULE A library for the development of
Technische Universit at Darmstadt, 1997, European constraint-based scheduling systems, Intelligent Systems
Journal of Operational Research, to appear. Engineering 3 (1994) 5566.
[106] W.K. Klein Haneveld, Robustness against dependence in [121] A. Ludwig, R.H. M ohring, F. Stork, A computational
PERT: An application of duality and distributions with study on bounding the makespan distribution in sto-
known marginals, Mathematical Programming Study 27 chastic project networks, Technical Report, Technische
(1986) 153182. Universitat Berlin, Fachbereich Mathematik, Berlin,
[107] G.B. Kleindorfer, Bounding distributions for a stochas- Germany, 1998.
tic acyclic network, Operations Research 19 (1971) 1586 [122] A.K. Mackworth, Consistency in networks of relations,
1601. Articial Intelligence 8 (1977) 99118.
[108] U. Kohlmorgen, H. Schmeck, K. Haase, Experiences [123] P.D. Martin, D.B. Shmoys, A new approach to com-
with ne-grained parallel genetic algorithms, Annals of puting optimal schedules for the job shop scheduling
Operations Research, to appear. problem, Proceedings of the Fifth International IPCO
[109] R. Kolisch, Project Scheduling under Resource Con- Conference, 1996.
straints Ecient Heuristics for Several Problem Class- [124] I. Meilijson, A. Nadas, Convex majorization with an
es, Physica, Heidelberg, 1995. application to the length of critical paths, Journal of
[110] R. Kolisch, A. Drexl, Adaptive search for solving hard Applied Probability 16 (1979) 671677.
project scheduling problems, Naval Research Logistics [125] P. Meseguer, Constraint satisfaction problems: an over-
43 (1996) 2340. view, AICOM 2 (1989) 317.
[111] R. Kolisch, A. Drexl, Local search for nonpreemptive [126] A. Mingozzi, V. Maniezzo, S. Ricciardelli, L. Bianco, An
multi-mode resource-constrained project scheduling, IIE exact algorithm for the resource-constrained project
Transactions 29 (1997) 987999. scheduling based on a new mathematical formulation,
[112] R. Kolisch, S. Hartmann, Heuristic algorithms for Management Science 44 (1998), 714729.
solving the resource-constrained project scheduling [127] R.H. M ohring, Minimizing costs of resource require-
problem: Classication and computational analysis, in: ments in project networks subject to a xed completion
J. Weglarz (Ed.), Handbook on Recent Advances in time, Operations Research 32 (1984) 89120.
Project Scheduling, Kluwer Academic Publishers, Do- [128] R.H. M ohring, R. Muller, A combinatorial approach to
rdrecht, 1998, to appear. bound the distribution function of the makespan in
[113] R. Kolisch, R. Padman, An integrated perspective of stochastic project networks, Technical Report, Tech-
project scheduling, Manuskripte aus den Instituten f ur nische Universit at Berlin, Fachbereich Mathematik,
Betriebswirtschaftslehre der Universitat Kiel, no. 463, Berlin, Germany, 1998.
1997. [129] R.H. M ohring, F.J. Radermacher, Substitution decom-
[114] R. Kolisch, C. Schwindt, A. Sprecher, Benchmark position for discrete structures and connections with
instances for project scheduling problems; in: J. Weglarz combinatorial optimization, Annals of Discrete Mathe-
(Ed.): Handbook on Recent Advances in Project Sched- matics 19 (1984) 257356.
uling, Kluwer Academic Publishers, Dordrecht, 1998, to [130] R.H. M ohring, F.J. Radermacher, The order-theoretic
appear. approach to scheduling: The deterministic case, in: R.
[115] R. Kolisch, A. Sprecher, PSPLIB A project scheduling Sowinski, J. Weglarz (eds.), Advances in Project Sched-
problem library, European Journal of Operational Re- uling, Elsevier, Amsterdam, 1989, pp. 2966.
search 96 (1996) 205216. [131] R.H. M ohring, F.J. Radermacher, The order-theoretic
[116] R. Kolisch, A. Sprecher, A. Drexl, Characterization and approach to scheduling: The stochastic case, in: R.
generation of a general class of resource-constrained Sowinski, J. Weglarz (Eds.), Advances in Project Sched-
project scheduling problems, Management Science 41 uling, Elsevier, Amsterdam, 1989, pp. 497531.
(1995) 16931703. [132] R.H. M ohring, F.J. Radermacher, G. Weiss, Stochastic
[117] B. Korte, R.H. M ohring, Transitive orientation of scheduling problems I General strategies, Zeitschrift
graphs with side constraints, in: H. Noltemeier (Ed.), f
ur Operations Research Ser. A 28 (1984) 193260.
Proceedings of the 11th International Workshop on [133] R.H. M ohring, F.J. Radermacher, G. Weiss, Stochastic
Graph Theoretical Concepts in Computer Science, scheduling problems II Set strategies, Zeitschrift fur
Trauner, Linz, 1985, pp. 143160. Operations Research Ser. A 29 (1985) 65104.
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 39
[134] R.H. M ohring, F. Stork, Linear preselective policies for [148] O. Oguz, H. Bala, A comparative study of computa-
stochastic project scheduling, Technical Report, Tech- tional procedures for the resource constrained project
nische Universitat Berlin, Fachbereich Mathematik, scheduling problem, European Journal of Operational
Berlin, Germany, 1998. Research 72 (1994) 406416.
[135] R.H. M ohring, F. Stork, M. Uetz, Resource constrained
[149] L. Ozdamar, A genetic algorithm approach to a general
project scheduling with time windows: A branching category project scheduling problem, Research Report,
scheme based on dynamic release dates, Technical Marmara University, Istanbul, 1996.
Report, Technische Universit at Berlin, Fachbereich
[150] L. Ozdamar, G. Ulusoy, A local constraint based
Mathematik, Berlin, Germany, 1998. analysis approach to project scheduling under general
[136] U. Montanari, Networks of constraints: Fundamental resource constraints, European Journal of Operational
properties and applications to picture processing, Infor- Research 79 (1994) 287298.
mation Sciences 7 (1974) 95132.
[151] L. Ozdamar, G. Ulusoy, A survey on the resource-
[137] V. Naumann, Measuring the distance to series-parallelity constrained project scheduling problem, IIE Transac-
by path expressions, in: E.W. Mayr, G. Schmidt, G. tions 27 (1995) 574586.
Tinhofer (Eds.), Proceedings of the 20th International [152] R. Padman, D.E. Smith-Daniels, V.L. Smith-Daniels,
Workshop on GraphTheoretic Concepts in Computer Heuristic scheduling of resource-constrained projects
Science WG'94, Lecture Notes in Computer Science, vol. with cash ows: An optimization approach, Naval
903, Springer, Berlin, 1995, pp. 269281. Research Logistics Quarterly 44 (1997) 365381.
[138] K. Neumann, C. Schwindt, Projects with minimal and [153] J.H. Patterson, Project scheduling: The eect of problem
maximal time lags: construction of activity-on-node structure on heuristic performance, Naval Research
networks and applications, Report WIOR-447, Univer- Logistics Quarterly 23 (1976) 95124.
sitat Karlsruhe, 1995. [154] J.H. Patterson, A comparison of exact approaches for
[139] K. Neumann, C. Schwindt, Activity-on-node networks solving the multiple constrained resource project sched-
with minimal and maximal time lags and their applica- uling problem, Research Report, Department of Indus-
tion to make-to-order production, OR Spektrum 19 trial and Manufacturing Systems Engineering, Lehigh
(1997) 205217. University, 1984.
[140] K. Neumann, J. Zhan, Heuristics for the minimum [155] J.H. Patterson, R. Sowi nski, F.B. Talbot, J. Weglarz, An
project-duration problem with minimal and maximal algorithm for a general class of precedence and resource
time-lags under xed resource constraints, Journal of constrained scheduling problems, in: R. Sowi nski, J.
Intelligent Manufacturing 6 (1995) 145154. Weglarz (Eds.), Advances in Project Scheduling, Else-
[141] K. Neumann, J. Zimmermann, Resource leveling for vier, Amsterdam, 1989, pp. 328.
projects with schedule-dependent time windows, Euro- [156] J.H. Patterson, R. Sowi nski, F.B. Talbot, J. Weglarz,
pean Journal of Operational Research, to appear. Computational experience with a backtracking algo-
[142] K. Neumann, J. Zimmermann, Methods for resource- rithm for solving a general class of resource constrained
constrained project scheduling with regular and nonreg- scheduling problems, European Journal of Operational
ular objective functions and schedule-dependent time Research 90 (1990) 6879.
windows; in: J. Weglarz (Ed.), Handbook on Recent [157] E. Pesch, Learning in Automated Manufacturing, Phy-
Advances in Project Scheduling, Kluwer Academic sica, Heidelberg, 1994.
Publishers, Dordrecht, 1998, to appear. [158] E. Pesch, U. Tetzla, Constraint propagation based
[143] H. N ubel, A branch-and-bound procedure for the scheduling of job shops, INFORMS Journal on Com-
resource investment problem with generalized prece- puting 8 (1996) 144157.
dence constraints, Report WIOR-516, Universit at Karl- [159] S. Phillips, Jr., M.I. Dessouky, Solving the project time/
sruhe, 1998. cost tradeo problem using the minimal cut concept,
[144] H. N ubel, C. Schwindt, A classication of shifts, Management Science 24 (1977) 393400.
schedules, and objective functions in project scheduling, [160] S. Phillips, Jr., M.I. Dessouky, The cut search algorithm
Report WIOR-509, Universit at Karlsruhe, 1997. with arc capacities and lower bounds, Management
[145] W.P.M. Nuijten, Time and Resource Constrained Science 25 (1979) 396404.
Scheduling: A Constraint Satisfaction Approach, Ph.D. [161] J.S. Provan, M.O. Ball, The complexity of counting cuts
Thesis, Eindhoven University of Technology, 1994. and of the probability that a graph is connected, SIAM
[146] W.P.M. Nuijten, E.H.L. Aarts, A computational study Journal on Computing 12 (1983) 777788.
of constraint satisfaction for multiple capacitated job- [162] F.J. Radermacher, Invarianzaussagen f ur stochastische
shop scheduling, European Journal of Operational Netzplane, Methods of Operations Research 22 (1976)
Research 90 (1996) 269284. 136148.
[147] W.P.M. Nuijten, C. Le Pape, Constraint based job shop [163] P. Robillard, M. Trahan, Expected completion time in
scheduling with ILOG SCHEDULER, Journal of Heu- PERT networks, Operations Research 24 (1976) 177
ristics 3 (1998) 271286. 182.
40 P. Brucker et al. / European Journal of Operational Research 112 (1999) 341
[164] D.R. Robinson, A dynamic programming solution to the [181] H. Soroush, Risk taking in stochastic PERT networks,
costtime tradeo for CPM, Management Science 22 European Journal of Operational Research 67 (1993)
(1975) 158166. 221241.
[165] B. Rothfarb, H. Frank, D.M. Rosenbaum, K. Steiglitz, [182] H.M. Soroush, The most critical path in a PERT
D.J. Kleitman, Optimal design of oshore natural-gas network, Journal of the Operational Research Society
pipeline systems, Operations Research 18 (1970) 992 45 (1994) 287300.
1020. [183] H.G. Spelde, Stochastische Netzpl ane und ihre Anwen-
[166] A.H. Russel, Cash ows in networks, Management dung im Baubetrieb, Ph.D. Thesis, Rheinisch-
Science 16 (1970) 357373. Westf alische Technische Hochschule Aachen, 1976.
[167] R.A. Russell, A comparison of heuristics for scheduling [184] A. Sprecher, Resource-Constrained Project Scheduling
projects with cash ows and resource restrictions, Exact Methods for the Multi-Mode Case, Springer,
Management Science 32 (1986) 12911300. Berlin, 1994.
[168] F. Salewski, A. Schirmer, A. Drexl, Project scheduling [185] A. Sprecher, Solving the RCPSP eciently at modest
under resource and mode identity constraints: Model, memory requirements, Manuskripte aus den Instituten
complexity, methods, and application, European Journal f
ur Betriebswirtschaftslehre der Universit at Kiel, no.
of Operational Research 102 (1997) 88110. 426, 1996.
[169] S.E. Sampson, E.N. Weiss, Local search techniques for [186] A. Sprecher, A. Drexl, Solving multi-mode resource-
the generalized resource constrained project scheduling constrained project scheduling problems by a simple,
problem, Naval Research Logistics 40 (1993) 665675. general and powerful sequencing algorithm, European
[170] D. Savin, S. Alkass, P. Fazio, A procedure for calculat- Journal of Operational Research, 107 (1998) 431450.
ing the weight-matrix of a neuronal network for resource [187] A. Sprecher, S. Hartmann, A. Drexl, An exact algorithm
leveling, Advances in Engineering Software 28 (1997) for project scheduling with multiple modes, OR Spekt-
277283. rum 19 (1997) 195203.
[171] A. Schirmer, A. Drexl, Allocation of partially renewable [188] J.P. Stinson, E.W. Davis, B.M. Khumawala, Multiple
resources concept, models and application, Manus- resource-constrained scheduling using branch and
kripte aus den Instituten f
ur Betriebswirtschaftslehre der bound, AIIE Transactions 10 (1978) 252259.
Universitat Kiel, no. 455, 1997. [189] F. Stork, A branch and bound algorithm for minimizing
[172] A. Schoo, Untere Schranken und Immediate Selection expected makespan in stochastic project networks with
f
ur das Resource-Constrained-Projekt Scheduling Prob- resource constraints, Technical Report, Technische
lem, Diplomarbeit, Fachbereich Mathematik/Inform- Universit at Berlin, Fachbereich Mathematik, Berlin,
atik, Unversitat Osnabruck, 1996. Germany, 1998.
[173] C. Schwindt, Generation of resource-constrained sched- [190] R.S. Sullivan, J.C. Hayya, A comparison of the method
uling problems with minimal and maximal time lags, of bounding distributions (MBD) and Monte Carlo
Report WIOR-489, Universit at Karlsruhe, 1996. simulation for analyzing stochastic acyclic networks,
[174] C. Schwindt, Verfahren zur L osung des re- Operations Research 28 (1980) 614617.
ssourcenbeschrankten Projektdauerminimierungsprob- [191] M. Takamoto, N. Yamada, Y. Kobayashi, H. Nonaka,
lems mit planungsabh angigen Zeitfenstern, Shaker, Zeroone quadratic programming algorithm for resource
Aachen, 1998. leveling of manufacturing process schedules, Systems
[175] A.W. Shogan, Bounding distributions for a stochastic and Computers in Japan 26 (1995) 6876.
PERT network, Networks 7 (1977) 359381. [192] F.B. Talbot, Resource-constrained project scheduling
[176] C.E. Sigal, A.A.B. Pritsker, J.J. Solberg, The use of with time-resource tradeos: The nonpreemptive case,
cutset in Monte Carlo analysis of stochastic networks, Management Science 28 (1982) 11971210.
Mathematics and Computers in Simulation 21 (1979) [193] F.B. Talbot, J.H. Patterson, An ecient integer pro-
379384. gramming algorithm with network cuts for solving
[177] M. Skutella, Approximation algorithms for the discrete resource-constrained scheduling problems, Management
timecost tradeo problem, in: Proceedings of the Eighth Science 24 (1978) 11631174.
Annual ACM-SIAM Symposium on Discrete Algo- [194] A. Thesen, Heuristic scheduling of activities under
rithms, New Orleans, LA, 1997, pp. 501508. resource and precedence restrictions, Management Sci-
[178] M. Skutella, Approximation and randomization in ence 23 (1976) 412422.
scheduling, Ph.D. Thesis, Technische Universit at Berlin, [195] E. Tsang, Foundations of Constraint Satisfaction, Aca-
Fachbereich Mathematik, Berlin, Germany, 1998. demic Press, London, 1993.
[179] R. Sowi nski, B. So
niewicki, J. Weglarz, DSS for multi-
[196] G. Ulusoy, L. Ozdamar, A constrained-based perspec-
objective project scheduling subject to multiple-category tive in resource constrained project scheduling, Interna-
resource constraints, European Journal of Operational tional Journal of Production Research 32 (1994) 693
Research 79 (1994) 220229. 705.
[180] R.M. van Slyke, Monte Carlo methods and the PERT [197] D. Waltz, Understanding line drawings of scenes with
problem, Operations Research 11 (1963) 839860. shadows, in: P.H. Winston (Ed.), Psychology of Com-
P. Brucker et al. / European Journal of Operational Research 112 (1999) 341 41
puter Vision, McGraw Hill, Cambridge, MA, 1975, pp. [201] J. Zhan, Heuristics for scheduling resource-constrained
1991. projects in MPM networks, European Journal of Oper-
[198]z G. Weiss, Stochastic bounds on distributions of optimal ational Research 76 (1994) 192205.
value functions with applications to PERT, network [202] J. Zimmermann, Heuristics for resource-leveling prob-
ows and reliability, Operations Research 34 (1986) 595 lems in project scheduling with minimum and maximum
605. time lags, Report WIOR491, Universit at Karlsruhe,
[199] K.K. Yang, L.C. Tay, C.C. Sum, A comparison of 1997.
stochastic scheduling rules for maximizing project net [203] J. Zimmermann, H. Engelhardt, Lower bounds and
present value, European Journal of Operational Re- exact algorithms for resource levelling problems, Report
search 85 (1995) 327339. WIOR-517, Universit at Karlsruhe, 1998.
[200] M.A. Younis, B. Saad, Optimal resource leveling of
multi-resource projects, Computers and Industrial Engi-
neering 31 (1996) 14.