Programa lineal dual

De testwiki
Revisión del 20:00 25 sep 2022 de imported>Wiki LIC
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

El dual de un programa lineal (PL) dado es otro PL que se deriva del PL original (el primal) de la siguiente forma:

  • Cada variable en el PL primal se convierte en una restricción en el PL dual;
  • Cada restricción en el PL primal se convierte en una variable PL dual;
  • La función objetivo se invierte – maximizar en el PL primal se convierte en minimizar en el PL dual y viceversa.

Construyendo el PL dual

Dado un PL primal, el siguiente algoritmo puede ser utilizado para construir su PL dual. El PL primal está definido por:

  • Un conjunto de n variables: x1,,xn
  • Para cada variable xi, le corresponde un signo de restricción – tiene que ser no negativo (xi0), no positivo (xi0) o irrestrica xi.
  • Una función objetivo:maximizarc1x1++cnxn
  • Una lista de m restricciones. Cada restricción j es: aj1x1++ajnxnbj donde el símbolo antes de bj puede ser o o =.

El PL dual se construye como sigue:

  • Cada restricción en el primal se convierte en una variable en el dual, por lo que hay m variables: y1,,ym.
  • El constreñimiento de señal de cada variable dual es "opuesto" al signo de su primal constreñimiento. Por lo que “bj” se convierte en yj0, “bj” se convierte en yj0 y “=bj” se convierte en yj.
  • La función objetiva dual esminimizar b1y1++bmym
  • Cada variable primal se convierte en una restricción dual, por lo que hay n restricciones. El coeficiente de una variable dual en la restricción dual es el coeficiente de su variable primal en su restricción primal, por lo que cada restricción i es: a1iy1++amiymci donde el símbolo antes de ci es similar a la restricción en variable i en el PL primal, por lo que xi0 se convierte en “ci”, xi0 se convierte en “ci” y xi se convierte en “=ci”.

De este algoritmo, es fácil de ver que el dual del dual es el primal.

Formulación vectorial

Si todas las restricciones tienen el mismo signo, es posible representar el algoritmo de arriba en una manera más corta utilizando matrices y vectores. La siguiente tabla muestra la relación entre varios tipos de PL primales y duales.

Primal Dual Nota
Maximizar 𝐜T𝐱 sujeto a A𝐱𝐛,𝐱𝟎 Minimizar 𝐛T𝐲 sujeto a AT𝐲𝐜,𝐲𝟎 Es llamado problema dual "simétrico"
Maximizar 𝐜T𝐱 sujeto a AT𝐲𝐛 Minimizar 𝐛T𝐲 sujeto a AT𝐲=𝐜,𝐲𝟎 Es llamado problema dual “asimétrico”
Maximizar 𝐜T𝐱 sujeto a A𝐛=𝐛,𝐱𝟎 Minimizar 𝐛T𝐲 sujeto a AT𝐲𝐜

Los teoremas duales

En lo siguiente, suponga que el PL primal es "maximizar 𝐜T𝐱 sujeto a [restricciones]" y el PL dual es "minimizar 𝐛T𝐲 sujeto a [restricciones]".

Dualidad débil

El teorema de dualidad débil dice que para cada solución factible

𝐱

del primal y cada solución factible

𝐲

del dual:

𝐜T𝐱𝐛T𝐲

. En otras palabras,, el valor objetivo en cada solución factible del dual es un superior-atado en el valor objetivo del primal, y valor objetivo en cada solución factible del primal es un más bajo-atado en el valor objetivo del dual. Esto implica:

max𝐱𝐜T𝐱min𝐲𝐛T𝐲

En particular, si el primal es no acotado entonces el dual no tiene solución factible y si el dual es no acotado entonces el primal no tiene solución factible.

Dualidad fuerte

El teorema de dualidad fuerte dice que si uno de los dos problemas tiene una solución óptima entonces también el otro, además

max𝐱𝐜T𝐱=min𝐲𝐛T𝐲

El teorema de dualidad fuerte es más difícil de demostrar; las demostraciones normalmente utilizan el teorema de dualidad débil como una sub-rutina.

Ejemplos

Considere el PL primal con dos variables y una restricción:

maximizar 3x1+4x2sujeto a 5x1+6x2=7x10,x20

Aplicando el algoritmo de arriba obtenemos el siguiente PL dual con una variable y dos restricciones:

minimizar 7y1sujeto a 5y136y14y1

Programa no factible

Un PL puede ser no acotado o no factible. La teoría de la dualidad menciona que:

  • Si el primal es no acotado entonces el dual es no factible;
  • Si el dual es no acotado entonces el primal es no factible.

Sin embargo, es posible para ambos (el dual y el primal) ser no factibles. Aquí es un ejemplo:

maximizar 2xysujeto a xy1x+y2x,y0

Véase también

 

Plantilla:Control de autoridades