Sunteți pe pagina 1din 34

Análisis de Sensibilidad o Postoptimal

El análisis de sensibilidad o postoptimal para los modelos de Programación Lineal, tiene por
objetivo identificar el impacto que resulta en los resultados del problema original luego de
determinadas variaciones en los parámetros, variables o restricciones del modelo, sin que esto
pase por resolver el problema nuevamente.

Es decir, ya sea si resolvemos nuestro modelo gráficamente o utilizando el Método Simplex, lo que
se busca es que estas variaciones o sensibilidad hagan uso de la solución y valor óptimo actual, sin
tener la necesidad de resolver para cada variación un nuevo problema. En especial nos
concentraremos en el análisis de sensibilidad o postoptimal que hace uso de la tabla final del
Método Simplex.

TEORÍA

Siguiendo la notación utilizada en la sección dedicada al Método Simplex en nuestro sitio, éste
opera para modelos de Programación Lineal en un formato estándar.

Min cTx
s.a Ax = b
x >= 0

Donde la tabla final del Método mantiene la siguiente estructura:

 Donde:

 I: Matriz Identidad

 0: Costos reducidos asociados a las variables básicas

 B: Matriz de variables básicas

 D: Matriz de variables no básicas

 b: Lado derecho

 Cb: Coeficientes en la función objetivo asociados a las variables básicas

 Cd: Coeficientes en la función objetivo asociados a las variables no básicas

1. Cambio en el "lado derecho" de las restricciones: Lo que se busca identificar si las actuales
variables básicas se mantienen luego de la modificación de uno o más parámetros asociados al
"lado derecho" del modelo. Si calculamos:
y se cumple , Las mismas variables básicas lo son también de la nueva
solución óptima, calculada con el nuevo . Si lo anterior no se cumple, se puede aplicar el Método
Simplex Dual.

EJEMPLO: Sin resolver nuevamente el problema, se desea saber si las actuales variables básicas
óptimas del problema también lo son del mismo problema, donde los lados derechos corresponde
al vector b=(20,30). (Observación: X4 y X5 son variables de holgura de la restricción 1 y 2
respectivamente)

Max 2x1 + 7x2 - 3x3


sa: x1 + 3x2 + 4x3 <= 30
x1 + 4x2 - x3 <= 10
x1,x2,x3 >= 0

X1 X2 X3 X4 X5

0 -1 5 1 -1 20

1 4 -1 0 1 10

0 1 1 0 2 20

Para analizar este escenario debemos calcular el vector de variables básicas y verificar si todos sus
componentes son positivos definidos. Nótese que para esto necesitamosla matriz B inversa, la cual
fácilmente podemos rescatar identificando los parametros asociados a X4 y X5 (variables de
holgura de la restricción 1 y 2 respectivamente) en la tabla final del Método Simplex:

Luego, dado que al menos uno de los coeficientes del nuevo lado derecho tiene un valor negativo,
cambia la actual base óptima. Cabe destacar que ante esta situación no es necesario resolver el
nuevo escenario partiendo de cero, sino lo que se debe hacer es utilizar la tabla final del simplex
del escenario base, actualizando el lado derecho y valor de la función objetivo.

X1 X2 X3 X4 X5

0 -1 5 1 -1 -10

1 4 -1 0 1 30

0 1 1 0 2 60

Posteriormente, se continua iterando haciendo uso del Método Simplex Dual. (Ver referencia a la
derecha).
2. Inclusión de una nueva variable: Debemos evaluar si la nueva variable es un aporte significativo
a los resultados del modelo original. Luego, para decir si la actual solución básica es óptima para el
nuevo problema, calculamos el costo reducido de la nueva variable como:

donde k es el índice de la nueva variable y Ak su respectiva columna en la


matriz de coeficientes. Si se cumple que rk>=0 se conserva la actual solución óptima. En caso
contrario, se puede seguir con el Simplex agregando a la tabla una nueva columna con entradas B-
1Ak y rk y tomando como variable entrante a la nueva base la que acabamos de introducir al
problema.

EJEMPLO: Se desea estudiar la posibilidad de elaborar un nuevo producto con beneficio neto igual
a 8 y que requiere 4, 2 y 5 unidades de los recursos asociados a cada restricción. Sin resolver
nuevamente el problema, ¿Conviene elaborar el producto?

Max 9x1 + 12x2


sa: 4x1 + 3x2 <= 180
2x1 + 3x2 <= 150
4x1 + 2x2 <= 160
x1,x2 >= 0

X1 X2 X3 X4 X5

1 0 1/2 -1/2 0 15

0 1 -1/3 2/3 0 40

0 0 -4/3 2/3 1 20

0 0 1/2 7/2 0 615

Se debe evaluar rk y determinar si este es >=0.

