Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sesion 5
Sesion 5
Parte 1
21 de junio de 2021
1. Introducción
Como se verifico en la sección anterior, es posible resolver gráficamente los problemas de programación
lineal cunado no están consideradas mas de tres variables de decisión. Es importante encontrar proce-
dimientos que sean suficientemente exhaustivo que permitan la resolución de problemas para cualquiera
que sea sus dimensiones, ya sea a nivel del número de variables, ya sea a nivel de numero de restricciones
envueltas. Uno de esos procedimientos, que se debe a George B. Dantzing, es llamado metodo Simplex.
El método Simplex es un método iterativo que recorre los puntos extremos del conjunto de soluciones ad-
misibles del problema. Este método esta fromado por un grupo de criterios para escoger de las soluciones
basicas que mejoren el valor de la funcion objetivo.
En esta seccion, sera presentada la froma habitual del algoritmo primal del método Simplex y sera
referencia a su forma revisada. Una mejor forma de iniciar el estudio de este método es a través de
ejemplos simples siguientes:
El primer paso en este método consiste en escribir estándar a través de la introducción de variables de
holgura
Maximizar: z = x1 + 2x2 + 2x3
sujeto a: x1 + 3x2 + x3 + x4 = 12
2x1 − x2 + 2x3 + x5 = 10
x1 , x2 , x3 .x4 , x5 ≥ 0
En terminos matriciales tenemos
Maximizar: z = ct x
sujeto a: Ax = b (1)
x≥0
1
donde
x
1
x
2
1 3 1 1 0 h i 12
, x = x3 , ct = 1
A= 2 2 0 0 ,b =
2 −1 2 0 1 10
x4
x5
Definición 1 Sea el sistema Ax = b definido en (1) y AB ∈ R2×2 una submatriz base (o básica)
de A, entonces las variables asociadas a la submatriz AB , son denominadas variables básicas. Definida
la submatriz AB , las restantes columnas en A ∈ R2×3 forman una submatriz designada por submatriz
no básica, denotada por AN ∈ R2×3 . Las varibales asociadas a esta submatriz AN son denominadas
variables no básicas.
Para obtener una solucion vamos a fijar 3 variables a cero (son las llamadas variables no básicas),
para simplificar, vamos a considerar x1 , x2 y x3 , y resolver el sistema en relacion a las restantes (variables
basicas) x4 y x5 . De este modo la matriz A puede ser separada en dos partes. Por el hecho de que la
parte relativa a las variables basicas tienen que formar una base, AB ∈ R2×2 , donde AB = [ 10 01 ]. La par-
te restante, cosntituidas por las columnas de las variables no basicas es AN ∈ R2×3 , donde AN = 12 −1
3 1
2 .
De acuerdo de esta division (2), dividimos las variables tambien en xB y xN , donde xB = [x1 x2 x3 ]t y
xB = [x4 x5 ]t , tenemos por lo tanto que:
h it
x = xB xN (3)
Min/Max: z = ct x
sujeto a: Ax = b
x≥0
donde:
2
Consideramos que rango[A|b] = rango(A) = m, esto es, el numero de filas o columnas linealmente
independientes de la matriz A es m, igual al numero de restricciones. Se considera la matriz A, como
h i
A = AB AN en el sentido (2). Esta división permite efectuar una clasificación de las variables en
básicas (las correspondientes a las columnas de la submatriz AB ∈ Rm×m ) y las variables no básicas (las
restantes n − m variables) correspondientes las columnas de AN ∈ Rm×(n−m) .
Si xN = 0, entonces xB = A−1
B b y x = (xB , 0) es llamada solucion basica del sistema Ax = b.
x1 + x2 ≤ 5
2x1 + 3x2 ≤ 12
x1 , x2 ≥ 0
Al introducir las variables de holgura x3 y x4 , se tiene la forma estándar siguiente:
x1 + x2 + x3 = 5
2x1 + 3x2 + x4 = 12
x1 , x2 , x3 , x4 ≥ 0
3
Figura 1: SBA del ejemplo 2
A cada solución básica admisible le corresponde una submatriz base AB ∈ R2×2 tal que A−1
B b es no
negativo. A continuación se presentan las fromas posibles de extraer AB de A. El valor de C24 = 6
corresponde al numero máximo de bases.
h i 1 1
I. Para AB = a1 a2 = , se tiene que:
2 3
x1 3 −1 5 3
xB = = A−1
B b=
=
x2 −2 1 12 2
x3 0
xN = =
x4 0
4
h i 1 1
II. Para AB = a1 a3 = , se tiene que:
2 0
x1 0 0,5 5 6
xB = = A−1 B b=
=
x3 1 −0,5 12 −1
x2 0
xN = =
x4 0
h i 1 0
III. Para AB = a1 a4 = , se tiene que:
2 1
x1 1 0 5 5
xB = = A−1 B b=
=
x4 −2 1 12 2
x2 0
xN = =
x3 0
h i 1 1
IV. Para AB = a2 a3 = , se tiene que:
3 0
x1 0 1/3 5 4
xB = = A−1 B b=
=
x2 1 −1/3 12 1
x1 0
xN = =
x4 0
h i 1 0
V. Para AB = a2 a4 = , se tiene que:
3 1
x2 1 0 5 5
xB = = A−1 B b=
=
x4 −3 1 12 −3
x1 0
xN = =
x3 0
h i 1 0
VI. Para AB = a3 a4 = , se tiene que:
0 1
x3 1 0 5 5
xB = = A−1 B b=
=
x4 0 1 12 12
x1 0
xN = =
x2 0
5
Note que las soluciones obtenidas en (I), (III), (IV), (VI) son soluciones básicas admisibles, mientras
que las soluciones obtenidas en (II) y (V) son soluciones básicas no admisibles. En la figura 1 se puede
ver el punto extremo correspondiente a cada una de las soluciones básicas admisibles.
Teorema 1 Toda solución básica del sistema Ax = b con x ≥ 0 es un punto extremo del conjunto de
soluciones básicas admisibles de S = {x ∈ Rn : Ax = b, x ≥ 0}.
Demostración
x̄ = λx̄1 + (1 − λ)x̄2
0 = λx̄1i + (1 − λ)x̄2i , i = m + 1, . . . , n
x̄1N x̄2N
son validas
Ax̄1 = b Ax̄2 = b
x̄1 ≥ 0 x̄2 ≥ 0
Esto implica que,
x̄1B x̄2B
[AB AN ] = b [AB AN ] = b
x̄1 x̄2
N N
x̄1 x̄2
B ≥ 0 B ≥ 0
x̄1N x̄2N
De las igualdades (5), se tiene
AB x̄1 = b
B
AB x̄2B = b
6
restando miembro a miembro
AB x̄1B − AB x̄2B = b − b
AB x̄1B − x̄2B = 0
Como x̄1B 6= x̄2B y por ende x̄1B − x̄2B 6= 0. Se deduce que AB = 0, que es una contradicción, pues por
hipótesis AB es una submatriz base, y por lo tanto, no singular. Por lo tanto, queda demostrado el
teorema.
Teorema 2 Si un problema de PL admite solucion optima, por lo menos un punto extremo del conjunto
de puntos admisibles es una solucion optima del problema (Se demuestra este teorema admitiendo que el
conjunto S es politopo).
Solución
Sean x1 , x2 , . . . , xP los puntos extremos del conjunto S. Entonces, por la definición de la combinacion
convexa de puntos extremos1 , para todo x ∈ S, x puede ser escrito como combinacion convexa de los
PP PP
puntos extremos x1 , x2 , . . . , xP de S, o sea, x = i=1 λi xi con i=1 λi = 1.
Luego, !
P
X
t i
c λi x = λ1 ct x1 + λ2 ct x2 + · · · + λP ct xP
i=1
P
X
ct x = λ1 ct x1 + λ2 ct x2 + · · · + λP ct xP ≥ λ1 ct x∗ + λ2 ct x∗ + · · · + λP ct x∗ = λi ct x∗ = ct x∗
i=1
Tomando extremos,
ct x∗ ≤ ct x
para toso x ∈ S. Por lo tanto, x∗ es un punto extremo y es solucion optima del problema (minimización).
Nota 3 El valor optimo de un problema de programación lineal si existe, es alcanzando un punto extremo
del conjunto S de las soluciones admisibles (factibles) y corresponde auna solución básica admisible.
Cualquier combinación lineal convexa de soluciones optimas es ademas una solucion optima y si un
problema de programación lineal posee mas de una solución optima, entonces posee una infinidad de
soluciones optimas.
1 Dadolos puntos extremos x1 , x2 , . . . , xk y el politopo S. Para todas las x ∈ S, x puede ser escrito como combinacion
convexa de los puntos extremos x1 , x2 , . . . , xk , esto es x = ki=1 λi xi , con
P Pk
i=1 λi = 1.
7
Consideremos la funcion objetivo z = ct x = ctB xB + ctN xN , teniendo en cuenta que si la solucion es
basica, asociada a la submatriz basica AB , tenemos
z = ctB A−1 t −1 t
B b − cB AB AN − cN xN (6)
Si fuera posible mejorar el valor del punto extremo actual es identificando una variable de la entrada y
otra de salida de la base, de esta forma se cambia un punto extremo para otro punto extremo adyacen-
te con mejor valor de la función objetivo. El Algoritmo Simplex examina los puntos extremos hasta
encontrar aquel que sea el mejor de los dos puntos extremos adyacentes (que es el que optimiza el valor
de la función objetivo), o hasta determinar que la solución optima ocurre a lo largo de una dirección
extrema o que el problema no tiene solución optima finita.
h it
Nota 4 Consideremos una solución básica cualquiera x = xB xN , para ser admisible, tiene que
cumplir que xB ≥ 0, xN ≥ 0. Ademas, considerando aj una columna de A asociadas a las variables no
básicas xj . Se cumplen las siguientes igualdades:
X
ctB A−1
B AN = ctB A−1
B aj xj (7)
j∈J
X
ctN xN = cj xj (8)
j∈J
X
A−1
B AN x N = A−1
B aj xj (9)
j∈J
Considerando las igualdades (7) y (8), en la función objetivo (6) dada en tenemos,
X
z = ctB A−1 ctB A−1
B b− B aj − cj xj
j∈J
X
z = ctB A−1
B b− (zj − cj ) xj (10)
j∈J
Por la nota 4, el problema de programación lineal, puede ser rescrito de la siguiente manera:
z = cB A−1
P
Min(Max): B b− j∈J (zj − cj )xj
xB = AB b − j∈J A−1
−1 P
sujeto a: B aj xj
(11)
x≥0
8
4. Criterios del Algoritmo Simplex
Considerando el problema de PL dado por (11) se tiene que:
IV. Caso contrario (problema de minimizacion), si zk −ck ≥ 0 para alguna variable no basica xk , entonces
xk puede aumentar de valor y mejorar (disminuir) el valor de la funcion objetivo. Ahora, fijando
xj = 0 para j ∈ J − {k}, obtenemos por las igualdades (10) y (11) que z = cB A−1
B b − (zk − ck )xk y
xB1 b1 a1k
x b a
B2 2 2k
. . .
. . .
. . .
= A−1 − xk
B
x Br br ark
.. .. ..
. . .
x Bm bm amk
Si A−1
B aik ≤ 0, entonces xBi aumenta a medida que xk aumenta. Para determinar el nuevo valor de
xk tenemos que al aumentar xk las varibles básicas xBi tales que A−1
B aik ≥ 0 van ha disminuir el
valor. Ası́, para asegurar que las variables básicas sean no negativas, la variable xk puede aumentar
de valor hasta una variable básica xB tomar valor cero, osea,
br bi
xk = = mı́n
ark 1≤i≤m aik
Nota 5 Se resume en forma de cuadro el método Simplex en el cuadro siguiente. En particular aplicado
al ejemplo 1.