Está en la página 1de 40

Método Simplex

Forma estándar del problema de programación lineal


Álgebra del método sı́mplex

Método Simplex
para resolver problemas de PL

Javier Parra Peña


Yeny Andrea Niño Villamizar

Universidad Distrital Francisco José de Caldas


Facultad Tecnológica

Julio, 2020

JPP-YANV Método Simplex Revisado


Método Simplex
Forma estándar del problema de programación lineal
Álgebra del método sı́mplex

Contenido

1 Método Simplex
Teorema fundamental de la programación lineal
Lógica del método simplex
2 Forma estándar del problema de programación lineal
Escribir un problema de PL en la forma estándar
Escribir una Solución Básica Inicial (SBI)
3 Álgebra del método sı́mplex
Criterio de detención - Prueba de la condición de óptimo
Iteraciones en el método sı́mplex
Inicialización del método sı́mplex
Degeneración y ciclaje
Prevención del ciclaje
Método Sı́mplex Revisado

JPP-YANV Método Simplex Revisado


Método Simplex
Teorema fundamental de la programación lineal
Forma estándar del problema de programación lineal
Lógica del método simplex
Álgebra del método sı́mplex

Teorema fundamental de la PL

Para un problema lineal consistente con un dominio factible P, en


su forma estándar, el mı́nimo valor de la función objetivo z = cT x
es no acotado o es alcanzado en al menos un punto extremo de P.

El teorema no elimina la posibilidad de tener una solución óptima


en un punto no extremo. Simplemente, entre todas las soluciones
óptimas para un problema de programación lineal dado, al menos
una de ellas es un punto extremo (lo que permite múltiples
soluciones).

JPP-YANV Método Simplex Revisado


Método Simplex
Teorema fundamental de la programación lineal
Forma estándar del problema de programación lineal
Lógica del método simplex
Álgebra del método sı́mplex

Método Simplex
Lógica del método
Si el conjunto de soluciones óptimas de un problema de programación lineal es
no vacı́o ⇒ contiene por lo menos un punto extremo del dominio factible.
La solución se halla mediante movimientos sistemáticos, entre puntos extremos
adyacentes hasta alcanzar un punto extremo óptimo.

Es un método numérico de búsqueda... cuya solución iterativa implica:


1 Definir una solución básica factible (punto extremo de inicio)
2 Verificar si se logra el objetivo en ese punto (criterio de detención)
3 Moverse de un punto extremo a otro más cercano a la meta de manera
eficiente (punto extremo adyacente), y regresar al paso 2.

Inicialización mediante
Método de las dos fases o
Método de la gran M
JPP-YANV Método Simplex Revisado
Método Simplex
Forma estándar
Forma estándar del problema de programación lineal
Escribir una Solución Básica Inicial (SBI)
Álgebra del método sı́mplex

Forma estándar del problema de programación lineal

Función objetivo de minimización, restricciones de igualdad y variables ≥ 0.


b ≥ 0 proporciona condiciones iniciales de factibilidad.

X ... En forma matricial


Minimizar z = ci xi
i∈I
Minimizar z =cT x
sujeto a:
(1) sujeto a:
(2)
X
ai,j xi = bj , ∀j ∈ J Ax = b
i∈I
x≥0
xi ≥ 0, ∀i ∈ I

Si P 6= ∅, entonces ∃v ∈ P y por tanto el número máximo de soluciones básicas


está dado por:  
n n!
= (3)
m m!(n − m)!

JPP-YANV Método Simplex Revisado


Método Simplex
Forma estándar
Forma estándar del problema de programación lineal
Escribir una Solución Básica Inicial (SBI)
Álgebra del método sı́mplex

Escribir un problema de PL en la forma estándar

Función objetivo: Minimizar z


Maximizar z debe reescribirse como Minimizar −z

Restricciones de igualdad
Todas las restricciones deben expresarse como relaciones de igualdad, ası́:
Restricciones de menor o igual: Dado que el valor de la función en el lado
izquierdo es menor o igual que el valor del parámetro del lado
derecho, se adiciona una variable de holgura.
Ejemplo: x1 + 3x2 ≤ 15 puede reescribirse como
x1 + 3x2 + x3 = 15
Restricciones de mayor o igual: Como la función del lado izquierdo es mayor o
igual que el valor del parámetro del lado derecho, se sustrae
una variable de superávit.
Ejemplo: x1 + 2x2 ≥ 20 puede reescribirse como
x1 + 2x2 − x4 = 20