En este ejemplo rk=1>=0, por lo cual no conviene la incorporación de esta nueva variable al
modelo, es decir, aun cuándo sea incorporada no obtendremos un valor óptimo que supere el
actual V(P)=615. De todas formas mostraremos como se incluye en la tabla final del Simplex esta
modificación de modo que el lector pueda entender su incorporación cuando es necesario:
X1 X2 X3 X4 X5 XNew

1 0 1/2 -1/2 0 1 15

0 1 -1/3 2/3 0 0 40

0 0 -4/3 2/3 1 1 20

0 0 1/2 7/2 0 1 615

Si el costo reducido de esta nueva variable hubiese sido cero, entonces el nuevo escenario tendría
infinitas soluciones.

3. Cambio en los Coeficientes Función Objetivo: Se busca identificar qué ocurre con la actual
solución óptima del escenario base si se cambian uno o varios de los coeficientes que definen la
función objetivo. La solución óptima actual también lo será para el nuevo escenario siempre que
los nuevos costos reducidos sean mayores o iguales a cero (notar que también cambia el valor de
la función objetivo en la actual solución óptima). Es decir se debe cumplir que:

En caso contrario, se aplica el Simplex a partir de la tabla final del modelo original, con los nuevos
costos reducidos y nuevo valor de la actual solución básica.

EJEMPLO: Sin resolver nuevamente el problema, se desea saber que sucede si se modifica los
parámetros de la función objetivo, quedando éstos de la siguiente forma: Z = x1 + 5x2 - 2x3. (X4 y
X5 son las variables de holgura de la restricción 1 y 2 respectivamente).

Max 2x1 + 7x2 - 3x3


sa: x1 + 3x2 + 4x3 <= 30
x1 + 4x2 - x3 <= 10
x1,x2,x3 >= 0

X1 X2 X3 X4 X5

0 -1 5 1 -1 20

1 4 -1 0 1 10

0 1 1 0 2 20

Debido a que los cambios en los parámetros de la función objetivo se producen en más de una
variable consideraremos la siguiente fórmula:
Debido a que al menos uno de los costos reducidos de las variables no básicas se ha vuelto
negativo, entonces cambia la actual solución y valor óptimo del problema. Para incorporar esta
modificación en la tabla final del Método Simplex se actualiza los costos reducidos asociados a las
variables no básicas, además del valor óptimo, quedando como sigue:

X1 X2 X3 X4 X5

0 -1 5 1 -1 20

1 4 -1 0 1 10

0 -1 1 0 1 10

4. Inclusión de una nueva restricción: Para saber si la actual solución y valor óptimo se mantendrá
luego de incorporar una nueva restricción al problema se debe evaluar la solución actual y verificar
si satisface la nueva restricción. En caso afirmativo, la actual solución también lo será del problema
con la nueva restricción, en caso contrario se incorpora la nueva restricción a la tabla final del
Simplex del escenario base.

EJEMPLO: Sin resolver nuevamente el problema, se desea saber que sucede si se considera una
nueva restricción de la forma: 3x1 + 2x2 + 3x3 <= 25. (Observación: Considerar mismo modelo y
tabla final del ejemplo anterior)

Se evalua la solución actual en la restricción: 3*(10) + 2*(0) + 3*(0) <= 25. No cumple. Por tanto se
incorpora esta nueva restricción como fila a la tabla final del Simplex. Adicionalmente, se
agrega X6 como variable de holgura asociada a esta nueva restricción:

X1 X2 X3 X4 X5 X6

0 -1 5 1 -1 0 20

1 4 -1 0 1 0 10

3 2 3 0 0 1 25
0 1 1 0 2 0 20

Una alternativa para encontrar el óptimo a través de esta tabla es formar la identidad (debemos
hacer cero el parámetro asociado a X1 en la tercera fila) multiplicando la fila 2 por -3 y sumando
dicho resultado a la fila 3. De esta forma se obtiene:

X1 X2 X3 X4 X5 X6

0 -1 5 1 -1 0 20

1 4 -1 0 1 0 10

0 -10 6 0 -3 1 -5

0 1 1 0 2 0 20

Finalmente obtenemos X4, X1 y X6 como variables básicas. Producto de la transformación un lado


derecho queda negativo y en este caso podemos continuar adelante utilizando el Método Simplex
Dual.

Relaciones de Dualidad en Programación Lineal


(Pasar de Primal a Dual)
por GEO Tutoriales el 08/05/2013 en Programación Lineal 0

El modelo dual de un problema de Programación Lineal consiste en una


