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.

Upload: others

Post on 04-Apr-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

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];