Vous êtes sur la page 1sur 19

CASO NRO 1.

MODELO DE PROGRAMACION LINEAL


1. Considrese un problema de mezcla de produccin, se tiene 4 productos,
cada unidad de producto requiere de mezcla de produccin en cada una de
las 3 mquinas, y cada mquina tiene disponible cierto nmero de horas a
la semana. Y cada producto proporciona cierta ganancia por unidad
producida, en la siguiente tabla se proporciona datos, relacionado con las
maquinas, con los productos y los costos de cada mquina y producto.

Solucin en LINGO 13.0
Cdigo de LINGO para el siguiente problema:
! FUNCION OBJETIVO;
max = 26*x1 + 35*x2 + 25*x3 + 37*x4;
! RESTRICCIONES DE DISPONIBILIDAD HORAS;

[BOBINADORA] 1.7*x1 + 2.1*x2 + 1.4*x3 + 2.4*x4 <= 28;
[CORTADORA] 1.1*x1 + 2.5*x2 + 1.7*x3 + 2.6*x4 <= 34;
[SOLDADORA] 1.6*x1 + 1.3*x2 + 1.6*x3 + 0.8*x4 <= 21;
En el LINGO una vez ejecutada el SOLVE STATUS obtendremos esto resultados:







TIEMPO DE PRODUCCION PORUNIDAD, HORAS

MAQUINA

PRODUCTO(J)
TIEMPO DE
PRODUCCION
DISPONIBLE(hrs)
PO1 PO2 PO3 PO4
Bobinadora() 1.7 2.1 1.4 2.4 28
Cortadora 1.1 2.5 1.7 2.6 34
Soldadora 1.6 1.3 1.6 0.8 21
Ganancia/Unidad 26 35 25 37


Y por resultados tendremos lo siguiente:

Global optimal solution found.

Objective value: 475.0000
Infeasibilities: 0.000000
Total solver iterations: 3

Model Class: LP

Total variables: 4
Nonlinear variables: 0
Integer variables: 0

Total constraints: 4
Nonlinear constraints: 0

Total nonzeros: 16
Nonlinear nonzeros: 0


Variable Value Reduced Cost
X1 0.000000 3.577922
X2 10.00000 0.000000
X3 5.000000 0.000000
X4 0.000000 1.441558

Row Slack or Surplus Dual Price

1 475.0000 1.000000

BOBINADORA 0.000000 15.25974
CORTADORA 0.5000000 0.000000
SOLDADORA 0.000000 2.272727


CASO PRACTICO: MODELO DE TRANSPORTE
2. La compaa Mega Transporte (MT) tiene 6 depsitos que proveen a 8
vendedores. Cada deposito puede proveer una cantidad de materiales que
no puede ser excedida, y cada vendedor tiene una demanda que debe ser
satisfecha. MT quiere determinar cunto material enviar de cada depsito
a cada vendedor para minimizar el coste.
Este es un problema clsico de optimizacin llamado el
problema del transporte. El siguiente diagrama ilustra el
problema:






Puesto que cada depsito puede enviar a cada vendedor, hay un total de 48
caminos o arcos de envo posibles, se necesitar 1 variable para cada uno de
estos arcos que representen la cantidad enviada. Estn disponibles los siguientes
datos:



Coste de envo por unidad (euros):
V1 V2 V3 V4 V5 V6 V7 V8
DP1 6 2 6 7 4 2 5 9
DP2 4 9 5 3 8 5 8 2
DP3 5 2 1 9 7 4 3 3
DP4 7 6 7 3 9 2 7 1
DP5 2 3 9 5 7 2 6 5
DP6 5 5 2 2 8 1 4 3

Depsito (DP) Capacidad
1 60
2 55
3 51
4 43
5 41
6 52
VENDEDOR (V) V1 V2 V3 V4 V5 V6 V7 V8
DEMANDA 35 37 22 32 41 32 43 38