JPP-YANV Método Simplex Revisado


Método Simplex
Forma estándar
Forma estándar del problema de programación lineal
Escribir una Solución Básica Inicial (SBI)
Álgebra del método sı́mplex

Escribir una Solución Básica Inicial (SBI)

Se parte de una SBI “factible” y se avanza por vértices adyacentes...

Forma estándar como SBI si la solución trivial es factible


Todas las restricciones del modelo son de menor o igual

SBI diferente a la forma estándar si la solución trivial no es factible


Existe por lo menos una restricción de mayor o igual
Existe por lo menos una restricción de igualdad

Se debe adicionar una variable artificial (VA) a cada restricción de ≥ o de =


Una VA es una medida de la violación de una restricción
Por lo menos una VA 6= 0 en la solución óptima → @ dominio factible.
x1 + 2x2 ≥ 20, que en la forma estándar es x1 + 2x2 − x4 = 20, debe reescribirse
como x1 + 2x2 − x4 + x5 = 20.
x1 + 3x2 = 12, deberı́a escribirse como x1 + 3x2 + x6 = 12
JPP-YANV Método Simplex Revisado
Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Álgebra del método sı́mplex

Sea x una solución factible, con xB los valores de las variables básicas y xN los
valores de las variables no básicas, con xB ≥ 0 y xN = 0 para una SBF, el
vector c, la matriz A y el vector x se pueden expresar como sigue:
B es una matriz no singular de m × m que se conoce como la base
N es la matriz conocida como no base, cuya dimensión es de m × (n − m)

Como:
cT cTB cTN
 
= Ax = b
 
A = B N Se tiene que:
 
xB
 
 xB
x =

xN B N = BxB + NxN = b
xN

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Álgebra del método Simplex

Conocida una base B, cada solución factible x ∈ P, puede ser expresada como
xB y xN no negativos.

El problema de programación lineal se convierte en:

Minimizar z =cTB xB + cTN xN


Sujeto a:
BxB + NxN = b (4)
xB ≥ 0
xN ≥ 0

Por lo tanto:

xB = B−1 b − B−1 NxN (5)

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Álgebra del método Simplex

Sustituyendo en la función objetivo

−1 −1
z = cT T
B (B b − B NxN ) + cN xN
−1 T −1
= cT T
B B b + (cN − cB B N)xN
  (6)
T −1 T xB
= cB B b + r
xN

Donde:
 
0
r= (7)
cN − (B−1 N)T cB

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Álgebra del método Simplex

El valor de la función objetivo z ∗ en la solución factible actual (x∗ ) es


z = cTB B−1 b pues x∗B = B−1 b y xN = 0 por lo cual:
 
xB
z − z ∗ = rT para cada x ∈ P (8)
xN

Solución óptima
Si r ≥ 0, esto es que cada componente de cTN − cTB B−1 N es no negativo,
entonces z − z ∗ ≥ 0, para cada solución factible x ∈ P

Costes reducidos
Si r contiene por lo menos un elemento menor que cero, la variable asociada en
xN puede incrementarse desde cero hasta un valor positivo, mejorando la
función objetivo.
El vector r se conoce como el vector de los costos reducidos.

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Álgebra del método Simplex

Criterio de detención - Prueba de la condición de óptimo


Del resultado anterior, es posible ver que para cada variable no
básica xq , q ∈ Ne donde Ne es el conjunto de ı́ndices de las variables
no básicas, en la solución óptima: rq = cq − cT −1
B B Nq ≥ 0 para
cada q ∈ N, e indicando el final de la implementación del método.

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Iteraciones en el método sı́mplex

Iteración: movimiento hasta una nueva solución básica factible (SBF) con una
mejora en la función objetivo, se requiere una buena dirección de traslación y
una adecuada longitud de desplazamiento.

Dirección de traslación
Vector d ∈ Rn , sólo se tienen en cuenta las direcciones de desplazamiento a un
punto adyacente. Una solución adyacente comparte m − 1 variables con la
solución actual.
Bajo el supuesto de no degeneración, cada SBF de P tiene exactamente
n − m puntos extremos adyacentes.
Una dirección de arista correspondiente a incrementar la variable no básica xq
está dada por:

