Professional Documents
Culture Documents
2013 - I
CONTENIDO
MSc. Ing. Ezzard Omar Alvarez Daz
INVESTIGACION OPERATIVA I
2013 - I
1Que es LINGO?
2Desarrollando un modelo para LINGO
1. Resolviendo un modelo en LINGO
2. Mostrando el informe de solucin
3. detalles del informe de solucin
a. costo reducido
b. Holgura
c. Precio dual
3 Qu es SETS?
4Seccin de conjuntos, SETS en un modelo
5Qu es DATA?
6Seccin de datos, DATA en un modelo
7Seccin de modelo, MODEL
8Operadores y funciones en LINGO
1. Operadores Estndar
2. Operadores Matemticos
3. Funciones Financieras
4. Funciones de probalidad
9Interfase con archivos EXTERNOS
1. Lingo y Excel
2. Lingo y Acces
10
Programando en LINGO
1. programacin lineal
2. problemas de transporte
3. Sensibilidad
INVESTIGACION OPERATIVA I
2013 - I
4. programacin entera
1 QUE ES LINGO?
LINGO es una herramienta simple que permite utilizar el poder de la
optimizacin lineal y no lineal para formular grandes problemas
concisamente, resolverlos, y analizar la solucin. La optimizacin ayuda a
encontrar la respuesta que satisface el mejor resultado. Frecuentemente,
estos problemas involucraban el uso mas eficiente de los recursos (dinero,
tiempo, maquinaria, personal, etc.). Los problemas de optimizacin se
pueden clasificar en lineales o no lineales, dependiendo de cmo las
relaciones entre las variables.
INVESTIGACION OPERATIVA I
2013 - I
INVESTIGACION OPERATIVA I
2013 - I
INVESTIGACION OPERATIVA I
2013 - I
*Ventana de estado.
En esta ventana se puede monitorear el proceso de resolucin y las
dimensiones del modelo.
El recuadro "Variables" muestra el numero total de variables del modelo,
las variables que son no lineales y las enteras. Una variable es considerada
no lineal si es parte de una restriccin no lineal en el modelo. Mientras
mas variables no lineales y enteras contenga el modelo, mas difcil ser
resolverlo de forma ptima en un tiempo razonable. Los modelos lineales
puros sin variables enteras tienden a resolverse mas rpidamente.
La cuenta de variables no incluye las que LINGO determina como de valor
fijo, por ejemplo:
Dadas las restricciones
X = 1; X + Y = 3;
LINGO determina por la primera restriccin que X est fija en 1, y, usando
esta informacin, deduce que Y est fija en 2. X e Y sern entonces
excluidas del modelo.
En el recuadro "Constraints" se muestra la cantidad total de restricciones y
el nmero de stos que son no lineales. Una restriccin es considerada no
lineal si una o mas variables aparecen de forma no lineal en la restriccin.
2013 - I
INVESTIGACION OPERATIVA I
Iterations
Infeasibility
Objetive
Best IP
IP Bound
Descripcin
Estado de la solucin actual, puede
ser "Global optimum", "Local
optimum",
"Feesible",
"Unbounded",
"Interrupted",
"Undetermined"
Numero de iteraciones
Cantidad de veces que es violada
una restriccin
Valor actual de la funcin objetivo
Valor de la funcin objetivo de la
mejor solucin entera encontrada
(solo en modelos de programacin
entera)
Lmite terico de la funcin
objetivo
para
modelos
de
programacin entera.
INVESTIGACION OPERATIVA I
2013 - I
Informe de la solucin.
COSTO REDUCIDO:
En el informe de la solucin se encuentra un valor de costo reducido para
cada variable. Hay dos interpretaciones vlidas y equivalentes para el
costo reducido.
Primero se puede interpretar como el monto por el cual el coeficiente
objetivo de la variable se debera incrementar antes de hacerse provechoso
darle a la variable en cuestin un valor positivo en la solucin ptima. Por
ejemplo, si la variable tuviera un costo reducido de 10, el coeficiente
objetivo de esta variable deber incrementarse en 10 unidades en un
problema de maximizacin o decrementarse en 10 unidades en un
problema de minimizacin para convertirse en una alternativa atractiva.
Una variable en la solucin ptima automticamente tiene un costo
reducido de 0
MSc. Ing. Ezzard Omar Alvarez Daz
INVESTIGACION OPERATIVA I
2013 - I
PRECIO DUAL.
El informe de la solucin de LINGO tambin da un valor de precio dual
para cada restriccin. El precio dual se puede interpretar como el monto en
que la funcin objetivo mejorar si el segundo miembro de la restriccin se
incrementase una unidad. Por ejemplo, en la solucin de CompuQuick, el
precio dual en la fila 4 significa que agregar una unidad mas al trabajo
causar que la funcin objetivo mejore en 75, a un valor de 14575.
Ntese que mejorar es un trmino relativo. En un problema de
maximizacin, mejorar significa que la funcin objetivo se incrementar, y
en un problema de minimizacin el valor objetivo se reducir si el segundo
miembro de una restriccin con precio dual positivo es incrementado.
INVESTIGACION OPERATIVA I
2013 - I
Los precios duales son a veces llamados precios sombra, porque ellos dicen
cuanto debera pagar por una unidad de recurso. En el ejemplo anterior,
CompuQuick podra pagar hasta $75 por cada unidad de trabajo.
Al igual que los costos reducidos, los precios duales son vlidos slo dentro
de un rango de valores.
QU ES SETS?
LINGO permite definir conjuntos de objetos relacionados en la "seccin de
conjuntos" (sets section). Estos conjuntos pueden ser primitivos o
derivados. Esta seccin comienza con la palabra clave SETS: y termina
con ENDSETS
SECCION DE CONJUNTOS
Cada conjunto tiene la sintaxis siguiente:
NOMBRE/ LOS MIEMBROS/: LOS ATRIBUTOS;
SETS:
FABRICAS /F1,F2/ : CAPACIDAD;
CENTROS /C1,C2,C3/ :DEMANDA;
RUTAS( FABRICAS, CENTROS ): C, X;
ENDSETS
Los conjuntos, FABRICAS y CENTROS se denominan conjuntos
primitivos y el ltimo se denomina conjunto derivado, donde C y X
representan, respectivamente, los costos unitarios de transporte y cantidad
transportada de las fabricas a los centros.
QU ES DATA?
ES la seccion del modelo en la cual se declaran los datos que se utilizarna
para encontrara una solucion al modelo. Existen diversas Formas de
ingresar o leer los datos en un modelo asi tenemos EXCEL , ACCES,
SQL, etc.
SECCIN DE DATOS, DATA
Los valores de los atributos de los elementos de los conjuntos, tienen la
sintaxis siguiente:
DATA:
MSc. Ing. Ezzard Omar Alvarez Daz
10
2013 - I
INVESTIGACION OPERATIVA I
J = 2:
J=3
11
INVESTIGACION OPERATIVA I
2013 - I
12
2013 - I
INVESTIGACION OPERATIVA I
@GIN
@BIN
@FREE
@BND
13
2013 - I
INVESTIGACION OPERATIVA I
@BND(-1, X, 1);
@BND(100, QUANTITY(4), 200) ;
@FOR(ITEMS: @BND( 10, Q, 20));
@FOR(ITEMS: @BND(QL, Q, QU));
OPERADORES ESTNDAR
LINGO tiene tres tipos de operadores estndar:
1. OPERADORES ARITMETICOS
Lingo tiene cinco operadores aritmticos que se muestran:
Operador
^
*
/
+
-
Descripcin
Exponencial
Multiplicacin
Divisin
Suma
Resta
2. OPERADORES LOGICOS
Operador
lgico
#NOT#
#EQ#
#NE#
14
2013 - I
INVESTIGACION OPERATIVA I
#GT#
#GE#
#LT#
#LE#
#AND#
#OR#
3. OPERADORES RELACIONALES
Operador
Relacional
Descripcin
<=
>=
FUNCIONES MATEMTICAS
Lingo presenta funciones matemticas. Estas funciones retornan un
solo resultado basado en uno o ms argumentos escalares.
Operador
@ABSS(X)
@ACOS(X)
@ACOH(X)
@ASIN(X)
Descripcin
Retorna el valor absoluto de X
Retorna el arco coseno, de X donde X esta en
radianes
Retorna la inversa del coseno hiperblico, de X
donde X esta en radianes
Retorna el arco seno, de X donde X esta en
15
2013 - I
INVESTIGACION OPERATIVA I
@ASINH(X)
@ATAN(X)
@ATAN2(Y,X)
@ATANH(X)
@COS(X)
@COSH(X)
@EXP(X)
@FLOOR(X)
@LOG(X)
@LOG10(X)
@MOD(X,Y)
@POW(X)
@SIGN(X)
@SIN(X)
@SINH(X)
@SMAX(X1,X2,..Xn
)
@SMIN(X1,X2,..Xn)
@SQR(X)
@SQRT(X)
@TAN(X)
@TANH(X)
radianes
Retorna la inversa del seno hiperblico, de X
donde X esta en radianes
Retorna el arco tangente, de X donde X esta en
radianes
Retorna el arco tangente, de X /Y
Retorna la inversa de la tangente hiperblico de X
Retorna el coseno de X, Donde X esta en radianes
Retorna el coseno hiperblico de X, Donde X esta
en radianes
Retorna e (i.e, 2.718281) elevado al
exponente X
Retorna la parte entera de X
Retorna el logaritmo natural de X
Retorna el logaritmo en base 10 de X
Retorna el residuo de dividir X entre Y
Retorna el valor de X elevado al exponente Y
Retorna -1 si X < 0, 0 si X = 0, +1 si X > 0
Retorna el seno de X, Donde X esta en radianes
Retorna el seno hiperblico de X, Donde X esta
en radianes
Retorna el mximo valor entre X1,X2.Xn
Retorna el mnimo valor entre X1,X2.Xn
Retorna la raz de X
Retorna la raz con radial X
Retorna la tangente de X, Donde X esta en
radianes
Retorna la tangente hiperblica de X, Donde X
esta en radianes
FUNCIONES FINANCIERAS
Funcin
@FPA(I,N)
Descripcin
Esto devuelve el valor actual de una anualidad.
Que, una corriente de pagos por un perodo a
una tasa de inters, donde I no es porcentajes
sino pero es una fraccin que representa l a
16
2013 - I
INVESTIGACION OPERATIVA I
FUNCIONES FINANCIERAS
Funcin
@PSN(X)
Descripcin
Esta es la distribucin de probabilidad
acumulada normal estndar. Un estndar X
variable aleatoria normal = media 0,0 y
Desviacin estndar = 1,0 (La curva de
campana ", centrada en el origen). El valor
devuelto por @ PSN es el rea bajo la curva a
la izquierda del punto en la ordenada indicado
por x, es decir, P (X) x
17
INVESTIGACION OPERATIVA I
2013 - I
@OLE puede leer una o dos dimensiones de rango, pero no puede leer rangos
discontinuos o rango de tres dimensiones. Los rangos son ledos de izquierda a derecha,
de arriba hacia abajo.
La sintaxis para utilizar @OLE para importar es:
Obgect_list =@OLE ([cuadro][rango]);
PARA FINES APLICATIVOS HAREMOS USO DE UN ARCHIVO QUE LINGO
CARGA POR DEFECTO AL INSTALARSE
1. Abrir el archivo de LINGO que se encuentra en la carpeta donde se encuentra
instalado LINGO C:\ LINGO11\SAMPLES\STAFFOLE(.lg4). (PARA ESTE CASO
ESTA ES LA RUTA)
Se apreciara de la siguiente forma:
C:\ LINGO11\SAMPLES\STAFFOLE.XLS
18
INVESTIGACION OPERATIVA I
2013 - I
19
2013 - I
INVESTIGACION OPERATIVA I
4400.000
4400.000
0.000000
0
6
Value
200.0000
200.0000
200.0000
200.0000
200.0000
200.0000
200.0000
19.00000
16.00000
12.00000
16.00000
20.00000
15.00000
12.00000
7.000000
3.000000
0.000000
6.000000
4.000000
2.000000
0.000000
Slack or Surplus
4400.000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
200.0000
200.0000
200.0000
200.0000
200.0000
200.0000
200.0000
Dual Price
-1.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
20
INVESTIGACION OPERATIVA I
2013 - I
3. Se mostrara la siguiente
interface en la cual se dar la
opcin : Crear desde archivo
21
INVESTIGACION OPERATIVA I
2013 - I
luego con ayuda del botn Examinar direccionaremos hacia la ruta conde se
encuentra el archivo :
22
2013 - I
INVESTIGACION OPERATIVA I
4400.000
4400.000
0.000000
0
6
OLE BASED
\LINGO11\SAMPLES\STAFFOLE.XLS
1
23
2013 - I
INVESTIGACION OPERATIVA I
Ranges Found:
Range Size Mismatches:
Values Transferred:
Variable
COST( 1)
COST( 2)
COST( 3)
COST( 4)
COST( 5)
COST( 6)
COST( 7)
NEEDS( 1)
NEEDS( 2)
NEEDS( 3)
NEEDS( 4)
NEEDS( 5)
NEEDS( 6)
NEEDS( 7)
START( 1)
START( 2)
START( 3)
START( 4)
START( 5)
START( 6)
START( 7)
Row
OBJECTIVE
COVERAGE( 1)
COVERAGE( 2)
COVERAGE( 3)
COVERAGE( 4)
COVERAGE( 5)
COVERAGE( 6)
COVERAGE( 7)
1
0
7
Value
200.0000
200.0000
200.0000
200.0000
200.0000
200.0000
200.0000
19.00000
16.00000
12.00000
16.00000
20.00000
15.00000
12.00000
7.000000
3.000000
0.000000
6.000000
4.000000
2.000000
0.000000
Slack or Surplus
4400.000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
200.0000
200.0000
200.0000
200.0000
200.0000
200.0000
200.0000
Dual Price
-1.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
6. Una vez hallada la solucin se proceder a dar doble Clikc en el objeto que
fue generado en el archivo de Lingo y se muestra a continuacin.
24
INVESTIGACION OPERATIVA I
2013 - I
25
2013 - I
INVESTIGACION OPERATIVA I
***
LINGO Y ACCES
MSc. Ing. Ezzard Omar Alvarez Daz
26
INVESTIGACION OPERATIVA I
2013 - I
2. Ubicar el
icono de
Orgenes de
Datos (ODBC).
27
INVESTIGACION OPERATIVA I
2013 - I
28
INVESTIGACION OPERATIVA I
2013 - I
29
INVESTIGACION OPERATIVA I
2013 - I
4. Pulse
el
botn
ACEPTAR
y
se
podr ver que la
fuente de datos de
Transporte se ha
aadido a la lista de
Orgenes de Datos
ODBC.
30
2013 - I
INVESTIGACION OPERATIVA I
161.0000
0.000000
6
Value
30.00000
25.00000
21.00000
15.00000
17.00000
22.00000
12.00000
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
31
2013 - I
INVESTIGACION OPERATIVA I
COST(
COST(
COST(
COST(
COST(
COST(
COST(
COST(
COST(
COST(
COST(
COST(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
PLANT1,
PLANT1,
PLANT1,
PLANT1,
PLANT2,
PLANT2,
PLANT2,
PLANT2,
PLANT3,
PLANT3,
PLANT3,
PLANT3,
PLANT1,
PLANT1,
PLANT1,
PLANT1,
PLANT2,
PLANT2,
PLANT2,
PLANT2,
PLANT3,
PLANT3,
PLANT3,
PLANT3,
CUST1)
CUST2)
CUST3)
CUST4)
CUST1)
CUST2)
CUST3)
CUST4)
CUST1)
CUST2)
CUST3)
CUST4)
CUST1)
CUST2)
CUST3)
CUST4)
CUST1)
CUST2)
CUST3)
CUST4)
CUST1)
CUST2)
CUST3)
CUST4)
Row
OBJ
2
3
4
5
6
7
8
6.000000
2.000000
6.000000
7.000000
4.000000
9.000000
5.000000
3.000000
8.000000
8.000000
1.000000
5.000000
2.000000
17.00000
1.000000
0.000000
13.00000
0.000000
0.000000
12.00000
0.000000
0.000000
21.00000
0.000000
Slack or Surplus
161.0000
0.000000
0.000000
0.000000
0.000000
10.00000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
2.000000
0.000000
9.000000
1.000000
0.000000
7.000000
11.00000
0.000000
5.000000
Dual Price
-1.000000
-6.000000
-2.000000
-6.000000
-5.000000
0.000000
2.000000
5.000000
32
2013 - I
INVESTIGACION OPERATIVA I
2
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
VOLUME(
CUST1)
CUST2)
CUST3)
CUST4)
CUST1)
CUST2)
CUST3)
CUST4)
CUST1)
CUST2)
CUST3)
CUST4)
2.000000
17.00000
1.000000
0.000000
13.00000
0.000000
0.000000
12.00000
0.000000
0.000000
21.00000
0.000000
0.000000
0.000000
0.000000
2.000000
0.000000
9.000000
1.000000
0.000000
7.000000
11.00000
0.000000
5.000000
33
2013 - I
INVESTIGACION OPERATIVA I
***
PROGRAMANDO EN LINGO
MSc. Ing. Ezzard Omar Alvarez Daz
34
INVESTIGACION OPERATIVA I
2013 - I
35
2013 - I
INVESTIGACION OPERATIVA I
Por ejemplo:
@FOR (CENTROS (J)):@SUMA (FABRICAS (I): X (I,J))<=CAPACIDAD(I));
Indica que genera la restriccin que sigue a los dos puntos para cada miembro del
conjunto que precede. Cada elemento del conjunto CENTROS (J) PARA J=1,2,3 se
genera las restricciones siguientes:
J=1:
J=2:
J=3:
MODEL:
!2 FABRICAS, 3 CENTROS, problema de transporte;
SETS:
FABRICAS/F1, F2/:CAPACIDAD;
CENTROS/C1, C2, C3/:DEMANDA;
RUTAS (FABRICAS, CENTROS):C,X;
ENDSETS
DATA:
CAPACIDAD =30,20;
DEMANDA = 10,25,15;
C=2,4,6,
7,10,1;
ENDDATA
!LA FUNCION OBJETIVO;
MIN = @SUM(RUTAS:C*X);
! RESTRICCION DE LA DEMANDA;
@FOR(CENTROS(J):@SUM(FABRICAS(I):X(I,J))>=DEMANDA(J));
! RESTRICCION DE LA OFERTA;
@FOR(FABRICAS(I):@SUM(CENTROS(J):X(I,J))<=CAPACIDAD(I));
END
Para presentar el modelo algebraico se hace clic en la ficha LINGO, generate, display
model.
MODEL:
36
2013 - I
INVESTIGACION OPERATIVA I
160.0000
0.000000
4
Value
30.00000
20.00000
10.00000
25.00000
15.00000
2.000000
4.000000
6.000000
7.000000
10.00000
1.000000
5.000000
25.00000
0.000000
5.000000
0.000000
15.00000
Slack or Surplus
160.0000
0.000000
0.000000
0.000000
0.000000
0.000000
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
10.00000
0.000000
1.000000
0.000000
Dual Price
-1.000000
-7.000000
-9.000000
-1.000000
5.000000
0.000000
37
2013 - I
INVESTIGACION OPERATIVA I
@BIN
@FREE
@BND
38
2013 - I
INVESTIGACION OPERATIVA I
OPERADORES LGICOS
LINGO tiene nueve operadores lgicos:
NOT (no), EQ (igual), NE (no igual), GT (mayor que), GE (mayor o igual), LT (menor
igual), LE (menor o igual), AND (y) Y OR(o) que se utiliza para comparar valores, la
forma de usar es:
#operador#
Ejemplo: #EQ#
EJEMPLO A (Mezcla)
Una compaa fabrica tres productos de caucho :AIRTEX(material esponjoso),
EXTENDES(material elstico) y RESISTEX(material rgido). Los tres productos
requieren los mismos tres polmeros qumicos y una base. La cantidad de caga
ingrediente usado por libra del producto final se muestra en la siguiente tabla:
producto
Ingrediente(OZ/LB de producto)
Polmero A Polmero B Polmero C
AIRTEX
4
2
4
EXTENDEX 3
2
2
RESISTEX 6
3
5
inventario
500
425
650
Base
6
9
2
1100
39
2013 - I
INVESTIGACION OPERATIVA I
SOLUCION
producto
Ingrediente(OZ/LB de producto)
Polmero A Polmero B Polmero C
AIRTEX
EXTENDEX
RESISTEX
inventario
4
3
6
500
2
2
3
425
4
2
5
650
Base
COMPROMISO
6
1000
9
500
2
400
1100
GANANCIA
7
7
6
Sea:
Xi : la cantidad de ingredientes del producto i(i=AIRTEX,EXTENDEX,RESISTEX)
que se puede usar
FUNCION OBJETIVO: Xi*ganacia(i) (i desde 1 hasta 3)
Entonces: MAX Z= 7X1 + 7*X2 + 6*X3
SUJETO A:
Xi>=Compromiso (i) (i desde 1 hasta 3)
Para i=1 X1>=1000
Para i=2 X1>=500
Para i=3 X1>=400
Xi*requerimiento (i,j)<=inventario(i)*16 , donde requerimiento (i,j)es la cantidad de
producto de cada tipo de ingrediente.
Para j=1 4X1+3X2+6X3 <=500*16;
Para j=2 2X1+2X2+3X3 <=425*16;
Para j=3 4X1+2X2+3X3 <=650*16;
Para j=4 6X1+9X2+2X3 <=1100*16;
MODEL:
SETS:
PRODUCTO/AIRTEX,EXTENDEX,RESISTEX/:NIVEL,COMPROMISO,GANANCIA;
INGREDIENTE/POLA,PLOB,POLC,BASE/:INVENTARIO;
PROIN(PRODUCTO,INGREDIENTE):X;
ENDSETS
DATA:
COMPROMISO=1000,500,400;
GANANCIA=7,7,6;
INVENTARIO= 500,425,650,1100;
X= 4,2,4,6,
3,2,2,9,
6,3,5,2;
ENDDATA
!FUNCION OBJETIVO MAXIMIZAR LA UTILIDAD;
MAX=@SUM(PRODUCTO:GANANCIA*NIVEL);
!RESTRICCION DEL INVENTARIO;
@FOR(INGREDIENTE(I):@SUM(PRODUCTO(P):X(P,I)*NIVEL(P))<=INVENTARIO(I)*1
6);
40
2013 - I
INVESTIGACION OPERATIVA I
!RESTRICCION DEL COMPROMISO;
@FOR(PRODUCTO:NIVEL<=COMPROMISO);
END
MODEL:
[_1]
[_2]
;
[_3]
;
[_4]
;
[_5]
;
[_6]
[_7]
[_8]
END
12900.00
0.000000
0
Value
1000.000
500.0000
400.0000
1000.000
500.0000
400.0000
7.000000
7.000000
6.000000
500.0000
425.0000
650.0000
1100.000
4.000000
2.000000
4.000000
6.000000
3.000000
2.000000
2.000000
9.000000
6.000000
3.000000
5.000000
2.000000
Slack or Surplus
12900.00
100.0000
2600.000
3400.000
6300.000
0.000000
0.000000
0.000000
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
Dual Price
1.000000
0.000000
0.000000
0.000000
0.000000
7.000000
7.000000
6.000000
41
2013 - I
INVESTIGACION OPERATIVA I
EJEMPLO B (DIETAS)
El departamento de nutricin de un hospital prepara 30 menus de cena , uno para cada
da del mes, una comida consiste en spaghetti, pavo, papas, espinacas y pastel de
manzanas. Como director del departamento de nutricin, usted ha determinado que esta
comida debe proporcionar 63000 miligramos de protenas, 10 miligramos de hierro, 15
miligramos de niacina, 1 miligramo de tiamina y 50 miligramos de vitamina c, cada 100
gramos de esta comida proporciona la cantidad de nutriente y grasas indicadas en la
siguiente tabla:
POTAJE
NUTRIENTE( mg/100g)
PROTEINA HIERRO
SPAGHETTI 5000
1.1
PAVO
29300
1.8
PAPAS
5300
0.5
ESPINACAS 3000
2.2
PASTEL
4000
1.2
TIACINA
1.4
5.4
0.9
0.5
0.6
TIAMINA
0.18
0.06
0.06
0.07
0.15
VTNA. C
0.0
0.0
10
28
3.0
GRASA
5000
5000
7900
300
14300
SOLUCION
POTAJE
SPAGHETTI
PAVO
PAPAS
ESPINACAS
PASTEL
NUTRIENTE( mg/100g)
PROTEINA
HIERRO
TIACINA
TIAMINA
VTNA. C
GRASA
MAXIMO
5000
29300
5300
3000
4000
1.1
1.8
0.5
2.2
1.2
1.4
5.4
0.9
0.5
0.6
0.18
0.06
0.06
0.07
0.15
0.0
0.0
10
28
3.0
5000
5000
7900
300
1430
0
300
300
200
100
100
42
INVESTIGACION OPERATIVA I
2013 - I
X1<=300/100
X2<=300/100
X3<=200/100
X4<=100/100
X5<=100/100
Restriccin de la cantidad de nutriente por potaje que debe haber como mnimo:
Xi *nutrientej,i< = MINIMOi ; donde nutriente j,i es la cantidad ya sea de protena,
hierro, tiacina, tiamina, vitamina C, grasa por cada potajei ya sea: spaghetti, pavo,
papas, espinacas y pastel. Y MINIMOi es la cantidad de potaje como mximo que debe
existir.
Por tanto:
Para i=1, 2,3,4,5 y j=1
X1*5000+x2*29300+x3*53000+x4*3000+x5*4000 >=63000
Para i=1, 2,3,4,5 y j=2
X1*1.1+X2*1.8+X3*0.5+X4*2.2+X5*1.2 >=10
Para i=1,2,3,4,5 y j=3
X1*1.4+X2*5.4+X3*0.9+X4*0.5+X5*0.6 >=15
Para i=1,2,3,4,5 y j=4
X1*0.18+X2*0.06+X3*0.06+X4*0.07+X5*0.15 >=1
Para i=1,2,3,4,5 y j=5
X1*5000+X2*5000+X3*7900+X4*300+X5*14300 >=0
Se Presenta El Modelo
MODEL:
[_1] MIN= GRASA ;
[_2] GRASA - 5000 * NIVEL_SPAGHETTI - 5000 * NIVEL_PAVO - 7900 *
NIVEL_PAPAS - 300 * NIVEL_ESPINACAS - 14300 * NIVEL_PASTEL = 0 ;
[_3] NIVEL_SPAGHETTI <= 3 ;
[_4] NIVEL_PAVO <= 3 ;
[_5] NIVEL_PAPAS <= 2 ;
[_6] NIVEL_ESPINACAS <= 1 ;
[_7] NIVEL_PASTEL <= 1 ;
[_8] 5000 * NIVEL_SPAGHETTI + 29300 * NIVEL_PAVO + 5300 * NIVEL_PAPAS +
3000 * NIVEL_ESPINACAS + 4000 * NIVEL_PASTEL >= 63000 ;
[_9] 1.1 * NIVEL_SPAGHETTI + 1.8 * NIVEL_PAVO + 0.5 * NIVEL_PAPAS + 2.2
* NIVEL_ESPINACAS + 1.2 * NIVEL_PASTEL >= 10 ;
[_10] 1.4 * NIVEL_SPAGHETTI + 5.4 * NIVEL_PAVO + 0.9 * NIVEL_PAPAS + 0.5
* NIVEL_ESPINACAS + 0.6 * NIVEL_PASTEL >= 15 ;
[_11] 0.18 * NIVEL_SPAGHETTI + 0.06 * NIVEL_PAVO + 0.06 * NIVEL_PAPAS +
0.07000000000000001 * NIVEL_ESPINACAS + 0.15 * NIVEL_PASTEL >= 1 ;
[_12] 10 * NIVEL_PAPAS + 28 * NIVEL_ESPINACAS + 3 * NIVEL_PASTEL >= 50 ;
43
2013 - I
INVESTIGACION OPERATIVA I
54800.00
0.000000
3
Variable
GRASA
NIVEL( SPAGHETTI)
NIVEL( PAVO)
NIVEL( PAPAS)
NIVEL( ESPINACAS)
NIVEL( PASTEL)
MAXIMO( SPAGHETTI)
MAXIMO( PAVO)
MAXIMO( PAPAS)
MAXIMO( ESPINACAS)
MAXIMO( PASTEL)
MINIMO( PROTEINA)
MINIMO( HIERRO)
MINIMO( TIACINA)
MINIMO( TIAMINA)
MINIMO( VITAMC)
MINIMO( GRASA)
REQ( SPAGHETTI, PROTEINA)
REQ( SPAGHETTI, HIERRO)
REQ( SPAGHETTI, TIACINA)
REQ( SPAGHETTI, TIAMINA)
REQ( SPAGHETTI, VITAMC)
REQ( SPAGHETTI, GRASA)
REQ( PAVO, PROTEINA)
REQ( PAVO, HIERRO)
REQ( PAVO, TIACINA)
REQ( PAVO, TIAMINA)
REQ( PAVO, VITAMC)
REQ( PAVO, GRASA)
REQ( PAPAS, PROTEINA)
REQ( PAPAS, HIERRO)
REQ( PAPAS, TIACINA)
REQ( PAPAS, TIAMINA)
REQ( PAPAS, VITAMC)
REQ( PAPAS, GRASA)
REQ( ESPINACAS, PROTEINA)
REQ( ESPINACAS, HIERRO)
REQ( ESPINACAS, TIACINA)
REQ( ESPINACAS, TIAMINA)
REQ( ESPINACAS, VITAMC)
REQ( ESPINACAS, GRASA)
REQ( PASTEL, PROTEINA)
REQ( PASTEL, HIERRO)
REQ( PASTEL, TIACINA)
REQ( PASTEL, TIAMINA)
REQ( PASTEL, VITAMC)
REQ( PASTEL, GRASA)
Value
54800.00
3.000000
2.833333
2.000000
1.000000
0.6666667
300.0000
300.0000
200.0000
100.0000
100.0000
63000.00
10.00000
15.00000
1.000000
50.00000
0.000000
5000.000
1.100000
1.400000
0.1800000
0.000000
5000.000
29300.00
1.800000
5.400000
0.6000000E-01
0.000000
5000.000
5300.000
0.5000000
0.9000000
0.6000000E-01
10.00000
7900.000
3000.000
2.200000
0.5000000
0.7000000E-01
28.00000
300.0000
4000.000
1.200000
0.6000000
0.1500000
3.000000
14300.00
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
Row
1
2
3
4
5
6
7
8
9
10
11
12
13
Slack or Surplus
54800.00
0.000000
0.000000
0.1666667
0.000000
0.000000
0.3333333
51283.33
2.400000
7.200000
0.000000
0.000000
54800.00
Dual Price
-1.000000
-1.000000
10000.00
0.000000
3100.000
22333.33
0.000000
0.000000
0.000000
0.000000
-83333.33
-600.0000
0.000000
44
2013 - I
INVESTIGACION OPERATIVA I
EJEMPLO C
la cadena de restaurantes cuatro maras se especializa en la preparacin y venta de
pescados y mariscos . la demanda de pescado de las 4 sucursales de la cadena de
restaurantes s e presenta en la siguiente tabla:
SUCURSAL
JESUS MARIA
CALLAO
SAN LUIS
LOS OLIVOS
15
17
22
12
Demanda(ton)
VENTANILLA
VILLA
SALVADOR
CHORRILLOS
30
25
21
CANTIDAD
JESUS MARIA
CALLAO
SAN LUIS
LOS OLIVOS
6
4
8
2
9
8
6
5
1
7
3
5
JESUS MARIA
CALLAO
SAN LUIS
LOS OLIVOS
6
4
2
9
6
5
7
3
45
2013 - I
INVESTIGACION OPERATIVA I
CHORRILLOS
Para armar la funcin objetivo necesitamos relacionar los datos costo unitario por
tonelada de pescado por numero de toneladas de pescado transportados esto nos dara el
costo total de transporte.
En la tabla relacionamos primero al primer proveedor ventanilla con la primera sucursal
Jess mara este dato nos refleja el costo por tonelada desde ventanilla hasta Jess mara
cual nos da la relacin 6X11 este mismo paso para los demas con lo cual tendramos:
FO: MIN Z = Xij*Cij ; donde i va desde 1 a3 y j de 1 a4)
Determinado las restricciones:
Al determinar nuestra funcin objetivo ya tenemos un punto departida de donde
trabajar, ahora sabemos relacionar la forma mas adecuada todos los datos que tengamos
a mano de preferencia almacenarlos en una sola tabla.
Sucursal
PROVEDOR
JESUS
MARIA
CALLAO
SAN LUIS
LOS OLIVOS
DISPONIBILIDAD
VENTANILLA
6
4
8
15
2
9
8
17
6
5
1
22
7
3
5
12
30
25
21
VILLA SALV.
CHORRILLOS
DEMANDA
Restriccin de la demanda:
Para la determinacin de las restricciones se debe tener en cuenta la relacin de los
datos para el caso de la demanda ella est relacionada directamente con los proveedores
ya que reflejan la cantidad de toneladas que requiere cada sucursal. Entonces la
restriccin de la demanda va estar basada segn sucursal j.
Para j=1
46
INVESTIGACION OPERATIVA I
2013 - I
El smbolo de mayor igual en las restricciones quiere decir que la empresa requiere
satisfacer sus necesidades de la demanda ms un excedente para que no haya problemas
en suficiencia de comida
Como se observa no se ha tomado los datos de los costos de transporte, esto se debe a
que la demanda est en funcin da las cantidades de pescado y no en funcin a los
costos, es por ello que se relaciona directamente con las cantidades a transportar, en
conclusin se deben relacionar datos que tengan igual unidades de medicin para que
exista concordancia en el problema
Restriccin de la disponibilidad
Se trabaja de forma anloga a la restriccin de la demanda pero como se vio en el
cuadro anterior la disponibilidad no esta relacionada con las sucursales si no con os
proveedores , entonces.
El smbolo de menor igual refleja que los proveedores pueden distribuir todo el pescado
que poseen o menos hacia las sucursales.
Para i=1
47
2013 - I
INVESTIGACION OPERATIVA I
161.0000
0.000000
6
Value
30.00000
25.00000
21.00000
15.00000
17.00000
22.00000
12.00000
6.000000
2.000000
6.000000
7.000000
4.000000
9.000000
5.000000
3.000000
8.000000
8.000000
1.000000
5.000000
2.000000
17.00000
1.000000
0.000000
13.00000
0.000000
0.000000
12.00000
0.000000
0.000000
21.00000
0.000000
Slack or Surplus
161.0000
0.000000
0.000000
0.000000
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
2.000000
0.000000
9.000000
1.000000
0.000000
7.000000
11.00000
0.000000
5.000000
Dual Price
-1.000000
-6.000000
-2.000000
-6.000000
48
2013 - I
INVESTIGACION OPERATIVA I
5
6
7
8
0.000000
10.00000
0.000000
0.000000
-5.000000
0.000000
2.000000
5.000000
EJEMPLO D
La ciudad de busville tiene tres distritos escolares. En la tabla A se da elnumero de
estudiantes que pertenecen a grupos minoritarios y no minoritarios. El 25% de todos los
estudiantes (200/800) pertenecen a grupos minoritarios
DISTRITO
ESTUDIANTES DE
GRUPOS MINORITARIOS
ESTUDIANTES DE GRUPO
MAYORITARIO
1
2
3
50
50
100
200
250
150
la corte local a decidido que cada una de las dos escuelas de segunda enseanza de la
ciudad (cooley y walt widman) debe tener aproximadamente (ms o menos el 5%) el
mismo porcentaje de estudiantes de minoras, que la ciudad entera. En la tabla B se da
las distancias entre los distritos escolares y las escuelas. Cada escuela debe tener entre
300 y 500 estudiantes. Utilice la programacin lineal para determinar la asignacin de
los estudiantes a cada escuela para minimizar la distancia total que tiene que viajar los
estudiantes para llegar a ella:
DISTRITO COOLEY WALT WITMAN
1
1
2
2
2
1
3
1
1
SOLUCION
Primero vamos a encontrar la funcin objetivo, la escuela busca minimizar la distancia
total recorrida por sus estudiantes de su distrito a la escuela y cuantos estudiantes son
mayoras y minoritario, entonces vamos a llamar a la variable estudiantes i,j,k, donde :
i: estudiantes del distrito i(i=1,2,3) que pertenece al grupo j(1:minora, 2: mayora) y
que estudia en la escuela k(1: cooley, 2:walt witman). Si solo queremos expresar
escalarmente con los datos de la tabla.
49
2013 - I
INVESTIGACION OPERATIVA I
PROBLEMA 1:
Una compaa elabora dos productos P1 y P2, cada uno requiere e
componentes C1 y C2, la disponibilidad de los componentes y precio de
venta de muestra en el siguiente cuadro:
Producto
Componentes
Precio de Venta
(S/./Unidad)
4
3
C1
C2
P1
1
2
P2
3
1
Dispone
15000
10000
Se pide formular el problema y optimizar el ingreso de ventas:
DEFINIREMOS LOS CONJUNTOS:
SETS:
PROD/1..2/:PV,X;
COM/1..2/:DISP;
MATRIZ(PROD,COM):CANT;
ENDSETS
Luego procedermosa ingresar los datos
DATA:
PV=4,3;
DISP=15000,10000;
CANT=1,2, 3,1;
ENDDATA
MSc. Ing. Ezzard Omar Alvarez Daz
50
INVESTIGACION OPERATIVA I
2013 - I
51
INVESTIGACION OPERATIVA I
2013 - I
!PROBLEMA N1;
!PROD=TIPO DE PRODUCTO PV=PRECIO DE VENTA DE PRODUCTO;
!COM=COMPONENTES DISP=DISPONIBILIDAD DE LOS COMPONENTES;
!CANT=COMPONENTES PARA CADA PRODUCTO X=CANTIDAD DEL
PRODUCTO(1,2);
SETS:
PROD/1..2/:PV,X;
COM/1..2/:DISP;
MATRIZ(PROD,COM):CANT;
ENDSETS
DATA:
PV=4,3;
DISP=15000,10000;
CANT=1,2,
3,1;
ENDDATA
MAX=@SUM(PROD:PV*X);
@FOR(COM(J):@SUM(PROD(I):CANT(I,J)*X(I))<=DISP(J));
END
52
INVESTIGACION OPERATIVA I
2013 - I
24000.00
0.000000
2
Value
Reduced Cost
4.000000
0.000000
3.000000
0.000000
3000.000
0.000000
4000.000
0.000000
15000.00
0.000000
10000.00
0.000000
1.000000
0.000000
2.000000
0.000000
3.000000
0.000000
1.000000
0.000000
53
2013 - I
INVESTIGACION OPERATIVA I
2
3
0.000000
0.000000
0.4000000
1.800000
1320.000
1320.000
0.000000
0
0
Value
30.00000
40.00000
0.000000
33.00000
150.0000
200.0000
2.000000
5.000000
4.000000
6.000000
Slack or Surplus
1320.000
Reduced Cost
0.000000
0.000000
-30.00000
-40.00000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
Dual Price
1.000000
54
2013 - I
INVESTIGACION OPERATIVA I
2
3
18.00000
2.000000
0.000000
0.000000
Problema 3.
Sailco Corporation tiene que determinar cuntos veleros hay que producir en
cada uno de cuatro trimestres. La demanda es 40, 60, 75 y 25 para el primer, segundo, tercero y
cuarto trimestre. Sailco tiene que cumplir con las demandas. Al principio del primer trimestre,
Sailco tiene un inventario de 10 veleros. Sailco tiene que decidir, al principio de cada trimestre,
cuntos veleros hay que construir en el trimestre. Los veleros construidos en un trimestre son
usados para satisfacer la demanda de ese trimestre. Durante cada trimestre, Sailco puede
producir hasta 40 veleros, en el tiempo regular de trabajo, a un costo de 400 dlares por velero.
Sailco puede producir ms veleros, al hacer que trabajen tiempo extra los empleados durante un
trimestre, a un costo total de 450 dlares por velero. Al final de cada trimestre (despus de
terminar la produccin y despus de satisfacer la demanda del trimestre actual) se presentan
costos de mantenimento del inventario, de 20 dlares por velero.Utilice la programacin lineal
para determinar un programa de produccin para los siguientes cuatro trimestres.
Value
1.000000
2.000000
3.000000
4.000000
40.00000
60.00000
75.00000
25.00000
40.00000
40.00000
40.00000
25.00000
0.000000
10.00000
35.00000
0.000000
78450.00
0.000000
8
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
20.00000
0.000000
0.000000
50.00000
55
2013 - I
INVESTIGACION OPERATIVA I
INV(
INV(
INV(
INV(
Q1)
Q2)
Q3)
Q4)
10.00000
0.000000
0.000000
0.000000
Row
1
2
3
4
5
6
7
8
9
Slack or Surplus
78450.00
0.000000
0.000000
0.000000
15.00000
0.000000
0.000000
0.000000
0.000000
0.000000
20.00000
70.00000
420.0000
Dual Price
-1.000000
30.00000
50.00000
50.00000
0.000000
450.0000
450.0000
400.0000
430.0000
Ate
Bellavista
Tamao
Pequea
Grande
Pequea
Grande
Enorme
Costo de
construccin
(miles de
dlares)
1000
1500
1200
1600
2000
Capacidad
(miles de
unidades)
Costo de
Manufactura
(dlares por unidad)
600
1200
600
1200
2000
5.00
4.00
5.00
4.00
3.50
1
1
2
500
Hasta la regin
2
3
4
2
3
4
3
2
3
200 700 800
56
2013 - I
INVESTIGACION OPERATIVA I
16200.00
16200.00
0.000000
3
29
Value
600.0000
1200.000
600.0000
1200.000
2000.000
1000.000
1500.000
1200.000
1600.000
2000.000
5.000000
4.000000
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
57
2013 - I
INVESTIGACION OPERATIVA I
COSTO_MANUFACTURA( FPB)
COSTO_MANUFACTURA( FGB)
COSTO_MANUFACTURA( FEB)
CONSTRUCCION( FPA)
CONSTRUCCION( FGA)
CONSTRUCCION( FPB)
CONSTRUCCION( FGB)
CONSTRUCCION( FEB)
REQUERIMIENTO( R1)
REQUERIMIENTO( R2)
REQUERIMIENTO( R3)
REQUERIMIENTO( R4)
COSTO( FPA, R1)
COSTO( FPA, R2)
COSTO( FPA, R3)
COSTO( FPA, R4)
COSTO( FGA, R1)
COSTO( FGA, R2)
COSTO( FGA, R3)
COSTO( FGA, R4)
COSTO( FPB, R1)
COSTO( FPB, R2)
COSTO( FPB, R3)
COSTO( FPB, R4)
COSTO( FGB, R1)
COSTO( FGB, R2)
COSTO( FGB, R3)
COSTO( FGB, R4)
COSTO( FEB, R1)
COSTO( FEB, R2)
COSTO( FEB, R3)
COSTO( FEB, R4)
CANTIDAD( FPA, R1)
CANTIDAD( FPA, R2)
CANTIDAD( FPA, R3)
CANTIDAD( FPA, R4)
CANTIDAD( FGA, R1)
CANTIDAD( FGA, R2)
CANTIDAD( FGA, R3)
CANTIDAD( FGA, R4)
CANTIDAD( FPB, R1)
CANTIDAD( FPB, R2)
CANTIDAD( FPB, R3)
CANTIDAD( FPB, R4)
CANTIDAD( FGB, R1)
CANTIDAD( FGB, R2)
CANTIDAD( FGB, R3)
CANTIDAD( FGB, R4)
CANTIDAD( FEB, R1)
CANTIDAD( FEB, R2)
CANTIDAD( FEB, R3)
CANTIDAD( FEB, R4)
Row
1
2
3
4
5
6
7
8
9
10
11
12
13
5.000000
4.000000
3.500000
1.000000
0.000000
0.000000
0.000000
1.000000
500.0000
200.0000
700.0000
800.0000
1.000000
2.000000
3.000000
4.000000
1.000000
2.000000
3.000000
4.000000
2.000000
3.000000
2.000000
3.000000
2.000000
3.000000
2.000000
3.000000
2.000000
3.000000
2.000000
3.000000
0.000000
200.0000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
500.0000
0.000000
700.0000
800.0000
Slack or Surplus
16200.00
0.000000
0.000000
0.000000
0.000000
400.0000
0.000000
0.000000
0.000000
0.000000
400.0000
1200.000
600.0000
0.000000
0.000000
0.000000
1000.000
300.0000
1200.000
1600.000
2000.000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
2.000000
2.000000
0.000000
0.000000
2.000000
2.000000
1.000000
1.000000
1.000000
1.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
Dual Price
-1.000000
-6.000000
-7.000000
-6.000000
-7.000000
0.000000
1.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
58
2013 - I
INVESTIGACION OPERATIVA I
14
15
1200.000
0.000000
0.000000
0.5000000
S1
2
1
S2
1
2
59
2013 - I
INVESTIGACION OPERATIVA I
60750.00
0.000000
1
Value
190.0000
292.0000
45.00000
100.0000
350.0000
450.0000
2.000000
1.000000
1.000000
2.000000
Slack or Surplus
60750.00
0.000000
47.00000
0.000000
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
Dual Price
1.000000
175.0000
0.000000
275.0000
60
2013 - I
INVESTIGACION OPERATIVA I
20719.70
0.000000
3
Value
974.7475
0.000000
0.000000
1224.747
56.81818
32.82828
0.000000
0.000000
Slack or Surplus
20719.70
0.000000
0.000000
0.000000
0.000000
17.17172
Reduced Cost
0.000000
25.53030
16.00000
0.000000
0.000000
0.000000
20.00000
14.46970
Dual Price
-1.000000
-20.00000
-14.46970
1.000000
3.787879
0.000000
61
INVESTIGACION OPERATIVA I
2013 - I
Problema 11.- MC COW S.A. produce dos tipos de hamburguesas para venderlas en
restaurantes de servicio rpido. Cada tipo de hamburguesa consiste de carne calidad 1 y
de carne calidad 2. La hamburguesa tipo 1 se vende a 4 dlares/lb y tiene que contener
por lo menos 70% de carne calidad 1. La hamburguesa tipo 2 se vende a 3 dlares/lb y
tiene que contener por lo menos 60% de carne calidad 1. Se puede vender a lo ms 95 lb
de la hamburguesa 1, y 80 lb de la hamburguesa 2. Los dos tipos de carne utilizados
para producir las hamburguesas se compran en bolsas en el Camal de Yerbateros. Cada
bolsa de carne importada cuesta 10 dlares y produce 5 lb de carne calidad 1 y 2 lb de
carne calidad 2. Cada bolsa de carne nacional cuesta 6 dlares y produce 3 lb de carne
calidad 1 y 3 lb de carne calidad 2. Formule un modelo de PL apropiado para resolver el
problema de MC COW S.A.
La formulacin del modelo en LINGO es:
Model:
SETS:
bolsa_carne/importada,nacional/:precio, cantidad_bolsa_de_carne;
hamburguesa/tipo_1, tipo_2/:precio_venta, cantidad_maxima,
porcentaje_min_carne_calidad_1, cantidad_hamburguesa;
calidad_de_carne/c1,c2/;
cantidad_carne_calidad(bolsa_carne,calidad_de_carne):cantidad_fija_de_carne_calidad;
carne(calidad_de_carne,hamburguesa):cantidad;
endsets
data:
precio=10,6;
cantidad_fija_de_carne_calidad = 5, 3,
2, 3;
precio_venta=4, 3;
cantidad_maxima=95, 80;
porcentaje_min_carne_calidad_1=0.7, 0.6;
enddata
max=@sum(hamburguesa(i):cantidad_hamburguesa(i)*precio_venta(i))
-@sum(bolsa_carne(i):cantidad_bolsa_de_carne(i)*precio(i));
@for(calidad_de_carne(j):@sum(bolsa_carne(i):
cantidad_bolsa_de_carne(i)*cantidad_fija_de_carne_calidad(j,i))
=@sum(carne(j,i):cantidad(j,i)));
@for(hamburguesa(j): @sum(carne(i,j): cantidad(i,j))=cantidad_hamburguesa(j));
@for(hamburguesa(i):cantidad_hamburguesa(i)<=cantidad_maxima(i));
@for(hamburguesa(j):
cantidad(c1,j)>=porcentaje_min_carne_calidad_1(j)*cantidad_hamburguesa(j));
@For(bolsa_carne(i):@gin(cantidad_bolsa_de_carne(i)));
End
62
2013 - I
INVESTIGACION OPERATIVA I
5
389.0000
2
Value
10.00000
6.000000
18.00000
8.000000
4.000000
3.000000
95.00000
80.00000
0.7000000
0.6000000
95.00000
79.00000
5.000000
3.000000
2.000000
3.000000
66.60000
47.40000
28.40000
31.60000
Slack or Surplus
389.0000
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
1.000000
0.1000000
0.0000000E+00
Reduced Cost
0.0000000E+00
0.0000000E+00
-11.00000
-12.00000
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
0.0000000E+00
Dual Price
1.000000
-3.000000
-3.000000
-3.000000
-3.000000
1.000000
0.0000000E+00
0.0000000E+00
0.0000000E+00
63
2013 - I
INVESTIGACION OPERATIVA I
Oilco tiene campos petrolferos en San Diego y en Los ngeles. El campo de San Diego
puede producir diariamente hasta 500 000 barriles, y el campo de Los ngeles puede
producir hasta 400 000 barriles por da. Se manda el petrleo desde los campos hacia
una refinera en Dallas o Houston (suponga que cada refinera tiene una capacidad
ilimitada). Cuestan 200 dlares refinar 100 000 barriles de petrleo en Dallas, y 900
dlares refinar 100 000 barriles de petrleo en Houston. Se enva el petrleo refinado
hacia clientes en Chicago y Nueva York. Los clientes de Chicago necesitan diariamente
400 000 barriles de petrleo refinado, y los clientes de Nueva York solo 300 000
barriles de petrleo refinado. En la siguiente tabla se dan los costos de envo de 100 000
barriles de petrleo (refinado o no) entre las ciudades. Formule un modelo de transporte
balanceado para esta situacin.
DESDE
L.A.
San Diego
Dallas
Houston
Dallas
300
420
-
Houston
110
100
-
HACIA
N.Y.
450
470
Chicago
550
530
SOLUCION:
Sea:
UNID ij :la cantidad de barriles de petrleo enviados desde i hacia j (i=1,2; j=1,2,3).
MIN
2200 UNID( CEN1, CEN1) + 1350 UNID( CEN1, CEN2) + 2120 UNID( CEN2, CEN1) +
1410 UNID( CEN2, CEN2)
SUBJECT TO
UNID( CEN1, CEN1) + UNID( CEN2, CEN1) >= 400000
UNID( CEN1, CEN2) + UNID( CEN2, CEN2) >= 300000
UNID( CEN1, CEN3) + UNID( CEN2, CEN3) >= 200000
UNID( CEN1, CEN1) + UNID( CEN1, CEN2) + UNID( CEN1, CEN3) <= 500000
UNID( CEN2, CEN1) + UNID( CEN2, CEN2) + UNID( CEN2, CEN3) <= 400000
END
64
2013 - I
INVESTIGACION OPERATIVA I
FORMULACION EN LINGO:
SETS:
CAMPOS/CEN1,CEN2/: PROD;
CLIEN/CEN1,CEN2,CEN3/: DEMAN;
CAM+CLI(CAMPOS,CLIEN): COSTOT,UNID;
ENDSETS
!FUNCION OBJETIVO;
MIN=@SUM(CAM+CLI:COSTOT*UNID);
!RESTRICCIONES DE LA DEMAN;
@FOR(CLIEN(J):@SUM(CAMPOS (I):UNID(I,J))>=DEMAN(J));
!RESTRICCIONES DE LA PROD;
@FOR(CAMPOS (I):@SUM(CLIEN(J):UNID(I,J))<=PROD(I));
!DATOS;
DATA:
PROD=500000, 400000;
DEMAN=400000,300000,200000;
COSTOT=2200,1350,0,
2120,1410,0;
ENDDATA
END
COMPILACION EN LINGO:
Global optimal solution found at step:
5
Objective value:
: 0.1253000E+10
Variable
Value
Reduced Cost
PROD( CEN1)
500000.0
0.0000000
PROD( CEN2)
400000.0
0.0000000
DEMAN( CEN1)
400000.0
0.0000000
DEMAN( CEN2)
300000.0
0.0000000
DEMAN( CEN3)
200000.0
0.0000000
COSTO( CEN1, CEN1)
2200.000
0.0000000
COSTO( CEN1, CEN2)
1350.000
0.0000000
COSTO( CEN1, CEN3)
0.0000000
0.0000000
COSTO( CEN2, CEN1)
2120.000
0.0000000
COSTO( CEN2, CEN2)
1410.000
0.0000000
COSTO( CEN2, CEN3)
0.0000000
0.0000000
UNID( CEN1, CEN1)
0.0000000
80.00000
UNID( CEN1, CEN2)
300000.0
0.0000000
UNID( CEN1, CEN3)
200000.0
0.0000000
UNID( CEN2, CEN1)
400000.0
0.0000000
UNID( CEN2, CEN2)
0.0000000
60.00000
UNID( CEN2, CEN3)
0.0000000
0.0000000
0.1253000E+10
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
Dual Price
1.000000
-2120.000
-1350.000
0.0000000
0.0000000
0.0000000
65
2013 - I
INVESTIGACION OPERATIVA I
Una empresa que fabrica un producto nico, tiene 3 fabricas y 4 clientes. Las 3 fabricas
producen 3 000, 5 000 y 5 000 unidades respectivamente, durante el siguiente periodo.
La empresa se comprometi a vender 4 000 unidades al cliente 1; 3 000 unidades al
cliente 2; y, por lo menos, 3 000 unidades al cliente 3. Los clientes 3 y 4 quieren
comprar la mayor cantidad posible de las unidades restantes. En la siguiente tabla se da
la ganancia asociada con el envo de una unidad desde la fabrica i hacia el cliente j.
AL CLIENTE
DESDE
1
(dlares)
Fabrica 1
65
Fabrica 2
68
Fabrica 3
63
2
(dlares)
63
67
60
3
4
(dlares) (dlares)
62
64
65
62
59
60
66
2013 - I
INVESTIGACION OPERATIVA I
MAUNID=@SUM(VIAS:GANAN*UNID);
@FOR(CLIEN(J):@SUM(FABR(I):UNID(I,J))>=DEMAN(J));
@FOR(FABR(I):@SUM(CLIEN(J):UNID(I,J))<=CAPAC(I));
DATA:
CAPAC=3000 5000 5000;
DEMAN=4000 3000 3000 6000;
GANAN=65,63,62,64,
68,67,65,62,
63,60,59,60;
ENDDATA
END
COMPILACIN EN LINGO:
Variable
CAPAC( FAB1)
CAPAC( FAB2)
CAPAC( FAB3)
DEMAN( CEN1)
DEMAN( CEN2)
DEMAN( CEN3)
DEMAN( CEN4)
GANAN( FAB3, CEN4)
UNID( FAB1, CEN1)
UNID( FAB1, CEN2)
UNID( FAB1, CEN3)
UNID( FAB1, CEN4)
UNID( FAB2, CEN1)
UNID( FAB2, CEN2)
UNID( FAB2, CEN3)
UNID( FAB2, CEN4)
UNID( FAB3, CEN1)
UNID( FAB3, CEN2)
UNID( FAB3, CEN3)
UNID( FAB3, CEN4)
Row
1
2
3
4
5
6
7
8
Value
3000.000
5000.000
5000.000
4000.000
3000.000
3000.000
6000.000
60.00000
0.0000000
0.0000000
0.0000000
3000.000
2000.000
3000.000
0.0000000
0.0000000
2000.000
0.0000000
0.0000000
3000.000
Slack or Surplus
835000.0
0.0000000
0.0000000
-3000.000
0.0000000
0.0000000
0.0000000
0.0000000
Reduced Cost
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
0.0000000
3.000000
1.000000
2.000000
0.0000000
0.0000000
0.0000000
0.0000000
2.000000
0.0000000
0.0000000
1.000000
0.0000000
Dual Price
1.000000
-0.6400000E+08
-0.6400000E+08
-0.6400000E+08
-0.6400000E+08
0.6400006E+08
0.6400006E+08
0.6400006E+08
67
INVESTIGACION OPERATIVA I
2013 - I
PROGRAMACION ENTERA
Un problema de programacin entera se puede definir en forma sencilla
como un programa lineal en el cual algunas de las variables o todas son
nmeros enteros no negativos.
Mediante el uso de la programacin entera es posible formular una mayor
cantidad de situaciones de la vida real que las que se formularan mediante
la programacin lineal, an cuando, la formulacin de un programa entero,
es ms difcil de realizar que la formulacin de un programa lineal.
En este captulo se desarrollarn una gran variedad de problemas tipo y
a la vez se pondr a vuestro alcance algunas herramientas bastante tiles y
de gran ayuda para la formulacin de diversas situaciones lgicas que se
presentan en una gran variedad de problemas.
PROBLEMAS DE PROGRAMACION ENTERA 0-1
1. EJEMPLO
68
2013 - I
INVESTIGACION OPERATIVA I
390000.0
0
6
Value
12000.00
80000.00
40000.00
30000.00
20.00000
25.00000
30.00000
6000.000
7000.000
6000.000
6000.000
6000.000
0.000000
1.000000
1.000000
0.000000
0.000000
0.000000
0.000000
Reduced Cost
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
5.000000
50000.00
40000.00
30000.00
0.000000
0.000000
0.000000
69
2013 - I
INVESTIGACION OPERATIVA I
SOLUCION OPTIMA
PLANTA
CAPACIDAD
PRODUCCION
COSTO POR
PLANTA
6 000
6 000
80 000
120 000
200 000
7 000
6 000
40 000
150 000
190 000
6 000
COSTO TOTAL
390 000
Viga de
equilibri
o
8.8
9.4
9.2
7.5
8.7
9.1
Ejercicios
de piso
7.9
8.3
8.5
8.7
8.1
8.6
SOLUCIN:
Sea:
Xij: Gimnasta nmero i que participa slo en el evento j. (i=1,2,3,4,5,6/
j=1,2)
Xij = 0, el gimnasta no participa en el evento.
Xij = 1, el gimnasta s participa en el evento.
Yi: es binario. (i = 1,2,3,4,5,6)
Yi = 0, si el gimnasta i no participa en ambos eventos.
Yi = 1, si el gimnasta i s participa en ambos eventos.
MSc. Ing. Ezzard Omar Alvarez Daz
70
2013 - I
INVESTIGACION OPERATIVA I
FUNCION OBJETIVO
MAX Z = 8.8X11 + 7.9X12 + 9.4X21 + 8.3X22 + 9.2X31 + 8.5X32 + 7.5X41 + 8.7X42 +
8.7X51 + 8.1X52 + 9.1X61 + 8.6X62 + 16.7Y1 + 17.7Y2 + 17.7Y3 +16.2Y4
+ 16.8Y5 +17.7Y6
SUJETO A:
X11 + X21 + X31 + X41 + X51 + X61
X12 + X22 + X32 + X42 + X52 + X62
Y1 +Y2 + Y3 + Y4 + Y5 + Y6
Xij , Yi
=4
=4
=3
0
PROGRAMACIN EN LINGO:
SETS:
GIMNASTA/1..6/:Y,TOTAL;
EVENTO/1..2/:;
GIMEVEN(GIMNASTA,EVENTO):X,REQ;
ENDSETS
DATA:
TOTAL = 16.7, 17.7, 17.7, 16.2, 16.8, 17.7;
REQ = 8.8, 7.9, 9.4, 8.3, 9.2, 8.5, 7.5, 8.7, 8.7, 8.1, 9.1, 8.6;
ENDDATA
!FUNCION OBJETIVO:;
MAX = @SUM(GIMNASTA:TOTAL*Y) + @SUM(GIMEVEN:REQ*X);
!RESTRICCIONES:;
@FOR(EVENTO(J):@SUM(GIMNASTA(I):X(I,J))=4);
@SUM(GIMNASTA:Y)=3;
@FOR(GIMNASTA:@BIN(Y));
@FOR(GIMEVEN:@BIN(X));
END
71
2013 - I
INVESTIGACION OPERATIVA I
SOLUCIN EN LINGO:
Global optimal solution found.
Objective value:
Objective bound:
Infeasibilities:
Extended solver steps:
Total solver iterations:
Variable
Y( 1)
Y( 2)
Y( 3)
Y( 4)
Y( 5)
Y( 6)
TOTAL( 1)
TOTAL( 2)
TOTAL( 3)
TOTAL( 4)
TOTAL( 5)
TOTAL( 6)
X( 1, 1)
X( 1, 2)
X( 2, 1)
X( 2, 2)
X( 3, 1)
X( 3, 2)
X( 4, 1)
X( 4, 2)
X( 5, 1)
X( 5, 2)
X( 6, 1)
X( 6, 2)
REQ( 1, 1)
REQ( 1, 2)
REQ( 2, 1)
REQ( 2, 2)
REQ( 3, 1)
REQ( 3, 2)
REQ( 4, 1)
REQ( 4, 2)
REQ( 5, 1)
REQ( 5, 2)
REQ( 6, 1)
REQ( 6, 2)
Row
1
123.7000
123.7000
0.000000
0
0
Value
0.000000
1.000000
1.000000
0.000000
0.000000
1.000000
16.70000
17.70000
17.70000
16.20000
16.80000
17.70000
1.000000
0.000000
1.000000
1.000000
1.000000
1.000000
0.000000
1.000000
0.000000
0.000000
1.000000
1.000000
8.800000
7.900000
9.400000
8.300000
9.200000
8.500000
7.500000
8.700000
8.700000
8.100000
9.100000
8.600000
Slack or Surplus
123.7000
Reduced Cost
-16.70000
-17.70000
-17.70000
-16.20000
-16.80000
-17.70000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
-8.800000
-7.900000
-9.400000
-8.300000
-9.200000
-8.500000
-7.500000
-8.700000
-8.700000
-8.100000
-9.100000
-8.600000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
Dual Price
1.000000
72
2013 - I
INVESTIGACION OPERATIVA I
2
3
4
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
TABLA DE RESUMEN
Viga de
Ejercicio
Ambos Eventos
Equilibrio
de Piso
Yi
X11
1
X12
0
0
X21
1
X22
1
1
X31
1
X32
1
1
X41
0
X42
1
0
X51
0
X52
0
0
X61
1
X62
1
1
DE LA CALIFICACION TOTAL OBTENIDA: 123.70
Gimnasta
1
2
3
4
5
6
VALOR
La solucin indica que los gimnastas que participan solo en el evento viga de equilibrio
son los nmeros 1, 2, 3, y 6; y aquellos gimnastas que participan slo en el en el evento
ejercicios de piso son los nmeros 2, 3, 4 y 6; por ltimo, aquellos gimnastas que
participan en ambos eventos son los nmeros 2,3 y 6. Este resumen se realiza a partir de
la tabla mostrada anteriormente.
La calificacin total que obtiene el equipo de Transilvania ser 123.70.
73
INVESTIGACION OPERATIVA I
BS
DE
ST
TS
4
3
2
2
2013 - I
5 (derecho)
3 (derecho)
3 (izquierdo)
2 (derecho)
SOLUCION:
MODELO ALGEBRAICO
SEA:
YI: 1, si el agente i es contratado (I=1, 2, 3, 4,5:
respectivamente para: RS, BS, DE, ST, TS)
0, si no es asi.
MAX Z = 6 * Y1 + 5 * Y2 + 3 * Y3 + 3 * Y4 + 2 * Y5
S.A:
Restriccin a) 6 * Y1 + 4 * Y2 + 3 * Y3 + 2 * Y4 + 2 * Y5 <= 12
Restriccin b)
Y3 +
Y4
<= 2*(1X)
Y2
<= 2*X
Restriccin c)
Y3 +
Y5 <= 2
Restriccin d)
Y1 +
Y2
<= 1
74
2013 - I
INVESTIGACION OPERATIVA I
1,1,0,0,0;
ENDDATA
* Y5;
MAX=@SUM(AGENTE:Y*VICT);
!restriccion a)se pueden gastar cuando mucho 12 millones de dolares:
6 * Y1 + 4 * Y2 + 3 * Y3 + 2 * Y4 + 2 * Y5 <=
12
Y3 +
Y5 <=
2
restriccion d)los cubs no pueden contratar a BS(Y2) y RS(Y1) juntos ;
@FOR(DISP(I):@SUM(AGDISP(I,J):COEF(I,J)*Y(J))<=RESTR(I));
!restriccion b)si se contratan a DE(Y3)y ST(Y4), entonces BS no puede
ser contratado;
Y(3)+Y(4)<=2*(1-X);
Y(2)<=2*X;
@FOR(AGENTE:@BIN (Y));
@BIN(X);
END
VARIABLE
VALOR
PTIMO
Y1
Y2
Y3
Y4
Y5
12
El resultado en lingo nos indica que se deben contratar son los pitcher RS, DE, ST;
la cantidad ms alta, es decir la solucin optima es 12.
MAX Z = 6 * Y1 + 5 * Y2 + 3 * Y3 + 3 * Y4 + 2 * Y5
MAX Z = 6 * 1 + 5 * 0 + 3 * 1 + 3 * 1 + 2 * 0 = 12
La corrida en lingo es:
75
2013 - I
INVESTIGACION OPERATIVA I
PROBLEMA N30
La ciudad de NY tiene 10 distritos de recoleccin de basura y pretende determinar cul
de los distritos debera ser un tiradero. Cuesta 1000 dlares acarrear una TN de basura
un tramo de una milla, La ubicacin de cada distrito, la cantidad de TN de basura
producidas en un ao por el distrito, el costo fijo anual( en millones de dlares) por
operar un tiradero y el costo variable (por TN) por procesar una tonelada de basura en
un tiradero, se muestran en la tabla 112.
Por ejemplo, el distrito 3 se localiza en la coordenadas (10,8). El distrito 3 produce
555TN de basura al ao, y cuesta un milln de dlares al ao en costos fijos operar un
tiradero en el distrito 3. Cada TN de basura procesada en el sitio 3 incurre en un costo
variable de 51 dlares. Cada tiradero puede procesar cuando mucho 1500 TN de basura.
Cada distrito puede enviar toda su basura a un solo sitio. Determine donde localizar los
tiraderos de tal manera que se minimice el costo total por ao.
Distrito
1
2
3
4
5
6
7
8
9
10
Coordenadas
X
4
2
10
2
5
4
10
5
5
1
Y
3
5
8
8
3
5
5
1
8
7
Toneladas
49
874
555
352
381
428
985
105
258
210
Costos (millones de
dlares)
Fijo
Variable
2
310
1
40
1
51
1
341
3
131
2
182
1
20
2
40
4
177
2
75
SOLUCIN:
Bij:
Vi:
Dij:
76
INVESTIGACION OPERATIVA I
2013 - I
.
.
D101B101 +D102B102 + D103B103 + + D109B109 + D1010B1010>= 0
49 B11 + 874 B21 + 555 B31 + 352 B41 + + 258 B91 + 210 B101 =
T1
49 B12 + 874 B22 + 555 B32 + 352 B42 + + 258 B92 + 210 B102 =
T2
.
.
.
49 B110 + 874 B210 + 555 B310 + 352 B410 + + 258 B910 + 210
B1010 = T10
T1 <= 1500 V1
T2 <= 1500 V2
T3 <= 1500 V3
T4 <= 1500 V4
T5 <= 1500 V5
T6 <= 1500 V6
T7 <= 1500 V7
77
INVESTIGACION OPERATIVA I
2013 - I
T8 <= 1500 V8
T9 <= 1500 V9
T10 <= 1500 V10
Funcin Objetivo
Costos Fijos
2V1 + V2 +V3 + V4 + 3V5 + 2V6 + V7 + 2V8 + 4V9 + 2V10
Costos Variables
310T1 + 40T2 + 51T3 + 341T4 + 131T5 + 182T6 + 20T7 + 40T8 +
177T9 + 75T10
Costo de distancias
0.001((49 B11.D11 + 874 B21.D21 + 555 B31.D31 + + 258 B91.D91
+ 210 B101.D101) + ... (49 B110.D110 + 874 B210.D210 + 555
B310.D310 + + 258 B910.D910 + 210 B1010.D1010))
78
2013 - I
INVESTIGACION OPERATIVA I
VARIABLE(ORIGEN,DESTINO):B,D;
ENDSETS
DATA:
X=4 2 10 2 5 4 10 5 5 1;
Y=3 5 8 8 3 5 5 1 8 7;
N=49 874 555 352 381 428 985 105 258 210;
CF=2 1 1 1 3 2 1 2 4 2;
CV=310 40 51 341 131 182 20 40 177 75;
ENDDATA
! Restriccin de manejo de basura, donde T(i) almacena las toneladas de
basura que se envan al vertedor de la ciudad i , si existe;
@FOR(DESTINO(i):@sum(VARIABLE(i,j):N(j)*B(j,i))=T(i));
@FOR(DESTINO(i):T(i)<=1500*V(i));
!Restriccin de cada distrito enva toda su basura a un solo vertedor;
@for(ORIGEN(i):@sum(VARIABLE(i,j):B(i,j))=1);
!Calculo de las distancias;
@FOR(DESTINO(i):@for(VARIABLE(i,j):D(i,j)=@SQRT((X(i)-X(j))^2+(Y(i)Y(j))^2)));
!FUNCION OBJETIVO;
MIN = @SUM(DESTINO(i):CF(i)*V(i))+@sum(DESTINO(i):CV(i)*T(i))
+0.001*(@sum(VARIABLE(i,j):N(i)*B(i,j)*D(i,j)));
!DECLARACION DE LAS VARIABLES COMO BINARIAS;
@for(DESTINO:@BIN(V));
@for(VARIABLE:@BIN(B));
CUADRO DE RESULTADOS
OBS: DEBIDO A LA CAPACIDAD DE LA VERSIN DE LINGO LOS
RESULTADOS OBTENIDOS FUERON HALLADOS RETIRANDO LA
ASIGNACION DE LAS VARIABLES BINARIAS.
1. Distrito en los que se va hacer un vertedor de basura:
V( 1)
V( 2)
V( 3)
V( 4)
V( 5)
V( 6)
V( 7)
V( 8)
V( 9)
V( 10)
0.000000
1.000000
0.000000
0.000000
0.000000
0.000000
1.000000
1.000000
0.000000
0.000000
2.000000
-3.136039
1.000000
1.000000
3.000000
2.000000
-30007.40
2.000000
4.000000
2.000000
79
2013 - I
INVESTIGACION OPERATIVA I
B( 1, 8)
B( 2, 2)
1.000000
1.000000
0.000000
0.000000
B( 3, 7)
0.9279279
0.000000
B( 4, 2)
1.000000
0.000000
B( 5, 8)
1.000000
0.000000
B( 6, 8)
1.000000
0.000000
B( 7, 7)
1.000000
0.000000
B( 8, 8)
1.000000
0.000000
B( 9, 8)
0.7519380
0.000000
B( 10, 2)
1.000000
0.000000
***
80