I.
INTRODUCCIÓN Investigación de operaciones tiene una gran importancia en la formación profesional los ingenieros y otras especialidades. El concepto de dualidad indica que para cada problema de Programación Lineal hay una asociación y una relación muy importante con otro problema de programación lineal, llamado precisamente dual. 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. En este marco, la aplicación de las matemáticas aplicadas es fundamental y nuestra asignatura ocupa un sitial muy importante en este rol, involucrando una serie de herramientas con distintas orientaciones especialmente las relacionadas con el proceso de planeación.
II.
MARCO TEÓRICO 2.1. METODO DE DUALIDAD El concepto de dualidad tiene un rol muy importante, no solo en programación lineal, sino en la teoría de optimización en general. Más aun, la teoría de dualidad es más amplia que la teoría de programación matemática, nos interesa el concepto de dualidad restringido a la teoría de optimización. Todo programa matemático, lineal o no lineal, existe asociado con otro llamado programa dual. En particular todo programa lineal, tiene su correspondiente programa dual. En este tema se estudiara las relaciones matemáticas entre un programa lineal y dual; y luego se dará la interpretación física correspondiente. Es decir se tratara de interpretar el significado de las variables y funciones objetivas de ambos programas. A. Reglas de obtención de la dualidad El problema dual se construye simétricamente del primal de acuerdo a las siguientes reglas. 1. Para cada restricción primal (m restricciones) existe una variable dual yi (m variables), la función objetivo se construye con los valores libres bi como coeficientes de las variables yi. 2. Para cada variable primal xj (n variables) existe una restricción dual (n restricciones), la restricción se construye con los m
coeficientes de las restricciones primales de esa variable. Los valores libres son los n coeficientes cj. 3. Si la optimización primal es una Maximización, el problema dual es una Minimización y las restricciones son >=. (y a la inversa Minimización primal, Maximización dual, restricciones < ). Ø Si consideramos los excesos y holguras las variables duales (yi)no tienen restricciones de signo, en caso contrario en ambos problemas se considera variables >0. Por lo que las variables duales correspondientes a restricciones del tipo = deben ser sin restricciones de signo, recíprocamente cuando una variable en el primal no tiene restricción de signo, la restricción correspondiente en el dual debe ser del tipo =. 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 (MN) z=c´.x (MAX) W=b´.u A.xb A´.uc =0 =0 De forma más general, las reglas para obtener el dual de cualquier modelo lineal se indican en la tabla adjunta: PRIMAL DUAL Maximizar la F.O.
DUAL PRIMAL Minimizar la F.O.
Una variable no negativa
Una restricción mayor o igual
Una variable no positiva
Una restricción menor o igual
Una variable no restringida en signo
Una igualdad
Una restricción menor o igual
Una variable no negativa
Una restricción mayor o igual
Una variable no positiva
Una igualdad
Una variable no restringida en signo
Por ejemplo: Max z = 3x 1 + 5x2
Sujeto a: x1 + 10×2 < 80 2x1 + 3x2 < 45 4x1 – 2x2 < 25 3x2 <60 x1, x2 > 0
APLICANDO LAS REGLAS: 1. Para cada restricción p r i m a l (4 restricciones) existe una variable d u a l y i (4variables) y1 y2 y3 y4, la función objetivo se construye con los valores libres bi (80,45,25,60) como coeficientes de las variables y i. 2. Para cada variable p r i m a l x j (2 variables sin considerar las variables de holgura) existe una restricción d u a l (2 restricciones), la restricción se construye con los 4 coeficientes de las restricciones primales de esa variable. Los valores libres son los 2 coeficientes c j (3, 5). 3. la optimización p r i m a l es una Maximización, el problema d u a l es una Minimización y las restricciones son >.Ø No hemos considerado las variables de excesos ni holguras las variables duales por lo que en ambos problemas se considera variables, no existen restricciones de =. Problema dual: 1. Min Y = 80y 1 + 45y2 + 25y3 + 60y4 Sujeto a: Y1 + 2y2 + 4y3 > 3 10y1 + 3y2 – 2y3 + 3y4 > 5 y1, y2, y3, y4 > 0 2. Max Z = 3x1 + 7x2 Sujeto a: 2x1 + 5x2 = 15 x1 + 8x2 < 30 x1, x2 > 0 1. Para cada restricción p r i m a l (2 restricciones) existe una variable d u a l y i (2 variables) y1 y2, la función objetivo se construye con los valores libres bi (15, 30) como coeficientes de las variables y i. 2. Para cada variable p r i m a l x j (2 variables sin considerar las variables de holgura) existe una restricción d u a l (2 restricciones),
la restricción se construye con los 2 coeficientes de las restricciones primales de esa variable. Los valores libres son los 2 coeficientes c j (3, 7). 3. Aplicando las reglas y la nota: 4. Nota: Para la segunda restriccion no hemos considerado las variables de excesos ni holguras las variables duales por lo que en el dual y2 ³ 0, la primera restricción es de igualdad por lo que la primera variable no tiene restricción de signo. Problema dual: Min Y= 15y1 + 30y2 Sujeto a: 2y1 + y2 ³ 3 5y1 + 8y2 ³ 7 y sin restricción de signo (irrestricta) y2 ³ 0.
B. TEOREMAS DE 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’ ≠ ∅
Corolario d el teorema de existenc ia.
Una vez analizadas las condiciones que han de cumplirse para que exista solución optima, vamos a ver los diferentes casos posibles: a) S ≠ ∅ ∧ S’ ≠ ∅ Ambos problemas tienen solución optima finita. b) S = ∅ ∧ S’ ≠ ∅ El programa primal es infactible, y el programa dual es no acotado. c) S ≠ ∅ ∧ S’ = ∅ El programa dual es infactible, y el programa primal es no acotado. d) S = ∅ ∧ S’ = ∅ Ambos problemas son infactibles. La condición necesaria y suficiente para que exista solución óptima 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 C. REGLAS PARA ESCRIBIR UN PROBLEMA DUAL 1.-FUNCION OBJETIVO
El dual de un problema de maximización es un problema de minimización. El dual de un problema de minimización es un problema de maximización.
2.-NUMERO DE INCOGNITAS O RESTRICCIONES:
El número de incógnitas del dual es el número de restricciones del primal El número de restricciones del dual es el número de incógnitas del primal.
3.-COEFICIENTES DE COSTE Y TERMINOS INDEPENDIENTES DE LAS RESTRICCIONES:
Los coeficientes de coste del dual son los términos independientes de las restricciones del primal. Los términos independientes de las restricciones del dual son los coeficientes de coste del primal.
4.-LAS MATRICES TECNOLÓGICAS DEL PRIMAL Y DUAL SON TRASPUESTAS ENTRE SÍ. 5.-SIGNO DE LAS RESTRICCIONES Y DE LAS VARIABLES.
A cada restricción de un problema viene asociado una variable del otro. Las reglas para cada escribir los signos de las restricciones y de las variables correspondientes vienen resumidas en la tabla siguiente:
REGLAS PARA UN PROBLEMA REAL 1. Una restricción de igualdad del primal (dual) implica que la variable dual (primal) correspondiente es no restringida. 2. Una relación de desigualdad >= (<=) del primal (dual) implica que la variable dual (primal) correspondiente es no negativa. 3. Una restricción de desigualdad <= (>=) del primal (dual) implica que la variable dual (primal) correspondiente es no positiva. 4. Una variable primal (dual) no negativa tiene asociada una restricción de desigualdad <= (>=) en el problema dual (primal) 5. Una variable primal(dual) no positiva tiene asociada una restricción de desigualdad >=(<=) en el problema dual (primal) 6. Una variable primal (dual) no restringida tiene asociada una restricción de igualdad en el problema dual (primal) D. DUALIDAD Y PROGRAMACIÓN LINEAL Dado un modelo lineal determinado, podemos definir otro modelo lineal que nos permitirá obtener propiedades e interesantes resultados, relativas al análisis de sensibilidad de los términos independientes. Más concretamente, para el rango de valores de los términos independientes para los que se mantiene la base óptima (que podemos conocer mediante el análisis de sensibilidad), la solución del dual nos permite conocer el precio sombra de la restricción, que será la variación de la función objetivo por unidad incrementada del término independiente de la restricción. En la primera parte de esta sección encontramos como hallar el dual de un modelo lineal. En las siguientes, se define con más precisión el concepto de precio sombra, como obtener la solución del dual a partir de la del primal, y su aplicación al análisis de sensibilidad. Finalmente, se enuncian algunas propiedades de interés, como el teorema de la holgura complementaria y las relaciones entre las soluciones del primal con las soluciones del dual.
DUALIDAD Y ANALISIS EN PROGRAMACION LINEAL Desarrolla la teoría asociada a la dualidad: como se obtiene el dual de un programa lineal, la interpretación del concepto de precio sombra y una serie de teorema y resultados útiles para la interpretación de un modelo lineal. La tercera sección muestra las posibilidades del análisis e sensibilidad de la programación lineal. Se trata de analizar como varía la solución del modelo (tanto el valor de la función objetivo como el valor de las variables de decisión) en función de dos conjuntos de parámetros del modelo: los coeficientes de coste de la función objetivo y los términos independientes de las restricciones. PROGRAMAS PRIMAL Y DUAL Primal Max z=c´x Sujeto a Ax b X0
Dual Min w= y Sujeto a Y C Y0
Donde se tiene: C es un vector columna de n componentes. b es un vector columna de m componentes. A es una matriz de orden mxn; es la traspuesta de A. X es un vector de n componentes, cuyos valores debe ser hallado para maximizar la función z sujeta a las restricciones. Y es un vector de m componentes, cuyos valores debe ser hallado para minimizar la función w sujeta a las restricciones. Se pueden distinguir dos tipos de problemas duales: DUALES SIMETRICOS: para primales que incluyan restricciones de desigualdad. DUALES ASIMETRICOS: para primales en forma estándar, es decir, con restricciones de igualdad. Otro tipo de relaciones entre los problemas primal y dual son las siguientes: Para duales simétricos el sentido de desigualdad de las restricciones del dual es inverso al de las del primal; mientras que para asimétricos, las restricciones del dual son de sentido menor o igual al caso de que el problema primal sea de minimización, y de mayor o igual en caso de maximización. Además, las variables del dual, variables duales, no están sujetas a la condición de no negatividad.
2.2.
METODO PRIMAL
2.3.
METODO DUAL SIMPLEX Se tiene una solución básica factible con respecto al Dual, alguno o algunos coeficientes en el lado derecho tendrán un coeficiente negativo por la expresión de las restricciones. Se siguen las condiciones del método y se actualiza la tabla de manera habitual; nuevamente manteniendo una solución Dual factible hasta que sea optima desde el punto de vista Dual, Trabajando en la tabla Primal.
A. Procedimento Paso 1: introducir una variable de holgura para cada restricción en el sistema y para la función objetiva. Despejar la función objetiva.
Z-6 Paso 2: tabla para cálculos.
Z-6
Se coloca una fila para cada restricción y una fila con los coeficientes de la función objetivo:
SOLUCION Y1 Y2 S1 S2 CONSTANTES S1
2
1
1
0
3
S2
1
1
0
1
2
Z
-6
-4
0
0
0
ITERACIÓN:
1RA
Paso 1: determinar cuál variable debe entrar en la base SOLUCION
Y1
Y2
S1
S2
CONSTANTES
S1
2
1
1
0
3
S2
1
1
0
1
2
Z
-6
-4
0
0
0
Para escoger la variable de decisión que entra en la base, observamos la fila que muestra los coeficientes de la función objetiva y acogemos la variable con el coeficiente más negativo.
Paso 2: determinar cuál variable de holgura debe salir de la solución
SOLUCION S1
Y1 2
Y2
S1
S2
CONSTANTES
1
1
0
3
3/2=1.5
S2
1
1
0
1
2 2/1=2
Z
-6
-4
0
0
0
Para encontrar la variable de holgura que tiene que salir de la base, se divide cada término de la última columna (valores solución) por el termino correspondiente de la columna pivote, siempre que estos últimos sean mayores que cero. Paso 3: hacer que el pivote sea 1, y que haya ceros debajo del pivote.
SOLUCION
Y1
S1
Y2
S1
S2
CONSTANTES
0.5 0.5 0
1.5
S2
1
1
0
1
2 -R1+R2
Z
-6
-4
0
0
0 6R1+R3
Paso 4: hacer que el pivote sea 1, y que hallan ceros debajo del pivote. (Continuación) SOLUCION
Y1
Y2
S1
S2
CONSTANTES
Y1
1
0.5 0.5
0
1.5
S2
0
0.5 -0.5 1
0.5
Z
0
-1
9
3
0
Fin de la primera iteración. Repetimos el proceso porque aún hay negativos en la última fila. La solución ahora es:
= 2da iteración: Paso 1: determinar cuál variable entra en la solución y cual sale
SOLUCION Y1 Y2
S1
S2 CONSTANTES
Y1
1
0.5 0.5
0
1.5 1.5/0.5=3
S2
0
0.5 -0.5 1 0.5
0.5 0.5/0.5=1
Z
0
-1
9
3
0
Paso 2: poner pivote igual a SOLUCION Y1 Y2
S1
S2 CONSTANTES
Y1
1
0.5 0.5 0
1.5
Y2
0
0.5 -1
2
1 R2
Z
0
-1
0
9
3
Paso 3: (continuación) SOLUCION Y1 Y2 S1 S2 CONSTANTES Y1
1
0
Y2
0
1
Z
0
0
1
-1
1
-1
2
1
2
2
10
Como todos los coeficientes de la última fila son positivos, hemos llegado a la solución óptima para la función objetiva. W=3 +2 La solución ahora es:
= []
INICIALIZACION Encontrar una solución dual básica al problema en la tabla primal; todos los coeficientes en el renglón ceros son positivos o ceros.
PASO PRINCIPAL 1.-Si todos los elementos del lado derecho son mayores o iguales a cero detenerse, la solución actual es óptima Dual (y también Primal). Si no, seleccione el elemento más negativo del Lado Derecho de la tabla simplex y defina dicha posición como el renglón Pivote. 2.-Examine los elementos en la región pivote (excepto el elemento en el lado derecho), si todos ellos son mayores o iguales a cero entonces la solución no es acotada en el dual (e infactible primal). En caso contrario y solo con los elementos negativos del renglón pivote; divida de forma correspondiente cada elemento no básico en el RENGLON CERO entre su
respectivo elemento en el renglón pivote y seleccione el coeficiente de menor valor absoluto, defina dicha posición como la columna pivote. 3.-El renglón pivote indica la variable saliente y la columna pivote indica la variable entrante. A partir de operaciones básicas entre renglones, esto es, multiplicación por un escalar y/o suma de renglones; con base en el pivote, actualice la tabla hasta obtener el sistema equivalente con el nuevo conjunto de variables básicas. Repita el paso principal.
RESOLVER POR EL METODO DUAL SIMPLEX Min z =
7 x1 + 2 x2 + 5 x3 + 4 x4
Sujeta a
2 x1 + 4 x2 + 7 x3 + x4≥ 5 8 x1 + 4 x2 + 6 x3 + 4 x4 ≥ 8 3 x1 + 8 x2 + x3 + 4 x4 ≥ 4 X1 , x2 , x3 , x4 ≥ 0
EXPRESANDO LAS RESTRICCIONES COMO
≤, Y EN FORMA
PARA MAXIMIZAR Max -z =
-7 x1 - 2 x2 - 5 x3 - 4 x4
Sujeta a
-2 x1 - 4 x2 - 7 x3 - x4≤ -5 -8 x1 - 4 x2 - 6 x3 - 4 x4 ≤ -8 -3 x1 - 8 x2 - x3 - 4 x4 ≤ -4 X1 , x2 , x3 , x4 ≥ 0
Y TRASLADANDO A SU TABLA DUAL-SIMPLEX
EL COEFICIENTE MAS NEGATIVO EN EL Y RENGLON DE PIVOTE
PRUEBA DE COCIENTE MINIMO ABSOLUTO Y COLUMNA PIVOTE
PIVOTE
ACTUALIZACION DE LA TABLA Y ES OPTIMA
2.4.
RELACIÓN ENTRE METODO DUAL Y PRIMAL Según estas afirmaciones, el problema dual queda unívocamente determinado por su primal. ,…., son las variables primalas, ,…., las correspondientes variables duales, el planteamiento del problema dual es:
1.-Duales Simétricos:
Se pueden resumir primal y dual en un cuadro como el que seguir, donde el primal se lee verticalmente y el dual de forma horizontal:
2.-Duales asimétricos
La tabla anterior queda ahora de la siguiente forma:
RELACIONES PRIMAL-DUAL Los cambios que se hacen en el modelo original de programación lineal afectan a los elementos de la tabla optima actual (el que se tenga en el momento), que a su vez puede afectar la optimalizad y/o la factibilidad de la solución actual. Por esta razón estudiaremos como se calculan los elementos de la tabla óptima simplex para reflejar los nuevos cambios.
Planteamiento de la tabla simplex
Esquema de las tablas simplex de inicio y general Una representación esquemática de las tablas simplex de inicio y general. En la tabla de inicio, los coeficientes de las restricciones abajo de las variables de inicio forman una matriz identidad: todos los elementos de la diagonal principal iguales a 1 y fuera de la diagonal principal iguales a cero. Con este arreglo, las demás iteraciones de la tabla simplex, generadas con las operaciones de fila de Gauss-Jordan modificaran los elementos de la matriz identidad para producir la llamada matriz inversa. Como veremos en el resto de este capítulo, la matriz inversa es la clave del cálculo de todos los elementos de la tabla simplex asociada.
Solución dual optima Las soluciones primal y dual se relacionan en forma tan estrecha que la solución óptima del problema primal produce en forma directa (con unos pocos de cálculos adicionales) la solución óptima del dual. En esta sección se describen dos métodos para calcular este resultado.
Las relaciones que 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 programa 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 tengan el signo de las variables del problema primal y del sentido de la restricciones del mismo problema. g) Si el programa primal es un problema de maximización, el programa dual es un problema de minimización. h) El problema dual de un problema dual es el programa primal original.
TABLA DE TUCKER
Los problemas 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 iguales para los problemas de maximización. Es decir, si el problema original es de la siguiente forma: Max Z(x)= x s.a: Ax ≤ b x≥ 0
El problema dual (dual simétrico) es: Min G (λ) b
s.a: λA ≥ c λ≥ 0
Los restantes tipos de combinaciones de problemas, se conocen con el nombre de duales asimétricos. Como por ejemplo: Max Z(x)= x Ax = b x≥ 0
El problema dual (dual asimétrico) es: Min G (λ)= λ b s.a: λ A ≥ C λ>< 0,
es decir, variables libres.
III.
APLICACIONES DEL MÉTODO DUAL
IV. V.
CONCLUSIONES RECOMENDACIONES