Вы находитесь на странице: 1из 24

Transición de la solución grafica a la solución algebraica.

Paralelismo del método gráfico y el método algebraico simplex.

En el método gráfico, el espacio de soluciones se delimita con los semi espacios que representan
las restricciones, y en el método simplex, el espacio de soluciones se representa con m ecuaciones
lineales y n variables no negativas.

En el método grafico se observa una infinidad de puntos de solución, mientras que en la


representación algebraica ocurre esto mismo, pero se deduce ya que la cantidad m de ecuaciones
siempre es menor o igual a la cantidad de variables n. en el caso de que m=n, entonces la solución
es única, pero si m<n entonces se producirán una infinidad de soluciones, por ejemplo la ecuación
x=2 , tiene m=n=1. Pero la ecuación x+y=1, tiene m=1 y n=2, y tiene una infinidad de soluciones
(cualquier punto de la recta x+y=1). los candidatos para solución óptima se determinan así:

En un conjunto de m X n ecuaciones, si se igualan a cero n – m variables, ya continuación se


despejan las m variables restantes de las m ecuaciones, la solución resultante si es única, debe
corresponder a un punto de esquina del espacio de soluciones.

Se demostrará más claramente con el siguiente ejemplo:


Se tiene el siguiente programa lineal con dos variables:

Maximizar 𝑧 = 2𝑥1 + 3𝑥2

s.a 2𝑥1 + 𝑥2 ≤ 4

𝑥1 + 2𝑥2 ≤ 5
𝑥1 , 𝑥2 ≥ 0
La solución grafica para este modelo corresponde a:

Donde la solución óptima, es el punto C.

Algebraicamente el espacio de soluciones se representa como:

Maximizar 𝑧 = 2𝑥1 + 3𝑥2

s.a 2𝑥1 + 𝑥2 + 𝑠1 = 4

𝑥1 + 2𝑥2 + 𝑠2 = 5
𝑥1 , 𝑥2 , 𝑠1 , 𝑠2 ≥ 0
El sistema tiene m = 2 ecuaciones y n = 4 variables. Así según la regla anteriormente mencionada,
se puede determinar algebraicamente los puntos esquina igualando a cero n – m = 4 – 2 = 2
variables y resolviendo las ecuaciones para determinar las m = 2 variables restantes. Por ejemplo
si 𝑥1 = 0 y 𝑥2 = 0, las ecuaciones producen la solución

𝑠1 = 4, 𝑠2 = 5
Se pueden determinar otro punto si se hacer 𝑠1 = 0 𝑦 𝑠2 = 0, resolviendo las ecuaciones
resultantes se obtienen 𝑥1 = 1 y 𝑥2 = 2. Este método se realiza con todas las combinaciones
posibles de n – m variables. Una vez resueltas todas las posibilidades, la solución óptima es el
punto esquina factible que produce el mejor valor objetivo.
En este ejemplo se tienen 6 puntos esquina, los que al comparar con la solución grafica estos
corresponden a los puntos A, B, C, D, los puntos E y F también son puntos de esquina, pero no
factibles.

Por ultimo para hacer una transición completa hacia la solución algebraica es necesario indicar los
puntos esquinas por sus nombres algebraicos. En forma específica, las n – m variables que se
igualan a 0 se llaman variables no básicas, si las m variables restantes tiene solución única, se
llaman variables básicas, y su solución se llama solución básica.

En este ejemplo se tienen 6 puntos esquina, los que al comparar con la solución grafica estos
corresponden a los puntos A, B, C, D, los puntos E y F también son puntos de esquina, pero no
factibles.

Solución algebraica
Solución artificial de inicio.

Existen problemas de programación lineal que no proporcionan una solución básica inicial. Esta
situación se presenta cuando al menos una de las restricciones es del tipo (<=) o (=). Para este
propósito se desarrollan 2 métodos basados en el uso de variables artificiales: El método M o de
penalización y la técnica de 2 fases.

Método M:
El método M comienza con la programación lineal en forma de ecuación. Una ecuación i que no
tenga una holgura (o una variable que pueda hacer el papel de una holgura) se aumenta con una
variable artificial,𝑅𝑖 , para formar una solución de inicio parecida a la solución básica con todas las
holguras. Sin embargo, como las variables artificiales son ajenas al modelo de programación lineal,
se usa un mecanismo de retroalimentación en el que el proceso de optimización trata en forma
automática de hacer que esas variables tengan valor cero

Esto se explicará mejor con un ejemplo:

Minimizar 𝑧 = 4𝑥1 + 𝑥2