instancia alternativa de modelamiento matemático que nos permite rescatar la
información del problema original conocido comúnmente como modelo primal.
En consecuencia es suficiente con resolver uno de ellos (primal o dual) para poder
obtener la solución óptima y valor óptimo del problema equivalente (primal o dual
según sea el caso). Para ello se puede utilizar, por ejemplo, las condiciones
establecidas en el Teorema de Holguras Complementarias.
Las relaciones de dualidad se pueden resumir en el siguiente cuadro:
La tabla anterior se puede interpretar tanto de izquierda a derecha como
de derecha a izquierda.
Primal Minimización – Dual Maximización
Por ejemplo, leyendo la tabla desde izquierda a derecha, es decir, pasar de
un problema primal de minimización a un problema dual de maximización,
tenemos:
 Si el problema primal es de minimización, entonces su correspondiente dual será uno
de maximización.
 Si el problema primal tiene una restricción del tipo >=, la variable dual asociada a dicha restricción
debe ser >=0.
 Si el problema primal tiene una restricción del tipo <=, la variable dual asociada a dicha restricción
debe ser <=0.
 Si el problema primal tiene una restricción del tipo =, la variable dual asociada a dicha restricción debe
ser irrestricta (libre de signo).
 Si el problema primal tiene una variable >=0, la correspondiente restricción asociada en el dual debe
ser <=.
 Si el problema primal tiene una variable <=0, la correspondiente restricción asociada en el dual debe
ser >=.
 Si el problema primal tiene una variable irrestricta (libre de signo), la
correspondiente restricción asociada en el dual debe ser =.
Primal Maximización – Dual Minimización
De forma análoga, interpretando la tabla desde derecha a izquierda, es decir,
pasar de un problema primal de maximización a un problema
dual de minimización, tenemos:
 Si el problema primal es de maximización, entonces su correspondiente dual será uno
de minimización.
 Si el problema primal tiene una restricción del tipo <=, la variable dual asociada a dicha restricción
debe ser >=0.
 Si el problema primal tiene una restricción del tipo >=, la variable dual asociada a dicha restricción
debe ser <=0.
 Si el problema primal tiene una restricción del tipo =, la variable dual asociada a dicha restricción debe
ser irrestricta (libre de signo).
 Si el problema primal tiene una variable >=0, la correspondiente restricción asociada en el dual debe
ser >=.
 Si el problema primal tiene una variable <=0, la correspondiente restricción asociada en el dual debe
ser <=.
 Si el problema primal tiene una variable irrestricta (libre de signo), la
correspondiente restricción asociada en el dual debe ser =.
Ejemplo Relaciones de Dualidad en Programación
Lineal
A continuación presentamos un modelo de optimización que consideraremos como
el problema primal y que en un artículo previo fue resuelto a través del Método
Simplex de 2 Fases.

Como en este caso el problema primal es de minimización, para definir su


respectivo problema dual leeremos la tabla que resume las relaciones de dualidad
desde izquierda a derecha. En consecuencia, el problema dual será uno
de maximización.
Adicionalmente la primera y segunda restricción del problema primal definirán las
variables de decisiones (variables duales) en el problema dual (Y1 e Y2,
respectivamente), siendo los coeficientes en la función objetivo los actuales
valores de los lados derechos de las restricciones del problema primal.
De esta forma la función objetivo del problema dual queda definida por la siguiente
expresión:

Luego por cada variable en el problema primal vamos a tener la misma cantidad
de restricciones en el problema dual. En este caso las
variables X1, X2 y X3 definirán la estructura de las restricciones 1, 2 y 3 en
nuestro problema dual. Por ejemplo la primera restricción del problema dual
(asociada a la variable primal X1) sería 2Y1+2Y2<=160.
Notar que los coeficientes que ponderan a las variables duales son
los parámetros asociados a la variable X1 en el primal en la primera y segunda
restricción, respectivamente. La restricción en el dual es del tipo “<=” debido a
que la variable X1 en el problema primal de minimización tiene la condición de no
negatividad (“>=0”). Por último el lado derecho de la restricción es el coeficiente
que tiene la variable X1 en la función objetivo del problema primal. Siguiendo el
procedimiento las restricciones del problema dual serían:

Finalmente como las 2 primeras restricciones del problema primal son del
tipo “>=” en el problema primal de minimización, las respectivas variables duales
asociadas en el problema de maximización serán no negativas. De esta forma el
problema dual es:

Ejercicio Propuesto: Utilizando las relaciones de dualidad


en Programación Lineal, dado un problema primal P, demuestre que su
correspondiente dual D queda definido de acuerdo a:

En lo que sigue, combinaremos las distintas restricciones del problema primal,


ponderando por los valores no negativos y cada una, respectivamente, de
modo de obtener la mejor cota superior del valor óptimo del problema P). Vale
decir:
De modo de garantizar que el lado derecho de esta última desigualdad sea una
cota superior de la función objetivo del problema primal se debe cumplir que:

La mejor elección de esta cota se obtendría al resolver el siguiente problema de


optimización:

Este problema se conoce como el problema “Dual” D) asociado al problema


“Primal” P).
También resulta que al formular el problema dual de D) se obtiene el problema
primal P) (o uno equivalente). Cualquiera de los dos entrega la misma información
y el valor óptimo alcanzado es el mism
El problema del transporte o distribución, es un problema de redes especial
en programación lineal que se funda en la necesidad de llevar unidades de un
punto específico llamado fuente u origen hacia otro punto específico
llamado destino. Los principales objetivos de un modelo de transporte son la
satisfacción de todos los requerimientos establecidos por los destinos, y claro está,
la minimización de los costos relacionados con el plan determinado por las rutas
escogidas.
El contexto en el que se aplica el modelo de transporte es amplio y puede generar
soluciones atinentes al área de operaciones, inventario y asignación de elementos.
El procedimiento de resolución de un modelo de transporte se puede llevar a cabo
mediante programación lineal común, sin embargo su estructura permite la creación
de múltiples alternativas de solución tales como la estructura de asignación o los
métodos heurísticos más populares como Vogel, Esquina Noroeste o Mínimos
Costos.

Bryan Antonio
Salazar López
Los problemas de transporte o distribución son uno de los más aplicados en la
economía actual, dejando como es de prever múltiples casos de éxito a escala
global que estimulan la aprehensión de los mismos.

PROBLEMA DE TRANSPORTE
MEDIANTE PROGRAMACIÓN LINEAL
Como se mencionó anteriormente, la programación lineal puede ser utilizada para
la resolución de modelos de transporte, aunque no sea sensato resolver los modelos
mediante el Método Simplex, si puede ser de gran utilidad la fase de modelización,
la programación carece de la practicidad de los métodos de asignación, pero puede
ser de gran importancia dependiendo de la complejidad de las restricciones
adicionales que puede presentar un problema particular.
EL PROBLEMA
Una empresa energética colombiana dispone de cuatro plantas de generación para
satisfacer la demanda diaria eléctrica en cuatro ciudades, Cali, Bogotá, Medellín y
Barranquilla. Las plantas 1,2,3 y 4 pueden satisfacer 80, 30, 60 y 45 millones de KW
al día respectivamente. Las necesidades de las ciudades de Cali, Bogotá, Medellín
y Barranquilla son de 70, 40, 70 y 35 millones de Kw al día respectivamente.

Los costos asociados al envío de suministro energético por cada millón de KW entre
cada planta y cada ciudad son los registrados en la siguiente tabla.

www.ingenieriaindustrialonline.com

Formule un modelo de programación lineal que permita satisfacer las necesidades


de todas las ciudades al tiempo que minimice los costos asociados al transporte.
SOLUCIÓN MEDIANTE PL
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. En este
caso i define el conjunto {Planta 1, Planta 2, Planta 3 y Planta 4}, y j define el
conjunto {Cali, Bogotá, Medellín y Barranquilla}. Sin embargo es práctico renombrar
cada fuente y destino por un número respectivo, por ende la variable
X1,2 corresponde a la cantidad de millones de KW enviados diariamente de la Planta
1 a la ciudad de Bogotá.

www.ingenieriaindustrialonline.com

El segundo paso corresponde a la formulación de las restricciones de oferta y


demanda, cuya cantidad se encuentra determinada por el factor entre fuentes y
destinos, en este caso 16 restricciones.

Restricciones de oferta o disponibilidad, las cuales son de signo ≤:

X1,1 + X1,2 + X1,3 + X1,4 ≤ 80


X2,1 + X2,2 + X2,3 + X2,4 ≤ 30
X3,1 + X3,2 + X3,3 + X3,4 ≤ 60
X4,1 + X4,2 + X4,3 + X4,4 ≤ 45

Restricciones de demanda, las cuales son de signo ≥:

X1,1 + X2,1 + X3,1 + X4,1 ≥ 70


X1,2 + X2,2 + X3,2 + X4,2 ≥ 40
X1,3 + X2,3 + X3,3 + X4,3 ≥ 70
X1,4 + X2,4 + X3,4 + X4,4 ≥ 35

Luego se procede a formular la función objetivo, en la cual se relaciona el costo


correspondiente a cada ruta.

ZMIN = 5X1,1 + 2X1,2 + 7X1,3 + 3X1,4 + 3X2,1 + 6X2,2 + 6X2,3 + 1X2,4 + 6X3,1 + 1X3,2 +
2X3,3 + 4X3,4 + 4X4,1 + 3X4,2 + 6X4,3 + 6X4,4
Luego se puede proceder al uso de la herramienta WinQSB para resolver el modelo
realizado, aquí están los resultados.

www.ingenieriaindustrialonline.com
www.ingenieriaindustrialonline.com

Este problema presenta una solución óptima alternativa, aquí los resultados.
Red Solución