Solucin en LINGO 13.0
Cdigo de LINGO para los problemas de trasporte:
MODEL:
SETS:
DEPOSITOS /DP1 DP2 DP3 DP4 DP5 DP6/ : CAPACIDAD;
VENDEDORES /V1 V2 V3 V4 V5 V6 V7 V8/ : DEMANDA;
ARCO_ENVIO(DEPOSITOS , VENDEDORES) : COSTE , CANTIDAD;
ENDSETS
!EL OBJETIVO;
[OBJETIVO] MIN = @SUM(ARCO_ENVIO(I,J):
COSTE(I,J)*CANTIDAD(I,J));

!RESTRICCION DE DEMANDA;
@FOR (VENDEDORES(J) :
[R_DEMANDA] @SUM( DEPOSITOS(I) : CANTIDAD(I,J)) = DEMANDA(J));

!RESTRICCION DE LA CAPACIDAD;
@FOR (DEPOSITOS(I) :
[R_CAPACIDAD] @SUM( VENDEDORES(J) : CANTIDAD(I,J)) <=
CAPACIDAD(I));

!LOS DATOS;
DATA:
CAPACIDAD = 60 55 51 43 41 52;
DEMANDA = 35 37 22 32 41 32 43 38;
COSTE = 6 2 6 7 4 2 5 9
4 9 5 3 8 5 8 2
5 2 1 9 7 4 3 3
7 6 7 3 9 2 7 1
2 3 9 5 7 2 6 5
5 5 2 2 8 1 4 3;
ENDDATA
END



En el LINGO una vez ejecutada el SOLVE STATUS obtendremos esto resultados:













Y por resultados tendremos lo siguiente:

Global optimal solution found.
Objective value: 664.0000
Infeasibilities: 0.000000
Total solver iterations: 15

Model Class: LP

Total variables: 48
Nonlinear variables: 0
Integer variables: 0

Total constraints: 15
Nonlinear constraints: 0

Total nonzeros: 144
Nonlinear nonzeros: 0






Variable Value Reduced Cost
CAPACIDAD( DP1) 60.00000 0.000000
CAPACIDAD( DP2) 55.00000 0.000000
CAPACIDAD( DP3) 51.00000 0.000000
CAPACIDAD( DP4) 43.00000 0.000000
CAPACIDAD( DP5) 41.00000 0.000000
CAPACIDAD( DP6) 52.00000 0.000000
DEMANDA( V1) 35.00000 0.000000
DEMANDA( V2) 37.00000 0.000000
DEMANDA( V3) 22.00000 0.000000
DEMANDA( V4) 32.00000 0.000000
DEMANDA( V5) 41.00000 0.000000
DEMANDA( V6) 32.00000 0.000000
DEMANDA( V7) 43.00000 0.000000
DEMANDA( V8) 38.00000 0.000000
COSTE( DP1, V1) 6.000000 0.000000
COSTE( DP1, V2) 2.000000 0.000000
COSTE( DP1, V3) 6.000000 0.000000
COSTE( DP1, V4) 7.000000 0.000000
COSTE( DP1, V5) 4.000000 0.000000
COSTE( DP1, V6) 2.000000 0.000000
COSTE( DP1, V7) 5.000000 0.000000
COSTE( DP1, V8) 9.000000 0.000000
COSTE( DP2, V1) 4.000000 0.000000
COSTE( DP2, V2) 9.000000 0.000000
COSTE( DP2, V3) 5.000000 0.000000
COSTE( DP2, V4) 3.000000 0.000000
COSTE( DP2, V5) 8.000000 0.000000
COSTE( DP2, V6) 5.000000 0.000000
COSTE( DP2, V7) 8.000000 0.000000
COSTE( DP2, V8) 2.000000 0.000000
COSTE( DP3, V1) 5.000000 0.000000
COSTE( DP3, V2) 2.000000 0.000000
COSTE( DP3, V3) 1.000000 0.000000
COSTE( DP3, V4) 9.000000 0.000000
COSTE( DP3, V5) 7.000000 0.000000
COSTE( DP3, V6) 4.000000 0.000000
COSTE( DP3, V7) 3.000000 0.000000
COSTE( DP3, V8) 3.000000 0.000000
COSTE( DP4, V1) 7.000000 0.000000
COSTE( DP4, V2) 6.000000 0.000000
COSTE( DP4, V3) 7.000000 0.000000
COSTE( DP4, V4) 3.000000 0.000000

