TEMA 1
PROGRAMACIÓN LINEAL.
La Programación Lineal corresponde a un algoritmo a través del cual se resuelven situaciones reales, en las que se pretende identificar y resolver dificultades para aumentar la productividad respecto a los recursos (principalmente los limitados y costosos), aumentando así los beneficios. El objetivo primordial de la Programación Lineal es optimizar, es decir, maximizar o minimizar funciones lineales en varias variables reales con restricciones lineales (sistemas de inecuaciones lineales), optimizando una función objetivo también lineal.
Los resultados y el proceso de optimización se convierten en un respaldo cuantitativo de las decisiones frente a las situaciones planteadas. Decisiones en las que sería importante tener en cuenta diversos criterios administrativos como:
Los hechos
La experiencia
La intuición
La autoridad
¿Cómo resolver un problema mediante programación lineal?
El primer paso. Para la resolución de un problema de programación lineal consiste en la identificación de los elementos básicos de un modelo matemático, estos son:
Función Objetivo
Variables
Restricciones
El siguiente paso. Consiste en la determinación de los mismos, para lo cual proponemos seguir la siguiente metodología:
LA FUNCIÓN OBJETIVO
La función objetivo tiene una estrecha relación con la pregunta general que se desea responder. Si en un modelo resultasen distintas preguntas, la función objetivo se relacionaría con la pregunta del nivel superior, es decir, la pregunta fundamental. Así por ejemplo, si en una situación se desean minimizar los costos, es muy probable que la pregunta de mayor nivel sea la que se relacione con aumentar la utilidad en lugar de un interrogante que busque hallar la manera de disminuir los costos.
LAS VARIABLES DE DECISIÓN
Similar a la relación que existe entre objetivos específicos y objetivo general, se comportan las variables de decisión respecto a la función objetivo, puesto que estas se identifican partiendo de una serie de preguntas derivadas de la pregunta fundamental. Las variables de decisión son en teoría, factores controlables del sistema que se está modelando, y como tal, estas pueden tomar diversos valores posibles, de los cuales se precisa conocer su valor óptimo, que contribuya con la consecución del objetivo de la función general del problema.
LAS RESTRICCIONES
Cuando hablamos de las restricciones en un problema de programación lineal, nos referimos a todo aquello que limita la libertad de los valores que pueden tomar las variables de decisión.
La mejor manera de hallarlas consiste en pensar en un caso hipotético en el que decidiéramos darles un valor infinito a nuestras variables de decisión, por ejemplo: ¿qué pasaría si en un problema que precisa maximizar sus utilidades en un sistema de producción de calzado decidiéramos producir una cantidad infinita de zapatos? Seguramente ahora surgirían múltiples interrogantes, por ejemplo:
¿Con cuánta materia prima cuento para producirlos?
¿Con cuánta mano de obra cuento para fabricarlos?
¿Pueden las instalaciones de mi empresa albergar tal cantidad de producto?
¿Podría mi fuerza de mercadeo vender todos los zapatos?
¿Puedo financiar tal empresa?
Pues bueno, entonces habríamos descubierto que nuestro sistema presenta una serie de limitantes, tanto físicas, como de contexto, de tal manera que los valores que en un momento dado podrían tomar nuestras variables de decisión se encuentran condicionados por una serie de restricciones.
APLICACIONES DE LA PROGRAMACIÓN LINEAL EN MARKETING
SELECCIÓN DE MEDIOS PUBLICITARIOS
La Programación Lineal se utiliza en el campo del marketing y la publicidad como una herramienta que nos permite determinar cuál es la combinación más efectiva de medios para anunciar nuestros productos. En muchas ocasiones partiremos de un presupuesto para publicidad fijo y nuestro objetivo será distribuirlo entre las distintas opciones que se nos ofrecen (televisión, radio, periódicos, revistas, etc.) de forma que nuestros productos tengan la mayor difusión posible. En otros casos, las restricciones no serán presupuestarias sino que vendrán dadas por la disponibilidad de cada medio y por las políticas publicitarias de nuestra propia empresa.
ESTUDIOS DE MERCADO
La programación lineal es aplicable también a la investigación de mercados. En el siguiente ejemplo se muestra cómo los estadísticos pueden hacer uso de la Programación Lineal a la hora de diseñar encuestas:
Supongamos que pretendemos realizar una encuesta para determinar la opinión de los españoles acerca del problema de la inmigración. A fin de que la misma sea significativa desde un punto de vista estadístico, exigiremos que ésta deba cumplir los siguientes requisitos:
Entrevistar al menos un total de 2.300 familias españolas.
De las familias entrevistadas, al menos 1.000 deben cumplir que su cabeza de familia no supere los 30 años de edad.
Al menos 600 de las familias entrevistadas tendrán un cabeza de familia con edad comprendida entre los 31 y los 50 años.
El porcentaje de entrevistados que pertenecen a zonas con elevada tasa de inmigración no debe ser inferior a un 15% del total.
Finalmente, no más de un 20% de los entrevistados mayores de 50 años pertenecerán a zonas con alta tasa de inmigración.
Además, todas las encuestas deberán realizarse en persona.
APLICACIONES DE LA PROGRAMACIÓN LINEAL EN PRODUCCIÓN
COMBINACIÓN ÓPTIMA DE BIENES
A menudo las técnicas de PL permiten decidir sobre la cantidad más adecuada que una empresa debe producir de cada uno de sus productos a fin maximizar los beneficios sin dejar de cumplir con unos determinados requisitos (financieros, de demanda, contractuales, de disponibilidad de materias primas, etc.).
PLANIFICACIÓN DE LA PRODUCCIÓN
El establecer un plan de producción para un período de semanas o meses resulta ser una tarea difícil e importante en la mayoría de las plantas de producción. El director de operaciones debe considerar muchos factores: mano de obra, costes de inventario y almacenamiento, limitaciones de espacio, demanda, etc. Por lo general la mayoría de las plantas producen más de un bien, con lo que la tarea anterior se complica aún más. Como veremos en el siguiente ejemplo, el problema de la planificación se asemeja bastante al de la combinación óptima de bienes, pudiendo ser el objetivo maximizar beneficios o bien minimizar los costes de producción más almacenamiento.
3.5 APLICACIONES DIVERSAS DE PROGRAMACION LINEAL.
APLICACIONES DE LA PROGRAMACIÓN LINEAL A LA DISTRIBUCIÓN DE TAREAS
ASIGNACIÓN DE TRABAJOS
El objetivo aquí será asignar de la forma más eficiente posible un trabajo a cada empleado o máquina. Ejemplos de este tipo de asignación serían la distribución de coches patrulla por las calles de una ciudad o la destino de cada jefe de ventas a una determinada zona geográfica. El objetivo puede ser bien minimizar los tiempos o costes de desplazamiento, o bien maximizar la efectividad de las asignaciones.
Aparte de poder utilizar los algoritmos tradicionales (Simplex y Karmarkar), este tipo de problemas también puede resolverse usando técnicas especialmente diseñadas para sus características como el método húngaro, el cual necesita de menos iteraciones para dar con la solución.
Una propiedad particular de los problemas de asignación es que tanto los coeficientes tecnológicos cómo los términos independientes (right-hand-side) siempre toman el valor 1. Además, todas las variables serán binarias, tomando el valor 1 si la asignación propuesta se lleva a cabo y 0 en caso contrario.
PLANIFICACIÓN DE HORARIOS
La planificación de horarios intenta dar una respuesta efectiva a las necesidades de personal durante un período concreto de tiempo. La aplicación de la PL a este tipo de problemas resulta especialmente útil cuando los directivos disponen de cierta flexibilidad a la hora de asignar tareas a empleados polifuncionales. Un sector típico donde se hace uso de la PL para tomar decisiones sobre planificación de horarios son las entidades bancarias.
TEMA 2
ANÁLISIS DE REDES.
Las técnicas de flujo de redes están orientadas a optimizar situaciones vinculadas a las redes de transporte, redes de comunicación, sistema de vuelos de los aeropuertos, rutas de navegación de los cruceros, estaciones de bombeo que transportan fluidos a través de tuberías, rutas entre ciudades, redes de conductos y todas aquellas situaciones que puedan representarse mediante una red donde los nodos representan las estaciones o las ciudades, los arcos los caminos, las líneas aéreas, los cables, las tuberías y el flujo lo representan los camiones, mensajes y fluidos que pasan por la red. Con el objetivo de encontrar la ruta más corta si es una red de caminos o enviar el máximo fluido si es una red de tuberías.
Cuando se trata de encontrar el camino más corto entre un origen y un destino, la técnica, algoritmo o el modelo adecuado es el de la ruta más corta; aunque existen otros modelos de redes como el árbol de expansión mínima, flujo máximo y flujo de costo mínimo cada uno abarca un problema en particular. En este trabajo se mencionan los modelos de redes existentes y los problemas que abarca cada uno de ellos, además se describen los algoritmos que aplican estos modelos para encontrar la solución óptima al problema. Utilizando la terminología utilizada para representarlos como una red.
MODELOS DE REDES
Los problemas de optimización de redes se pueden representar en términos generales a través de uno de estos cuatro modelos:
Modelo de minimización de redes (Problema del árbol de mínima expansión).
Modelo de la ruta más corta.
Modelo del flujo máximo.
Modelo del flujo del costo mínimo.
Modelo de minimización de redes
El modelo de minimización de redes o problema del árbol de mínima expansión tiene que ver con la determinación de los ramales que pueden unir todos los nodos de una red, tal que minimice la suma de las longitudes de los ramales escogidos. No se deben incluir ciclos a la solución del problema.
Para crear el árbol de expansión mínima tiene las siguientes características:
Se tienen los nodos de una red, pero no las ligaduras. En su lugar se proporcionan las ligaduras potenciales y la longitud positiva para cada una si se inserta en la red. (Las medidas alternativas para la longitud de una ligadura incluyen distancia, costo y tiempo.)
Se desea diseñar la red con suficientes ligaduras para satisfacer el requisito de que haya un camino entre cada par de nodos.
El objetivo es satisfacer este requisito de manera que se minimice la longitud total de las ligaduras insertadas en la red.
Una red con n nodos requiere sólo (n-1) ligaduras para proporcionar una trayectoria entre cada par de nodos. Las (n-1) ligaduras deben elegirse de tal manera que la red resultante forme un árbol de expansión. Por tanto, el problema es hallar el árbol de expansión con la longitud total mínima de sus ligaduras.
Algoritmo para construir el árbol de expansión mínima:
Se selecciona, de manera arbitraria, cualquier nodo y se conecta (es decir, se agrega una ligadura) al nodo distinto más cercano.
Se identifica el nodo no conectado más cercano a un nodo conectado y se conectan estos dos nodos (es decir, se agrega una ligadura entre ellos). Este paso se repite hasta que todos los nodos están conectados.
Empates: los empates para el nodo más cercano distinto (paso 1) o para el nodo no conectado más cercano (paso 2), se pueden romper en forma arbitraria y el algoritmo debe llegar a una solución óptima. No obstante, estos empates son señal de que pueden existir (pero no necesariamente) soluciones optimas múltiples. Todas esas soluciones se pueden identificar si se trabaja con las demás formas de romper los empates hasta el final.
Modelo de Flujo Máximo
Se trata de enlazar un nodo fuente y un nodo destino a través de una red de arcos dirigidos. Cada arco tiene una capacidad máxima de flujo admisible. El objetivo es el de obtener la máxima capacidad de flujo entre la fuente y el destino.
Características:
Todo flujo a través de una red conexa dirigida se origina en un nodo, llamado fuente, y termina en otro nodo llamado destino.
Los nodos restantes son nodos de trasbordo.
Se permite el flujo a través de un arco sólo en la dirección indicada por la flecha, donde la cantidad máxima de flujo está dad por la capacidad del arco. En la fuente, todos los arcos señalan hacia fuera. En el destino, todos señalan hacia el nodo.
El objetivo es maximizar la cantidad total de flujo de la fuente al destino. Esta cantidad se mide en cualquiera de las dos maneras equivalentes, esto es, la cantidad que sale de la fuente o la cantidad que entra al destino.
El problema de flujo máximo se puede formular como un problema de programación lineal, se puede resolver con el método símplex y usar cualquier software. Sin embargo, se dispone de un algoritmo de trayectorias aumentadas mucho más eficientes. El algoritmo se basa en dos conceptos intuitivos, el de red residual y el de trayectoria aumentada.
Algoritmo de la trayectoria de aumento para el problema de flujo máximo:
Se identifica una trayectoria de aumento encontrando alguna trayectoria dirigida del origen al destino en la red residual, tal que cada arco sobre esta trayectoria tiene capacidad residual estrictamente positiva. (Si no existe una, los flujos netos asignados constituyen un patrón del flujo óptimo).
Red:
Una red consiste en un conjunto de puntos y un conjunto de líneas que unen ciertos pares de puntos. Los puntos se llaman nodos (o vértices). Las líneas se llaman arcos (o ligaduras, aristas o ramas).
Los arcos se etiquetan para dar nombres a los nodos en sus puntos terminales, por ejemplo, AB es el arco entre los nodos A Y B.
En un problema de programación lineal, las redes pueden representar un conjunto de estaciones, campos petrolíferos, almacenes, fabricas, sucursales, ciudades, interconectadas entre si a través de caminos, conductos, tuberías que permiten fluir productos para la comercialización o la distribución.
Arcos Dirigidos:
Se dice que un arco es dirigido cuando el arco tiene flujo en una dirección (como en una calle de un sentido). La dirección se indica agregando una cabeza de flecha al final de la línea que representa el arco.
Al etiquetar un arco dirigido con el nombre de los nodos que une, siempre se coloca primero al nodo de donde viene y después el nodo a donde va, esto es, un arco dirigido del nodo A al nodo B debe etiquetarse como AB y no como BA. Otra Manera es AB.
Arcos No Dirigidos:
Si el flujo a través de un arco se permite en ambas direcciones (como una tubería que se puede usar para bombear fluido en ambas direcciones), se dice que es un arco no dirigido.
También se les llama ligadura. Aunque se permita que el flujo a través de un arco no dirigido ocurra en cualquier dirección, se supone que ese flujo será en una dirección, en la seleccionada, y no se tendrá flujos simultáneos en direcciones opuestas.
Trayectoria: Una trayectoria entre dos nodos es una sucesión de arcos distintos que conectan estos nodos.
Cuando algunos o todos los arcos de una red son arcos dirigidos, se hace la distinción entre trayectorias dirigidas y trayectorias no dirigidas.
Trayectoria Dirigida: Una trayectoria dirigida del nodo i al nodo j, es una sucesión de arcos cuya dirección (si la tienen) es hacia el nodo j, de manera que el flujo del nodo i al nodo j, a través de esta trayectoria es factible.
Trayectoria No Dirigida: Una trayectoria no dirigida del nodo i al nodo j es una sucesión de arcos cuya dirección (si la tienen) pueden ser hacia o desde el nodo j. Con frecuencia alguna trayectoria no dirigida tendrá algunos arcos dirigidos hacia el nodo j y otros desde él (es decir, hacia el nodo i).
Ciclo: Un ciclo es una trayectoria que comienza y termina en el mismo nodo.
Red Conexa: Una red conexa es una red en la que cada par de nodos está conectado. Se dice que dos nodos están conectados si la red contiene al menos una trayectoria no dirigida entre ellos. Se debe resaltar que no es necesario que la trayectoria sea dirigida aun cuando la red sea dirigida. La figura 1 representa una red conexa.
Árbol de Expansión: es una red conexa para los n nodos, que contiene ciclos no dirigidos. Todo árbol de expansión tiene justo n-1 arcos, ya que este es el número mínimo de arcos necesarios para tener una red conexa y el máximo número posible para que no haya ciclos no dirigidos.
Capacidad de Arco: Es la cantidad máxima de flujo (quizás infinito) que puede circular en un arco dirigido.
Nodo Fuente: (o nodo de origen) tiene la propiedad de que el flujo que sale del nodo excede al flujo que entra a él.
Nodo Demanda: (o nodo destino) es el caso contrario al nodo fuente, donde el flujo que llega excede al que sale de él.
Nodo de Trasbordo: (o nodo intermedio) satisface la conservación del flujo, es decir, el flujo que entra es igual al que sale.
REDES DIRIGIDAS Y NO DIRIGIDAS
Red Dirigida:
En una red dirigida, un ciclo puede ser dirigido o no dirigido, según si la trayectoria en cuestión es dirigida o no dirigida.
Red No Dirigida:
Es una red donde todos sus arcos no son dirigidos.