s.a 3𝑥1 + 𝑥2 = 3

4𝑥1 + 3𝑥2 ≥ 6
𝑥1 + 2𝑥2 ≤ 4
𝑥1 , 𝑥2 ≥ 0
Si se usan𝑥3 como excedente en la segunda restricción y 𝑥4 como una holgura en la tercera
restricción, la forma del problema en ecuación es

Minimizar 𝑧 = 4𝑥1 + 𝑥2

s.a 3𝑥1 + 𝑥2 = 3

4𝑥1 + 3𝑥2 − 𝑥3 = 6
𝑥1 + 2𝑥2 + 𝑥4 = 4
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0

La primera y segunda ecuaciones no tienen variables que puedan desempeñar el papel de


holguras, pero la tercera sí, porque tiene la holgura 𝑥4 . Así, se agregan las variables artificiales 𝑅1 .
y 𝑅2 . en las dos primeras ecuaciones y se penalizan en la función objetivo con M𝑅1 + M𝑅2 . La
programación lineal que resulta es

Minimizar 𝑧 = 4𝑥1 + 𝑥2 + 𝑀𝑅1 + 𝑀𝑅2


s.a 3𝑥1 + 𝑥2 + 𝑅1 = 3

4𝑥1 + 3𝑥2 − 𝑥3 + 𝑅2 = 6
𝑥1 + 2𝑥2 + 𝑥4 = 4
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑅1 , 𝑅2 ≥ 0
Ahora se pueden usar 𝑅1 , 𝑅2 y 𝑥 como solución básica de inicio, como se ve en la siguiente tabla.

Pero antes de proseguir con los cálculos del método simplex se necesita hacer que el renglón z sea
consistente con el resto de la tabla. En forma específica, en la tabla 𝑥1 = 𝑥2 = 𝑥3 = 0, lo cual
produce la solucion basica de inicio 𝑅1 = 3, 𝑅2 = 6, 𝑥4 = 4. Esta solución indica que el valor de z
debe ser 𝑀 × 3 + 𝑀 × 6 = 9𝑀, en lugar de 0, esto se debe a que 𝑅1 𝑦 𝑅2 tienen coeficientes
distintos de cero (−𝑀, −𝑀)en el renglón de z.

Esta inconsistencia se puede eliminar sustituyendo 𝑅1 𝑦 𝑅2 en el renglón de z usando las


ecuaciones de restricción adecuadas para eliminarlas, esto es

Nuevo renglón z = renglón anterior z +( 𝑀 × 𝑅𝑒𝑛𝑔𝑙𝑜𝑛 𝑅1 + 𝑀 × 𝑅𝑒𝑛𝑔𝑙𝑜𝑛 𝑅2 )

Entonces, la tabla modificada es la siguiente:

Con esta tabla queda lista para aplicar el método simplex, con las condiciones de optimalizad y
factibilidad. Como se está minimizando la función objetivo, la variable 𝑥1 , que es la que tiene el
coeficiente más positivo en el renglón de z, por lo que entra a la solución. La razón mínima de la
condición de factibilidad especifica que 𝑅1 es la variable que sale.

Una vez determinadas las variables de entrada y salida, la nueva tabla se puede calcular con las
operaciones familiares de gauss-jordan. Observe que el nuevo renglón de z se determina
multiplicando el nuevo renglón pivote por −(4 + 7𝑀 ) y sumando el resultado al renglón actual
de z .
Esta última muestra que 𝑥2 𝑦 𝑅2 son las variables de entrada y salida, respectivamente.
Continuando con los cálculos simplex se necesitarán dos iteraciones más para llegar al optimo:
2 9 17
𝑥1 = , 𝑥2 = , 𝑧=
5 5 5
Observaciones:

1.el uno de la penalización M podrá no forzar la variable artificial hasta el nivel cero en la iteración
simplex final, si el problema de programación lineal no tiene una solución factible (si las
restricciones no son consistentes)

2. M debe ser lo bastante grande como para funcionar como penalización. Al mismo tiempo no
debe ser tan grande como para perjudicar la exactitud de los cálculos simplex, al manipular una
mezcla de números muy grandes y muy pequeños.

METODO DE DOS FASES.

La desventaja de la técnica M es el posible error de cómputo que podría resultar de asignar un


valor muy grande a la constante M. Esta situación podría presentar errores de redondeo en las
operaciones de la computadora digital. Para evitar esta dificultad el problema se puede resolver
en 2 fases.

FASE 1. Formule un nuevo problema reemplazando la función objetivo por la suma de las variables
artificiales.

