Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2 PROGRAMACION LINEAL:
METODOS DE SOLUCION
1. METODO GRAFICO
1
2.2.1 METODO GRAFICO
(modelos con 2 variables)
NOTAS:
2
METODO GRAFICO
Ejemplo:
Máx X1 + 2X2
sa.
4X1 + 2X2 ≤ 16
3X1 + 3X2 ≥ 18
X2 ≥ 3 X1, X2 ≥ 0
3
Modelo en forma estándar
Máx X1 + 2X2
sa.
4X1 + 2X2 + S1 = 16
3X1 + 3X2 - S2 = 18
X2 - S3 =3
5 5!
= = 10
2
2! (5 − 2)!
4
2.2.2 ANÁLISIS POSTERIOR A LA RESOLUCIÓN
RESTRICCIONES ACTIVAS
RESTRICCIONES INACTIVAS
Las restricciones activas son las que impiden el obtener una solución mejor
que la solución óptima ya encontrada
RESTRICCIONES REDUNDANTES
5
MÉTODO GRÁFICO con 3 variables
X3
5
3
1 2
X1
X2
6
2.2.3 CASOS ESPECIALES
Máx 2X1 + X2
sa.
X1 - X2 ≤ 10
2X1 - X2 ≤ 40 X1, X2 ≥ 0
7
2.2.4 ANÁLISIS GRÁFICO
Sea la restricción : a1 x1 + a2 x2 ≤ b
b a
que se puede escribir como: x2 ≤ - 1 x1
a2 a2
y graficar como:
X2
b
a2
b
X1
a1
b
2. Si sólo cambia el valor a2 la recta rota girando alrededor de
a1
b
3. Si sólo cambia el valor a1 la recta rota girando alrededor de
a2
8
EJERCICIO
X1 + X2 ≤ 290
12 X1 + 30 X2 ≤ 6,000 X1 , X2 ≥ 0
9
2.2.5 FORMA ESTANDARD
(Se usa para resolver un modelo por medio del algoritmo Simplex)
EJEMPLO
x1 , x3 ≥ 0 x2 ≤ 0 x1 , x2 , x3 , s1 , s 2, s3 ≥ 0
10
EJEMPLO
Máx 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
11
Al expresar un modelo en forma estándar se convierte el conjunto de restricciones de un
modelo de programación lineal a un sistema de ecuaciones lineales simultáneas.
Un sistema de ecuaciones lineales simultaneas de m por n puede tener solución o no. En general
puede ocurrir uno de tres situaciones. Que el sistema
En un modelo de programacion lineal en forma estándar siempre se cumple que m < n. Y salvo
casos excepcionales, supondremos que el sistema de ecuaciones del modelo tendrá infinitas
soluciones. Cada una de éstas corresponde a un punto de la región factible.
DEFINICION
Se denomina punto extremo de la región factible a aquel punto que no puede
expresarse como una combinación lineal convexa de otros puntos en esta
región.
PROPOSICION
La solución óptima de un modelo de programación lineal, si existe y no es
ilimitada, siempre corresponde a un punto extremo de la región factible.
Esta proposición es muy importante. Con base en ella, basta solo con tener un método que
evalúe la función objetivo de un modelo de programacion lineal en los puntos extremos de la
región factible.
DEFINICION
La solución básica de un sistema de ecuaciones lineales de n por m, si existe, es
una solución en la que se forza a que (n-m) variables tomen valor igual a cero.
A las (n-m) variables forzadas a tomar valor igual a cero se les llama variables no básicas.
El valor de las variables restantes resulta de resolver el sistema de ecuaciones lineales. A estas
variables se les llama variables básicas.
12
DEFINICION
La solución básica 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 definición 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 solución (inconsistente).
DEFINICION
La solución básica de un sistema de ecuaciones lineales de n por m se dice
factible (y se denota por SBF) si todas las variables toman valor no negativo.
S2 = 0 X1 = 14,666.66
S3 = 0 ⇒ X2 = 10,666.66 Esta es una Solucion BASICA No Factible
S1 = - 166.66
Si:
X2 = 0 X1 = 20,000
S3 = 0 ⇒ S2 = 800 Esta es una Solución BASICA Factible
S1 = 100
PROPOSICION
Cada SBF de un modelo de programación lineal corresponde a un punto
extremo de su región factible.
13
En el ejemplo, el máximo número de soluciones BASICAS es igual al número de parejas que
se pueden formar con 5 variables:
5 5!
= = 10
2
2! (5 − 2)!
n n!
m = m!(n − m)!
14
SOLUCIONES BÁSICAS
X2
4 Máx Z = 18.5x1 + 20 x2
40 sa.
0.05x1 + 0.05 x2 ≤ 1100
0.05x1 + 0.10 x2 ≤ 1800
0.10x1 + 0.05 x2 ≤ 2000 x1 , x2 ≥ 0
30
20
8
3
10
10
Región
Factible 9
X1
1 6 7 5
10 20 30
15
EJEMPLO
sujeto a
16
Modelo en Forma Estándar
sujeto a
Sol.Bas X1 X2 X3 X4 X5 S Z
1 90 0 0 0 0 0 450
2 0 30 0 0 0 0 -180
3 0 0 16 0 0 0 90
4 0 0 0 15 0 0 -75
5 0 0 0 0 30 0 360
6 0 0 0 0 0 90 0
17
2.2.6 METODO SIMPLEX (George Dantzig, 1947)
METODOLOGIA
X1 X2 S1 S2 S3
18
2.2.6.1 METODO SIMPLEX -ALGEBRAICO
PROCEDIMIENTO
3. Verificar Optimalidad
5. Regresar al paso 2.
19
EJEMPLO
Inicio:
S1 = 24 - 4x1 - 6x2
S2 = 20 - 2x1 - 6x2 (1)
Z = 0 + 10x1 + 14x2 No estamos sobre el vértice óptimo !
Variable que entra a la base es x2
S1 = 24 - 6x2 ≥ 0 x2 ≤ 4
S2 = 20 - 6x2 ≥ 0 x2 ≤ 3.33 x2 entra a la base con valor x2 =
3. 33
( s2 = 0 es la variable que sale )
20
1ra iteración:
X2 = 3.33 - 0.33x1 ≥ 0 X1 ≤ 10
S1 = 4 - 2x1 ≥ 0 X1 ≤ 2 x1 entra a la base con valor x1 = 2
( s1 = 0 es la variable que sale )
21
2da iteración:
X1 = (4 + s2 - s 1 ) / 2 = 2 + 0.50s 2 - 0.5s 1
X2 = 3.33 - 0.33 ( 2 +.50s 2 - 0.5s 1 )-0.16s 2 = 2.66 - 0.33s 2 + 0.16s 1
Z = 46.66 + 5.33 (2 +0.50s 2 - 0.5s 1) -2.33s 2 = 57.3 + 0.33s2 - 2.66 s1
X1 = 2 + 0.50s 2 ≥ 0 s2 ≥ - 4
X2 = 2.66 - 0.33s 2 ≥ 0 s2 ≤ 8 s 2 entra a la base con valor s 2 = 8
( X2 = 0 es la variable que sale )
3ra iteración:
22
2.2.6.1 METODO SIMPLEX - MATRICIAL
23
2.2.6.2 METODO SIMPLEX -TABULAR
PROCEDIMIENTO
4. Actualizar la Tabla
6. Volver al paso 3
24
TABLA INICIAL
En Forma estándar:
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
0 S1 24 4 6 1 0
0 S2 20 2 6 0 1
Zj
Cj - Zj
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
0 S1 24 4 6 1 0
0 S2 20 2 6 0 1
Zj 0 0 0 0 0
Cj - Zj 10 14 0 0
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
0 S1 24 4 6 1 0 4
0 S2 20 2 6 0 1 3.33
Zj 0 0 0 0 0
Cj - Zj 10 14 0 0
pivote cocientes
la tabla no es óptima!
25
1ra iteración:
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
0 S1
14 X2 3.33 0.33 1 0 0.166
Zj
Cj - Zj
se divide el renglón
del pivote entre él
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
0 S1 4 2 0 1 -1
14 X2 3.33 0.33 1 0 0.166
Zj
Cj - Zj
renglon anterior 24 4 6 1 0
- valor asociado -6 (3.33 0.33 1 0 0.166)
al pivote por el renglón actualizado del pivote
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
0 S1 4 2 0 1 -1 2
14 X2 3.33 0.33 1 0 0.166 10
Zj 46.66 4.66 14 0 2.33
Cj - Zj 5.33 0 0 -2.33
pivote cocientes
26
2da iteración:
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
10 X1 2 1 0 0.5 -0.5
14 X2
Zj
Cj - Zj
se divide el renglon
del pivote entre él
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
10 X1 2 1 0 0.5 -0.5
14 X2 2.66 0 1 -.166 0.33
Zj
Cj - Zj
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
10 X1 2 1 0 0.5 -0.5
14 X2 2.66 0 1 -.166 0.33
Zj 57.24 10 14 2.66 -.33
Cj - Zj 0 0 -2.66 0.33
pivote
S2 entra a la base con valor S2 = 8 (X2 = 0 es la variable que sale )
27
3ra iteración:
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
10 X1
0 S2 8 0 3 -0.5 1
Zj
Cj - Zj
se divide el renglon
del pivote entre él
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
10 X1 6 1 1.5 0.25 0
0 S2 8 0 3 -0.5 1
Zj
Cj - Zj
Cj 10 14 0 0
CB base bj X1 X2 S1 S2
10 X1 6 1 1.5 0.25 0
0 S2 8 0 3 -0.5 1
Zj 60 10 15 2.5 0
Cj - Zj 0 -1 -2.5 0
28
2.2.6.2 METODO SIMPLEX -TABULAR SIMPLIFICADO
Para simplificar el procedimiento anterior se va a trabajar con una tabla más sencilla en la que
en cada renglón se representa a las variables básicas y en cada columna se representa a las
variables no básicas. En esta tabla las celdas sombreadas no se utilizan durante el
procedimiento.
CN
BASE bj XN
Valor de las
CB XB variables
básicas
tasas de sustitución
ZJ
CJ - ZJ
Donde:
El renglón 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 renglón marcado como Cj – Zj resulta de restar cada valor en el renglon Zj de cada valor en
el renglón CN.
En cada iteración del procedimiento, una variable que reemplaza a otra ocupa el lugar que ésta
tenía.
29
30
PROCEDIMIENTO
4. Actualizar la Tabla
- 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 maximización:
La base es óptima si todos los valores de Cj - Zj son cero o negativos.
Si el modelo es de minimización:
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 estándar:
Cj 10 14
CB base bj X1 X2
0 S1 24 4 6
0 S2 20 2 6
Zj
Cj - Zj
Cj 10 14
CB base bj X1 X2
0 S1 24 4 6
0 S2 20 2 6
Zj 0 0 0
Cj - Zj 10 14
Cj 10 14
CB base bj X1 X2
0 S1 24 4 6 4
0 S2 20 2 6 3.33
Zj 0 0 0
Cj - Zj 10 14
pivote cocientes
la tabla no es óptima!
33
1ra iteración:
Cj 10 0
CB base bj X1 S2
0 S1
14 X2 3.33 0.33 0.166
Zj
Cj - Zj
Cj 10 0
CB base bj X1 S2
0 S1 4 2 -1
14 X2 3.33 0.33 0.166
Zj
Cj - Zj
renglon anterior 24 4
- valor asociado -6 (3.33 0.33 )
al pivote por el renglón actualizado del pivote
Cj 10 0
CB base bj X1 S2
0 S1 4 2 -1 2
14 X2 3.33 0.33 0.166 10
Zj 46.66 4.66 2.33
Cj - Zj 5.33 -2.33
pivote cocientes
34
2da iteración:
Cj 0 0
CB base bj S1 S2
10 X1 2 0.5 -0.5
14 X2
Zj
Cj - Zj
Cj 0 0
CB base bj S1 S2
10 X1 2 0.5 -0.5
14 X2 2.66 -.166 0.33
Zj
Cj - Zj
Cj 0 0
CB base bj S1 S2
10 X1 2 0.5 -0.5
14 X2 2.66 -.166 0.33
Zj 57.24 2.66 -.33
Cj - Zj -2.66 0.33
pivote
S2 entra a la base con valor S2 = 8 (X2 = 0 es la variable que sale )
35
3ra iteración:
Cj 0 14
CB base bj S1 X2
10 X1
0 S2 8 -0.5 3
Zj
Cj - Zj
Cj 0 14
CB base bj S1 X2
10 X1 6 0.25 1.5
0 S2 8 -0.5 3
Zj
Cj - Zj
Cj 0 14
CB base bj S1 X2
10 X1 6 0.25 1.5
0 S2 8 -0.5 3
Zj 60 2.5 15
Cj - Zj -2.5 -1
36
Ahora comparemos esta tabla óptima ya encontrada, con la solución del
método SIMPLEX con matrices.
B = [4 0] N = [1 6]
[2 1] [0 6]
¦ B¦ = 4(1) – 0 (2) = 4
B-1 = [¼ 0]
[-½ 1]
B-1N = [¼ 0] [1 6] = [ ¼ 3/2 ]
[-½ 1] [0 6] [ -½ 3 ]
Y expresamos XB y Z en función de XN
3
XB = [X1] = [6] - [ ¼ /2] [S1 ] = [ 6 - ¼S 1 - 3/2 X2 ]
[S2 ] [8] [-½ 3 ] [X2] [ 8 + ½S 1 – 3X2 ]
37
Por tanto si comparamos ambas soluciones óptimas encontramos lo
siguiente
C NT
BASE bj XNT
CB XB B-1b B-1N
XB = 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 básicas y de la variable de resultado en función de las
variables no básicas. Los coeficientes de las variables no básicas en estas expresiones
corresponden a los coeficientes de la matriz B-1N y se les llama tasas de sustitución porque
representan las tasas a las que una variable aumenta o disminuye cuando una variable no básica
la reemplaza. Por ejemplo si X2 toma valor unitario la variable X1 debe reducir su valor en 1.5
unidades.
38
La condición 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
39
2.2.6.3 METODO SIMPLEX -CASOS ESPECIALES
MULTIPLES OPTIMOS
1. Cj - Zj =0 ; y
2. Existe alguna tasa de sustitución positiva en la tabla óptima
MINIMIZACION
40
MODELOS CON RESTRICCIONES ≥ y =
Método de las M
41
EJEMPLO MÉTODO DE LAS Ms
- Minimización
- Todo tipo de restricción
- Optimo en vértice degenerado
Modelo Original:
Min 4X1 + X2
sa.
3X1 + X2 = 3
4X1 + 3X2 ≥ 6
X1 + 2X2 ≤ 3 X1, X2 ≥ 0
X1, X2 , S1, S2 , A1 , A2 ≥ 0
42
Método de las 2 Fases
NOTAS
43
EJEMPLO MÉTODO DE LAS DOS FASES
- Minimización
- Todo tipo de restricción
- Optimo en vértice degenerado
Modelo Original:
Min 4X1 + X2
sa.
3X1 + X2 = 3
4X1 + 3X2 ≥ 6
X1 + 2X2 ≤ 3 X1, X2 ≥ 0
Min A1 + A2
sa.
3X1 + X2 + A1 = 3
4X1 + 3X2 - S1 + A2 = 6
X1 + 2X2 + S2 = 3
X1, X2 , S1, S2 , A1 , A2 ≥ 0
X1, X2 , S1, S2 , ≥ 0
44
EJEMPLO 2 MÉTODO DE LAS DOS FASES
Modelo Original:
Min 2X1 + X2
sa.
X1 + 2X2 ≤ 2
X2 ≤ 2
3X1 + X2 = 6 X1, X2 ≥ 0
45
Primera Fase:
Cj 0 0 0
CB base bj X1 X2 S5
0 S3 2 1 2 0 2
0 S4 2 0 1 0
1 A6 6 3 1 -1 2
Zj 6 3 1 -1
Cj - Zj -3 -1 1
Cj 1 0 0
CB base bj A6 X2 S5
0 S3 0 -1/3 5
/3 1
/3
0 S4 2 0 1 0
1 1
0 X1 2 /3 /3 -1/3
Zj 0 0 0 0
Cj - Zj 1 0 0 tabla optima !
Segunda Fase:
Cj 1 0
CB base bj X2 S5
5 1
0 S3 0 /3 /3
0 S4 2 1 0
1
2 X1 2 /3 -1/3
2
Zj 4 /3 -2/3
1 2
Cj - Zj /3 /3 tabla optima !
46
2.2.7. METODO SIMPLEX - PROBLEMAS SIN SOLUCION
1. PROBLEMAS NO ACOTADOS
2. INCONSISTENCIA
47