• No se han encontrado resultados

Aplicaciones Programacion Lineal

N/A
N/A
Protected

Academic year: 2020

Share "Aplicaciones Programacion Lineal"

Copied!
253
0
0

Texto completo

(1)
(2)
(3)

El objetivo general es encontrar el mejor plan de distribución, es decir, la cantidad que se debe enviar por cada una de las rutas desde los puntos de suministro hasta los puntos de demanda.

El “mejor plan” es aquel que minimiza los costos totales de envío, produzca la mayor ganancia u optimice algún objetivo corporativo.

Se debe contar con:

i) Nivel de oferta en cada fuente y la cantidad de demanda

en cada destino.

(4)

También es necesario satisfacer ciertas restricciones:

1. No enviar más de la capacidad especificada desde cada punto de suministro (oferta).

2. Enviar bienes solamente por las rutas válidas.

(5)

Esquemáticamente se podría ver como se muestra en la siguiente figura Destinos Fuentes 1 1 2 2 n m s2 sm d2

s1 d1

dn . . . . . .

X : cantidad transportada desde la fuente i al destino j C11, X11

Cmn, Xmn

(6)

o x d x s x x c Z ij j m i ij i n j ij m i n j ij ij    



    1 1 1 1 j=1,2,...,n i=1,2,...,m

para toda i y j minimizar

(7)

Modelo de transporte equilibrado: Oferta = Demanda i n j ij

S

x

1

j=1, 2, 3,....,n

j m i ij

D

x

1

i=1, 2, 3,....,m

(8)

Aplicaciones del modelo de Transporte

El Modelo de Transporte no sólo es aplicable al movimiento de productos, sino que también, como modelo se puede aplicar a otras áreas tales como:

• Planificación de la Producción

• Control de Inventarios

• Control de Proveedores

(9)

Ejemplo:

RPG tiene cuatro plantas ensambladoras en Europa. Están

ubicadas en Leipzig, Alemania (1);Nancy, Francia (2); Lieja,

Bélgica

(3),

y

Tilburgo,

Holanda

(4).

Las

máquinas

ensambladoras usadas en estas plantas se producen en Estados

Unidos y se embarcan a Europa. Llegaron a los puertos de

Amsterdan (1), Amberes (2) y El Havre (3).

(10)

(1) Leipzig 400

(2) Nancy 900

(3) Lieja 200

(4) Tilburgo 500

Total 2000

Puerto Cantidad de Motores (1) Amsterdan 500

(2) Amberes 700

(11)

desde un origen a un destino son:

Desde el origen

1 2 3 4

1

12

13

4

6

2

6

4

10

11

3

10

9

12

4

(12)

1. Variables de decisión

Xij = número de motores enviados del puerto i a la planta j

i = 1, 2, 3

j = 1, 2, 3, 4

2. Función Objetivo

(13)

X11 + X21 + X31  400 X12 + X22 + X32  900

X13 + X23 + X33  200 X14 + X24 + X34  500 cantidad disponible

X11 + X12 + X13 + X14  500

X21 + X22 + X23 + X24  700 X31 + X32 + X33 + X34  800

2) Demanda: Debe satisfacerse la demanda de cada planta

(14)
(15)

Algoritmos Específicos

2.1.1 Regla de la esquina noroeste (MEN)

2.1.2 Método por aproximación de Vogel (MAV)

2.1.3 Método del costo mínimo (MCM)

2.1.4 Método del paso secuencial y

(16)

Descripción de los algoritmos

La regla de la esquina noroeste, el método de aproximación de Vogel y el método del costo mínimo son alternativas para encontrar una solución inicial factible.

El método del escalón y el DIMO son alternativas para proceder de una solución inicial factible a la óptima.

(17)

Descripción de los algoritmos

Una vez obtenida una solución básica factible, el algoritmo procede paso a paso para encontrar un mejor valor para la función objetivo.

La solución óptima es una solución factible de costo mínimo

(18)

Tabla Inicial

Destinos

Origen 1 2 3 4 n Ofertas

1 C11 C12 C13 C14 .... C1n

2 C21 C22 C23 C24 .... C2n

3 C31 C32 C33 C34 .... C3n

... .... ... .... .... ....

m Cm1 Cm2 Cm3 Cm4 .... Cmn

(19)

Tabla Inicial del Ejemplo

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

500

2 6 4 10 11

700

3 10 9 12 4

800

(20)

2.1.1 Regla de la esquina Noroeste

Se inicia el proceso desde la esquina izquierda superior

Se ubican tantas unidades como sea posible en la ruta

Cantidad de Unidades = Mínimo(disponibilidad, demanda)

Las siguientes asignaciones se hacen o bien recorriendo hacia la derecha o bien hacia abajo.

(21)

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 100 500

2 6 4 10 11

700

3 10 9 12 4

800

(22)

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 100 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

100 700 800

(23)

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 100 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

100 200 500 0 800

Demanda 0 400 0 900 200 500 2000

(24)

2.1.2 Método de aproximación de

Vogel (MAV)

MAV usa información de costos mediante el concepto de costo de oportunidad para determinar una solución inicial factible.

Seleccionar en una fila la ruta más barata y la que le sigue. Hacer su diferencia (penalidad), que es el costo adicional por enviar una unidad desde el origen actual al segundo destino y no al primero.

(25)

Lo anterior se repite para cada fila y cada columna, esto es, determinar todas las penalidades

Los pasos iterativos de MAV son los siguientes:

1. Identificar la fila o columna con la máxima penalidad.

2.Colocar la máxima asignación posible a la ruta no usada que tenga menor costo en la fila o columna seleccionada en el punto 1 (los empates se resuelven arbitrariamente)

3. Reajustar la oferta y demanda en vista de esta asignación.

4. Eliminar la columna en la que haya quedado una demanda 0 (o la fila con oferta 0), de consideraciones posteriores.

(26)

El MAV continúa aplicando este proceso en forma sucesiva hasta que se haya obtenido una solución factible.

(27)

Plantas

Puertos 1 2 3 4 Oferta Penalidades

1 12 13 4 6 2

500

2 6 4 10 11 2

700

3 10 9 12 4 5

800

Demanda 400 900 200 500 2000

Penalidades 4 5 6 2

Calculadas todas las penalidades, la mayor

Paso 1: Identificar máxima penalidad (fila o columna)

(28)

Paso 2: Asignación de unidades (MIN(oferta,demanda))

Paso 3:Reajuste de oferta y demanda

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

200 300 500

2 6 4 10 11

700

3 10 9 12 4

800

(29)

Paso 4: Eliminar columna (fila) con demanda (oferta) 0

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

