Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


PROGRAMACION LINEAL 4, Apuntes de Matemáticas

Asignatura: MATEMATICAS, Profesor: , Carrera: Ingeniero Técnico Agrícola, especialidad en Explotaciones Agropecuarias, Universidad: UniZar

Tipo: Apuntes

Antes del 2010

Subido el 08/10/2008

gemma-632
gemma-632 🇪🇸

4

(1)

10 documentos

1 / 18

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Programación Lineal para la Ingeniería Técnica
77
12.1. EL MODELO DUAL
A todo programa lineal, llamado problema primal, le corresponde otro que se
denomina problema dual. Las relaciones existentes entre ambos problemas son las
siguientes:
El dual tiene tantas variables como restricciones existen en el primal.
El dual tiene tantas restricciones como variables tiene el primal.
Los coeficientes de la función objetivo del primal son los términos
independientes de las restricciones del dual.
Los términos independientes de las restricciones del primal son los
coeficientes en la función objetivo del dual.
La matriz de coeficientes de las restricciones del dual es igual a la
traspuesta de la del primal.
Se pueden distinguir dos tipos de problemas duales:
1. Duales simétricos: para primales que incluyan restricciones de
desigualdad.
2. Duales asimétricos: 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:
Volver al bloque 3
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Vista previa parcial del texto

¡Descarga PROGRAMACION LINEAL 4 y más Apuntes en PDF de Matemáticas solo en Docsity!

12.1. EL MODELO DUAL

A todo programa lineal, llamado problema primal, le corresponde otro que se denomina problema dual. Las relaciones existentes entre ambos problemas son las siguientes:

  • El dual tiene tantas variables como restricciones existen en el primal.
  • El dual tiene tantas restricciones como variables tiene el primal.
  • Los coeficientes de la función objetivo del primal son los términos independientes de las restricciones del dual.
  • Los términos independientes de las restricciones del primal son los coeficientes en la función objetivo del dual.
  • La matriz de coeficientes de las restricciones del dual es igual a la traspuesta de la del primal.

Se pueden distinguir dos tipos de problemas duales:

  1. Duales simétricos: para primales que incluyan restricciones de desigualdad.
  2. Duales asimétricos: 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 en 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.
  • El problema dual de uno de minimización es de maximización y viceversa.
  • El dual del programa dual es el primal.

Según estas afirmaciones, el problema dual queda unívocamente determinado por su primal. Si x 1 ,K ,xn son las variables primales, y 1 ,K ,ymlas correspondientes

variables duales, el planteamiento del problema dual es:

  1. Duales simétricos:

Primal: max f ( X) = c 1 x 1 +K +cn xn

s.a.: a 11 x 1 + K + a 1 n xn ≤b 1

a (^) m 1 x 1 + K +amnxn ≤ b m xi ≥ 0 , i= 1 ,K , n

Dual: min g( Y ) = b 1 y 1 +K +bm ym

s.a.: a 11 y 1 + K + am 1 ym≥ c 1

a (^1) n y 1 + K +amnym ≥c n yi ≥ 0 , i= 1 ,K , m

Se pueden resumir primal y dual en un cuadro como el que sigue, donde el primal se lee verticalmente y el dual de forma horizontal:

La tabla anterior queda ahora de la siguiente forma:

PROGRAMAS PRIMAL MAX. (MIN.)

DUAL MIN.

(MAX.)

m m mn

n

a a a

a a a

K

M M M M

K

1 2

11 12 1

0

x n

x M =

= M b m

b M

1

y 1 y 2 K y m variables

≥ ( ≤) ≥ ( ≤) K ≥ ( ≤) relación

c 1 c 2 K c n constantes

Nota:

Sin distinguir en el caso de duales simétricos o asimétricos, podemos formular una tabla general, que reúne las relaciones entre el problema primal y dual, sea cual sea su formulación:

Problema de minimización

Problema de maximización

VARIABLES

norestringidas

=

≤ RESTRICCIONES

RESTRICCIONES

=

norestringid as

≥ VARIABLES

La ventaja de esta tabla es que se puede leer de derecha a izquierda o viceversa, según el problema primal sea de maximización o minimización, respectivamente. Además, en el problema primal pueden darse diferentes combinaciones en cuanto al sentido de sus desigualdades o al signo de sus variables.

Ejemplos:

  1. Primal: max 2 x 1 +x 2 s.a.: x 1 + 5 x 2 ≤ 10 x 1 + 3 x 2 ≤ 6 2 x 1 + 2 x 2 ≤ 8 x 1 , x 2 ≥ 0

