Progreso del curso: 0%
Tema 2.3

Representación de grafos

2.3 Representación de grafos

La representación visual y computacional de grafos constituye un aspecto fundamental para la comunicación efectiva entre profesionales de la producción y para el análisis computacional de problemas de programación. Existen múltiples formas de representar un mismo grafo, cada una con ventajas específicas según el contexto de aplicación. Entender las diferentes representaciones disponibles permite elegir la más adecuada para cada análisis y facilita la implementación en sistemas computerizados.

Representación visual mediante diagramas

La forma más intuitiva de representar un grafo es mediante un diagrama donde los nodos se dibujan como círculos o rectángulos y las aristas como líneas o flechas conectando los nodos. Esta representación visual es extremadamente valiosa para la comunicación y comprensión inicial de la estructura de un proyecto. En diagramas PERT para fabricación mecánica, los nodos se numeran secuencialmente y las aristas incluyen etiquetas con la descripción de la actividad y su duración.

En el diagrama de actividades en nodos (AEN), cada nodo contiene la actividad y sus parámetros: número o código, descripción breve, duración, recursos requeridos. Las flechas direccionadas muestran las dependencias. En el diagrama de actividades en aristas (AEA), más tradicional en PERT, los nodos representan eventos y los arcos contienen las actividades con sus duraciones. Dentro de cada nodo se escriben típicamente dos números: el tiempo temprano (arriba izquierda) y el tiempo tardío (arriba derecha), facilitando la identificación visual de actividades críticas.

Representación mediante matrices

La matriz de adyacencia es una matriz cuadrada donde las filas y columnas representan los nodos. El elemento en la intersección (i,j) contiene un valor si existe una arista entre los nodos i y j, y cero o vacío si no existe. Para grafos ponderados, el valor es el peso de la arista (duración, costo, etc.). Esta representación es computacionalmente eficiente para ciertos algoritmos como búsqueda en profundidad o el algoritmo de Floyd-Warshall.

La matriz de incidencia tiene filas para nodos y columnas para aristas. Cada elemento contiene 1 si el nodo es incidente a la arista, -1 si es destino de la arista dirigida, 0 si no hay relación. Esta representación es particularmente útil para problemas de flujo de red y análisis topológico.

La matriz de precedencias indica explícitamente qué actividades deben completarse antes de que otra pueda iniciarse. Filas representan actividades predecesoras, columnas actividades sucesoras. Estos datos se utilizan en algoritmos de cálculo de holguras y determinación de la ruta crítica.

Representación mediante listas

La lista de adyacencia es una estructura donde cada nodo tiene asociada una lista de los nodos adyacentes (conectados). Para un grafo ponderado, cada entrada en la lista contiene el nodo destino y el peso de la arista. Esta representación es computacionalmente más eficiente que la matriz de adyacencia cuando el grafo es disperso (tiene pocas aristas relativas al número de nodos posibles).

En contextos de programación de la producción, la tabla de actividades es una representación común donde cada fila representa una actividad con columnas para: código, descripción, duración, actividades predecesoras, actividades sucesoras, recursos requeridos. Esta representación facilita el ingreso de datos y es la base para muchos sistemas computacionales de planificación.

Representación mediante registros y etiquetado

Cuando se necesita modelar información compleja, cada nodo o arista puede ser un registro estructura que contenga múltiples atributos. En una aplicación de fabricación mecánica, un nodo podría contener: identificador único, descripción de la operación, tiempo temprano, tiempo tardío, holgura, recursos asignados, responsable del proceso, estatus actual (planificado, en ejecución, completado), variabilidad en tiempo estimado. Las aristas podrían incluir: nodo origen, nodo destino, descripción de dependencia tipo, duración nominal, duración mínima alcanzable, restricciones especiales.

Representación gráfica computacional

Los sistemas modernos de gestión de proyectos utilizan representaciones gráficas interactivas. Estas permiten: zoom y navegación por proyectos grandes, coloreado dinámico según estado (planificado, retrasado, completado), filtrado por criterios (mostrar solo la ruta crítica, solo actividades de un recurso específico), destacado automático de actividades en riesgo, simulación de escenarios con alteración de duraciones.

Software como Microsoft Project, Smartsheet, o herramientas de código abierto como GanttProject, generan automáticamente diferentes vistas del mismo grafo: diagrama de Gantt (actividades en barra horizontal versus tiempo), diagrama de red (grafo tradicional), diagrama de recursos (carga de cada máquina), histograma de distribución de recursos.

Transformaciones y equivalencia de representaciones

Un grafo puede transformarse entre representaciones. La matriz de adyacencia puede convertirse directamente en lista de adyacencia. Un diagrama visual puede codificarse como matriz o lista. La validez del análisis no depende de la representación elegida, pero la eficiencia computacional sí. Para proyectos pequeños (menos de 50 actividades), la representación visual es suficiente. Para proyectos medianos con recursos compartidos, la tabla de actividades es estándar. Para análisis computacionales intensivos o grandes proyectos, las matrices o listas optimizadas son preferibles.

Ideas clave

  • La representación visual mediante diagramas PERT o AEN es la forma más intuitiva de comunicar la estructura de un proyecto de producción.
  • Las matrices de adyacencia e incidencia son representaciones computacionalmente eficientes para algoritmos de análisis automatizado.
  • Las listas de adyacencia y tablas de actividades son particularmente útiles para proyectos con muchos nodos o cuando se requiere información detallada.
  • La representación mediante registros complejos permite incorporar atributos múltiples: tiempos, recursos, costos, responsables, restricciones especiales.
  • Los sistemas moderno integran múltiples representaciones simultáneamente, permitiendo vistas distintas del mismo grafo según necesidades del usuario.
¿Has terminado este apartado? Tu progreso se guarda en este navegador. Regístrate para conservarlo en tu cuenta.