COSTE( DP4, V5) 9.000000 0.000000
COSTE( DP4, V6) 2.000000 0.000000
COSTE( DP4, V7) 7.000000 0.000000
COSTE( DP4, V8) 1.000000 0.000000
COSTE( DP5, V1) 2.000000 0.000000
COSTE( DP5, V2) 3.000000 0.000000
COSTE( DP5, V3) 9.000000 0.000000
COSTE( DP5, V4) 5.000000 0.000000
COSTE( DP5, V5) 7.000000 0.000000
COSTE( DP5, V6) 2.000000 0.000000
COSTE( DP5, V7) 6.000000 0.000000
COSTE( DP5, V8) 5.000000 0.000000
COSTE( DP6, V1) 5.000000 0.000000
COSTE( DP6, V2) 5.000000 0.000000
COSTE( DP6, V3) 2.000000 0.000000
COSTE( DP6, V4) 2.000000 0.000000
COSTE( DP6, V5) 8.000000 0.000000
COSTE( DP6, V6) 1.000000 0.000000
COSTE( DP6, V7) 4.000000 0.000000
COSTE( DP6, V8) 3.000000 0.000000
CANTIDAD( DP1, V1) 0.000000 5.000000
CANTIDAD( DP1, V2) 19.00000 0.000000
CANTIDAD( DP1, V3) 0.000000 5.000000
CANTIDAD( DP1, V4) 0.000000 7.000000
CANTIDAD( DP1, V5) 41.00000 0.000000
CANTIDAD( DP1, V6) 0.000000 2.000000
CANTIDAD( DP1, V7) 0.000000 2.000000
CANTIDAD( DP1, V8) 0.000000 10.00000
CANTIDAD( DP2, V1) 1.000000 0.000000
CANTIDAD( DP2, V2) 0.000000 4.000000
CANTIDAD( DP2, V3) 0.000000 1.000000
CANTIDAD( DP2, V4) 32.00000 0.000000
CANTIDAD( DP2, V5) 0.000000 1.000000
CANTIDAD( DP2, V6) 0.000000 2.000000
CANTIDAD( DP2, V7) 0.000000 2.000000
CANTIDAD( DP2, V8) 0.000000 0.000000
CANTIDAD( DP3, V1) 0.000000 4.000000
CANTIDAD( DP3, V2) 11.00000 0.000000
CANTIDAD( DP3, V3) 0.000000 0.000000
CANTIDAD( DP3, V4) 0.000000 9.000000
CANTIDAD( DP3, V5) 0.000000 3.000000
CANTIDAD( DP3, V6) 0.000000 4.000000
CANTIDAD( DP3, V7) 40.00000 0.000000
CANTIDAD( DP3, V8) 0.000000 4.000000
CANTIDAD( DP4, V1) 0.000000 4.000000
CANTIDAD( DP4, V2) 0.000000 2.000000
CANTIDAD( DP4, V3) 0.000000 4.000000

CANTIDAD( DP4, V4) 0.000000 1.000000
CANTIDAD( DP4, V5) 0.000000 3.000000
CANTIDAD( DP4, V6) 5.000000 0.000000
CANTIDAD( DP4, V7) 0.000000 2.000000
CANTIDAD( DP4, V8) 38.00000 0.000000
CANTIDAD( DP5, V1) 34.00000 0.000000
CANTIDAD( DP5, V2) 7.000000 0.000000
CANTIDAD( DP5, V3) 0.000000 7.000000
CANTIDAD( DP5, V4) 0.000000 4.000000
CANTIDAD( DP5, V5) 0.000000 2.000000
CANTIDAD( DP5, V6) 0.000000 1.000000
CANTIDAD( DP5, V7) 0.000000 2.000000
CANTIDAD( DP5, V8) 0.000000 5.000000
CANTIDAD( DP6, V1) 0.000000 3.000000
CANTIDAD( DP6, V2) 0.000000 2.000000
CANTIDAD( DP6, V3) 22.00000 0.000000
CANTIDAD( DP6, V4) 0.000000 1.000000
CANTIDAD( DP6, V5) 0.000000 3.000000
CANTIDAD( DP6, V6) 27.00000 0.000000
CANTIDAD( DP6, V7) 3.000000 0.000000
CANTIDAD( DP6, V8) 0.000000 3.000000