Como el primal es de maximización, el dual será de minimización, por lo que leemos la última tabla de derecha a izquierda. Esto nos dice que por ser todas las restricciones de menor o igual, las variables duales serán de signo no negativo; además por ser las variables primales no negativas, todas las restricciones duales serán de mayor o igual. El problema dual quedará por lo tanto como:

Dual min 10 y 1 + 6 y 2 + 8 y 3 s.a.: y 1 + y 2 + 2 y 3 ≥ 2 5 y 1 + 3 y 2 + 2 y 3 ≥ 1 y 1 , y 2 ,y 3 ≥ 0

  1. Primal min 5 x 1 + 2 x 2 + x 3 s.a.: 2 x 1 + 3 x 2 +x 3 ≥ 20 6 x 1 + 8 x 2 + 5 x 3 ≥ 30 7 x 1 + x 2 + 3 x 3 ≥ 40 x 1 + 2 x 2 + 4 x 3 ≥ 50 x 1 , x 2 ,x 3 ≥ 0

En este caso, leemos la tabla de izquierda a derecha, resultando el dual:

Dual max 20 y 1 + 30 y 2 + 40 y 3 + 50 y 4 s.a.: 2 y 1 + 6 y 2 + 7 y 3 + y 4 ≤ 5 3 y 1 + 8 y 2 + y 3 + 2 y 4 ≤ 2 y 1 + 5 y 2 + 3 y 3 + 4 y 4 ≤ 1 y 1 , y 2 ,y 3 ,y 4 ≥ 0

max f ( X) = c 1 x 1 +K +cn xn

s.a.: a 11 x 1 + K +a 1 n xn ≤b 1

a (^) m 1 x 1 + K +amnxn ≤ b m xi ≥ 0 , i= 1 ,K , n

Si pasamos a forma estándar:

max f ( X) = c 1 x 1 +K +cn xn+ 0 x Hn+ 1 +K + 0 xnH+m

s.a.: a 11 x 1 + K +a 1 n xn+ xHn+ 1 = b 1

m H a (^) m 1 x 1 + K +amnxn + xn+m =b xi ≥ 0 , i= 1 ,K , n, x (^) nH +j≥ 0 , j = 1 ,K ,m

El correspondiente dual asimétrico de este último problema primal es:

min g ( Y) = b 1 y 1 +K +bm ym

s.a.: a 11 y 1 + K + am 1 ym≥ c 1

a (^1) n y 1 + K + amnym ≥c n y 1 ≥ 0

ym ≥ 0

Es el mismo que el dual simétrico que le correspondería al problema sin transformar en su formulación estándar.

Una vez visto que los duales simétricos pueden convertirse en asimétricos utilizando variables de holgura, vamos a enunciar un teorema de dualidad válido para ambos.

Teorema:

Sea P un problema de Programación Lineal cuya región de factibilidad es F , y sea D su problema dual de región de factibilidad G. Entonces:

i) Si X ∈ F, Y ∈ G, se cumple que f ( X) ≤ g(Y ).

ii) Si para algún X ∈ F y algún Y ∈ G se verifica que f ( X) = g(Y ),

entonces X es solución óptima de P , Y es solución óptima de D.

iii) Si uno de los problemas P ó D tienen una solución óptima X *ó Y *, el

otro también la tiene, verificándose además que f ( X*^ ) = g(Y *).

iv) Si f está acotada superiormente en F ≠∅, ó g está acotada inferiormente en G ≠∅, entonces ambos problemas P y D tienen solución óptima.

Consecuencias del teorema:

  1. Si el primal tiene solución finita, entonces el dual también la tiene y ambas coinciden.
  2. Si el primal tiene solución no acotada, el dual no tiene solución.
  3. Si el primal no tiene solución, entonces ó el dual no tiene solución ó tiene solución no acotada.

El dual del dual:

Consideremos ahora como primal al dual, ¿cuál es su dual?.

min g (Y ) = b 1 y 1 +K +bm ym

s.a.: a 11 y 1 + K +am 1 ym ≥c 1

a (^1) n y 1 + K + amnym≥ c n yi ≥ 0 , i= 1 ,K, m

Solución óptima primal

max Z = CB XB+CNXN s.a.: BX (^) B + NXN = b XB , XN≥ 0

La solución de este problema consiste en hacer que el vector no básico X (^) Nsea cero,