200 300 500

2 6 4 10 11

700

3 10 9 12 4

800

(30)

Paso 5: Calcular los nuevos costos de penalidad

Plantas

Puertos 1 2 3 4 Oferta Penalidades

1 12 13 4 6 6

200 300 500

2 6 4 10 11 2

700

3 10 9 12 4 5

800

Demanda 400 900 0 200 500 2000

(31)

Repitiendo los pasos anteriores, finalmente se llega a la siguiente solución

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

200 300 300 500

2 6 4 10 11

700 0 700

3 10 9 12 4

400 200 200 600 800

Demanda 400 900 0 200 200 500 2000

¿Es solución factible? ¿m + n - 1 = 6? SI

(32)

1. Dada una tabla de transporte

2. Asignar la mayor cantidad de unidades a la variable (ruta) con el menor costo unitario de toda la tabla.

3. Tachar la fila o columna satisfecha.

4. Ajustar oferta y demanda de todas las filas y columnas

Algoritmo Fundamento

(33)

Ejemplo: Aplicar MCM a la tabla de transporte

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

500

2 6 4 10 11

700

3 10 9 12 4

800

Demanda 400 900 200 500 2000

Existen tres rutas costo mínimo. Elijamos la 1_3

(34)

Paso 3: Tachar fila o columna (columna 3)

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

200 300 500

2 6 4 10 11

700

3 10 9 12 4

800

Demanda 400 900 0 200 500 2000

Ajustar ofertas y demandas (fila 1 y columna 3)

(35)

Paso 4: Tachar ajustar fila 3 y columna 4

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

200 300 500

2 6 4 10 11

700

3 10 9 12 4

500 300 800

Demanda 400 900 0 200 0 500 2000

Unidades = MIN(500,800) = 500

(36)

Paso 4: Tachar ajustar fila 2 y columna 2

Puertos 1 2 3 4 Oferta

1 12 13 4 6

200 300 500

2 6 4 10 0

700 0 700

3 10 9 12 4

500 300 800

Demanda 400 200 900 0 200 0 500 2000

Unidades = MIN(700,900) = 300

(37)

Paso 4: Tachar ajustar fila 3 y columna 2

Puertos 1 2 3 4 Oferta

1 12 13 4 6

200 300 500

2 6 4 10 0

700 0 700

3 10 9 12 4 100

200 500 300 800

Demanda 400 200 900 0 200 0 500 2000

Unidades = MIN(200,300) = 200

(38)

Paso 4: Tachar ajustar fila 3 y columna 1

Puertos 1 2 3 4 Oferta

1 12 13 4 6

200 300 500

2 6 4 10 0

700 0 700

3 10 9 12 4 100 0

100 200 500 300 800

Demanda 300 400 200 900 0 200 0 500 2000

Unidades = MIN(400,100) = 100

(39)

Paso 4: Tachar ajustar fila 1 y columna 1

Puertos 1 2 3 4 Oferta

1 12 13 4 6 0

300 200 300 500

2 6 4 10 0

700 0 700

3 10 9 12 4 100 0

100 200 500 300 800

Demanda 300 400 200 900 0 200 0 500 2000

Unidades = MIN(300,300) = 300

(40)

Comparación de los resultados

¿Es solución factible? ¿m + n - 1 = 6? SI

Costo: 300*12+200*4+700*4+100*10+200*9+500*4 = $12.000

Método Rutas Costo

MEN 6 $14.200

MAV 6 $12.000

MCM 6 $12.000

Los tres métodos entregan soluciones básicas factibles,

(41)

Este método comienza con una solución inicial factible.

En cada paso se intenta enviar artículos por una ruta que no se haya usado en la solución factible actual, en tanto se elimina una ruta usada actualmente.

En cada cambio de ruta debe cumplirse que:

1. La solución siga siendo factible y

2. Que mejore el valor de la función objetivo

El procedimiento termina cuando no hay cambio de rutas que mejoren el valor de la función.

(42)

Usar la solución actual (MEN, MAV o MCM) para crear una trayectoria única del paso secuencial. Usar estas trayectorias para calcular el costo marginal de introducir a la solución cada ruta no usada.

Si todos los costos marginales son iguales o mayores que cero, terminar; se tendrá la solución óptima. Si no, elegir la celda que tenga el costo marginal más negativo (empates se resuelven arbitrariamente)

Usando la trayectoria del paso secuencial, determine el máximo número de artículos que se pueden asignar a la ruta elegida en el punto 2 y ajustar la distribución adecuadamente.

Algoritmo

1

2

(43)

a) Ponga un signo + en la celda de interés no ocupada

b) Ponga un signo - en una celda usada de la misma fila

c) Ponga un + en una celda usada de la misma columna

El proceso continúa alternando los signos + y - tanto en las filas como en las columnas hasta que se obtenga una sucesión de celdas (trayectoria) que satisfagan dos condiciones

1. Hay un signo + en la celda desocupada original de interés, y

2. Cualquier fila o columna que tenga un signo + debe tener

(44)

Algoritmo

Paso 1

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 100 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

100 200 500 0 800

(45)

Algoritmo

Paso 1

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 100 - + 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

100 + 200 - 500 0 800

Demanda 0 400 0 900 0 200 0 500 2000

(46)

Algoritmo

Paso 1

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 100 - + 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

100 + 200 - 500 0 800 Demanda 0 400 0 900 0 200 0 500 2000

1: +(4)-(13)+(9)-(12)= -12 2: +(6)-(13)+(9)-(4) = -2

(47)

Algoritmo

Paso 2

1: +(4)-(13)+(9)-(12)= -12 2: +(6)-(13)+(9)-(4) = -2

3: +(6)-(4)+(13)-(12)= 3 4: +(10)-(4)+(9)-(12) = 3

5: +(11)-(4)+(9)-(4) = 2 6: +(10)-(9)+(13)-(12)= 2

La solución factible NO es óptima !!

(48)

Algoritmo

Paso 3

(Generación de la nueva tabla)

¿Cuántas unidades se pueden asignar a la ruta elegida?

Acción Ruta Unidades disponibles en

celdas decrecientes

Aumentar 1 unidad 1_3

Disminuir 1 unidad 1_2 100

Aumentar 1 unidad 3_2

(49)

Algoritmo

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 - 100 + 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

200 + 100 - 500 0 800

Demanda 0 400 0 900 0 200 0 500 2000

Paso 3

(Generación de la nueva tabla)

(50)

Algoritmo

Paso 4

Volver al

Paso 1:

Para cada trayectoria evaluar costo marginal

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 100 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

200 100 500 0 800

(51)