La nueva función objetivo se minimiza sujeta a las restricciones del problema original. Si el
problema tiene un espacio factible el valor mínimo de la función objetivo óptima será cero, lo cual
indica que todas las variables artificiales son cero. En este momento pasamos a la fase 2.

* Si el valor mínimo de la función objetivo óptima es mayor que cero, el problema no tiene
solución y termina anotándose que no existen soluciones factibles
FASE 2. Utilice la solución óptima de la fase 1 como solución de inicio para el problema original. En
este caso, la función objetivo original se expresa en términos de las variables no básicas utilizando
las eliminaciones usuales Gauss-Jordan.

Para explicar esto se utilizará el mismo ejemplo anterior.

Ejemplo:

Minimizar 𝑧 = 4𝑥1 + 𝑥2

s.a 3𝑥1 + 𝑥2 = 3

4𝑥1 + 3𝑥2 − 𝑥3 = 6
𝑥1 + 2𝑥2 + 𝑥4 = 4
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0
Fase I.

Minimizar 𝑧 = 𝑅1 + 𝑅2

s.a 3𝑥1 + 𝑥2 + 𝑅1 = 3

4𝑥1 + 3𝑥2 − 𝑥3 + 𝑅2 = 6
𝑥1 + 2𝑥2 + 𝑥4 = 4
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0
La tabla asociada es la siguiente:

Como en el método M, se eliminan 𝑅1 𝑦 𝑅2 por sustitución en el renglón de r, usando los


siguientes cálculos:

Nuevo renglón r = Renglón r anterior + [1 × 𝑅𝑒𝑛𝑔𝑙𝑜𝑛 𝑅1 + 𝑅𝑒𝑛𝑔𝑙𝑜𝑛 𝑅2 )


El nuevo renglón r se usa para resolver la fase 1 del problema, con lo que se obtiene la siguiente
tabla óptima.

3 6
Como mínimo de r=0, la fase I produce la solución básica factible de 𝑥1 = 5 , 𝑥2 = 5 𝑦 𝑥4 = 1.
Llegados a este punto, las variables artificiales ya cumplieron su misión y se pueden eliminar de la
tabla las columnas, por completo, y pasar a la fase II.
Fase II

Después de eliminar las columnas artificiales, el problema original se escribe así:

Minimizar 𝑧 = 4𝑥1 + 𝑥2
1 3
s.a 𝑥1 + 5 𝑥3 = 5
3 6
𝑥2 − 5 𝑥3 = 5

𝑥3 + 𝑥4 = 1
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0
La tabla asociada a la fase II es:

De nuevo como las variables 𝑥1 𝑦 𝑥2 tienen coeficientes no cero en el renglón de z, deben


sustituirse con los siguientes cálculos:

Nuevo renglón z = Renglón z anterior + (4 × 𝑅𝑒𝑛𝑔𝑙𝑜𝑛 𝑥1 + 1 × 𝑅𝑒𝑛𝑔𝑙𝑜𝑛𝑥2 )


La tabla inicial de la fase II resulta entonces.

Como se está minimizando, 𝑥3 debe entrar a la solución. Con la aplicación del método simplex se
obtendrá el óptimo en una iteración más. La salida de las columnas de las variables artificiales al
terminar la fase I sólo se hace cuando todas ellas sean no básicas.

Sin embargo, es posible que las variables artificiales sigan siendo básicas, pero a nivel cero al final
de la fase I. En ese caso, esas variables forman, por necesidad, parte de la solución básica de inicio
para la fase II.

En consecuencia, se deben modificar los cálculos en la fase II para asegurar que una variable artificial
nunca se haga positiva durante las iteraciones en esa fase II. Las reglas para garantizar que una
variable artificial que es cero al final de la fase I nunca se vuelva positiva durante la fase II, son las
siguientes:

1. Si en la columna pivote el coeficiente de restricción correspondiente a la variable básica artificial


es positivo, definirá al elemento pivote en forma automática (porque corresponde a la razón mínima
de cero) y, como se busca, la variable artificial se vuelve no básica en la siguiente iteración.

2. Si el elemento de la columna pivote es cero, la siguiente iteración dejará la variable artificial


inalterada, en el nivel cero.

3. Si el elemento de la columna pivote es negativo, la razón mínima no se asociará con la variable


artificial básica (cero). En este caso, si la razón mínima resultante resulta ser positiva, la variable
artificial asumirá un valor positivo en la siguiente iteración y se necesitará evitar que eso suceda.
Para hacerlo, se obliga a la variable artificial a salir de la solución de cualquier modo. Si se observa
que la variable artificial está en el nivel cero, la eliminación de la solución básica no afectará la
factibilidad de las variables básicas restantes.