Row Slack or Surplus Dual Price
OBJETIVO 664.0000 -1.000000
R_DEMANDA( V1) 0.000000 -4.000000
R_DEMANDA( V2) 0.000000 -5.000000
R_DEMANDA( V3) 0.000000 -4.000000
R_DEMANDA( V4) 0.000000 -3.000000
R_DEMANDA( V5) 0.000000 -7.000000
R_DEMANDA( V6) 0.000000 -3.000000
R_DEMANDA( V7) 0.000000 -6.000000
R_DEMANDA( V8) 0.000000 -2.000000
R_CAPACIDAD( DP1) 0.000000 3.000000
R_CAPACIDAD( DP2) 22.00000 0.000000
R_CAPACIDAD( DP3) 0.000000 3.000000
R_CAPACIDAD( DP4) 0.000000 1.000000
R_CAPACIDAD( DP5) 0.000000 2.000000
R_CAPACIDAD( DP6) 0.000000 2.000000






PRACTICA 2. MODELADO CON LINGO 9.0 : Conexin con BD XLS, Acces, SQL ,Oracle

PROBLEMA DE ASIGNACION
1. Una empresa tiene un contrato para el desarrollo de un software compuesto
de 4 mdulos, para lo cual dispone de 4 programadores, se desea que cada
mdulo sea desarrollado por un solo programador y que cada programador
desarrolle un solo mdulo. Debido a los diferentes grados de dificultad de
los mdulos y a las diferencias individuales de los programadores, adems
el programador B no tiene experiencia en programar el mdulo 4
correspondiente a procedimientos almacenados en el nivel de datos, el
tiempo (en das) que ellos emplean es diferente y se da en la siguiente
tabla:
Programador
A
Programador
B
Programador
C
Programador
D
Modulo1 24 10 21 11
Modulo2 14 22 10 15
Modulo3 15 17 20 19
Modulo4 11 - 14 13
a) Determine la asignacin ptima de modo de minimizar el tiempo
total (4pts.)
b) Para cundo debe comprometerse a entregar el trabajo (1pt.)
Solucin en LINGO 13.0
MODEL:
TITLE Modelo Asignacion;
! MODELO DE ASIGNACION;

SETS:
Personas:;
Tarea:;
ENLACE( Personas, Tarea): Cost, X;
ENDSETS
DATA:
Personas= @ODBC( 'Chavez','personas','nombre');
Tarea= @ODBC( 'Chavez','modulo','modulos');
Cost= @ODBC( 'Chavez','horas','costo');
ENDDATA

MIN = @SUM( ENLACE: Cost * X);
@FOR( Tarea( k):
[Origen] @SUM( Personas( i): X( i, k)) = 1;
[Destino] @SUM( Tarea( j): X( k,j)) = 1;
);
END



Global optimal solution found.
Objective value: 48.00000
Total solver iterations: 5


Model Title: Modelo Asignacion


Variable Value Reduced Cost
COST( PROGRAMADOR1, MODULO1) 24.00000 0.000000
COST( PROGRAMADOR1, MODULO2) 10.00000 0.000000
COST( PROGRAMADOR1, MODULO3) 21.00000 0.000000
COST( PROGRAMADOR1, MODULO4) 11.00000 0.000000
COST( PROGRAMADOR2, MODULO1) 14.00000 0.000000
COST( PROGRAMADOR2, MODULO2) 22.00000 0.000000
COST( PROGRAMADOR2, MODULO3) 10.00000 0.000000
COST( PROGRAMADOR2, MODULO4) 15.00000 0.000000
COST( PROGRAMADOR3, MODULO1) 15.00000 0.000000
COST( PROGRAMADOR3, MODULO2) 17.00000 0.000000
COST( PROGRAMADOR3, MODULO3) 20.00000 0.000000
COST( PROGRAMADOR3, MODULO4) 19.00000 0.000000

