Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2 PROGRAMACION LINEAL:
METODOS DE SOLUCION
1. METODO GRAFICO
METODO GRAFICO
Ejemplo:
Mx X1 + 2X2
sa.
4X1 + 2X2 16
3X1 + 3X2 18
X2 3
X1, X2 0
= 16
- S2
= 18
X2
- S3
=3
Solucin
Bsica No. X1
1
2
3
4
5
6
7
8
9
10
Variables
S1
X2
0
0
0
0
5!
= 10
2! (5 2)!
Funcin objetivo Z
S2
S3
No factible
0
0
0
0
0
0
0
0
0
0
0
No factible
No factible
No factible
No factible
0
0
0
0
No factible
No factible
RESTRICCIONES ACTIVAS
Son aquellas que se cumplen con exacta igualdad en la solucin ptima
RESTRICCIONES INACTIVAS
Son aquellas que tiene holgura o excedente
Las restricciones activas son las que impiden el obtener una solucin mejor
que la solucin ptima ya encontrada
RESTRICCIONES REDUNDANTES
Son aquellas que de no estar presentes en el modelo, no modificaran
la regin factible ni la solucin ptima.
X3
5
3
2
X1
4
X2
X1, X2 0
10
40
X1, X2 0
2X1 - 1.5 X2 ? )
X1, X2 0
Sea la restriccin :
a1 x1 + a2 x2 b
x2
b
a
- 1 x1
a2
a2
y graficar como:
X2
b
a2
b
a1
X1
a1
b
3. Si slo cambia el valor a1 la recta rota girando alrededor de
a2
EJERCICIO
Mx Z = 600 X1 + 1000 X2
s.a.
100 X1 + 60 X2
21,000
290
12 X1 + 30 X2 6,000
X1 , X2 0
EJEMPLO
Modelo Original
Min
Z = 5x1 + 2x2 - x3
sujeto a
-x1 + x2 - x3 16
2x1
- 2x3 30
x1 + 2x2
-8
8
x1 , x3 0 x2 0
x1 , x2 , x3 , s1 , s 2, s3 0
10
EJEMPLO
Mx Z = 18.5x1 + 20 x2
sujeto a
0.05x1 + 0.05 x2 1100
0.05x1 + 0.10 x2 1800
0.10x1 + 0.05 x2 2000
x1 , x2 0
Mx Z = 18.5x1 + 20x2 + 0s 1 + 0s 2 + 0s 3
sujeto a
0.05x1 + 0.05 x2 + s1
0.05x1 + 0.10 x2
+s2
0.10x1 + 0.05 x2
x1 , x2 , s 1 , s 2 ,
ahora el modelo tiene
y
= 1100
= 1800
+s3 = 2000
s3 0
n = 5 variables
m = 3 restricciones
0.05 0.05 1
0.05 0.10 0
0.10 0.05 0
0
1
0
0
0
1
3x5
X1
X2
S1
S2
S3
1100
1800
2000
3x1
5x1
11
12
DEFINICION
La solucin bsica de un sistema de ecuaciones lineales de n por m existe si al
eliminar (n-m) variables el sistema resultante de m por m es consistente.
Esta definicin indica que al forzar a que (n-m) variables tomen valor igual a cero puede ocurrir
que las m ecuaciones lineales resulten en un sistema sin solucin (inconsistente).
2x1 + 4 x2 + 3x3 = 8
3x1 + 6 x2 + 3x3 = 17
Si:
X2 = 0
S3 = 0
X1 = 14,666.66
X2 = 10,666.66
S1 = - 166.66
X1 = 20,000
S2 = 800
S1 = 100
13
5!
= 10
2! (5 2)!
n!
m!(n m)!
14
SOLUCIONES BSICAS
Solucin
Variables
No.
X1
X2
S1
1
0
0
1,100
2
0
22,000
0
3
0
18,000
200
4
0
40,000
-900
5
36,000
0
-700
6
20,000
0
100
7
22,000
0
0
8
8,000
14,000
0
9
18,000
4,000
0
10
14,666.6 10,666.6
-166.61
S2
Funcin objetivo
Z
$0
No factible
$360,000
No factible
No factible
$370,000
No factible
$428,000
$413,000
No factible
S3
1,800
-400
0
-2,200
0
800
900
0
500
0
2,000
900
1,100
0
-1,600
0
-200
500
0
0
X2
4
Mx Z = 18.5x1 + 20 x2
sa.
0.05x1 + 0.05 x2 1100
0.05x1 + 0.10 x2 1800
0.10x1 + 0.05 x2 2000
40
x1 , x2 0
30
2
20
8
3
10
10
Regin
Factible
9
X1
6
10
7
20
5
30
15
EJEMPLO
x1 , x2 , x3 , x4 , x5 0
16
m = 1 variable bsica
Sol.Bas
1
2
3
4
5
6
X1
90
0
0
0
0
0
X2
0
30
0
0
0
0
X3
0
0
16
0
0
0
X4
0
0
0
15
0
0
X5
0
0
0
0
30
0
S
0
0
0
0
0
90
Z
450
-180
90
-75
360
0
17
X2
S1 S2
0.05 0.05 1
0.05 0.10 0
0.10 0.05 0
0
1
0
S3
0
0
1
3x5
X1
X2
S1
S2
S3
1100
1800
2000
3x1
5x1
En cada paso del algoritmo se resuelven simultneamente las m
ecuaciones que conforman un vrtice para identificarlo. Se verifica si el
vrtice es el ptimo, si no lo es, se pasa a otro vrtice adyacente.
El algoritmo asegura que en el siguiente vrtice, la funcion objetivo no
tendr un valor peor que en el vrtice anterior
18
PROCEDIMIENTO
3. Verificar Optimalidad
La solucin es ptima si:
La funcin objetivo no puede mejorar de valor al incrementar
el valor de cualquiera de las Variables No Basicas
4. Identificar Nuevas variables bsica y No bsica
Nueva VB : la VNB que mejora ms la funcin objetivo.
Nueva VNB: la VB que se hace igual a 0
al tomar la nueva VB el mximo valor posible.
5. Regresar al paso 2.
19
EJEMPLO
En forma original:
Mx Z =
sujeto a:
En Forma estndar:
10x1 + 14x2
Mx Z =
sujeto a:
4x1 + 6x2 24
2x1 + 6x2 20
x1 , x2 0
10x1 + 14x2 + 0s 1 + 0s 2
4x1 + 6x2 + 1s 1 + 0s 2 = 24
2x1 + 6x2 + 0s 1 + 1s 2 = 20
x1 , x2 ,
s1 , s2 0
Inicio:
Base (VBs)
s 1 = 24
s 2 = 20
VNBs
x1 = 0
x2 = 0
Z=0
(1)
No estamos sobre el vrtice ptimo !
Variable que entra a la base es x2
x2 4
x2 3.33
20
1ra iteracin:
Base (VBs)
s1 = 4
x2 = 3.33
VNBs
x1 = 0
s2 = 0
Z = 46.66
X2 = (20 - 2x1 - s 2 ) / 6
S1 = 24 - 4x1 - 6 (1/6 (20 - 2x1 - s 2 ))
Z = 0 + 10 x1 + 14 (1/6 (20 - 2x1 - s 2 ))
X1 10
X1 2
21
2da iteracin:
Base (VBs)
x1 = 2
x2 = 2.66
VNBs
s1 = 0
s2 = 0
Z = 57.33
s2 - 4
s2 8
3ra iteracin:
Base (VBs)
x1 = 6
s2 = 8
VNBs
s1 = 0
x2 = 0
Z = 60
22
23
(maximizacion)
24
TABLA INICIAL
En Forma estndar:
Mx Z =
sujeto a:
10x1 + 14x2
Mx Z =
sujeto a:
4x1 + 6x2 24
2x1 + 6x2 20
x1 , x2 0
CB
0
0
CB
0
0
CB
0
0
Cj
base
S1
S2
Zj
Cj - Zj
Cj
base
S1
S2
Zj
Cj - Zj
Cj
base
S1
S2
Zj
Cj - Zj
10x1 + 14x2
+ 0s1 + 0s2
10
X1
4
2
14
X2
6
6
0
S1
1
0
0
S2
0
1
bj
24
20
0
10
X1
4
2
0
10
14
X2
6
6
0
14
0
S1
1
0
0
0
0
S2
0
1
0
0
bj
24
20
0
10
X1
4
2
0
10
14
X2
6
6
0
14
0
S1
1
0
0
0
0
S2
0
1
0
0
bj
24
20
pivote
4
3.33
cocientes
la tabla no es ptima!
25
1ra iteracin:
CB
0
14
Cj
base
S1
X2
Zj
Cj - Zj
bj
10
X1
3.33 0.33
14
X2
0
S1
0
S2
0.166
se divide el rengln
del pivote entre l
CB
0
14
Cj
base
S1
X2
Zj
Cj - Zj
10
bj
X1
4
2
3.33 0.33
14
X2
0
1
0
S1
1
0
0
S2
-1
0.166
renglon anterior 24
4
6
1
0
- valor asociado -6 (3.33 0.33
1
0
0.166)
al pivote por el
rengln actualizado del pivote
CB
0
14
Cj
base
S1
X2
Zj
Cj - Zj
10
bj
X1
4
2
3.33 0.33
46.66 4.66
5.33
14
X2
0
1
14
0
pivote
0
S1
1
0
0
0
0
S2
-1
0.166
2.33
-2.33
2
10
cocientes
( s1 = 0 es la variable que sale )
26
2da iteracin:
CB
10
14
Cj
base
X1
X2
Zj
Cj - Zj
bj
2
10
X1
1
14
X2
0
0
S1
0.5
0
S2
-0.5
se divide el renglon
del pivote entre l
CB
10
14
Cj
base
X1
X2
Zj
Cj - Zj
10
bj
X1
2
1
2.66 0
CB
10
14
Cj
base
X1
X2
Zj
Cj - Zj
10
bj
X1
2
1
2.66 0
57.24 10
0
14
X2
0
1
0
S1
0.5
-.166
0
S2
-0.5
0.33
1
0
0
0.5
0.166
-0.5 )
14
X2
0
1
14
0
0
S1
0.5
-.166
2.66
-2.66
0
S2
-0.5
0.33
-.33
0.33
pivote
(X2 = 0 es la variable que sale )
27
3ra iteracin:
CB
10
0
Cj
base
X1
S2
Zj
Cj - Zj
bj
10
X1
14
X2
0
S1
0
S2
-0.5
se divide el renglon
del pivote entre l
CB
10
0
Cj
base
X1
S2
Zj
Cj - Zj
bj
6
8
renglon anterior 2
- valor asociado +.5(8
al pivote x
CB
10
0
Cj
base
X1
S2
Zj
Cj - Zj
bj
6
8
60
10
X1
1
0
1
0
10
X1
1
0
10
0
14
X2
1.5
3
0
S1
0.25
-0.5
0
0.5
3
-0.5
rengln actualizado del pivote
14
X2
1.5
3
15
-1
0
S1
0.25
-0.5
2.5
-2.5
0
S2
0
1
-0.5
1 )
0
S2
0
1
0
0
28
CB
BASE
bj
XB
Valor de las
variables
bsicas
CN
XN
tasas de sustitucin
ZJ
CJ - ZJ
Donde:
XB = conjunto de nombres de las variables bsicas
XN = conjunto de nombres de las variables no bsicas
CB = vector de coeficientes de las variables bsicas en la funcin objetivo
CN = vector de coeficientes de las variables no bsicas en la funcin objetivo
bj = valor de las variables bsicas
El rengln marcado como Zj resulta de multiplicar cada valor en la columna CB por cada valor
de la columna bj y por cada valor de la columna XN.
El rengln marcado como Cj Zj resulta de restar cada valor en el renglon Zj de cada valor en
el rengln CN.
En cada iteracin del procedimiento, una variable que reemplaza a otra ocupa el lugar que sta
tena.
29
30
PROCEDIMIENTO
1. Encontrar una Solucion Basica Factible inicial
Convirtiendo las m restricciones en igualdades e identificando las
columnas de una matriz identidad de m x m.
2. Construir la Tabla Inicial y verificar Optimalidad (ver paso 5)
3. Identificar Nueva Variable Bsica (NVB) y Nueva Variable No Bsica (NVNB)
NVB :
(maximizacion)
(minimizacion)
NVNB:
4. Actualizar la Tabla
- Reemplazar el nombre de la columna de la NVB por el nombre de la NVNB
- Identificar elemento Pivote
- Invertir el valor nmerico del Pivote
- El rengln actualizado de NVB se obtiene al dividirlo entre el pivote
- La columna actualizada de NVNB se obtiene al dividirla entre (-pivote)
- Otros renglones se obtienen por:
Nuevo renglon = Renglon anterior [elemento en columna del pivote] x renglon de NVB
- Calcular Zj como la suma de productos de CB por cada una de las columnas de la tabla.
5. Verificar Optimalidad
Si el modelo es de maximizacin:
La base es ptima si todos los valores de Cj - Zj son cero o negativos.
Si el modelo es de minimizacin:
La base es ptima si todos los valores de Cj - Zj son cero o positivos.
31
6. Volver al paso 3
32
EJEMPLO
En Forma estndar:
Mx Z =
sujeto a:
10x1 + 14x2
Mx Z =
sujeto a:
4x1 + 6x2 24
2x1 + 6x2 20
x1 , x2 0
CB
0
0
CB
0
0
CB
0
0
Cj
base
S1
S2
Zj
Cj - Zj
Cj
base
S1
S2
Zj
Cj - Zj
Cj
base
S1
S2
Zj
Cj - Zj
+ 0s1 + 0s2
10
X1
4
2
14
X2
6
6
bj
24
20
0
10
X1
4
2
0
10
14
X2
6
6
0
14
bj
24
20
0
10
X1
4
2
0
10
14
X2
6
6
0
14
bj
24
20
10x1 + 14x2
4
3.33
pivote
cocientes
la tabla no es ptima!
33
1ra iteracin:
Primero se divide el renglon del pivote entre l
CB
0
14
CB
0
14
Cj
base
S1
X2
Zj
Cj - Zj
Cj
base
S1
X2
Zj
Cj - Zj
bj
10
X1
0
S2
3.33 0.33
0.166
10
bj
X1
4
2
3.33 0.33
0
S2
-1
0.166
renglon anterior
24
4
- valor asociado -6
(3.33 0.33 )
al pivote por el rengln actualizado del pivote
CB
0
14
Cj
base
S1
X2
Zj
Cj - Zj
10
bj
X1
4
2
3.33 0.33
46.66 4.66
5.33
0
S2
-1
0.166
2.33
-2.33
pivote
2
10
cocientes
( s1 = 0 es la variable que sale )
34
2da iteracin:
Primero se divide el renglon del pivote entre l
CB
10
14
CB
10
14
Cj
base
X1
X2
Zj
Cj - Zj
Cj
base
X1
X2
Zj
Cj - Zj
bj
2
0
S1
0.5
0
S2
-0.5
bj
2
2.66
0
S1
0.5
-.166
0
S2
-0.5
0.33
CB
10
14
Cj
base
X1
X2
Zj
Cj - Zj
bj
2
2.66
57.24
0
S1
0.5
-.166
2.66
-2.66
0
S2
-0.5
0.33
-.33
0.33
pivote
(X2 = 0 es la variable que sale )
35
3ra iteracin:
Primero se divide el renglon del pivote entre l
CB
10
0
CB
10
0
Cj
base
X1
S2
Zj
Cj - Zj
Cj
base
X1
S2
Zj
Cj - Zj
bj
0
S1
14
X2
-0.5
bj
6
8
0
S1
0.25
-0.5
14
X2
1.5
3
renglon anterior
2
0.5
- valor asociado +.5 (8
-0.5 )
al pivote x rengln actualizado del pivote
CB
10
0
Cj
base
X1
S2
Zj
Cj - Zj
bj
6
8
60
0
S1
0.25
-0.5
2.5
-2.5
14
X2
1.5
3
15
-1
Esta tabla es la ptima !
36
XN = [S 1 X2]
CBT = [10 0]
CNT = [0 14]
B = [4
[2
N = [1
[0
0]
1]
6]
6]
4(1) 0 (2) = 4
[
[-
0]
1]
B-1N
[
[-
0] [1 6] = [ 3/2 ]
1] [0 6]
[ - 3 ]
B-1b
[
[-
0] [24]
1] [20]
[6]
[8]
Y expresamos XB y Z en funcin de XN
XB
= [X1] =
[S2 ]
[6] - [
[8] [-
37
CB
BASE
bj
C NT
XNT
XB
B-1b
B-1N
ZJ
CBT B1
b
CBT B-1N
CNT - CBT B-1N
CJ - ZJ
B-1b
B-1N
es decir
X1 = 6 - S1 3/2 X2
S2 = 8 + S1 3 X2
Z = 60 5/2 S1 X2
Estas son expresiones de las variables bsicas y de la variable de resultado en funcin de las
variables no bsicas. Los coeficientes de las variables no bsicas en estas expresiones
corresponden a los coeficientes de la matriz B-1N y se les llama tasas de sustitucin porque
representan las tasas a las que una variable aumenta o disminuye cuando una variable no bsica
la reemplaza. Por ejemplo si X2 toma valor unitario la variable X1 debe reducir su valor en 1.5
unidades.
38
La condicin de optimalidad para un modelo de PL del tipo maximizar, establece que si los
coeficientes de [CNT - CBT B-1N ] son todos negativos, como por ejemplo en
Z = 60 5/2 S1 X2
entonces el aumentar de valor a una variable bsica no mejorar el valor de la variable de
resultado Z y por tanto la ltima solucin bsica encontrada es la ptima.
Qu establecen las ecuaciones ?
Supongamos que la variable no bsica X2 incrementase su valor de 0 a 1. Entonces ocurriran
simultneamente los siguiente
la nueva variable no bsica (aquella que toma el valor cero cuando la NVB toma el
39
MULTIPLES OPTIMOS
Ocurre si para una(s) variable(s) No Bsica(s)
1. Cj - Zj =0 ; y
2. Existe alguna tasa de sustitucin positiva en la tabla ptima
MINIMIZACION
1. La regla para la variable que entra a la Base cambia:
elegir la que tiene el valor Cj - Zj ms negativo
2. La tabla ptima se identifica cuando todos los valores de Cj - Zj son
cero o psitivos.
Alternativamente se puede multiplicar Z por (-1)
40
Mtodo de las M
Se asignan nmeros negativos grandes "M" a los coeficientes de las
variables artificiales en la funcin objetivo. (Maximizar)
Si en la solucin bsica ptima existen variables artificiales con valor
diferente de cero entonces el modelo de PL no tiene solucin
41
EJEMPLO
MTODO DE LAS Ms
- Minimizacin
- Todo tipo de restriccin
- Optimo en vrtice degenerado
Modelo Original:
Min 4X1
sa.
3X1
4X1
X1
+ X2
+ X2 = 3
+ 3X2 6
+ 2X2 3
X1, X2 0
Min 4X1
sa.
3X1
4X1
X1
X1,
+ X2 + 0S 1 + 0S 2 + MA1 + MA2
+ X2
+ A1
+ 3X2 - S1
+ A2
+ 2X2
+ S2
X2 , S1,
S2 , A1 ,
= 3
= 6
= 3
A2
42
NOTAS
Si en la solucin bsica ptima de la primera etapa existen variables
artificiales con valor diferente de cero entonces el modelo original de PL no
tiene solucin.
Si en la solucin bsica ptima de la primera etapa existen variables
artificiales con valor igual a cero entonces se deben intercambiar por
variables no basicas que no sean artificiales (aun si el pivote resultase
negativo). Esto con la intencin que en la base no hayan variables artificiales.
Si aun as, permanecen variables artificiales, entonces representan
restricciones redundantes y a estas restricciones se las elimina del modelo.
43
EJEMPLO
- Minimizacin
- Todo tipo de restriccin
- Optimo en vrtice degenerado
Modelo Original:
Min 4X1
sa.
3X1
4X1
X1
+ X2
+ X2 = 3
+ 3X2 6
+ 2X2 3
X1, X2 0
X2 , S1,
S2 , A1 ,
A2
= 3
= 6
= 3
0
+ X2 + 0S1 + 0S2
+ X2
+ 3X2 - S1
+ 2X2
+ S2
= 3
= 6
= 3
X2 , S1,
S2 ,
44
EJEMPLO 2
Modelo Original:
Min 2X1 + X2
sa.
X1 + 2X2 2
X2 2
3X1 + X2 = 6
X1, X2 0
X2 , S3,
S4, S5 , A6
= 2
= 2
= 6
0
X2 , S3,
S4, S5
= 2
= 2
= 6
0
45
Primera Fase:
CB
0
0
1
CB
0
0
0
Cj
base
S3
S4
A6
Zj
Cj - Zj
Cj
base
S3
S4
X1
Zj
Cj - Zj
bj
2
2
6
6
0
X1
1
0
3
3
-3
0
X2
2
1
1
1
-1
0
S5
0
0
-1
-1
1
bj
0
2
2
0
1
A6
-1/3
0
1
/3
0
1
0
X2
5
/3
1
1
/3
0
0
0
S5
1
/3
0
-1/3
0
0
1
X2
5
/3
1
1
/3
2
/3
1
/3
0
S5
1
/3
0
-1/3
-2/3
2
/3
2
2
tabla optima !
Segunda Fase:
CB
0
0
2
Cj
base
S3
S4
X1
Zj
Cj - Zj
bj
0
2
2
4
tabla optima !
46
1. PROBLEMAS NO ACOTADOS
- La regin factible carece de frontera; y
- La funcion objetivo puede ser mejorada sin lmites
En la tabla simplex se detecta cuando las tasas de sustitucion de la columna
de la variable que debe entrar a la base tienen valor cero negativo.
Por tanto no podria calcularse la siguiente base.
2. INCONSISTENCIA
Cuando las restricciones identifican areas mutuamente exclusivas.
No existe entonces un conjunto de valores para las variables de decisin que
satisfaga simultaneamente todas las restricciones.
En la tabla simplex se detecta cuando existen variables artificiales con valor
diferente de cero en el ptimo.
47