y resolver el vector básico en términos de la base B , es decir:

BX (^) B+ NXN = b⇒ BXB= b⇒ XB = B−^1 b

y la función objetivo será:

Z =CBXB +CNXN= CBXB = CBB−^1 b

Ahora bien, la función objetivo dual es g( Y ) = bT^ Y =YTb, y en el óptimo el valor de

la función objetivo primal coincide con el valor óptimo de la función objetivo dual,

esto es, Z ( X*^ ) = g(Y *). Por lo tanto:

Z ( X^ ) = g(Y ) ⇒ CB ( B) −^1 b=(Y ) Tb⇒CB( B*)− 1 = (Y *)T

En los casos particulares que estudiaremos, este valor no hace falta calcularlo explícitamente si hemos resuelto el primal aplicando el algoritmo del Simplex, puesto que en la última tabla:

Variables originales Variables de holgura

Variables básicas

X B

Valor de las variables básicas

X (^) B = B−^1 b

B −^1 A B−^1

C − CBB−^1 A − CBB−^1

Solución óptima dual opuesta en signo

Ejemplo:

max 4 x 1 + 3 x 2 max 4 x 1 + 3 x 2 s.a.: 2 x 1 + 3 x 2 ≤ 18 s.a.: 2 x 1 + 3 x 2 + x 3 H = 18 4 x 1 + 2 x 2 ≤ 10 4 x 1 + 2 x 2 + x 4 H = 10 x 1 , x 2 ≥ 0 x 1 , x 2 ,x 3 H^ ,x 4 H ≥ 0

Introduciendo las variables de holgura. La última tabla es:

x 1 x 2 xH 3 x^ H 4 x 3 H 3 -4 0 1 -3/ x 2 5 2 1 0 1/ -2 0 0 -3/

Solución óptima dual: (^)     

=  2

Y* 0 ,^3

Solución óptima primal: X*^ =( 0 , 5 )

Función objetivo primal y dual óptimas: f( X*^ ) = g(Y *) = 15

El dual sería:

min 18 y 1 + 10 y 2 max − 18 y 1 − 10 y 2 −My 5 A^ −My 6 A s.a.: 2 y 1 + 4 y 2 ≥ 4 s.a.: 2 y 1 + 4 y 2 − y 3 H^ + y 5 A = 4 3 y 1 + 2 y 2 ≥ 3 3 y 1 + 2 y 2 − y 4 H^ + y 6 A= 3 y 1 , y 2 ≥ 0 y 1 , y 2 ,y 3 H^ ,y 4 H,y 5 A,y 6 A ≥ 0

Se puede comprobar con el Simplex que da la misma solución, pero el proceso es más largo por la introducción de variables de holgura y artificiales, de ahí el interés de la relación entre dual y primal (entre otras razones).

Interesará pasar al dual cuando su resolución sea más fácil que la del primal. Así, podemos resolver el dual por el Simplex y deducir, sin ningún cálculo

12.3. MÉTODO DUAL DEL SIMPLEX

Supongamos el problema de la dieta (mezcla de alimentos más barata, satisfaciendo unos valores nutritivos necesarios):

min c 1 x 1 + K + cn xn s.a.: a 11 x 1 + K +a 1 n xn ≥b 1

a (^) m 1 x 1 + K +amnxn ≥ b m xi ≥ 0 , i= 1 ,K , n

Aquí, x (^) j representa la cantidad del alimento j a precio c (^) j y con una composición a ij de un cierto elemento nutritivo N (^) idel cual hay un requerimiento de al menos b i unidades.

Una posible interpretación del dual sería: supongamos que una empresa se plantea la posibilidad de fabricar un concentrado de cada uno de los elementos nutritivos que se requieren para la correcta alimentación, de modo que propondría que se ingirieran los concentrados directamente en lugar de los alimentos que contienen los elementos nutritivos, de modo que se satisfacieran las necesidades nutricionales igualmente.

El problema que se plantearía la compañía consistiría en encontrar los precios unitarios y 1 ,K ,ympara cada nutriente de forma que maximizara su beneficio, pero

teniendo en cuenta que al mismo tiempo este procedimiento debería ser competitivo con el usual en el que se aportan directamente los alimentos. Así, se debe maximizar b 1 y 1 + K +bm ym.

Esta competitividad significa que la suma de los precios totales de los elementos nutritivos en las cantidades que intervienen en cada alimento deberá ser menor o a lo sumo igual que el precio o coste de este alimento. Así, para el alimento j -ésimo de coste c (^) j, deberá verificarse a (^1) j y 1 + K + amjym≤ cj.