COST( PROGRAMADOR4, MODULO1) 11.00000 0.000000
COST( PROGRAMADOR4, MODULO2) 9999.000 0.000000
COST( PROGRAMADOR4, MODULO3) 14.00000 0.000000
COST( PROGRAMADOR4, MODULO4) 13.00000 0.000000
X( PROGRAMADOR1, MODULO1) 0.000000 16.00000
X( PROGRAMADOR1, MODULO2) 1.000000 0.000000
X( PROGRAMADOR1, MODULO3) 0.000000 9.000000
X( PROGRAMADOR1, MODULO4) 0.000000 0.000000
X( PROGRAMADOR2, MODULO1) 0.000000 8.000000
X( PROGRAMADOR2, MODULO2) 0.000000 14.00000
X( PROGRAMADOR2, MODULO3) 1.000000 0.000000
X( PROGRAMADOR2, MODULO4) 0.000000 6.000000
X( PROGRAMADOR3, MODULO1) 1.000000 0.000000
X( PROGRAMADOR3, MODULO2) 0.000000 0.000000
X( PROGRAMADOR3, MODULO3) 0.000000 1.000000
X( PROGRAMADOR3, MODULO4) 0.000000 1.000000
X( PROGRAMADOR4, MODULO1) 0.000000 1.000000
X( PROGRAMADOR4, MODULO2) 0.000000 9987.000
X( PROGRAMADOR4, MODULO3) 0.000000 0.000000
X( PROGRAMADOR4, MODULO4) 1.000000 0.000000

Row Slack or Surplus Dual Price

1 48.00000 -1.000000
ORIGEN( MODULO1) 0.000000 -10.00000
DESTINO( MODULO1) 0.000000 2.000000
ORIGEN( MODULO2) 0.000000 -12.00000
DESTINO( MODULO2) 0.000000 4.000000
ORIGEN( MODULO3) 0.000000 -14.00000
DESTINO( MODULO3) 0.000000 -5.000000
ORIGEN( MODULO4) 0.000000 -13.00000
DESTINO( MODULO4) 0.000000 0.000000









TRABAJO (ES OPCIONAL DESARROLLARLO EN FORMA INDIVIDUAL O DE A DOS)

Una empresa tiene un contrato para el desarrollo de un software compuesto de 5
mdulos, para lo cual dispone de 5 programadores, se desea que cada mdulo
sea desarrollado por un solo programador para optimizar recursos. Debido a los
diferentes grados de dificultad de los mdulos y a la experiencia de los
programadores en lenguajes de programacin, el tiempo (en das) que ellos
emplean es diferente y se da en la siguiente tabla:
Programado
r A
Programado
r B
Programado
r C
Programado
r D
Programado
r E
Modulo
1
2 4 4 3 6
Modulo
2
2 6 5 4 6
Modulo
3
5 6 5 3 7
Modulo
4
3 5 7 2 4
Modulo
5
8 5 6 2 1
a) Determine la asignacin ptima de modo de minimizar el tiempo total
b) Para cundo debe comprometerse a entregar el trabajo.

Nota: Entregarlo en un archivo lingo con la base de datos respectiva (SQL;
ORACLE)-, adems investigar y modelar un problema de programacin
lineal, transporte o asignacin de ms de 50 variables de decisin.
Solucin en LINGO 13.0
MODEL :

TITLE MODELO ASIGNACION;

SETS:
PERSONAS:;
TAREAS:;
ENLACE(PERSONAS, TAREAS):COSTO,X;
ENDSETS

DATA:
PERSONAS=
@OLE(F:\IO_II\DATOS_ASIGNACION_PROMOD_5_5.xlsx);!PROGRAMADOR_A
PROGRAMADOR_B PROGRAMADOR_C PROGRAMADOR_D
PROGRAMADOR_E;
TAREAS =
@OLE(F:\IO_II\DATOS_ASIGNACION_PROMOD_5_5.xlsx);!MODULO_1
MODULO_2 MODULO_3 MODULO_4 MODULO_5;
COSTO = @OLE(F:\IO_II\DATOS_ASIGNACION_PROMOD_5_5.xlsx);

!2 4 4 3 6
2 6 5 4 6
5 6 5 3 7
3 5 7 2 4
8 5 6 2 1;

ENDDATA

MIN = @SUM(ENLACE: COSTO * X);
@FOR ( TAREAS (k):
[ORIGEN] @SUM(PERSONAS(i):X(i,k))=1;
[DESTINO] @SUM(TAREAS(j):X (k,j))=1;
);
END

