Você está na página 1de 97

Método SIMPLEX

Método SIMPLEX
MLG521

Profesor: Cristóbal Rojas

Departamento de Ciencias de de la Ingenierı́a


Departamento de Ingenierı́a Matemática
Universidad Andrés Bello
Curso dictado en conjunto con Pamela Álvarez

MLG521
Método SIMPLEX

Programación Lineal

Vamos a resolver problemas de la siguiente forma:


Problema Lineal
Min c t x (1)
s.a Ax = b (2)
x ≥0 (3)
Método SIMPLEX

Variables de Holgura

I Si existe una restricción de la forma at x ≤ d agregamos una variable


positiva s y reemplazamos la restricción por at x + s = d.
I Si existe una restricción de la forma at x ≥ d agregamos una variable
positiva s y reemplazamos la restricción por at x − s = d.
I Si la variable xi es irrestricta, agregamos las variables positivas s1 , s2
y reemplazamos xi por s1 − s2 .
Método SIMPLEX

Variables de Holgura

I Si existe una restricción de la forma at x ≤ d agregamos una variable


positiva s y reemplazamos la restricción por at x + s = d.
I Si existe una restricción de la forma at x ≥ d agregamos una variable
positiva s y reemplazamos la restricción por at x − s = d.
I Si la variable xi es irrestricta, agregamos las variables positivas s1 , s2
y reemplazamos xi por s1 − s2 .
Método SIMPLEX

Variables de Holgura

I Si existe una restricción de la forma at x ≤ d agregamos una variable


positiva s y reemplazamos la restricción por at x + s = d.
I Si existe una restricción de la forma at x ≥ d agregamos una variable
positiva s y reemplazamos la restricción por at x − s = d.
I Si la variable xi es irrestricta, agregamos las variables positivas s1 , s2
y reemplazamos xi por s1 − s2 .
Método SIMPLEX

Soluciones Básicas

A tiene m filas y n columnas. (Asumiremos m < n).


Sea B una matriz construida con m columnas l.i. de A. Mas aún,
supongamos que A = [B|R]. Entonces tenemos que:

Ax = b ⇔ BxB + RxR = b ⇔ xB = B −1 b − B −1 RxR

Solución básica factible para Ax = b, x ≥ 0.


Decimos que x es una solución básica factible cuando

xB = B −1 b y xB ≥ 0.

Note que en este caso xR = 0.


Método SIMPLEX

Soluciones Básicas

A tiene m filas y n columnas. (Asumiremos m < n).


Sea B una matriz construida con m columnas l.i. de A. Mas aún,
supongamos que A = [B|R]. Entonces tenemos que:

Ax = b ⇔ BxB + RxR = b ⇔ xB = B −1 b − B −1 RxR

Solución básica factible para Ax = b, x ≥ 0.


Decimos que x es una solución básica factible cuando

xB = B −1 b y xB ≥ 0.

Note que en este caso xR = 0.


Método SIMPLEX

Soluciones Básicas

A tiene m filas y n columnas. (Asumiremos m < n).


Sea B una matriz construida con m columnas l.i. de A. Mas aún,
supongamos que A = [B|R]. Entonces tenemos que:

Ax = b ⇔ BxB + RxR = b ⇔ xB = B −1 b − B −1 RxR

Solución básica factible para Ax = b, x ≥ 0.


Decimos que x es una solución básica factible cuando

xB = B −1 b y xB ≥ 0.

Note que en este caso xR = 0.


Método SIMPLEX

Soluciones Básicas

A tiene m filas y n columnas. (Asumiremos m < n).


Sea B una matriz construida con m columnas l.i. de A. Mas aún,
supongamos que A = [B|R]. Entonces tenemos que:

Ax = b ⇔ BxB + RxR = b ⇔ xB = B −1 b − B −1 RxR

Solución básica factible para Ax = b, x ≥ 0.


Decimos que x es una solución básica factible cuando

xB = B −1 b y xB ≥ 0.

Note que en este caso xR = 0.


Método SIMPLEX

Soluciones Básicas

A tiene m filas y n columnas. (Asumiremos m < n).


Sea B una matriz construida con m columnas l.i. de A. Mas aún,
supongamos que A = [B|R]. Entonces tenemos que:

Ax = b ⇔ BxB + RxR = b ⇔ xB = B −1 b − B −1 RxR

Solución básica factible para Ax = b, x ≥ 0.


Decimos que x es una solución básica factible cuando

xB = B −1 b y xB ≥ 0.

Note que en este caso xR = 0.


Método SIMPLEX

Soluciones Básicas

A tiene m filas y n columnas. (Asumiremos m < n).


Sea B una matriz construida con m columnas l.i. de A. Mas aún,
supongamos que A = [B|R]. Entonces tenemos que:

Ax = b ⇔ BxB + RxR = b ⇔ xB = B −1 b − B −1 RxR

Solución básica factible para Ax = b, x ≥ 0.


Decimos que x es una solución básica factible cuando

xB = B −1 b y xB ≥ 0.

Note que en este caso xR = 0.


Método SIMPLEX

Puntos extremos

Teorema
Sea P = {x ∈ Rn : AX = b, x ≥ 0} un poliedro. Entonces:

x es un punto extremo de P ⇐⇒ x es una solución básica factible


Método SIMPLEX

Puntos extremos

Teorema
Sea P = {x ∈ Rn : AX = b, x ≥ 0} un poliedro. Entonces:

x es un punto extremo de P ⇐⇒ x es una solución básica factible


