resoluciÓn de problemas de programaciÓn lineal … · la programación lineal forma parte de la...

12
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 Solver 1 (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

Upload: phungbao

Post on 19-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL EN MATEMÁTICASAPLICADAS 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/2007de 2 de Noviembre, adaptado en Andalucía por el Decreto 416/2008, de 22 de Julio yconcretado por la orden de 5 de Agosto de 2008 han permitido organizar la materia dematemáticas aplicadas a la ciencias sociales en tres núcleos temáticos: Resolución deproblemas, Historia de las matemáticas y Fundamentos de las matemáticas.

La programación lineal forma parte de la rama matemática llamada investigaciónoperativa, cuyo objeto más amplio es la resolución de problemas utilizando una grandiversidad de estrategias, que no son siempre estrictamente matemáticas. Esta ramasurge con fuerza a partir de la segunda mitad del siglo XX, tras el incremento de lavelocidad de cálculo en las computadoras.

Así pues, una visión inicial de este fundamento matemático no puede desprenderseni de su componente histórica, reciente por otra parte, ni de su estrecha relación con elextraordinario avance tecnológico sufrido en la segunda mitad del siglo XX. Así elaumento de la velocidad de cómputo ha permitido aplicar los algoritmos de resolucióndel problema de Programación Lineal provocando mejoras considerables en laorganización empresarial, económica y social. Y a la postre, la consecución de tanbuenos resultados al utilizar este modelo matemático en la economía, ha culminadocon la inclusión de la Programación Lineal en los programas de estudios de lasuniversidades de los diferentes países occidentales durante los años 60 y 70 del siglopasado, y su posterior inclusión en los programas de estudios de la educaciónsecundaria durante las décadas siguientes.

En este documento se ofrecen los pasos necesarios para la resolución de cualquierproblema de programación lineal planteado en el bachillerato, e incluso puede serválido para cursos universitarios. La herramienta digital sobre la que se apoya estedocumento es la hoja de cálculo Calc, que se encuentra instalada en la mayoría de losordenadores disponibles en los centros educativos.

En primer lugar hay que tener en cuenta que se podrá resolver el problema con la HojaCalc 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 necesariola creación de un macro.

1

Page 2: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

se obtiene de Herramientas), este programa (Solver) no está incluido en versionesanteriores.

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. Ennuestro problema de programación lineal serán restricciones lineales.

En el ejemplo siguiente se puede observar las distintas partes en el problemaformulado.

(Objetivo) Maximizar 5x + 3y (Función Objetivo)

Sujeto a :

x≥0y≥04x3y≤123x5y≤15

Restricciones

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 intentadoconseguir dos objetivos:

1.- Crear un entorno lo más amigable posible para el usuario del programa. Sehan incorporado ciertas etiquetas que permiten comprender la organización de lasoperaciones programadas. Y se ha resaltado la fuente en algunas celdas con elcolor rojo (C6 y D6) donde se encuentran los valores que toman las variables quese están optimizando que además serán calculados por el programa solver. Estopuede observarse en el gráfico 1.

2.- Incluir las fórmulas necesarias para definir el problema y procurar que no seprecisen de grandes modificaciones cuando deseemos resolver otro problemacon valores y/o estructura diferente. Por ello se ha pretendido plantear unproblema de carácter muy general.

Función objetivo:

Valores: Se inserta los coeficientes de la función objetivo. Las celdas C5 y D5 seránaquellas en las que se incluirán los valores de los coeficientes de la función objetivo,para nuestro problema (5,3).

2

Page 3: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

Fórmulas: La fórmula de la función objetivo se insertará en la celda E5 y correspondecon [E5] =C5*C$6+D5*D$6; las celdas C6 y D6 (en color amarillo) son las que tendránlos valores solución del problema de optimización.

Restricciones

Valores: Las celdas C10 y D10 incluirán los valores de los coeficientes de la primerarestricció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 decada restricción que corresponde a las celdas F10, F11 y siguientes, es decir, seintroducen los términos independientes de las restricciones.

Fórmulas: En cada fila con los coeficientes de las restricciones y a continuación seintroduce 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 subprogramaSolver y por tanto no es preciso implementarlas en la hoja de cálculo como el resto delas 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

Page 4: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

4.- Inclusión de los detalles del problema en el subprograma Solver

Se pulsa sobre el menú HERRAMIENTAS, después sobre SOLVER obteniendo uncuadro de diálogo como el que se presenta en el gráfico 3.

Gráfico 2El cuadro de diálogo que sigue es el que presenta el módulo Solver y debe sercompletado 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 delproblema 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 D6son las que donde el programa comprueba si son los valores que al sustituir en lafunció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 delas restricciones (las indicadas en la celda E10 y E11)

Gráfico 3

4

Page 5: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

Objetivo de Celda o Celda objetivo Se observará que en la celda Objetivo seselecciona la celda E5, como puede verse en el gráfico 4, en el que la celda E5corresponde con el valor de la función objetivo.

