jueves, 11 de septiembre de 2014

Programacion lineal . Ejemplo

Introducción a la Programación Lineal.

En cualquier empresa, muchas de las decisiones que se toman tienen por objeto hacer el mejor uso posible (optimización) de los recursos de la misma. Por recursos de una empresa entendemos la maquinaria que ésta posea, sus trabajadores, capital financiero, instalaciones, y las materias primas de que disponga. Tales recursos pueden ser usados para fabricar productos (electrodomésticos, muebles, comida, ropa, etc.) o servicios (horarios de producción, planes de marketing y publicidad, decisiones financieras, etc.). La Programación Lineal (PL) es una técnica matemática diseñada para ayudar a los directivos en la planificación y toma de decisiones referentes a la asignación de los recursos.

Como ejemplos de problemas donde la Programación Lineal desarrolla un papel fundamental, podríamos citar:

   1. A partir de los recursos disponibles, determinar las unidades a producir de cada bien de forma que se maximice el beneficio de la empresa.
   2. Elegir materias primas en procesos de alimentación, para obtener mezclas con unas
      determinadas propiedades al mínimo coste.
   3. Determinar el sistema de distribución que minimice el coste total de transporte, desde
      diversos almacenes a varios puntos de distribución.
   4. Desarrollar un plan de producción que, satisfaciendo las demandas futuras de los productos de una empresa, minimice al mismo tiempo los costes totales de producción e inventario.

Características de un problema de Programación Lineal

Las técnicas de Programación Lineal han sido ampliamente utilizadas en ámbitos tan diferentes como el militar, industrial, financiero, de marketing, e incluso agrícola. A pesar de tal diversidad de aplicaciones, todos los problemas de Programación Lineal tienen cuatro propiedades comunes:

   1. Pretenden optimizar (maximizar o minimizar) alguna cantidad (función objetivo). Así, por ejemplo, el principal objetivo de un banquero sería maximizar beneficios, mientras que el principal objetivo de una empresa transportista podría ser minimizar los costes de los envíos.
   2. Habrá que tener en cuenta las restricciones que limitan el grado en el cual es posible modificar las variables que afectan a nuestra función objetivo. Así, a la hora de decidir cuántas unidades de cada bien se han de producir, deberemos considerar, entre otras, las limitaciones de personal y maquinaria de que disponemos.
   3. El problema debe presentar distintas alternativas posibles: si una compañía produce cuatro bienes diferentes, la dirección puede usar Programación Lineal para determinar las cantidades de recursos que asigna a la producción de cada uno de ellos (podría optar por hacer una asignación ponderada, dedicar todos los recursos a la producción de un único bien abandonando la producción del resto, etc.).
   4.  En Programación Lineal, la función objetivo debe ser una función lineal, y las restricciones deben ser expresables como ecuaciones o inecuaciones lineales.

Planteamiento de un problema de Programación Lineal

Ejemplo: Una empresa fabrica dos modelos de mesas para ordenador, M1 y M2. Para su producción se necesita un trabajo manual de 20 minutos para el modelo M1 y de 30 minutos para el M2; y un trabajo de máquina de 20 minutos para M1 y de 10 minutos para M2. Se dispone de 100 horas al mes de trabajo manual y de 80 horas al mes de máquina. Sabiendo que el beneficio por unidad es de 1,5 y 1 € para M1 y M2, respectivamente, planificar la producción para obtener el máximo beneficio.

Nos limitaremos ahora a plantear formalmente el problema (ya lo resolveremos más adelante):

Llamando: X = “nº unidades producidas al mes de M1”, e Y = “nº unidades producidas al
mes de M2 ”,

nuestra función objetivo sería: Maximizar:

Z(X,Y) = 1,5X + Y

y las restricciones vendrán dadas por:

Sujeto a:

20X + 30Y <= 100*60

20X + 10Y <= 80*60                           X >= 0                    Y >= 0

Las dos últimas restricciones, si bien no constan de forma explícita en el enunciado, sí figuran de forma implícita, pues el número de mesas a producir no puede ser inferior a 0.

Supuestos básicos de la Programación Lineal

Desde un punto de vista técnico, hay cinco supuestos que debe cumplir todo problema de programación lineal:

   1. Los coeficientes, tanto de la función objetivo como de las restricciones, son conocidos con exactitud y además no varían durante el período de tiempo en que se realiza el estudio (supuesto de certidumbre).
   2. Tanto en la función objetivo como en las restricciones hay proporcionalidad: si para la producción de un bien empleamos 5 horas de un determinado recurso (mano de obra, maquinaria, etc.), para producir diez unidades de dicho bien serán necesarias 50 horas del mismo recurso.
   3. Aditividad de actividades: tanto en la función objetivo como en las restricciones, la contribución de cada variable es independiente de los valores del resto de las variables, siendo el total de todas las actividades igual a la suma de cada actividad individual. Así, por ejemplo, si producimos dos tipos de bienes, uno que nos reporte un beneficio de 20 €/unidad, y otro que nos reporte un beneficio de 10 €/unidad, la producción de un bien de cada tipo supondrá un beneficio total de 30 €.
   4. Las soluciones del problema serán, en general, números reales no necesariamente enteros (supuesto de divisibilidad). Para aquellos problemas en los cuales sólo tenga sentido obtener soluciones enteras (cuando las soluciones se refieran a objetos indivisibles), se usarán técnicas de Programación Lineal Entera (PLE).
   5. Las variables de nuestro modelo tomarán siempre valores positivos (supuesto de no negatividad), dado que no tiene sentido hablar de cantidades negativas de objetos físicos.

Resolución gráfica de un problema de Programación Lineal

El método gráfico de resolución tan sólo es aplicable a problemas con dos variables (X e Y). Para aquellos casos en que el número de variables del problema sea superior a dos, no será posible encontrar la solución a partir de un gráfico bidimensional y, por tanto, tendremos que usar métodos de resolución más complejos. Aún así, el método gráfico es de un gran valor pedagógico dado que nos permite vislumbrar de una forma intuitiva las ideas básicas de la Programación Lineal.

Volviendo al ejemplo de las mesas de ordenador, dado que en él tenemos sólo dos variables, podremos representar cada una de las restricciones en el plano real. Estas restricciones son semiespacios (por ser lineales), la intersección de los cuales se denomina región factible (área de color verde en la figura):




  
La teoría matemática establece que, dado un problema de Programación Lineal que tenga solución, ésta vendrá dada por uno de los vértices (o puntos extremos) del polígono que configura la región factible. Por tanto, será suficiente hallar las coordenadas de dichos vértices (intersecciones de rectas) y determinar (sustituyendo en la función objetivo) cuál de ellos es la solución óptima. En nuestro ejemplo, tendríamos sólo cuatro puntos candidatos a ser solución del problema (los cuatro vértices del polígono), sustituyendo sus coordenadas en la función objetivo obtenemos:

Z(0,0) = 0; Z(0,200) = 200; Z(210,60) = 375; y Z(240,0) = 360

Como en este caso buscábamos maximizar Z(X,Y), concluiremos que el punto óptimo es el (210,60), dado que con él obtenemos el valor máximo de la función objetivo. Así pues, la solución a nuestro dilema será fabricar 210 mesas de tipo M1 y sólo 60 de tipo M2, con ello conseguiremos unos beneficios de 375 €.


No hay comentarios:

Publicar un comentario