Resumiendo, la regla de la fase II indica obligar a la variable artificial a salir de la solución básica en
cualquier momento en que su coeficiente de restricción en la columna de pivote sea positivo o
negativo. De hecho, esta regla se puede aplicar al final de la fase I, para eliminar las variables
artificiales cero de la solución básica, antes de siquiera comenzar con la fase II.
Casos especiales de la aplicación del método simplex

1. Degeneración.
2. Óptimos alternativos.
3. Soluciones no acotadas.
4. Soluciones inexistentes (o no factibles).

Degeneración

Al aplicar la condición de factibilidad del método símplex, se puede romper un empate en las
razón mínima en forma arbitraria. Cuando se presenta un empate, al menos una variable básica
será cero en la siguiente iteración, y se dice que la nueva solución es degenerada.

Desde el punto de vista práctico,


la condición indica que el modelo tiene al menos una restricción redundante. Para poder presentar
mejor perspectiva de los impactos prácticos y teóricos de la degeneración presentaremos
un ejemplo numérico, que resolveremos en forma algebraica y gráfica.

Ejemplo:
Maximizar 𝑧 = 3𝑥1 + 9𝑥2
s.a 𝑥1 + 4𝑥2 ≤ 8
𝑥1 + 2𝑥2 ≤ 4
𝑥1 , 𝑥2 ≥ 0

Sean 𝑥3 𝑦 𝑥4 las variables de holgura, la siguiente tabla muestra la iteracion simplex.

En la iteración de inicio empatan 𝑥3 y 𝑥4 como variable de salida. Es la razón por la que la


variable básica 𝑥4 es cero en la iteración 1, y se obtiene así una solución básica degenerada. Se
alcanza el óptimo después de una iteración más.
¿Qué implica la degeneración en la práctica? Véase la figura 3.9, que muestra la solución
gráfica del modelo. Pasen tres líneas por el punto óptimo (𝑥1 = 0, 𝑥2 = 2). Como éste es
un problema bidimensional, el punto está sobre determinado y una de las restricciones es
redundante.

Desde el punto de vista teórico, la degeneración tiene dos implicaciones. La primera es el


fenómeno de ciclos o círculos. Al ver las iteraciones símplex 1 y 2, el lector notará que el valor
objetivo no mejora (z = 18). Por consiguiente, es posible que el procedimiento símplex repita
una serie de iteraciones sin mejorar el valor objetivo, y nunca terminar los cálculos.
Aunque hay métodos para eliminar los ciclos, éstos conducen a retardos drásticos en los cálculos.
Por esta razón, la mayor parte de los programas informáticos para programación lineal no prevén
los ciclos, basados en el hecho que rara vez suceden en la práctica.

Óptimos alternativos.
Se presenta cuando la recta de la ecuación función objetivo es paralela al menos a una restricción
que cumpla como una ecuación de la mejor solución o solución óptima. La función objetivo asumirá
el mismo valor optimo en más de un punto de solución.

Se utilizará el siguiente ejemplo para demostrar esto


Ejemplo

Maximizar 𝑧 = 2𝑥1 + 4𝑥2


𝑥1 + 2𝑥2 ≤ 5
𝑥1 , 𝑥2 ≥ 0

La figura muestra como pueden presentarse


optimos alternativos en el modelo de
programacion lineal cuando la funcion objetivo es
paralela a una restriccion obligatoria. Todo punto
del segmento de recta BC representa un iptimo
alternativo con el mismo valor objetivo z = 10.
Solucion no acotada

Ocurre cuando los valores de algunas variables pueden aumentar de forma indefinida sin violar
alguna de las restricciones, y eso significa que el espacio de soluciones es no acotado al menos en
una direccion. El resultado es que el valor objetivo puede aumentar o disminuir (dependiendo si se
busca maximizar o minimizar) de forma indefinida, e por lo que el espaco de soluciones como el
valor optimo no estan acotados.
La no acotacion apunta hacia la posibilidad de que el modelo este mal construido, ya sea por no
tomar en cuenta restricciones no redunantes, esto se puede ver en el siguiente ejemplo.
Ejemplo:

Maximizar 𝑧 = 2𝑥1 + 𝑥2
𝑥1 − 𝑥2 ≤ 10
2𝑥1 ≤ 40
𝑥1, 𝑥2 ≥ 0

Iteracion de inicio

