Recursos 09

9 actividades, asignación con límite 4→6

Enunciado

Considere el proyecto cuyo cuadro de prelaciones, duraciones (semanas) y número de operarios necesarios por actividad se adjunta. La empresa sólo dispone de 4 operarios durante las 4 primeras semanas y de 6 a partir de entonces.

  1. Dibuje el diagrama de cargas con las actividades en su inicio más temprano y compruebe si se respeta el límite de operarios.
  1. Reprograme el proyecto con el algoritmo de asignación de Wiest-Levy para respetar el límite. ¿Qué actividades se desplazan y cuánto se alarga el proyecto?
  1. ¿Y si se dispusiera de 4 operarios durante todo el proyecto? Compare las dos duraciones.
  1. Explique por qué la asignación puede alargar el proyecto y la nivelación nunca.
Tabla 1: Cuadro de datos del enunciado
predecessor duration resources
activity
A --- 3 1
B --- 8 3
C --- 5 4
D B,C 1 3
E D 1 2
F A,E 1 1
G E 3 1
H F 3 2
I H 2 1

El proyecto corresponde al lanzamiento de una aplicación móvil; las actividades son las siguientes (las duraciones del cuadro están en semanas).

Tabla 2: Descripción de las actividades
Descripción
A Estudio de requisitos
B Diseño de la arquitectura
C Diseño de interfaz y prototipo
D Base de datos y modelo
E API del servidor
F Pantallas principales
G Módulo de pagos
H Notificaciones y sincronización
I Pruebas de integración

Resolución

Apartado 1

  1. Dibuje el diagrama de cargas con las actividades en su inicio más temprano y compruebe si se respeta el límite de operarios.

Cálculo de los tiempos mínimos y máximos de los nodos del grafo Roy paso a paso. El primer paso muestra el grafo resuelto; a partir del siguiente se calcula desde el principio (avance con los botones):

paso 0 de 24
Figura 1: Grafo Roy con tiempos y camino crítico
Tabla 3: Calendario: fechas y holgura total de cada actividad
Haz clic en un número de la tabla para ver cómo se calcula.
👆 Interactivo: haz clic en cualquier celda de la tabla para ver cómo se calcula (otro clic la deselecciona).
Actividad Duración Inicio más temprano Fin más temprano Inicio más tardío Fin más tardío H total H libre H independiente
A 3 0 3 7 10 7 7 7
B 8 0 8 0 8 0 0 0
C 5 0 5 3 8 3 3 3
D 1 8 9 8 9 0 0 0
E 1 9 10 9 10 0 0 0
F 1 10 11 10 11 0 0 0
G 3 10 13 13 16 3 3 3
H 3 11 14 11 14 0 0 0
I 2 14 16 14 16 0 0 0

En el Gantt cada actividad empieza en su inicio más temprano y la casilla lleva los operarios que ocupa; la fila Total suma la columna (carga de la semana) y la fila Cuadrados eleva cada carga al cuadrado (su suma, en la última columna, es la medida de desnivel que usa la nivelación).

Figura 2: Diagrama de Gantt con las cargas de operarios (inicios más tempranos)
Figura 3: Diagrama de cargas con el límite de operarios

El límite se supera en las semanas 1, 2, 3, 4, 5: hacen falta hasta 8 operarios.

Apartado 2

  1. Reprograme el proyecto con el algoritmo de asignación de Wiest-Levy para respetar el límite. ¿Qué actividades se desplazan y cuánto se alarga el proyecto?

El algoritmo de Wiest-Levy recorre el calendario periodo a periodo: cuando la demanda supera el límite, aplaza las actividades con más holgura (y, si no basta, también críticas, lo que alarga el proyecto). Las filas 💤 marcan las esperas introducidas.

Prioridad para entrar en una semana: primero las actividades ya empezadas (no se interrumpen); entre las demás, menor holgura total y, a igualdad, menor duración. Traza semana a semana (qué se programa y qué se aplaza una semana cuando la carga supera el límite):


Periodo: 1.

Periodo: 1. Total: 8. Se programan: [‘A’, ‘B’]

Periodo: 1. Se desplazan: [‘C’]


Periodo: 2.

Periodo: 2. Total: 8. Se programan: [‘A’, ‘B’]

Periodo: 2. Se desplazan: [‘C’]


Periodo: 3.

Periodo: 3. Total: 8. Se programan: [‘A’, ‘B’]

Periodo: 3. Se desplazan: [‘C’]


Periodo: 4.

Periodo: 4. Total: 7. Se programan: [‘B’]

Periodo: 4. Se desplazan: [‘C’]


Periodo: 5.

Periodo: 5. Total: 7. Se programan: [‘B’]

Periodo: 5. Se desplazan: [‘C’]


Periodo: 6.

Periodo: 6. Total: 7. Se programan: [‘B’]

