resolución de problemas de programación lineal en matemáticas

Anuncio
RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL EN MATEMÁTICAS
APLICADAS A LAS CIENCIAS SOCIALES CON LA HOJA DE CÁLCULO CALC
1.- Introducción
Los actuales componentes del bachillerato formulados por el Real Decreto 1467/2007
de 2 de Noviembre, adaptado en Andalucía por el Decreto 416/2008, de 22 de Julio y
concretado por la orden de 5 de Agosto de 2008 han permitido organizar la materia de
matemáticas aplicadas a la ciencias sociales en tres núcleos temáticos: Resolución de
problemas, Historia de las matemáticas y Fundamentos de las matemáticas.
La programación lineal forma parte de la rama matemática llamada investigación
operativa, cuyo objeto más amplio es la resolución de problemas utilizando una gran
diversidad de estrategias, que no son siempre estrictamente matemáticas. Esta rama
surge con fuerza a partir de la segunda mitad del siglo XX, tras el incremento de la
velocidad de cálculo en las computadoras.
Así pues, una visión inicial de este fundamento matemático no puede desprenderse
ni de su componente histórica, reciente por otra parte, ni de su estrecha relación con el
extraordinario avance tecnológico sufrido en la segunda mitad del siglo XX. Así el
aumento de la velocidad de cómputo ha permitido aplicar los algoritmos de resolución
del problema de Programación Lineal provocando mejoras considerables en la
organización empresarial, económica y social. Y a la postre, la consecución de tan
buenos resultados al utilizar este modelo matemático en la economía, ha culminado
con la inclusión de la Programación Lineal en los programas de estudios de las
universidades de los diferentes países occidentales durante los años 60 y 70 del siglo
pasado, y su posterior inclusión en los programas de estudios de la educación
secundaria durante las décadas siguientes.
En este documento se ofrecen los pasos necesarios para la resolución de cualquier
problema de programación lineal planteado en el bachillerato, e incluso puede ser
válido para cursos universitarios. La herramienta digital sobre la que se apoya este
documento es la hoja de cálculo Calc, que se encuentra instalada en la mayoría de los
ordenadores disponibles en los centros educativos.
En primer lugar hay que tener en cuenta que se podrá resolver el problema con la Hoja
Calc si tiene insertado el módulo Solver1 (Estará activo en el menú desplegable que
1 Si no se tiene instalado Solver se puede programar el método de simplex, pero es necesario
la creación de un macro.
1
se obtiene de Herramientas), este programa (Solver) no está incluido en versiones
anteriores.
2.- Elementos del problema de programación lineal clásico
El problema de programación Lineal Clásico consta de tres elementos básicos:
1.El objetivo: Será obtener el máximo o el mínimo de la función objetivo.
2.La función Objetivo que será una función Lineal de varias variables, en principio dos.
3.Las restricciones o condiciones que obligatoriamente ha de cumplir toda solución. En
nuestro problema de programación lineal serán restricciones lineales.
En el ejemplo siguiente se puede observar las distintas partes en el problema
formulado.
(Objetivo) Maximizar
5x + 3y
Sujeto a :
(Función Objetivo)
Restricciones
x≥0
y≥0
4x3y≤12
3x5y≤15
3.- Definición del problema de programación lineal en la hoja de cálculo Calc
Para definir el problema de programación lineal en la hoja de cálculo se ha intentado
conseguir dos objetivos:
1.- Crear un entorno lo más amigable posible para el usuario del programa. Se
han incorporado ciertas etiquetas que permiten comprender la organización de las
operaciones programadas. Y se ha resaltado la fuente en algunas celdas con el
color rojo (C6 y D6) donde se encuentran los valores que toman las variables que
se están optimizando que además serán calculados por el programa solver. Esto
puede observarse en el gráfico 1.
2.- Incluir las fórmulas necesarias para definir el problema y procurar que no se
precisen de grandes modificaciones cuando deseemos resolver otro problema
con valores y/o estructura diferente. Por ello se ha pretendido plantear un
problema de carácter muy general.
Función objetivo:
Valores: Se inserta los coeficientes de la función objetivo. Las celdas C5 y D5 serán
aquellas en las que se incluirán los valores de los coeficientes de la función objetivo,
para nuestro problema (5,3).
2
Fórmulas: La fórmula de la función objetivo se insertará en la celda E5 y corresponde
con [E5] =C5*C$6+D5*D$6; las celdas C6 y D6 (en color amarillo) son las que tendrán
los valores solución del problema de optimización.
Restricciones
Valores: Las celdas C10 y D10 incluirán los valores de los coeficientes de la primera
restricción. En las filas siguientes se incluirán las restricciones siguientes si las hubiera.
En la columna inmediatamente adjunta a la de las fórmulas se incorpora los límites de
cada restricción que corresponde a las celdas F10, F11 y siguientes, es decir, se
introducen los términos independientes de las restricciones.
Fórmulas: En cada fila con los coeficientes de las restricciones y a continuación se
introduce la fórmula en la columna E de forma similar a la de la función objetivo: [E10]
= C10*C$6+D10*D$6;[E11] = C11*C$6+D11*D$6.
Las restricciones de no negatividad de las variables se incluyen en el subprograma
Solver y por tanto no es preciso implementarlas en la hoja de cálculo como el resto de
las restricciones.
Tanto la función objetivo como las restricciones son expresiones algebraicas lineales,
éstas últimas se expresarán con fórmulas similares a la fórmula de la función objetivo.
Gráfico 1
3
4.- Inclusión de los detalles del problema en el subprograma Solver
Se pulsa sobre el menú HERRAMIENTAS, después sobre SOLVER obteniendo un
cuadro de diálogo como el que se presenta en el gráfico 3.
Gráfico 2
El cuadro de diálogo que sigue es el que presenta el módulo Solver y debe ser
completado rellenando los parámetros siguientes:
1.- Objetivo de Celda o Celda objetivo: en este caso es la celda E5: Donde se colocó
la fórmula de la función objetivo. Se indicará en ese cuadro E5.
2.- Optimizar resultados a :Se selecciona si es máximo o mínimo el objetivo del
problema de programación lineal que se va a resolver. En nuestro caso el Máximo.
3.- Al cambiar las celdas o Cambiando las celdas los valores de las celdas C6 y D6
son las que donde el programa comprueba si son los valores que al sustituir en la
función objetivo, ésta alcanzan el óptimo(El máximo o el mínimo) .
4.- Condiciones límites: se indicará las celdas donde están incluidas las fórmulas de
las restricciones (las indicadas en la celda E10 y E11)
Gráfico 3
4
Objetivo de Celda o Celda objetivo Se observará que en la celda Objetivo se
selecciona la celda E5, como puede verse en el gráfico 4, en el que la celda E5
corresponde con el valor de la función objetivo.
Optimizar resultados a Se selecciona el valor máximo, porque se está resolviendo un
problema de Maximizar.
Gráfico 4
Al cambiar las celdas o Cambiando las celdas Se selecciona las celda C6 y D6 ;
que serán los valores de la variables que obtiene el objetivo marcado, que en este
ejercicio es el máximo. Es decir, son los valores que han de cumplir las condiciones o
restricciones y ofrecen el mayor valor en la función objetivo.
Gráfico 5
Condiciones límites Ahora es el momento de definir las restricciones, en el cuadro de
condiciones límites se completarán tantas filas como restricciones tenga el problema.
La primera restricción está definida en la celda E10 (que es la celda dónde se
encuentra la fórmula de la restricción, aunque los valores en los que se basa están en
las celdas C10 y D10) y en la celda que se encuentra a la derecha de E10, esto es, la
5
F10, será la celda en la que se incluye el valor del término independiente o límite de la
restricción.En el cuadro de diálogo , debajo de celda de referencia se ha de incluir la
celda E10.
Gráfico 6
En la parte inferior del cuadro de diálogo de solver, es decir, en la parte de condiciones
límites,debajo de la etiqueta “valor", se debe incluir la referencia de la celda que se
encuentra bajo la etiqueta “Límite de las Restricciones” , es decir, la celda F10 que
definirá la restricción 4x3y12 Esto puede observarse en el gráfico 7.
Gráfico 7
6
Observe que debajo de vínculo se puede modificar el tipo de desigualdad y que en este
caso se ha optado por la de menor o igual (  ) que es la desigualdad definida en el
problema.
El proceso se repite con todas las restricciones que se haya establecido para el
problema. En nuestro caso se ha de incorporar la restricción 3x5y15
Gráfico 8
Por último, para implementar las restricciones de no negatividad se pulsa en
OPCIONES y se activa la casilla Asumir no negativos, tal y como se presenta en el
gráfico 8.
Gráfico 9
7
Una vez aceptado, vuelve al cuadro de diálogo de SOLVER y se pulsa SOLUCIONAR ,
obteniendo el cuadro de diálogo que presenta el gráfico 9, que se aceptará con
MANTENER RESULTADOS. Y la hoja de cálculo se actualiza con los datos
calculados por el programa SOLVER como en el resultado obtenido en el gráfico 9.
Ya por último se tienen calculados los valores de x e y que hacen óptimo la función
objetivo con las condiciones establecidas:
Max 5x + 3y
Sujeto a :
x≥0
y≥0
4x3y≤12
3x5y≤15
La solución viene dada por x=3; y =0; como puede observarse en el gráfico 10.
Debe comprobar que el cuadro de diálogo resultado de la solución ofrece la solución
de la función objetivo, en este caso el valor óptimo es 15.
6.- Análisis de la solución en el problema de programación lineal.
Puede observase que la solución del problema de programación lineal viene dado por
los valores x=3; y=0 y que la restricción limitante es la primera, sin embargo la segunda
restricción se verifica sin llegar al límite, es decir, con una holgura de 6 unidades.
Gráfico 10
8
7.- Ampliación del problema a más dimensiones
La hoja de cálculo creada podrá ser ampliada y modificada en tanto en cuanto el
problema disponga de más de dos incógnitas, debiéndose insertar una columna por
cada variable a ampliar (x1,x2,x3,x4 ...) extendiendo a más dimensiones la función
objetivo y las restricciones del problema. Pero básicamente la resolución del problema
consta, en cuanto al procedimiento, de un tratamiento muy similar.
Gráfico 11
La función objetivo vendrá dada por la expresión =C5*C$6+D5*D$6+E5*E$6+F5*F$6 y las
restricciones por las expresiones : =C5*C$6+D5*D$6+E5*E$6+F5*F$6, que son las extensiones
naturales al problema de programación lineal de dimensión cuatro.
(Objetivo) Maximizar
3x 14x 2 2x 3 x 4
Sujeto a :
(Función Objetivo)
Restricciones
x 1x 2 x 3x 4≤20
2x 1 x 2 x 3 x 4≤36
x 12x 2 x 3 x 4≤24
x 1x 4≤20
x 1≥0 ; x 2≥0 ; x 3≥0 ; x 4≥0
Cuyas soluciones óptimas , como pueden verse en el gráfico 11 son:
x 1=16 ; x 2=4 ; x 3=0 ; x 4=0
9
8.- Conclusiones
La hoja de cálculo Calc posee una gran potencia de cálculo, además de una gran
facilidad de implementar fórmulas que posibilitan la resolución de problemas de
programación lineal. Esta herramienta permite resolver problemas que previamente
han de ser formulados, por tanto, facilita la necesidad de insistir en la formulación de
problemas, y por consiguiente en el proceso de simbolización necesario para la
formulación de todo tipo de problemas.
Para resolver el siguiente problema de programación lineal
Max 3x + y
Sujeto a :
x≥0
y≥0
3x + 4y ≤ 12
5x + 3y ≤ 15
han de modificarse los valores de los coeficientes de la función objetivo y las
limitaciones de las restricciones. Iniciar el subprograma SOLVER y realizar las mimas
operaciones , que las descritas exceptuando las definiciones de fórmulas que ya están
definidas.
Gráfico 12
10
Para resolver el siguiente problema de programación lineal
Max 2x+3y
Sujeto a :
x≥0
y≥0
4x + 3y ≤ 12
3x + 5y ≥ 15
han de modificarse los valores de los coeficientes de la función objetivo y las
limitaciones de las restricciones. Iniciar el subprograma SOLVER y realizar las mismas
operaciones, que las descritas exceptuando las definiciones de fórmulas que ya están
definidas, salvo en el caso de la segunda restricción indicar que es mayor o igual. La
solucíon del problema puede verse en el gráfico 13, el valor óptimo de x es 0 y el de la
y es 4 por lo que se obtiene un valor máximo de 12 unidades en la función objetivo.
Gráfico 13
11
BIBLIOGRAFÍA
Departamento de Ingeniería de la producción. Facultad de Ingeniería. Universidad
Nacional de la Plata. (2005). Solución de modelos de programación lineal en una hoja
de calculo. Problemas de transporte y asignación. La Plata. Autor.
Lekubarri, I, Eguzkitza,J.M.(2003). Programación lineal con Excel: Estabilidad de la
solución. Sigma 23 Noviembre (pp. 81-88)
12
Descargar