Investigación de operaciones

Dualidad en programación lineal

Problemas duales

Cada uno de los problemas abordados hasta entonces en los módulos anteriores se consideran problemas primales, dado que tienen una relación directa con la necesidad del planteamiento, y sus resultados responden a la formulación del problema original; sin embargo, cada vez que se plantea y resuelve un problema lineal, existe otro problema ínsitamente planteado y que puede ser resuelto, es el considerado problema dual, el cual tiene unas importantes relaciones y propiedades respecto al problema primal que pueden ser de gran beneficio para la toma de decisiones.

Los problemas primales y duales se encuentran ligados por una serie de relaciones, saber la existencia de estas puede ser considerado de gran utilidad para la resolución de problemas que parecen no factibles, o que no pueden ser resueltos mediante un método en particular.

Relaciones entre problemas primales y duales

  • El número de variables que presenta el problema dual se ve determinado por el número de restricciones que presenta el problema primal.
  • El número de restricciones que presenta el problema dual se ve determinado por el número de variables que presenta el problema primal.
  • Los coeficientes de la función objetivo en el problema dual corresponden a los términos independientes de las restricciones (RHS), que se ubican del otro lado de las variables.
  • Los términos independientes de las restricciones (RHS) en el problema dual corresponden a los coeficientes de la función objetivo en el problema primal.
  • La matriz que determina los coeficientes técnicos de cada variable en cada restricción corresponde a la transpuesta de la matriz de coeficientes técnicos del problema primal.

El sentido de las igualdades y desigualdades se comporta según la tabla de Tucker, presentada a continuación.

Importancia de la dualidad en programación lineal

La resolución de los problemas duales respecto a los primales se justifica dada la facilidad que se presenta dados problemas donde el número de restricciones supere al número de variables. Además de tener gran aplicación en el análisis económico del problema.

Otra de las ventajas que presenta,es que dado a que el número de restricciones y variables entre problema dual y primal es inverso, se pueden resolver gráficamente problemas que presenten dos restricciones sin importar el número de variables.


Solución de un problema dual, paso a paso

El siguiente problema a resolver es hasta el momento el modelo más completo de los resueltos en los módulos anteriores, dado que trataremos de resolver un problema primal y su dual mediante Método Simplex utilizando variables de holgura, exceso y artificiales; además resolveremos el primal utilizando Simplex maximizando y el dual minimizando.

Dado el siguiente modelo primal:

Función objetivo

ZMAX = 40X1 + 18X2

Restricciones

16X1 + 2X2  700

6X1 + 3X2  612

X1  80

X2    120

Cuya respuesta es:

X1 = 28,75

X2 = 120

S1 = 79.5

S3 = 51.25

Función objetivo = 3310

Procedemos  a resolver el problema dual

Paso 1: Definimos el problema dual

Este paso se lleva a cabo teniendo en cuenta las relaciones que se expusieron en la definición de la dualidad. Ahora las variables en el dual las representaremos por «ʎ» y corresponden a cada restricción.

El modelo queda de la siguiente forma:

ZMIN = 700ʎ1 + 612ʎ2 + 80ʎ3 + 120ʎ4

16ʎ1 + 6ʎ2 + ʎ3  40

2ʎ1 + 3ʎ2 + ʎ4  18

ʎ1;ʎ4  0

Ahora preparamos el modelo para ser resuelto mediante Método Simplex, utilizaremos el procedimiento en el cual la función objetivo es multiplicada por (-1) y resolveremos el modelo mediante maximización.

ZMIN = 700ʎ1 + 612ʎ2 + 80ʎ3 + 120ʎ4

Lo que es igual

(-Z)MAX = -700ʎ1 – 612ʎ2 – 80ʎ3 – 120ʎ4

Ahora dado que los signos de las inecuaciones son mayor o igual procedemos a volverlas ecuaciones agregando variables de exceso, recordemos que en este caso las variables de exceso se restan del lado izquierdo de la igualdad, por ende.

16ʎ1    + 6ʎ2   + ʎ3     + 0ʎ4   – 1S1    + 0S2  = 40

21ʎ1    + 3ʎ2   + 0ʎ3   + ʎ4     + 0S1   – 1S2   = 18

ʎ1;ʎ4  0

Recordemos que el Método Simplex solo es posible por la formación de la matriz identidad, sin embargo en una matriz identidad no pueden ir coeficientes negativos, el cual es el caso, por ende recurriremos al artificio denominado «Método de la M grande» utilizando variables artificiales, las cuales siempre se suman.

16ʎ1    + 6ʎ2   + ʎ3     + 0ʎ4   – 1S1    + 0S2   + 1A1  + 0A2   40

21ʎ1    + 3ʎ2   + 0ʎ3   + ʎ4     + 0S1   – 1S2    + 0A1  + 1A2   18

ʎ1;ʎ4  0

Ahora si observamos la matriz identidad formada por las variables artificiales, nuestra función objetivo es la siguiente (varía dada la incorporación de las nuevas variables).

(-Z)MAX = -700ʎ1 – 612ʎ2 – 80ʎ3 – 120ʎ4 + 0S1 + 0S2 – MA1 – MA2

Recordemos que el coeficiente de las variables de holgura y exceso es 0, además que los coeficientes de las variables artificiales es M, donde M corresponde a un número grande poco atractivo cuyo signo en la función objetivo depende del criterio de la misma, dado que la función es maximizar el signo es negativo. Dado que utilizaremos el Método Simplex y no un software para la resolución del modelo es necesario que M adquiera valor, en este caso será «-10000» un número bastante grande en el problema.

Las iteraciones que utiliza el Método Simplex son las siguientes:

Podemos observar que todos los Cj – Zj son menores o iguales a 0, por ende hemos llegado a la solución óptima del problema, sin embargo recordemos que la función objetivo fue alterada en su signo al principio, por ende se hace necesario regresarle su signo original a Zj y a la fila Cj – Zj.

(-Z)max = -3310   *           (-1)

Zmax = 3310

Podemos cotejar con la función objetivo del modelo primal y encontraremos que hallamos el mismo resultado.

Ahora se hace necesario interpretar los resultados de la tabla dual respecto al modelo primal, y esta interpretación se realiza siguiendo los siguientes principios.

La interpretación del tabulado final del modelo dual es la siguiente:


Teoremas de la dualidad en programación lineal

  • Si el modelo primal o dual tiene solución óptima finita entonces su respectivo dual o primal tendrán solución óptima finita.
  • Si el modelo primal o dual tiene solución óptima no acotada, entonces su respectivo dual o primal no tendrán solución, será un modelo infactible.
  • Si el modelo primal o dual no tiene solución entonces su respectivo dual o primal no tendrán solución.
  • Sea «A» un modelo primal cuyo modelo dual es «B», el modelo dual de «B» es igual a «A», es decir «El modelo dual de un dual es un modelo primal».

Bryan Salazar López

Ingeniero Industrial y Magíster en Logística Integral especializado en productividad y modelamiento de procesos bajo dimensiones de sostenibilidad, industria 4.0, transformación digital y modelos de optimización. Docente universitario de pregrado y posgrado con experiencia en la enseñanza de estos temas. Fundador de Ingenieriaindustrialonline.com, un sitio en donde se recogen las aportaciones de investigaciones, artículos y referencias relevantes para la industria.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Botón volver arriba