Optimizar resultados a Se selecciona el valor máximo, porque se está resolviendo unproblema 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 esteejercicio es el máximo. Es decir, son los valores que han de cumplir las condiciones orestricciones 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 decondiciones 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 seencuentra la fórmula de la restricción, aunque los valores en los que se basa están enlas celdas C10 y D10) y en la celda que se encuentra a la derecha de E10, esto es, la

5

Page 6: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

F10, será la celda en la que se incluye el valor del término independiente o límite de larestricción.En el cuadro de diálogo , debajo de celda de referencia se ha de incluir lacelda E10.

Gráfico 6

En la parte inferior del cuadro de diálogo de solver, es decir, en la parte de condicioneslímites,debajo de la etiqueta “valor", se debe incluir la referencia de la celda que seencuentra bajo la etiqueta “Límite de las Restricciones” , es decir, la celda F10 quedefinirá la restricción 4x3y12 Esto puede observarse en el gráfico 7.

Gráfico 7

6

Page 7: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

Observe que debajo de vínculo se puede modificar el tipo de desigualdad y que en estecaso se ha optado por la de menor o igual ( ) que es la desigualdad definida en elproblema.

El proceso se repite con todas las restricciones que se haya establecido para elproblema. En nuestro caso se ha de incorporar la restricción 3x5y15

Gráfico 8Por último, para implementar las restricciones de no negatividad se pulsa enOPCIONES y se activa la casilla Asumir no negativos, tal y como se presenta en elgráfico 8.

Gráfico 9

7

Page 8: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

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á conMANTENER RESULTADOS. Y la hoja de cálculo se actualiza con los datoscalculados 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ónobjetivo con las condiciones establecidas:

Max 5x + 3y

Sujeto a : x≥0y≥04x3y≤123x5y≤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ónde 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 porlos valores x=3; y=0 y que la restricción limitante es la primera, sin embargo la segundarestricción se verifica sin llegar al límite, es decir, con una holgura de 6 unidades.

Gráfico 10

8

Page 9: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

7.- Ampliación del problema a más dimensiones

La hoja de cálculo creada podrá ser ampliada y modificada en tanto en cuanto elproblema disponga de más de dos incógnitas, debiéndose insertar una columna porcada variable a ampliar (x1,x2,x3,x4 ...) extendiendo a más dimensiones la funciónobjetivo y las restricciones del problema. Pero básicamente la resolución del problemaconsta, 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 lasrestricciones por las expresiones : =C5*C$6+D5*D$6+E5*E$6+F5*F$6, que son las extensionesnaturales al problema de programación lineal de dimensión cuatro.

(Objetivo) Maximizar 3x14x22x3x 4 (Función Objetivo)

Sujeto a :

x1x 2x3x 4≤202x1x2x3x4≤36x12x2x3x4≤24x1x 4≤20x1≥0 ; x 2≥0 ; x3≥0 ; x4≥0

Restricciones

Cuyas soluciones óptimas , como pueden verse en el gráfico 11 son:

x 1=16 ; x2=4 ; x 3=0 ; x 4=0

9

Page 10: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

8.- Conclusiones

La hoja de cálculo Calc posee una gran potencia de cálculo, además de una granfacilidad de implementar fórmulas que posibilitan la resolución de problemas deprogramación lineal. Esta herramienta permite resolver problemas que previamentehan de ser formulados, por tanto, facilita la necesidad de insistir en la formulación deproblemas, y por consiguiente en el proceso de simbolización necesario para laformulación de todo tipo de problemas.

Para resolver el siguiente problema de programación lineal

Max 3x + ySujeto 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 laslimitaciones de las restricciones. Iniciar el subprograma SOLVER y realizar las mimasoperaciones , que las descritas exceptuando las definiciones de fórmulas que ya estándefinidas.

Gráfico 12

10

Page 11: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

Para resolver el siguiente problema de programación lineal Max 2x+3ySujeto 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 laslimitaciones de las restricciones. Iniciar el subprograma SOLVER y realizar las mismasoperaciones, que las descritas exceptuando las definiciones de fórmulas que ya estándefinidas, salvo en el caso de la segunda restricción indicar que es mayor o igual. Lasolucíon del problema puede verse en el gráfico 13, el valor óptimo de x es 0 y el de lay es 4 por lo que se obtiene un valor máximo de 12 unidades en la función objetivo.

Gráfico 13

11

Page 12: RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL … · La programación lineal forma parte de la rama matemática llamada investigación ... del problema de Programación Lineal

BIBLIOGRAFÍA

Departamento de Ingeniería de la producción. Facultad de Ingeniería. UniversidadNacional de la Plata. (2005). Solución de modelos de programación lineal en una hojade calculo. Problemas de transporte y asignación. La Plata. Autor.

Lekubarri, I, Eguzkitza,J.M.(2003). Programación lineal con Excel: Estabilidad de lasolución. Sigma 23 Noviembre (pp. 81-88)

12