Algoritmo

Paso 2: Elección de CMg menor

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 +12 100 +10 100 500

2 6 4 10 11

-9 700 +3 +12 0 700

3 10 9 12 4

-10 200 100 500 0 800

Demanda 0 400 0 900 0 200 0 500 2000

(52)

Algoritmo

Paso 3 (Generación de la nueva tabla)

¿Cuántas unidades se pueden asignar a la ruta elegida?

Acción Ruta Unidades disponibles en celdas decrecientes Aumentar 1 unidad 31

Disminuir 1 unidad 33 100

Aumentar 1 nidad 13

(53)

Algoritmo

Paso 3

(Generación de la nueva tabla)

Costo: $12.000

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

300 200 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

100 200 500 0 800

(54)

Algoritmo

Paso 4

Volver al

Paso 1:

Para cada trayectoria evaluar costo marginal

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

300 200 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

100 200 500 0 800

(55)

Algoritmo

Paso 2: Determinar costos marginales

Todas rutas son no negativas (positivas o cero) Solución factible óptima!!! $12.000

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

300 +2 200 0 100 500

2 6 4 10 11

+1 700 +13 +12 0 700

3 10 9 12 4

100 200 +10 500 0 800

(56)

Algoritmo

1. Usar la solución actual (NE, MAV o MCM) y las siguientes operaciones (a) y (b) para determinar el costo marginal de enviar material para cada una de las rutas no usadas.

Asociar a cada fila un índice u

i

y a cada columna un índice v

j

a) Hacer u1 = 0. Encuéntrese los índices de las filas u2, ..., um y los índices de las columnas v1, ...., vn tales que cij = ui + vj para cada celda usada.

b) Sea eij = cij - (ui+vj) para cada celda no usada; eij será el costo marginal de introducir la celda (ruta) i, j a la solución.

(57)

Aplicar el algoritmo al problema en estudio y

comparar resultados obtenidos con los métodos

anteriores

Comentar resultados

(58)

Aplicación

Costo por

Ruta en uso motor ($) Ecuación 11 12 u1 + v1 = 12 12 13 u1 + v2 = 13

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 100 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

100 200 500 700 800

Demanda 0 400 0 900 200 500 2000

Paso 0: Asociar índices

ui

(59)

Paso1.a) Solucionar la ecuación

Existen 6 ecuaciones y siete variables entonces se hace u1 = 0 (puede ser cualquiera) y se determina el resto de los índices

v1 = 12 v2 = 13 u2 = - 9 u3 = -4 v3 = 16 v4 = 8

Paso 1.b) Calcular los costos marginales para cada celda no usada.

(60)

Costos marginales para las celdas no usadas.

eij = cij - (ui + vj)

1) e13 = c13 - (u1 + v3)= 4 - (0 + 16) = -12 2) e14 = c14 - (u1 + v4)= 6 - (0 + 8) = -2

3) e21 = c21 - (u2 + v1)= 6 - (-9 + 13) = 2 4) e23 = c23 - (u2 + v3)= 10 - (-9 + 16) = 3 5) e24 = c24 - (u2 + v4)= 11 - (-9 + 8) = 12

(61)

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 100 -12 -2 100 500

2 6 4 10 11

2 700 3 12 0 700

3 10 9 12 4

2 100 200 500 700 800

Demanda 0 400 0 900 200 500 2000

Paso 2: Prueba de Optimalidad.

Hay costos negativos por lo tanto no es óptima

(62)

Paso 3: Asignación de unidades a la ruta elegida.

Unidades disponibles a mover:

Disminuir 1 unidad C12 100 Disminuir 1 unidad C33 200

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

400 100 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

(63)

Vuelta al Paso 1:

Costo por

Ruta en uso motor ($) Ecuación

11 12 u1 + v1 = 12

13 4 u1 + v3 = 4

22 4 u2 + v2 = 4

32 9 u3 + v2 = 9

33 12 u3 + v3 = 12

34 4 u3 + v4 = 4

Paso1.a) Solucionar la ecuación

Se hacer u1 = 0 y se determina el resto de los índices

(64)

Costos marginales para las celdas no usadas.

eij = cij - (ui + vj)

1) e12 = c12 - (u1 + v2)= 13 - (0 + 1) = 12 2) e14 = c14 - (u1 + v4)= 6 - (0 - 4) = 10

3) e21 = c21 - (u2 + v1)= 6 - (3 + 12) = -9 4) e23 = c23 - (u2 + v3)= 10 - (3 + 4) = 3 5) e24 = c24 - (u2 + v4)= 11 - (3 - 4) = 12

(65)

Paso 2: Prueba de Optimalidad.

Hay costos negativos por lo tanto no es óptima

La ruta de reasignación es: +C -C +C -C

Plantas

Puertos 1 2 3 4 Oferta

1 - 12 13 + 4 6

400 19 100 1 100 500

2 6 4 10 11

0 700 3 12 0 700

3 + 10 9 - 12 4

-1 200 100 500 700 800

(66)

Paso 3: Asignación de unidades a la ruta elegida.

Unidades disponibles a mover:

Disminuir 1 unidad C11 400 Disminuir 1 unidad C33 100

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

300 200 100 500

2 6 4 10 11

700 0 700

3 10 9 12 4

(67)

Vuelta al Paso 1:

Paso1.a) Solucionar la ecuación

u1 = 0 y se determina el resto de los índices

v1 = 12 v2 = 11 v3 = 4 v4 = 6 u2 = - 7 u3 = -2

Costo por

Ruta en uso motor ($) Ecuación

11 12 u1 + v1 = 12

13 4 u1 + v3 = 4

22 4 u2 + v2 = 4

31 10 u3 + v1 = 10

32 9 u3 + v2 = 9

(68)

Costos marginales para las celdas no usadas.

eij = cij - (ui + vj)

1) e12 = c12 - (u1 + v2)= 13 - (0 + 11) = 2 2) e14 = c14 - (u1 + v4)= 6 - (0 + 6) = 0

3) e21 = c21 - (u2 + v1)= 6 - (-7 + 12) = 1 4) e23 = c23 - (u2 + v3)= 10 - (-7 + 4) = 13 5) e24 = c24 - (u2 + v4)= 11 - (-7 + 6) = 12

(69)

Paso 2: Prueba de Optimalidad.

No hay costos negativos por lo tanto es óptima

VO = 300*12+200*4+700*4+100*10+200*9+500*4=$12.000

Plantas

Puertos 1 2 3 4 Oferta

1 12 13 4 6

300 0 200 0 100 500

2 6 4 10 11

1 700 13 12 0 700

3 10 9 12 4