Método SIMPLEX

Puntos extremos

Teorema
Sea P = {x ∈ Rn : AX = b, x ≥ 0} un poliedro. Entonces:

x es un punto extremo de P ⇐⇒ x es una solución básica factible


Método SIMPLEX

Costos reducidos
Llamemos R a la matriz B −1 R y b a B −1 b. Entonces

xB = b − RxR .

Estudiemos que pasa con la función objetivo:

z = ctx = cBt xB + cRt xR


= cBt (b − RxR ) + cRt xR
= cBt b + (cR − RcB )t xR

Definimos los costos reducidos como crt = cRt − cBt B −1 R. Luego se tiene
que la función objetivo queda de la forma:

cBt b + crt xR

¿Qué sucede para una solución básica factible?


Método SIMPLEX

Costos reducidos
Llamemos R a la matriz B −1 R y b a B −1 b. Entonces

xB = b − RxR .

Estudiemos que pasa con la función objetivo:

z = ctx = cBt xB + cRt xR


= cBt (b − RxR ) + cRt xR
= cBt b + (cR − RcB )t xR

Definimos los costos reducidos como crt = cRt − cBt B −1 R. Luego se tiene
que la función objetivo queda de la forma:

cBt b + crt xR

¿Qué sucede para una solución básica factible?


Método SIMPLEX

Costos reducidos
Llamemos R a la matriz B −1 R y b a B −1 b. Entonces

xB = b − RxR .

Estudiemos que pasa con la función objetivo:

z = ctx = cBt xB + cRt xR


= cBt (b − RxR ) + cRt xR
= cBt b + (cR − RcB )t xR

Definimos los costos reducidos como crt = cRt − cBt B −1 R. Luego se tiene
que la función objetivo queda de la forma:

cBt b + crt xR

¿Qué sucede para una solución básica factible?


Método SIMPLEX

Costos reducidos
Llamemos R a la matriz B −1 R y b a B −1 b. Entonces

xB = b − RxR .

Estudiemos que pasa con la función objetivo:

z = ctx = cBt xB + cRt xR


= cBt (b − RxR ) + cRt xR
= cBt b + (cR − RcB )t xR

Definimos los costos reducidos como crt = cRt − cBt B −1 R. Luego se tiene
que la función objetivo queda de la forma:

cBt b + crt xR

¿Qué sucede para una solución básica factible?


Método SIMPLEX

Costos reducidos
Llamemos R a la matriz B −1 R y b a B −1 b. Entonces

xB = b − RxR .

Estudiemos que pasa con la función objetivo:

z = ctx = cBt xB + cRt xR


= cBt (b − RxR ) + cRt xR
= cBt b + (cR − RcB )t xR

Definimos los costos reducidos como crt = cRt − cBt B −1 R. Luego se tiene
que la función objetivo queda de la forma:

cBt b + crt xR

¿Qué sucede para una solución básica factible?


Método SIMPLEX

Criterio de Optimalidad

Solución óptima
Si una solución básica factible tiene sus costos reducidos positivos
entonces es una solución óptima.
¿Qué ocurre si existe una coordenada negativa?
Método SIMPLEX

Criterio de Optimalidad

Solución óptima
Si una solución básica factible tiene sus costos reducidos positivos
entonces es una solución óptima.
¿Qué ocurre si existe una coordenada negativa?
Método SIMPLEX

Criterio de Optimalidad

Solución óptima
Si una solución básica factible tiene sus costos reducidos positivos
entonces es una solución óptima.
¿Qué ocurre si existe una coordenada negativa?
Método SIMPLEX

Solución Adyacente

Recordemos que xB = b − RxR .


Supongamos que aumentamos  en la coordenada j, entonces:

xB = b − R ·j 

¿Cuánto podemos aumentar? Se tiene que:


 
bi
max = mini∈I : aij > 0
aij
Método SIMPLEX

Solución Adyacente

Recordemos que xB = b − RxR .


Supongamos que aumentamos  en la coordenada j, entonces:

xB = b − R ·j 

¿Cuánto podemos aumentar? Se tiene que:


 
bi
max = mini∈I : aij > 0
aij
Método SIMPLEX

Solución Adyacente

Recordemos que xB = b − RxR .


Supongamos que aumentamos  en la coordenada j, entonces:

xB = b − R ·j 

¿Cuánto podemos aumentar? Se tiene que:


 
bi
max = mini∈I : aij > 0
aij
Método SIMPLEX

Solución Adyacente

Solución adyacente
La solución xB∗ = b − R ·j max es una solución básica factible adyacente a
xB .
Note que la nueva base corresponde a agregar la columna j y eliminar la
columna i donde se alcanza el max .
Método SIMPLEX

SIMPLEX

Ordenando lo anterior obtenemos un algoritmo:


1. Determinar B y calcular B −1 .
2. Calcular solución básica factible asociada xB = B −1 b.
3. Calcular costos reducidos cr = cRt − cBt B −1 R.
4. ¿Es óptimo?.
5. Si no, determinar columna que entra a la base, es decir j, tal que
cr j = minicr i .
6. Determinar la columna que sale.
7. Actualizar base y volver a (1).
Método SIMPLEX

SIMPLEX

Ordenando lo anterior obtenemos un algoritmo:


1. Determinar B y calcular B −1 .
2. Calcular solución básica factible asociada xB = B −1 b.
3. Calcular costos reducidos cr = cRt − cBt B −1 R.
4. ¿Es óptimo?.
5. Si no, determinar columna que entra a la base, es decir j, tal que
cr j = minicr i .
6. Determinar la columna que sale.
7. Actualizar base y volver a (1).
Método SIMPLEX

