La programación lineal en la teoría de redes
pinkytopeteTutorial27 de Julio de 2014
6.055 Palabras (25 Páginas)1.761 Visitas
5.1 TERMINOLOGÍA
Una red o grafo consiste de puntos, y líneas que conectan pares de puntos. Los puntos se llaman nodos o vértices. Las líneas de llaman arcos. Los arcos pueden tener una dirección asociada, en cuyo caso se denominan arcos dirigidos. Si un arco no tiene dirección normalmente se le denomina rama. Si todos los arcos en la red son dirigidos, la red se denomina una red dirigida. Si todos los arcos son no-dirigidos, la red es una red no-dirigida.
Dos nodos pueden estar conectados por un conjunto de arcos. Una trayectoria (path en inglés) es una secuencia de arcos distintos (con nodos no repetidos) conectando a los nodos. Una trayectoria dirigida desde nodo i al nodo j es una secuencia de arcos, cada uno de los cuales apunta al nodo j (si es que hay dirección). Una trayectoria no dirigida puede incluir arcos dirigidos apuntando en cualquiera de dirección.
Una trayectoria que comienza y que termina en el mismo nodo se denomina ciclo y puede ser ya sea dirigida o no-dirigida.
Una red está conectada si existe una trayectoria no-dirigida entre cualquier par de nodos. Una red conectada que no tiene ciclos se denomina árbol.
Optimización de redes es un tipo especial de modelo en programación lineal. Los modelos de redes tienen tres ventajas importantes con respecto a la programación lineal.
Pueden resolverse muy rápidamente. Problemas que con programación lineal tendrían 1000 filas y 30.000 columnas pueden ser resueltos en segundos. Esto permite que los modelos de redes sean usados en muchas aplicaciones (tal como la toma de decisión en tiempo real) para lo cual la programación lineal no es lo ideal.
Requieren en forma natural de soluciones enteras. Al reconocer que un problema puede formularse como algún modelo de red nos permitirá resolver tipos especiales de problemas de programación entera aumentando la eficiencia y reduciendo el tiempo consumido por los algoritmos clásicos de programación lineal.
Son intuitivos. Los modelos de redes proveen un lenguaje para tratar los problemas, mucho más intuitivo que "variables, objetivo, restricciones".
Obviamente los modelos de redes no son capaces de cubrir la amplia gama de problemas que puede resolver la programación lineal. Sin embargo, ellos ocurren con suficiente frecuencia como para ser considerados como una herramienta importante para una real toma de decisiones.
Los problemas de optimización de redes se pueden representar en términos generales a través de uno de estos cuatro modelos:
Modelo de minimización de redes (Problema del árbol de mínima expansión).
Modelo de la ruta más corta.
Modelo del flujo máximo.
Modelo del flujo del costo mínimo.
Modelo de minimización de redes
El modelo de minimización de redes o problema del árbol de mínima expansión tiene que ver con la determinación de los ramales que pueden unir todos los nodos de una red, tal que minimice la suma de las longitudes de los ramales escogidos. No se deben incluir ciclos en la solución del problema.
Para crear el árbol de expansión mínima tiene las siguientes características:
1. Se tienen los nodos de una red pero no las ligaduras. En su lugar se proporcionan las ligaduras potenciales y la longitud positiva para cada una si se inserta en la red. (Las medidas alternativas para la longitud de una ligadura incluyen distancia, costo y tiempo.)
2. Se desea diseñar la red con suficientes ligaduras para satisfacer el requisito de que haya un camino entre cada par de nodos.
3. El objetivo es satisfacer este requisito de manera que se minimice la longitud total de las ligaduras insertadas en la red.
Una red con n nodos requiere sólo (n-1) ligaduras para proporcionar una trayectoria entre cada par de nodos. Las (n-1) ligaduras deben elegirse de tal manera que la red resultante formen un árbol de expansión. Por tanto el problema es hallar el árbol de expansión con la longitud total mínima de sus ligaduras.
5.2 PROBLEMA DE LA RUTA MÁS CORTA. REDES CÍCLICAS Y ACÍCLICAS.
Se trata de encontrar la ruta de menor distancia o costo entre en punto de partida o el nodo inicial y el destino o nodo terminal.
Redes cíclicas
EJEMPLO 1 REMPLAZO DEL EQUIPO
Una compañía arrendadora de automóviles está desarrollando un plan de reemplazo de su flotilla para los próximos cinco años. Un automóvil debe de estar en servicio cuando menos un año antes de que se considere ser reemplazado. La tabla 8-1 resume el costo de reemplazo por unidad (en miles de unidades monetarias) como función del tiempo y el número de años en operación. El costo incluye la compra, prima del seguro, operación y mantenimiento.
Este problema se puede representar mediante una red como sigue. Cada año está representado por un nodo. La “longitud” de una rama que une a dos nodos es igual al costo de reemplazo asociado que se da en la tabla 8-1. La figura 8-6representa la red. El problema se reduce a determinar la “ruta” más corta del nodo 1 al 5. La “ruta” más corta se puede determinar mediante el uso de algoritmo que representaremos en la sección 8.3.2. la solución optima producirá la ruta 1 - 2 - 5
Tabla 8-1
Año 1 2 3 4 5
1 4.0 5.4 9.8 13.7
2 4.3 6.2 8.1
3 4.8 7.1
4 4.9
13.7
9.8
5.4
4 4.3 4.8 4.9
6.2 8.1 7.1
Figura 8-6
Con un costo total de 4+ 8.1 = 12.1 (miles de unidades monetarias). Esto quiere decir que cada automóvil debe reemplazarse al segundo año de uso y desecharse al quinto año.
Apliquemos el procedimiento a la red en la figura8-10. Una hipótesis básica del algoritmo es que en todas las distancias en la red son no negativas.
100 15
20
10 50
30 60
Figura 8-10
Iteración 0: el nodo 1 lleva la etiqueta permanente [0,-].
Iteración 1: los nodos 2 y 3, que se pueden alcanzar directamente desde el nodo 1 (el ultimo nodo rotulado permanentemente), llevan ahora las etiquetas temporales [0+100, 1] y [0+30,1] o bien [100,1], respectivamente.
Entre las etiquetas temporales corrientes, el nodo 3 tiene la menor distancia d =30(=min {100,30}). Si el nodo 3 esta etiquetado permanentemente.
Iteración 2: los nodos 4 y 5 se pueden alcanzar desde el ultimo nodo rotulado permanentemente (nodo 3) y sus etiquetas temporales son [30+10,3] y [30+60,3] (o bien [40,3] y [90,3]), respectivamente. En este punto tenemos las 3 etiquetas temporales [100,1], [40,3] y [90,3] asociados con los nodos 2, 4 y 5, respectivamente. El nodo 4 etiquetado temporalmente tiene la menor d = 40 (=min {100, 40,90}) y, por consiguiente, su etiqueta [40,3] se convierte a un estado permanente.
Iteración 3: del nodo cuatro rotulamos ahora el nodo 2 con la etiqueta temporal [40+15,4] = [55,4], que reemplaza a la etiqueta temporal anterior [100,1]. A continuación el nodo 5 se etiqueta temporalmente con [40+50,4] = [90,4]. Las etiquetas temporales incluyen ahora a [55,4] y [90,4] asociadas con los nodos 2 y 5, respectivamente. Rotulamos entonces al nodo 2 en forma permanente con la etiqueta [55,4].
El único nodo restante es el nodo destino 5, que convierte su etiqueta [90,4] a una etiqueta permanente, con lo que se termina el procedimiento.
Los pasos de cálculo anteriores se resumen gráficamente en la figura 8-11 observe que los cálculos se basan en el concepto de recursión empleado en el algoritmo aciclico.
La diferencia principal entre los dos algoritmos estriba en que un nodo en el algoritmo cíclico puede rotularse (temporalmente) sin tener en cuenta que todos los nodos que llegan directamente a él se hayan o no rotulado.
La solución en la figura 8-11 proporciona la distancia más corta a cada nodo en la red, junto con su ruta.
5.3 PROBLEMA DEL ÁRBOL DE MÍNIMA EXPANSIÓN
Este problema considera una red no dirigida y conexa. En ella se debe encontrar un árbol de expansión con la longitud mínima de sus arcos.
Algoritmo para el problema del árbol de expansión mínima.
1.- selecciona, de manera arbitraria, cualquier nodo y se conecta (es decir, se agrega una ligadura) al nodo distinto más cercano.
2.- se identifica el nodo no conectado más cercano a un nodo conectado y se conectan estos dos nodos (es decir, se agrega una ligadura entre ellos). este paso se repite hasta que todos los nodos están conectados.
3.- Empates. Los empates para el nodo mas cercano distinto (paso 1) o para el nodo conectado más cercano (paso 2), se pueden romper en forma arbitraria y el algoritmo debe llegar a una solución optima. No obstante, estos empates son señal de que pueden existir (pero no necesariamente) soluciones optimas optimas múltiples. Todas esas soluciones se pueden identificar si se trabaja con las demás formas de romper los empates hasta el final.
...