100 200 10 500 700 800

(70)

2.1.6.

Modelo de Transporte: Situaciones Especiales

1. Solución en problemas de maximización de transporte

2. El caso en que la oferta excede a la demanda.

3. Eliminación de rutas inaceptables.

4. Degeneración en problemas de transporte.

(71)

2.1.6. Modelo de Transporte: Situaciones Especiales

1. Solución en problemas de maximización de transporte.

a) Se utilizan los beneficios marginales en lugar de los costos. Se asignará unidades a la celda que tenga el mayor valor marginal y el procedimiento concluirá cuando todas las rutas tengan valores marginales negativos.

(72)

2.1.6. Modelo de Transporte: Situaciones Especiales

Tabla de beneficios

14 19 12

17 19 15

16 20 11

6 1 8

3 1 5

2 3 Destinos Fu e n te s

1 2 3

1

Destinos

1 2 3

e n te s 1 2

Mayor = 20

(73)

2. El caso en que la oferta excede a la demanda.

Se utiliza un destino ficticio en la tabla de transporte. Se considera como nulo el costo de enviar una unidad a dicho destino desde cada una de las fuentes (orígenes).

Si la demanda es mayor que la oferta el problema no tiene solución factible, sin embargo el administrador podría abastecer toda la demanda que sea posible a un costo mínimo.

(74)

2.1.6. Modelo de Transporte: Situaciones Especiales

3. Eliminación de rutas inaceptables.

Se asocia a una ruta no aceptable un costo lo suficientemente alto para que no sea atrayente la ruta en cuestión. El costo M

Por ejemplo: producir en abril para vender en febrero del mismo año.

4. Degeneración en problemas de transporte.

(75)

2.1.6. Modelo de Transporte: Situaciones Especiales

5. Propiedades especiales del modelo de transporte

Todo problema de transporte es posible resolverlo mediante algoritmos que usan sólo la adición y la sustracción.

(76)

Ejercicios

D1 D2 D3 D4

M1 2 3 1 2

M2 1 4 7 6

Suponer que se tienen tres fábricas M1, M2 y M3 que producen 39, 48 y 33 toneladas respectivamente, de un cierto producto que debe llevarse a cuatro destinos, D1, D2, D3 y D4, los cuales requieren 40, 37, 18 y 25 toneladas.

(77)

Periodo Capacidad de Producción Máxima (unidades)

Demanda a satisfacer

Costo de Producción ($)

Costo de Almacenaje ($) 1 1200 900 15 1.2

2 800 800 18 1.4

3 1100 1000 17 1.1

4 900 700 20 1.5

¿Cuánto hay que producir en cada periodo para satisfacer la demanda al mínimo costo (tanto de producción como de almacenaje)?.

Supuesto: No existe inventario inicial ni final.

(78)

Situación:

Asignar

m

trabajos (o trabajadores) a

n

máquinas.

Un trabajo

i

(=1, 2, 3 ,...,m) cuando se asigna a la máquina

j

(=1,2,....,n) incurre en un costo

c

ij

.

El objetivo es asignar los trabajos a las máquinas uno a uno

al menor costo.

(79)

Los trabajos representan las “fuentes” y las máquinas los

“destinos”

La oferta disponible en cada fuente es

1

como también

lo es la demanda en cada destino.

c

ij

es el costo de transportar (asignar) el trabajo

i

a la

máquina

j

(80)

En el caso que un trabajo

no deba

ser asignado

(porque no cumple con los requisitos) a una máquina

(actividad) en particular, este costo debe tener un

valor alto (M)

(81)

C11 C12 ….. C1n

C21 C22 ….. C2n

….. ….. ….. …..

Cn1 Cn2 ….. Cnn

0, si el i-ésimo trabajo no se asigna a la j-ésima máquina

1, si el i-ésimo trabajo se asigna a la j-ésima máquina

Xij =

Máquina

1 2 ….. n

(82)

minimizar z =



  n i n j ij ij

x

c

1 1

sujeto a 1

1 

n j ij

x i=1,2, ...,n

1 1 

n i ij x j=1,2,..n

(83)

La gerencia general de RPG (ejemplo de transporte) con sede en Bruselas, este año, como parte de su auditoría anual, decidió que cada uno de sus cuatro vicepresidentes visite e inspeccione cada una de sus plantas de ensamblaje durante las primeras dos semanas de junio. Las plantas están ubicadas en Leipzig (Alemania), Nancy (Francia, Lieja (Bélgica) y Tilburgo (Holanda).

(84)

PLANTA

Leipzig (1) Nancy(2) Lieja (3) Tilburgo(4)

Finanzas (F) (1) 24 10 21 11

Mercadotecnia(M) (2) 14 22 10 15

Operaciones (O) (3) 15 17 20 19

Personal(P) (4) 11 19 14 13

(85)

MIN Z = 24 X11 + 10 X12 + ... + 14 X43 + 13 X44 sujeto a:

(86)

Existen varias formas de obtener la solución:

a) Listar todas las alternativas posibles con sus costos y seleccionar la de menor costo (algoritmo exhaustivo)

b) Método Húngaro: método iterativo

a) Listar todas las alternativas:

¿Cuántas alternativas posibles existen?

- El primer trabajo se puede asignar de n formas formas posibles - El segundo de n-1 formas

(87)

Paso 0: Construir la matriz de asignación

Para obtener la solución óptima cada nueva matriz de asignación debe satisfacer:

Propiedad 1: Todos los números son no negativos

Propiedad 2: Cada fila y cada columna tiene al menos una celda con un valor cero

Paso 1:

a) Reducción de filas: Restar el costo menor de cada fila a la fila correspondiente y/o

(88)

Paso 2: Determinar si la matriz es reducida (Prueba de Optimalidad). Trazar el menor número de líneas rectas sobre las filas y columnas para cubrir todos los ceros.

Si el número de rectas es igual al número de filas o columnas se dice que esta matriz es reducida.

(89)

Paso 3: Movimiento

De todas las celdas no cruzadas identifique una con el menor valor y haga lo siguiente:

a) Restar el valor a cada celda no cruzada

b) Sumar el valor a cada celda de intersección de rectas

(90)

Paso 4: Solución óptima (Asignación)

Primero se asigna a las que tengan sólo una alternativa, se van marcando y así sucesivamente

Determinar el costo: Se suman todos los costos correspondientes a las asignaciones (o sumar todos los pi y qj).

(91)

1 2 3 4 pi

F 24 10 21 11

M 14 22 10 15

O 15 17 20 19

P 11 19 14 13

qj

Paso 0: Matriz de Asignación

(92)

1 2 3 4 pi

