NILDA ALGORITMOS ESPECIALES DE PROGRAMACIÓN LINEAL
3.1. PROBLEMA DE TRANSPORTE El problema consiste en decidir cuántas unidades unidade s trasladar desde ciertos puntos de origen (platas, ciudades, etc) a ciertos puntos de destino (centros de distribución, ciudades, etc) de modo de minimizar los costos de transporte, dada la oferta y demanda en dichos puntos. Se suponen conocidos los costos unitarios de transporte, los requerimientos de demanda y la oferta disponible. Problema de Transporte corresponde a un tipo particular de un problema de programación lineal. Si bien este tipo de problema puede ser resuelto por el método Simplex, existe un algoritmo simplicado especial para resolverlo. Un problema particular que se resuelve con los procedimientos de la programación lineal es la situación conocida como problema del transporte o problema de la distribución de mercancías. Se trata de encontrar los caminos para trasladar mercancía, desde varias plantas (orígenes) a diferentes centros de almacenamiento (destinos), de manera que se minimice el costo del transporte. Para que un problema pueda ser resuelto por el método del transporte debe cumplir: 1) La función objetivo y las restricciones deben ser lineales. 2) El total de unidades que salen en origen debe ser igual al total de unidades que entran en destino.
PLANTEAMIENTO DEL PROBLEMA Plantear un problema de transporte • Tiene como objetivo encontrar el mejor plan de distribución, generalmente
minimizando el Coste. • Un problema está equilibrado o balanceado si la oferta es igual a la demanda. En
ese caso, en las restricciones se cumplirán las igualdades correspondientes.
• Para aplicar el simplex de transporte necesitamos que el problema esté
equilibrado. Si no lo está, añadiremos una demanda ficticia con costes nulos o una oferta ficticia con costes de penalización. • En una tabla representaremos el coste que supone transp ortar cada unidad desde
i hasta j.
LUIS DETERMINACIÓN DE LA SOLUCIÓN El modelo básico de transporte es el modelo en el cual la cantidad ofertada es igual a la cantidad demandada, como es el caso de este ejercicio, sin embargo trasladar esta suposición a la realidad es casi imposible por lo cual hace falta crear orígenes y/o destinos ficticios con el excedente de oferta y/o demanda. Como ya lo hemos planteado en módulos anteriores el primer paso corresponde a la definición de las variables, regularmente se le denomina a las variables de manera algebraica Xi,j donde i simboliza a la fuente y j simboliza al destino
BASICA FACTIBLE INICIAL Siempre está asociada a un punto extremo de la región factible y satisface todas las restricciones si se evalúa en ellas así como es el punto que en el caso de maximización hace que el valor de z sea el máximo (más grande) y el caso de minimización sea el mínimo (más pequeño). Una soluci´on b´asica (SB) a un sistema de ecuaciones A x = b con m ecuaciones y con n inc´ognitas, es decir m × n (n ≥ m) es una soluci´on al sistema que se obtiene haciendo cero n − m variables y que resulta en un sistema con soluci´on ´unica. A
una variable de decisi´on que deliberadamente se hace cero se le llama variables no b´asica (VNB) y mientras que a aqu´ella que se conserva dentro del nuevo sistema se le llama variable b´asica (VB). Introducci´on al M´etodo Simplex euresti@itesm.mx Introducci´on Forma Est´andar Definici´on Conversi´on Ejemplo Soluci´on B´asica Definici´on Ejemplo 1 Ejemplo 2 Soluci´on B´asica Factible Definici´on Ejemplo 1 Correspondencia Adyacencia Definici´on Ejemplo 1 Simplex En t´erminos de Algebra Lineal, este concepto equivale a seleccionar m columnas de A y que ´estas formen una base para R m. Las columnas no seleccionadas corresponden a aquellas variables que se hacen cero deliberadamente. Una vez seleccionadas las columnas el nuevo sistema con el mismo vector de constantes debe resolverse. La soluci´on obtenida se llama soluci´on b´asica. En t´erminos de matrices, tiene el significado que las variables que no se hacen cero deliberadamente forman una matriz invertible. El proceso para obtener una
soluci´on factible corresponde a tomar de A columnas para formar una matriz cuadrada que resulte invertible. Las variables con valores diferentes de cero serán llamadas "variables básicas", las demás "variables no básicas". Esta forma simplifica el encontrar la solución factible básica inicial, dado que todas las variables de la forma estándar pueden ser elegidas para ser no básicas (cero), mientras que todas las nuevas variables introducidas en la forma aumentada, serán básicas (diferentes de cero), dado que su valor puede ser calculado trivialmente ( para ellas, dado que la matriz problema aumentada en diagonal es su lado derecho)
BERNARDO CRITERIO DE OPTIMALIDAD La variable de entrada en un problema de maximización es la variable no basica que tiene el coeficiente más negativo en la fila Z o función objetivo. En el caso de minimización, la variable de entrada se define como la variable no básica que tiene que tiene el coeficiente más positivo en la fila Z
EL ALGORITMO DE MEJORAMIENTO DE LA SOLUCION 3.2. PROBLEMA DE ASIGNACIÓN El problema de asignación es una variación del problema original de transporte, variación en la cual las variables de decisión X(i,j) solo pueden tomar valores binarios, es decir ser cero (0) o uno (1), en la solución óptima, lo que supone que la oferta y la demanda están perfectamente alineadas, de hecho ambas son iguales a uno (1).
PLANTEAMIENTO DEL PROBLEMA ALGORITMO PARA DETERMINAR LA SOLUCIÓN OPTIMA El método Húngaro es un método de optimización de problemas de asignación, conocido como tal gracias a que los primeros aportes al método clásico definitivo fueron de Dénes König y Je nő Egerváry dos matemáticos húngaros. El algoritmo tal como se detallará a continuación está diseñado para la resolución de problemas de minimización únicamente, será entonces cuestión de agregar un paso adicional para abordar ejercicios de maximización.
ALGORITMO HÚNGARO, PASO 1
Antes que nada cabe recordar que el método húngaro trabaja en una matriz de costos n*m (en este caso conocida como matriz m*m, dado que el número de filas es igual al número de columnas n = m), una vez construida esta se debe encontrar el elemento más pequeño en cada fila de la matriz. ALGORITMO HÚNGARO, PASO 2 Una vez se cumple el procedimiento anterior se debe construir una nueva matriz n*m, en la cual se consignarán los valores resultantes de la diferencia entre cada costo y el valor mínimo de la fila a la cual cada costo corresponde (valor mínimo hallado en el primer paso).
WILLY ALGORITMO HÚNGARO, PASO 3 Este paso consiste en realizar el mismo procedimiento de los dos pasos anteriores referidos ahora a las columnas, es decir, se halla el valor mínimo de cada columna, con la diferencia que este se halla de la matriz resultante en el segundo paso, luego se construirá una nueva matriz en la cual se consignarán los valores resultantes de la diferencia entre cada costo y el valor mínimo de la columna a la cual cada costo corresponde, matriz llamada "Matriz de Costos Reducidos". ALGORITMO HÚNGARO, PASO 4 A continuación se deben de trazar líneas horizontales o verticales o ambas (únicamente de esos tipos) con el objetivo de cubrir todos los ceros de la matriz de costos reducidos con el menor número de líneas posibles, si el número de lineas es igual al número de filas o columnas se ha logrado obtener la solución óptima (la mejor asignación según el contexto de optimización), si el número de líneas es inferior al número de filas o columnas se debe de proceder con el paso 5. ALGORITMO HÚNGARO, PASO 5 Este paso consiste en encontrar el menor elemento de aquellos valores que no se encuentran cubiertos por las lineas del paso 4, ahora se restará del restante de elementos que no se encuentran cubiertos por las líneas; a continuación este mismo valor se sumará a los valores que se encuentren en las intersecciones de las lineas horizontales y verticales, una vez finalizado este paso se debe volver al paso 4. 3.3. USO DE SOFTWARE