Los análisis de dualidad y sensibilidad en los modelos de transporte resultan ser


bastante interesantes, pues pueden llegar a determinar aumentos de capacidad en
las fuentes si el precio sombra de las rutas en relación a ellas lo justifica.
Qué es una Solución Óptima Degenerada en
Programación Lineal
por GEO Tutoriales el 02/02/2015 en Programación Lineal 0

En la aplicación del Método Simplex al hacer el cálculo del mínimo cuociente o


condición de factibilidad, se puede romper un empate en la razón o cuociente
mínimo en forma arbitraria. En este caso, al menos una variable básica será cero
en la siguiente iteración, afirmándose en este caso que la nueva solución
es degenerada. La implicancia práctica de dicha condición indica que el modelo
tiene al menos una restricción redundante.
Solución Óptima Degenerada
Consideremos el siguiente modelo de Programación Lineal el cual resolveremos a
través del Método Simplex y que de forma complementaria representaremos
gráficamente con Geogebra:

Llevamos el problema anterior a su forma estándar de minimización,


agregando y , como variables de holgura de las restricciones 1 y 2,
respectivamente.

Que da origen a la siguiente tabla inicial del Método Simplex:

Para favorecer la rapidez de convergencia del algoritmo seleccionamos como la


variable que ingresa a la base. A continuación calculamos el criterio de factibilidad
(mínimo cuociente): (al existir empate seleccionaremos
arbitrariamente la variable como aquella que deja la base. Luego se actualiza la
tabla:

Ahora ingresa a la base. El criterio de factibilidad determina

que: deja la base. Se realiza entonces una nueva iteración:

Se alcanza la solución óptima degenerada del problema lineal. Notar


que . Como éste es un problema
bidimensional, la solución está sobredeterminada y una de las restricciones
es redundante tal como se corrobora en la representación gráfica:

En la práctica conocer que algunos recursos (como los asociados a una restricción)
son superfluos puede ser valioso durante la implementación de la solución. Desde el
punto de vista teórico, la degeneración tiene dos implicaciones: se genera el
fenómeno de ciclos o círculos (es posible que el Método Simplex repita una serie de
iteraciones sin mejorar el valor de la función objetivo, tal como se observo en el
ejemplo anterior e incluso eventualmente nunca terminar los cálculos); el segundo
aspecto teórico surge al examinar las iteraciones 1 y 2. Las dos, aunque difieren en
la clasificación de las variables básicas y no básicas, producen valores idénticos para
todas las variables y el valor objetivo ( ).

Método Del Símplex Y Problema Del Transporte


La programación lineal se ha constituido en un método ampliamente utilizado para resolver problemas
de optimización y planificación empresarial. En este contexto, se han definido varios procedimientos
operativos avanzados, entre los que cabe citar el método del símplex y la solución de los llamados «
problemas del transporte ».

Algoritmo del símplex


El método o algoritmo del símplex se utiliza para hallar las soluciones óptimas de un problema
de programación lineal con tres o más variables. Es un procedimiento iterativo de programación lineal
que va desechando las soluciones no factibles y, en cada paso, evalúa si la solución obtenida es óptima o
no. Las etapas de este algoritmo son:
 1. Planteamiento del problema: identificación de las variables y definición de la función objetivo y
del sistema de inecuaciones lineales para restricciones.
 2. Conversión de las desigualdades en igualdades; en cada restricción se introduce una variable de
holgura en el miembro menor (o menor o igual) de la desigualdad.
 3. Igualación a cero de la función objetivo.
 4. Escritura de una tabla inicial símplex (matriz): en las columnas, las variables del problema; una fila
para cada conjunto de coeficientes de una restricción y una fila más para los coeficientes de la
función objetivo.
 5. Determinación de las variables y los coeficientes.
Ejemplo de tabla inicial símplex:
Base Variable de decisión Variable de holgura Valor crítico Z Valores solución

x1 x2 x3 h1 h2 h3

h1 3 4 2 1 0 0 0 300

h2 2 1 2 0 1 0 0 200

h3 1 3 3 0 0 1 0 150
Z -2 -4 -5 0 0 1 1 0

Variables y coeficientes
Para determinar las variables de un problema mediante el método del símplex, es preciso hallar primero
la base de resolución. En esta base:
 Se incluye una variable de decisión, la que posee el coeficiente negativo mayor. La columna a la que
corresponde se llama columna pivote.
 Se excluye una variable de holgura. Se divide cada término por el correspondiente de la columna
pivote y se calcula el menor cociente positivo.
Se aplica entonces el método de eliminación gaussiana para anular los términos de la columna pivote,
tantas veces como se precisa hasta que en la última fila sólo haya coeficientes positivos. (Tal será la
solución).

Problema del transporte


El problema del transporte es un planteamiento clásico de las técnicas de programación lineal. En este
problema se pretende elegir el camino óptimo de envío de una mercancía desde varios orígenes (por
ejemplo, plantas de producción) a diferentes destinos (centros de almacenamiento o consumo), de forma
que el coste sea mínimo.
Como en todo problema de programación lineal, han de cumplirse las siguientes etapas:
 Definir las variables del problema (por ejemplo, las cantidades de partida solicitadas en cada destino,
el coste de envío de una unidad de mercancía a cada destino).
 Escribir conceptualmente el sistema de inecuaciones asociado a las restricciones del problema (por
ejemplo, el número de unidades máximas producidas en cada origen y las requeridas en cada
destino).
 Definir conceptualmente la función objetivo, que determina el coste.

Resolución del problema del transporte


Una vez planteado el problema, se construye una tabla de distribución, de la que se obtienen las
expresiones matemáticas de las inecuaciones del sistema y la función objetivo. Para resolverla se usan los
métodos gráficos o algebraicos comunes de la programación lineal.
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).
Múltiples son los casos en los que como ingenieros industriales podemos hacer uso
del problema de asignación para resolver diversas situaciones, entre los que cabe
mencionar se encuentran la asignación de personal a maquinas, herramientas a
puestos de trabajos, horarios a maestros, candidatos a vacantes, huéspedes a
habitaciones, comensales a mesas, vendedores a zonas territoriales etc.
En el modelo de asignación, la idea fundamental de resolución es ¿qué fuente
satisface mejor el destino?, y dado que hemos asociado el modelo a una gran
diversidad de circunstancias esta pregunta puede plantearse en múltiples contextos,
como ¿qué candidato es el idóneo para la vacante?, o ¿qué personal es el indicado
para la línea productiva?, o ¿qué personal es el mejor para ejecutar determinada
tarea?. Una característica particular del modelo de asignación es que para su
resolución no se hace necesario que el número de fuentes sea igual al número de
destinos, lo cual es muy común en la vida real, teniendo en cuenta su aplicación,
pues generalmente la cantidad de aspirantes es superior al número de vacantes
(lógicamente haciendo referencia a la aplicación del modelo al contexto de oferta y
demanda laboral).

