Investigación Análisis de Redes
Formulación de Modelos de Programación Lineal
El problema
Una empresa energética colombiana dispone de cuatro plantas de generación para satisfacer la demanda diaria eléctrica en cuatro ciudades, Cali, Bogotá, Medellín y Barranquilla. Las plantas 1,2,3 y 4 pueden satisfacer 80, 30, 60 y 45 millones de KW al día respectivamente. Las necesidades de las ciudades de Cali, Bogotá, Medellín y Barranquilla son de 70, 40, 70 y 35 millones de Kw al día respectivamente. Los costos asociados al envío de suministro energético por cada millón de KW entre cada planta y cada ciudad son los registrados en la siguiente tabla.
Como ya lo hemos planteado en módulos anteriores el primer paso corresponde a la definición de las variables, regularmente se le denomina a las variables de manera algebraica Xi,j donde i simboliza a la fuente y j simboliza al destino. En este caso i define el conjunto {Planta 1, Planta 2, Planta 3 y Planta 4}, y j define el conjunto {Cali, Bogotá, Medellín y Barranquilla}. Sin embargo es práctico renombrar cada fuente y destino por un número respectivo, por ende la variable X1,2 corresponde a la cantidad de millones de KW enviados diariamente de la Planta 1 a la ciudad de Bogotá.

El segundo paso corresponde a la formulación de las restricciones de oferta y demanda, cuya cantidad se encuentra determinada por el factor entre fuentes y destinos, en este caso 16 restricciones.
Restricciones de oferta o disponibilidad, las cuales son de signo ≤:
X1,1 + X1,2 + X1,3 + X1,4 ≤ 80
X2,1 + X2,2 + X2,3 + X2,4 ≤ 30
X3,1 + X3,2 + X3,3 + X3,4 ≤ 60
X4,1 + X4,2 + X4,3 + X4,4 ≤ 45
Restricciones de demanda, las cuales son de signo ≥:
X1,1 + X2,1 + X3,1 + X4,1 ≥ 70
X1,2 + X2,2 + X3,2 + X4,2 ≥ 40
X1,3 + X2,3 + X3,3 + X4,3 ≥ 70
X1,4 + X2,4 + X3,4 + X4,4 ≥ 35
Luego se procede a formular la función objetivo, en la cual se relaciona el costo correspondiente a cada ruta.
ZMIN = 5X1,1 + 2X1,2 + 7X1,3 + 3X1,4 + 3X2,1 + 6X2,2 + 6X2,3 + 1X2,4 + 6X3,1 + 1X3,2 + 2X3,3 + 4X3,4 + 4X4,1 + 3X4,2 + 6X4,3 + 6X4,4
Luego se puede proceder al uso de la herramienta WinQSB para resolver el modelo realizado, aquí están los resultados.


Este problema presenta una solución óptima alternativa, aquí los resultados.

Red solución:

Los análisis de dualidad y sensibilidad en los modelos de transporte resultan ser bastante interesantes, pues pueden llegar a determinar aumentos de capacidad en las fuentes si el precio sombra de las rutas en relación a ellas lo justifica.
Algoritmo de DIJKSTRA
Tendremos a lo largo de todo el proceso dos conjuntos y dos vectores:
- Conjunto C : Conjunto de vértices candidatos. Inicialmente contiene todos los nodos menos el nodo origen.
- Conjunto S : Conjunto de vértices seleccionados, es decir, aquellos para los que ya conocemos su camino mínimo desde el nodo origen. Inicialmente contiene el nodo origen.
- Vector D : Almacenará la longitud del camino más corto desde el origen a cada nodo. Tendrá tantas posiciones como nodos tenga el grafo. El coste de ir del nodo origen a sí mismo lo estimaremos como cero.
- Vector P : Almacenará el nodo predecesor a cada nodo en el camino más corto desde el origen hasta él. Tendrá tantas posiciones como nodos tenga el grafo. La posición del nodo predecesor al origen estableceremos que sea cero para indicar que es el nodo origen.
- Llamaremos al nodo origen o, y el coste de ir del nodo i al nodo j lo denotaremos como COSTEij .
Hay que seguir los siguientes pasos:
- Seleccionamos el nodo que sea destino de la arista con menor valor que salga del nodo o, llamémoslo u. Introducimos el nodo u en S y lo sacamos de C. Almacenamos en la posición u del vector D el valor COSTEou y en la posición u del vector P el valor del nodo predecesor, es decir, o.
- Seleccionamos el siguiente nodo al que podamos llegar con menor coste, bien directamente desde o, bien a través del otro nodo seleccionado u. Llamamos al nuevo nodo seleccionado v. Introducimos el nodo v en S y lo sacamos de C. Introducimos en la posición v del vector D el coste de llegar al nodo v, si es directamente desde o será COSTEov, si es a través de u será D[u]+COSTEuv. Por último, en la posición v del vector P introducimos el valor del nodo predecesor, ya sea o o u.
- Repetiremos este proceso hasta que todos los nodos hayan sido seleccionados, es decir, hasta que el conjunto C esté vacío, o lo que es lo mismo, hasta que en el conjunto S se encuentren todos los nodos del grafo. En ese momento en el vector D tendremos almacenado el coste mínimo para llegar desde el nodo origen a cualquier nodo del grafo, y podremos obtener el camino más corto mediante el vector P.
Ejemplo: Aplicar el algoritmo de Dijkstra sobre el siguiente grafo siendo el nodo origen el 1:
Para elaborar un diagrama CPM que incluya todo lo necesario, hay que seguir unas pautas. Gracias a ellas se podrá ver claramente el estado, evolución y previsión del proyecto en todo momento. Toma nota de cada paso a seguir.
Identificar y enumerar las actividades
Antes de elaborar el CPM es necesario identificar las actividades. Las cruciales serán las que no pueden atrasarse ya que, si sucede, se atrasará todo el proyecto. Por tanto, es imprescindible agruparlas en una lista y tener presentes en todo momento.
Identificar la dependencia entre actividades y ordenarlas
En este paso, previo a dibujar un diagrama de red, se debe detectar la dependencia y secuencia de actividades de dentro del proyecto. Para ello, es necesario identificar aquellas actividades que pueden realizarse paralelamente y cuáles dependerán de otras.
Dibujar un diagrama de red
Se puede hacer sobre papel o a través de diferentes programas de gestión de proyectos. Y como hemos mencionado anteriormente, en el CPM cada actividad empieza con un nodo o evento. Estos nodos están conectados a través de flechas, que representan las actividades que se deben completar para finalizar la tarea. Es por eso que, a través de softwares o herramientas online, a ti y tu equipo de trabajo os resultará más fácil de dibujar.
Establecer una duración aproximada por cada actividad
Hay que hacer una estimación del tiempo que va tardar en realizarse cada actividad. Aunque es una desventaja, se puede recopilar la información a través de los puntos anteriores, además de hablarlo con las personas implicadas.
Identificar la ruta crítica
Después de identificar las actividades, así como sus secuencias y duración, se puede calcular la ruta crítica. Para ello se deben utilizar 4 parámetros:
- Inicio optimista. Cuando la actividad anterior esté completada, se puede calcular el tiempo u hora que comenzará la siguiente tarea.
- Fin optimista. Hace referencia a la hora de inicio optimista + el tiempo que se haya necesitado para completar la actividad.
- Fin pesimista. Se refiere a la hora más tardana posible o el tiempo máximo al que se puede terminar una actividad sin que el proyecto se atrase.
- Inicio pesimista. Se calcula restando la hora de fin pesimista y el tiempo que se ha necesitado para completar la actividad.
Modificar el CPM, si es necesario
Como se trabaja con estimaciones, seguramente sea necesario actualizar el diagrama de CPM durante todo el proceso. De esta manera, se podrá saber si el proyecto va por el buen camino. Ahora bien, estos cambios afectarán a ala ruta crítica preestablecida, apareciendo otra de nueva.


Comentarios
Publicar un comentario