En el LINGO una vez ejecutada el SOLVE STATUS obtendremos esto resultados:



Global optimal solution found.
Objective value: 14.00000
Infeasibilities: 0.000000
Total solver iterations: 8

Model Class: LP

Total variables: 25
Nonlinear variables: 0
Integer variables: 0

Total constraints: 11

Nonlinear constraints: 0

Total nonzeros: 75
Nonlinear nonzeros: 0


Model Title: MODELO ASIGNACION

Variable Value Reduced Cost
COSTO( PROGRAMADOR_A, MODULO_1) 2.000000 0.000000
COSTO( PROGRAMADOR_A, MODULO_2) 4.000000 0.000000
COSTO( PROGRAMADOR_A, MODULO_3) 4.000000 0.000000
COSTO( PROGRAMADOR_A, MODULO_4) 3.000000 0.000000
COSTO( PROGRAMADOR_A, MODULO_5) 6.000000 0.000000
COSTO( PROGRAMADOR_B, MODULO_1) 2.000000 0.000000
COSTO( PROGRAMADOR_B, MODULO_2) 6.000000 0.000000
COSTO( PROGRAMADOR_B, MODULO_3) 5.000000 0.000000
COSTO( PROGRAMADOR_B, MODULO_4) 4.000000 0.000000
COSTO( PROGRAMADOR_B, MODULO_5) 6.000000 0.000000
COSTO( PROGRAMADOR_C, MODULO_1) 5.000000 0.000000
COSTO( PROGRAMADOR_C, MODULO_2) 6.000000 0.000000
COSTO( PROGRAMADOR_C, MODULO_3) 5.000000 0.000000
COSTO( PROGRAMADOR_C, MODULO_4) 3.000000 0.000000
COSTO( PROGRAMADOR_C, MODULO_5) 7.000000 0.000000
COSTO( PROGRAMADOR_D, MODULO_1) 3.000000 0.000000
COSTO( PROGRAMADOR_D, MODULO_2) 5.000000 0.000000
COSTO( PROGRAMADOR_D, MODULO_3) 7.000000 0.000000
COSTO( PROGRAMADOR_D, MODULO_4) 2.000000 0.000000
COSTO( PROGRAMADOR_D, MODULO_5) 4.000000 0.000000
COSTO( PROGRAMADOR_E, MODULO_1) 8.000000 0.000000
COSTO( PROGRAMADOR_E, MODULO_2) 5.000000 0.000000
COSTO( PROGRAMADOR_E, MODULO_3) 6.000000 0.000000
COSTO( PROGRAMADOR_E, MODULO_4) 2.000000 0.000000
COSTO( PROGRAMADOR_E, MODULO_5) 1.000000 0.000000
X( PROGRAMADOR_A, MODULO_1) 0.000000 0.000000
X( PROGRAMADOR_A, MODULO_2) 1.000000 0.000000
X( PROGRAMADOR_A, MODULO_3) 0.000000 0.000000
X( PROGRAMADOR_A, MODULO_4) 0.000000 1.000000
X( PROGRAMADOR_A, MODULO_5) 0.000000 3.000000
X( PROGRAMADOR_B, MODULO_1) 1.000000 0.000000
X( PROGRAMADOR_B, MODULO_2) 0.000000 2.000000
X( PROGRAMADOR_B, MODULO_3) 0.000000 1.000000
X( PROGRAMADOR_B, MODULO_4) 0.000000 2.000000
X( PROGRAMADOR_B, MODULO_5) 0.000000 3.000000
X( PROGRAMADOR_C, MODULO_1) 0.000000 2.000000
X( PROGRAMADOR_C, MODULO_2) 0.000000 1.000000
X( PROGRAMADOR_C, MODULO_3) 1.000000 0.000000

