Introducción.
Dualidad en programación lineal.
Reglas de obtención del dual.
Interpretación de la variables duales.
Obtención de las solución dual.
Dual simétrico y asimétrico.
Características de la solución del dual y del primai.
Relaciones dual primal.
Tabla tucker (tabla - defunción - interpretación).
Tablas de condiciones de kunh-tucker.
Teoremas de la dualidad( de existencia, de dualidad y de holgura complementaria).
Importancia de la dualidad en programación lineal.
Ventajas y desventajas de la dualidad.
Análisis de sensibilidad.
INTRODUCCIÓN
Encontrar el óptimo de un problema de optimización, es solo una parte del proceso de
solución. Muchas veces nos interesara saber como varía la solución si varía alguno de los
parámetros del problema que frecuentemente se asumen como determinísticos, pero que
tienen un carácter intrínsecamente aleatorio. Mas específicamente nos interesar´a saber para
que rango de los parámetros que determinan el problema sigue siendo valida la solución
encontrada.
Otro aspecto interesante es el tema de dualidad. Dualidad resulta de buscar relaciones que
permitan obtener información adicional de un problema de optimización general. Esto, traducido a progamación lineal nos conduce a relaciones primal-dual. Ademas veremos algunos teoremas útiles
de dualidad y el concepto de precio sombra.
DUALIDAD EN PROGRAMACIÓN LINEAL
El dual es un problema de programación lineal (PL) que se obtiene
matemáticamente de un modelo primal de programación lineal dado. Los problemas dual y primal
están relacionados a tal grado, que la solución símplex óptima de cualquiera de
los dos problemas conduce en forma automática a la solución óptima del otro.
El concepto de dualidad indica que para cada
problema de PL hay una asociación y una relación muy importante con otro
problema de programación lineal, llamado precisamente dual.
- La relación entre el problema dual y su asociado, es decir el problema original llamado primal, presenta varias utilidades.
- Aporta elementos que aumentan sustancialmente la compresión de la PL.
- El análisis de dualidad es una herramienta útil en la solución de problemas de PL, por ejemplo: más restricciones que variables.
- El problema dual tiene interpretaciones e informaciones importantes que muestran que los análisis marginales están siempre involucrados implícitamente al buscar la solución óptima a un problema de PL.
REGLAS DE OBTENCIÓN DEL DUAL
Si el modelo está escrito en la forma canónica, el
dual resulta singularmente fácil de obtener. Por ejemplo, partiendo de la forma
canónica del modelo de máximo:
Primal Dual
[MIN] z= c’.
x [MAX]
w= b’. u
A
.x ≥
b A’. u ≤
c
xj ≥
0 ui ≥ 0
INTERPRETACIÓN DE LA VARIABLES DUALES
Cada variable del dual está asociada a una
restricción del programa primal, y su valor óptimo representa el incremento de
la función objetivo del primal por cada unidad que aumente el término
independiente de dicha restricción, siempre que este último aumento no suponga
un cambio de base. Es, por tanto, el precio adicional máximo que estamos
dispuestos a pagar por el incremento del recurso. Los valores de estas
variables se denominan precios sombra.
OBTENCIÓN DE LA SOLUCIÓN DEL DUAL
El dual de un modelo lineal es otro modelo
lineal, que puede solucionarse (después de las oportunas transformaciones, si
algunas de las variables resultantes es no negativa o no restringida en signo)
del mismo modo que el primal. Sin embargo, en general puede obtenerse la
solución del dual resolviendo el primal.
DUAL SIMÉTRICO Y ASIMÉTRICO
DUALES SIMÉTRICOS
Son los que se obtienen de un problema primal
en forma canónica y ‘normalizada’, es decir, cuando llevan asociadas
desigualdades de la forma mayor o igual en los problemas de minimización, y
desigualdades menores o igual para los problemas de maximización. Es decir, si
el problema original es de la siguiente forma:
Máx Z(x) = ct x
S.A:
A x ≤ b
x ≥ 0
El problema dual (dual simétrico) es:
Mín G (λ) = λ b
S. A:
λ A ≥ c
λ ≥ 0
DUAL ASIMÉTRICO
Son los restantes tipos de combinaciones de
problema. Como por ejemplo:
Máx Z(x) = ct x
S. A:
A x = b
X ≥ 0
El problema dual (dual asimétrico) es:
Mín G (λ) = λ b
S. A:
λ A ≥ c
λ >< 0, es decir,
variables libres.
CARACTERÍSTICAS DE LA SOLUCIÓN DEL DUAL Y DEL
PRIMAL
Si el primal tiene solución óptima acotada
x* , el dual también tendrá solución óptima acotada u* ambas
soluciones darán el mismo valor de la función objetivo.
C’. x*=b’. u*
Si uno de los dos problemas tiene optimo no
acotado, el otro no tendrá solución (la región factible será un conjunto vacío)
Si uno de los dos problemas
no tiene solución, el otro puede tener optimo no acotado o no tener tampoco
solución.
RELACIONES PRIMAL-DUAL
Asociado a cada problema lineal existe otro problema de
programación lineal denominado problema dual que posee importantes propiedades
y relaciones notables con respecto al problema lineal original, problema que
para diferencia del dual se denomina entonces como problema primal (PP).
Las relaciones las podemos enumerar como siguen:
a) El problema dual tiene tantas variables como
restricciones tiene el programa primal.
b) El problema dual tiene tantas restricciones como
variables tiene el programa primal
c) Los coeficientes de la función objetivo del
problema dual son los términos independientes de las restricciones o RHS del
programa primal.
d) Los términos independientes de las restricciones o
RHS del dual son los coeficientes de la función objetivo del problema primal.
e) La matriz de coeficientes técnicos del problema
dual es la traspuesta de la matriz técnica del problema primal.
f) El sentido de las desigualdades de las
restricciones del problema dual y el signo de las variables del mismo problema,
dependen de la forma de que tenga el signo de las variables del problema primal
y del sentido de las restricciones del mismo problema.
TABLA DE TUCKER:
TABLA DE KUNH-TUCKER:
Las condiciones de
Kuhn-Tucker para el problemaDefinición
máximo x f
(x) en g j (x) ≤ c j para j =
1, ..., m
se
L i '( x )
|
= 0 para i = 1 ,..., n
|
0 λ ≥ j, j g (x) y c ≤
λ j j [j g (x) - c j]
|
= 0 para j = 1, ..., m,
|
donde
L (x) = f (x) -
Σ j = 1 λ mj (j g (x) - c j
Estas condiciones se nombran en honor de Harold W. Kuhn,
miembro emérito del Departamento de Matemáticas de Princeton, y Albert W.
Tucker, quien formuló por primera vez y estudió las condiciones. Por
consiguiente, también son utilizados para optimizar sistemas aplicando estas
condiciones para determinar las desigualdades estableciendo restricciones
dentro de los problemas y representar su máximo tomando en cuenta n variables
permitiendo analizar el problema tomando en cuenta todos los aspectos que
intervienen dentro del mismo así como sus limitaciones. Por ejemplo tenemos un
repartidor el cual presenta limitaciones como tiempo para realizar la entrega
en el lapso estipulado por el destinatario.
Importancia del teorema de Khun-Tucker en la tarea de toma de
decisiones organizacionales.
TEOREMAS DE LA DUALIDAD:
Teorema
de existencia.
La condición necesaria y suficiente para que un
problema de programación lineal tenga solución es que, tanto el conjunto de
oportunidades del primal (S) como en conjunto de oportunidades del dual (S’) no
sean vacíos, es decir, que ambos problemas sean factibles.
∃ ( x* , λ* ) ←→ S ≠ ∅ ∧ S’ ≠ ∅
Una vez analizadas las condiciones que han de
cumplirse para que exista solución óptima se muestra.
v S ≠ ∅ ∧ S’ ≠ ∅ Ambos
problemas tienen solución optima finita.
v S = ∅ ∧ S’ ≠ ∅ El
programa primal es infactible, y el programa dual es no
acotado.
v S ≠ ∅ ∧ S’ = ∅ El
programa dual es infactible, y el programa primal es no acotado.
v S = ∅ ∧ S’ = ∅ Ambos
problemas son infactibles.
Teorema de la Dualidad.
La condición necesaria y suficiente para que exista
solución optima del primal ( x* ), es que exista una solución óptima para el
dual ( λ* ) y que valor de la función objetivo de ambos programas sea igual, es
decir Z(x*) = G(λ*).
∃ x* ←→ ∃ λ* / Z(x*) =
G(λ*)
Teorema del Holgura complementaria.
La condición necesaria y suficiente para que (x*,
λ*) sean soluciones óptimas del programa primal y dual, es que satisfagan las
condiciones de holgura complementaria:
(
c - λ* A ) x* = 0
λ*
( b - A x* ) = 0
IMPORTANCIA DE DUALIDAD DE PROGRAMACIÓN LINEAL
La dualidad es importante por el hecho de que es
equivalente resolver un problema a resolver su dual. Ello es debido a que los
precios sombra de dual son las soluciones de problemas y viceversa. Así, en
ocasiones, puede resultar conveniente obtener las soluciones de problemas a
partir de los precios sombra de dual en vez de resolver problemas
directamente.
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.
Ventajas:
Una de las ventajas de la existencia del programa
dual es la posibilidad de reducir el esfuerzo computacional al resolver
ciertos modelos de programación lineal.
- Permite resolver problemas de programación lineal de forma más rápida y sencilla.
- Es otra vía para resolver un problema de programación lineal.
- Facilita profundizar en el contenido económico del problema original (primal).
- Puede ser utilizada para resolver el caso en que se debe considerar la introducción de una nueva variable en el primal una vez que ha de sido obtenida la solución óptima, sin tener que resolver completamente el 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.
Desventajas:
- Una desventaja de este método, es que se requiere para empezar a iterar la condición de factibilidad dual.
ANÁLISIS DE SENSIBILIDAD
Es
una herramienta útil cuando no tenemos una certeza absoluta sobre los valores
que se han dado a los términos independientes de las restricciones o los
coeficientes de la función objetivo, en este sentido el análisis de
sensibilidad consiste en estudiar cómo evoluciona el optimo y el valor de la
función objetivo del optimo ante variaciones de dichos términos independientes
y coeficientes.
Estudia
los intervalos para los cuales la modificación de un valor en el programa
lineal de forma individualizada, no cambia las variables que componen la base
de nuestra solución, hallando para el rango de valores definido en el
intervalo, la evolución de la función objetivo expresado
a través de los precios sombra.
OBJETIVO DEL ANÁLISIS DE SENSIBILIDAD
Establecer un intervalo de números reales en el cual
el dato que se analiza puede estar contenido, de tal manera que la
solución sigue siendo óptimo siempre que el dato pertenezca a dicho intervalo.
Investigar el cambio en la solución óptima del
problema, cuando se producen cambios en los parámetros del modelo.
CARACTERÍSTICAS DEL ANÁLISIS DE SENSIBILIDAD
El
análisis de sensibilidad es una herramienta efectiva por dos razones
fundamentales.
- Los modelos de programación lineal son frecuencias grandes y costosas por lo tanto no es recomendable para usarlos en un solo caso.
- Los elementos que se dan como datos para un problema de programación lineal la mayoría de las veces son estimaciones; por lo tanto es necesario investigar o tener en cuenta más de un conjunto de casos posibles.
ANÁLISIS DE SENSIBILIDAD: RESOLUCIÓN GRÁFICA
Para
ilustrar de forma clara y sencilla en qué consiste el análisis de sensibilidad
se utiliza nuevamente la metodología gráfica. Ejemplo de ello.
Una compañía forestal tiene un predio de 100
hectáreas de bosques para explotar. Talar y dejar el suelo para uso
agrícola tiene un costo inmediato de M$10 por hectárea y un retorno posterior
de M$50 por hectárea. Una alternativa es talar y plantar pino que tiene un
costo inmediato de M$50 por hectárea y un retorno posterior de M$120 por
hectárea. De aquí que los beneficios netos de ambos planes sean de M$40 y M$70
por hectárea, respectivamente. Desafortunadamente, el segundo plan no puede ser
aplicado a todo el terreno ya que sólo se dispone de recursos inmediatos por M$4.000.
- Formule y resuelva gráficamente un modelo de Programación Lineal que provea el plan más eficiente de explotación, indicando claramente la solución óptima y valor óptimo.
- Suponga que usted puede solicitar un préstamo por M$1.000 por el cual deberá retornar con posterioridad el monto de M$1.400 (una vez concluidos los proyectos). Sin reoptimizar, ¿tomaría usted estos recursos adicionales?
El Análisis de Sensibilidad para la
parte b) y c) se puede hacer gráficamente siguiendo algunos
criterios detallados. En cuanto a este caso particular se tiene:
Máxima variación: (0,100)
Mínima variación: (100,0)
Z(Max Var) = 40*0 + 70*100 = 7.000
Z(Min Var) = 40*100 + 70*0 = 4.000
R1(Max Var) = 10*0 + 50*100 = 5.000
R1(Min Var) = 10*100 + 50*0 = 1.000
Z(Min Var) = 40*100 + 70*0 = 4.000
R1(Max Var) = 10*0 + 50*100 = 5.000
R1(Min Var) = 10*100 + 50*0 = 1.000
Precio Sombra R1 = (7.000 – 4.000) / (5.000 –
1.000) = ¾
El aumento del lado derecho (1.000) se encuentra en
el rango donde el precio sombra es válido (hasta 5.000)
Por tanto el aumento en el beneficio total es:
1000 * Precio Sombra = 1000 * 3/4 = 750
1000 * Precio Sombra = 1000 * 3/4 = 750
Es decir, nuevo V(P) =6.250 + 750 = 7.000
Donde el aumento (M$750) es claramente inferior al
costo adicional (M$1.400) por tanto no se tomarían estos recursos adicionales.
Sin resolver nuevamente el problema, obtener la
solución óptima de inversión que resulta al aumentar los retornos posteriores
de la primera alternativa de M$50 a M$60.
Esta variación es equivalente a cambiar el
coeficiente de X en la función objetivo de M$40 a M$50.
Luego, analizamos si esta variación está contenida
en el intervalo de C1 que garantiza la actual solución óptima: (Para C2=70)
- 1 <= -C1/C2 <= -1/5
C1 puede variar entre {14, 70} y se
conserva la actual solución óptima. Luego la variación propuesta no produce un
cambio en la actual solución óptima.
ANÁLISIS DE SENSIBILIDAD MEDIANTE PROGRAMAS INFORMÁTICOS
Los
programas informáticos que resuelven modelos de programación lineal, como el
LINDO, suelen incorporar la posibilidad de realizar el análisis de sensibilidad
de los coeficientes de coste c y de los términos independientes de las
restricciones b, el resultado de este análisis es el intervalo de valores de
los parámetros para el que se mantiene la base.
CASOS DE ANÁLISIS DE SENSIBILIDAD (CASOS 1,2,3,4)
Este análisis casi siempre comienza con la
investigación de los cambios en los valores de las bi, la cantidad
del recurso i (i = 1, 2,. . . , m) que se encuentra disponible para
las actividades bajo consideración. La razón es que en general existe mayor
flexibilidad al establecer y ajustar estos valores que los otros parámetros del
modelo. La interpretación económica de las variables duales las yi, como
precios sombra es extremadamente útil para decidir cuáles son los cambios que
se deben estudiar.
Primer caso: Cambios en las
b i (columna lado derecho)
Supongamos que los únicos cambios al modelo actual
consisten en el cambio de uno o más de los parámetros bi (i = 1, 2, .
. . , m). En este caso, los únicos cambios que resultan en la
tabla simplex final se encuentran en la columna del lado derecho, por lo cual,
se pueden omitir del procedimiento general tanto la conversión a la forma
apropiada de eliminación de Gauss como la prueba optimalidad.
Segundo caso:
A) Cambios en los
coeficientes de una variable no básica
Considere una variable
específica xj (j fija) que sea no básica en la solución óptima
dada en la tabla simplex final. El caso 2 a es aquel en el que los únicos
cambios al modelo actual ocurren en uno o más de los coeficientes de esta variable,
cj, a1j, a2j........, amj. Entonces, si cj y aij, denotan los
nuevos valores de estos parámetros con Aj, columna j de la matriz A, como el
vector que contiene a aij, se tiene para el modelo revisado.
B) Introducción de una
nueva variable
Ya obtenida la solución óptima se puede descubrir
que la formulación de programación lineal no tomó en cuenta todas las
actividades que pudieran ser atractivas. Considerar una nueva actividad
requiere introducir una nueva variable con los coeficientes apropiados, a la
función objetivo y a las restricciones del modelo actual, éste es el caso 2 b.
Tercer caso: Cambios en los coeficientes de
una variable básica
Ahora suponga que la variable xj con j fija, que se
está estudiando es una variable básica en la solución óptima que se muestra en
la tabla simplex final. El caso 3 supone que los únicos cambios al modelo
actual se hacen en los coeficientes de esta variable.
El caso 3 difiere del 2a debido al requisito de que
la tabla simplex debe estar en la forma apropiada de eliminación de Gauss. Esta
forma permite que los elementos en la columna de una variable no básica tengan
cualquier valor, así que no afecta en el caso 2a. Sin embargo, para el caso 3
la variable básica xj debe tener coeficiente 1 en su renglón de la tabla
simplex y coeficiente 0 en todos los demás renglones incluyendo el renglón
0. Por lo tanto, una vez que se han calculado los cambios en la columna xj de
la tabla simplex final, es probable que sea necesario aplicar la eliminación de
Gauss para restaurar la forma apropiada. Este paso, a su vez, quizá cambie los
valores de la solución básica actual, y puede hacerla no factible o no óptima
con lo que puede ser necesario reoptimizar.
Antes de aplicar la eliminación de Gauss, se
resumen las fórmulas para revisar que la columna de xj sea la misma que para el
caso 2b.
Cuarto caso: Introducción de una nueva
restricción de desigualdad
Este es el último caso en el cual debe introducirse
al modelo una nueva restricción, después de que ya se ha resuelto. Este caso
puede ocurrir porque se pasó por alto la restricción en un principio o porque
surgieron nuevas consideraciones después de formular el modelo. Otra
posibilidad es que a propósito se haya eliminado la restricción para disminuir
el esfuerzo computacional por parecer menos restrictiva que otras ya planteadas
en el modelo, pero ahora es necesario verificar esta impresión con la solución
óptima que se obtuvo.
Para ver si la nueva restricción afecta a la
solución óptima actual, todo lo que tiene que hacerse es verificar directamente
si esa solución óptima satisface la restricción. Si es así, todavía sería
la mejor solución básica factible, es decir, sería la solución
óptima, aun cuando se agregara la restricción al modelo. La razón es que una
nueva restricción sólo puede eliminar algunas de las soluciones factibles
anteriores sin agregar ninguna.
Si la nueva restricción elimina la solución óptima
actual, y si se quiere encontrar la nueva solución, se introduce esta
restricción a la tabla simplex final, como un renglón adicional, justo como si
fuera la tabla inicial, en la que se designa la variable usual de holgura o
artificial, como la variable básica que corresponde a este nuevo renglón. Como
éste tal vez tenga coeficientes distintos de cero para algunas otras
variables básicas, se debe aplicar la conversión a la forma apropiada de
eliminación de Gauss y después el paso de reoptimización en la forma usual.
IMPORTANCIA DEL ANÁLISIS DE SENSIBILIDAD
El análisis de sensibilidad es una de las partes
más importantes en la programación lineal, sobre todo para la toma de
decisiones; pues permite determinar cuándo una solución sigue siendo óptima,
dados algunos cambios ya sea en el entorno del problema, en la empresa o en los
datos del problema mismo.
Este análisis consiste en determinar que tan
sensible es la respuesta óptima del Método Simplex, al cambio de algunos
datos como las ganancias o costos unitarios coeficientes de la función
objetivo, o la disponibilidad de los recursos términos independientes de las
restricciones.
CONCLUSIONES:
Hay que considerar que todo problema de programación lineal
tiene, asociado a él, un problema dual de programación lineal. Existen ciertas
relaciones útiles entre el problema original (primal) y su problema dual que
refuerzan la habilidad para analizar el problema original. Por ejemplo, la
interpretación económica del problema dual proporciona los precios sombra que
miden el valor marginal de los recursos en el problema primal, al igual que
permite dar una interpretación del método símplex. Puesto que el método símplex
se puede aplicar directamente a cualquiera de los dos problemas para obtener la
solución de ambos al mismo tiempo, es posible ahorrar una gran cantidad de
esfuerzo computacional si se maneja directamente el problema dual.
La teoría de dualidad, que incluye el método símplex dual para
trabajar con soluciones básicas óptimas, juega un papel de gran importancia en
el análisis de sensibilidad.
Los valores usados como parámetros de un modelo de
programación lineal son sólo estimaciones. Por lo tanto, es necesario llevar a
cabo el análisis de sensibilidad para investigar lo que ocurre si las
estimaciones están equivocadas. La idea fundamental es proporcionar la clave
para realizar esta investigación de manera eficiente.
Los objetivos generales del análisis de sensibilidad son
identificar los parámetros relativamente sensibles que afectan la solución
óptima, para tratar de estimarlos con más cuidado y después elegir una solución
que se mantenga como buena en un cierto intervalo de valores posibles de estos
parámetros sensibles. No hay que olvidar que este análisis constituye una parte
muy importante de los estudios de programación lineal.
ANEXOS
Programación lineal, resolución gráfica.
ANEXOS
Programación lineal, resolución gráfica.
Resolución de ejercicio del modelo primal y dual
PROBLEMA PRIMAL EN FORMA CANONICA:
MAX Z= CX
Sujeto a:
AX £ b
X ³ 0
PROBLEMA DUAL EN FORMA CANONICA:
MIN Z= BY
Sujeto a:
AY ³ C
Y ³ 0
Ejemplo.
Si el problema primal es: MAX Z=
45X1 + 17X2 + 55X3
Sujeto a:
X1 +
X2 + X3
£ 200
9X1 +
8X2 + 10X3 £
5000
10X1+ 7X2 + 21 X3
£ 4000
Xj ³ 0
El problema
dual será:
MIN Z= 200Y1 + 5000Y2 + 4000Y3
Sujeto a:
Y1 + 9Y2 + 10Y3
³ 45
Y1 + 8Y2 +
7Y3 ³ 17
Y1 + 10Y2 + 21Y3 ³ 55
Yj ³ 0
FORMA DE PRESENTAR EL PROBLEMA DUAL
MIN = 2X1 -
3X2
Sujeto a:
1X1
+ 2X2
£ 12
4X1
- 2X2
³ 3
6X1
- 1X2
= 10
X1,2 ³ 0
1. Llevar el problema a su equivalente de
maximización, multiplicando la función objetivo por –1:
MAX -2X1 +
3X2
Convertir las restricciones ³ en una restricción
equivalente £ multiplicando por –1 ambos lados:
-4x1 + 2x2 £
-3
Para las restricciones de igualdad, obtener 2
restricciones de desigualdad, una de forma £ y la otra de forma ³; después
regresar al punto anterior y cambiar la restricción ³ a la forma £:
6X1 – 1X2 £ 10
6X1 – 1X2 ³ 10
6X1 –
1X2 £ 10
-6X1 + 1X2
£ -10
Así el problema primal se ha replanteado en la
forma equivalente:
MAX Z= -2X1
+ 3X2
Sujeto a:
1X1 + 2X2
£ 12
-4X1 + 2X2
£ - 3
6X1 – 1X2
£ 10
-6X1 + 1X2 £
-10
X1,2 ³ 0
Teniendo el problema primal convertido a la forma
canónica de un problema de maximización, es fácil llevarlo al problema dual:
MIN 12Y1 –
3Y2 + 10Y3
Sujeto a:
Y1–4Y2 + 6Y3’–6Y3’’ ³-2 Y’3
y Y’’3 ambas se refieren a la tercera
restricción
2Y1 + 2Y2 – 1Y3’ + 1Y3’’ ³
3 del
problema primal.
Y1, 2, 3’, 3’’ ³ 0
REFERENCIAS ELECTRONICAS.
http://www.andrew.cmu.edu/user/mgoic/files/documents/optimization/dualidad.pdf
http://dualidadenprogramacionlineal.blogspot.com/
ENLACES:
http://dualidadenprogramacionlineal.blogspot.com/
http://dualidadenprogramacionlineal.blogspot.com/
ENLACES:
http://dualidadenprogramacionlineal.blogspot.com/
No hay comentarios:
Publicar un comentario