Variables de holgura y variables artificiales

Anuncio
7.1. VARIABLES DE HOLGURA
Es el caso más sencillo y se da siempre que tengamos como primera solución
básica la proporcionada por las variables de holgura.
La formulación del problema debe incluir solamente restricciones del tipo ≤ ,
siempre que los coeficientes de las disponibilidades sean no negativos:
max
s.a.:
Z = c1 x1 + + cn xn
a11 x1 + + a1n xn ≤ b1
am1 x1 + + amn xn ≤ bm
xi ≥ 0, i = 1, , n
Introduciendo las variables de holgura para expresar la forma estándar:
max
Z = c1 x1 + + cn xn
s.a.:
a11 x1 + + a1n xn + xnH+1 = b1
am1 x1 + + amn xn + xnH+ m = bm
xi ≥ 0, i = 1, , n , xnH+ i ≥ 0, i = 1, , m
Podemos representar este problema en una tabla como la que sigue:
x2
...
xn
xnH+1
xnH+ 2
...
xnH+ m
xnH+1
b1
a11
a12
...
a1n
1
0
...
0
H
n+2
b2
a21
a22
...
a2 n
0
1
...
0
bm
am1
am 2
...
amn
0
0
...
1
Z
c1
c2
...
cn
0
0
...
0
x
x
16
x1
H
n+m
7.2. VARIABLES ARTIFICIALES Y COSTES MARGINALES
Consideremos el siguiente ejemplo:
max
s.a.:
Z = 5 x1 + 2 x2
6 x1 + x2 ≥ 6
4 x1 + 3x2 ≥ 12
x1 + 2 x2 ≥ 4
x1 , x 2 ≥ 0
Pondremos este problema en forma estándar introduciendo dos tipos de variables
en las restricciones lineales de desigualdad:
Variables de holgura: x3H , x4H y x5H
Variables artificiales: x6A , x7A y x8A .
Se obtiene el siguiente problema:
max
Z = 5 x1 + 2 x2 − Mx6A − Mx7A − Mx8A
s.a.:
6 x1 + x2 − x3H + x6A = 6
4 x1 + 3 x2 − x4H + x7A = 12
x1 + 2 x2 − x5H + x8A = 4
x1 , x2 , x3H , x4H , x5H , x6A , x7A , x8A ≥ 0
La tabla correspondiente a este problema es la siguiente:
x6A
x1
x2
x3H
x4H
x5H
x6A
x7A
x8A
6
6
1
-1
0
0
1
0
0
A
7
12
4
3
0
-1
0
0
1
0
A
8
4
1
2
0
0
-1
0
0
1
5
2
0
0
0
-M
-M
-M
x
x
17
La solución factible básica inicial es:
(x
x1 = x2 = x3H = x4H = x5H = 0 ,
A
6
)
, x7A , x8A = (6,12,4)
Como se observa, los costes en la función objetivo de esta base no son nulos, por lo
que no podemos aplicar sin más el algoritmo que hemos desarrollado hasta ahora;
será preciso introducir la siguiente definición:
Definición:
Llamaremos costes marginales a la diferencia c k = ck − z k , donde z k =
∑c a
j
jk
,
j∈B
siendo B el conjunto formado por los índices de las variables básicas.
Es decir, z k es el producto escalar de los elementos de la columna de los costes en
la función objetivo de la base por los elementos de cada columna k-ésima de la
matriz de coeficientes A.
Para hacer esta operación en la práctica, en la tabla anterior añadimos a la derecha
la columna correspondiente a los costes en la función objetivo de la base y una
última fila con el resultado obtenido para los costes marginales.
x1
x2
x3H
x4H
x5H
x6A
x7A
x8A
6
6
1
-1
0
0
1
0
0
-M
x
12
4
3
0
-1
0
0
1
0
-M
x
4
1
2
0
0
-1
0
0
1
-M
5
2
0
0
0
-M
-M
-M
11M + 5
6M + 2
-M
-M
-M
0
0
0
x6A
A
7
A
8
En general, lo que logramos con la introducción de los costes marginales en la
primera tabla es anular los costes de las variables básicas. Además, este caso no es
18
más que la generalización del anterior: si únicamente es preciso añadir variables de
holgura, para éstas los correspondientes z k son cero y, por tanto, c k = ck , esto es,
los costes marginales coinciden con los costes en la función objetivo.
En este caso, la distribución de los datos del problema en la tabla será:
A
B
C
F
D
E
A: base actual ( x j )
B: valor de las variables básicas actuales ( bi )
C: matriz de los coeficientes en las restricciones ( aij ), que se modifican
sucesivamente al pivotar.
D: costes iniciales de todas las variables en la función objetivo ( c j )
E: costes marginales para cada iteración ( c j )
F: columna auxiliar con los costes iniciales en la función objetivo de las
variables básicas actuales.
19
Descargar