Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes...

17
UPC UPC Sesión de teoría. Modelos de flujos sobre redes. Sesión de laboratorio.

Transcript of Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes...

Page 1: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

U P C I.O.E. Diplomatura de Estadística U P C

• Sesión de teoría. Modelos de flujos sobre redes.• Sesión de laboratorio.

Page 2: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

U P C I.O.E. Diplomatura de Estadística U P C

2

3 5

4 6

1 1

8 7

9

10

3 6

4 2 5

10

15

12

13

FLUJOS SOBRE REDES

i

+1

j

-1

MATRIZ DE INCIDENCIAS AVECTOR DEFLUJOS x

INYECCIONESb

Page 3: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

U P C I.O.E. Diplomatura de Estadística U P C

=

CASO EQUILIBRADO

Page 4: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

2

3 5

4 6

1 1

8

7

9

10

3 6

4 2 5

10

15

12

13

EN LA MATRIZ A HAY UNA FILAREDUNDANTE:

• LAS BASES SON DE (m-1)×(m-1)

• Deben escogerse m-1 arcospara formar la matriz base B;

• Debe eliminarse una filacualquiera.

PROCEDIMIENTO:A) Construir sobre el grafo no direccional asociado unárbol de recubrimiento.B) Los arcos de la red correspondientes al árbol derecubrimiento forman una base B de A.

A x = b, x≥0

BASES DEL PROBLEMA DE COSTE MÍNIMO

Page 5: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

2

3 5

4 6

1

A) CONSTRUCCIÓN DEL GRAFO NO DIRECCIONAL Y DELÁRBOL DE RECUBRIMIENTO.

ÁRBOL DE RECUBRIMIENTO: m-1 arcos; Sin ciclos; Tomar un nodo como raíz

2

3 5

4 6

1 2

3 5

4 6

1 2

3 5

4 6

1

SI SI NO

2

3 5

4 6

1 1

8 7

9

10

3 6

4 2 5

Page 6: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

2

3 5

4 6

1 2

3 5

4 6

1 1

8 7

9

10

3 6

4 2 5

10

15

12

13

Page 7: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

2

3 5

4 6

1

6

2

1

3

5

4

6

2

1

3

5

4

BASE NOFACTIBLE

6

2

1

3

5

4

6

2

1

3

5

4

10

10

10

10

12-2

13

10

-13

-13

-15-15

10

13

13

0

13

10

12

2

3 5

4 6

1 1

8 7

9

10

3 6

4 2 5

10

15

12

13

tresteve
Cálculo de las v. básicas. Soluciones enteras
Page 8: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

2

3 5

4 6

1

BASEFACTIBLE

λi = - Coste unitario raíz → i

2

3 5

4 6

1 1

8 7

9

10

3 6

4 2 5

10

15

12

13

Page 9: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

U P C I.O.E. Diplomatura de Estadística U P C

=

CASO EQUILIBRADO

Page 10: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

LENGUAJE AMPL: DECLARACIONES NODE, ARC

set CIUDADES;set ARCOS within (CIUDADES cross CIUDADES);

param oferta {CIUDADES} >= 0; # inyeccionesparam demanda {CIUDADES} >= 0; # extracciones

check: sum {i in CIUDADES} oferta[i] = sum {j in CIUDADES} demanda[j];param coste {ARCOS} >= 0; # costes de transp.

minimize Total_Coste;

node Nodo {k in CIUDADES}: net_in=demanda[k]-oferta[k];

arc enlace {(i,j) in ARCOS} >= 0, from Nodo[i], to Nodo[j], obj Total_Coste coste[i,j];

Page 11: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

REDES MULTIARTÍCULO

2

3 5

4 6

1 1

8 7

9

10

3 6

4 2 5

10

10

2

3 5

4 6

1 1

8 7

9

10

3 6

4 2 5

15

12

3

Page 12: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

U P C I.O.E. Diplomatura de Estadística U P C I.O.D. Diplomatura de Estadística

2

3 5

4 6

1 1

8 7

9

10

3 6

4 2 5

10

10

2

3 5

4 6

1 1

8 7

9

10

3 6

4 2 5

15

12

3

=

2

3 5

4 6

1 1

8 7

9

10

3 6

4 2 5

10

15

12

13

tresteve
Coste unitario de todos los arcos = 1
Page 13: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

U P C I.O.E. Diplomatura de Estadística U P C

2

3 5

4 6

1 12

12

3

15

12

3

2

3 5

4 6

1 10

10

10

10

10 2

3 5

4 6

1 12

2

13

10

15

12

13

=

tresteve
Coste unitario de todos los arcos = 1
tresteve
10
tresteve
tresteve
tresteve
tresteve
Page 14: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

set CIUDADES;set ARCOS within (CIUDADES cross CIUDADES);set PRODS;param OFERTA {CIUDADES,PRODS} >= 0;param DEMANDA {CIUDADES,PRODS} >= 0; check {p in PRODS}:sum {i in CIUDADES} OFERTA[i,p]=sum{j inCIUDADES}DEMANDA[j,p];

param coste {ARCOS,PRODS} >= 0;param CAP_CONJ {ARCOS} >= 0;minimize Total_Coste;

node Nodo {k in CIUDADES, p in PRODS}: net_in = DEMANDA[k,p] - OFERTA[k,p];

arc ENLACE {(i,j) in ARCOS, p in PRODS} >= 0, from Nodo[i,p], to Nodo[j,p], obj Total_Coste coste[i,j,p];

subject to Multi {(i,j) in ARCOS}: sum {p in PRODS} ENLACE[i,j,p] <= CAP_CONJ[i,j];

tresteve
subject to Multi {(i,j) in ARCOS}: sum {p in PRODS} ENLACE[i,j,p] <= CAP_CONJ[i,j];
Page 15: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

Artículo 1: 400 unidades de 1 a 2Artículo 2: 400 unidades de 3 a 4

Page 16: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

Para el problema de flujos sobre redes multiartículo quedescribe el código AMPL siguiente:

• Formula el problema utilizando la matriz de incidenciasnodos-arcos que contine el fichero de parámetros.

• Resuelve el problema y dibuja su solución.• Suponiendo que hay un único artículo con demanda de 400

unidades en los nodos 2 y 4 respectivamente y oferta de 400en cada nodo 1 y 3, escribe el fichero de parámetros y utilizael modelo AMPL visto en clase para hallar la solución.

Page 17: Sesión de teoría. Modelos de flujos sobre redes. …Para el problema de flujos sobre redes multiartículo que describe el código AMPL siguiente: • Formula el problema utilizando

set nusos;set centr within nusos;set links within ( nusos cross nusos );set origens within centr;set destins within centr;set odpair within ( origens cross destins );set destperorig { i in origens } := setof { (i1, j1) in odpair : i = i1 } j1;param g{odpair} >0;param t0{links};param Tdreta { i in nusos, k in origens }:= if i in destperorig[k] then -1.0*g[k, i]

else if i = k then sum {j in destperorig[k]} g[k, j] else 0;

node N {i in nusos, k in origens}: net_out = Tdreta[i, k];arc v_k { (i, j) in links, k in origens } >= 0, from N[i, k], to N[j, k] ;

var v { (i, j) in links };

subject to flux_total { (i, j) in links }: v[i, j] = sum { k in origens } v_k[i, j, k];

minimize Vg: sum { (i, j) in links } v[i, j]*t0[i, j];