11
Programación Lineal Corporación Investigación de Operaciones Evaluación 2, Actividad 7. Rogelio González Velázquez Autores: Angélica Karina Corona Flores Miguel Ángel Rosales Jiménez Enrique Díaz Romero

Progamacion lineal

Embed Size (px)

DESCRIPTION

programación lineal

Citation preview

Page 1: Progamacion lineal

 

Programación LinealCorporación

Investigación de Operaciones

Evaluación 2, Actividad 7.

Rogelio González Velázquez

Autores:Angélica Karina Corona FloresMiguel Ángel Rosales JiménezEnrique Díaz Romero

Page 2: Progamacion lineal

Programación lineal: Corporación

Angélica Karina Corona Flores,Miguel Ángel Rosales Jiménez,

Enrique Díaz Romero

Investigación de Operaciones, Benemérita Universidad Autónoma de Puebla,[email protected], [email protected], [email protected]

Resumen. La programación Lineal (PL) es una técnica de modelado matemático, diseñada para optimizar el empleo de recursos limitados. La utilidad de esta técnica se incrementa mediante el uso y disponibilidad de programas de computadora altamente eficientes. En el siguiente problema lineal nos muestra un consorcio el cual para el próximo año tiene un capital de 30 millones, los cuales quiere repartirlos de una manera óptima a 8 diferentes proyectos, Cada filial tiene la oportunidad de realizar diversos proyectos con los fondos que recibe. Una tasa de rendimiento (como porcentaje de la inversión) se ha establecido para cada proyecto. Además, algunos de los proyectos permiten inversión sólo limitada.

Palabras Clave: Programación lineal, modelado, programas, computadora, algoritmos, proyectos, maximizar, inversión.

1 Introducción

Programación lineal es una técnica matemática que permite asignar recursos limitados. La programación lineal es una técnica matemática empleada durante la segunda guerra mundial. Su valía para la administración de la producción radica en que a menudo se puede operar para resolver problemas de asignación complicados que incluye una gran cantidad de variables. Antes del desarrollo de la programación lineal solo se conseguía solucionar mediante modelos gráficos y esquemáticos. Las soluciones se hallaban por medio de aproximaciones sucesivas y ninguno estaba seguro de haber logrado la mejor solución.

Para comprender lo que es la Programación Lineal es importante entender los siguientes conceptos básicos:

Variables de Decisión: Con las variables de decisión nos referimos al conjunto de variables cuya magnitud deseamos determinar resolviendo el modelo de programación lineal.

Restricciones: Están constituidas por el conjunto de desigualdades que limitan los valores que puedan tomar las variables de decisión en la solución.

Función Objetivo: Es la función matemática que relaciona las variables de decisión.

Linealidad: Se refiere a que las relaciones entre las variables, tanto en la función objetivo como en las restricciones deben ser lineales.

 

Page 3: Progamacion lineal

Desigualdades: Las desigualdades utilizadas para representar las restricciones deben ser cerradas o flexibles, es decir, menor - igual (<=) o mayor – igual (>=). No se permiten desigualdades de los tipos menor- estrictamente o mayor – estrictamente, o abiertas.

Condición de no – negatividad: En la programación lineal las variables de decisión sólo pueden tomar valores de cero a positivos. No se permiten valores negativos.

El problema de programación al que se enfrenta es: ¿Cuál es mi máxima optimización si tengo 30 millones para invertirlos en diferentes filiales? Cada filial tiene la oportunidad de realizar diversos proyectos con los fondos que recibe. Una tasa de rendimiento (como porcentaje de la inversión) se ha establecido para cada proyecto. Además, algunos de los proyectos permiten inversión sólo limitada.

2 Modelado

En el presente documento se creara un modelo para el siguiente problema:

“Una corporación tiene $ 30 millones disponibles para el próximo año para asignar a sus tres filiales. Debido a compromisos de estabilidad en el empleo de personal y por otras razones, la corporación ha establecido un nivel mínimo de financiación para cada filial. Estos niveles de financiación son de $ 3 millones, $ 5 millones, $ 8 millones, respectivamente. Debido a la naturaleza de su operación, subsidiaria 2 no puede utilizar más de $ 17 millones sin ocasionar una nueva expansión del capital. La sociedad no está dispuesta emprender tal expansión en este momento. Cada filial tiene la oportunidad de llevar a cabo varios proyectos con los fondos que recibe. Una tasa de rendimiento (como porcentaje de la inversión) se ha establecido para cada proyecto. Además, algunos de los proyectos permiten inversión sólo limitada. Se presentan los datos de cada proyecto en la tabla 1”.

Tabla 1. Datos de las filiales y sus correspondientes proyectos.

Filial Proyecto Tasa de Retorno límite superior inversión

1 8% $ 6 millones1 2 6% $ 5 millones

3 7% $ 9 millones4 5% $ 7 millones

2 5 8% $ 10 millones6 9% $ 4 millones

37 10% $ 6 millones8 6% $ 3 millones

Page 4: Progamacion lineal

Sea Xj = inversión en el proyecto jLa función objetivo que da de la siguiente forma:

Z Max= 0.08X1+ 0.06X2+0.07X3+0.05X4+0.08X5+0.09X6+0.1X7+0.06X8 (1)

Con las siguientes restricciones:

X1+ X2+X3 >= 3 (2)

X4+X5+X6 >=5 (3)

X7+X8 >=3 (4)

X1+X2+X3+X4+X5+X6+X7+X8 <= 30 (5)

Las expresiones 2, 3 y 4 representan cada una de la filiales, y las literales X i los proyectos a de cada una, y los números después del signo de igualdad el financiamiento de cada filial en millones de dólares.

La expresión 5 hace referencia al total disponible de $ 30 millones y que tendrá que ser repartido entre los 8 proyectos de las 3 filiales.

A continuación las restricciones que acotan el límite superior de cada inversión, mostrado en la tabla 1.

0 ≤ X1 ≤ 6 (6)

0 ≤ X2 ≤ 5 (7)

0 ≤ X3 ≤ 9 (8)

0 ≤ X4 ≤ 7 (9)

0 ≤ X5 ≤ 10 (10)

0 ≤ X6 ≤ 4 (11)

0 ≤ X7 ≤ 6 (12)

0 ≤ X8 ≤ 3 (13)

Las expresiones 6, 7, 8, 9, 10, 11, 12 y 13 indican que las inversiones X i son valores positivos y cada una limitada como se especificó en la tabla 1.

Page 5: Progamacion lineal

3 Metodología

Una vez modelada la solución del problema se procederá a utilizar el un software para calcular los resultados. Para ello utilizaremos el programa LINGO en su versión 10.0.

Para ello se desarrolló el siguiente código:

MODEL:SETS:Proyecto/1..8/:x,retorno,limiteSuperior; ! x: Fondos de inversion;ENDSETS

DATA:retorno = 0.08 0.06 0.07 0.05 0.08 0.09 0.10 0.06; !Porcentaje de retorno por cada proyecto;limiteSuperior = 6 5 9 7 10 4 6 3; !Inversion máxima por cada proyecto;ENDDATA