SIMPLEX

Ordenando lo anterior obtenemos un algoritmo:


1. Determinar B y calcular B −1 .
2. Calcular solución básica factible asociada xB = B −1 b.
3. Calcular costos reducidos cr = cRt − cBt B −1 R.
4. ¿Es óptimo?.
5. Si no, determinar columna que entra a la base, es decir j, tal que
cr j = minicr i .
6. Determinar la columna que sale.
7. Actualizar base y volver a (1).
Método SIMPLEX

SIMPLEX

Ordenando lo anterior obtenemos un algoritmo:


1. Determinar B y calcular B −1 .
2. Calcular solución básica factible asociada xB = B −1 b.
3. Calcular costos reducidos cr = cRt − cBt B −1 R.
4. ¿Es óptimo?.
5. Si no, determinar columna que entra a la base, es decir j, tal que
cr j = minicr i .
6. Determinar la columna que sale.
7. Actualizar base y volver a (1).
Método SIMPLEX

SIMPLEX

Ordenando lo anterior obtenemos un algoritmo:


1. Determinar B y calcular B −1 .
2. Calcular solución básica factible asociada xB = B −1 b.
3. Calcular costos reducidos cr = cRt − cBt B −1 R.
4. ¿Es óptimo?.
5. Si no, determinar columna que entra a la base, es decir j, tal que
cr j = minicr i .
6. Determinar la columna que sale.
7. Actualizar base y volver a (1).
Método SIMPLEX

SIMPLEX

Ordenando lo anterior obtenemos un algoritmo:


1. Determinar B y calcular B −1 .
2. Calcular solución básica factible asociada xB = B −1 b.
3. Calcular costos reducidos cr = cRt − cBt B −1 R.
4. ¿Es óptimo?.
5. Si no, determinar columna que entra a la base, es decir j, tal que
cr j = minicr i .
6. Determinar la columna que sale.
7. Actualizar base y volver a (1).
Método SIMPLEX

SIMPLEX

Ordenando lo anterior obtenemos un algoritmo:


1. Determinar B y calcular B −1 .
2. Calcular solución básica factible asociada xB = B −1 b.
3. Calcular costos reducidos cr = cRt − cBt B −1 R.
4. ¿Es óptimo?.
5. Si no, determinar columna que entra a la base, es decir j, tal que
cr j = minicr i .
6. Determinar la columna que sale.
7. Actualizar base y volver a (1).
Método SIMPLEX

Ejemplo

(6,0) (2,6)

11111111
00000000
(4,6)

00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111 (4,3)

00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111 (4,0)
Método SIMPLEX

Ejemplo

(6,0) (2,6)

11111111
00000000
(4,6)

00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111 (4,3)

00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111 (4,0)
Método SIMPLEX

Ejemplo

Min − 3x1 − 5x2


(6,0) (2,6)

11111111
00000000
(4,6) s.a
00000000
11111111
00000000
11111111
x1 ≤ 4
00000000
11111111 x2 ≤ 6
00000000
11111111
00000000
11111111 (4,3)
3x1 + 2x2 ≤ 18

00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111 (4,0)
Método SIMPLEX

Ejemplo

Min − 3x1 − 5x2


(6,0) (2,6)

11111111
00000000
(4,6) s.a
00000000
11111111
00000000
11111111
x1 + s1 = 4
00000000
11111111 x2 + s2 = 6
00000000
11111111
00000000
11111111 (4,3)
3x1 + 2x2 + s3 = 18

00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111 (4,0)
Método SIMPLEX

Ejemplo

Min − 3x1 − 5x2


s.a

(6,0) (2,6)
x1 + s1 = 4
11111111
00000000
(4,6)
x2 + s2 = 6
00000000
11111111
00000000
11111111
3x1 + 2x2 + s3 = 18

00000000
11111111
00000000
11111111
00000000
11111111 (4,3)

1 0 1 0 0

00000000
11111111
00000000
11111111
A = 0 1 0 1 0

00000000
11111111
3 2 0 0 1

00000000
11111111
00000000
11111111 (4,0)
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible Min − 3x1 − 5x2
asociada xB = B −1 b. s.a
3. ¿Es factible?
x1 + s1 = 4
4. Calcular costos reducidos x2 + s2 = 6
cr = cRt − cBt B −1 R. 3x1 + 2x2 + s3 = 18
5. ¿Es óptimo?.
6. Determinar columna que entra  
a la base, es decir j, tal que 1 0 0
cj = mini ci . B = 0 1 0
3 2 1
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible Min − 3x1 − 5x2
asociada xB = B −1 b. s.a
3. ¿Es factible?
x1 + s1 = 4
4. Calcular costos reducidos x2 + s2 = 6
cr = cRt − cBt B −1 R. 3x1 + 2x2 + s3 = 18
5. ¿Es óptimo?.
6. Determinar columna que entra  
a la base, es decir j, tal que 1 0 0
cj = mini ci . B −1 = 0 1 0
−3 −2 1
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible
asociada xB = B −1 b.
 
3. ¿Es factible? 1 0 0
4. Calcular costos reducidos B −1 = 0 1 0
cr = cRt − cBt B −1 R. −3 −2 1
5. ¿Es óptimo?.
 
