2.- Idem del problema de selección de cartera.
3.- Optimización elástica: En el problema básico de minimizar coste, la producción mínima puede reducirse en un máximo de 10 unidades pero ello implicaría un aumento de coste de 6 por cada unidad que se reduzca ya que debería subcontratar la producción de esas unidades. Formular el problema con esta restricción blanda.
4.- Solucionar el problema del escalado del siguiente modelo de maximizar
la utilidad:
Max 3x2y0,5
s.a: 50.000x + 30.000y <= 10.000.000
PARA HACER EN CLASE (caso no lineal): (Página 74) Min. x2+2y2-0,5xy
s.a: 2x + 5y >= 4
x + y = 1
x, y >= 0
Solución: Fichero LINGO
Max. 3x+5y+8z
s.a: 2x+y+3z <= 116
x+2y+4z <= 123
a) Pasar a LINGO, resolver e interpretar la solución.
Fichero LINGO
MAX=3*X+5*Y+8*Z;
2*X+Y+3*Z<116;
X+2*Y+4*Z<123;
Informe respuestas
b) Identificar la unicidad de la solución (cambiar c2=6).
c) Análisis de sensibilidad: obtención e interpretación.
Range
Report
d) Introducción de cotas (5<= x <=20; 8<= y <=25;
5<= z <=15). Reinterpretar el análisis de sensibilidad.
Cotas como restricciones: Fichero LINGO:
MAX=3*X+5*Y+8*Z;
2*X+Y+3*Z<116; X+2*Y+4*Z<123; X>5; X<20; Y>8; Y<25; Z>5; Z<15; |
Cotas con función BND: Fichero
LINGO
MAX=3*X+5*Y+8*Z;
2*X+Y+3*Z<116; X+2*Y+4*Z<123; @bnd(5,X,20); @bnd(8,Y,25); @bnd(5,Z,15); |
e) Introducción de condiciones de integridad. No se permite el
análisis de sensibilidad.
(se mantienen las cotas) Fichero
LINGO
MAX=3*X+5*Y+8*Z;
2*X+Y+3*Z<116; X+2*Y+4*Z<123; @bnd(5,X,20); @bnd(8,Y,25); @bnd(5,Z,15); @gin(X); @gin(Y); @gin(Z); |
2.- Problema de transporte (página 29): Se trasladan cantidades
de producto desde dos almacenes a tres ciudades. Las distancias en kilómetros
desde el almacén 1 a las tres ciudades son (40,20,210) y las del
almacén 2 (120,60,130). El coste es de 5 pts. por unidad transportada
y kilómetro. Las existencias en almacén son 5450 y 8755 unidades
y las demandas de cada ciudad son 2135, 7215 y 4435.
a) Determinar el esquema de transporte que minimiza el coste. Interpretar
la solución.
b) Análisis de sensibilidad. Respuestas ante cambios en la demanda
de las tres ciudades.
PARA HACER EN CLASE (Problema de selección de cartera. Págs. 80-87):
Min. xTQx
s.a: rTx>=Rmin
x1+...+x8=1
0.05<= xi <=0.4
con r=(0.06,0.055,0.05,0.05,0.045,0.06,0.04,0.05)
Rmin=0.055
Q=matriz de varianzas y covarianzas:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SETS:
ACTIVOS/1..8/:r,x; MATRIZCOVARS(ACTIVOS,ACTIVOS):cov; ENDSETS DATA: r =0.06,0.055,0.05,0.05,0.045,0.06,0.04,0.05; cov=0.12,0,0,0,-0.08,0,0,0, 0,0.08,0,0,0,0.03,0,0, 0,0,0.04,0,0,0,0,-0.1 0,0,0,0.03,0,0,0,0, -0.08,0,0,0,0.02,0,0,0, 0,0.03,0,0,0,0.1,0,0, 0,0,0,0,0,0,0.005,0 0,0,-0.1,0,0,0,0,0.035; ENDDATA MIN=@SUM(MATRIZCOVARS(I,J):cov(I,J)*x(I)*x(J)); @SUM(ACTIVOS:r*x)>0.055; @SUM(ACTIVOS:X)=1; @FOR(ACTIVOS:@BND(0.05,x,0.4)); |
Fichero LINGO que importa datos del fichero EXCEL cartera.xls
SETS:
ACTIVOS/1..8/:r,x; MATRIZCOVARS(ACTIVOS,ACTIVOS):cov; ENDSETS DATA: r=@ole('a:cartera.xls'); cov=@ole('a:cartera.xls'); ENDDATA MIN=@SUM(MATRIZCOVARS(I,J):cov(I,J)*x(I)*x(J)); @SUM(ACTIVOS:r*x)>0.055; @SUM(ACTIVOS:X)=1; @FOR(ACTIVOS:@BND(0.05,x,0.4)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.- Problema de la mochila. Escribe matemáticamente el siguiente
problema, que en lenguaje de modelización de LINGO es:
SETS:
OBJETOS / TELMOVIL, CERVEZA, PICO, BOCATA, CHUBASQUERO, CREMASOLAR, ENSALADA, MELON/: INCLUIR, PESO, UTILIDAD; ENDSETS DATA: PESO UTILIDAD = 1 2 3 9 4 3 3 8 3 10 1 6 5 4 10 10; CAPMOCHILA = 15; ENDDATA MAX = @SUM( OBJETOS: UTILIDAD * INCLUIR); @SUM( OBJETOS: PESO * INCLUIR) <= CAPMOCHILA; @FOR( OBJETOS: @BIN( INCLUIR)); |
4.- Modelo de asignación. Escribe matemáticamente el siguiente
problema, que en lenguaje de modelización de LINGO es:
SETS:
CANDIDATOS / JUAN, MARIA, VICTOR, MARTA, DANIEL, MANUEL/:; PUESTOS/CAJA1, CAJA2, INFORMACION, TELEFONO, REPARTO, ALMACEN/:; MATRIZ(CANDIDATOS,PUESTOS):PUNTUACION,ASIGNAR; ENDSETS DATA: PUNTUACION = 4,5,4,7,5,3 6,7,8,5,6,7 5,4,7,3,9,8 6,5,7,5,8,5 7,7,5,6,4,7 6,7,4,7,6,6; ENDDATA MAX = @SUM( MATRIZ: PUNTUACION*ASIGNAR); @FOR(CANDIDATOS(I):@SUM(PUESTOS(J):ASIGNAR(I,J))=1); @FOR(PUESTOS(J):@SUM(CANDIDATOS(I):ASIGNAR(I,J))=1); @FOR( MATRIZ: @BIN( ASIGNAR)); |
|
|
© Robert Meneu Gaya, Juan Manuel Pérez-Salamero
González
|