Una forma para reconocer la no acotacion es que si en cualuqier iteracion todos lo coeficientes de
restriccion de toda variable no basica son negativas o cero, entonces el espacio de soluciones no
esta acotado en esa direccino. Ademas si el coeficiente objetivo de esa variable es negativo en
caso de maximizacion, o positivo en caso de minimizacion, entonces tambien el valor objetivo es
no acotado.
Solucion no factible

Se presenta cuando no se cumple con al menos una restriccion, lo que indicaria que el modelo no
esta bien construido, esta situacion no ocurre si todas las rectricciones son del tipo ≤ (suponiendo
lado derecho no negativo), porque las holguras permiten tener una solución factible. Para otros
tipos
de restricciones se usan variables artificiales. Aunque esas variables artificiales se penalizan
en la función objetivo, para obligarlas a ser cero en el óptimo, eso sólo puede suceder si el
modelo tiene un espacio factible. En caso contrario, al menos una variable artificial será positiva
en la iteración óptima.

Solucion Dual optima.

Las soluciones primal y dual se relacionan de forma estrecha, ya que la solucion optima del
problema primal produce de forma directa la solucion optima del dual. Para obtener la solucion
optima del dual, hay dos metodos, estos son:

Metodo 1

Los elementos del vector renglón de los coeficientes objetivos del primal original deben aparecer
en el mismo orden que aparecen las variables básicas de la columna bascai e la tabla simplex.

Método 2

Observación

El dual del problema dual corresponde al problema primal, por lo que lo métodos presentados se
pueden aplicar para determinar la solución óptima del primal a partir del dual.

Para entender mejor esto se mostrará en un ejemplo.

Ejemplo:

Maximizar 𝑧 = 5𝑥1 + 12𝑥2 + 4𝑥3

s.a 𝑥1 + 2𝑥2 + 𝑥3 ≤ 10

2𝑥1 − 𝑥2 + 3𝑥3 = 8
𝑥1 , 𝑥2 , 𝑥3 ≥ 0
Para preparar el problema para su solución con método simplex se agrega una holgura 𝑥4 en la
primera restricción, y una R artificial en la segunda. Los problemas primales y dual asociado
resultantes se definen así:

Tabla optima del primal.

La matriz inversa optima, que se señala bajo las variables de inicio 𝑥4 y R es.
2 −1

Inversa optima = (51 5


2)
5 5

Ahora se aplicarán los dos métodos anteriormente mencionados para obtener los valores duales
óptimos.
Método 1:

Primero se observa que las variables primalas optimas aparecen en la tabla en orden de la fila,
primero 𝑥2 y después 𝑥1 . Eso quiere decir que los elementos de 3 los coeficientes originales del
objetivo para las dos variables deben aparecer en el mismo orden, que es:

(coeficientes objetivos generales) = (coeficiente de 𝑥2 , 𝑐𝑜𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑒 𝑑𝑒 𝑥1 )

= (12,5)

así los valores duales óptimos se calculan como sigue:


𝑐𝑜𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑒𝑠 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜
(𝑦1 , 𝑦2 ) = ( ) × (𝑖𝑛𝑣𝑒𝑟𝑠𝑎 𝑜𝑝𝑡𝑖𝑚𝑎)
𝑜𝑟𝑖𝑔𝑖𝑎𝑛𝑙𝑒𝑠 𝑑𝑒 𝑥2 , 𝑥1
2 −1

= (12,5) (51 5
2)
5 5

29 −2
=( , )
5 5

Método 2:

Como el problema dual tiene dos variables se necesitan dos ecuaciones para llegar
a la solución. Tomaremos las restricciones duales asociadas con las variables primales de inicio,
𝑥4 y R. Como se ve en la definición de dual, las restricciones duales asociadas con las variables
primales de inicio son:

variable de inicio 𝑥4 : 𝑦1 ≥ 0

variable de inicio R: 𝑦2 ≥ −𝑀

También, según la tabla 1:


29
Coeficiente z de 𝑥4 = 5
−2
Coeficiente z de R = 5 + 𝑀

Entonces de acuerdo al Método 2,


29 29
5
= 𝑦1 − 0 𝑦1 = 5
−2 −2
5
+ 𝑀 = 𝑦2 − (−𝑀) 𝑦2 = 5
Nótese que en cada ecuación interviene exactamente una variable, y por tanto la solución
dual está disponible de inmediato. Éste es siempre el caso de las restricciones duales asociadas
con las variables de inicio.
En realidad, las restricciones duales asociadas con dos variables primales cualesquiera se
podrían usar exactamente igual, para obtener la solución dual. Por ejemplo, en la tabla óptima,
las variables primales x1 y x3 producirán las siguientes ecuaciones respectivas.

