Вы находитесь на странице: 1из 13

JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

CODIGO GAMS

$title PROBLEMA DE FLUJO EN REDES, LA CARRETERA

Compilation

2 ** En primer lugar se declaran los conjuntos:

3 ** El conjunto I tiene 4 elementos.

4 ** El subconjunto CONEX depende del conjunto I.

5 ** El subconjunto CONEX define las conexiones validas entre los nudos I.

6 SET

7 I conjunto de nudos en la red /I1*I7/

8 CONEX(I,I) conjunto de conexiones de nudos

9 /I1.I2,I1.I7,I2.I3,I3.I4,I4.I5,I5.I6,I6.I7/;

10 ** El conjunto de nudos I se duplica para hacer referencias

11 ** a distintos elementos del mismo dentro de la misma restriccion.

12 ALIAS(I,J)

13 ** Los vectores para almacenar los datos de entrada se declaran como param

etros.
JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

14 ** Se asignan los datos a estos vectores.

15 ** FUNMAX(I,J) es una matriz de datos, declarada como un parámetro,

16 ** cuyos elementos toman el valor 4.Esta es una forma compacta

17 ** de declarar una matriz (no es necesario usar el comando TABLE).

18 PARAMETERS

19 F(I) flujo de entrada y salida en el nudo I

20 /I1 200

21 I2 -300

22 I3 -150

23 I4 300

24 I5 -100

25 I6 200

26 I7 -150/

27 FUNMAX(I,J) capacidad maxima de la conexion entre I y J;

28 FUNMAX(I,J)=300;

29 ** Se declaran las variables de optimización.

30 VARIABLES

31 z valor de la función objetivo

32 x(I,J) flujo que sale desde el nudo I hacia J;

33 ** El limite superior de las variables de optimización es

34 ** la capacidad máxima de las conexiones.

35 x.lo(I,J)=-FUNMAX(I,J);

36 x.up(I,J)=FUNMAX(I,J);

37 ** Se declaran las restricciones.

38 EQUATIONS

39 COST función objetivo

40 BALANCE(I) condición de conservación del flujo;

41 ** La función objetivo solo considera los nudos conectados.

42 ** Esto se consigue mediante la expresión condicional $CONEX (I,J).


JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

43 ** Las 4 ecuaciones de BALANCE solo consideran el flujo entre

44 ** nudos conectados y por eso tambien se incluye $CONEX(I,J).

45 COST .. z =E= SUM(CONEX(I,J),x(I,J)) ;

46 BALANCE(I) .. SUM(J$CONEX(I,J),x(I,J))-SUM(J$CONEX(J,I),x(J,I)) =E= F(I) ;

47 ** Los comandos siguientes declaran y definen el modelo flujored,

48 ** incluyendo todas las restricciones declaradas, y solicitan

49 ** a GAMS que resuelva el problema mediante un optimizador lineal.

50 MODEL flujored /ALL/;

51 SOLVE flujored USING lp MINIMIZING z;

ANALISIS DE RESULTADOS:

Sabiendo que la capacidad máxima de flujo es 300 tn, en el anterior cuadro , se presenta
el número de toneladas por nodo que deben desalojarse.
JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

 Nudos positivos fuentes


 Nudos negativos sumideros

1 200
2 -300
3 -150
4 300
5 -100
6 200
7 -150

MODELO
MIN Z ∑𝑛𝐽=1 𝐶𝐽 𝑋𝐽
Sujeto a
𝑛

∑ 𝐴𝐽 𝑋𝐽 ≤ 𝐵
𝐽=1
Donde
𝐶𝐽 : 𝑃𝑒𝑠𝑜 𝑚í𝑛𝑖𝑚𝑜 𝑎 𝑑𝑒𝑠𝑎𝑙𝑜𝑗𝑎𝑟

𝐴𝐽 : 𝑃𝑒𝑠𝑜 𝑑𝑒 𝑐𝑎𝑑𝑎 𝑛𝑢𝑑𝑜

𝐵𝐽 : 𝐶𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 𝑚á𝑥𝑖𝑚𝑎

𝑁 = 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑛𝑜𝑑𝑜𝑠

MODELO EXTENDIDO
FUNCIÓN OPTIMA

COST =E= funcion objetivo

COST.. z - 200*x(I1) + 300*x(I2) + 150*x(I3) - 300*x(I4) + 100*x(I5) - 200*x(I6) + 150*x(I7)


=E= 0 ; (LHS = 0)
JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

RESTRICCIONES

CAPA =L= limita la capacidad de transporte de toneladas

CAPA.. 200*x(I1) - 300*x(I2) - 150*x(I3) + 300*x(I4) - 100*x(I5) + 200*x(I6) - 150*x(I7)