Por último, el precio de cada unidad de nutriente yi debe ser positivo. Con todo

esto, planteamos el dual:

max b 1 y 1 + K +bm ym s.a.: a 11 y 1 + K +am 1 ym ≤c 1

a (^1) n y 1 + K + amnym≤ c n yi ≥ 0 , i= 1 ,K, m

Podemos deducir fácilmente del estudio desarrollado en los apartados anteriores una de las aplicaciones inmediatas de la teoría de la dualidad: la resolución de problemas lineales con más restricciones que variables. Puesto que parte de la dificultad y el número de iteraciones del Simplex dependen del número de restricciones, resolveremos el primal si m < n , y el dual si m > n.

Otra aplicación de la dualidad es la resolución de problemas lineales utilizando el Algoritmo Dual del Simplex , que consiste básicamente en aplicar el Simplex al problema dual, pero efectuando los cálculos sobre el primal. Lo explicamos a continuación.

Para comenzar con el Simplex, si no es posible obtener una solución factible, se añaden tantas variables artificiales como sea necesario. El Método Dual del Simplex hace innecesario el empleo de dichas variables artificiales, pero necesita para comenzar a iterar una condición llamada de factibilidad dual , es decir, que todos los costes marginales c (^) jsean negativos o nulos (en caso de máximo). Por

tanto, no siempre se podrá aplicar.

Algoritmo.

Paso 1: Partimos de una tabla en la que c j = cj−zj ≤ 0.

Paso 2: Si X (^) B(solución básica) es tal que X (^) B ≥ 0 , estamos en la solución óptima.

PARAR.

max − 3 x 1 − 4 x 2 − 5 x 3 s.a.: − x 1 − 2 x 2 − 3 x 3 +x 4 H = − 5 − 2 x 1 − 2 x 2 − x 3 + x 5 H =− 6 x 1 , x 2 ,x 3 ,x 4 H^ ,x 5 H ≥ 0

La tabla inicial con la que comenzar a iterar, siguiendo los pasos del Algoritmo Dual del Simplex, es la siguiente:

x 1 x 2 x 3 xH 4 x 5 H x^ H 4 -5^ -1^ -2^ -3^1 x 5 H -6 -2 -2 -1 0 1 -3 -4 -5 0 0

Puesto que c j ≤ 0 , ∀j, sale de la base la variable cuya coordenada ( X B)ies la más

negativa, en este caso x 5 = − 6 , y aplicamos el criterio de entrada, calculando:

,^5

,^4

    − − −

− −

min −

Así pues, entra en la base la variable x 1 , siendo el elemento pivote a 21 = − 2.

Con todo esto, la siguiente tabla quedará como sigue:

x 1 x 2 x 3 xH 4 x 5 H x 4 H -2 0 -1 -5/2 1 -1/ x 1 3 1 1 1/2 0 -1/ 0 -1 -7/2 0 -3/

Seguimos teniendo que c (^) j ≤ 0 , ∀j, y ahora la variable básica con valor más negativo es x 4 H = − 2 (la única), por tanto es la que abandona la base.

Aplicamos el criterio de entrada calculando:

,^32

,^72

 

 −

− −

− − min −

que corresponde a la variable x 2 , que entra en la base, siendo el elemento pivote el elemento a 12 = − 1.

Con todo esto, la siguiente tabla quedará como sigue:

x 1 x 2 x 3 x 4 H x 5 H x 2 2 0 1 5/2 -1 1/ x 1 1 1 0 -2 1 - 0 0 -1 -1 -

Todas las variables básicas son positivas, por lo que el algoritmo termina con la solución óptima:

x 1 * = 1 , x 2 * = 2 , x 3 * = 0 , Z*^ = 11

Ejemplo:

min Z = 2 x 1 +x 2 max − Z = − 2 x 1 − x 2 s.a.: 3 x 1 + x 2 ≥ 3 s.a.: − 3 x 1 − x 2 + x 3 H =− 3 4 x 1 + 3 x 2 ≥ 6 − 4 x 1 − 3 x 2 + x 4 H =− 6 x 1 + 2 x 2 ≥ 3 − x 1 − 2 x 2 + x 5 H = − 3 x 1 , x 2 ≥ 0 x 1 , x 2 ,x 3 H^ ,x 4 H,x 5 H ≥ 0