−B−1 Aq
 
q
d = para q ∈ Ne (9)
eq
donde eq es un vector indicador,

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Iteraciones en el método sı́mplex

dq ∈ Rn es la dirección en que incrementa el valor de la variable xq , cambiando


los valores de las variables básicas actuales a xB = B−1 (b − xq Aq ).

Bajo el supuesto de no degeneración dq es una dirección factible .


Para una SBF degenerada (algunas de las variables básicas son iguales a
cero) tal dirección puede ser violada para algún valor positivo α en cuyo
caso la dirección es no factible. Una SBF degenerada es consecuencia de
la sobre determinación de un vértice, ya que algunas de las aristas
apuntan fuera de la región factible P

Si dq es una dirección factible para la actual SBF x∗ debe verificarse que


contribuya al mejoramiento de la función objetivo.

cT (x∗ + αdq ) < cT x∗ , α > 0 (10)


−1
−B Aq
 
cT dq = cTB |cTN = cq − cTB B−1 Aq < 0

(11)
eq

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Iteraciones en el método sı́mplex

Se requiere que el costo reducido sea menor que cero rq < 0 para asegurar una
buena dirección de traslación.
Teorema 1
Sea
B−1 b
 
x∗ = (12)
0
una solución factible para un PL con base B. Si rq < 0, el costo reducido para
alguna variable no básica xq es menor que cero, entonces la dirección evaluada
conduce a una mejora de la función objetivo.

Teorema 2
Sea x∗ una SBF al problema de PL. Si existe una dirección factible dq ≥ 0 con
un costo reducido rq < 0 para alguna variable no básica xq , entonces el
problema es no acotado.

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Iteraciones en el método sı́mplex

Selección de la variable a incluir


Es frecuente que para la SBF actual haya más de una variable no básica con
costo reducido menor que cero.
Regla del menor ı́ndice con la cual se selecciona el menor ı́ndice q para el
cual rq < 0
Regla de la mayor reducción, con la cual se selecciona el ı́ndice q cuyo
valor rq sea el más negativo.

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Iteraciones en el método sı́mplex

Longitud de desplazamiento α ≥ 0, Prueba de la razón mı́nima


α ≥ 0 tal que x∗ + αdq sea una nueva SBF resultante de incluir la variable xq .
Si dq es una dirección factible, esto es dq tiene componentes negativos, dado
que Adq = 0, se requiere que:
( )
Min xj∗ q
α= − q |dj < 0 (13)
j ∈B e dj

donde xj∗ es el j-ésimo término de x∗ , B


e es el conjunto de ı́ndices de las
q
variables básicas, y dj es el componente en dq correspondiente a la variable
básica xj∗ .

Prueba de la razón mı́nima


Se emplea para determinar cual de las variables básicas debe abandonar la base
al incorporar la variable xq .

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Iteraciones en el método sı́mplex

Si α = 0, se trata de un punto degenerado, no existe


desplazamiento sino que se mantiene en el mismo punto
extremo.
Bajo el supuesto de no degeneración, el método sı́mplex
termina en un número finito de iteraciones. En caso de
degeneración el método sı́mplex puede quedar atrapado en un
ciclo interminable conocido como ciclaje.
El hecho de incluir una nueva variable en la base a la vez que
se retira una de las existentes se conoce como pivoteo.

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Inicialización del método sı́mplex


Se requiere encontrar una SBF eliminando las variables artificiales de la base
Método de las dos Fases
Fase I: Se resuelve el PL cuya función objetivo es minimizar la
sumatoria de las variables artificiales, sujeta a todas las
restricciones del problema, siguiendo el Método Simplex (hasta
llegar a la solución óptima).
Fase II: Una vez en la solución óptima de la primera fase, con todas las
variables artificiales no básicas.
Se cambia a la función objetivo original,
Se eliminan las columnas de las variables artificiales y,
Se continúa con el método simplex a partir de la solución
actual.

Método de la gran M
Establece una penalización M muy grande (M >> 0) para cada variable
artificial de la base, y se resuelve de forma normal.
JPP-YANV Método Simplex Revisado
Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Inicialización del método sı́mplex