=L= 300 ; (LHS = 0)

𝑀𝑀𝑀 𝑀=200𝑀1−300𝑀2−150𝑀3+300𝑀4−100𝑀5+200𝑀6−150
𝑀7 ≤300
𝑋1, 𝑋2, 𝑋3, 𝑋4, 𝑋5, 𝑋6, 𝑋7 ⋲ 𝐵𝑖𝑛𝑎𝑟𝑖𝑜𝑠
El número de toneladas que debe desalojarse fue distribuido en los diferentes
nodos para que de acuerdo a ellos se dé un mejor resultado.

-En el problema de transporte la finalidad por lo general es minimizar los costos de envío
entre las ciudades es decir, minimizar

Las restricciones del problema por lo tanto son:


JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

CODIGO GAMS

$title PROBLEMA DEL NAVEGANTE SOLITARIO

2 ** esta precisión, el optimizador se detiene encontrando

3 ** una solución de valor de la función objetivo menor que la deseada.

4 OPTION OPTCR=1e-10;

5 SET J conjunto de contenedores /c1*c4/;

6 ** Los vectores de datos A y C se definen como parámetros.

PARAMETERS

8 C(J) beneficio del contenedor J

9 /c1 2

10 c2 4

11 c3 3

12 c4 2/

13 A(J) peso del contenedor J;

14 A(J) = C(J);

15 SCALAR B capacidad máxima del carguero /5/;

16 ** Se declaran las variables de optimización.

17 VARIABLES

18 z valor de la función objetivo

19 x(J) decisión de carga;

20 ** x(J) vale 1 si se carga el contenedor y 0 si no se carga.

21 BINARY VARIABLE x;
JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

22 ** Se declaran las restricciones.

23 EQUATIONS

24 COST función objetivo

25 CAPA limita la capacidad del carguero;

26 ** La función objetivo es la suma de los pesos de los contenedores que se

Cargan.

27 ** Las restricciones CAPA aseguran que el total del peso de la carga no ex ceda

28 ** la capacidad máxima del carguero.

30 COST .. z=E= SUM(J,C(J)*x(J));

31 CAPA .. SUM(J,A(J)* x(J)) =L= B;

32

33 ** Los comandos siguientes declaran y definen el modelo de la mochila,

34 ** incluyendo todas las restricciones declaradas, y solicitan

35 ** a GAMS que resuelva el problema mediante un optimizador entero mixto.

36 MODEL mochila /ALL/;

37 SOLVE mochila USING mip MAXIMIZING z;

ANALISIS DE RESULTADOS:
JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

MODELO
MAX Z = ∑𝑛𝐽=1 𝐶𝐽 𝑋𝐽

Sujeto a
𝑛

∑ 𝐴𝐽 𝑋𝐽 ≤ 𝐵
𝐽=1

Donde,
𝐶𝐽 : 𝑈𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑑𝑒 𝑏𝑒𝑛𝑒𝑓𝑖𝑐𝑖𝑜 𝑑𝑒 𝑐𝑎𝑑𝑎 𝑜𝑏𝑗𝑒𝑡𝑜

𝐴𝐽 : 𝑉𝑜𝑙𝑢𝑚𝑒𝑛 𝑑𝑒 𝑐𝑎𝑑𝑎 𝑜𝑏𝑗𝑒𝑡𝑜

𝐵𝐽 : 𝐶𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 𝑚á𝑥𝑖𝑚𝑎

𝑁 = 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑛𝑜𝑑𝑜𝑠
MODELO EXTENDIDO
𝑀𝑎𝑥 𝑍 = 3𝑋1 + 5𝑋2 + 1𝑋3 + 1𝑋4 ≤ 5
𝑋1, 𝑋2, 𝑋3, 𝑋4 ⋲ 𝐵𝑖𝑛𝑎𝑟𝑖𝑜𝑠
FUNCIÓN ÓPTIMA
COST =E= función objetivo
COST.. z - 3*x(I1) - 5*x(I2) - x(I3) - x(I4) =E= 0 ; (LHS = 0)
JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

RESTRICCIÓN
CAPA =L= limita la capacidad de almacenaje
CAPA.. 2*x(I1) + 4*x(I2) + 3*x(I3) + 2*x(I4) =L= 5 ; (LHS = 0)

A. ¿Cuáles objetos deben llevarse?


El navegante sólo podría llevar dos objetos el objeto A y el objeto C. El beneficio respectivo
es de tres unidades + una unidad = cuatro unidades

B. ¿Qué ocurriría si la capacidad del barco fuese respectivamente de 4?