X( PROGRAMADOR_C, MODULO_4) 0.000000 0.000000
X( PROGRAMADOR_C, MODULO_5) 0.000000 3.000000
X( PROGRAMADOR_D, MODULO_1) 0.000000 1.000000
X( PROGRAMADOR_D, MODULO_2) 0.000000 1.000000
X( PROGRAMADOR_D, MODULO_3) 0.000000 3.000000
X( PROGRAMADOR_D, MODULO_4) 1.000000 0.000000
X( PROGRAMADOR_D, MODULO_5) 0.000000 1.000000
X( PROGRAMADOR_E, MODULO_1) 0.000000 8.000000
X( PROGRAMADOR_E, MODULO_2) 0.000000 3.000000
X( PROGRAMADOR_E, MODULO_3) 0.000000 4.000000
X( PROGRAMADOR_E, MODULO_4) 0.000000 2.000000
X( PROGRAMADOR_E, MODULO_5) 1.000000 0.000000

Row Slack or Surplus Dual Price
1 14.00000 -1.000000
ORIGEN( MODULO_1) 0.000000 0.000000
DESTINO( MODULO_1) 0.000000 -2.000000
ORIGEN( MODULO_2) 0.000000 -2.000000
DESTINO( MODULO_2) 0.000000 -2.000000
ORIGEN( MODULO_3) 0.000000 -2.000000
DESTINO( MODULO_3) 0.000000 -3.000000
ORIGEN( MODULO_4) 0.000000 0.000000
DESTINO( MODULO_4) 0.000000 -2.000000
ORIGEN( MODULO_5) 0.000000 -1.000000
DESTINO( MODULO_5) 0.000000 0.000000


















PRACTICA Nro 3: MODELADO CON LINGO 9.0 MODELO DE TRANSPORTE
CASO NRO3
PRACTICA EVALUADA: MODELOS DE TRANSPORTE:
ALGORTIMO REFERENCIAL: Abastecimiento de agua de ros a ciudades (visto
en clases)

ACTIVIDADES:
1. Desarrolle en base a el problema desarrollado, un algoritmo de modelo de transporte,
que cambios supondra, y resolver el problema siguiente.
2. Desarrollar el siguiente problema de transporte mediante lingo. (Con lenguaje
modelado)
3. Realizar la conexin de lingo con una base de datos, que comando dispone Lingo,
puede ser
Access, SQL, Oracle etc. Y aplquelo a un problema con datos externo a lingo.
4. Interprete y Analice resultados
Nota: los ejercicios se presentaran en grupo de 2 como mximo, el plazo de entrega es el
martes 1 de
Octubre noviembre en archivo *.lg4 y comentados.
Corresponde a una evaluacin Practica Taller.
MODEL:
TITLE Abastecimiento de Agua de Rios a Ciudades;

SETS:
Origen: Oferta;!nombres de rios: disponibilidad de recursos;
Destino: Demanda;!nombre de ciudades: disponibilidad requerida;
Enlace(Origen, Destino): Costo, x;!Enlace: costos y cantidad asignada;
ENDSETS

DATA:
Origen= R1 R2 R3 R4;!nombres de rios
origenes:Colombo,Sacren,Calorie,Ficticio(F);
Oferta= @ODBC('Soto','Origen','Ofertas');!datos de disponibilidad de
recursos;

Destino= B1 B2 B3 B4 B5;!nombres ciudades(destino);