𝑦1 + 2𝑦2 − 5 = 0
3
𝑦1 + 3𝑦2 − 4 =
5
Dos variables cualesquiera de 𝑥1 , 𝑥2 , 𝑥 3 , 𝑥4 y R producirán la misma solución.

Cálculos con la tabla simplex:

En esta sección se indica cómo se puede generar toda la tabla símplex en cualquier iteración,
a partir de los datos originales del problema y la inversa asociada con la iteración. se puede dividir
los cálculos en dos tipos:

1. Columnas de restricción (lados izquierdo y derecho).

2. Renglón objetivo z.

Cálculos de columnas de restricción. En cualquier iteración símplex, una columna del lado
izquierdo o derecho se calcula como sigue:

(Formula 1)

Cálculos de renglón objetivo z. En cualquier iteración símplex, el coeficiente de 𝑥𝑗 en la


función objetivo se calcula como sigue:

(Formula 2)

Se usará un ejemplo de programación para explicarlo mejor


Ejemplo.

2 −1

Inversa optima = (51 5


2)
5 5

El uso de la fórmula 1 se ilustra calculando todas las columnas de lado izquierdo y lado derecho
de la tabla óptima:

De manera parecida se calculan las siguientes columnas de restricción:

A continuación, se demostrará cómo se hacen los cálculos del renglón objetivo, con la fórmula 2.
29 −2
Los valores óptimos de las variables duales (𝑦1 , 𝑦2 ) = ( , ), se calcularon en el ejemplo anterior.
5 5
Estos valores se usan en la fórmula 2 para determinar los coeficientes asociados de z como sigue:
29 −2
Coeficiente de 𝑥1 en z = 𝑦1 + 2𝑦2 − 5 = 5
+ 2×
5
−5 =0
29 −2
Coeficiente de 𝑥2 en z = 2𝑦1 − 𝑦2 − 12 = 2 × 5 − ( 5 ) − 12 = 0
29 −2 3
Coeficiente de 𝑥3 en z = 𝑦1 + 3𝑦2 − 4 = 5 +3×(5 )−4 = 5
29 29
Coeficiente de 𝑥4 en z = 𝑦1 − 0 = 5 −0 = 5
−2 −2
Coeficiente de 𝑅 en z = 𝑦2 − (−𝑀) = 5 − (−𝑀) = 5 +𝑀

Es importante observar que los cálculos con las fórmulas 1 y 2 se pueden aplicar en cualquier
iteración, sea de los problemas primales o duales. Todo lo que se necesita es la inversa asociada con
la iteración primal o dual, y los datos de la programación lineal original.

Valor objetivo primal y dual.


En los problemas primal-dual, si uno es de maximización el otro debe ser de minimización.
Desde este punto de vista, los valores objetivo en los dos problemas se relacionan de la siguiente
manera:

𝑣𝑎𝑙𝑜𝑟 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑒𝑛 𝑒𝑙 𝑣𝑎𝑙𝑜𝑟 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑒𝑛 𝑒𝑙


( )≤( )
𝑝𝑟𝑜𝑏𝑙𝑒𝑚𝑎 𝑑𝑒 𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑐𝑖𝑜𝑛 𝑝𝑟𝑜𝑏𝑙𝑒𝑚𝑎 𝑑𝑒 𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑐𝑖𝑜𝑛

En el óptimo, la relación es válida estrictamente como ecuación.


Obsérvese que la relación no especifica cuál problema es primal y cuál es dual. En este caso sólo
importa el sentido de la optimización (maximización o minimización)
Modelo de asignación
El modelo de asignación es un tipo especial de problema de programación lineal en el que los
asignados son recursos que se destinan a la realización de tareas. Por ejemplo, los asignados pueden
ser empleados a quienes se tiene que dar trabajo. La asignación de personas a trabajos es una
aplicación común del problema de asignación. Sin embargo, los asignados no tienen que ser
personas. También pueden ser máquinas, vehículos o plantas, o incluso periodos a los que se
asignan tareas.

Una buena forma descripción del modelo de asignación es “La mejor persona para el puesto”.
El objetivo del modelo es determinar la asignación óptima (de costo mínimo) de trabajadores a
puestos.

El modelo general de asignación con n trabajadores y n puestos se representa en la siguiente tabla.