MÉTODO HÚNGARO
Apartándonos un poco de la idea expresada en módulos anteriores respecto a la
facilidad de resolver problemas atinentes a la investigación operativa en especial
aquellos de transporte mediante el uso de herramientas tecnológicas como lo son
WinQSB, LINGO, TORA, STORM, Excel etc.. vale la pena ya sea para fines
académicos o de cultura ingenieril realizar la resolución del problema de asignación
mediante el algoritmo que se creó para tal fin, como lo es el Método Húngaro.
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 Jenő 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).
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.

RESOLUCIÓN DE UN PROBLEMA DE
ASIGNACIÓN MEDIANTE EL MÉTODO
HÚNGARO
EL PROBLEMA
La compañía de manufactura "Jiménez y Asociados" desea realizar una jornada de
mantenimiento preventivo a sus tres máquinas principales A, B y C. El tiempo que
demanda realizar el mantenimiento de cada máquina es de 1 día, sin embargo la
jornada de mantenimiento no puede durar más de un día, teniendo en cuenta que
la compañía cuenta con tres proveedores de servicios de mantenimiento debe de
asignarse un equipo de mantenimiento a cada máquina para poder cumplir con la
realización del mantenimiento preventivo. Teniendo en cuenta que según el grado
de especialización de cada equipo prestador de servicios de mantenimiento el costo
de la tarea varía para cada máquina en particular, debe de asignarse el equipo
correcto a la máquina indicada con el objetivo de minimizar el costo total de la
jornada. Los costos asociados se pueden observar en la siguiente tabla:
www.ingenieriaindustrialonline.com

PASO 1
Encontramos el menor elemento de cada fila

www.ingenieriaindustrialonline.com

PASO 2
Construimos una nueva matriz con las diferencias entre los valores de la matriz
original y el elemento menor de la fila a la cual corresponde.

www.ingenieriaindustrialonline.com

PASO 3
En la matriz construida en el paso anterior se procede a efectuar el paso 1 esta vez
en relación a las columnas, por ende escogemos el elemento menor de cada
columna. Igualmente construimos una nueva matriz con la diferencia entre los
valores de la matriz 2 y el elemento menor de la columna a la cual corresponde cada
valor.
www.ingenieriaindustrialonline.com

PASO 4
En este paso trazaremos la menor cantidad de combinaciones de líneas
horizontales y verticales con el objetivo de cubrir todos los ceros de la matriz de
costos reducidos.

www.ingenieriaindustrialonline.com

Como se puede observar el menor número de líneas horizontales y/o verticales