Demanda= @ODBC('Soto','Destino','Demanda'); !datos requerimientos de
ciudades;
Costo = @ODBC('Soto','Costos','costo';!datos de costos por unidad
enlazada;
ENDDATA

MIN = @SUM( Enlace: Costo * x);

! Subject to;

@FOR( Origen( i) :
[Cap] @SUM( Destino( j) : x( i, j)) <= Oferta;
);

@FOR( Destino( j) :
[Req] @SUM( Origen( i) : x( i, j)) = Demanda;
);
END
En el LINGO una vez ejecutada el SOLVE STATUS obtendremos esto resultados:

Global optimal solution found.
Objective value: 2460.000
Total solver iterations: 16


Model Title: Abastecimiento de Agua de Rios a Ciudades

Variable Value Reduced Cost
OFERTA( R_COLOMBO) 50.00000 0.000000
OFERTA( R_SACRON) 60.00000 0.000000
OFERTA( R_CALORIE) 50.00000 0.000000
OFERTA( FICTICIO) 50.00000 0.000000
DEMANDA( BERDOO_MIN_) 30.00000 0.000000

DEMANDA( BERDOO_ADIC_) 20.00000 0.000000
DEMANDA( LOS_DEVILS) 70.00000 0.000000
DEMANDA( SAN_GO) 30.00000 0.000000
DEMANDA( HOLLY_GLASS) 60.00000 0.000000
COSTO( R_COLOMBO, BERDOO_MIN_) 16.00000 0.000000
COSTO( R_COLOMBO, BERDOO_ADIC_ 16.00000 0.000000
COSTO( R_COLOMBO, LOS_DEVILS) 13.00000 0.000000
COSTO( R_COLOMBO, SAN_GO) 22.00000 0.000000
COSTO( R_COLOMBO, HOLLY_GLASS) 17.00000 0.000000
COSTO( R_SACRON, BERDOO_MIN_) 14.00000 0.000000
COSTO( R_SACRON, BERDOO_ADIC_) 14.00000 0.000000
COSTO( R_SACRON, LOS_DEVILS) 13.00000 0.000000
COSTO( R_SACRON, SAN_GO) 19.00000 0.000000
COSTO( R_SACRON, HOLLY_GLASS) 15.00000 0.000000
COSTO( R_CALORIE, BERDOO_MIN_) 19.00000 0.000000
COSTO( R_CALORIE, BERDOO_ADIC_ 19.00000 0.000000
COSTO( R_CALORIE, LOS_DEVILS) 20.00000 0.000000
COSTO( R_CALORIE, SAN_GO) 23.00000 0.000000
COSTO( R_CALORIE, HOLLY_GLASS) 999.0000 0.000000
COSTO( FICTICIO, BERDOO_MIN_) 999.0000 0.000000
COSTO( FICTICIO, BERDOO_ADIC_) 0.000000 0.000000
COSTO( FICTICIO, LOS_DEVILS) 999.0000 0.000000
COSTO( FICTICIO, SAN_GO) 0.000000 0.000000
COSTO( FICTICIO, HOLLY_GLASS) 0.000000 0.000000
X( R_COLOMBO, BERDOO_MIN_) 0.000000 2.000000
X( R_COLOMBO, BERDOO_ADIC_) 0.000000 2.000000
X( R_COLOMBO, LOS_DEVILS) 50.00000 0.000000
X( R_COLOMBO, SAN_GO) 0.000000 7.000000
X( R_COLOMBO, HOLLY_GLASS) 0.000000 2.000000
X( R_SACRON, BERDOO_MIN_) 0.000000 0.000000
X( R_SACRON, BERDOO_ADIC_) 0.000000 0.000000
X( R_SACRON, LOS_DEVILS) 20.00000 0.000000
X( R_SACRON, SAN_GO) 0.000000 4.000000
X( R_SACRON, HOLLY_GLASS) 40.00000 0.000000
X( R_CALORIE, BERDOO_MIN_) 30.00000 0.000000
X( R_CALORIE, BERDOO_ADIC_) 20.00000 0.000000
X( R_CALORIE, LOS_DEVILS) 0.000000 2.000000
X( R_CALORIE, SAN_GO) 0.000000 3.000000
X( R_CALORIE, HOLLY_GLASS) 0.000000 979.0000
X( FICTICIO, BERDOO_MIN_) 0.000000 1000.000
X( FICTICIO, BERDOO_ADIC_) 0.000000 1.000000
X( FICTICIO, LOS_DEVILS) 0.000000 1001.000
X( FICTICIO, SAN_GO) 30.00000 0.000000
X( FICTICIO, HOLLY_GLASS) 20.00000 0.000000

Row Slack or Surplus Dual Price
1 2460.000 -1.000000
CAP( R_COLOMBO) 0.000000 5.000000
CAP( R_SACRON) 0.000000 5.000000
CAP( R_CALORIE) 0.000000 0.000000
CAP( FICTICIO) 0.000000 20.00000
REQ( BERDOO_MIN_) 0.000000 -19.00000
REQ( BERDOO_ADIC_) 0.000000 -19.00000
REQ( LOS_DEVILS) 0.000000 -18.00000
REQ( SAN_GO) 0.000000 -20.00000
REQ( HOLLY_GLASS) 0.000000 -20.00000

Vous aimerez peut-être aussi