Introducción al Método Simplex

Transcripción

Introducción al Método Simplex
Introducción al
Método Simplex
[email protected]
Introducción
Forma Estándar
Introducción al Método Simplex
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
[email protected]
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Matemáticas
Adyacencia
Definición
Ejemplo 1
Simplex
Introducción
Introducción al
Método Simplex
[email protected]
Introducción
Forma Estándar
Definición
Conversión
Ejemplo
Solución Básica
En esta lectura daremos una introducción al método Simplex
desarrollado por George Bernard Dantzig (8 de noviembre de
1914 - 13 de mayo de 2005) en 1947. Este método se basa
en la conversión del problema con restricciones con
desigualdades en un problema cuyas restricciones son
ecuaciones lineales. Es un método matricial.
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
Introducción al
Método Simplex
Forma Estándar
[email protected]
Definición 1.1
Un modelo de PL se dice que está en su forma estándar si
cada restricción es una igualdad y las restricciones de signo
para cada variable son del tipo mayor o igual que cero.
Muchos de nuestros modelos recién construidos no están en
su forma matricial. No está en la forma estándar:
Max z = 3 x + 2 y
Introducción
Forma Estándar
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
sujeto a
Adyacencia
2x
x
x
x
+ y
+ y
y
≤
≤
≤
≥
≥
100
80
40
0
0
Definición
Ejemplo 1
Simplex
Conversión
Introducción al
Método Simplex
[email protected]
El algoritmo Simplex para resolver modelos de programación
lineal requiere que el modelo esté en su forma estándar. Lo
que se hace es convertir el modelo a la forma estándar. Esto
se logra introduciendo nuevas variables, algunas de las cuales
reemplazarán a las variables originales.
I
I
Para cada restricción del tipo ≤ se introduce una nueva
variable de holgura (slack variable) si que se suma al
primer miembro y la desigualdad se convierte en
igualdad; se añade la restricción de signo a la nueva
variable si ≥ 0.
Para cada restricción del tipo ≥ se introduce una nueva
variable de exceso (excess variable) ei que se resta al
primer miembro y la desigualdad se convierte en
igualdad; se añade la restricción de signo a la nueva
variable ei ≥ 0.
Introducción
Forma Estándar
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
Introducción al
Método Simplex
[email protected]
Continuando con la conversión:
I
I
Para cada variable xi que tiene restricción de signo del
tipo ≤ 0, se cambian todas las apariciones de xi en el
modelo por la expresión −xi0 donde xi0 es una nueva
variable con restricción de signo xi0 ≥ 0.
Para cada variable xi que no tiene restricción de signo
se cambian todas las apariciones de ella en el modelo
por la expresión xi0 − xi00 donde xi0 y xi00 son dos nuevas
variables con restricción de signo xi0 ≥ 0 y xi00 ≥ 0.
Las conversión se realiza en dos fases: en la primera se
convierten las desigualdades y en la segunda se aplican las
reglas para las variables que en el modelo original tiene signo
no positivo o no tienen restricción de signo.
Introducción
Forma Estándar
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
Introducción al
Método Simplex
Ejemplo
[email protected]
Introducción
Forma Estándar
Definición
Conversión
Ejemplo
Convierta a la forma estándar:
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
Max z = 3 x + 2 y
Solución Básica
Factible
sujeto a
2x
x
+ y
+ y
x
y
≤
≥
≤
≤
100
80
40
0
: R1
: R2
: R3
: R4
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
Introducción al
Método Simplex
[email protected]
En la primera fase (después de aplicar las reglas relacionadas
con restricciones del tipo ≤ o ≥) queda:
Max z = 3 x + 2 y
Introducción
Forma Estándar
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
sujeto a
2x
x
x
+ y
+ y
+ s1
− e1
+ s1
= 100
= 80
= 40
con x sin restricción de signo, y ≤ 0, s1 ≥ 0, e1 ≥ 0, y
s2 ≥ 0.
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
Introducción al
Método Simplex
[email protected]
Introducción
Para la segunda fase obtenemos:
0
Forma Estándar
00
Max z = 3 x − 3 x − 2 y
0
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
sujeto a
2 x 0 − 2 x 00 − y 0 + s1
= 100
x 0 − x 00
− y0
− e1
= 80
0
00
x − x
+ s1 = 40
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
con
x0
≥ 0,
x 00
≥ 0,
y0
≥ 0, s1 ≥ 0, e1 ≥ 0, y s2 ≥ 0.
Definición
Ejemplo 1
Simplex
Solución básica
Introducción al
Método Simplex
[email protected]
Introducción
Forma Estándar
Definición 1.2
Una solución básica (SB) a un sistema de ecuaciones
A x = b con m ecuaciones y con n incógnitas, es decir m × n
(n ≥ m) es una solución al sistema que se obtiene haciendo
cero n − m variables y que resulta en un sistema con
solución única. A una variable de decisión que
deliberadamente se hace cero se le llama variables no básica
(VNB) y mientras que a aquélla que se conserva dentro del
nuevo sistema se le llama variable básica (VB).
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
Introducción al
Método Simplex
[email protected]
En términos de Algebra Lineal, este concepto equivale a
seleccionar m columnas de A y que éstas formen una base
para Rm . Las columnas no seleccionadas corresponden a
aquellas variables que se hacen cero deliberadamente. Una
vez seleccionadas las columnas el nuevo sistema con el
mismo vector de constantes debe resolverse. La solución
obtenida se llama solución básica. En términos de matrices,
tiene el significado que las variables que no se hacen cero
deliberadamente forman una matriz invertible. El proceso
para obtener una solución factible corresponde a tomar de A
columnas para formar una matriz cuadrada que resulte
invertible.
Introducción
Forma Estándar
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
Introducción al
Método Simplex
Determine las soluciones básicas al sistema:
x1 + x2
= 3
− x2 + x3 = −1
[email protected]
Introducción
Forma Estándar
Definición
Conversión
Ejemplo
En este caso: m = 2 =número de ecuaciones y
Solución Básica
Definición
n = 3 =número de incógnitas. Por tanto, las soluciones
Ejemplo 1
Ejemplo 2
básicas se obtienen haciendo cero n − m = 3 − 2 = 1
Solución Básica
variable. Siendo n = 3 el número de variables, tenemos:
Factible
Definición
3!
1 · 2 · Ejemplo
3 1
n!
3
n
Correspondencia
=
=
=
=
1
n−m
m! · (n − m)!
1! × (3 − 1)!
1 × 1 Adyacencia
·2
es decir, que en nuestro sistema se tienen 3 posibles
soluciones básicas. Observe que da lo mismo seleccionar
qué variables serán básicas (qué columnas se conservarán) o
qué variables serán no básicas (columnas se borrarán).
Definición
Ejemplo 1
Simplex
Revisemos cada alternativa:
I
VNBs = {x1 }. Haciendo x1 = 0 el sistema original queda:
+
−
x2
x2
+
x3
=
=
3
−1
dando como solución : x1 = 0, x2 = 3 y x3 = 2.
I
VNBs = {x2 }. Haciendo x2 = 0 el sistema original queda:
+
x1
+
x3
=
=
3
−1
dando como solución : x1 = 3, x2 = 0 y x3 = −1.
I
VNBs = {x3 }. Haciendo x3 = 0 el sistema original queda:
+
x1
+
−
x2
x2
=
=
3
−1
dando como solución : x1 = 2, x2 = 1 y x3 = 0.
Introducción al
Método Simplex
Ejemplo 2
[email protected]
Determine las soluciones básicas al sistema:
Introducción
x1 + 2 x2 + x3 = 1
2 x1 + 4 x2 + x3 = 3
En este ejemplo hay 3!/(1! × (3 − 1)!) = 3 posibles
soluciones básicas.
I VNBs = {x1 }. Haciendo x1 = 0 el sistema original
queda:
+ 2 x2 + x3 = 1
+ 4 x2 + x3 = 3
I
dando como solución : x1 = 0, x2 = 1 y x3 = −1.
VNBs = {x2 }. Haciendo x2 = 0 el sistema original
queda:
+
x1 + x3 = 1
+ 2 x1 + x3 = 3
dando como solución : x1 = 2, x2 = 0 y x3 = −1.
Forma Estándar
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
I
VNBs = {x3 }. Haciendo x3 = 0 el sistema original queda:
x1
2 x1
+ 2 x2
+ 4 x2
= 1
= 3
este sistema es inconsistente. Por tanto, no hay solución
básica correspondiente a VNBs = {x3 }.
Solución básica
Introducción al
Método Simplex
[email protected]
Introducción
Forma Estándar
Definición
Conversión
Ejemplo
Solución Básica
Definición 1.3
Una solución básica factible (SBF) a un sistema de
ecuaciones A x = b m × n (n ≥ m) es una solución básica
con valores no negativos para las variables de decisión.
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
Determina las soluciones básicas factibles del sistema
estándar correspondiente a la región que definen las
restricciones
x1 + x2 ≤ 40
2 x1 + x2 ≤ 60
y x1 , x2 ≥ 0.
La forma estándar es:
Introducción al
Método Simplex
[email protected]
Introducción
Forma Estándar
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
x1 + x2 + s1
= 40
2 x1 + x2
+ s2 = 60
Solución Básica
Factible
y cumpliendo x1 , x2 , s1 , s2 ≥ 0. Y en la forma estándar n = 4
(número de variables) y m = 2 (número de ecuacion es), y
por consiguiente el número de posibles soluciones básicas es:
1·2·3·4
4!
n
=
=6
=
m
2! · (4 − 2)!
1·2·1·2
Correspondencia
Definición
Ejemplo 1
Adyacencia
Definición
Ejemplo 1
Simplex
En este caso desaparecemos 4 − 2 variables para obtener las SB:
I
VNBs = {x1 , x2 } → VB = {s1 = 40, s2 = 60} A(0,0)
I
VNBs = {x1 , s1 } → VB = {x2 = 40, s2 = 20} B(0,40)
I
VNBs = {x1 , s2 } → VB = {x2 = 60, s1 = −20} C(0,60), no
es solución básica factible
I
VNBs = {x2 , s1 } → VB = {x1 = 40, s2 = −20} D(40,0), no
es solución básica factible
I
VNBs = {x2 , s2 } → VB = {x1 = 30, s1 = 10} E(30,0)
I
VNBs = {s1 , s2 } → VB = {x1 = 20, x2 = 20} F(20,20)
C (0, 60)
B(0, 40)
F (20, 20)
D(40, 0)
A(0, 0)
E (30, 0)
Figura : Relación entre SBFs y extremos de la RF
Correspondencia
Introducción al
Método Simplex
[email protected]
Introducción
Forma Estándar
Un punto clave que relaciona la parte geométrica con la
parte algebraica es el siguiente resultado teórico:
Teorema
La región factible a un modelo lineal corresponde a
un conjunto convexo, y a cada extremo de la
región le corresponde una SBF de su forma
estándar y a cada SBF le corresponde un extremo
de la región factible.
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
SBF Adyacentes
Introducción al
Método Simplex
[email protected]
Introducción
Forma Estándar
Definición
Conversión
Ejemplo
Solución Básica
Definición 1.4
Para un modelo PL con m restricciones, dos soluciones
básicas factibles se dicen ser soluciones básicas factibles
adyacentes si acaso tienen m − 1 variables básicas en común.
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
Introducción al
Método Simplex
Ejemplo
[email protected]
Introducción
Forma Estándar
Determine las SBFs y encuentre sus relaciones de adyacencia
al siguiente PL:
Maximice z = 4 x1 + 3 x2
sujeto a:
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
x1 + x2 + s1
= 40
2 x1 + x2
+ s2 = 60
y cumpliendo x1 , x2 , s1 , s2 ≥ 0.
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex
Este problema tiene como FBS:
I VNBs = {x1 , x2 } → VB = {s1 = 40, s2
I VNBs = {x1 , s1 } → VB = {x2 = 40, s2
I VNBs = {x2 , s2 } → VB = {x1 = 30, s1
I VNBs = {s1 , s2 } → VB = {x1 = 20, x2
Son adyacentes: A(0,0) y B(0,40), A(0,0) y
y E(30,0) y F(20,20).
= 60} A(0,0)
= 20} B(0,40)
= 10} E(30,0)
= 20} F(20,20)
E(30,0), B(0,40) y F(20,20),
B(0, 40)
F (20, 20)
A(0, 0)
E (30, 0)
Algoritmo Simplex
Introducción al
Método Simplex
[email protected]
El algoritmo Simplex procede de la siguiente manera:
Introducción
1. Convierta el modelo PL a su forma estándar.
2. Obtenga una SBF a la forma estándar.
3. Determine si la SBF es óptima: Si hay una variable no
básica cuyo aumento hace que el valor actual de la
función a maximizar suba, entonces la solución actual
no es óptima.
4. Si la SBF no es óptima, determine la variable no-básica
que deberı́a convertise en básica (la de mayor impacto
en la función objetivo) y cuál variable básica deberı́a
convertise en una no-básica (la que impone una
restricción mayor a la variable de mayor impacto). Con
la selección anterior y usando operaciones elementales
de renglón determine una SBF nueva adyacente a la
anterior.
5. Reinicie con el paso 3 con la nueva SBF.
Forma Estándar
Definición
Conversión
Ejemplo
Solución Básica
Definición
Ejemplo 1
Ejemplo 2
Solución Básica
Factible
Definición
Ejemplo 1
Correspondencia
Adyacencia
Definición
Ejemplo 1
Simplex

Documentos relacionados