SUBMODEL Inversiones:[OBJETIVO]MAX= @SUM(Proyecto(i):retorno(i)*x(i)); !Ganancia por proyecto;@SUM(Proyecto(i)|i#LE#3:x(i))>=3; !LÃmite inferior para la subsidiaria 1;@SUM(Proyecto(i)|i#GE#4 #AND# i#LE#6: x(i))>=5; !LÃmite inferior para la subsidiaria 2;@SUM(Proyecto(i)|i#GE#4 #AND# i#LE#6: x(i))<=17; !LÃmite superior para la subsidiaria 2;@SUM(Proyecto(i)|i#GE#7 #AND# i#LE#8: x(i))>=8; !LÃmite inferior para la subsidiaria 3;@SUM(Proyecto: x)<=30; !Inversión total de 30 millones;@FOR(Proyecto: x<=limiteSuperior); !LÃmite superior por cada proyecto;ENDSUBMODEL

CALC:@SET('terseo',3);@SOLVE(Inversiones);@WRITE('Materia: INVESTIGACION DE OPERACIONES',@NEWLINE(1),'Periodo: OTONO 2015',@NEWLINE(1),'Profesor: ROGELIO',@NEWLINE(2));@WRITE('Integrantes del equipo:',@NEWLINE(1),10*' ','CORONA FLORES ANGELICA KARINA ', @NEWLINE(1),10*' ','DIAZ ROMERO ENRIQUE',@NEWLINE(1),10*' ','ROSALES JIMENEZ MIGUEL ANGEL',@NEWLINE(2));

@WRITE('Problema 1.17: Una corporacion tiene $30 millones disponibles',@NEWLINE(1),'durante el siguiente ano para asignar a sus tres subsidiarias.',@NEWLINE(1));@WRITE('Por el compromiso con la estabilidad del personal empleado y',@NEWLINE(1),'por otras razones, la corporacion ha establecido un nivel minimo',@NEWLINE(1));@WRITE('de fondos para cada subsidiaria. Estos niveles son $3 millones,',@NEWLINE(1),'$5 millones y $8 millones respectivamente. Debido a la naturaleza',@NEWLINE(1));@WRITE('de su operacion, la subsidiaria 2 no puede utilizar mas de $17',@NEWLINE(1),'millones sin una nueva expansion de capital. La corporacion esta',@NEWLINE(1));@WRITE('poco dispuesta para llevar a cabo dicha expansion proximamente.',@NEWLINE(1),'Cada subsidiaria tiene la oportunidad de llevar varios proyectos',@NEWLINE(1));

Page 6: Progamacion lineal

@WRITE('proyectos con los fondos que reciba. Una tasa de retorno (un',@NEWLINE(1),'porcentaje de la inversion) ha sido establecido para cada proyecto.',@NEWLINE(1));@WRITE('Ademas, ciertos proyectos admiten una inversion limitada. La',@NEWLINE(1),'informacion de cada proyecto es la siguiente:',@NEWLINE(2));

@WRITE(67*'-',@NEWLINE(1));@WRITE(15*' ','|',14*' ','|',6*' ','TASA DE',6*' ','|',' LIMITE MAXIMO',@NEWLINE(1));@WRITE(' SUBSIDIARIA | PROYECTO | RETORNO | DE INVERSION',@NEWLINE(1));@WRITE(67*'-',@NEWLINE(1));@WRITE(15*' ','|',7*' ','1',6*' ','|',9*' ','8%',8*' ','| $6 millones',@NEWLINE(1));@WRITE(7*' ','1',7*' ','|',7*' ','2',6*' ','|',9*' ','6%',8*' ','| $5 millones',@NEWLINE(1));@WRITE(15*' ','|',7*' ','3',6*' ','|',9*' ','7%',8*' ','| $9 millones',@NEWLINE(1));@WRITE(67*'-',@NEWLINE(1));@WRITE(15*' ','|',7*' ','4',6*' ','|',9*' ','5%',8*' ','| $7 millones',@NEWLINE(1));@WRITE(7*' ','2',7*' ','|',7*' ','5',6*' ','|',9*' ','8%',8*' ','| $10 millones',@NEWLINE(1));@WRITE(15*' ','|',7*' ','6',6*' ','|',9*' ','9%',8*' ','| $4 millones',@NEWLINE(1));@WRITE(67*'-',@NEWLINE(1));@WRITE(7*' ','3',7*' ','|',7*' ','7',6*' ','|',8*' ','10%',8*' ','| $6 millones',@NEWLINE(1));@WRITE(15*' ','|',7*' ','8',6*' ','|',9*' ','6%',8*' ','| $3 millones',@NEWLINE(1));@WRITE(67*'-',@NEWLINE(2));

@WRITE('La siguiente tabla indica como debe ser realizada la inversion para',@NEWLINE(1) ,'obtener el mayor rendimiento en base a las tasas de retorno:');

@WRITE(@NEWLINE(2));@WRITE(20*' ',10*'-','SUBSIDIARIA 1',10*'-', @NEWLINE(1));@WRITEFOR(Proyecto(i)|i#LE#3: 20*' ','| Proyecto ',i,': ', @FORMAT(x(i),"#8.3f"), ' millones |',@NEWLINE(1));

@WRITE(20*' ',10*'-','SUBSIDIARIA 2',10*'-', @NEWLINE(1));@WRITEFOR(Proyecto(i)|i#GE#4 #AND# i#LE#6: 20*' ','| Proyecto ',i,': ', @FORMAT(x(i),"#8.3f"), ' millones |',@NEWLINE(1));

@WRITE(20*' ',10*'-','SUBSIDIARIA 3',10*'-', @NEWLINE(1));@WRITEFOR(Proyecto(i)|i#GE#7: 20*' ','| Proyecto ',i,': ', @FORMAT(x(i),"#8.3f"), ' millones |',@NEWLINE(1));@WRITE(20*' ',33*'-',@NEWLINE(1));@WRITE(13*' ','EL MÁXIMO RENDIMIENTO OBTENIDO $', @FORMAT(OBJETIVO,'#6.3f'),' millones');

ENDCALC

END

SETS:

Page 7: Progamacion lineal

4 Resultados

Una vez transcrito el código anterior en el software antes mencionado obtenemos un resultado óptimo (véase la fig. 1 y Tabla 2).

Fig. 1. Se muestra el resultado arrojado por el software

Tabla 2. Datos de las filiales y sus correspondientes proyectos.

Filial Proyecto Tasa de Retorno Límite superior inversión

Cantidad a invertir

1 8% $ 6 millones $ 6 millones1 2 6% $ 5 millones 0

3 7% $ 9 millones $ 2 millones4 5% $ 7 millones 0

2 5 8% $ 10 millones $ 10 millones6 9% $ 4 millones $ 4 millones

37 10% $ 6 millones $ 6 millones8 6% $ 3 millones $ 2 millones

Total $ 30 millones

De estos resultados se desprende que el máximo rendimiento obtenido es de 2.5 millones.

Page 8: Progamacion lineal

5 Conclusiones y perspectivas

Durante el desarrollo del presente documento se ha presentado la solución a un problema de asignación de recursos, del cual podemos hacer las siguientes reflexiones:

Es de suma importancia tener muy claro el presente cuan es el objetivo o solución que se busca. Interpretar a adecuadamente las restricciones para que puedan ser expresadas de una forma

correcta. El uso el software pero sobre todo su adecuada manipulación para expresar los resultados,

facilita, la comprensión. Los modelos matemáticos una vez desarrollados simplifican la obtención de resultados, es muy

relativamente fácil adecuarlos a nuevas restricciones y por lo mismo resultarían más baratos.

Así también podemos hacernos un panorama sobre los modelos matemáticos:

Usados adecuadamente pueden reducir significativamente el desperdicio de recursos en diferentes áreas y procesos.

Mejorar los tiempos en que los productos o personas se desplazan, abaratando así los costos de transporte.

Sincronizar entregas y traslados de productos de una manera óptima.

Page 9: Progamacion lineal

Referencias

Erica Canizo, P. L. (2012). Investigación Operativa 2002, Software Para Programación Lineal. Buenos Aires, Arg.: UTN.

Ivorra, C. (23 de 10 de 2015). Universidad de Valencia. Obtenido de http://www.uv.es/~ivorra/docencia/LINGOav.pdf

Pearson. (s.f.). Investigación de Operaciones en la Ciencia Administrativa. Prentice Hall.Taha, H. A. (2012). Investigacion de Operaciones. Mexico: PEARSON.