optimizacion de redez

13

Click here to load reader

Upload: kevinlolololo

Post on 17-Feb-2016

10 views

Category:

Documents


3 download

DESCRIPTION

redes

TRANSCRIPT

Page 1: Optimizacion de Redez

1

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:

Page 2: Optimizacion de Redez

2

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.

Page 3: Optimizacion de Redez

3

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

Page 4: Optimizacion de Redez

4

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.

1

3

4

2

5

1 2 3 4 5

Page 5: Optimizacion de Redez

5

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.

Page 6: Optimizacion de Redez

6

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.

La manera más rápida de ejecutar este algoritmo en forma manual es el enfoque grafico

que se ilustra enseguida.

Aplicación de este algoritmo al problema del árbol de expansión mínima de

seervada park

La administración de seervada park necesita determinar los caminos bajo los cuales se

deben entender las líneas telefónicas para conectar todas las estaciones con una longitud

total mínima de cable. Se describirá paso a paso la solución de este problema con base

en los datos que se dan a continuación.

Los nodos y distancias para el problema se resumen enseguida, en donde las líneas

delgadas ahora representan ligaduras potenciales.

Page 7: Optimizacion de Redez

7

7

2 2 5

5 4

3 1 7

4 1

4

En forma arbitraria, se selecciona el nodo 0 como inicio. El nodo no conectado más

cercano a 0 es A. se conecta el nodo A al nodo 0.

7

2 2 5

5 4

3 1 7

4 1

4

0

C

B

A

E

D

T

0

C

B

A

E

D

T

Page 8: Optimizacion de Redez

8

El nodo no conectado más cercano a cualquiera de los nodos 0 o A es el nodo B (más

cercano a A). Se conecta el nodo B al nodo A.

7

2 2 5

5 4

3 1 7

4 1

4

El nodo no conectado más cercano a 0, A o B es el nodo C (más cercano a B). se

conecta el nodo C al nodo B.

7

2 2 5

5 4

3 1 7

4 1

4

0

C

B

A

E

D

T

0

C

B

A

E

D

T

Page 9: Optimizacion de Redez

9

El nodo no conectado más cercano a 0, A, B o C es el nodo E (más cercano a B). se

conecta el nodo E al nodo B.

7

2 2 5

5 4

3 1 7

4 1

4

El nodo no conectado más cercano a los nodos 0,A, B, C o E es el nodo D (más cercano

a E).Se conecta el nodo D al nodo E.

7

2 2 5

5 4

3 1 7

4 1

4

0

C

B

A

E

D

T

0

C

B

A

E

D

T

Page 10: Optimizacion de Redez

10

El único nodo no conectado es el nodo T. Está más cerca del nodo D. se conecta el nodo

T al nodo D.

7

2 2 5

5 4

3 1 7

4 1

4

Todos los nodos han quedado conectados, por lo que esta es la solución (optima) que se

buscaba. La longitud total de las ramas es 14 millas.

Aunque con este procedimiento a primera vista puede parecer que la elección del nodo

inicial afectaría la solución final ( y la longitud total de las ligaduras), en realidad no es

así. Se sugiere que se verifique este hecho para el ejemplo, aplicando de nuevo el

algoritmo, pero con un nodo inicial distinto de 0.

Se considera que dentro de este capitulo el problema del árbol de expansión mínima es

el que cae dentro de la amplia categoría de diseño de redes. En esta categoría, el

objetivo es diseñar la red más apropiada para el problema dado (con frecuencia se trata

de sistemas de transporte) y no de analizar una red ya diseñada. La referencia 8

proporciona una investigación en esta importante área.

0

C

B

A

E

D

T

Page 11: Optimizacion de Redez

11

5.4 Problema de flujo máximo

En una red con flujo de capacidades en los arcos, el problema es determinar el flujo

máximo posible proveniente de los orígenes de forma tal de ahogar las capacidades de

flujos de los arcos. Considere una red con m nodos y n arcos con un flujo simple de

bienes. Denote el arco de flujo (i a j) como Xij. Asociamos cada arco a una capacidad

de flujo, kij. En esta red, deseamos encontrar el flujo total máximo en la red, F, del nodo

1 al nodo m.

En la formulación de la programación lineal, el objetivo es maximizar F. El monto que

parte del origen por varias rutas. Para cada nodo intermedio, lo que entra debe ser igual

a lo sale. En algunas rutas los flujos pueden tomar ambas direcciones. La capacidad que

puede ser enviada a una dirección en particular también es mostrada en cada ruta

.

Page 12: Optimizacion de Redez

12

5.5 Problema de flujo de costo mínimo

El problema de flujo de costo mínimo tiene una posición medular entre los problemas

de optimización de redes; primero, abarca una clase amplia de aplicaciones y segundo,

su solución es muy eficiente.

Todos los problemas de red anteriores son casos especiales del problema de flujo de

costos mínimo. Al igual que el problema de flujo máximo, este considera flujos en las

redes con capacidades. Al igual que el problema del camino mas corto, este considera

un costo por flujo hacia un arco. Al igual que el problema de transporte, este permite

múltiples orígenes y destinos. Por lo tanto, todos estos problemas pueden ser vistos

como casos especiales del problema de flujo de costos mínimo.

El problema es minimizar el costo total sujeto a la disponibilidad y la demanda de

algunos nodos, y de la conexión superior de flujo a través de cada arco

La solución óptima es: X12 = 12, X13 = 8, X23 = 8, X24 = 4, X34 = 11, X35 = 5, X45

= 10, todos los demás Xij = 0. El costo óptimo es $150

Page 13: Optimizacion de Redez

13

5.6 PROGRAMACIÓN LINEAL EN TEORÍA DE REDES

La programación lineal es actualmente la técnica matemática utilizada más actualmente

gracias a que el algoritmo simplex es muy eficiente y al desarrollo de la computación.

Lo que se busca con la aplicación de la programación lineal es resolver problemas

comunes y a la vez muy variados de la empresa en donde en general se tienen

necesidades por satisfacer con cierto número de recursos limitados o escasos y con el

objetivo de lograrlo en forma óptima.

Ejemplo

Una empresa ha dejado de fabricar ciertos productos, liberando de esta forma las cargas

de producción que tenían sus equipos en los departamentos de maquinado. Ahora se

tienen horas máquina que se pueden utilizar en los productos denominados 1,2,3 de la

siguiente manera:

Máquina Horas por pieza de producto Horas Maq. Disponibles

1 2 3 por semana

Fresadora 9 3 5 500

Torno 5 4 - 350

Rectificadora 3 - 2 150

Utilidad

$/ pieza 50 20 25

Recomendación del Mínimo Mínimo Mínimo

Depto. Vtas a Prod. 30 15 20

Formular un modelo de Programación Lineal para este problema

Definición de variables a utilizar en el método de programación lineal

Sea: Xj = número de piezas de producto j(j=1,2,3) a fabricar para maximizar la utilidad.

Función económica y objetivo:

MAX Z= 50X1 + 20X2 + 25X3 [ (Dls/Unidad) (Unidad/Sem)] = [Dls/Sem.]

Sujeta a restricciones de horas máquina disponibles por semana

Fresadora: 9X1 + 3X2 + 5X3 * 500 horas máquina fresadora

Torno: 5X1 + 4X2 * 350 horas máquina torno

Rectificadora: 3X1 + 2X3 * 150 horas maquina rectificadora

Condiciones de signos pare las variables:

X1 * 30 piezas

X2 * 15 piezas

X3 * 20 piezas