

























Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Apuntes lingo para mates 2 del segundo cuatri con solución
Tipo: Ejercicios
1 / 33
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!


























a) Lingo graba el modelo con extensión lg4 y la solución con extensión lgr.
b) Elegir las OPCIONES CORRECTAS al ejecutar Lingo. Menú:
Pestaña
c) Valores en la solución proporcionada por Lingo que hay que conocer:
VALUE: Valor óptimo de las variables. SLACK or SURPLUS DE LA FUNCIÓN OBJETIVO : Valor óptimo de la función objetivo. SLACK or SURPLUS: La diferencia entre el valor que toma la restricción y el valor máximo o mínimo que puede tomar. Es el valor de la variable de holgura. Por ejemplo, si para la restricción 2x+3y+4z>500 el SLACK es 200, significa que si sustituimos el valor óptimo de las variables en 2x+3y+4z el valor que obtendremos será 200 unidades mayor que 500; es decir tomará el valor de 700. Es decir, en el óptimo nos pasamos 200 de 500. Por ejemplo, si para la restricción 2x+3y+4z<500 el SLACK es 200, significa que si sustituimos el valor óptimo de las variables en 2x+3y+4z el valor que obtendremos será 200 unidades menor que 500; es decir tomará el valor de 300. Es decir, en el óptimo nos faltan 200 para llegar a 500. DUAL PRICE: Indica lo que mejoraría aproximadamente el valor óptimo de la función objetivo por cada unidad que pudiéramos aumentar el termino independiente de la restricción correspondiente. Es decir, lo que aumentaría si el problema es de maximizar y lo que disminuiría si el problema fuera de minimizar. Entonces el nuevo valor óptimo de la función objetivo se calcularía como: En un problema de maximizar: ݂ே∗^ ݂ൎ (^) ∗^ ݁ݐ݊݁݅݀݊݁݁݀݊ܫ݊݅݉ݎ݁ܶ݊݅ܿܽ݅ݎ ܸܽ∗ ܲܦ En un problema de minimizar: ݂ே∗^ ݂ൎ (^) ∗^ ݁ݐ݊݁݅݀݊݁݁݀݊ܫ݊݅݉ݎ݁ܶ݊݅ܿܽ݅ݎ ܸܽ∗ ܲܦ െ REDUCED COST: Indica lo que empeoraría aproximadamente el valor óptimo de la función objetivo por cada unidad que decidiéramos aumentar el valor de una variable no negativa que vale cero en la solución óptima. Es decir, lo que disminuiría si el problema es de maximizar y lo que aumentaría si el problema fuera de minimizar. Entonces el nuevo valor óptimo de la función objetivo se calcularía como: En un problema de maximizar: ݂ே∗^ ݂ൎ (^) ∗^ ݈ܾ݁ܽ݅ݎܸܽݎ݈ܸܽ݊݅ܿܽ݅ݎ ܸܽ∗ ܥ ܴെ En un problema de minimizar: ݂ே∗^ ݂ൎ (^) ∗^ ݈ܾ݁ܽ݅ݎܸܽݎ݈ܸܽ݊݅ܿܽ݅ݎ ܸܽ∗ ܥ ܴ
Solución:
Global optimal solution found. Objective value: 568. Infeasibilities: 0. Total solver iterations: 2 Model Class: LP Total variables: 4 Nonlinear variables: 0 Integer variables: 0 Total constraints: 5 Nonlinear constraints: 0 Total nonzeros: 20 Nonlinear nonzeros: 0 Variable Value Reduced Cost X1 0.000000 0. X2 0.000000 0.6000000E- X3 61.00000 0. X4 46.00000 0.
Row Slack or Surplus Dual Price BENEFICIOS 568.8000 1. MADERA 0.000000 2. ACERO 0.000000 11. ORO 10.00000 0. MANO_DE_OBRA 42.00000 0.
Interpretación de la solución:
óptimo?
óptimo?
óptimo?
Una empresa desea producir un mínimo de 500 unidades en total de tres artículos A, B y C con el
coste mínimo. Para ello utiliza dos materias primas cuya limitación está en 720 u. y 600 u.
respectivamente. También necesita una tercera materia prima que no tiene limitada, pero de la que
desea gastar al menos 100 u. para deshacerse de su stock.
Modelo Lingo: !con la opción de variables no negativas activada; [coste]min=3x + 2y + 10*z;
[produccion_total]x + y + z > 500; [materia_prima1]2x + 3y + z < 720; [materia_prima2]x + 2y + z < 600; [materia_prima3]2x+2y+2z>100;
Solución:
Variable Value Reduced Cost X 220.0000 0. Y 0.000000 6. Z 280.0000 0.
Row Slack or Surplus Dual Price COSTE 3460.000 -1. PRODUCCION_TOTAL 0.000000 -17. MATERIA_PRIMA1 0.000000 7. MATERIA_PRIMA2 100.0000 0. MATERIA_PRIMA3 900.0000 0.
Interpretación de la solución:
[Distribucion_L1] M1+T1>190; Solución:
Global optimal solution found. Objective value: 36530. Infeasibilities: 0. Total solver iterations: 7 Model Class: LP Total variables: 6 Nonlinear variables: 0 Integer variables: 0 Total constraints: 7 Nonlinear constraints: 0 Total nonzeros: 20 Nonlinear nonzeros: 0 Variable Value Reduced Cost M1 100.0000 0. M2 0.000000 27. T1 90.00000 0. T2 110.0000 0. N1 0.000000 100. N2 245.3333 0.
Row Slack or Surplus Dual Price COSTE 36530.00 -1. PRODUCCION_L1 30.00000 0. PRODUCCION_L2 0.000000 -6. HORAS_M 0.000000 37. HORAS_T 0.000000 22. HORAS_N 54.66667 0. DISTRIBUCION_L1 0.000000 -77.
Interpretación de la solución:
Hay que ser capaz de identificar el tipo de solución que presenta un problema al resolverlo con lingo.
Es decir, identificar si el problema es:
a) Infactible: Indicado en el LINGO con una ventana de error con el texto: NO FEASIBLE SOLUTION
FOUND. La solución proporcionada por el LINGO en este caso no es válida.
b) No Acotado : Indicado en el LINGO con una ventana de error con el texto: UNFEASIBLE. La
solución proporcionada por el LINGO en este caso no es válida.
c) Con Solución Óptima.
Max 2x+y
s.a. x+y ≤ 10
x≥4,y≥
Si el problema tiene solución óptima, escribe la solución óptima (variables principales y función
objetivo)
Max x+y
s.a. x+y ≥ -
x,y≥
Si el problema tiene solución óptima, escribe la solución óptima (variables principales y función
objetivo)
Max 2x-y
s.a. x+y ≤ -
x,y≥
Si el problema tiene solución óptima, escribe la solución óptima (variables principales y función
objetivo)
Ejemplos:
(CON opción v. no negativas)
(SIN opción v. no negativas)
(Usando @BND con números suficientemente grandes o pequeños) ݕ 5 @FREE(y); y<5;
y<5; @BND(-10000,y,5);
െ8 y 40 @FREE(y) y<40; y>-8;
y<40; y>-8;
@BND(-8,y,40);
y libre @FREE(y); No se pondría nada @BND(- 100000,y,100000); y entera y≥
@GIN(y); @GIN(y); y>0; ݕ 0 @FREE(y); y<0;
y<0;
s.a. ex^ ≤ 20 ln(x^5 )≤ 5 x,y ≥ 0 Modelo lingo con la opción de variables no negativas:
Solución:
s.a. 2x+y-3z ≤ 9 y ≤ 5 x entera, x ≥ 0, z ≤ 0 Modelo lingo con la opción de variables no negativas:
Modelo lingo sin la opción de variables no negativas:
Solución:
s.a.
௫ାଶ௭ ௬ିଶ 150 x-y+z 2 ≤ x≥0 , y≤ Modelo lingo con la opción de variables no negativas:
Modelo lingo sin la opción de variables no negativas:
Solución:
Para problemas de programación lineal podemos pedir a LINGO información adicional sobre la solución para poder realizar los análisis de sensibilidad de los coeficientes de la función objetivo y de los términos independientes de las restricciones.
Para ello hacemos lo siguiente:
1.- La primera tabla ( Objective Coefficient Ranges ): contiene, en su primera columna, el coeficiente de la función objetivo de la variable correspondiente, y en las otras dos columnas lo que puede aumentar y lo que puede disminuir dicho coeficiente para que en la solución óptima del nuevo problema:
las variables básicas y no básicas sigan siendo las mismas el valor óptimo de las variables siga siendo el mismo. (el valor óptimo de la función objetivo cambiará si se ha cambiado el coeficiente de una variable básica y no lo hará si se ha cambiado el coeficiente de una no básica)
2.- La segunda tabla ( Righthand Side Ranges ): contiene, en su primera columna, el término independiente de la restricción correspondiente, y en las otras dos columnas lo que puede aumentar y lo que puede disminuir dicho coeficiente para que en la solución óptima del nuevo problema: las variables básicas y no básicas sigan siendo las mismas (el valor óptimo de las variables puede cambiar. Aunque no lo hará el de las variables no básicas que siguen siendo las mismas; seguirán valiendo cero) (el valor óptimo de la función objetivo puede cambiar. Aunque una aproximación puede calcularse mediante el Dual Price)
Una empresa estudia poner en marcha un negocio de alquiler de coches. Tras un estudio de mercado
se estima que los ingresos semanales por alquilar un coche utilitario son de 240 €, si el coche es
familiar el ingreso es de 360 € y si es de lujo de 600 €. Ese mismo estudio indica que el total de coches
a comprar no debe superar las 50 unidades debido a limitaciones de demanda. Por otra parte, la
empresa dispone de un capital inicial de 630.000€ para realizar su inversión en la compra de coches,
cuyos precios son de 9.000€ si es utilitario, 18.000€ si es familiar y 60.000€ si es de lujo. Indicar el
número de coches que comprará de cada tipo si la empresa desea maximizar el ingreso semanal
esperado.
Modelo Lingo: !con la opción de variables no negativas activada;
[ingresos] max=240x+360y+600*z;
[demanda]x+y+z<50;
[capital]9x+18y+60*z<630;
Solución: Variable Value Reduced Cost X 30.00000 0. Y 20.00000 0. Z 0.000000 320.
Row Slack or Surplus Dual Price INGRESOS 14400.00 1. DEMANDA 0.000000 120. CAPITAL 0.000000 13.
Sensibilidad: Objective Coefficient Ranges:
Current Allowable Allowable Variable Coefficient Increase Decrease X 240.0000 68.57143 60. Y 360.0000 120.0000 56. Z 600.0000 320.0000 INFINITY
Righthand Side Ranges:
Current Allowable Allowable INGRESOS RHS Increase Decrease DEMANDA 50.00000 20.00000 15. CAPITAL 630.0000 270.0000 180.
Interpretación:
Solución: Variable Value Reduced Cost X1 0.000000 0. X2 0.000000 0.6000000E- X3 61.00000 0. X4 46.00000 0.
Row Slack or Surplus Dual Price BENEFICIOS 568.8000 1. MADERA 0.000000 2. ACERO 0.000000 11. ORO 10.00000 0. MANO_DE_OBRA 42.00000 0.
Sensibilidad:
Interpretación:
obra disponible. En caso negativo, indica cuánto le sobra en cada caso.
obra?
estropeado con las lluvias. Después de un minucioso análisis se da cuenta que dispone de 2.5 kilos menos de madera. ¿Influye esto en su producción óptima y en su beneficio óptimo? ¿Cómo?
trofeo de fútbol y baloncesto. ¿Cómo se modificaría su beneficio si decidiera fabricar finalmente algún trofeo de estos tipos?
2.3.- EJEMPLO 3 Análisis de Sensibilidad
Una empresa de tubos fabrica 4 modelos en cantidades (metros) x 1 , x 2 , x 3 , x 4 respectivamente utilizando goma, mano de obra de fabricación y mano de obra en empaquetamiento. La empresa ha de decidir cuántos metros de cada tipo fabricar y plantea el siguiente problema donde la función objetivo es el ingreso semanal en céntimos calculado mediante el precio de venta del metro de cada tipo de tubo. Las 3 primeras restricciones son las limitaciones de cada factor productivo. Las 3 últimas las limitaciones de demanda: ݔ34 .ݔܽܯ (^) ଵ 27ݔଶ 45ݔଷ 52ݔସ
݃. ܽ.ݏ (^) ଵ ݔሺଵ ݔ ,ଶ ݔ ,ଷ ݔ ,ସ ሻ 480 (goma en Kgs.) ݃ଶ ݔሺଵ ݔ ,ଶ ݔ ,ଷ ݔ ,ସ ሻ 7200 (mano de obra fabricación en minutos) ݃ଷ ݔሺଵ ݔ ,ଶ ݔ ,ଷ ݔ ,ସ ሻ 9600 (mano de obra empaquetar en minutos) ݔଵ ݔଶ ݔଷ ݔସ 1000 (condición de demanda conjunta) ݔଶ 200 (demanda máxima del segundo producto) ݔସ 100 (demanda mínima del cuarto producto) ݔଵ ݔ ,ଶ ݔ ,ଷ ݔ ,ସ 0 Al resolver el problema con LINGO se obtiene la siguiente información sobre la solución óptima: Variable Value Reduced Cost X1 700.0000 0. X2 0.000000 5. X3 0.000000 2. X4 300.0000 0. Row Slack or Surplus Dual Price INGRESO 39400.00 1. GOMA 100.0000 0. MANO_OBRA_ FABRICACION 800.0000 0. MANO_OBRA_EMPAQUETAR 0.000000 1. DEMANDA_CONJUNTA 0.000000 25. DEMANDA_MAXIMA_SEGUNDOPRODUCTO 200.0000 0. DEMANDA_MAXIMA_CUARTOPRODUCTO 200.0000 0. Objective Coefficient Ranges: Current Allowable Allowable Variable Coefficient Increase Decrease X1 34.00000 18.00000 5. X2 27.00000 5.500000 INFINITY X3 45.00000 2.500000 INFINITY X4 52.00000 50.00000 3. Righthand Side Ranges: Current Allowable Allowable Row RHS Increase Decrease GOMA 480.0000 INFINITY 100. MANO_OBRA_FABRICACION 7200.000 INFINITY 800. MANO_OBRA_EMPAQUETAR 9600.000 1200.000 2400. DEMANDA_CONJUNTA 1000.000 400.0000 466. DEMANDA_MAXIMA_ SEGUNDOPRODU 200.0000 INFINITY 200. DEMANDA_MINIMA_CUARTOPRODUCT 100.0000 200.0000 INFINITY Responde de forma RAZONADA a las siguientes cuestiones e indica DÓNDE FIGURA LA INFORMACIÓN EXTRAÍDA.
@sum ( nº de sumandos : sumando )
Para escribir una expresión que sea una suma de sumandos con una misma estructura.
Ejemplos:
Si quisiéramos ponerle una etiqueta con nombre sería: [beneficio] @sum( productos(i) : beneficio(i)*x(i) )