4
6. Determinar columna que entra xB = B −1 b =  6 
a la base, es decir j, tal que −6
cj = mini ci .
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible
asociada xB = B −1 b.
3. ¿Es factible?
4. Calcular costos reducidos  
4
cr = cRt − cBt B −1 R.
xB = B −1 b =  6 
5. ¿Es óptimo?. −6
6. Determinar columna que entra
a la base, es decir j, tal que
cj = mini ci .
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo

(6,0) (2,6)

11111111
00000000
(4,6)  
4
00000000
11111111
00000000
11111111
xB = B −1 b =  6 
00000000
11111111 −6
00000000
11111111
00000000
11111111 (4,3)

00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111 (4,0)
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible
asociada xB = B −1 b.
3. ¿Es factible?
4. Calcular costos reducidos  
1 0 1 0 0
cr = cRt − cBt B −1 R.
A = 0 1 0 1 0
5. ¿Es óptimo?. 3 2 0 0 1
6. Determinar columna que entra
a la base, es decir j, tal que
cj = mini ci .
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible
asociada xB = B −1 b.  
1 0 1 0 0
3. ¿Es factible?
A = 0 1 0 1 0
4. Calcular costos reducidos 3 2 0 0 1
cr = cRt − cBt B −1 R.
5. ¿Es óptimo?.  
0 1 0
6. Determinar columna que entra B = 1 0 0
a la base, es decir j, tal que 2 0 1
cj = mini ci .
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible
asociada xB = B −1 b.
 
3. ¿Es factible? 0 1 0
4. Calcular costos reducidos B = 1 0 0
cr = cRt − cBt B −1 R. 2 0 1
5. ¿Es óptimo?.
 
0 1 0
6. Determinar columna que entra B −1 = 1 0 0
a la base, es decir j, tal que 0 −2 1
cj = mini ci .
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible
asociada xB = B −1 b.
3. ¿Es factible?
4. Calcular costos reducidos  
6
cr = cRt − cBt B −1 R.
xB = B −1 b = 4
5. ¿Es óptimo?. 6
6. Determinar columna que entra
a la base, es decir j, tal que
cj = mini ci .
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo
 
6
1. Determinar B y calcular B −1 . xB = B −1 b = 4
2. Calcular solución básica factible 6
asociada xB = B −1 b.
3. ¿Es factible?
4. Calcular costos reducidos
cr = cRt − cBt B −1 R.
5. ¿Es óptimo?. (6,0) (2,6)

11111111
00000000
(4,6)

6. Determinar columna que entra 00000000


11111111
00000000
11111111
a la base, es decir j, tal que 00000000
11111111
00000000
11111111
cj = mini ci . 00000000
11111111 (4,3)

7. Determinar la columna que sale. 00000000


11111111
00000000
11111111
00000000
11111111
8. Volver a (1). 00000000
11111111
00000000
11111111 (4,0)
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .  
1 0 1 0 0
2. Calcular solución básica factible
asociada xB = B −1 b. A = 0 1 0 1 0
3 2 0 0 1
3. ¿Es factible?
4. Calcular costos reducidos 
cr = cRt − cBt B −1 R. cr = −3 0
5. ¿Es óptimo?.   
 0 1 0 1 0
6. Determinar columna que entra − −5 0 0 1 0 0 0 1
a la base, es decir j, tal que 0 −2 1 3 0
cj = mini ci . 
7. Determinar la columna que sale. cr = −3 5
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .  
1 0 1 0 0
2. Calcular solución básica factible
asociada xB = B −1 b. A = 0 1 0 1 0
3 2 0 0 1
3. ¿Es factible?
4. Calcular costos reducidos 
cr = cRt − cBt B −1 R. cr = −3 0
5. ¿Es óptimo?.   
 0 1 0 1 0
6. Determinar columna que entra − −5 0 0 1 0 0 0 1
a la base, es decir j, tal que 0 −2 1 3 0
cj = mini ci . 
7. Determinar la columna que sale. cr = −3 5
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .  
1 0 1 0 0
2. Calcular solución básica factible
A = 0 1 0 1 0
asociada xB = B −1 b.
3 2 0 0 1
3. ¿Es factible?
4. Calcular costos reducidos 
cr = cRt − cBt B −1 R. cr = −3 0
5. ¿Es óptimo?.
  
 0 1 0 1 0
6. Determinar columna que entra − −5 0 0 1 0 0 0 1
a la base, es decir j, tal que 0 −2 1 3 0
cj = mini ci . 
7. Determinar la columna que sale. cr = −3 5
8. Volver a (1). Entra variable x1
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible  
asociada xB = B −1 b. 1 0 1 0 0
3. ¿Es factible? A = 0 1 0 1 0
3 2 0 0 1
4. Calcular costos reducidos
cr = cRt − cBt B −1 R.
5. ¿Es óptimo?. A1 = B −1 A1
6. Determinar columna que entra
    
0 1 0 1 0
a la base, es decir j, tal que = 1 0 0 0 = 1
cj = mini ci . 0 −2 1 3 3
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .  
6
2. Calcular solución básica factible xB = B −1
b = 4
asociada xB = B −1 b. 6
3. ¿Es factible?
4. Calcular costos reducidos
cr = cRt − cBt B −1 R. A1 = B −1 A1
    
5. ¿Es óptimo?. 0 1 0 1 0
= 1 0 0 0 = 1
6. Determinar columna que entra
0 −2 1 3 3
a la base, es decir j, tal que
cj = mini ci .
 