F 14 0 11 1 10

M 4 12 0 5 10

O 0 2 5 4 15

P 0 8 3 2 11

qj 1

1 2 3 4 pi

F 14 0 11 0 10

M 4 12 0 4 10

O 0 2 5 3 15

P 0 8 3 1 11

(93)

1 2 3 4 pi

F 14 0 11 0 10

M 4 12 0 4 10

O 0 2 5 3 15

P 0 8 3 1 11

qj 1

No es reducida: sólo tres rectas (para ser reducida deben ser 4)

(94)

1 2 3 4 pi

F 14 0 11 0 10

M 4 12 0 4 10

O 0 2 5 3 15

P 0 8 3 1 11

qj 1

1 2 3 4 pi

F 15 0 12 0 10

M 4 11 0 3 10

O 0 1 5 2 15

P 0 7 3 0 11

(95)

1 2 3 4 pi

F 15 0 12 0 10

M 4 11 0 3 10

O 0 1 5 2 15

P 0 7 3 0 11

qj 1 + 1

Se tachan todos los ceros con cuatro rectas, por tanto es óptima

(96)

1 2 3 4 pi

F 15 0 12 0 10

M 4 11 0 3 10

O 0 1 5 2 15

P 0 7 3 0 11

qj 1 + 1

Costo = c12 + c23 + c31 +c44 = 10+10+15+13 = 48

(97)

El modelo de asignación de RPG es un modelo de minimización en el cual el número de vicepresidentes es igual al número de plantas, y todas las asignaciones posibles son aceptables.

Consideremos ahora modelos tipo asignación donde no todas las condiciones anteriores se cumplen. En particular se considerarán situaciones en las que:

1 Hay una desigualdad entre el número de “personas” por asignar y el número de “destinos” que requieren personas asignadas.

2 Hay un modelo de maximización

(98)

1. Ofertas y demandas desiguales

a) Oferta mayor que la demanda

Suponer que el presidente de RPG quiere auditar a la planta de Tilburgo, por tanto tendrá que decidir cual de los cuatro vicepresidentes debe asignar a cada una de las tres plantas restantes.

Solución: Se elimina la restricción que requería un

(99)

1. Ofertas y demandas desiguales

b) Demanda mayor que la oferta

Suponer que el vicepresidente de Personal tiene que viajar a Illinois durante la primer semana de junio, por lo tanto no puede participar en la auditoría en Europa.

(100)

2. Hay un modelo de maximización

La respuesta de asignación es un beneficio y no un costo

Ejemplo: Suponga que RPG tiene que asignar vendedores a sus territorios de venta.

Existen cuatro personas bien capacitadas listas para ser asignadas y tres territorios requieren un nuevo vendedor. Uno de los vendedores no será asignado.

(101)

2. Hay un modelo de maximización

La matriz de ganancia es la siguiente

Contribución del

Vendedor\a

Territorio

1

Territorio

2

Territorio

3

(102)

3. Situaciones con asignaciones inaceptables

Ejemplo: Suponga que el presidente de RPG no tiene

el

menor

deseo

de

que

el

vicepresidente

de

Operaciones realice una auditoría a la Planta Nancy.

(103)

Este modelo permite que las unidades no vayan

directamente desde un origen a un destino, sino

que pasen por nodos intermedios o transitorios.

Cada origen, punto intermedio y destino final se representan como nodos y se conectan a través de arcos dirigidos

Restricción en cada nodo transitorio:

suma flujos entrantes = suma flujos saliente

(104)

Inicialización: Encuentre un plan de embarque factible que satisfaga todas las restricciones de suministro y demanda, al mismo tiempo que mantiene un equilibrio en todos los nodos de transbordo.

Prueba de Optimalidad: Pruebe el plan de embarque actual para ver si es óptimo, es decir, si es el plan que incurre en los costos totales mínimos. Si es así, deténgase con la solución óptima, sino vaya al paso 3.

Movimientos: Use el hecho de que el plan de embarque actual no es óptimo para crear un nuevo plan de embarque factible con menos costo total que el actual. Vaya al paso 2. 1

2

(105)

Los pasos del algoritmo son análogos a los del algoritmo de

pasos sucesivos (escalón).

• Tanto los nodos origen como los destinos pueden ser a su vez nodos de transbordo.

• Al igual que el modelo de transporte, puede haber desequilibrio, en ese caso se agregan fuentes o destinos ficticios con costo cero.

• El numero total del sistema está dado por el total de la oferta o de la demanda.

(106)

Determínese un programa de embarque que cubra todas las demandas a un costo mínimo total para los datos correspondientes al siguiente grafo (costo en $).

3 4

2 3 4

7 2

1 3 5

2 4 6

+95 -30

+70

+15

-30 -45

(107)

• Los sitios 1 y 2 son orígenes • Los sitios 5 y 6 son destinos • El sitio 3 es origen y empalme • El sitio 4 es destino y empalme

• La oferta es mayor que la demanda por tanto se requiere un destino ficticio que demande 75 unidades

• Agregar 180 unidades a cada empalme (oferta y demanda)

• El costo de las unidades que van de un empalme (como origen) a él mismo (como destino) y de cualquier origen al sitio ficticio es cero.

(108)

3 4 5 6 F Oferta

1 95

3 1000 8 1000 0

2 70

2 7 1000 1000 0

3 195

0 3 4 4 0

4 180

1000 0 1000 2 0

Demanda 180 210 30 45 75

O

genes

(109)

3 4 5 6 F Oferta

1 20 75 95

3 1000 8 1000 0

2 70 70

2 7 1000 1000 0

3 90 30 30 45 195

0 3 4 4 0

4 180 180

1000 0 1000 2 0

Demanda 180 210 30 45 75

Destinos

O

genes

(110)

Una corporación necesita transportar 70 unidades de un producto, del sitio 1 a los sitios 2 y 3 en cantidades de 45 y 25 unidades, respectivamente. Las tarifas cij (en miles de pesos por unidad) de carga aérea entre los sitios comunicados por carguero se dan en la tabla, en la cual las líneas punteadas indica que no hay servicio disponible. Determínese un programa de embarque que asigne el número requerido de artículos a cada destino, a un costo mínimo de transporte. Ningún embarque requiere de vuelo directo, se permiten los envíos empleando puntos intermedios.

1

2

3

4

1

....

38

56

34

2

38

...

27

...

(111)
(112)
(113)

2.4.1 Teoría de Grafos

2.4.2 Modelo de la Ruta más corta

2.4.3 Modelo del Árbol Expandido Mínimo

(114)

Grafo no dirigido:

Un grafo no dirigido G consiste en un conjunto V de vértices (o nodos) y un conjunto E de lados (ramas o enlaces) tales que cada lado

e

ε E está asociado a un par no ordenado de vértices

v y w. Si un lado e está asociado a un único par de vértices v y w, entonces e= (v,w) o e=(w,v).

Grafo dirigido:

Un grafo dirigido (o digrafo) G consiste en un conjunto V de vértices (o nodos) y un conjunto E de lados (o ramas) tales que cada lado

e

ε E está asociado a un par ordenado de vértices. Si un lado e está asociado a un par ordenado único de vértices v y

(115)

Se dice que un lado e = (v,w) de un grafo (dirigido o no dirigido) es

incidente en v y w. Se dice que los vértices v y w son incidentes

en e y también son vértices adyacentes.

Si G es un grafo (dirigido o no dirigido) con un conjunto de vértices V y un conjunto de lados E, se escribe G = (V,E)

Nodo (Vértice):

Un círculo de una red utilizada para representar una planta, almacén o tienda.

Nodo de Suministro:

(116)

Nodo de demanda:

Nodo que va a recibir los productos para cumplir con una demanda conocida.

Nodo de transbordo:

Nodo que recibe productos desde otros nodos para su distribución.

Arco (enlace):

(117)

Arco dirigido:

Indica el sentido de movimiento de los productos.

Camino:

Una secuencia de nodos en una red unidos por arcos (dirigidos o no dirigidos)

Trayectoria (lazo):

(118)

Representación Matricial

i) Matriz de Adyacencia

ii) Matriz de costo (beneficio)

Representación de un grafo:

Un grafo se puede representar matemáticamente como:

a) Una matriz

(119)

Matriz de Adyacencia:

Para un grafo G, es una matriz A de dimensión NxN, donde A[i,j] es verdadero (1) si, y sólo si, existe un arco que vaya del vértice i al vértice j. En ausencia de arco directo se representa generalmente por 0.

(120)

2

3

4 1

1 2 3 4

1 1 1

2 1

(121)

Matriz de Costo:

Para un grafo G etiquetado, es una matriz C de dimensión

NxN, donde A[i,j] es el costo (valor de la etiqueta) si, y sólo si, existe un arco que vaya del vértice i al vértice j.

En ausencia de arco directo se representa generalmente por infinito (costo extremadamente alto, para la simulación se hace uso de un valor fuera de contexto).

(122)

2

3

4 1

1 2 3 4

1 10 15

2 12

3 20

10

15 20 12

(123)

Para un grafo no dirigido, tanto la matriz de adyacencia como la matriz de costo son simétricas, esto es:

A[i,j] = A[j,i]

ó

(124)

Seymour Miles es el gerente de distribución de Zigwell. Zigwell distribuye sus motores oruga en cinco estados del medio oeste. Por lo regular, Seymour Miles tiene 10 aparatos E-9 in situ en lo que designaremos como local 1. Estos tractores deben ser enviados a los dos locales de construcción más importantes designados como 3 y 4. Se necesitan tres E-9 en el local 3 y siete en el local 4. Debido a itinerarios arreglados con anterioridad, relativos a la disponibilidad de conductores, los tractores solo pueden ser distribuidos de acuerdo con las rutas alternativas que se muestran en el grafo de la figura.

(125)

1 2 4 5 3 c12 c34 c24

c25 c

54

u43

c53 c23

+10 -7

Rutas alternativas para el destino 3 u12

u23 u34

c43

u53

c54 u25

(126)

Debido a los acuerdos sostenidos con los conductores, Zigwell debe cambiarlos en cada local que se encuentre sobre la ruta. Las limitaciones en la disponibilidad de conductores ocasionan que haya una cota superior en el número de tractores que pueden recorrer cualquier arco dado.

Por ejemplo: u53 es la cota superior o capacidad en el arco (5,3).

(127)

Expresar el problema como un PL

a) Variables de decisión

xij = número total de E-9 que se enviarán a través del arco (i,j).

(128)

MIN Z =C12X12+C23X23+C24X24+C25X25+C34X34+C43X43+C53X53+C54X54 c) Restricciones

s a

+ X12 = 10 - X12+X23+X24+X25 = 0 -X23 -X43 -X53 +X34 = -3

-X24 +X43 -X34 -X54 = -7 -X25 +X53 +X54 = 0

Balance

de

(129)

a r c o

Nodo (1,2) (2,3) (2,4) (2,5) (4,3) (5,3) (3,4) (5,4) LD

1 +1 0 0 0 0 0 0 0 10

2 -1 +1 +1 +1 0 0 0 0 0

3 0 -1 0 0 -1 -1 +1 0 -3

4 0 0 -1 0 +1 0 -1 -1 -7

(130)

Xij denotan el flujo del nodo i al nodo j a lo largo del arco que conecta esos nodos.

Lj representa la oferta en el nodo j

ij ij

c

ij

x

s.a. minimice

n

j

L

x

x

j k kj

k jk

,

1

,

2

,....,

la red

(i,j) de

ar

todos los

c

x

ij ij

,

cos

(131)

Capacidad

de\ a Sitio 1 Sitio 2 Sitio 3 Sitio 4 Sitio 5

Sitio 1 10

Sitio 2 4 3 3

Sitio 3 2

Sitio 4 4

Sitio 5 3 5

Costo Unitario

de\ a Sitio 1 Sitio 2 Sitio 3 Sitio 4 Sitio 5 Sitio 1 $100

Sitio 2 $45 $50 $20

Sitio 3 $60

Sitio 4 $85

(132)

Se pueden dar dos casos para representar la red:

Como grafo no dirigido

Como grafo dirigido

Situaciones:

a

b

(133)

Considerénse todos los nodos que estén directamente conectados con el origen. Etiquetarlos con la distancia al origen y su nodo predecesor. Etiquetas temporales, [distancia, nodo].

De entre todos los nodos con etiquetas temporales, escoger el que tenga la distancia menor y se marca como permanente. Si todos están con etiquetas permanentes se va al paso cuatro.

a) Algoritmo: Grafo no dirigido

1

(134)

Todo nodo que no tenga etiqueta permanente, tendrá etiqueta temporal o estará sin etiqueta. Sea L el último nodo con etiqueta permanente. Considerénse todas las etiquetas de los vecinos de L (directamente conectados a L mediante un arco). Para cada uno de estos nodos calcúlese la suma de su distancia a L. Si el nodo en cuestión no está etiquetado, asígnese una etiqueta temporal que conste de esta distancia y de L como predecesor. Si el nodo en cuestión ya tiene etiqueta temporal, cámbiese sólo si la distancia recién calculada es menor que la componente de distancia de la etiqueta actual. En este caso, la etiqueta contendrá esta 3