El elemento 𝑐𝑖𝑗 representa el costo de asignar al trabajador i al puesto j (i, j _ 1, 2, ..., n).
No se pierde generalidad al suponer que la cantidad de trabajadores siempre es igual a la cantidad
de puestos, porque siempre se pueden agregar trabajadores o puestos ficticios para obtener
esa condición.
El modelo de asignación es un caso especial del modelo de transporte, en el cual los trabajadores
representan las fuentes y los puestos representan los destinos. La cantidad de oferta en cada fuente,
y la cantidad de demanda en cada destino son exactamente iguales a 1. El costo de “transportar” el
trabajador i al puesto j es 𝑐𝑖𝑗 . Estos modelos se pueden resolver en forma directa como modelo
normal de transporte. Sin embargo, se desarrolló un algoritmo sencillo de solución llamado método
húngaro.
Método húngaro
para explicar el método húngaro se usarán dos ejemplos.

Ejemplo 1

Los tres hijos de Joe Klyne, John, Karen y Terri, quieren ganar algo para sus gastos personales,
durante un viaje de la escuela al zoológico. El señor Klyne ha destinado tres tareas para sus hijos:
podar el pasto, pintar la cochera y lavar los autos de la familia. Para evitar discusiones, les pide
que presenten ofertas (secretas) de lo que crean que es un pago justo para cada una de las tres
tareas. Se sobreentiende que después los tres obedecerán la decisión de su papá sobre quién hace
cuál tarea. La siguiente tabla muestra las ofertas.

Basados en esta información ¿Cómo debe el señor klyne asignar las tareas?, se puede aplicar el
método húngaro.

Paso 1. En la matriz original de costo, identificar el mínimo de cada renglón y restarlo de


todos los elementos del renglón.

Paso 2. En la matriz que resulte del paso 1, identificar el mínimo de cada columna, y restarlo
de todos los elementos de la columna.

Paso 3. Identificar la solución óptima como la asignación factible asociada con los elementos
cero de la matriz obtenida en el paso 2.
Los elementos cero subrayados corresponden a la solución óptima. Esto quiere decir que John va a
pintar la cochera, Karen podará el pasto y Terri lavará los autos. El costo total para el señor klyne
será 9 +10 +8 = 27.

Los pasos presentados para el método húngaro funcionaron bien en el ejemplo anterior, porque
sucede que los elementos cero en la matriz final producen una asignación factible (en el sentido que
las tareas se asignan en forma única a los niños). En algunos casos los ceros que se producen en los
pasos 1 y 2 no producen una solución factible en forma directa. En este caso se necesitan más pasos
para llegar a la asignación óptima (factible). En el ejemplo que sigue se ilustra este caso.

Ejemplo 2

Suponga que el caso del ejemplo anterior se amplía a cuatro hijos y cuatro tareas. La siguiente tabla
resume los elementos de costo en el problema.

Al aplicar los pasos 1 y 2 a la matriz de la se obtiene la siguiente matriz reducida.

Los lugares de los elementos cero no permiten asignar una tarea por niño. Por ejemplo, si se asigna
el niño 1 a la tarea 1, se eliminará la columna 1, y el niño 3 no tendrá elemento cero en las tres
columnas restantes.

Paso 2ª. Si no se puede asegurar una asignación factible (con todos los elementos cero) con los
pasos 1 y 2.
i) Trazar la cantidad mínima de líneas horizontales y verticales en la última matriz reducida que
cubran todos los elementos cero.
ii) Seleccionar el elemento mínimo no cubierto, restarlo de todo elemento no cubierto y a
continuación sumarlo a todo elemento en la intersección de dos
líneas.
iii) Si no se puede encontrar una asignación factible entre los elementos cero que resulten, repetir
el paso 2a. En caso contrario, seguir en el paso 3 para determinar la asignación óptima.
Al aplicar el paso 2a a la última matriz se obtienen las celdas sombreadas que se ven en la tabla.

La celda de valor mínimo no sombreada (que se muestra subrayado) es igual a 1. Este


elemento se resta de todas las celdas no sombreadas y se suma a las celdas de las intersecciones,
para producir la matriz de la tabla.

La solución óptima, que se indica con los ceros subrayados, dice que se debe asignar el niño 1 a la
tarea 1, el niño 2 a la tarea 3, el niño 3 a la tarea 2 y el niño 4 a la tarea 4.
El costo optimo asociado es 1+ 10+ 5 + 5 = $21

Explicación del método húngaro con el método simplex.

El problema de asignación en el que n trabajadores se asignan a n puestos se puede presentar como


modelo de programación lineal en la forma siguiente: sea 𝑐𝑖𝑗 el costo de asignar el trabajador i al
puesto j, y sea.