4 6
min , =2
7. Determinar la columna que sale. 1 3
8. Volver a (1). Luego sale la variable s3 .
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible
asociada xB = B −1 b.  
0 1 0
3. ¿Es factible?
B = 1 0 0
4. Calcular costos reducidos 2 0 1
cr = cRt − cBt B −1 R.
5. ¿Es óptimo?.  
0 1 1
6. Determinar columna que entra B 0 = 1 0 0
a la base, es decir j, tal que 2 0 3
cj = mini ci .
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible
asociada xB = B −1 b.
 
3. ¿Es factible? 0 1 1
4. Calcular costos reducidos B 0 = 1 0 0
cr = cRt − cBt B −1 R. 2 0 3
5. ¿Es óptimo?.
 
0 1 0
6. Determinar columna que entra B 0−1 = 1 2/3 −1/3
a la base, es decir j, tal que 0 −2/3 1/3
cj = mini ci .
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible
asociada xB = B −1 b.
3. ¿Es factible?
4. Calcular costos reducidos  
6
cr = cRt − cBt B −1 R.
xB 0 = B 0−1 b = 2
5. ¿Es óptimo?. 2
6. Determinar columna que entra
a la base, es decir j, tal que
cj = mini ci .
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo
 
6
1. Determinar B y calcular B −1 . xB 0 = B 0−1 b = 2
2. Calcular solución básica factible 2
asociada xB = B −1 b.
3. ¿Es factible?
4. Calcular costos reducidos
cr = cRt − cBt B −1 R.
5. ¿Es óptimo?. (6,0) (2,6)

11111111
00000000
(4,6)

6. Determinar columna que entra 00000000


11111111
00000000
11111111
a la base, es decir j, tal que 00000000
11111111
00000000
11111111
cj = mini ci . 00000000
11111111 (4,3)

7. Determinar la columna que sale. 00000000


11111111
00000000
11111111
00000000
11111111
8. Volver a (1). 00000000
11111111
00000000
11111111 (4,0)
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible  
asociada xB = B −1 b. 1 0 1 0 0
A = 0 1 0 1 0
3. ¿Es factible?
3 2 0 0 1
4. Calcular costos reducidos
cr = cRt − cBt B −1 R.

5. ¿Es óptimo?. cr = 0 0 −
6. Determinar columna que entra   
a la base, es decir j, tal que  0 1
2
0
−1  
0 0
−5 0 −3 1 3 3 0 1
cj = mini ci . 0 −2 1
1 0
3 3
7. Determinar la columna que sale.
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .  
1 0 1 0 0
2. Calcular solución básica factible
A = 0 1 0 1 0
asociada xB = B −1 b.
3 2 0 0 1
3. ¿Es factible?
4. Calcular costos reducidos 
cr = cRt − cBt B −1 R. cr = 0 0 −
5. ¿Es óptimo?.   
 0 1
2
0
−1  
0 0
6. Determinar columna que entra −5 0 −3 1 3 3 0 1
a la base, es decir j, tal que −2 1
0 3 3
1 0
cj = mini ci . 
7. Determinar la columna que sale. cr = 1 7
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .  
1 0 1 0 0
2. Calcular solución básica factible
A = 0 1 0 1 0
asociada xB = B −1 b.
3 2 0 0 1
3. ¿Es factible?
4. Calcular costos reducidos 
cr = cRt − cBt B −1 R. cr = 0 0 −
5. ¿Es óptimo?.   
 0 1
2
0
−1  
0 0
6. Determinar columna que entra −5 0 −3 1 3 3 0 1
a la base, es decir j, tal que −2 1
0 3 3
1 0
cj = mini ci . 
7. Determinar la columna que sale. cr = 1 7
8. Volver a (1).
Método SIMPLEX

Ejemplo

1. Determinar B y calcular B −1 .
2. Calcular solución básica factible
asociada xB = B −1 b.
3. ¿Es factible?
(6,0) (2,6)

11111111
00000000
(4,6)
4. Calcular costos reducidos
cr = cRt − cBt B −1 R.
00000000
11111111
00000000
11111111
00000000
11111111
5. ¿Es óptimo?.
6. Determinar columna que entra
a la base, es decir j, tal que
00000000
11111111
00000000
11111111 (4,3)

cj = mini ci . 00000000
11111111
00000000
11111111
7. Determinar la columna que sale. 00000000
11111111
00000000
11111111
8. Volver a (1).
00000000
11111111 (4,0)
Método SIMPLEX

Interpretación soluciones

I Cuando no se puede escoger una variable básica que salga, significa


que el problema es no acotado.
I Cuando aparece un 0 en xB , significa que la solución es degenerada.
I La interpretación geométrica de soluciones degeneradas, es que hay
una intersección de más hiperplanos que la dimensión del problema.
Método SIMPLEX

Interpretación soluciones

I Cuando no se puede escoger una variable básica que salga, significa


que el problema es no acotado.
I Cuando aparece un 0 en xB , significa que la solución es degenerada.
I La interpretación geométrica de soluciones degeneradas, es que hay
una intersección de más hiperplanos que la dimensión del problema.
Método SIMPLEX

Interpretación soluciones

I Cuando no se puede escoger una variable básica que salga, significa


que el problema es no acotado.
I Cuando aparece un 0 en xB , significa que la solución es degenerada.
I La interpretación geométrica de soluciones degeneradas, es que hay
una intersección de más hiperplanos que la dimensión del problema.
Método SIMPLEX

Eficiencia Computacional