Suponiendo un PL de n variables y m restricciones, para el cual b ≥ 0 se tiene:


xa = (x1a , x2a , . . . , x`a , )T ∈ R` es un vector de dimensión ` ≤ m de variables
artificiales, en este caso suponemos ` = m.

m
X
Minimizar z = xia
i=1

sujeto a: Ax + xa = b; (14)
x≥0
xa ≥ 0

La fase I del problema conduce a una solución óptima que resulta en:
 0 
x
(15)
xa∗

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Inicialización del método sı́mplex

Se tienen dos resultados posibles:


1 xa∗ 6= 0, en este caso el problema original es no factible.
2 xa∗ = 0, si la base actual no contiene variables artificiales x0 forma una
base factible para iniciar la solución del problema original; si es no
degenerada x0 tiene m elementos positivos para formar la base.
De lo contrario se tiene una variable artificial en la base xka = 0 la k-ésima
variable en la base actual, entonces se denota ek como un vector de
dimensión m con su k-ésimo elemento igual a uno y los restantes iguales
a cero y se considera el valor eTk B−1 Aq para cada variable no básica xq
asociada con la actual solución óptima. Existen dos posibilidades:
−1
1 Si eT
k B Aq 6= 0 para una variable no básica xq , entonces es
posible entrar a la base la variable xq reemplazando a xka .
−1
2 Si eT
k B Aq = 0 para cada una de las variables no básicas xq ,
entonces se sabe que la k-ésima fila del conjunto de
restricciones Ax = b es redundante.
JPP-YANV Método Simplex Revisado
Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Inicialización del método sı́mplex

Método de la Gran M
Se modifica la función objetivo de la forma estándar, agregando un coeficiente
M para cada una de las variables artificiales.

n
X m
X
Minimizar z = xj + Mxia
j=1 i=1
a (16)
sujeto a: Ax + x = b;
x≥0
xa ≥ 0

La solución básica inicial es:


   
x 0
= (17)
xa b

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Inicialización del método sı́mplex

El problema tiene una solución óptima finita en (x∗ , xa∗ ):


Si en este caso xa∗ = 0, la solución obtenida es la solución óptima del problema
original, porque para cada solución factible del problema original
 
x
(18)
0
Si la solución óptima incluye por lo menos una variable artificial con un valor
diferente de cero, el problema es no factible.

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Degeneración y ciclaje

En una SBF x degenerada con p(< m) componentes positivos, se pueden tener


 
n−p (n − p)!
=
n−m (n − m)!(m − p)!
bases para el mismo punto extremo x.

Una SBF degenerada puede ser óptima aún con costos reducidos negativos, si
las posibles direcciones son no factibles.
α = 0 si por lo menos una de las variables básicas es igual a cero en la PRM

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Degeneración y ciclaje

La SBF no degenerada x debe caer en la intersección de n hiperplanos


linealmente independientes definidos por el sistema:
     
b xB B N
Mx = donde x = y M=
0 xN 0 I
El vector x es únicamente determinado por:
  −1
B−1 N
  
−1 b B b
x=M = (19)
0 0 I 0
Una SB de un problema degenerado tiene al menos una ecuación lineal xp = 0
−1
M es la matriz fundamental y cada dirección dq es una columna de M para
la variable no básica xq .

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Prevención del ciclaje

Las soluciones básicas degeneradas pueden eliminarse con una ligera


perturbación en los parámetros. Los métodos más comunes para prevenir el
ciclaje son:
Regla lexicográfica propuesta por Dantzig en 1955
Regla de Bland propuesta por Bland en 1977
En ausencia de degeneración, el valor de la función objetivo decrece de una
iteración a otra en un comportamiento monótonamente decreciente de manera
que no se repite ninguna base. En presencia de degeneración no se garantiza un
comportamiento estrictamente decreciente, una base puede ser visitada varias
veces si no se implementa un procedimiento para prevenirlo.

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Prevención del ciclaje

Regla lexicográfica → determinar la variable que debe abandonar la base actual.


Asegura la ausencia de ciclo, mientras el valor de la función objetivo cTB B−1 b
puede permanecer constante en degeneración, [ cTB B−1 b cTB B−1 ]T puede
mantenerse lexicográficamente monótonamente decreciente.
1 Prueba de la razón mı́nima para determinar las variables candidatas a
salir de la base. Si se obtiene un único valor la variable asociada a este
debe dejar la base.
2 Si hay empate entre variables, se aplica otra prueba de la razón mı́nima
pero en lugar de utilizar el valor resultante de B−1 b se utilizan los
elementos del vector B−1 ap1 donde ap1 es el vector columna de la matriz
A que corresponde a la variable xp1 con el ı́ndice más bajo;
3 Si persiste el empate se aplica nuevamente la prueba de la razón mı́nima
pero con base en el vector B−1 ap2 donde xp2 es la variable básica con el
segundo ı́ndice más bajo, y ası́... se obtiene una secuencia lexicográ-
ficamente monótonamente decreciente para [ cTB B−1 b cTB B−1 ]T .

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Prevención del ciclaje

Regla de Bland
Tiene en cuenta tanto la variable que entra a la base como la que sale de ésta.
Es necesario seguir el procedimiento:
1 Entre las variables con costo reducido negativo (rT ), se escoge la de
menor ı́ndice como candidata a entrar a la base.
2 En presencia de empate entre dos variables, en la prueba de la razón
mı́nima, se selecciona la variable con el menor ı́ndice para que deje la
base.
La regla de Bland crea la siguiente propiedad monótona: Si una variable xq
entra a la base, esta no puede abandonar la base hasta que otra variable con un
ı́ndice mayor, la cual era no básica cuando xq entró, también entra a la base.
Esto evita el ciclaje pues en un ciclo una variable que entra a la base debe salir
de ella, lo que implica una variable de ı́ndice mayor que entra y sale de la base,
contradiciendo la propiedad monótona explicada.

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Método Sı́mplex Revisado

Método numérico basado en el álgebra matricial

Ventajas
Ahorro en términos de memoria o espacio de almacenamiento
Trabaja siempre a partir de los datos iniciales
Minimiza el error de precisión que se causa cuando se trabaja
con números irracionales.

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Método Simplex Revisado


i. Escribir el problema en la forma estándar y determinar una SBI
Luego se debe identificar los conjuntos, vectores y matrices a partir de los
cuales se realizan los cálculos:
cTB Vector fila de coeficientes de las variables básicas en la función
objetivo.
cTN Vector fila de coeficientes de las variables no básicas en la
función objetivo.
b Vector de los recursos, o del lado derecho de las restricciones.
B Matriz de los coeficientes de las restricciones asociados a las
variables básicas.
N Matriz de los coeficientes de las restricciones asociados a las
variables no básicas.

ii. Calcular la matriz inversa de B


Es decir, la matriz B−1 tal que: B−1 B = I
JPP-YANV Método Simplex Revisado
Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Método Simplex Revisado

iii. Calcular el vector x

x = B−1 b

iv. Calcular el valor de la función objetivo:

z = cTB x

v. Calcular el vector wT , costes reducidos de las restricciones

wT = cTB B−1

vi. Calcular el vector rT


Es el vector de los costes reducidos o costes de oportunidad de las variables no
básicas:
rT = cTN − wT N

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Método Simplex Revisado


vii. Verificar condición de óptimo
Si rq ≥ 0, ∀rq ∈ rT la solución es óptima.
De lo contrario ir al paso viii.

viii. Determinar la variable que entra


Se determina la variable que entra a la base, variable no básica asociada al
valor rq < 0, regla de Bland o Lexicográfica.

ix. Calcular el vector dirección


d = −B−1 Aq , donde Aq es el vector asociado a la variable que entra.

x. Aplicar la prueba de la razón mı́nima


Dividir uno a uno los términos del vector −x, entre los términos del vector d, y
−x −x
seleccionar aquella variable básica. Tal que mı́n{ dpp | dpp ≥ 0}, el subı́ndice p
es el asociado a la variable que sale de la base.
JPP-YANV Método Simplex Revisado
Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Método Simplex Revisado

xi. Actualizar los vectores y matrices de acuerdo con la nueva base


Actualizar cT T
B , cN , B y N, incluyendo los coeficientes asociados a
la variable que entra en la base, en reemplazo de los
correspondientes a la variable que sale.
Regresar al paso ii.

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Ejemplo del Método Sı́mplex Revisado

Maximizar z =3x1 + 4x2


Sujeto a:
6x1 + x2 ≥ 12
5x1 + 2x2 ≤ 30
(20)
8x1 + 10x2 ≤ 80
x1 − 4x2 ≤ 1
x1 + x2 ≥ 5
x1 , x2 ≥ 0

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Forma estándar y Solución básica inicial

Maximizar z =3x1 + 4x2


Sujeto a:
6x1 + x2 − x3 + x4 = 12
5x1 + 2x2 + x5 = 30
(21)
8x1 + 10x2 + x6 = 80
x1 − 4x2 + x7 = 1
x1 + x2 − x8 + x9 = 5
x1 , x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 ≥ 0

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Primera fase

Identificación de las matrices y vectores que representan el problema en la SBI


Variables no básicas: {x1 , x2 , x3 , x8 }
Variables básicas: {x4 , x5 , x6 , x7 , x9 }

cTN = cTB =
   
0 0 0 0 1 0 0 0 1

     
6 1 −1 0 1 0 0 0 0 12

 5 2 0 0 


 0 1 0 0 0 


 30 

N=
 8 10 0 0 
 B=
 0 0 1 0 0 
 b=
 80 

 1 −4 0 0   0 0 0 1 0   1 
1 1 0 −1 0 0 0 0 1 5

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Primera fase, VB: {x4 , x5 , x6 , x7 , x9 }, VNB: {x1 , x2 , x3 , x8 }


Cálculos para la solución básica inicial
 
1 0 0 0 0
 0 1 0 0 0 
B−1 = 
 
 0 0 1 0 0 

 0 0 0 1 0 
0 0 0 0 1
    
1 0 0 0 0 12 12
 0 1 0 0 0   30   30 
x = B−1 b = 
    
 0 0 1 0 0   80  =  80 
   
 0 0 0 1 0  0   1 
0 0 0 0 1 5 5
 
12
  30 
 
z = cTB x =

1 0 0 0 1   80  = 17

 0 
5
JPP-YANV Método Simplex Revisado
Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Primera Fase, VB: {x4 , x5 , x6 , x7 , x9 }, VNB: {x1 , x2 , x3 , x8 }

Cálculos para la solución básica inicial

1 0 0 0 0
 

 0 1 0 0 0 
T T −1   
w = cB B = 1 0 0 0 1  0 0 1 0 0 = 1 0 0 0 1
 
 0 0 0 1 0 
0 0 0 0 1

6 1 −1 0
 

 5 2 0 0 
T T T   
r = cN − w N = 0 0 0 0 − 1 0 0 0 1  8 10 0 0
 

 1 −4 0 0 
1 1 0 −1
 
= −7 −2 1 1

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Primera Fase, VB: {x4 , x5 , x6 , x7 , x9 }, VNB: {x1 , x2 , x3 , x8 }


 
6

 5 

aq = 
 8 

 1 
1
    
1 0 0 0 0 6 −6
 0 1 0 0 0  5   −5 
dq = −B−1 aq = − 
    
 0 0 1 0 0 
 8 =
  −8 

 0 0 0 1 0  1   −1 
0 0 0 0 1 1 −1
−12/ − 6 2
−30/ − 5 6
Prueba de la razón mı́nima: −80/ − 8 = 10
−1/ − 1 1
−5/ − 1 5

JPP-YANV Método Simplex Revisado


Método Simplex Criterio de detención - Prueba de la condición de óptimo
Forma estándar del problema de programación lineal Iteraciones en el método sı́mplex
Álgebra del método sı́mplex Método Sı́mplex Revisado

Primera Fase

Actualización de las variables básicas, no básicas, y de las matrices y vectores


que conforman el problema
Variables no básicas: {x7 , x2 , x3 , x8 }
Variables básicas: {x4 , x5 , x6 , x1 , x9 }

cTN = cTB =
   
0 0 0 0 1 0 0 0 1

     
0 1 −1 0 1 0 0 6 0 12

 0 2 0 0 


 0 1 0 5 0 


 30 

N=
 0 10 0 0 
 B=
 0 0 1 8 0 
 b=
 80 

 1 −4 0 0   0 0 0 1 0   1 
0 1 0 −1 0 0 0 1 1 5

JPP-YANV Método Simplex Revisado

También podría gustarte