1, 𝑠𝑖 𝑒𝑙 𝑡𝑟𝑏𝑎𝑗𝑎𝑑𝑜𝑟 𝑖 𝑠𝑒 𝑎𝑠𝑖𝑔𝑛𝑎 𝑎𝑙 𝑝𝑢𝑒𝑠𝑡𝑜 𝑗


𝑥𝑖𝑗 = {
0, 𝑒𝑛 𝑐𝑢𝑎𝑙𝑞𝑢𝑖𝑒𝑟 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜

Entonces el modelo de programación lineal es

Minimizar

s.a
La solución óptima de este modelo de programación lineal no cambia si se suma o resta
una constante en cualquier renglón o columna de la matriz de costo (𝑐𝑖𝑗 ). Para demostrar
esto, sean 𝑝𝑖 y 𝑞𝑘𝑗 constantes restadas del renglón i y la columna j. Así, el elemento de costo 𝑐𝑖𝑗
cambia a.

𝑐´𝑖𝑗 = 𝑐𝑖𝑗 − 𝑃𝑖 − 𝑞𝑗

Ahora bien

Como la nueva función objetivo difiere de la original por una constante, los valores óptimos de 𝑥𝑖𝑗
deben ser iguales, en ambos casos. El desarrollo demuestra que los pasos 1 y 2 del método húngaro,
que requiere restar 𝑝𝑖 en el renglón i y después restar 𝑞𝑗 en la columna j, producen un modelo
equivalente de asignación. Si se puede encontrar una solución factible entre los elementos cero que
se crearon en la matriz de costo, en los pasos 1 y 2, debe ser óptimo, porque el costo en la matriz
modificada no puede ser menor que cero.
Si los elementos cero que se crearon no pueden producir una solución factible, se debe aplicar el
paso 2a, que consiste en cubrir los elementos cero. La validez de este procedimiento se basa de
nuevo en el método símplex de programación lineal, y se puede explicar con la teoría de la dualidad.
La razón por la que (p1 + p2+…..+ pn) + (q1 + q2 + …...+ qn) produce el valor objetivo óptimo es que
representa la función objetivo dual del modelo de asignación. Se puede ver este resultado
comparando la función objetivo dual del modelo de transporte.

El modelo de transbordo.

es una variación del modelo original de transporte que se ajusta a la posibilidad común de
transportar unidades mediante nodos fuentes, destinos y transitorios, mientras el modelo
tradicional solo permite envíos directos desde nodos fuentes hacia nodos destinos.

Existe la posibilidad de resolver un modelo de transbordo mediante las técnicas tradicionales de


resolución de modelos de transporte normal, utilizando la idea de un amortiguador.

Se utilizará un ejemplo para explicarlo más claramente.


Ejemplo
Dos fábricas de automóviles, P1 y P2, se enlazan con tres agencias, D1, D2 y D3, a través de dos
centros de distribución, T1 y T2, de acuerdo con la red de la figura. Las cantidades de oferta en las
plantas P1 y P2 son 1000 y 1200 autos, y las cantidades de demanda en las agencias D1, D2 y D3
son 800, 900 y 500 autos. El costo de transporte por vehículo, en cientos de $ entre pares de
nudos se ve en los enlaces (o arcos) de la red.

En la red de la figura hay transbordos porque toda la oferta de 2200 (=1000 + 1200) autos de los
nodos P1 y P2 podría pasar en principio por cualquier nodo de la red, antes de llegar a su destino en
los nodos D1, D2 y D3. A este respecto, los nodos de la red que tienen arcos de entrada y salida al
mismo tiempo (T1, T2, D1 y D2) funcionan como fuentes y destinos al mismo tiempo, y se llaman
nodos de transbordo. Los nodos restantes pueden ser nodos de oferta pura (P1 y P2) o nodos de
demanda pura (D3). El modelo de transbordo se puede transformar en un modelo normal de
transporte con 6 fuentes (P1, P2, T1, T2, D1 y D2) y cinco destinos (T1, T2, D1, D2 y D3). Las
cantidades de oferta y demanda en los distintos nodos se calculan como sigue:

Oferta en un nodo de oferta pura = suministro original


Demanda en un nodo de demanda pura = demanda original
Oferta en un nodo de transbordo = oferta original + amortiguador
Demanda en un nodo de demanda pura =demanda original + amortiguador

La cantidad amortiguadora debe ser lo suficientemente grande como para permitir que toda la
oferta (o demanda) original pase por cualquiera de los nodos de transbordo. Sea B la cantidad
deseada de amortiguador. Entonces

B = Oferta (o demanda) total


= 1000 + 1200 (u 800 + 900 + 500)
= 2200 autos

Вам также может понравиться