I El número de soluciones básicas es finito, por lo tanto si el problema


no es degenerado, SIMPLEX siempre termina.
I Podrı́a tener que recorrer todos los vértices.
I Existen métodos que aseguran terminara más rápido. (Método
elipsoidal, algoritmos de punto interior).
I Aun asi, en la mayoria de los casos SIMPLEX es la mejor opción.
I Cuando aparecen soluciones degeneradas el algoritmo podrı́a ciclar.
Para evitar ciclos se debe implementar una regla especial para
escoger las soluciones adyacentes.
Método SIMPLEX

Eficiencia Computacional

I El número de soluciones básicas es finito, por lo tanto si el problema


no es degenerado, SIMPLEX siempre termina.
I Podrı́a tener que recorrer todos los vértices.
I Existen métodos que aseguran terminara más rápido. (Método
elipsoidal, algoritmos de punto interior).
I Aun asi, en la mayoria de los casos SIMPLEX es la mejor opción.
I Cuando aparecen soluciones degeneradas el algoritmo podrı́a ciclar.
Para evitar ciclos se debe implementar una regla especial para
escoger las soluciones adyacentes.
Método SIMPLEX

Eficiencia Computacional

I El número de soluciones básicas es finito, por lo tanto si el problema


no es degenerado, SIMPLEX siempre termina.
I Podrı́a tener que recorrer todos los vértices.
I Existen métodos que aseguran terminara más rápido. (Método
elipsoidal, algoritmos de punto interior).
I Aun asi, en la mayoria de los casos SIMPLEX es la mejor opción.
I Cuando aparecen soluciones degeneradas el algoritmo podrı́a ciclar.
Para evitar ciclos se debe implementar una regla especial para
escoger las soluciones adyacentes.
Método SIMPLEX

Eficiencia Computacional

I El número de soluciones básicas es finito, por lo tanto si el problema


no es degenerado, SIMPLEX siempre termina.
I Podrı́a tener que recorrer todos los vértices.
I Existen métodos que aseguran terminara más rápido. (Método
elipsoidal, algoritmos de punto interior).
I Aun asi, en la mayoria de los casos SIMPLEX es la mejor opción.
I Cuando aparecen soluciones degeneradas el algoritmo podrı́a ciclar.
Para evitar ciclos se debe implementar una regla especial para
escoger las soluciones adyacentes.
Método SIMPLEX

Eficiencia Computacional

I El número de soluciones básicas es finito, por lo tanto si el problema


no es degenerado, SIMPLEX siempre termina.
I Podrı́a tener que recorrer todos los vértices.
I Existen métodos que aseguran terminara más rápido. (Método
elipsoidal, algoritmos de punto interior).
I Aun asi, en la mayoria de los casos SIMPLEX es la mejor opción.
I Cuando aparecen soluciones degeneradas el algoritmo podrı́a ciclar.
Para evitar ciclos se debe implementar una regla especial para
escoger las soluciones adyacentes.
Método SIMPLEX

Primera solución básica fáctible

I Para aplicar SIMPLEX necesitamos partir de una solución básica


fáctible.
I ¿Cómo encontramos esta solución?
I Método de las dos fases. X
Min ti
s.a
Ax + t = b
x, t ≥ 0
Método SIMPLEX

Primera solución básica fáctible

I Para aplicar SIMPLEX necesitamos partir de una solución básica


fáctible.
I ¿Cómo encontramos esta solución?
I Método de las dos fases. X
Min ti
s.a
Ax + t = b
x, t ≥ 0
Método SIMPLEX

Primera solución básica fáctible

I Para aplicar SIMPLEX necesitamos partir de una solución básica


fáctible.
I ¿Cómo encontramos esta solución?
I Método de las dos fases. X
Min ti
s.a
Ax + t = b
x, t ≥ 0
Método SIMPLEX

Ejemplo

Min − 6x1 − 4x2


s.a
x1 + x2 ≤ 10
2x1 + x2 ≥ 4
x1 , x2 ≥ 0
Método SIMPLEX

Ejemplo

Min − 6x1 − 4x2


s.a
x1 + x2 ≤ 10
2x1 + x2 ≥ 4
x1 , x2 ≥ 0
Método SIMPLEX

Ejemplo

Min − 6x1 − 4x2 Min − 6x1 − 4x2


s.a s.a
x1 + x2 ≤ 10 x1 + x2 + s1 = 10
2x1 + x2 ≥ 4 2x1 + x2 − s2 = 4
x1 , x2 ≥ 0 x1 , x2 , s1 , s2 ≥ 0
Método SIMPLEX

Ejemplo

Min − 6x1 − 4x2


Min − 6x1 − 4x2
s.a
s.a
x1 + x2 + s1 = 10
x1 + x2 + s1 = 10
2x1 + x2 − s2 = 4
2x1 + x2 − s2 + t 1 = 4
x1 , x2 , s1 , s2 ≥ 0
x1 , x2 , s1 , s2 t 1 ≥ 0
Método SIMPLEX

Ejemplo

Min − 6x1 − 4x2 Min t1


s.a s.a
x1 + x2 + s1 = 10 x1 + x2 + s1 = 10
2x1 + x2 − s2 + t 1 = 4 2x1 + x2 − s 2 + t1 = 4
x1 , x2 , s1 , s2 t 1 ≥ 0 x1 , x2 , s 1 , s 2 t1 ≥ 0
Método SIMPLEX