El navegante lleva 2 objetos el Objeto A y el Objeto B. El beneficio es de 3 unidades + 1
unidad = 4 unidades, el beneficio es igual a los dos objetos anteriores A,C.

C. ¿Qué ocurriría si la capacidad del barco fuese respectivamente de 3?


El navegante lleva un sólo objeto, el Objeto C y su beneficio es de 1 unidad.
JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

D. ¿Qué ocurriría si la capacidad del barco fuese respectivamente de 2?


El navegante solo lleva un objeto de las dos opciones disponibles, el objeto A y el
objeto D. El beneficio mayor es del objeto A de tres unidades, mientras que el objeto
D es de una unidad.

3. Un camión puede transportar un total de 10 toneladas de productos. Hay tres clases de


productos para transportar, cuyo peso y valor se muestran en la siguiente tabla.
Suponiendo que por lo menos se debe transportar un artículo en cada clase, determinar el
cargamento que maximiza el valor total.

CODIGO GAMS

$title PROBLEMA DEL CAMION DE TRANSPORTE


JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

Compilation

2 * esta precisión, el optimizador se detiene encontrando

3 ** una solución de valor de la función objetivo menor que la deseada.

4 OPTION OPTCR=1e-10;

5 SET J conjunto de contenedores /p1*p3/;

6 ** Los vectores de datos A y C se definen como parámetros.

7 PARAMETERS

8 C(J) beneficio del producto en miles de Euros J

9 /p1 2

10 p2 5

11 p3 6/

12 A(J) peso del producto J

13 /p1 1

14 p2 2

15 p3 2/;

16 SCALAR B capacidad máxima del camión /10/;

17 ** Se declaran las variables de optimización.

18 VARIABLES

19 z valor de la función objetivo

20 x(J) decisión de carga;

21 ** x(J) vale 1 si se carga el contenedor y 0 si no se carga.

22 BINARY VARIABLE x;

23 ** Se declaran las restricciones.

EQUATIONS

25 COST función objetivo

26 CAPA limita la capacidad del carguero;

27 ** La función objetivo es la suma de los pesos de los contenedores que se cargan.

28 ** Las restricciones CAPA aseguran que el total del peso de la carga no exceda

29 ** la capacidad máxima del carguero.


JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

31 COST .. z=E= SUM(J,C(J)*x(J));

32 CAPA .. SUM(J,A(J)* x(J)) =L= B;

34 ** Los comandos siguientes declaran y definen el modelo de la mochila,

35 ** incluyendo todas las restricciones declaradas, y solicitan

36 ** a GAMS que resuelva el problema mediante un optimizador entero mixto.

37 MODEL mochila /ALL/;

38 SOLVE mochila USING mip MAXIMIZING z;

MODELO
MAX Z = ∑𝑛𝐽=1 𝐶𝐽 𝑋𝐽

Sujeto a
𝑛

∑ 𝐴𝐽 𝑋𝐽 ≤ 𝐵
𝐽=1

Donde,
𝐶𝐽 : 𝑈𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑑𝑒 𝑏𝑒𝑛𝑒𝑓𝑖𝑐𝑖𝑜 𝑑𝑒 𝑐𝑎𝑑𝑎 𝑜𝑏𝑗𝑒𝑡𝑜

𝐴𝐽 : 𝑉𝑜𝑙𝑢𝑚𝑒𝑛 𝑑𝑒 𝑐𝑎𝑑𝑎 𝑜𝑏𝑗𝑒𝑡𝑜

𝐵𝐽 : 𝐶𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 𝑚á𝑥𝑖𝑚𝑎

𝑁 = 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑛𝑜𝑑𝑜𝑠
MODELO EXTENDIDO
𝑀𝑎𝑥 𝑍 = 2𝑋1 + 5𝑋2 + 6𝑋3 ≤ 6
𝑋1, 𝑋2, 𝑋3, ⋲ 𝐵𝑖𝑛𝑎𝑟𝑖𝑜𝑠
FUNCIÓN ÓPTIMA
COST =E= funcion objetivo
COST.. z - 2*x(I1) - 5*x(I2) - 6*x(I3) =E= 0 ; (LHS = 0)

RESTRICCIÓN
CAPA =L= limita la capacidad de transporte
CAPA.. x(I1) + 2*x(I2) + 2*x(I3) =L= 10 ; (LHS = 0)
JUAN SEBASTIAN JIMENEZ SANTA: COD: 539169

RESULTADO EN GAMS

Se transporta un producto de cada clase teniendo en cuenta la restricción entre el costo y


el peso de cada uno y también teniendo en cuenta la capacidad del camión que es un
total de 10 toneladas de productos.

Вам также может понравиться