Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En la actualidad nuestra vida, el entorno está lleno de problemas que nos aquejan;
problemas además que son un obstáculo para el desarrollo de las empresas
específicamente, al momento de realizar cálculos que nos garanticen que el ritmo de
producción que viene llevando dichas empresas se está desarrollando de la mejor
manera. Es necesario para cumplir nuestro propósito de desarrollar de la mejor
manera la compañía o negocio al fin, realizar cálculos que con sus respectivas
restricciones nos lleven a obtener las cantidades ideales o aptas para el buen
rendimiento de dichas entidades.
LINGO es una herramienta matemática que resuelve una amplia gama de problemas
de optimización, lineales, no lineales y enteros, utilizando un lenguaje sencillo, lo que
lo convierte en un asistente ideal en la docencia. Junto con LINDO forma parte del
paquete SOLVER SUITE (manual de usuario, 1996).
Podemos decir que el objetivo de este trabajo es mostrar las posibilidades del software
en la docencia de la optimización matemática y no de servir de manual de introducción
al manejo de LINGO, se incluyen los conocimientos elementales necesarios para
empezar a trabajar con este paquete.
La mayor parte de las copias de LINGO vienen con sus preinstaladas licencias. Sin
embargo, ciertas versiones de LINGO requieren usted para entrar una llave de
licencia. Si su versión de LINGO requiere una licencia teclee, estará presente con la
caja de diálogos siguiente cuando usted empieza LINGO:
La sintaxis que se utiliza en este programa es muy sencilla. Para el nombre de las
Variables y otros identificadores se establece que pueden tener 32 caracteres como
Máximo, Deben comenzar con una letra seguido de letras, dígitos o _. LINGO no
distingue entre mayúsculas y minúsculas.
SETS:
FABRICAS /F1, F2/: CAPACIDAD;
CENTROS /C1, C2, C3/: DEMANDA;
RUTAS (FÁBRICAS, CENTROS): C, X;
ENDSETS
SECCION DE DATOS
Los valores de los atributos de los elementos de los conjuntos, tienen la sintaxis
siguiente:
DATA:
CAPACIDAD = 30, 20;
DEMANDA = 10, 25, 15;
C = 2, 4, 6,
7, 10, 1;
ENDDATA
Indica que se genere la restricción que sigue a los dos puntos para cada miembro
del conjunto que les precede. Cada elemento del conjunto CENTROS (J) para J =
1, 2,3 se genera las restricciones siguientes:
J = 1: X11 + X21 >= 10
J = 2: X12 + X22 >= 25
J=3 X13 + X23 >= 15
MODEL:
DATA:
CAPACIDAD = 30,20;
DEMANDA = 10, 25,15;
C = 2, 4, 6,
7,10, 1;
ENDDATA
! LA FUNCION OBJETIVO;
MIN = @SUM (RUTAS: C*X);
! RESTRICCIONES DE LA DEMANDA;
@FOR (CENTROS (J): @SUM (FABRICAS (I): X (I, J)) >= DEMANDA (J));
! RESTRICCIONES DE LA OFERTA;
@FOR (FABRICAS (I): @SUM (CENTROS (J): X (I, J)) <= CAPACIDAD (I));
END
MODEL:
END
Se puede omitir el paso anterior pasando a la solución del modelo haciendo clic en
LINGO, Solve obteniendo el siguiente resultado:
Objective value: 160.0000
2. OPERADORES LOGICOS
LINGO tiene nueve operadores lógicos:
NOT (no), EQ (igual), NE (no igual), GT (mayor que), GE (mayor igual), LT (menor
igual), LE (menor igual), AND (y) y OR (o) que se utilizan para comparar valores, la
forma de usar es: #operador#.
Los elementos del LINGO requieren un objetivo, una o más variables y una o más
restricciones. Las instrucciones del LINGO terminan con: (punto y coma).
Los comandos del menú edit permiten a usted ejecutar tareas básicas de edición
comunes a la mayoría de aplicaciones para Windows, así como efectuar varias
tareas que son exclusivas para LINGO.
COMANDOS EDIT:
Undo ctrl. + Z: Deshace la última acción.
Cut ctrl. + X: Corta el texto seleccionado en el portapapeles para pegarlo.
Copy ctrl. + C: Copia el texto seleccionado en el portapapeles para pegarlo.
Paste ctrl. + V: Inserta o pega el contenido del portapapeles en el punto de
inserción.
Clear delete : Borra el texto seleccionado pero no lo coloca en el portapapeles.
Find/ Replace ctrl. + F: Busca la ventana activa para encontrar el texto
seleccionado y reemplazarlo con el texto introducido en el cuadro “Replace
with” (Sustituya por).
COMANDOS LINGO:
Solve ctrl. + S: Envía el modelo que se encuentra en la ventana activa al Solver
de LINGO.
Solution ctrl. + O: Abre el cuadro de dialogo Solution Report Options (opciones
para mostrar la solución), el cual permite a usted especificar como quiere que
aparezca su solución.
Range ctrl. + R: Despliega un informe de intervalos, el cual le muestra dentro
de que valores usted puede cambiar valores coeficientes sin modificar los
valores óptimos.
Look ctrl.+ L: Despliega todo el modelo o las líneas seleccionadas.
Generate ctrl. + S: Crea otra versión del modelo actual en formato algebraico
de LINDO o MPS. Se puede usar para enumerar renglones y desplegar el
modelo en un formato más fácil de leer. El comando GEN proporciona una
capacidad similar desde la ventana de comandos.
Export to Spreadsheet ctrl. + E: Exporta valores de variables seleccionadas a
intervalos nombrados en una hoja de calculo.
Primero se tiene que crear una hoja de cálculo con intervalos dimensionados para
que se puedan acomodar en ellos los valores exportados.
Los intervalos tienen que contener números. Al seleccionar este comando se
abrirá un cuadro de dialogo que pide la plantilla y las hojas de trabajo (nombres de
archivo de la hoja de calculo), variables por exportar y el intervalo para el cual se
2.2 FUNCIONES:
Entre estas funciones están @FPA (I, N), la cual da el valor presente de una
anualidad y la función @FPL (I, N), la cual regresa el valor presente de un valor
global de N periodos de $1 a partir de ahora si la tasa de interés es I por periodo.
I no es un porcentaje, sino un número no negativo que representa la tasa de
interés.
Solución:
Sea:
Xi: la cantidad de ingredientes del PRODUCTO i (i=airtex,extendex,resistex) que
se puede usar.
3
FUNCION OBJETIVO:
X*ganacia
i
1
(i) ;donde ganancia es la utilidad ya
i
X
i
1
COMPROMISO
(
i
)i
X
*
i
1
ito
(i
,
j)
requerimen
inventario
(
j
)*
16
, donde requerimiento (i , j) es
SETS:
PRODUCTO/1..3/:NIVEL,COMPROMISO,GANANCIA;
INGREDIENTE/A..D/: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
POTAJE NUTRIENTE(mg/100g)
PROTEINA HIERRO TIACINA TIAMINA VITNA C GRASA MAXIMO
ESPAGUETI 5000 1.1 1.4 0.18 0 5000 300
PAVO 29300 1.8 5.4 0.06 0 5000 300
PAPAS 5300 0.5 0.9 0.06 10 7900 200
ESPINACAS 3000 2.2 0.5 0.07 28 300 100
PASTEL 4000 1.2 0.6 0.15 3 14300 100
MINIMO 63000 10 15 1 50 0
Función objetivo:
Min Z=X6;
SUJETO A:
X
i 1
i MAXIMOi / 100 ; donde MAXIMO i es la cantidad máxima de cada
X
i
*
1
nutriente
MINIMO
i , donde NUTRIENTEj,i . j ,es la cantidad de
j
,
i j
nutriente ya Sea de proteína, hierro, tiacina, tiamina, vitna C ,grasa por Cada
potaje i ya sea :Espagueti, pavo, papas, espinacas, pastel.
Y MINIMO j es la cantidad de potaje como máximo que debe existir.
Por lo tanto:
SETS:
POTAJE/1..5/:NIVEL,MAXIMO;
NUTRIENTE/1..6/:MINIMO;
PONU(POTAJE,NUTRIENTE):REQ;
ENDSETS
DATA:
MAXIMO=300,300,200,100,100;
MINIMO=63000,10,15,1,50,0;
REQ=5000,1.1,1.4,0.18,0,5000,
29300,1.8,5.4,0.06,0,5000,
5300,0.5,0.9,0.06,10,7900,
3000,2.2,0.5,0.07,28,300,
4000,1.2,0.6,0.15,3,14300;
ENDDATA
MIN=GRASA;
GRASA=@SUM(POTAJE(I):REQ(I,6)*NIVEL(I));
@FOR(POTAJE(I):NIVEL(I)<=MAXIMO(I)/100);
@FOR(NUTRIENTE(J):@SUM(POTAJE(I):REQ(I,J)*NIVEL(I))>=MINIMO(J));
END
A ASI SUCESIVAMENTE……….
DESDE AL CLIENTE
1 2 3 4
(dólares) (dólares) (dólares)
(dólares)
Fabrica 1 65 63 62 64
Fabrica 2 68 67 65 62
Fabrica 3 63 60 59 60
MAX 65 UNID( FAB1, CEN1) + 63 UNID( FAB1, CEN2) + 62 UNID( FAB1, CEN3)
+ 64 UNID( FAB1, CEN4)+ 68 UNID( FAB2, CEN1) + 67 UNID( FAB2, CEN2) + 65
UNID( FAB2, CEN3) + 62 UNID( FAB2, CEN4)+ 63 UNID( FAB3, CEN1) + 60
UNID( FAB3, CEN2) + 59 UNID( FAB3, CEN3) + 60 UNID( FAB3, CEN4)
SUBJECT TO
SETS:
FABR/FAB1,FAB2,FAB3/: CAPAC;
CLIEN/CEN1,CEN2,CEN3,CEN4/:DEMAN;
VIAS(FABR,CLIEN):GANAN,UNID;
ENDSETS
DATA:
CAPAC=3000 5000 5000;
DEMAN=4000 3000 3000 6000;
GANAN=65,63,62,64,
68,67,65,62,
63,60,59,60;
ENDDATA
MAX UNID=@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));
END
TABLA A
1 50 200
2 50 250
3 100 150
La corte local a decidido que cada una de las dos escuelas de segunda enseñanza
de la ciudad (Cooley y walt whitman) debe tener aproximadamente (más o menos
5%) el mismo porcentaje de estudiantes de minorías, 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 programación lineal para
determinar la asignación de los estudiantes a cada escuela para minimizar la
distancia total que tienen que viajar los estudiantes para llegar a ella.
TABLA B
WALT
DISTRITO COOLEY WHITMAN
1 1 2
2 2 1
3 1 1
SOLUCION:
SETS:
DIST/1 . . 3/ : ;
Capacidad de producción:
K
SM
X
,LP1
I,J,K,L
Para I=A,J=P1:
XA,P1_SM,TC + XA,P1,SM,CZ + XA,P1,L,TC + XA,P1,L,CZ <= 75 ;
Para I=A,J=P2:
XA,P2,SM,TC + XA,P2,SM,CZ + XA,P2,L,TC + XA,P2,L,CZ <= 60 ;
Para I=A,J=P3:
XA,P3,SM,TC + XA,P3,SM,CZ + XA,P3,L,TC + XA,P3,L,CZ <= 65 ;
Para I=B,J=P1:
XB,P1,SM,TC + XB,P1,SM,CZ + XB,P1,L,TC + XB,P1,L,CZ <= 65 ;
Para I=B,J=P2:
XB,P2,SM,TC + XB,P2,SM,CZ + XB,P2,L,TC + XB,P2,L,CZ <= 70 ;
Para I=B,J=P3:
XB,P3,SM,TC + XB,P3,SM,CZ + XB,P3,L,TC + XB,P3,L,CZ <= 75 ;
Para I=C,J=P1:
XC,P1,SM,TC + XC,P1,SM,CZ + XC,P1,L,TC + XC,P1,L,CZ <= 70 ;
Para I=C,J=P2:
XC,P2,SM,TC + XC,P2,SM,CZ + XC,P2,L,TC + XC,P2,LCZ <= 80 ;
Para I=C,J=P3:
XC,P3,SM,TC + XC,P3,SM,CZ + XC,P3,L,TC + XC,P3,L,CZ <= 75
Demanda:
C L
I
X
A,KSM
I,J,K,L
C P4
I
X
A,LP1
I,J,K,L
SETS:
! FABRICAS DONDE SE VA A PRODUCIR EL PAPEL;
DATA:
CAPACIDAD=75,60,65,
65,70,75,
70,80,75;
DEMANDA= 73,67,
58,72,
67,74;
CAPACCD= 150,140,
130,150;
PRECIO= 12,15,17,11,12,15,14,12,13,15,13,12,
10,13,14,12,14,16,13,14,15,11,12,13,
12,11,13,10,11,13,11,13,14,12,13,14;
ENDDATA
!FUNCION OBJETIVO ,MAXIMIZANDO LA UTILIDAD;
[OBJETIVO]MAX =@SUM(FPCC:PRECIO*X);
!RESTRICCION DE LA CAPACIDAD DE DISTRIBUCION ;
@FOR(FABPRO(I,J):@SUM(FPCC(I,J,K,L):X(I,J,K,L))<=CAPACIDAD(I,J));
!RESTRICCION DE LA DEMANDA;
@FOR(PROCIU(J,L):@SUM(FPCC(I,J,K,L):X(I,J,K,L))>=DEMANDA(J,L));
! RESTRICCION DE LA CAPACIDAD DE LOS CENTROS DE DISTRIBUCION;
@FOR(CDCIUDAD(K,L):@SUM(FPCC(I,J,K,L):X(I,J,K,L))<=CAPACCD(K,L));
END
A ASI SUCESIVAMENTE……….
Sucursal
Proveedor Jesús Callao San Los Olivos
María Luis
Ventanilla 6 2 6 7
Villa El Salvador 4 9 5 3
Chorrillos 8 8 1 5
MODEL:
! Problema de transporte de 3 proveedores a 4 sucursales;
SETS:
PROVEEDOR / 1..3/: CAPACIDAD;
END
Suponga que Ud. es trabajador de la empresa DISQUET S.A. Uno de los beneficios
que le otorga la empresa es el plan de retiro en que Ud. aporta 5% de su ingreso
mensual y 5% lo pone DISQUET S.A. El dinero de este plan de retiro es invertido en
cualquiera de dos fondos: fondos mutuos o fondos de acciones. Suponga que la
empresa le pregunta a Ud. qué fracción de dinero debe ser invertido en cada fondo.
Antes de tomar una decisión, Ud. investiga y se entera que el fondo de acciones ha
crecido a una tasa anual promedio de 10% mientras que los fondos mutuos a una
tasa anual promedio de 8%. Para diversificar su cartera de inversiones y controlar el
riesgo, Ud. no desea poner todos los huevos en una sola canasta por lo que ha
logrado identificar dos pautas:
Model:
Sets:
Tipos_de_inversion/acciones, fondos_mutuos/:tope_maximo;
cantidad(tipos_de_inversion): interes, monto;
Departamento S1 S2
Mezcla 2 1
Purificación 1 2
Model:
Sets:
Solvente/1..2/:;
Departamento/ mezcla, purificacion/: disponibilidad_horas;
Produccion(Solvente):cantidad, utilidad;
Data:
utilidad = 350, 450;
horas = 2,1,
1,2;
disponibilidad_horas=190, 292;
Enddata
Max=@sum (Produccion:cantidad*utilidad);
@for(Departamento(j):@sum(Produccion(i):cantidad(i)*horas(i,j))<=disponibilidad_horas(j));
@for (Produccion:cantidad(2)<=100);
Un banco otorga cuatro tipos de préstamos a sus clientes los cuales producen las
siguientes tasas de interés anual:
El banco ha dispuesto 250 millones de nuevos soles para otorgar los préstamos.
Las directivas que se deben tener presentes para efectuar los préstamos son:
a. Los préstamos para compras de casa deben ser al menos 55% de todos los
préstamos otorgados para compras de casa o terreno y al menos 25% de todos
los préstamos otorgados.
b. Los préstamos para compra de terrenos no pueden exceder el 25% de todos
los préstamos otorgados.
c. Para evitar el descontento público y la introducción de un impuesto no
previsto el dinero total anual recaudado por los préstamos no debe exceder el
15% del total de dinero destinado a los préstamos.
! PLANEAMIENTO FINANCIERO;
Model:
Sets:
Tipo_de_prestamo/casa, terreno, hogar,carro/:interes;
Dinero(Tipo_de_prestamo):cantidad;
Manual de lingo con problemas resueltos
Página 31
Endsets
Data:
interes= 0.14, 0.20, 0.20, 0.10;
Enddata
Max= @sum(Dinero(i):cantidad(i)*interes(i));
@sum(Dinero(i):cantidad(i))<=250;
@for(Dinero:cantidad(1)>=0.55*@sum(Dinero(i)|i#le#2:cantidad(i)));
@for(Dinero:cantidad(1)>=0.25*@sum(Dinero(i):cantidad(i)));
@for(Dinero:cantidad(2)<=0.25*@sum(Dinero(i):cantidad(i)));
@sum(Dinero(i):cantidad(i)*interes(i)) <=
0.15*@sum(Dinero(i):cantidad(i));
Solución:
Xij: unidades producidas por tipo de producto j (1, 2, 3, 4), utilizando cada maquina
i (1, 2)
SETS:
MAQ/1..2/:CAP;
PROD/1..4/:PV;
MATRIZ1(MAQ,PROD):TM,X,uti;
ENDSETS
DATA:
CAP=500,380;
MAX=@SUM(MATRIZ1:UTI*X);
@FOR(MAQ(I):@SUM(PROD(J):TM(I,J)*X(I,J))<=CAP(I));
END
Solución óptima:
MAX 45 X( 1, 1) + 40 X( 1, 2) + 15 X( 1, 3) + 25 X( 1, 4)+ 50 X( 2, 1) + 60 X( 2,
2) + 50 X( 2, 3) + 35 X( 2, 4)
SUBJECT TO
2] 2 X( 1, 1) + 3 X( 1, 2) + 4 X( 1, 3) + 2 X( 1, 4) <= 500
3] 3 X( 2, 1) + 2 X( 2, 2) + X( 2, 3) + 2 X( 2, 4) <= 380
END
Solución:
MIN Z = X1 + X2 + X3 + X4 + X4 + X5 + X6
Sujeto a:
Turno 1: X1 + X6 >= 4
Turno 2: X1 + X2 >=8
Turno 3: X2 + X3 >=10
Turno 4: X3 + X4 >=7
Turno 5: X4 + X5 >=12
Turno 6: X5 + X6 >=4
SETS:
HORAS/1..6/:X;
PERS/1..6/:MIN;
MATRIZ1(HORAS,PERS):CANT;
ENDSETS
DATA:
MIN=4,8,10,7,12,4;
CANT=1,1,0,0,0,0,
0,1,1,0,0,0,
0,0,1,1,0,0,
0,0,0,1,1,0,
0,0,0,0,1,1,
1,0,0,0,0,1;
ENDDATA
MIN=@SUM(HORAS:X);
@FOR(PERS(J):@SUM(HORAS(I):CANT(I,J)*X(I))>=MIN(J));
END
MIN X( 1) + X( 2) + X( 3) + X( 4) + X( 5) + X( 6)
SUBJECT TO
2] X( 1) + X( 6) >= 4
3] X( 1) + X( 2) >= 8
4] X( 2) + X( 3) >= 10
5] X( 3) + X( 4) >= 7
6] X( 4) + X( 5) >= 12
7] X( 5) + X( 6) >= 4
Solución:
Xj = cantidad de dólares a invertir en el tipo de inversión j (1, 2, 3, 4, 5,6) para
maximizar el rendimiento.
SETS:
TIPO/1..4/:INV;
CAR/1..6/:INT,X;
MATRIZ1(TIPO,CAR):DAT;
ENDSETS
DATA:
INT=8.5,9,8.5,14.3,6.7,13;
INV= 2000,400,10000,500;
DAT= 1,1,1,1,1,1,
0.02,0.01,0.38,0.45,0.07,0.35,
8,2,5,6,2,4,
0,0,0,1,0,1;
ENDDATA
MIN=@SUM(CAR:0.01*INT*X);
@FOR(TIPO(I):@SUM(CAR(J):DAT(I,J)*X(J))>=INV(I));
END
Global optimal solution found at step: 5
Objective value: 184.8433
Solución:
Si los estudiantes del distrito i (i = 1, 2, 3, 4, 5,6) son enviados a la escuela j (
Xij = =1,2)
0, si no es así.
s.a :
110 X11+75 X21+100 X31+90 X41 +90 X51 >=150(escuela 1 debe tener una
matricula de por lo menos 150 estudiantes)
110 X12+75 X22+100 X32+90 X42 +90 X52 >=150(escuela 2 debe tener una
matricula de por lo menos 150 estudiantes)
X11+ X12 =1(todos los estudiantes del distrito1 asisten a la misma escuela)
X21+ X22 =1(todos los estudiantes del distrito2 asisten a la misma escuela)
X31+ X32 =1(todos los estudiantes del distrito3 asisten a la misma escuela)
X41 + X42 =1(todos los estudiantes del distrito4 asisten a la misma escuela)
X51 + X52 =1(todos los estudiantes del distrito5 asisten a la misma escuela)
@for(distrito(i):total(i)=@sum(escuela(j):alumnos));
@FOR(distrito(i):@SUM(escuela(J):x(I,J))=1);
La distancia mínima total que todos los estudiantes de Metrópolis tienen que recorrer
hasta la escuela es 398.5 millas.
Eastinghouse embarca 1 2000 capacitores por mes para sus clientes. Se podrían
producir los capacitores en tres plantas distintas. La capacidad de producción,
costos fijos mensuales de operación y costos variables por la producción de un
capacitor en cada planta se proporcionan en la tabla 96. El costo fijo de una planta
se contrae sólo si la planta se usa para hacer capacitores. Desarrolle un modelo de
TABLA
SOLUCIÓN:
Yi = 1 si se utiliza la planta i.
0 en caso contrario.
i =1, 2, 3.
FUNCION OBJETIVO:
RESTRICCIONES:
X1 + X2 + X3 >= 12 000
X1 <= 6 000Y1
X2 <= 7 000Y2
X3 <= 6 000Y3
X1,X2,X3>0
Y1,Y2,Y3= 1 ó 0
Enddata
Min =@sum(planta(i):cf(i)*y(i))+@sum(planta(i):cv(i)*x(i));
!restriccion de la demanda;
@sum(planta(i):x(i))>=12000;
!restriccion de la capacidad;
@for(planta(i):x(i)<=cap(i)*y(i));
!restriccion binaria;
@for(planta(i):@bin(y));
End
MODEL:
END
Solución Lingo:
Model:
Sets:
Productos/1..2/: utilidad, cant;
materia_prima/1..2/:horas disponibles;
Horas(productos, materia_prima):hora;
Endsets
Data:
hora= 2, 5, 4, 6;
utilidad= 30, 40;
horas_disponibles= 150, 200;
Enddata
Max=@sum(productos(i):cant(i)*utilidad(i));
@for(materia_prima(j):@sum(productos(i):cant(i)*hora(i,j))<=horas_disponibles(j));
@for(productos(i):@gin(cant(i)));
End
3.Canfranc 55.000 88
MODEL:
TITLE MODELO DE BALINSKI;
!Definicion de Conjuntos;
SETS:
La variable y indica donde se tiene que construir una planta Industrial. Sus valores
serán binarios: 0=no se construye, 1=si se Construye;
Tabla N° 1
Lugar Tamaño Costo de Capacidad Costo de Manufactura
construcción (miles (miles de (dólares por unidad)
de dólares) unidades)
Ate Pequeña 1000 600 5.00
Grande 1500 1200 4.00
Bellavista Pequeña 1200 600 5.00
Grande 1600 1200 4.00
Enorme 2000 2000 3.50
NEWCOMP S.A. debe distribuir su producto en cuatro regiones. El costo de
transporte por unidad de las fábricas a las regiones y los requerimientos de las
regiones se presenta en la tabla N°2.
Tabla N°2
De la fábrica Hasta la región
1 2 3 4
ATE 1 2 3 4
BELLAVISTA 2 3 2 3
Requerimiento (Miles de 500 200 700 800
unidades)
NEWCOMP S.A. debe decidir en qué lugares se deben construir las fábricas, de qué
tamaños deben ser éstas y cómo se deben satisfacer los requerimientos de las
regiones.
Model:
Sets:
Manual de lingo con problemas resueltos
Página 44
fabrica/fpa,fga,fpb,fgb,feb/:capacidad,costo_construccion, costo_manufactura,
construccion;
region/r1,r2,r3,r4/:requerimiento;
rutas(fabrica, region): costo, cantidad;
Endsets
Data:
capacidad = 600, 1200, 600, 1200, 2000;
costo_construccion = 1000, 1500, 1200, 1600, 2000;
costo_manufactura = 5, 4, 5, 4, 3.5;
requerimiento = 500, 200, 700, 800;
costo = 1, 2, 3, 4,
1, 2, 3, 4,
2, 3, 2, 3,
2, 3, 2, 3,
2, 3, 2, 3;
Enddata
Min=@sum(rutas:costo*cantidad)+@sum(fabrica:
costo_construccion*construccion)
+@sum(fabrica(i):@sum(rutas(i,j):costo_manufactura(i)*cantidad(i,j)));
End
VENDIDO EN EL
AÑO 1 AÑO 2 AÑO 3
BIEN 1 15 20 24
BIEN 2 16 18 21
BIEN 3 22 30 36
BIEN 4 10 20 30
BIEN 5 17 19 22
BIEN 6 19 25 29
FUNCION OBJETIVO:
MAX Z = B( 1) + B( 2) + B( 3)
Donde:
RESTRICCIONES:
X( 1, 1) + X( 1, 2) + X( 1, 3) <= 1
X( 2, 1) + X( 2, 2) + X( 2, 3) <= 1
X( 3, 1) + X( 3, 2) + X( 3, 3) <= 1
X( 4, 1) + X( 4, 2) + X( 4, 3) <= 1
X( 5, 1) + X( 5, 2) + X( 5, 3) <= 1
X( 6, 1) + X( 6, 2) + X( 6, 3) <= 1
FORMULACION EN LINGO:
Sets:
bien/1..6/;
year/1..3/:a,b;
matriz(bien,year):precio,x;
Endsets
Data:
Max=@sum(year:b);
¡FUNCION OBJETIVO;
@for(year(j):@sum(bien(i):precio(i,j)*x(i,j))=b(j));
¡RESTRICCION 1;
@for(bien(i):@sum(year(j):x(i,j))<=1);
¡RESTRICCION 2
@for(year(j):@sum(bien(i):precio(i,j)*x(i,j))>=a(j));
@for(matriz:@bin(x));
SOLUCIÓN EN LINGO:
SOLUCION:
VARIABLES:
FUNCION OBJETIVO:
MIN Z = 5000Y (1) + 4000Y (2) + 6000Y (3) + 500X (1) + 350X (2) + 250X (3)
RESTRICCIONES:
X( 1) + X( 2) + X( 3) >= 1100
X( 1) <= 500
X( 2) <= 900
X( 3) <= 400
1000000 Y( 1) + X( 1) <= 0
1000000 Y( 2) + X( 2) <= 0
1000000 Y( 3) + X( 3) <= 0
FORMULACION EN LINGO:
COSTOS EN DOLARES;
!M=VALOR MUY GRANDE;
!COSTOE ES EL COSTO DE ENTREGA;
!X CANTIDAD DE COMPUTADORAS QUE VENDE EN VENDEDOR I;
!Y 1 SI EL VENDEDOR I VENDCOMPUTADORAS
ENDSETS
DATA:
COSTOE = 5000 4000 6000;
COSTO = 500 350 250;
MAXVEND= 500 900 400;
M=1000000;
REQUERIMIENTO=1100;
ENDDATA
MIN=@SUM(VENDEDOR(I):COSTO(I)*X(I))+@SUM(VENDEDOR(I):COSTOE(I)*Y(I
));
! RESTRICCION 1;
@SUM(VENDEDOR(I):X(I))>=REQUERIMIENTO;
! RESTRICCION DE 2;
@FOR(VENDEDOR(I):X(I)<=MAXVEND(I));
! RESTRICCION DE 3;
@FOR(VENDEDOR(I):X(I)<=M*Y(I));
SOLUCION EN LINGO:
TABLA 1
TABLA 2
SOLUCIÓN:
FUNCIÓN OBJETIVO:
MINZ=350*(5*X1)+330*(3*X2)+310*(4*X4)+500*Y1+450Y2+400Y3+100W
S.A.:
5*X1+4*X2+4*X3+6*X4+Y1+Y2+Y3+W=25 (PEDIDO)
5*(5*X1)+4*(3*X2)+5*(4*X3)+3*(6*X4)+8*Y1+7*Y2+6*Y3+3*W=5*25 (%
CARBONO)
3*(5*X1)+3*(3*X2)+4*(4*X3)+4*(6*X4)+6*Y1+7*Y2+9*W=5*25 (% MOLIBDENO)
X1+X2+X3+X4=1 (LINGOTE)
Y1+Y2+Y3>0
W>0
XI=0 Ó 1
YI>0
W>0
El programa en Lingo es:
Sets:
lingote/1..4/:peso,costo1,carbono1,molibdeno1,x;
aleacion/1..3/:costo2,carbono2,molibdeno2,y;
desperdicio/1..1/:costo3,carbono3,molibdeno3,w;
Endsets
Data:
peso = 5,3,4,6;
costo1 = 350 ,330 ,310 ,280;
carbono1 = 0.05, 0.04 ,0.05 ,0.03;
costo3 = 100;
carbono3 = 0.03;
molibdeno3 = 0.09;
Enddata
!funcion objetivo;
min = @sum(lingote(i):costo1(i)*peso(i)*x(i))+ @sum(aleacion(j):costo2(j)*y(j) )+
@sum(desperdicio(k):costo3(k)*w(k));
End
TABLA 1
REPRESENTANTE MERCADOS – VENTA
DENTRO DE Piura Ayabaca Paita Sechura Morropón Sullana
55Km
SI 130 120 130 110 110 122
NO 70 40 80 70 90 50
TABLA 2
Base- Piura Ayabaca Paita Sechura
Fábrica
Mercado
Piura 0 229 60 50
Ayabaca 229 0 117 260
Paita 60 117 0 55
Sechura 50 260 55 0
Morropón 60 58 115 52
Sullana 39 40 47 239
SOLUCIÓN:
∑ ∑ 𝑋𝑖,𝑗 ≤ 𝑅𝐸𝑃𝑅𝐸𝑗
𝑗 =1 𝑖 =1
𝟔 𝟒
∑ ∑ 𝑺𝑰𝒊 × 𝑿𝒊,𝒋 = 𝒀𝒊
𝒊=𝟏 𝒋=𝟏
SALARIO DE REPRESENTANTES
6 4
8400 × ∑ ∑ 𝑋𝑖,𝑗 = 𝐶𝑂𝑆𝑇𝑂
𝑖=1 𝑗=1
FUNCION OBJETIVO
𝟔 𝟔
𝑴𝑨𝑿 = 𝟕𝟎 × ∑ 𝑾𝒊 + ∑ 𝒀𝒊 − 𝑪𝑶𝑺𝑻𝑶
𝒊=𝟏 𝒊=𝟏
INTERPRETACIÓN
FUNCION OBJETIVO:
Lo que pide el problema es maximizar las utilidades por cada año de
operación por lo cual se analizaran los ingresos y egresos.
Ingresos:
Los ingresos son proporcionales a la cantidad de pares de zapatos vendidos.
Morropón 90 90 90 110X54
RESTRICCIONES:
Cantidad mínima de los representantes de cada fábrica
X11 + X41 + X61 <= 10
X22 + X62 <= 8
X33 + X43 + X 63 <= 6
X14 + X34 + X44 + X54 <= 9
Cantidad mínima de representante por mercado
X11 + X14 >= 4
X22 >= 5
X33 + X34 >= 3
X41 + X43 + X 44 >= 2
X54 >= 1
X61 + X62 + X 63 >= 4
IMPLEMENTACIÓN EN LINGO:
En LINGO se realizan implementaciones muy largas y tediosas, pero estas
siempre siguen un formato de suma o repetición por filas y columnas.
DEFINICIÓN DE SETS:
Según lo planteado y a los datos del problema tenemos:
SETS:
MERCADOS/1..6/:SI,NO,W,Y,REPREMIN;
FABRICAS/1..4/:REPRE;
MERCAFABRI(MERCADOS,FABRICAS):DIST,X,H,T,Z;
@FOR(MERCAFABRI(I,J)|DIST(I,J)#LE#55:H(I,J)=1);!REPRESENTANTES
;
@FOR(MERCAFABRI(I,J)|DIST(I,J)#GT#55:H(I,J)=0);
@FOR(MERCAFABRI(I,J)|DIST(I,J)#GT#55:T(I,J)=1);!SIN
REPRESENTANTES;
@FOR(MERCAFABRI(I,J)|DIST(I,J)#LE#55:T(I,J)=0);
Las demás sentencias son análogas, solo que DIST(I,J)#GT#55; indica que
solo se realizará la operación si DIST(I,J)>55.
∑ ∑ 𝑋𝑖,𝑗 ≤ 𝑅𝐸𝑃𝑅𝐸𝑗
𝑗 =1 𝑖 =1
Salario De Representantes
6 4
8400 × ∑ ∑ 𝑋𝑖,𝑗 = 𝐶𝑂𝑆𝑇𝑂
𝑖=1 𝑗=1
!SALARIO DE REPRESENTANTES;
@SUM(MERCAFABRI(I,J):X(I,J))*8400=COSTO;
Función Objetivo
𝟔 𝟔
𝑴𝑨𝑿 = 𝟕𝟎 × (∑ 𝑾𝒊 + ∑ 𝒀𝒊 ) − 𝑪𝑶𝑺𝑻𝑶
𝒊=𝟏 𝒊=𝟏
MAX=70*(@SUM(MERCADOS(I):W(I))+@SUM(MERCADOS(I):Y(I)))-COSTO;
Definición de data.
Data directa en lingo:
DATA:
DIST= 0 229 60
50
229 0 117 260
60 117 0 55
50 260 55 0
60 58 115 52
39 40 47 239;
REPRE=10 8 6 9;
REPREMIN=4 5 3 2 1 4;
SI=130 120 130 110 110
122;
NO=70 40 80 70 90 50;
ENDDATA
Data exportada de Excel:
DATA:
DIST,REPRE,REPREMIN,SI,NO= @OLE('F:\VII
CICLO\OPE\LABO\PROBLEMA2.xlsx');
ENDDATA
PROGRAMA EN LINGO:
MODEL ASIGNACION :
!MODELO DE ASIGNACION DE REPRESENTANTES;
SETS:
MERCADOS/1..6/:SI,NO,W,Y,REPREMIN;
FABRICAS/1..4/:REPRE;
MERCAFABRI(MERCADOS,FABRICAS):DIST,X,H,T,Z;
ENDSETS
DATA:
DIST,REPRE,REPREMIN,SI,NO= @OLE('G:\VII
CICLO\OPE\LABO\DATA1.xlsx');
ENDDATA
MAX=70*(@SUM(MERCADOS(I):W(I))+@SUM(MERCADOS(I):Y(I)))-
COSTO;
@FOR(MERCAFABRI(I,J)|DIST(I,J)#LE#55:H(I,J)=1);!REPRESENTA
NTES;
@FOR(MERCAFABRI(I,J)|DIST(I,J)#GT#55:H(I,J)=0);
!SALARIO DE REPRESENTANTES;
@SUM(MERCAFABRI(I,J):X(I,J))*8400=COSTO;
END
TABLA 1
Año 1 Año 2 Año 3
Proyecto Tasa Inve Proyecto Tasa Inver Proyecto Tasa Inversi
SUCU de rsión de sión de ón
RSAL utilid máxi utilid máxi utilid máxim
ad ma ad ma ad a
(%) (m) (%) (m) (%) (m)
Trujil 1 8 10 1 9 9 1 8 8
lo 2 6 7 2 6 5 2 7 7
3 7 9 3 7 9 3 7 7
Lima 1 5 7 1 6 4 1 5 9
2 8 10 2 18 10 2 8 8
3 9 5 3 5 6 3 5 5
Tacna 1 10 6 1 11 6 1 7 6
2 6 7 2 6 10 2 6 11
3 15 5 3 15 5 3 15 6
TABLA 2
Adicionalmente por una directiva de la alta gerencia se requiere que los proyectos
que tienen una utilidad mayores del 7% en cualquier año, por lo menos tengan una
inversión de 5 millones.
SOLUCIÓN:
Definición de parámetros:
3
X i, j, k + Sobrante i, k = Máximo i, k
j =1
k=1 (Solo el primer año)
i = 1, 2, 3 (Sucursal).
3
X i , j ,k -Sobrante i,k-1 + Sobrante i, k = Máximo i, k
j 1
k 2, 3 (Periodo)
i 1, 2, 3 (Sucursal)
RESTRICCIÓN DE INVERSIÓN MÍNIMA PARA ALGUNOS PROYECTOS
ESPECÍFICOS.
X i , j ,k ≥ Mínimo i , j ,k ; Solo para (i=1, j=2, k=1) Λ (i=2, j=1, k=1) Λ
(i=3, j=2, k=2)
RESTRICCIÓN DE INVERSIÓN MÁXIMA POR PROYECTO EN CADA
SUCURSAL.
X i , j ,k ≤ InvMáxima i , j ,k i =1, 2, 3 j =1, 2, 3 k=1, 2, 3
MODEL PRESUPUESTOS:
! MODELO DE ASIGNACION DE PRESUPUESTO;
SETS:
SUCURSAL /TRUJILLO,LIMA,TACNA/:;
PROYECTO /1..3/: ;
PERIODO /1..3/: ;
SUCURSAL_PERIODO (SUCURSAL,PERIODO) : SOBRANTE, MAXIMO;
SUCURSAL_PROYECTO_PERIODO (SUCURSAL,PROYECTO,PERIODO):TASA,
INVMAXIMA, ASIGNACION;
INVERSION_MINIMA (SUCURSAL,PROYECTO,PERIODO)/TRUJILLO 2 1, LIMA 1 1, TACNA 2
2 /: MINIMO;
ENDSETS
DATA:
TASA,INVMAXIMA,MINIMO,PRESUPUESTO,INVMINIMA= @OLE('G:\VII
CICLO\OPE\LABO\DATA2.xlsx','tasa','INV_MAX','mínima','presupuesto','inv_mínima'
);
MAXIMO = 20, 20, 20,
20, 20, 20,
20, 20, 20;
ENDDATA
! Funcion Objetivo;
MAX = FO;
FO=@SUM(SUCURSAL_PROYECTO_PERIODO: TASA * ASIGNACION );
END
3 3 3
𝑀𝐴𝑋 = ∑ ∑ ∑ 𝑇𝑎𝑠𝑎𝑖,𝑗,𝑘 𝑥 𝑋𝑖,𝑗,𝑘
𝑖=1 𝑗=1 𝑘=1
PROYECTO 1 PROYECTO 2
1 2 3 1 2 3
TRUJILLO 10 9 8 TRUJILLO 4 0 7
LIMA 5 4 9 LIMA 10 10 8
TACNA 6 6 6 TACNA 5 10 11
PROYECTO 3
1 2 3
TRUJILLO 6 9 7
LIMA 5 4 5
TACNA 5 5 6
Una compañía dispone de 35 millones para distribuirlos el próximo año entre sus
sucursales (Arequipa, Cuzco, Trujillo). Debido a compromisos de la estabilidad, el
nivel de empleados y por otras razones la compañía ha establecido un nivel mínimo
de asignación de fondos para cada sucursal. Estos fondos mínimos son de 8, 10 y
15 millones de dólares respectivamente. Debido a la naturaleza de su operación, la
sucursal Cuzco no puede utilizar más de 20 millones de dólares. Cada sucursal tiene
la oportunidad de dirigir distintos proyectos con los fondos que recibe. Para cada
proyecto se ha establecido una tasa de ganancia (como un porcentaje de la
inversión). Por otra parte, algunos de los proyectos permiten solo una inversión
limitada. A continuación se dan los datos para cada proyecto.
Solución:
Dada la información del problema, lo que se debe hacer es maximizar las utilidades
de la compañía en mención, asignando de la mejor manera los fondos a sus
respectivas sucursales.
6.3 RESTRICCIONES:
Arequipa:
X11 ≤ InvMaxima11
X12 ≤ InvMaxima12
X13 ≤ InvMaxima13
Cuzco:
X21 ≤ InvMaxima21
X22 ≤ InvMaxima22
X23 ≤ InvMaxima23
Trujillo:
X31 ≤ InvMaxima31
X32 ≤ InvMaxima32
X33 ≤ InvMaxima33
X11 +X12 +X13 +X21 +X22 +X23+ X31 +X32 +X33 ≤ PresupuestoTotal
De los resultados del reporte, en la parte superior se nota que la función objetivo se
optimiza cuando la rentabilidad es máxima, es decir, cuando toma el valor de 3.32
millones de dólares.
Y en este último cuadro se puede ver la forma cómo tienen que ser repartidos los
fondos a las diversas sucursales de la compañía para alcanzar una máxima utilidad.
A la sucursal de Arequipa se le asigna 8 millones para invertir en el proyecto 1, a la
sucursal del Cuzco 8 millones para el proyecto 2 y 4 millones para el proyecto 3 y
finalmente para la sucursal de Trujillo 1 millón para el proyecto 1, 3 millones para el
proyecto 2 y 6 millones para el proyecto 3.
Tacna Cuzco
Supermercado Librería Supermercado Librería
Producto Producto Producto Producto Producto Producto Producto Producto Producto Producto Producto Producto
1 2 3 1 2 3 1 2 3 1 2 3
Fábrica
A 12 15 17 11 12 15 14 12 13 15 13 12
Fábrica
B 10 13 14 12 14 16 13 14 15 11 12 13
Fábrica
C 12 11 13 10 11 13 11 13 14 12 13 14
Demanda:
Tacna Cuzco
Producto 1 73 67
Producto 2 58 72
Producto 3 67 74
Tacna Cuzco
Solución:
Xijkl: cantidad de productos elaborados en la fábrica “i”, que corresponde al tipo “j”,
distribuido en “k”, en la ciudad “l”
Donde:
₪ Tipo de fábrica: i= A, B, C
₪ Tipo de producto: j= P1, P2, P3
₪ Tipo de centro de distribución: k=supermercado (S), librería (L)
₪ Ciudades: l=Tacna (T), Cuzco (Cz)
Función objetivo:
𝐶 𝑃3 𝐿 𝐶𝑧
∑ ∑ ∑ ∑ 𝑋𝑖𝑗𝑘𝑙 ∗ 𝑃𝑅𝐸𝐶𝐼𝑂𝑖𝑗𝑘𝑙
𝑖=𝐴 𝑗=𝑃1 𝑘=𝑆 𝑙=𝑇
Sujeto a:
Capacidad de producción:
𝐿 𝑃3
∑ ∑ 𝑋𝑖𝑗𝑘𝑙
𝑘=𝑆𝑀 𝑙=𝑃1
Demanda:
𝐶 𝐿
∑ ∑ 𝑋𝑖𝑗𝑘𝑙
𝑖=𝐴 𝑘=𝑆
∑ ∑ 𝑋𝑖𝑗𝑘𝑙
𝑖=𝐴 𝑗=𝑃1
FPCC(FABRICAS,PRODUCTOS,CENTRO,CIUDAD):PRECIO,X;
FABPRO(FABRICAS,PRODUCTOS):CAPACIDAD;
PROCIU(PRODUCTOS,CIUDAD):DEMANDA;
CENCIUDAD(CENTRO,CIUDAD):CAPACIDAD2;
ENDSETS
DATA:
CAPACIDAD= 75 60 65,
65 70 75,
70 80 75;
DEMANDA= 73 67,
58 72,
67 74;
CAPACIDAD2= 150 140,
130 150;
PRECIO= 12 15 17 11 12 15 14 12 13 15 13 12,
10 13 14 12 14 16 13 14 15 11 12 13,
12 11 13 10 11 13 11 13 14 12 13 14;
ENDDATA
MAX=@SUM(FPCC:PRECIO*X);!FUNCION OBEJTIVO RESULTADO;
@FOR(FABPRO(I,J):@SUM(FPCC(I,J,K,L):X(I,J,K,L))<=CAPACIDAD(I,J));
!RESTRICCIONES DE LA CAPACIDAD DE CADA RECURSO;
@FOR(PROCIU(J,L):@SUM(FPCC(I,J,K,L):X(I,J,K,L))>=DEMANDA(J,L));
!RESTRICCIONES DE LA DEMANDA DE CADA RECURSO;
@FOR(CENCIUDAD(K,L):@SUM(FPCC(I,J,K,L):X(I,J,K,L))<=CAPACIDAD2(K,L));
Fabrica A:
La empresa debe de distribuir las 75 unidades del producto 1 a la librería de la
ciudad de Tacna.
También debe distribuir 5 unidades del producto 2 al supermercado de la ciudad
del Cuzco y el resto (55 unidades) será enviada a la librería de la ciudad de Tacna.
Además debe distribuir 65 unidades del producto 3 al supermercado de la ciudad
del Cuzco.
Fabrica B:
La empresa debe distribuir 1 unidad del producto 1 al supermercado de la ciudad
del Cuzco. Además tiene que distribuir 64 unidades a la librería de la ciudad del
Cuzco.
Además debe distribuir 3 unidades del producto 2 al supermercado de la ciudad
de Tacna. También 67 unidades al supermercado de la ciudad del Cuzco.
También podemos ver que se debe distribuir 75 unidades del producto 3 al
supermercado de la ciudad de Tacna.
Fabrica C:
Se deben distribuir 6 unidades del producto 1 al supermercado de Tacna. Además
de 2 unidades al supermercado de Cuzco.
También se debe distribuir 77 unidades del producto 2 a la librería del Cuzco.
También se debe distribuir 66 unidades del producto 3 al supermercado de Tacna.
Además de 9 unidades a la librería de la ciudad de Cuzco.
Holgura o Excedente
Precio Dual
El precio dual se puede interpretar como el monto en que la función objetivo mejorará
si el segundo miembro de la restricción se incrementase en una unidad en nuestro
cuadro de resultados podemos ver que Row 2 =4 esto quiere decir que si al recurso
de la segunda restricción le aumentamos en 4 unidades, es decir 60+4=64 el nuevo
valor de nuestra FO= 2864, aumentará en 4 unidades.
CONCLUSIONES
a) Los pasos que se sigue para crear una base de datos en EXCEL son:
b) Crear una carpeta en C, por ejemplo: TRABAJO DE OPE I
c) Crear un hoja de cálculo denominado PROBLEMA 1
d) Luego en la hoja de cálculo poner los datos del problema:
FPCC(FABRICAS,PRODUCTOS,CENTRO,CIUDAD):PRECIO,X;
FABPRO(FABRICAS,PRODUCTOS):CAPACIDAD;
PROCIU(PRODUCTOS,CIUDAD):DEMANDA;
CENCIUDAD(CENTRO,CIUDAD):CAPACIDAD2;
ENDSETS
DATA:
PRECIO,CAPACIDAD,DEMANDA,CAPACIDAD2=@OLE('C:\LINGO11\Samples\PROBLEMA
1.XLS','precio','capacidad','demanda','capacidad1');
ENDDATA
MAX=FO;
FO=@SUM(FPCC:PRECIO*X);
@FOR(FABPRO(J,I):@SUM(FPCC(I,J,K,L):X(I,J,K,L))<=CAPACIDAD(J,I));
!RESTRICCIONES DE LA CAPACIDAD DE CADA RECURSO;
@FOR(PROCIU(J,L):@SUM(FPCC(I,J,K,L):X(I,J,K,L))>=DEMANDA(J,L));
!RESTRICCIONES DE LA DEMANDA DE CADA RECURSO;
@FOR(CENCIUDAD(K,L):@SUM(FPCC(I,J,K,L):X(I,J,K,L))<=CAPACIDAD2(K,L));
FO 8260
Para registrar esta base de datos como una fuente de datos ODBC para nuestro
modelo, debe iniciar el Administrador de ODBC de la siguiente manera:
5. Haga clic en el botón Aceptar para cerrar el Administrador de ODBC. Ahora debe
ser capaz de iniciar y resolver el modelo LINGO PROBLE.LG4.
!PROBLEMA LINGO;
MODEL:
SETS:
FABRICAS / A B C/:; !Tipo de fábrica: i= A, B, C ;
PROCIU(PRODUCTOS,CIUDAD):DEMANDA;
CENCIUDAD(CENTRO,CIUDAD):CAPACIDAD2;
ENDSETS
DATA:
PRECIO,CAPACIDAD,DEMANDA,CAPACIDAD2=@OLE('C:\Archivos de
programa\LINGO11\Samples\PROBLE.MDB','precio','capacidad','demanda','c
apacidad1');
ENDDATA
MAX=FO;
FO=@SUM(FPCC:PRECIO*X);
Las herramientas matemáticas como LINGO permiten que alumnos con unos
conocimientos elementales en optimización puedan resolver una amplia gama de
problemas. En aquellas titulaciones en las cuales las matemáticas no son el fin en
sí mismas y se reducen a una herramienta de trabajo, resulta de mayor interés la
formulación de los problemas, la interpretación y el análisis de las soluciones, en
detrimento del método empleado en la obtención de dicha solución.