necesarias para cubrir los ceros de la matriz de costos reducidos es igual a 2, por
ende al ser menor que el número de filas o columnas es necesario recurrir al paso
5.
PASO 5
En este paso seleccionamos el menor elemento de los elementos no subrayados.
Luego se procede a restarse de los elementos no subrayados y a adicionarse a los
elementos ubicados en las intersecciones de las líneas, en este caso existe una
única intersección (3).

www.ingenieriaindustrialonline.com

Ahora ya efectuado este paso pasamos al paso 4.

www.ingenieriaindustrialonline.com

Ahora observamos cómo se hace necesario trazar tres líneas (la misma cantidad de
filas o columnas de la matriz) por ende se ha llegado al tabulado final, en el que por
simple observación se determina las asignaciones óptimas.
www.ingenieriaindustrialonline.com

Por ende la asignación que representa el menor costo para la jornada de


mantenimiento preventivo determina que el Equipo 1 realice el mantenimiento de la
Máquina 1, el Equipo 2 realice el mantenimiento de la Máquina 3 y el Equipo 3
realice el mantenimiento de la Máquina 2, jornada que tendrá un costo total de 17
unidades monetarias.

RESOLUCIÓN DE UN PROBLEMA DE
MAXIMIZACIÓN MEDIANTE EL MÉTODO
HÚNGARO
EL PROBLEMA
Una organización de recolección de café cuenta con tres equipos de siembra y
cosecha del mismo (equipos 1, 2, 3). Estos equipos de trabajo se encuentran
entrenados para trabajar en condiciones particulares del proceso, condiciones como
lo son el tipo de suelo, las condiciones del clima y el tipo de grano.
La organización cuenta con cuatro terrenos disponibles para efectuar el proceso de
siembra y cosecha (terrenos A, B, C, D), estos terrenos tienen condiciones
particulares de suelo, clima y tipo de grano. Cada equipo cuenta con la capacidad
de efectuar el proceso en solo uno de los terrenos disponibles, salvo el equipo 2,
que cuenta con una serie de herramientas tecnológicas que le permiten realizar la
siembra y cosecha del grano en dos de los terrenos disponibles.

Se ha contratado a un Ingeniero Industrial con el objetivo de realizar las


asignaciones precisas que maximicen la cantidad de sacos de café cosechados en
total. El siguiente tabulado muestra la capacidad (en cientos de sacos) de cosecha
de café de cada uno de los equipos dependiendo de cada uno de los terrenos.
RESOLUCIÓN
En este problema debemos recordar un concepto fundamental para la aplicación
del método húngaro, este concepto nos dice que el número de filas debe ser
exactamente igual al número de columnas. Por ende, la acción a realizar debería
ser crear un equipo ficticio, el cual nos deje el tabulado balanceado y a este
asignarle un número de sacos cosechados equivalente a cero en cada uno de los
terrenos. Sin embargo el problema nos indica que uno de los equipos se encuentra
en capacidad de que se le asignen dos terrenos, en este caso crearemos un equipo
2 alternativo (Equipo 2B) el cual nos balanceará el tabulado y nos hará prescindir
del equipo ficticio pensado inicialmente. A este equipo 2B que crearemos le
corresponderá la misma capacidad de cosecha del equipo 2 (en adelante equipo
2A) según el terreno, lógicamente.

Una vez balanceado el tabulado debemos de cuestionarnos acerca del criterio de


optimización, pues recordemos que el método húngaro se encuentra diseñado para
ejercicios de minimización. En este caso nuestro objetivo es maximizar, por lo que
tendremos que aplicar un paso adicional.

Lo primero que debemos hacer es ubicar el mayor valor del tabulado inicial.
En este caso este valor es 15, por lo cual procederemos a realizar la siguiente
operación con cada uno de los valores:

Restaremos a 15, el valor de cada una de las celdas y este valor quedará en cada
una de las celdas correspondientes.

Ahora nuestro tabulado inicial quedará de la siguiente manera:

A partir de este tabulado ya podemos aplicar el algoritmo del método húngaro como
se aplicaría en un caso e minimización (normalmente).

Ahora encontramos el menor elemento de cada fila.


y se lo restamos a todas las celdas de la fila.

Ahora efectuamos este mismo paso, pero esta vez con las columnas. Elegimos el
menor de los valores de cada columna y se lo restamos a cada una de las celdas
de la columna correspondiente.
Ahora procedemos a cubrir la mayor cantidad de ceros, con la menor cantidad de
líneas, si el número de líneas que empleemos es igual al grado de la matriz (en este
caso matriz grado 4, 4x4) habremos llegado al final del ejercicio.

Dado que el número de líneas es igual al grado de la matriz, hemos concluido el


algoritmo. Lo único que quedará será asignar a cada equipo el terreno en el que el
intercepto es igual a 0 (cero).