(135)

Las etiquetas permanentes indican la distancia más corta entre el nodo origen a cada nodo de la red. También indican el nodo predecesor en la ruta más corta hacia cada nodo. Para encontrar el camino más corto de un nodo dado, comiéncese en él y retroceda al nodo anterior. Continuar con el recorrido hasta llegar al origen.

Algoritmo:

(136)

Ejemplo: Para el siguiente grafo encontrar la distancia más corta desde el nodo H al resto de los nodos.

(137)
(138)

Es una técnica exhaustiva, esto es, prueba todas las alternativas posibles.

Opera a partir de un conjunto S de vértices cuya distancia más corta desde el origen ya es conocida. Inicialmente S contiene sólo el nodo de origen. En cada paso se agrega algún vértice restante v

a S, cuya distancia desde el origen es la más corta posible.

Para cada paso del algoritmo, se utiliza una matriz D para registrar la longitud del camino más corto a cada vértice.

(139)

INICIO

0) V = {1, 2, 3, 4, ..., n}

1) S = {1} // nodo 1 se supone que es el origen 2) Para i=2 Hasta n Hacer

3) Di = C1i

4) Para i=1 Hasta n-1 Hacer

5) Elegir un vértice w en V-S tal que Dw sea un mínimo 6) agregar w a S

7) Para cada vértice v en V-S Hacer SI ((Dw+Cwv)<Dv)

//Pv = w

Dv = Dw+Cwv

(140)

Ejemplo: Aplicar el algoritmo al siguiente grafo dirigido

10

100

60

50

30

10 2

1

3 4

5

(141)

Inicial

0) V = {1, 2, 3, 4, 5}

1) S = {1}

2)

3) D2 = 10, D3 = inf, D4=30, D5 = 100

4) Iterar 4 veces

5) Seleccionar nodo con distancia más corta de V-S,

Iteración

S

w

D

2

D

3

D

4

D

5

(142)

6) Agregar el nodo 2 a S : S = {1,2}

7) Iterar |V-S|, (V-S = {3,4,5})

D3=mínimo(D3,D2+C23) =mínimo(inf,10+50) = 60

D4=mínimo(D4,D2+C24) =mínimo(30,10+inf) = 30

D5=mínimo(D5,D2+C25) =mínimo(100,10+inf) = 100

Iteración S w D2 D3 D4 D5

Inicial {1} -- 10 inf 30 100

(143)

2a Iteración

V-S = {3,4,5}

5) w = 4

6) S = {1,2,4}

7) Iterar |V-S| V-S = {3,5}

D3=mínimo(D3,D4+C43) =mínimo(60,30+20) = 50 D5=mínimo(D5,D4+C45) =mínimo(100,30+60) = 90

Iteración S w D2 D3 D4 D5

Inicial {1} -- 10 inf 30 100

1 {1,2} 2 10 60 30 100

(144)

3a Iteración

V-S = {3,5}

5) w = 3

6) S = {1,2,4,3}

7) Iterar |V-S| (V-S = {5})

D5=mínimo(D5,D3+C35) =mínimo(90,50+10) = 60

Iteración S w D2 D3 D4 D5

Inicial {1} -- 10 inf 30 100

1 {1,2} 2 10 60 30 100

2 {1,2,4} 4 10 50 30 90

(145)

4a Iteración

V-S = {5}

5) w = 5

6) S = {1,2,4,3,5}

7) Iterar |V-S| (V-S = {})

Iteración S w D2 D3 D4 D5

Inicial {1} -- 10 inf 30 100

1 {1,2} 2 10 60 30 100

2 {1,2,4} 4 10 50 30 90

3 {1,2,4,3} 3 10 50 30 60

(146)

Para conocer el camino hay que incluir otra matriz P de vértices, tal que Pv contenga el vértice inmediato anterior a v

en el camino más corto.

Se asigna a Pv valor inicial 1 para todo v

1

La matriz P se actualiza después de la línea 8.

Si Dw + Cwv < Dv en la línea 8, después se hace Pv = w

(147)

Para el ejemplo, la matriz P debe tener los valores

P2 =1, P3 = 4, P4 = 1, P5 = 3

Para encontrar el camino más corto del vértice 1 al 5, se siguen los predecesores en orden inverso.

3 es el predecesor de 5

4 es el predecesor de 3

(148)

todos los pares de nodos

Para visualizar el problema se emplea un grafo dirigido G = (V,A) en el que cada arco v

w tiene un costo no negativo Cv,w. El problema consiste en encontrar el camino de longitud más corta (menor costo) entre v y w para cada par ordenado de vértices (v,w).

Algoritmo de Floyd

(149)

Después se hacen n iteraciones en la matriz A.

Al final de la k-ésima iteración Aij tendrá por valor la longitud más pequeña de cualquier camino que vaya desde el vértice i hasta el vértice j y que no pase por un vértice mayor que k. Esto es, i y j, los vértice extremos del camino, pueden ser cualquier vértice, pero todo vértice intermedio debe ser menor o igual a k.

En la k-ésima iteración se aplica la siguiente fórmula para calcular A

k-1Aij

kAij = min

(150)

ij, k-1 ij

pasar por k o cualquier otro nodo con numeración mayor, con

k-1Aik + k-1Akj, el costo de ir primero de i a k y después de k a j,

sin pasar a través de un vértice mayor que k. Si el paso por el vértice k produce un camino más económico que el de k-1Aij, se elige ese costo para kAij.

k-1Aij

i

k

(151)

0) INICIO

1) Desde i = 1 Hasta N

2) Desde j = 1 Hasta N

3) Aij  Cij

4) Desde i = 1 Has ta N 5) Aii = 0

6) Desde k = 1 Hasta N

7) Desde i = 1 Hasta N

8) Desde j = 1 Hasta N

9) SI (Aik + Akj < Aij)

(152)
(153)

0) INICIO

1) Desde i = 1 Hasta N

2) Desde j = 1 Hasta N

3) Aij  Cij

3) Pij  0

4) Desde i = 1 Has ta N 5) Aii = 0

6) Desde k = 1 Hasta N

7) Desde i = 1 Hasta N

8) Desde j = 1 Hasta N

9) SI (Aik + Akj < Aij)

10) Aij  Aik + Akj

(154)

Ejemplo: Aplique Floyd al grafo ponderado mostrado en la figura

1 2 3

2

8

3

2

(155)

Tabla Inicial

Nodos 1 2 3

1 0 8 5

2 3 0 inf