Ejemplo
I El problema original admite
solución fáctible si y sólo si el
valor óptimo del problema de
Fase I es 0.
I Si la base óptima de Fase I no
contiene variables artificiales Min t1
encontramos una solución s.a
básica factible para el problema
original. x1 + x2 + s1 = 10
2x1 + x2 − s 2 + t1 = 4
I Si la base óptima de Fase I
x1 , x2 , s 1 , s 2 t1 ≥ 0
contiene variables artificiales,
estamos en una solución
degenerada y debemos tratar de
cambiarla por una variable del
problema original.
Método SIMPLEX

Dualidad

I Dado el siguiente problema:

Max 4x1 + x2 + 3x3

s.a
x1 + 4x2 ≤ 1
3x1 − x2 + x3 ≤ 3
x1 , x2 , x3 ≥ 0
Método SIMPLEX

Dualidad

I Dado el siguiente problema:

Max 4x1 + x2 + 3x3

s.a
x1 + 4x2 ≤ 1
3x1 − x2 + x3 ≤ 3
x1 , x2 , x3 ≥ 0
I Se tiene que (1, 0, 0) es una solución fáctible, por lo tanto, si
evaluamos la función objetivo en este punto ( 4 ) obtenemos una
cota inferior del valor óptimo.
I ¿Podemos mejorar la cota?
Método SIMPLEX

Dualidad

I Dado el siguiente problema:

Max 4x1 + x2 + 3x3

s.a
x1 + 4x2 ≤ 1
3x1 − x2 + x3 ≤ 3
x1 , x2 , x3 ≥ 0
I ¿Podemos encontrar cotas superiores de la función objetivo?
Método SIMPLEX

Dualidad
I Dado el siguiente problema:

Max 4x1 + x2 + 3x3

s.a
x1 + 4x2 ≤ 1
3x1 − x2 + x3 ≤ 3
x1 , x2 , x3 ≥ 0
I ¿Podemos encontrar cotas superiores de la función objetivo?
I Usemos las restricciones. Sean y1 , y2 ≥ 0. Luego:

y1 (x1 + 4x2 ) ≤ y1
y2 (3x1 − x2 + x3 ) ≤ 3y2
Método SIMPLEX

Dualidad
I Dado el siguiente problema:

Max 4x1 + x2 + 3x3

s.a
x1 + 4x2 ≤ 1
3x1 − x2 + x3 ≤ 3
x1 , x2 , x3 ≥ 0
I Usemos las restricciones. Sean y1 , y2 ≥ 0. Luego:

y1 (x1 + 4x2 ) ≤ y1
y2 (3x1 − x2 + x3 ) ≤ 3y2

I Sumando obtenemos que:

(y1 + 3y2 )x1 + (4y1 − y2 )x2 + y2 x3 ≤ y1 + 3y2


Método SIMPLEX

Dualidad
I Dado el siguiente problema:

Max 4x1 + x2 + 3x3

s.a
x1 + 4x2 ≤ 1
3x1 − x2 + x3 ≤ 3
x1 , x2 , x3 ≥ 0
I Sumando obtenemos que:

(y1 + 3y2 )x1 + (4y1 − y2 )x2 + y2 x3 ≤ y1 + 3y2

I Si imponemos las condiciones:

(y1 + 3y2 ) ≥ 4
(4y1 − y2 ) ≥ 1
y2 ≥ 3
Método SIMPLEX

Dualidad
I Dado el siguiente problema:
Max 4x1 + x2 + 3x3
s.a
x1 + 4x2 ≤ 1
3x1 − x2 + x3 ≤ 3
x1 , x2 , x3 ≥ 0
I Sumando obtenemos que:
(y1 + 3y2 )x1 + (4y1 − y2 )x2 + y2 x3 ≤ y1 + 3y2
I Si imponemos las condiciones:
(y1 + 3y2 ) ≥ 4
(4y1 − y2 ) ≥ 1
y2 ≥ 3
I Se tiene que:
4x1 + x2 + 3x3 ≤ y1 + 3y2
Método SIMPLEX

Dualidad
I Dado el siguiente problema:
Max 4x1 + x2 + 3x3
s.a
x1 + 4x2 ≤ 1
3x1 − x2 + x3 ≤ 3
x1 , x2 , x3 ≥ 0
I Sumando obtenemos que:
(y1 + 3y2 )x1 + (4y1 − y2 )x2 + y2 x3 ≤ y1 + 3y2
I Si imponemos las condiciones:
(y1 + 3y2 ) ≥ 4
(4y1 − y2 ) ≥ 1
y2 ≥ 3
I Se tiene que:
4x1 + x2 + 3x3 ≤ y1 + 3y2
Método SIMPLEX

Dualidad
I Dado el siguiente problema:
Max 4x1 + x2 + 3x3
s.a
x1 + 4x2 ≤ 1
3x1 − x2 + x3 ≤ 3
x1 , x2 , x3 ≥ 0
I Si queremos la mejor cota debemos resolver el problema dual:

Min y1 + 3y2
s.a.
(y1 + 3y2 ) ≥ 4
(4y1 − y2 ) ≥ 1
y2 ≥ 3
y1 , y − 2, y3 ≥ 0
Método SIMPLEX

Transformaciones primal-dual

Supongamos que el primal es un problema de maximización y el dual es