Las asignaciones, como es lógico deberán iniciarse por el equipo al cual solo
corresponda un terreno, en este caso al Equipo 3 le corresponde el Terreno A. De
esta manera al Equipo 1 le corresponde el Terreno D. Mientras tanto el Equipo 2 se
encargará de la cosecha en los terrenos B y C. Según el tabulado del problema
(recordemos que es de maximización), la cantidad de sacos (expresada en cientos
de sacos) será así:
RESOLUCIÓN DE UN PROBLEMA DE
ASIGNACIÓN MEDIANTE
PROGRAMACIÓN LINEAL
EL PROBLEMA
La compañía de manufactura "Jiménez y Asociados" desea realizar una jornada de
mantenimiento preventivo a sus tres máquinas principales A, B y C. El tiempo que
demanda realizar el mantenimiento de cada máquina es de 1 día, sin embargo la
jornada de mantenimiento no puede durar más de un día, teniendo en cuenta que
la compañía cuenta con tres proveedores de servicios de mantenimiento debe de
asignarse un equipo de mantenimiento a cada máquina para poder cumplir con la
realización del mantenimiento preventivo. Teniendo en cuenta que según el grado
de especialización de cada equipo prestador de servicios de mantenimiento el costo
de la tarea varía para cada máquina en particular, debe de asignarse el equipo
correcto a la máquina indicada con el objetivo de minimizar el costo total de la
jornada. Los costos asociados se pueden observar en la siguiente tabla:

VARIABLES DE DECISIÓN
Las variables de decisión de este tipo de problemas es igual a las variables de
cualquier modelo de transporte tradicional, es decir variables Xi,j donde i {Equipo de
mantenimiento 1,2,3} y j {Máquina 1,2,3}, y corresponden a variables binarias en las
cuales el valor 1 significa la asignación de un equipo de mantenimiento a una
máquina en particular.
RESTRICCIONES
Dado que un equipo de mantenimiento no puede ser asignado a más de una
maquinaria, esta característica debe de restringirse mediante las siguientes
inecuaciones.

X1,1 + X1,2 + X1,3 = 1


X2,1 + X2,2 + X2,3 = 1
X3,1 + X3,2 + X3,3 = 1

Además debe restringirse el hecho de que cada máquina solo requiere de un equipo
de mantenimiento, por ende
X1,1 + X2,1 + X3,1 = 1
X1,2 + X2,2 + X3,2 = 1
X1,3 + X2,3 + X3,3 = 1

Además se hace necesario que para efectos de resolución en cualquier paquete de


herramientas se especifique que estas variables corresponden al conjunto de los
enteros (por obvias razones) y que deben ser mayores que cero (dado que es un
problema de minimización esta restricción se hace muy necesario).

Xi,j ≥ 0
Xi,j ∈ {Z}
FUNCIÓN OBJETIVO
ZMIN = 10X1,1 + 9X1,2 + 5X1,3 + 9X2,1 + 8X2,2 + 3X2,3 + 6X3,1 + 4X3,2 + 7X3,3

INGRESANDO LOS DATOS A WINQSB

RESULTADOS OBTENIDO MEDIANTE EL WINQSB

Por ende la asignación que representa el menor costo para la jornada de


mantenimiento preventivo determina que el Equipo 1 realice el mantenimiento de la
Máquina 1, el Equipo 2 realice el mantenimiento de la Máquina 3 y el Equipo 3
realice el mantenimiento de la Máquina 2, jornada que tendrá un costo total de 17
unidades monetarias.
RESOLUCIÓN DE UN PROBLEMA DE
ASIGNACIÓN MEDIANTE WINQSB -
NETWORK MODELING
La facilidad de resolver un problema de asignación mediante WinQSB es aún mayor
a la que se incurre mediante programación lineal, y esta metodología justifica el
pensar en que el método húngaro es sumamente anacrónico únicamente
contemplado para fines históricos y académicos. En el módulo NETWORK
MODELING del paquete de herramientas WinQSB se puede resolver el modelo tan
solo traspasando los costos de una matriz n*m a otra que brinda el módulo n*m.
INGRESANDO LOS DATOS A WINQSB - NETWORK
MODELING

RESULTADOS OBTENIDOS MEDIANTE WINQSB -


NETWORK MODELING

Por ende la asignación que representa el menor costo para la jornada de


mantenimiento preventivo determina que el Equipo 1 realice el mantenimiento de la
Máquina 1, el Equipo 2 realice el mantenimiento de la Máquina 3 y el Equipo 3
realice el mantenimiento de la Máquina 2, jornada que tendrá un costo total de 17
unidades monetarias.

De esta manera se hace evidente cual es la alternativa predilecta para resolver


problemas de asignación

S-ar putea să vă placă și