3 inf 2 0

(156)

Después de la primera iteración

1

A

ij

Nodos

1

2

3

1

0

8

5

2

3

0

8

(157)

Después de la segunda iteración

2

A

ij

Nodos

1

2

3

1

0

8

5

2

3

0

8

(158)

Después de la tercera iteración

3

A

ij

Nodos

1

2

3

1

0

7

5

2

3

0

8

(159)

Un árbol es un grafo que tiene sus n nodos (vértices) conectados (conexo) con n-1 arcos (aristas), no existiendo ciclos (caminos cerrados)

Definición 1

(160)

Método Gráfico

Se selecciona un nodo cualquiera y se conecta al nodo más cercano a éste.

Se identifica el nodo no conectado más cercano a un nodo conectado y se conectan estos dos nodos

Empates se deciden en forma arbitraria. Los empates indican que existen soluciones alternativas para la construcción.

1

2

(161)
(162)

H

1

2 3

4

5 6 7

1

1

1

1

2

(163)

Paso Acción

0 Se construye la tabla de costos de enlaces

1 Se comienza arbitrariamente con cualquier nodo. Se designa a este nodo como conectado y se pone una marca al lado de la fila correspondiente al nodo. Se tacha el índice de la columna que corresponde a él.

(164)

Nodo

H

1

2

3

4

5

6

7

H

4

7

8

1

4

6

1

2

6

1

2

3

1

1

1

4

7

1

3

3

2

5

2

3

3

6

3

3

1

(165)

Inicio: Nodo H

Nodo

H

1

2

3

4

5

6

7

*

H

4

7

8

*

1

4

6

1

2

6

1

2

3

1

1

1

4

7

1

3

3

2

5

2

3

3

6

3

3

1

a)

(166)

Nodo 1

Nodo

H

1

2

3

4

5

6

7

*

H

4

7

8

*

1

4

6

1

2

6

1

2

*

3

1

1

1

4

7

1

3

3

2

5

2

3

3

6

3

3

1

7

8

2

1

a) b)

(167)

Nodo

H

1

2

3

4

5

6

7

*

H

4

7

8

*

1

4

6

1

*

2

6

1

2

*

3

1

1

1

*

4

7

1

3

3

2

*

5

2

3

3

*

6

3

3

1

*

7

8

2

1

Tabla final

a)

b)

(168)

H

1

2 3

4

5 6 7

1

1

1

1

2

(169)

En este problema hay un solo nodo fuente (nodo de entrada) y un solo nodo destino (nodo de salida), y el resto son nodos de transbordo. El problema consiste en encontrar la máxima cantidad de flujo total (petróleo, gas, efectivo, mensajes, tránsito, etc.) en una unidad de tiempo.

La cantidad de flujo por unidad de tiempo en cada arco

está limitada por las restricciones de capacidad.

Este problema se puede representar como una red dirigida y conexa.

(170)

En términos formales, siendo 1 la fuente y n el destino el problema consiste en:

MAX f

f si i = 1

sujeto a si i = n

0 en otro caso

0  xij  uij, para todos (i,j) de la red

xij : flujo por unidad de tiempo por el arco (i,j) uij : capacidad del arco (i,j)

f x

x

j ji j

ij

 

(171)

valor fijo de i, La suma se considera sobre toda j para la cual el arco (i,j) con i fijo, pertenezca a la red. Entonces, será el flujo total que sale del nodo i. En forma semejante, la suma se considera sobre toda j para la cual exista el arco (j,i) en la red, (i fijo). De modo que es el flujo que entra al nodo i

(172)

algoritmo, revisemos el siguiente ejemplo.

6 6

6

2 4

4 3

2

1

6 1

2

3

4

(173)
(174)

No excede la capacidad de ningún arco del camino

Con excepción de los nodos 1 y 6, el flujo en cada nodo debe satisfacer la condición de conservación

1

2

La cantidad máxima que puede fluir desde la fuente a lo largo de un camino es igual a la menor de las capacidades de los arcos de dicho camino

Al asignar un flujo a un arco nos atendremos a las reglas:

1

2

Se reduce la capacidad en la dirección del flujo (cantidad de flujo)

(175)

Asignar dos unidades a este arco: Aplicando las reglas 1 y 2 se tiene

Se generó una capacidad ficticia en la dirección 2-1

Enviar una unidad de 2 a 1

1 2

(2 )

2 2

1 4 0 2

1 2

(1 )

(176)

Inicializar cada nodo del grafo con capacidades uij en la dirección del flujo y cero en la dirección opuesta.

Encontrar cualquier camino de la fuente a destino que tenga capacidad de flujo positiva, si no los hay, se habrá encontrado la solución óptima.

Sea cmin la capacidad mínima de flujo entre los arcos seleccionados en el paso 1, se aumenta el flujo existente a través de la red al enviar un flujo adicional

cmin para todos los arcos del camino.

Para todos los arcos del camino, disminúyanse las capacidades en la dirección del flujo y auméntese las capacidades en la dirección opuesta en c . Volver al Inicial

1

2

(177)
(178)

4 0 0 0 0 0 0 0 0 6 4 1 6 2 3 2 6 0 2 3 4 5 6 1

cmin = MIN(6,4,2)=2; actualizando la red se tiene

(179)

4 0 0 0 0 0 0 0 0 6 4 1 2 2 3 2 2 0 2 3 4 5 6 1 4 2 0 2 2 6

cmin = MIN(4,6,6)=4; actualizando la red se tiene

(180)

4 0 0 0 0 2 0 0 6 1 0 2 1 2 0 0 2 3 4 5 6 1 2 0 2 2 8

cmin = MIN(4,3,2,2)=2; actualizando la red se tiene

(181)

Se determina comparando la capacidad inicial de cada arco con la capacidad inicial. Para cada arco la regla es:

Si la capacidad final es menor que la capacidad inicial, calcular la diferencia. Esta es la cantidad del flujo a través del arco.

Ejemplo: Arco 3-5

Inicial

Final 3 2 2 5

0 4

(182)

6 6

6

2 4

2 8

2

8

4 1

2

3

4

(183)

Administración de Proyectos

Figure

Tabla Inicial Destinos Origen 1 2 3 4 n Ofertas 1 C 11 C 12 C 13 C 14 .... C 1n 2 C 21 C 22 C 23 C 24 ...
Tabla Inicial del Ejemplo Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 500 2 6 4 10 11 700 3 10 9 12 4 800 Demanda 400 900 200 500 2000
Tabla Inicial Nodos 1 2 3 1 0 8 5 2 3 0 inf 3 inf 2 0 0 A ij

Referencias

Documento similar