Periodo: 6. Se desplazan: [‘C’]


Periodo: 7.

Periodo: 7. Total: 7. Se programan: [‘B’]

Periodo: 7. Se desplazan: [‘C’]


Periodo: 8.

Periodo: 8. Total: 7. Se programan: [‘B’]

Periodo: 8. Se desplazan: [‘C’]


Periodo: 9.

Periodo: 9. Total: 4. Se programan: [‘C’]


Periodo: 10.

Periodo: 10. Total: 4. Se programan: [‘C’]


Periodo: 11.

Periodo: 11. Total: 4. Se programan: [‘C’]


Periodo: 12.

Periodo: 12. Total: 4. Se programan: [‘C’]


Periodo: 13.

Periodo: 13. Total: 4. Se programan: [‘C’]


Periodo: 14.

Periodo: 14. Total: 3. Se programan: [‘D’]


Periodo: 15.

Periodo: 15. Total: 2. Se programan: [‘E’]


Periodo: 16.

Periodo: 16. Total: 2. Se programan: [‘F’, ‘G’]


Periodo: 17.

Periodo: 17. Total: 3. Se programan: [‘H’, ‘G’]


Periodo: 18.

Periodo: 18. Total: 3. Se programan: [‘H’, ‘G’]


Periodo: 19.

Periodo: 19. Total: 2. Se programan: [‘H’]


Periodo: 20.

Periodo: 20. Total: 1. Se programan: [‘I’]


Periodo: 21.

Periodo: 21. Total: 1. Se programan: [‘I’]

Figura 4: Diagrama de Gantt tras la asignación
Figura 5: Diagrama de cargas tras la asignación

El proyecto pasa de 16 a 21 semanas. Esperas introducidas: C (8 sem.).

Apartado 3

  1. ¿Y si se dispusiera de 4 operarios durante todo el proyecto? Compare las dos duraciones.


Periodo: 1.

Periodo: 1. Total: 8. Se programan: [‘A’, ‘B’]

Periodo: 1. Se desplazan: [‘C’]


Periodo: 2.

Periodo: 2. Total: 8. Se programan: [‘A’, ‘B’]

Periodo: 2. Se desplazan: [‘C’]


Periodo: 3.

Periodo: 3. Total: 8. Se programan: [‘A’, ‘B’]

Periodo: 3. Se desplazan: [‘C’]


Periodo: 4.

Periodo: 4. Total: 7. Se programan: [‘B’]

Periodo: 4. Se desplazan: [‘C’]


Periodo: 5.

Periodo: 5. Total: 7. Se programan: [‘B’]

Periodo: 5. Se desplazan: [‘C’]


Periodo: 6.

Periodo: 6. Total: 7. Se programan: [‘B’]

Periodo: 6. Se desplazan: [‘C’]


Periodo: 7.

Periodo: 7. Total: 7. Se programan: [‘B’]

Periodo: 7. Se desplazan: [‘C’]


Periodo: 8.

Periodo: 8. Total: 7. Se programan: [‘B’]

Periodo: 8. Se desplazan: [‘C’]


Periodo: 9.

Periodo: 9. Total: 4. Se programan: [‘C’]


Periodo: 10.

Periodo: 10. Total: 4. Se programan: [‘C’]


Periodo: 11.

Periodo: 11. Total: 4. Se programan: [‘C’]


Periodo: 12.

Periodo: 12. Total: 4. Se programan: [‘C’]


Periodo: 13.

Periodo: 13. Total: 4. Se programan: [‘C’]


Periodo: 14.

Periodo: 14. Total: 3. Se programan: [‘D’]


Periodo: 15.

Periodo: 15. Total: 2. Se programan: [‘E’]


Periodo: 16.

Periodo: 16. Total: 2. Se programan: [‘F’, ‘G’]


Periodo: 17.

Periodo: 17. Total: 3. Se programan: [‘H’, ‘G’]


Periodo: 18.

Periodo: 18. Total: 3. Se programan: [‘H’, ‘G’]


Periodo: 19.

Periodo: 19. Total: 2. Se programan: [‘H’]


Periodo: 20.

Periodo: 20. Total: 1. Se programan: [‘I’]


Periodo: 21.

Periodo: 21. Total: 1. Se programan: [‘I’]

Figura 6: Diagrama de Gantt con el límite constante

Con 4 operarios durante todo el proyecto la duración sería de 21 semanas, frente a 21 con el refuerzo a partir de la semana 4.

Apartado 4

  1. Explique por qué la asignación puede alargar el proyecto y la nivelación nunca.

La nivelación sólo usa las holguras: desplaza actividades no críticas sin tocar el plazo. La asignación impone una restricción dura; si en algún periodo ni siquiera aplazando todas las actividades con holgura cabe la demanda, tiene que aplazar actividades críticas y el proyecto se alarga.