de minimización, entonces:
I Por cada restricción del primal definimos una variable del dual.
I Si la restricción es ≤ entonces la variable es ≥ 0.
I Si la restricción es ≥ entonces la variable es ≤ 0
I Si la restricción es = entonces la variable es irrestricta.
I Por cada variable del primal se define una restricción en el dual.
I Si la variable es ≥ 0 la restricción es ≥.
I Si la variable es ≤ 0 entonces la restricción es ≤
I Si la variable es irrestricta entonces la restricción es =.
Método SIMPLEX

Transformaciones primal-dual

Supongamos que el primal es un problema de maximización y el dual es


de minimización, entonces:
I Por cada restricción del primal definimos una variable del dual.
I Si la restricción es ≤ entonces la variable es ≥ 0.
I Si la restricción es ≥ entonces la variable es ≤ 0
I Si la restricción es = entonces la variable es irrestricta.
I Por cada variable del primal se define una restricción en el dual.
I Si la variable es ≥ 0 la restricción es ≥.
I Si la variable es ≤ 0 entonces la restricción es ≤
I Si la variable es irrestricta entonces la restricción es =.
Método SIMPLEX

Transformaciones primal-dual

Supongamos que el primal es un problema de maximización y el dual es


de minimización, entonces:
I Por cada restricción del primal definimos una variable del dual.
I Si la restricción es ≤ entonces la variable es ≥ 0.
I Si la restricción es ≥ entonces la variable es ≤ 0
I Si la restricción es = entonces la variable es irrestricta.
I Por cada variable del primal se define una restricción en el dual.
I Si la variable es ≥ 0 la restricción es ≥.
I Si la variable es ≤ 0 entonces la restricción es ≤
I Si la variable es irrestricta entonces la restricción es =.
Método SIMPLEX

Transformaciones primal-dual

Supongamos que el primal es un problema de maximización y el dual es


de minimización, entonces:
I Por cada restricción del primal definimos una variable del dual.
I Si la restricción es ≤ entonces la variable es ≥ 0.
I Si la restricción es ≥ entonces la variable es ≤ 0
I Si la restricción es = entonces la variable es irrestricta.
I Por cada variable del primal se define una restricción en el dual.
I Si la variable es ≥ 0 la restricción es ≥.
I Si la variable es ≤ 0 entonces la restricción es ≤
I Si la variable es irrestricta entonces la restricción es =.
Método SIMPLEX

Transformaciones primal-dual

Supongamos que el primal es un problema de maximización y el dual es


de minimización, entonces:
I Por cada restricción del primal definimos una variable del dual.
I Si la restricción es ≤ entonces la variable es ≥ 0.
I Si la restricción es ≥ entonces la variable es ≤ 0
I Si la restricción es = entonces la variable es irrestricta.
I Por cada variable del primal se define una restricción en el dual.
I Si la variable es ≥ 0 la restricción es ≥.
I Si la variable es ≤ 0 entonces la restricción es ≤
I Si la variable es irrestricta entonces la restricción es =.
Método SIMPLEX

Transformaciones primal-dual

Supongamos que el primal es un problema de maximización y el dual es


de minimización, entonces:
I Por cada restricción del primal definimos una variable del dual.
I Si la restricción es ≤ entonces la variable es ≥ 0.
I Si la restricción es ≥ entonces la variable es ≤ 0
I Si la restricción es = entonces la variable es irrestricta.
I Por cada variable del primal se define una restricción en el dual.
I Si la variable es ≥ 0 la restricción es ≥.
I Si la variable es ≤ 0 entonces la restricción es ≤
I Si la variable es irrestricta entonces la restricción es =.
Método SIMPLEX

Transformaciones primal-dual

Supongamos que el primal es un problema de maximización y el dual es


de minimización, entonces:
I Por cada restricción del primal definimos una variable del dual.
I Si la restricción es ≤ entonces la variable es ≥ 0.
I Si la restricción es ≥ entonces la variable es ≤ 0
I Si la restricción es = entonces la variable es irrestricta.
I Por cada variable del primal se define una restricción en el dual.
I Si la variable es ≥ 0 la restricción es ≥.
I Si la variable es ≤ 0 entonces la restricción es ≤
I Si la variable es irrestricta entonces la restricción es =.
Método SIMPLEX

Transformaciones primal-dual

Supongamos que el primal es un problema de maximización y el dual es


de minimización, entonces:
I Por cada restricción del primal definimos una variable del dual.
I Si la restricción es ≤ entonces la variable es ≥ 0.
I Si la restricción es ≥ entonces la variable es ≤ 0
I Si la restricción es = entonces la variable es irrestricta.
I Por cada variable del primal se define una restricción en el dual.
I Si la variable es ≥ 0 la restricción es ≥.
I Si la variable es ≤ 0 entonces la restricción es ≤
I Si la variable es irrestricta entonces la restricción es =.
Método SIMPLEX

Teoremas de dualidad

Teorema Debil
Si el problema primal es de maximización, entonces para todo x solución
fáctible del primal y y solución fácrible de dual se tiene que:

z(x) ≤ z 0 (y )

Teorema Fuerte
El primal tiene solución óptima si y sólo si el dual tiene solución óptima.
Mas aún, el valor óptimo es el mismo para ambos problemas.
Método SIMPLEX

Teoremas de dualidad

Teorema Debil
Si el problema primal es de maximización, entonces para todo x solución
fáctible del primal y y solución fácrible de dual se tiene que:

z(x) ≤ z 0 (y )

Teorema Fuerte
El primal tiene solución óptima si y sólo si el dual tiene solución óptima.
Mas aún, el valor óptimo es el mismo para ambos problemas.

Você também pode gostar