Flujo Maximo
September 13, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Flujo Maximo...
Description
Optimización y Programación Lineal Programación Lineal: Flujo Máximo Departamento de Matemáticas
ITESM
Programación Lineal: Flujo Máximo
TC3001 p. 1/8
Red de Transporte Una Red de Transporte es Una Red Transporte es un grafo dirigido con peso (V , E , c) c) donde hay dos vértices distinguidos: uno llamado fuente llamado fuente s y otro llamado sumidero llamado sumidero t. Se asume que todo vértice del grafo v ∈ V
está en un camino s v t. El peso de cada lado debe ser no negativo y se considera la considera la capacidad del capacidad del lado. Si e ∈ / E , c(e) = 0. 16 s
12
v1 4
v2
20 t
7
10 9
13
4
v4
14
v3
Red de Transporte Un Flujo Ejemplo El problema Max Flow LP Max Flow en LINGO ´ 1 Aplicacion
Programación Lineal: Flujo Máximo
TC3001 p. 2/8
Flujo en una Red Un flujo f en Un flujo en una red de transporte (V , E , c) c) es una asignación a cada lado de la red e ∈ E de de un valor numérico f f ((e) que satisface: 1. Rest Restricció ricción n de capacidad capacidad:: ∀e ∈ E :
Max Flow en LINGO ´ 1 Aplicacion
0 ≤ f f ((e) ≤ c(e) 2. Cons Conservac ervación ión del flujo: flujo: ∀v ∈ V − {s, t}:
f ((x, v ) = f
(x,v)∈E
f ((v, y ) f
(v,y )∈E
Esto es para cualquier nodo v , diferente de s y de t, el flujo total que llega al nodo v es igual flujo igual flujo total que sale de v . El valor El valor del flujo f se se define como:
|f | =
(s,v )∈E
Esto es, el flujo total que sale de s.
f ((s, v ) f
Red de Transporte Un Flujo Ejemplo El problema Max Flow LP
Programación Lineal: Flujo Máximo
TC3001 p. 3/8
Ejemplo de un flujo en una red Cada lado tiene dos valores asignados, una alternativa es una fracción simulada: el número en el numerador representa el flujo el flujo en el lado; lado; el valor en el denominador representa la capacidad la capacidad del lado. lado.
s
12 / 12 12
v1
11 / 16 16
1 / 4
v2
0 / 10 10
t
4 / 9 8 / 13 13
4 / 4
v4
v3 11 / 14 14
Aquí |f | = 19.
Max Flow en LINGO ´ 1 Aplicacion
15 / 20 20
7 / 7
Red de Transporte Un Flujo Ejemplo El problema Max Flow LP
Programación Lineal: Flujo Máximo
TC3001 p. 4/8
El problema Dada una red de transporte (V , E , c) c) encontrar un flujo f con máximo valor |f |.
La formulación como LP es directa: Para cada lado e ∈ E se se tiene una variable de decisión xe que representa el flujo en el lado e con restricciones 0 ≤ xe ≤ c(e). Objetivo:
Max z =
xe
e ∈ E e = (s, v ) Sujeto a para cada vértice v diferente de s y de t:
e=(x,v)∈E
xe =
e′ =(v,y )∈E
xe
′
Red de Transporte Un Flujo Ejemplo El problema Max Flow LP Max Flow en LINGO ´ 1 Aplicacion
Programación Lineal: Flujo Máximo
TC3001 p. 5/8
c(e3 ) v1 c(e1 )
= 12
v2
= 16
c(e4 ) c(e10 10) )
s = x6
c(e9 )
= 10
= 4
c(e5 )
c(e8 ) c(e2 )
= 20
=9
= 13 v4
v3 c(e7 )
t = x5
= 7
c(e6 )
= 4
= 14
0 ≤ x61 ≤ 16 0 ≤ x64 ≤ 13 Max z = x61 + x64
0 ≤ x12 ≤ 12
Sujeto a
0 ≤ x25 ≤ 20
x61 + x41 = x12 + x14
0 ≤ x32 ≤ 7
x64 + x14 + x24 = x41 + x43
0 ≤ x35 ≤ 4
x12 + x32 = x24 + x25 x43 = x32 + x35
0 ≤ x43 ≤ 14 0 ≤ x24 ≤ 9 0 ≤ x41 ≤ 4 0 ≤ x14 ≤ 10
Red de Transporte Un Flujo Ejemplo El problema Max Flow LP Max Flow en LINGO ´ 1 Aplicacion
Programación Lineal: Flujo Máximo
TC3001 p. 6/8
Codificación en LINGO c(e3 ) v1 c(e1 )
= 12
v2
= 16
c(e4 ) c(e10 )
s = x6
c(e9 )
= 10
= 4
c(e)
c(e8 ) c(e2 )
c(e5 )
= M
=9
v4
v3
MODEL: c(e7 )
NODES/1..6/; ARCS(NODES,NODES)/
= 14
DATA:
C=16,13,12,10,9,20,7,4,4,14,1000 C=16,13,12,10,9,20,7,4,4,14, 1000;;
6,2
ENDDATA
6,4
MAX=X(5,6) X(5,6);;
1,2
@FOR(ARCS(I,J):
1,4
X(I,J)
View more...
Comments