Está en la página 1de 79

Modulo 2.

1: Algoritmo Símplex

Oriol Jorba Ferro Métodos Matemáticos e Investigación operativa


Formalización Programación Lineal: Forma Canónica o simétrica

❑Forma Canónica (o Simétrica)


❑ Todas las restricciones del modelo son desigualdades.

❑ Maximización: Las restricciones debe ser menor o igual (≤).

❑ Minimización: Las restricciones debe ser mayor o igual (≥).

𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙 𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙

𝑠. 𝑎. 𝐴𝒙 ≤ 𝒃 𝑠. 𝑎. 𝐴𝒙 ≥ 𝒃
𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑛 𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑛

❑ Todo problema de Programación Lineal puede ser escrito en la forma canónica (o simétrica)
Formalización Programación Lineal: Forma Canónica o simétrica

Ejemplo de transformación en Forma Canónica (o simétrica): 𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙

𝑚𝑎𝑥 𝑧 = 5𝑥1 + 2𝑥2 + 4𝑥3 𝑠. 𝑎. 𝐴𝒙 ≤ 𝒃

𝑠. 𝑎. 2𝑥1 + 𝑥2 + 3𝑥3 ≤ 6 𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑛

𝑥1 +4𝑥2 + 2𝑥3 ≥ 1
𝑥1 ≤ 0, 𝑥2 ≥ 0, 𝑥3 𝜖 ℝ
Formalización Programación Lineal: Forma Canónica o simétrica

Ejemplo de transformación en Forma Canónica (o simétrica): 𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙

𝑚𝑎𝑥 𝑧 = 5𝑥1 + 2𝑥2 + 4𝑥3 𝑠. 𝑎. 𝐴𝒙 ≤ 𝒃

𝑠. 𝑎. 2𝑥1 + 𝑥2 + 3𝑥3 ≤ 6 𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑛

𝑥1 +4𝑥2 + 2𝑥3 ≥ 1
𝑥1 ≤ 0, 𝑥2 ≥ 0, 𝑥3 𝜖 ℝ

Cambios de variables:
𝑥1 = −𝑥1′
𝑥3 = 𝑥3+ − 𝑥3−
Formalización Programación Lineal: Forma Canónica o simétrica

Ejemplo de transformación en Forma Canónica (o simétrica): 𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙

𝑚𝑎𝑥 𝑧 = 5𝑥1 + 2𝑥2 + 4𝑥3 𝑠. 𝑎. 𝐴𝒙 ≤ 𝒃

𝑠. 𝑎. 2𝑥1 + 𝑥2 + 3𝑥3 ≤ 6 𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑛

𝑥1 +4𝑥2 + 2𝑥3 ≥ 1
𝑥1 ≤ 0, 𝑥2 ≥ 0, 𝑥3 𝜖 ℝ

Cambios de variables:
𝑥1 = −𝑥1′
𝑥3 = 𝑥3+ − 𝑥3−

𝑚𝑎𝑥 𝑧 = −5𝑥1′ + 2𝑥2 + 4(𝑥3+ −𝑥3− )


𝑠. 𝑎. −2𝑥1′ +𝑥2 + 3(𝑥3+ − 𝑥3− ) ≤ 6
−𝑥1′ +4𝑥2 + 2(𝑥3+ −𝑥3− ) ≥ 1
𝑥1′ ≥ 0, 𝑥2 ≥ 0, 𝑥3+ ≥ 0, 𝑥3− ≥ 0
Formalización Programación Lineal: Forma Canónica o simétrica

Ejemplo de transformación en Forma Canónica (o simétrica): 𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙

𝑚𝑎𝑥 𝑧 = 5𝑥1 + 2𝑥2 + 4𝑥3 𝑠. 𝑎. 𝐴𝒙 ≤ 𝒃

𝑠. 𝑎. 2𝑥1 + 𝑥2 + 3𝑥3 ≤ 6 𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑛

𝑥1 +4𝑥2 + 2𝑥3 ≥ 1
𝑥1 ≤ 0, 𝑥2 ≥ 0, 𝑥3 𝜖 ℝ

Cambios de variables:
𝑥1 = −𝑥1′
𝑥3 = 𝑥3+ − 𝑥3−

𝑚𝑎𝑥 𝑧 = −5𝑥1′ + 2𝑥2 + 4(𝑥3+ −𝑥3− )


𝑠. 𝑎. −2𝑥1′ +𝑥2 + 3(𝑥3+ − 𝑥3− ) ≤ 6
−𝑥1′ +4𝑥2 + 2(𝑥3+ −𝑥3− ) ≥ 1
𝑥1′ ≥ 0, 𝑥2 ≥ 0, 𝑥3+ ≥ 0, 𝑥3− ≥ 0
Formalización Programación Lineal: Forma Canónica o simétrica

Ejemplo de transformación en Forma Canónica (o simétrica): 𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙

𝑚𝑎𝑥 𝑧 = 5𝑥1 + 2𝑥2 + 4𝑥3 𝑠. 𝑎. 𝐴𝒙 ≤ 𝒃

𝑠. 𝑎. 2𝑥1 + 𝑥2 + 3𝑥3 ≤ 6 𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑛

𝑥1 +4𝑥2 + 2𝑥3 ≥ 1
𝑥1 ≤ 0, 𝑥2 ≥ 0, 𝑥3 𝜖 ℝ

Cambios de variables:
𝑥1 = −𝑥1′
𝑥3 = 𝑥3+ − 𝑥3−

𝑚𝑎𝑥 𝑧 = −5𝑥1′ + 2𝑥2 + 4(𝑥3+ −𝑥3− ) 𝑚𝑎𝑥 𝑧 = −5𝑥1′ + 2𝑥2 + 4𝑥3+ − 4𝑥3−
𝑠. 𝑎. −2𝑥1′ +𝑥2 + 3(𝑥3+ − 𝑥3− ) ≤ 6 𝑠. 𝑎. −2𝑥1′ +𝑥2 + 3𝑥3+ − 3𝑥3− ≤ 6
−𝑥1′ +4𝑥2 + 2(𝑥3+ −𝑥3− ) ≥ 1 𝑥1′ −4𝑥2 − 2𝑥3+ + 2𝑥3− ≤ −1
𝑥1′ ≥ 0, 𝑥2 ≥ 0, 𝑥3+ ≥ 0, 𝑥3− ≥ 0 𝑥1′ ≥ 0, 𝑥2 ≥ 0, 𝑥3+ ≥ 0, 𝑥3− ≥ 0
Formalización Programación Lineal: Estándar

❑Forma Estándar
❑ No hay ninguna desigualdad de tipo ≤ o ≥.
𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙
❑ El vector de términos independientes debe ser
𝑠. 𝑎. 𝐴𝒙 = 𝒃
positivo 𝑏𝑖 ≥ 0.
𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑘
𝑏𝑖 ≥ 0 ∀ 𝑖 = 1, … , 𝑚 ❑ Todo problema de Programación Lineal puede
ser escrito en la forma estándar.
Formalización Programación Lineal: Estándar

❑Forma Estándar
❑ No hay ninguna desigualdad de tipo ≤ o ≥.
𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙
❑ El vector de términos independientes debe ser
𝑠. 𝑎. 𝐴𝒙 = 𝒃
positivo 𝑏𝑖 ≥ 0.
𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑘
𝑏𝑖 ≥ 0 ∀ 𝑖 = 1, … , 𝑚 ❑ Todo problema de Programación Lineal puede
ser escrito en la forma estándar.

❑Variables de holgura

❑ Desigualdad de tipo ≤:
ℎ≥0
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≤ 𝑏1 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛 + ℎ = 𝑏
Formalización Programación Lineal: Estándar

❑Forma Estándar
❑ No hay ninguna desigualdad de tipo ≤ o ≥.
𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙
❑ El vector de términos independientes debe ser
𝑠. 𝑎. 𝐴𝒙 = 𝒃
positivo 𝑏𝑖 ≥ 0.
𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑘
𝑏𝑖 ≥ 0 ∀ 𝑖 = 1, … , 𝑚 ❑ Todo problema de Programación Lineal puede
ser escrito en la forma estándar.

❑Variables de holgura

❑ Desigualdad de tipo ≤:
ℎ≥0
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≤ 𝑏1 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛 + ℎ = 𝑏

❑ Desigualdad de tipo ≥:
𝑒≥0
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 ≥ 𝑏2 𝑎1 𝑥1 + 𝑎2 𝑥2 + ⋯ + 𝑎𝑛 𝑥𝑛 − 𝑒 = 𝑏
Formalización Programación Lineal: Estándar

❑Forma Estándar
❑ No hay ninguna desigualdad de tipo ≤ o ≥.
𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙
❑ El vector de términos independientes debe ser
𝑠. 𝑎. 𝐴𝒙 = 𝒃
positivo 𝑏𝑖 ≥ 0.
𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑘
𝑏𝑖 ≥ 0 ∀ 𝑖 = 1, … , 𝑚 ❑ Todo problema de Programación Lineal puede
ser escrito en la forma estándar.

❑Variables de holgura ❑ 𝑘 = 𝑚 + 𝑛 = 𝑉𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠 𝑑𝑒 𝐻𝑜𝑙𝑔𝑢𝑟𝑎 + 𝑉𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠 𝑑𝑒 𝑑𝑒𝑐𝑖𝑠𝑖ó𝑛

❑ Desigualdad de tipo ≤:
ℎ≥0
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≤ 𝑏1 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛 + ℎ = 𝑏

❑ Desigualdad de tipo ≥:
𝑒≥0
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 ≥ 𝑏2 𝑎1 𝑥1 + 𝑎2 𝑥2 + ⋯ + 𝑎𝑛 𝑥𝑛 − 𝑒 = 𝑏
Formalización Programación Lineal: Forma Estándar

Ejemplo de transformación en Forma Estándar:


𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙
𝑚𝑎𝑥 𝑧 = 𝑥1 + 2𝑥2 − 3𝑥3
𝑠. 𝑎. 𝐴𝒙 = 𝒃
𝑠. 𝑎. 2𝑥1 + 𝑥2 + 3𝑥3 ≤ 6
𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑘
𝑥1 −2𝑥2 + 4𝑥3 ≤ −1
𝑏𝑖 ≥ 0 ∀ 𝑖 = 1, … , 𝑚
𝑥𝑖 ≥ 0 ∀ 𝑖 = 1,2,3

❖ Todos los términos independientes han de ser 𝑏𝑖 ≥ 0:

𝑥1 −2𝑥2 + 4𝑥3 ≤ −1 → −𝑥1 +2𝑥2 − 4𝑥3 ≥ 1

❖ Añadimos la variable de holgura (ℎ1 ) a la primera restricción:

2𝑥1 + 𝑥2 + 3𝑥3 ≤ 6 → 2𝑥1 +𝑥2 + 3𝑥3 +ℎ1 = 6

❖ Añadimos la variable de excedencia (𝑒2 ) a la segunda restricción:

−𝑥1 + 2𝑥2 − 4𝑥3 ≥ 1 → −𝑥1 +2𝑥2 − 4𝑥3 − 𝑒2 = 1


Formalización Programación Lineal: Forma Estándar

Ejemplo de transformación en Forma Estándar:


𝑂𝑝𝑡𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 𝐶𝒙
𝑚𝑎𝑥 𝑧 = 𝑥1 + 2𝑥2 − 3𝑥3
𝑠. 𝑎. 𝐴𝒙 = 𝒃
𝑠. 𝑎. 2𝑥1 + 𝑥2 + 3𝑥3 ≤ 6
𝑥𝑗 ≥ 0 ∀ 𝑗 = 1, … , 𝑘
𝑥1 −2𝑥2 + 4𝑥3 ≤ −1
𝑏𝑖 ≥ 0 ∀ 𝑖 = 1, … , 𝑚
𝑥𝑖 ≥ 0 ∀ 𝑖 = 1,2,3

❖ Todos los términos independientes han de ser 𝑏𝑖 ≥ 0:

𝑥1 −2𝑥2 + 4𝑥3 ≤ −1 → −𝑥1 +2𝑥2 − 4𝑥3 ≥ 1


𝑚𝑎𝑥 𝑧 = 𝑥1 + 2𝑥2 − 3𝑥3
❖ Añadimos la variable de holgura (ℎ1 ) a la primera restricción: 𝑠. 𝑎. 2𝑥1 + 𝑥2 + 3𝑥3 + ℎ1 = 6
−𝑥1 + 2𝑥2 − 4𝑥3 − 𝑒2 = 1
2𝑥1 + 𝑥2 + 3𝑥3 ≤ 6 → 2𝑥1 +𝑥2 + 3𝑥3 +ℎ1 = 6
𝑥𝑖 ≥ 0 ∀ 𝑖 = 1,2,3
❖ Añadimos la variable de excedencia (𝑒2 ) a la segunda restricción: ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2

−𝑥1 + 2𝑥2 − 4𝑥3 ≥ 1 → −𝑥1 +2𝑥2 − 4𝑥3 − 𝑒2 = 1


Solución básica

❑Solución básica
❖ La forma estándar de un Programa Lineal:
𝑜𝑝𝑡 𝑧 = 𝐶𝒙

𝑠. 𝑎. 𝐴𝒙 = 𝑏
𝒙≥0
❖ En general:

𝑟𝑎𝑛𝑔𝑜 𝐴 ≤ 𝑚 𝑟𝑎𝑛𝑔𝑜 𝐴 es el número de filas (o columnas) linealmente independientes

En este ejemplo:
𝑚=2
m𝑎𝑥 𝑧 = 𝑥1 + 2𝑥2 − 3𝑥3 𝑛=5
𝑠. 𝑎. 2𝑥1 + 𝑥2 + 3𝑥3 + ℎ1 = 6
El número de variables es mayor que el número de ecuaciones, por tanto,
−𝑥1 + 2𝑥2 − 4𝑥3 − ℎ2 = 1
tendremos un sistema compatible indeterminado con infinitas soluciones.
𝑥𝑖 ≥ 0 ∀ 𝑖 = 1,2,3
ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2 𝑚<𝑛
Soluciones básicas

❑Solución básica 𝑚𝑖𝑛 𝑧 = 𝐶𝒙


𝑠. 𝑎. 𝐴𝒙 = 𝑏
❖ Una solución básica de una forma estándar de un PL es una solución que:
𝒙≥0
❖ Tiene 𝑛 − 𝑚 variables son igual que cero.
❖ Satisface 𝐴𝒙 = 𝑏.
❖ Las 𝑛 − 𝑚 variables que hemos escogido que sean cero son variables no básicas.
❖ Las 𝑚 variables restantes son variables básicas.

❖ Definamos:
𝑥 𝐵 como el vector de variables básicas: 𝑥 𝐵 𝜖 ℝ𝑚 .
𝑥 𝑆 como el vector de variables no básicas (o secundarias): 𝑥 𝑆 𝜖 ℝ𝑛−𝑚 .
𝐵 como la submatriz de 𝐴 que corresponde con las columnas de las variables básicas: 𝐵 𝜖 ℝ𝑚∗𝑚 .

𝐵𝒙𝑩 + 𝑆𝒙𝒔 = 𝑏 𝐵𝒙𝑩 = 𝑏𝐵 𝒙 = 𝐵 −1 𝑏𝐵


Soluciones básicas

Ejemplo
En Forma estándar:
max 𝑧 = 6𝑥1 + 8𝑥2 2𝑥1 + 𝑥2 = 6
min 𝑧 = 6𝑥1 + 8𝑥2
𝑠. 𝑎. 𝑥1 + 2𝑥2 ≤ 6
𝑠. 𝑎. 𝑥1 + 2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 ≤ 6 𝑥1 +2𝑥2 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6
𝑥𝑖 ≥ 0 ∀ 𝑖 = 1,2
𝑥𝑖 ≥ 0, ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2
𝑛=4 Hay 𝑛 − 𝑚 variables no básicas.
𝑚=2 Hay 𝑚 variables básicas
Pasos para obtener una solución básica:

1. Determinar un conjunto de 𝑚 variables que conforman las variables básicas.


2. Las demás variables formarán el conjunto de variables no básicas.
3. Fijamos el valor de las variables no básicas a cero.
4. Resolvemos el sistema de ecuaciones lineales 𝐵𝑥 𝐵 = 𝑏𝐵
Soluciones básicas

Ejemplo
En Forma estándar:
max 𝑧 = 6𝑥1 + 8𝑥2 2𝑥1 + 𝑥2 = 6
min 𝑧 = 6𝑥1 + 8𝑥2
𝑠. 𝑎. 𝑥1 + 2𝑥2 ≤ 6
𝑠. 𝑎. 𝒙𝟏 + 𝟐𝒙𝟐 + ℎ1 = 6
2𝑥1 + 𝑥2 ≤ 6 𝑥1 +2𝑥2 = 6
𝟐𝒙𝟏 + 𝒙𝟐 + ℎ2 = 6
𝑥𝑖 ≥ 0 ∀ 𝑖 = 1,2
𝑥𝑖 ≥ 0, ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2
𝑛=4 Hay 𝑛 − 𝑚 variables no básicas.
𝑚=2 Hay 𝑚 variables básicas
Pasos para obtener una solución básica:

1. Determinar un conjunto de 𝒎 variables que conforman las variables básicas: 𝒙𝑩 = (𝒙𝟏 , 𝒙𝟐 )


2. Las demás variables formarán el conjunto de variables no básicas.
3. Fijamos el valor de las variables no básicas a cero.
4. Resolvemos el sistema de ecuaciones lineales 𝐵𝑥 𝐵 = 𝑏𝐵
Soluciones básicas

Ejemplo
En Forma estándar:
max 𝑧 = 6𝑥1 + 8𝑥2 2𝑥1 + 𝑥2 = 6
min 𝑧 = 6𝑥1 + 8𝑥2
𝑠. 𝑎. 𝑥1 + 2𝑥2 ≤ 6
𝑠. 𝑎. 𝑥1 + 2𝑥2 + 𝒉𝟏 = 6
2𝑥1 + 𝑥2 ≤ 6 𝑥1 +2𝑥2 = 6
2𝑥1 + 𝑥2 + 𝒉𝟐 = 6
𝑥𝑖 ≥ 0 ∀ 𝑖 = 1,2
𝑥𝑖 ≥ 0, ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2
𝑛=4 Hay 𝑛 − 𝑚 variables no básicas.
𝑚=2 Hay 𝑚 variables básicas
Pasos para obtener una solución básica:

1. Determinar un conjunto de 𝑚 variables que conforman las variables básicas: 𝑥 𝐵 = (𝑥1 , 𝑥2 )


2. Las demás variables formarán el conjunto de variables no básicas: 𝒙𝑺 = 𝒉𝟏 , 𝒉𝟐
3. Fijamos el valor de las variables no básicas a cero
4. Resolvemos el sistema de ecuaciones lineales 𝐵𝑥 𝐵 = 𝑏𝐵
Soluciones básicas

Ejemplo
En Forma estándar:
max 𝑧 = 6𝑥1 + 8𝑥2 2𝑥1 + 𝑥2 = 6
min 𝑧 = 6𝑥1 + 8𝑥2
𝑠. 𝑎. 𝑥1 + 2𝑥2 ≤ 6
𝑠. 𝑎. 𝑥1 + 2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 ≤ 6 𝑥1 +2𝑥2 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6
𝑥𝑖 ≥ 0 ∀ 𝑖 = 1,2
𝑥𝑖 ≥ 0, ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2
𝑛=4 Hay 𝑛 − 𝑚 variables no básicas.
𝑚=2 Hay 𝑚 variables básicas
Pasos para obtener una solución básica:

1. Determinar un conjunto de 𝑚 variables que conforman las variables básicas: 𝑥 𝐵 = (𝑥1 , 𝑥2 )


2. Las demás variables formarán el conjunto de variables no básicas: 𝑥 𝑆 = ℎ1 , ℎ2
3. Fijamos el valor de las variables no básicas a cero: 𝒙𝑺 = 𝟎
4. Resolvemos el sistema de ecuaciones lineales 𝐵𝑥 𝐵 = 𝑏𝐵
Soluciones básicas

Ejemplo
En Forma estándar:
max 𝑧 = 6𝑥1 + 8𝑥2 2𝑥1 + 𝑥2 = 6
min 𝑧 = 6𝑥1 + 8𝑥2
𝑠. 𝑎. 𝑥1 + 2𝑥2 ≤ 6
𝑠. 𝑎. 𝑥1 + 2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 ≤ 6 𝑥1 +2𝑥2 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6
𝑥𝑖 ≥ 0 ∀ 𝑖 = 1,2
𝑥𝑖 ≥ 0, ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2
𝑛=4 Hay 𝑛 − 𝑚 variables no básicas.
𝑚=2 Hay 𝑚 variables básicas
Pasos para obtener una solución básica:

1. Determinar un conjunto de 𝑚 variables que conforman las variables básicas: 𝑥 𝐵 = (𝑥1 , 𝑥2 )


2. Las demás variables formarán el conjunto de variables no básicas: 𝑥 𝑆 = ℎ1 , ℎ2
3. Fijamos el valor de las variables no básicas a cero: 𝑥 𝑆 = 0
4. Resolvemos el sistema de ecuaciones lineales 𝑩𝒙𝑩 = 𝒃𝑩
𝑥1 +2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6

𝑥 = 𝑥1 , 𝑥2 , ℎ1 , ℎ2 = 2,2,0,0 es una solución básica


Soluciones básicas

Ejemplo max 𝑧 = 6𝑥1 + 8𝑥2


𝑠. 𝑎. 𝑥1 + 2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6 2𝑥1 + 𝑥2 = 6
𝑥𝑖 ≥ 0, ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2
❖ Probamos con otra base (conjunto de variables básicas):
𝑥1 +2𝑥2 = 6
𝑥 𝐵 = ℎ1 , ℎ2 𝑥 𝑆 = 𝑥1 , 𝑥2 = (0,0)
𝑥1 +2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6 𝑥 = 𝑥1 , 𝑥2 , ℎ1 , ℎ2 = 0,0,6,6 es una solución básica
Soluciones básicas

Ejemplo max 𝑧 = 6𝑥1 + 8𝑥2


𝑠. 𝑎. 𝑥1 + 2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6 2𝑥1 + 𝑥2 = 6
𝑥𝑖 ≥ 0, ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2
❖ Probamos con otra base (conjunto de variables básicas):
𝑥1 +2𝑥2 = 6
𝑥 𝐵 = ℎ1 , ℎ2 𝑥 𝑆 = 𝑥1 , 𝑥2 = (0,0)
𝑥1 +2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6 𝑥 = 𝑥1 , 𝑥2 , ℎ1 , ℎ2 = 0,0,6,6 es una solución básica

❖ Probamos con otra base:

𝑥 𝐵 = 𝑥1 , ℎ2 𝑥 𝑆 = 𝑥2 , ℎ1 = (0,0)
𝑥1 +2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6 𝑥 = 𝑥1 , 𝑥2 , ℎ1 , ℎ2 = 6,0,0, −6 es una solución básica
Soluciones básicas

Ejemplo max 𝑧 = 6𝑥1 + 8𝑥2


𝑠. 𝑎. 𝑥1 + 2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6 2𝑥1 + 𝑥2 = 6
𝑥𝑖 ≥ 0, ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2
❖ Probamos con otra base (conjunto de variables básicas):
𝑥1 +2𝑥2 = 6
𝑥 𝐵 = ℎ1 , ℎ2 𝑥 𝑆 = 𝑥1 , 𝑥2 = (0,0)
𝑥1 +2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6 𝑥 = 𝑥1 , 𝑥2 , ℎ1 , ℎ2 = 0,0,6,6 es una solución básica

❖ Probamos con otra base:

𝑥 𝐵 = 𝑥1 , ℎ2 𝑥 𝑆 = 𝑥2 , ℎ1 = (0,0)
No es una solución factible.
𝑥1 +2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 + ℎ2 = 6 𝑥 = 𝑥1 , 𝑥2 , ℎ1 , ℎ2 = 6,0,0, −6 es una solución básica
Soluciones básicas y factibles

Variables Solución Básica


❑Solución básica y factible Básicas (𝑥1 , 𝑥2 , ℎ1 , ℎ2 )
(𝑥1 , 𝑥2 ) A = (2,2,0,0)
❖ Una solución básica y factible de una forma estándar de un
(𝑥1 , ℎ1 ) B = (3,0,3,0)
PL es una solución básica (por definición, satisface 𝐴𝒙 = 𝑏)
que: (𝑥1 , ℎ2 ) C = (6,0,0, −6)
(𝑥2 , ℎ1 ) D = (0, 6, −6,0)
❖ Todas sus variables básicas son no negativas.
❖ Geométricamente, corresponden con los vértices de (𝑥2 , ℎ2 ) E = (0,3,0,3)
nuestra región factible. (ℎ1 , ℎ2 ) F = (0,0,6,6)

❖ Si existe una solución óptima en un Programa Lineal, esta E 2𝑥1 + 𝑥2 = 6


corresponderá con una solución básica factible.
A
𝑥1 +2𝑥2 = 6

F B
Soluciones básicas y factibles

Variables Solución Básica Función Objetivo


❑Solución básica y factible Básicas y (𝑥1 , 𝑥2 , ℎ1 , ℎ2 ) 𝑧 = 6𝑥1 + 8𝑥2
factibles
❖ Una solución básica y factible de una forma estándar de un
PL es una solución básica (por definición, satisface 𝐴𝒙 = 𝑏) (𝑥1 , 𝑥2 ) A = (2,2,0,0) 28
que: (𝑥1 , ℎ1 ) B = (3,0,3,0) 18
❖ Todas sus variables básicas son no negativas. (𝑥2 , ℎ2 ) E = (0,3,0,3) 24
❖ Geométricamente, corresponden con los vértices de (ℎ1 , ℎ2 ) F = (0,0,6,6) 0
nuestra región factible.

❖ Si existe una solución óptima en un Programa Lineal, esta E 2𝑥1 + 𝑥2 = 6


corresponderá con una solución básica y factible.
A
𝑥1 +2𝑥2 = 6

F B
Soluciones básicas factibles

❑Soluciones básicas factibles adyacentes


❖ Dos conjuntos de variables básicas 𝑥 𝐵 son adyacentes si
E 2𝑥1 + 𝑥2 = 6
exactamente una de sus variables es diferente.

❖ Cambiar un conjunto de variables básicas adyacentes por A


otro, es como moverse por los bordes de una región factible. 𝑥1 +2𝑥2 = 6

➢ Una variable debe salir.


➢ Una variable debe entrar. F B

❖ Idea: Una vez estamos evaluando una solución básica y


factible, podemos buscar la solución factible adyacente que 𝐵: 𝑥 𝐵 = (𝑥1 , ℎ1 )
tenga una función objetivo más favorable.

❖ ¡Si una solución básica adyacente no tiene una 𝐹: 𝑥 𝐵 = (ℎ1 , ℎ2 ) 𝐴: 𝑥 𝐵 = (𝑥1 , 𝑥2 )


dirección donde la función objetivo es más favorable,
entonces hemos encontrado el óptimo! 𝐸: 𝑥 𝐵 = (𝑥2 , ℎ2 )
Algoritmo Símplex

❑ Soluciones básicas factibles adyacentes


❖ Tendremos que buscar entre las soluciones básicas y factibles.

❖ Geométricamente, estaremos buscando entre los vértices de la región factible. Nos iremos moviendo
entre las soluciones básicas factibles adyacentes, en las direcciones que sean favorables.

❖ Algebraicamente, para moverme de una solución básica factible a su adyacente debo:

1. Seleccionar una variable no básica (o secundaria) para entrar en el conjunto de variables básicas.
2. Seleccionar una variable básica para salir del conjunto de variables básicas.

➢ Esta variable se convertirá en una variable no básica (=0).

Ejemplo: 𝑥 𝐵 = 𝑥2 , 𝑥3 , 𝑥4
𝑥 𝐵 = 𝑥1 , 𝑥2 , 𝑥3
𝑥 𝑆 = 𝑥4 , 𝑥5 𝑥 𝑆 = 𝑥1 , 𝑥5
Algoritmo Símplex

❑ Soluciones básicas factibles adyacentes


❖ Tendremos que buscar entre las soluciones básicas y factibles.

❖ Geométricamente, estaremos buscando entre los vértices de la región factible. Nos iremos moviendo
entre las soluciones básicas factibles adyacentes, en las direcciones que sean favorables.

❖ Algebraicamente, para moverme de una solución básica factible a su adyacente debo:

1. Seleccionar una variable no básica (o secundaria) para entrar en el conjunto de variables básicas.
2. Seleccionar una variable básica para salir del conjunto de variables básicas.

➢ Esta variable se convertirá en una variable no básica (=0).

Ejemplo: 𝑥 𝐵 = 𝑥2 , 𝑥3 , 𝑥4
𝑥 𝐵 = 𝑥1 , 𝑥2 , 𝑥3
𝑥 𝑆 = 𝑥4 , 𝑥5 𝑥 𝑆 = 𝑥1 , 𝑥5
❖ Preguntas pendientes:
➢ ¿Como podemos determinar las direcciones que sean favorables?
➢ ¿Cuándo sabré que mi solución es Óptima?
Algoritmo Símplex

❑ Algoritmo Símplex
❖ Podemos escribir una restricción en función de 𝑥 𝐵 y de 𝑥 𝑠 :
𝑛+𝑚

෍ 𝑎𝑗𝑖 𝑥𝑗 = 𝑏𝑖 → ෍ 𝑎𝑗𝑖 𝑥𝑗 + ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖 ∀ 𝑖 = 1, … , 𝑚


𝑗=1 𝑗 ∈𝑥 𝐵 𝑗 ∈𝑥 𝑠
Algoritmo Símplex

❑ Algoritmo Símplex
❖ Podemos escribir una restricción 𝑖 en función de 𝑥 𝐵 y de 𝑥 𝑠 :
𝑛+𝑚

෍ 𝑎𝑗𝑖 𝑥𝑗 = 𝑏𝑖 → ෍ 𝑎𝑗𝑖 𝑥𝑗 + ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖


𝑗=1 𝑗 ∈𝑥 𝐵 𝑗 ∈𝑥 𝑠

❖ Podemos modificar las ecuaciones de tal manera que por cada restricción tengamos una
variable básica (misma lógica que la Eliminación Gaussiana).

෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵 𝑥𝑖𝐵 = 𝑏𝑖 − ෍ 𝑎𝑖𝑗 𝑥𝑗 ∀𝑖 = 1, … , 𝑚


𝑗 ∈𝑥 𝐵 𝑗 ∈𝑥 𝑠
Algoritmo Símplex

❑ Algoritmo Símplex
❖ Podemos escribir una restricción en función de 𝑥 𝐵 y de 𝑥 𝑠 :
𝑛+𝑚

෍ 𝑎𝑗𝑖 𝑥𝑗 = 𝑏𝑖 → ෍ 𝑎𝑗𝑖 𝑥𝑗 + ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖 ∀ 𝑖 = 1, … , 𝑚


𝑗=1 𝑗 ∈𝑥 𝐵 𝑗 ∈𝑥 𝑠

❖ Podemos modificar las ecuaciones de tal manera que por cada restricción tengamos una
variable básica (misma lógica que la Eliminación Gaussiana).

෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵 𝑥𝑖𝐵 = 𝑏𝑖 − ෍ 𝑎𝑖𝑗 𝑥𝑗 ∀𝑖 = 1, … , 𝑚


𝑗 ∈𝑥 𝐵 𝑗 ∈𝑥 𝑠

❖ Entonces, la función objetivo se puede escribir en función de las variables secundarias 𝑥 𝑠 :


𝑛+𝑚

𝑧 = ෍ 𝐶𝑖 𝑥𝑖 = ෍ 𝐶𝑖𝐵 𝑥𝑖𝐵 + ෍ 𝐶𝑖𝑠 𝑥𝑖𝑆 = ෍ 𝐶𝑖𝐵 𝑏𝑖 − ෍ 𝑎𝑖𝑗 𝑥𝑗 + ෍ 𝐶𝑖𝑠 𝑥𝑖𝑆


𝑖=1 𝑖 ∈𝑥 𝐵 𝑖 ∈𝑥 𝑠 𝑖 ∈𝑥 𝐵 𝑗 ∈𝑥 𝑠 𝑖 ∈𝑥 𝑠
Algoritmo Símplex

❑ Algoritmo Símplex
❖ Podemos escribir una restricción en función de 𝑥 𝐵 y de 𝑥 𝑠 :
𝑛+𝑚

෍ 𝑎𝑗𝑖 𝑥𝑗 = 𝑏𝑖 → ෍ 𝑎𝑗𝑖 𝑥𝑗 + ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖 ∀ 𝑖 = 1, … , 𝑚


𝑗=1 𝑗 ∈𝑥 𝐵 𝑗 ∈𝑥 𝑠

❖ Podemos modificar las ecuaciones de tal manera que por cada restricción tengamos una
variable básica (misma lógica que la Eliminación Gaussiana).

෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵 𝑥𝑖𝐵 = 𝑏𝑖 − ෍ 𝑎𝑖𝑗 𝑥𝑗 ∀𝑖 = 1, … , 𝑚


𝑗 ∈𝑥 𝐵 𝑗 ∈𝑥 𝑠

❖ Entonces, la función objetivo se puede escribir en función de las variables secundarias 𝑥 𝑠 :

𝑧 = ෍ 𝐶𝑖𝐵 𝑏𝑖 + ෍ ෍ 𝐶𝑖𝐵 𝑎𝑖𝑗 − 𝐶𝑖𝑠 𝑥𝑖𝑠


𝑖 ∈𝑥 𝐵 𝑖 ∈𝑥 𝑠 𝑗𝜖𝑥 𝐵
Algoritmo Símplex

❑ Algoritmo Símplex
❖ La función objetivo se puede definir solo en función de las variables secundarias:

𝑧 = ෍ 𝐶𝑖𝐵 𝑏𝑖 + ෍ ෍ 𝐶𝑖𝐵 𝑎𝑖𝑗 − 𝐶𝑖𝑠 𝑥𝑖𝑠


𝑖 ∈𝑥 𝐵 𝑖 ∈𝑥 𝑠 𝑗𝜖𝑥 𝐵

❖ Definamos 𝑧0 y 𝑍𝑗 como:

𝑧0 = ෍ 𝐶𝑖𝐵 𝑏𝑖 𝑍𝑗 = ෍ 𝐶𝑖𝐵 𝑎𝑖𝑗


𝑖𝜖𝑥 𝐵
𝑖𝜖𝑥 𝐵

❖ Entonces la función objetivo:

𝑧 = 𝑧0 − ෍ (𝑍𝑗 − 𝐶𝑗 )𝑥𝑖𝑆
𝑖 ∈𝑥 𝑠
Algoritmo Símplex

¡SOLO en esta iteración! Una de estas


❑ Algoritmo Símplex variables volverá a entrar en la iteración
𝑘 + 1.
❖ Si evaluamos esta función en una solución básica: 𝑥𝑖𝑠 = 0 ∀𝑖:

𝑧 𝑘 = 𝑧0𝑘 − ෍ 𝑍𝑗 − 𝐶𝑗 𝑥𝑖𝑆 = 𝑧0𝑘 𝑝𝑎𝑟𝑎 𝑢𝑛𝑎 𝑖𝑡𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑘 → 𝑥 𝐵


𝑖 ∈𝑥 𝑠
Algoritmo Símplex

¡SOLO en esta iteración! Una de estas


❑ Algoritmo Símplex variables volverá a entrar en la iteración
𝑘 + 1.
❖ Si evaluamos esta función en una solución básica: 𝑥𝑖𝑠 = 0 ∀𝑖:

𝑧 𝑘 = 𝑧0𝑘 − ෍ 𝑍𝑗 − 𝐶𝑗 𝑥𝑖𝑆 = 𝑧0𝑘 𝑝𝑎𝑟𝑎 𝑢𝑛𝑎 𝑖𝑡𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑘 → 𝑥 𝐵


𝑖 ∈𝑥 𝑠

❖ Nos puede dar una pista de cómo va a variar 𝑧 si una de estas variables entra como variable básica en la iteración 𝑘 + 1.
❖ Por definición: 𝑥𝑖𝑆 ≥ 0. Son los términos 𝑍𝑗 − 𝐶𝑗 los que van a determinar si existe una dirección más favorable:

𝑧 = 𝑧0 − ෍ 𝑍𝑗 − 𝐶𝑗 𝑥𝑖𝑆
𝑖 ∈𝑥 𝑠
Algoritmo Símplex

¡SOLO en esta iteración! Una de estas


❑ Algoritmo Símplex variables volverá a entrar en la iteración
𝑘 + 1.
❖ Si evaluamos esta función en una solución básica: 𝑥𝑖𝑠 = 0 ∀𝑖:

𝑧 𝑘 = 𝑧0𝑘 − ෍ 𝑍𝑗 − 𝐶𝑗 𝑥𝑖𝑆 = 𝑧0𝑘 𝑝𝑎𝑟𝑎 𝑢𝑛𝑎 𝑖𝑡𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑘 → 𝑥 𝐵


𝑖 ∈𝑥 𝑠

❖ Nos puede dar una pista de cómo va a variar 𝑧 si una de estas variables secundarias 𝑥𝑖𝑠 entra como variable básica.
❖ Por definición: 𝑥𝑖𝑆 ≥ 0. Son los términos 𝑍𝑗 − 𝐶𝑗𝑆 los que van a determinar si existe una dirección más favorable:

𝑧 = 𝑧0 − ෍ 𝑍𝑗 − 𝐶𝑗𝑆 𝑥𝑖𝑆
𝑖 ∈𝑥 𝑠
❖ Si al cabo de 𝐾 iteraciones todos los 𝑍𝑗 − 𝐶𝑗 cumplen : 𝑍𝑗 − 𝐶𝑗𝑆 ≥ 0:

𝑧 = 𝑧0𝐾 − ෍ 𝑍𝑗 − 𝐶𝑗𝑆 𝑥𝑖𝑆


𝑖 ∈𝑥 𝑠

≥ 0 por cualquier nueva iteración!


Algoritmo Símplex

¡SOLO en esta iteración! Una de estas


❑ Algoritmo Símplex variables volverá a entrar en la iteración
𝑘 + 1.
❖ Si evaluamos esta función en una solución básica: 𝑥𝑖𝑠 = 0 ∀𝑖:

𝑧 𝑘 = 𝑧0𝑘 − ෍ 𝑍𝑗 − 𝐶𝑗 𝑥𝑖𝑆 = 𝑧0𝑘 𝑝𝑎𝑟𝑎 𝑢𝑛𝑎 𝑖𝑡𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑘 → 𝑥 𝐵


𝑖 ∈𝑥 𝑠

❖ Nos puede dar una pista de cómo va a variar 𝑧 si una de estas variables secundarias 𝑥𝑖𝑠 entra como variable básica.
❖ Por definición: 𝑥𝑖𝑆 ≥ 0. Son los términos 𝑍𝑗 − 𝐶𝑗𝑆 los que van a determinar si existe una dirección más favorable:

𝑧 = 𝑧0 − ෍ 𝑍𝑗 − 𝐶𝑗𝑆 𝑥𝑖𝑆
𝑖 ∈𝑥 𝑠
❖ Si al cabo de 𝐾 iteraciones todos los 𝑍𝑗 − 𝐶𝑗 cumplen : 𝑍𝑗 − 𝐶𝑗𝑆 ≥ 0:
𝑧 tiene un máximo en 𝑧0𝐾 !

𝑧 = 𝑧0𝐾 − ෍ 𝑍𝑗 − 𝐶𝑗𝑆 𝑥𝑖𝑆


𝑖 ∈𝑥 𝑠

≥ 0 por cualquier nueva iteración!


Algoritmo Símplex

𝑧 = 𝑧0 − ෍ (𝑍𝑗 − 𝐶𝑗𝑆 )𝑥𝑖𝑆 Por definición: 𝑥𝑖𝑆 ≥ 0


❑ Algoritmo Símplex 𝑖 ∈𝑥 𝑠

Criterio de Optimalidad:

❑ Objetivo Maximización: 𝑍𝑗 − 𝐶𝑗 ≥ 0 ∀𝑗

❑ Objetivo Minimización: 𝑍𝑗 − 𝐶𝑗 ≤ 0 ∀𝑗

❖ Sabremos que hemos encontrado un máximo cuando todos los términos 𝑍𝑗 − 𝐶𝑗 de


la función objetivo sean:

❖ No negativos en caso de maximización.


❖ No positivos en caso de minimización
Algoritmo Símplex

Ejemplo:

𝑚𝑎𝑥 𝑧 = 2𝑥1 + 3𝑥2 𝑚𝑎𝑥 𝑧 = 2𝑥1 + 3𝑥2


𝑠. 𝑎. 𝑥1 + 2𝑥2 ≤ 6 Forma Estándar 𝑠. 𝑎. 𝑥1 + 2𝑥2 + ℎ1 = 6
2𝑥1 + 𝑥2 ≤ 8 2𝑥1 + 𝑥2 + ℎ2 = 8
𝑥𝑖 ≥ 0 ∀ 𝑖 = 1,2 𝑥𝑖 ≥ 0, ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2

❖ Escribamos este problema como un sistema de ecuaciones:

𝑚𝑎𝑥 𝑧 = 2𝑥1 − 3𝑥2 (0)


𝑥 𝐵 = (ℎ1 , ℎ2 )
𝑥1 + 2𝑥2 + ℎ1 = 6 (1)
𝑥 𝑁 = 𝑥1 , 𝑥2
2𝑥1 + 𝑥2 + ℎ2 = 8 (2)

𝐵 = 𝐼. * 𝑥 𝐵 = 𝐵 −1 𝑏 = 𝐼 𝑏 = 𝑏 = (6,8)

* Encontrar una solución básica factible inicial de un PL no siempre es tan fácil.


Algoritmo Símplex: Forma Tabular

❑ Algoritmo Símplex: Forma Tabular

𝑚𝑎𝑥 𝑧 = 2𝑥1 − 3𝑥2 (0) Variables Básicas


𝑥1 + 2𝑥2 + ℎ1 = 6 (1)
2𝑥1 + 𝑥2 + ℎ2 = 8 (2) Variables Secundarias

Tabla Inicial
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2

𝑧0 =
Algoritmo Símplex: Forma Tabular

❑ Algoritmo Símplex: Forma Tabular

𝑚𝑎𝑥 𝑧 = 2𝑥1 − 3𝑥2 (0)


𝑥1 + 2𝑥2 + ℎ1 = 6 (1)
2𝑥1 + 𝑥2 + ℎ2 = 8 (2)

Variables Básicas Variables Secundarias


Tabla Inicial
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1
ℎ2
𝑧0 =
Algoritmo Símplex: Forma Tabular

❑ Algoritmo Símplex: Forma Tabular

𝑚𝑎𝑥 𝑧 = 2𝑥1 − 3𝑥2 (0)


𝑥1 + 2𝑥2 + ℎ1 = 6 (1)
2𝑥1 + 𝑥2 + ℎ2 = 8 (2)

Coeficientes de la función objetivo 𝐶𝑗


Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1
ℎ2
𝑧0 =
Algoritmo Símplex: Forma Tabular

❑ Algoritmo Símplex: Forma Tabular

𝑚𝑎𝑥 𝑧 = 2𝑥1 − 3𝑥2 (0)


𝑥1 + 2𝑥2 + ℎ1 = 6 (1)
2𝑥1 + 𝑥2 + ℎ2 = 8 (2)

Coeficientes de la restricción 1

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 1 2 1 0
ℎ2
𝑧0 =
Algoritmo Símplex: Forma Tabular

❑ Algoritmo Símplex: Forma Tabular

𝑚𝑎𝑥 𝑧 = 2𝑥1 − 3𝑥2 (0)


𝑥1 + 2𝑥2 + ℎ1 = 6 (1)
2𝑥1 + 𝑥2 + ℎ2 = 8 (2)

Coeficientes de la restricción 2

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 1 2 1 0
ℎ2 2 1 0 1
𝑧0 =
Algoritmo Símplex: Forma Tabular

❑ Algoritmo Símplex: Forma Tabular

𝑚𝑎𝑥 𝑧 = 2𝑥1 − 3𝑥2 (0)


𝑥1 + 2𝑥2 + ℎ1 = 6 (1)
2𝑥1 + 𝑥2 + ℎ2 = 8 (2)

Coeficientes Base en la función objetivo

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 1 2 1 0
ℎ2 0 2 1 0 1
𝑧0 =
Algoritmo Símplex: Forma Tabular

❑ Algoritmo Símplex: Forma Tabular

𝑚𝑎𝑥 𝑧 = 2𝑥1 − 3𝑥2 (0)


𝑥1 + 2𝑥2 + ℎ1 = 6 (1)
2𝑥1 + 𝑥2 + ℎ2 = 8 (2)

Valores de las variables básicas

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0
ℎ2 0 8 2 1 0 1
𝑧0 =
Algoritmo Símplex: Forma Tabular

❑ Algoritmo Símplex: Forma Tabular

𝑚𝑎𝑥 𝑧 = 2𝑥1 − 3𝑥2 (0)


𝑥1 + 2𝑥2 + ℎ1 = 6 (1)
2𝑥1 + 𝑥2 + ℎ2 = 8 (2)

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0
ℎ2 0 8 2 1 0 1
𝑧0 = -2 -3 0 0

Coeficientes de la ecuación objetivo.


𝑍𝑗 − 𝐶𝑗 = ෍ 𝐶𝑖𝐵 𝑎𝑖𝑗 − 𝐶𝑗 ¡Valores 𝑍𝑗 − 𝐶𝑗 para esta solución!
𝑖𝜖𝑥 𝐵
Algoritmo Símplex: Forma Tabular

❑ Algoritmo Símplex: Forma Tabular

𝑚𝑎𝑥 𝑧 = 2𝑥1 − 3𝑥2 (0)


𝑥1 + 2𝑥2 + ℎ1 = 6 (1)
2𝑥1 + 𝑥2 + ℎ2 = 8 (2)

Valor de la función objetivo


𝑧 para esta solución
Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0
ℎ2 0 8 2 1 0 1
𝑧 =0 -2 -3 0 0

𝑧 = 2𝑥1 + 3𝑥2 = 2 ∗ 0 + 3 ∗ 0 = 0 𝑧0 = ෍ 𝐶𝑖𝐵 𝑏𝑖


𝑖𝜖𝑥 𝐵
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


❖ El objetivo del método Simplex es modificar el sistema de ecuaciones para:

❖ Siempre tener una solución básica que tenga la siguiente forma: 𝑥 𝐵 = 𝑏.

❖ Siempre tener la función objetivo 𝑧 en función de variables no básicas.

❖ Mejorar el valor de 𝑧 en cada iteración de soluciones básicas hasta encontrar la


solución factible óptima.

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0
ℎ2 0 8 2 1 0 1
𝑧 =0 -2 -3 0 0
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Criterio de selección de Variable Entrante:

❑ Objetivo Maximización: xe tal que Ze − Ce = max 𝑍𝑗 − 𝐶𝑗 ∀ 𝑍𝑗 − 𝐶𝑗 < 0

❑ Objetivo Minimización: xe tal que Ze − Ce = max 𝑍𝑗 − 𝐶𝑗 ∀ 𝑍𝑗 − 𝐶𝑗 > 0

❖ En casos de empate se puede elegir arbitrariamente cualquiera de las variables.


Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Criterio de selección de Variable Entrante:

❑ Objetivo Maximización: xe tal que Ze − Ce = max 𝑍𝑗 − 𝐶𝑗 ∀ 𝑍𝑗 − 𝐶𝑗 < 0

❑ Objetivo Minimización: xe tal que Ze − Ce = max 𝑍𝑗 − 𝐶𝑗 ∀ 𝑍𝑗 − 𝐶𝑗 > 0

❖ En casos de empate se puede elegir arbitrariamente cualquiera de las variables.


❖ Aquella variable que mejora unitariamente en mayor medida el valor presente de la función objetivo.
➢ Por cada valor unitario que suba 𝑥1 , 𝑧 subirá 2 (ya que 𝑧 ∝ 2𝑥1 ).
➢ Por cada valor unitario que suba 𝑥2 , 𝑧 subirá 3 (ya que 𝑧 ∝ 3𝑥2 ). 𝑧 = 2𝑥1 + 3𝑥2 (0) 𝑬𝒏𝒕𝒓𝒂 𝒙𝟐

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0
ℎ2 0 8 2 1 0 1
𝑧 =0 -2 -3 0 0
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Criterio de selección de la variable saliente:

❑ Siendo 𝑥𝑒 la variable de entrada la variable de salida 𝑥𝑠 es:

𝑏𝑠 𝑏𝑖
𝑥𝑠 𝑡𝑎𝑙 𝑞𝑢𝑒 = 𝑚𝑖𝑛 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑎𝑖𝑒 > 0
𝑎𝑠𝑒 𝑎𝑖𝑒
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Criterio de selección de la variable saliente:

❑ Siendo 𝑥𝑒 la variable de entrada la variable de salida 𝑥𝑠 es:

𝑏𝑠 𝑏𝑖
𝑥𝑠 𝑡𝑎𝑙 𝑞𝑢𝑒 = 𝑚𝑖𝑛 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑎𝑖𝑒 > 0
𝑎𝑠𝑒 𝑎𝑖𝑒

➢ Al ser 𝑥𝑒 = 𝑥2 la variable de entrada, podemos determinar la variable de salida 𝑥𝑠 :


𝑉𝐵𝑆 𝑉𝐵𝑖
𝑥𝑠 𝑡𝑎𝑙 𝑞𝑢𝑒 = 𝑚𝑖𝑛 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑎𝑖𝑒 > 0
𝑎𝑠2 𝑎𝑖2

𝑉𝐵𝑖
Tabla Inicial 2 3 0 0
𝑎𝑖𝑒
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0 6/2 = 3
ℎ2 0 8 2 1 0 1 8/1 = 8
𝑧 =0 -2 -3 0 0
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Criterio de selección de la variable saliente:

❑ Siendo 𝑥𝑒 la variable de entrada la variable de salida 𝑥𝑠 es:

𝑏𝑠 𝑏𝑖
𝑥𝑠 𝑡𝑎𝑙 𝑞𝑢𝑒 = 𝑚𝑖𝑛 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑎𝑖𝑒 > 0
𝑎𝑠𝑒 𝑎𝑖𝑒

➢ Al ser 𝑥𝑒 = 𝑥2 la variable de entrada, podemos determinar la variable de salida 𝑥𝑠 :


𝑉𝐵𝑆 𝑉𝐵𝑖
𝑥𝑠 𝑡𝑎𝑙 𝑞𝑢𝑒 = 𝑚𝑖𝑛 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑎𝑖𝑒 > 0
𝑎𝑠2 𝑎𝑖2

𝑉𝐵𝑖
Tabla Inicial 2 3 0 0 𝑚𝑖𝑛 𝑎 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑎𝑖𝑒 > 0
𝑖𝑒
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0 6/2 = 3 𝑺𝒂𝒍𝒆 𝒉𝟏
ℎ2 0 8 2 1 0 1 8/1 = 8
𝑧 =0 -2 -3 0 0
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Criterio de selección de la variable saliente:

❑ Siendo 𝑥𝑒 la variable de entrada la variable de salida 𝑥𝑠 es:

𝑏𝑠 𝑏𝑖
𝑥𝑠 𝑡𝑎𝑙 𝑞𝑢𝑒 = 𝑚𝑖𝑛 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑎𝑖𝑒 > 0
𝑎𝑠𝑒 𝑎𝑖𝑒

➢ Al ser 𝑥𝑒 = 𝑥2 la variable de entrada la variable de salida 𝑥𝑠 podemos calcular como:


𝑉𝐵𝑆 𝑉𝐵𝑖
𝑥𝑠 𝑡𝑎𝑙 𝑞𝑢𝑒 = 𝑚𝑖𝑛 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑎𝑖𝑒 > 0
𝑎𝑠2 𝑎𝑖2

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2 𝑥𝑒 = 𝑥2 (𝑉𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝐸𝑛𝑡𝑟𝑎𝑛𝑡𝑒)
ℎ1 0 6 1 2 1 0 6/2 = 3 𝑥𝑠 = ℎ1 (𝑉𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑆𝑎𝑙𝑖𝑒𝑛𝑡𝑒)
ℎ2 0 8 2 1 0 1 8/1 = 8
𝑧 =0 -2 -3 0 0
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Criterio de selección de la variable saliente:

❑ Siendo 𝑥𝑒 la variable de entrada la variable de salida 𝑥𝑠 es:

𝑏𝑠 𝑏𝑖
𝑥𝑠 𝑡𝑎𝑙 𝑞𝑢𝑒 = 𝑚𝑖𝑛 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑎𝑖𝑒 > 0
𝑎𝑠𝑒 𝑎𝑖𝑒

➢ Al ser 𝑥𝑒 = 𝑥2 la variable de entrada la variable de salida 𝑥𝑠 podemos calcular como:


𝑉𝐵𝑆 𝑉𝐵𝑖
𝑥𝑠 𝑡𝑎𝑙 𝑞𝑢𝑒 = 𝑚𝑖𝑛 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑎𝑖𝑒 > 0
𝑎𝑠2 𝑎𝑖2 Pivote

Tabla Inicial 2 3 0 0
𝑥𝑒 = 𝑥2 (𝑉𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝐸𝑛𝑡𝑟𝑎𝑛𝑡𝑒)
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0 6/2 = 3 𝑥𝑠 = ℎ1 (𝑉𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑆𝑎𝑙𝑖𝑒𝑛𝑡𝑒)
ℎ2 0 8 2 1 0 1 8/1 = 8
𝑧 =0 -2 -3 0 0
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


❑ La variable 𝑥2 se convierte en básica, y la variable ℎ2 en secundaria.

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0 𝐹1
ℎ2 0 8 2 1 0 1 𝐹2
𝑧 =0 -2 -3 0 0

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 ½ 1 ½ 0
ℎ2 0 8 2 1 0 1
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Introducimos el nuevo coeficiente de la variable básica 𝑥2 de la función objetivo en la


columna 𝐶𝐵 .

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0 𝐹1
ℎ2 0 8 2 1 0 1 𝐹2
𝑧 =0 -2 -3 0 0

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 ½ 1 ½ 0
ℎ2 0 8 2 1 0 1
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Debemos modificar el sistema de tal manera que todas las variables ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵
básicas de cada restricción tengan un coeficiente unitario.
𝑗 ∈𝑥 𝐵

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0 𝐹1
ℎ2 0 8 2 1 0 1 𝐹2
𝑧 =0 -2 -3 0 0

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0 𝐹1 → 𝐹1 /2
ℎ2 0 5 3/2 0 -1/2 1
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Debemos modificar el sistema de tal manera que todas las variables ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵
básicas de cada restricción tengan un coeficiente unitario.
𝑗 ∈𝑥 𝐵

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0 𝐹1
ℎ2 0 8 2 1 0 1 𝐹2
𝑧 =0 -2 -3 0 0

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0 𝐹1 → 𝐹1 /2
ℎ2 0 5 3/2 0 -1/2 1 𝐹2 → 𝐹2 − 1𝐹1
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Debemos modificar el sistema de tal manera que todas las variables ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵
básicas de cada restricción tengan un coeficiente unitario.
𝑗 ∈𝑥 𝐵

Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
ℎ1 0 6 1 2 1 0 𝐹1
ℎ2 0 8 2 1 0 1 𝐹2
𝑧 =0 -2 -3 0 0

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0 𝐹1 → 𝐹1 /2
ℎ2 0 5 3/2 0 -1/2 1 𝐹2 → 𝐹2 − 1𝐹1
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Debemos modificar el sistema de tal manera que todas las variables ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵
básicas de cada restricción tengan un coeficiente unitario.
𝑗 ∈𝑥 𝐵

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0 𝐹1 → 𝐹1 /2
ℎ2 0 5 3/2 0 -1/2 1 𝐹2 → 𝐹2 − 1𝐹1
𝑧0 = 9
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Debemos modificar el sistema de tal manera que todas las variables ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵
básicas de cada restricción tengan un coeficiente unitario.
𝑗 ∈𝑥 𝐵
❑ Calculamos el valor de 𝑧0 para esta iteración.

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0 𝐹1 → 𝐹1 /2
ℎ2 0 5 3/2 0 -1/2 1 𝐹2 → 𝐹2 − 1𝐹1
𝑧0 = 9

𝑧0 = ෍ 𝐶𝑖𝐵 𝑏𝑖 = 3 ∗ 3 + 0 ∗ 5 = 9
𝑖𝜖𝑥 𝐵
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Debemos modificar el sistema de tal manera que todas las variables ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵
básicas de cada restricción tengan un coeficiente unitario.
𝑗 ∈𝑥 𝐵
❑ Calculamos el valor de 𝑧0 para esta iteración.
❑ Calculamos los valores de los coeficientes 𝑍𝑗 − 𝐶𝑗 .

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0 𝐹1 → 𝐹1 /2
ℎ2 0 5 3/2 0 -1/2 1 𝐹2 → 𝐹2 − 1𝐹1
𝑧0 = 9

𝑧0 = ෍ 𝐶𝑖𝐵 𝑏𝑖 𝑍𝑗 − 𝐶𝑗 = ෍ 𝐶𝑖𝐵 𝑎𝑖𝑗 − 𝐶𝑗


𝑖𝜖𝑥 𝐵
𝑖𝜖𝑥 𝐵
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Debemos modificar el sistema de tal manera que todas las variables ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵
básicas de cada restricción tengan un coeficiente unitario.
𝑗 ∈𝑥 𝐵
❑ Calculamos el valor de 𝑧0 para esta iteración.
❑ Calculamos los valores de los coeficientes 𝑍𝑗 − 𝐶𝑗 .

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0 𝐹1 → 𝐹1 /2
ℎ2 0 5 3/2 0 -1/2 1 𝐹2 → 𝐹2 − 1𝐹1
𝑧0 = 9 -1/2

𝑧0 = ෍ 𝐶𝑖𝐵 𝑏𝑖 1 3 1
𝑍𝑥1 − 𝐶𝑥1 = ෍ 𝐶𝑖𝐵 𝑎𝑖1 − 𝐶𝑥1 =3∗ +0∗ −2=−
𝑖𝜖𝑥 𝐵 2 2 2
𝑖𝜖𝑥 𝐵
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Debemos modificar el sistema de tal manera que todas las variables ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵
básicas de cada restricción tengan un coeficiente unitario.
𝑗 ∈𝑥 𝐵
❑ Calculamos el valor de 𝑧0 para esta iteración.
❑ Calculamos los valores de los coeficientes 𝑍𝑗 − 𝐶𝑗 .

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0 𝐹1 → 𝐹1 /2
ℎ2 0 5 3/2 0 -1/2 1 𝐹2 → 𝐹2 − 1𝐹1
𝑧0 = 9 -1/2 0

𝑧0 = ෍ 𝐶𝑖𝐵 𝑏𝑖
𝑖𝜖𝑥 𝐵
𝑍𝑥2 − 𝐶𝑥2 = ෍ 𝐶𝑖𝐵 𝑎𝑖2 − 𝐶𝑥2 = 3 ∗ 1 + 0 ∗ 0 − 3 = 0
𝑖𝜖𝑥 𝐵
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Debemos modificar el sistema de tal manera que todas las variables ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵
básicas de cada restricción tengan un coeficiente unitario.
𝑗 ∈𝑥 𝐵
❑ Calculamos el valor de 𝑧0 para esta iteración.
❑ Calculamos los valores de los coeficientes 𝑍𝑗 − 𝐶𝑗 .

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0 𝐹1 → 𝐹1 /2
ℎ2 0 5 3/2 0 -1/2 1 𝐹2 → 𝐹2 − 1𝐹1
𝑧0 = 9 -1/2 0 3/2

𝑧0 = ෍ 𝐶𝑖𝐵 𝑏𝑖 1
𝑍ℎ1 − 𝐶ℎ1 = ෍ 𝐶𝑖𝐵 𝑎𝑖3 − 𝐶ℎ1 = 3 ∗ + 0 ∗ −1/2 − 0 = 3/2
𝑖𝜖𝑥 𝐵 2
𝑖𝜖𝑥 𝐵
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Debemos modificar el sistema de tal manera que todas las variables ෍ 𝑎𝑖𝑗 𝑥𝑗 = 𝑥𝑖𝐵
básicas de cada restricción tengan un coeficiente unitario.
𝑗 ∈𝑥 𝐵
❑ Calculamos el valor de 𝑧0 para esta iteración.
❑ Calculamos los valores de los coeficientes 𝑍𝑗 − 𝐶𝑗 .

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0 𝐹1 → 𝐹1 /2
ℎ2 0 5 3/2 0 -1/2 1 𝐹2 → 𝐹2 − 1𝐹1
𝑧0 = 9 -1/2 0 3/2 0

𝑧0 = ෍ 𝐶𝑖𝐵 𝑏𝑖
𝑍ℎ2 − 𝐶ℎ2 = ෍ 𝐶𝑖𝐵 𝑎𝑖4 − 𝐶ℎ2 = 3 ∗ 0 + 0 ∗ 1 − 0 = 0
𝑖𝜖𝑥 𝐵
𝑖𝜖𝑥 𝐵
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

❑ Debemos modificar el sistema de tal manera que todas las variables


básicas de cada restricción tengan un coeficiente unitario.
❑ Calculamos el valor de 𝑧0 para esta iteración.
❑ Calculamos los valores de los coeficientes 𝑍𝑗 − 𝐶𝑗 .
❑ Comprobamos que para las variables básicas los 𝑍𝑗 − 𝐶𝑗 = 0.

❖ Siempre tener una solución básica


Iteración 1 2 3 0 0
que tenga la siguiente forma: 𝑥 𝐵 = 𝑏.
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0
ℎ2 0 5 3/2 0 -1/2 1
𝑧0 = 9 -1/2 0 3/2 0
❖ Siempre tener la función objetivo
𝑧 en función de variables no
Para la primera iteración 𝑥 (1) = 𝑥1 , 𝑥2 , ℎ1 , ℎ2 = 0,3,0,5 . básicas.
El valor de la función objetivo es 𝑧 =9.
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Criterio de selección de Variable Entrante:

❑ Objetivo Maximización: xe tal que Ze − Ce = max 𝑍𝑗 − 𝐶𝑗 ∀ 𝑍𝑗 − 𝐶𝑗 < 0

❑ Objetivo Minimización: xe tal que Ze − Ce = max 𝑍𝑗 − 𝐶𝑗 ∀ 𝑍𝑗 − 𝐶𝑗 > 0

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0
ℎ2 0 5 3/2 0 -1/2 1
𝑧0 = 9 -1/2 0 3/2 0
Entra 𝒙𝟏 .
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Criterio de selección de la variable saliente:

❑ Siendo 𝑥𝑒 la variable de entrada la variable de salida 𝑥𝑠 es:

𝑏𝑠 𝑏𝑖
𝑥𝑠 𝑡𝑎𝑙 𝑞𝑢𝑒 = 𝑚𝑖𝑛 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑎𝑖𝑒 > 0
𝑎𝑠𝑒 𝑎𝑖𝑒

Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
3
𝑥2 3 3 1/2 1 1/2 0 1/2
=6 10 10
5
min 6, =
3 3
ℎ2 0 5 3/2 0 -1/2 1 3/2
= 10/3

𝑧0 = 9 -1/2 0 3/2 0
Sale 𝒉𝟐 .
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
3
𝑥2 3 3 1/2 1 1/2 0 1/2
=6
5
ℎ2 0 5 3/2 0 -1/2 1 3/2
= 10/3

𝑧0 = 9 -1/2 0 3/2 0

Pivote

Iteración 2 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0
𝑥1 2 5 3/2 0 -1/2 1
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
3
𝑥2 3 3 1/2 1 1/2 0 1/2
=6
5
ℎ2 0 5 3/2 0 -1/2 1 3/2
= 10/3

𝑧0 = 9 -1/2 0 3/2 0

Pivote 2
𝐹2 → 𝐹2
3

Iteración 2 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 3 1/2 1 1/2 0
𝑥1 2 10/3 1 0 -1/3 2/3
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular


Iteración 1 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
3
𝑥2 3 3 1/2 1 1/2 0 1/2
=6
5
ℎ2 0 5 3/2 0 -1/2 1 3/2
= 10/3

𝑧0 = 9 -1/2 0 3/2 0

Pivote 2 1
𝐹2 → 𝐹2 𝐹1 → 𝐹1 − 𝐹2
3 2

Iteración 2 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 4/3 0 1 2/3 -1/3
𝑥1 2 10/3 1 0 -1/3 2/3
𝑧0 = 32/3
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

Iteración 2 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 4/3 0 1 2/3 -1/3
𝑥1 2 10/3 1 0 -1/3 2/3
𝑧0 = 32/3

𝑧0 = ෍ 𝐶𝑖𝐵 𝑏𝑖
𝑖𝜖𝑥 𝐵
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

Iteración 2 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 4/3 0 1 2/3 -1/3
𝑥1 2 10/3 1 0 -1/3 2/3
𝑧0 = 32/3 0 0 4/3 1/3

10 4
Para la segunda iteración 𝑥 (2) = 𝑥1 , 𝑥2 , ℎ1 , ℎ2 = , , 0,0 .
3 3
El valor de la función objetivo es 𝑧 = 32/3.

Criterio de Optimalidad:

❑ Objetivo Maximización: 𝑍𝑗 − 𝐶𝑗 ≥ 0 ∀𝑗

❑ Objetivo Minimización: 𝑍𝑗 − 𝐶𝑗 ≤ 0 ∀𝑗
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

Iteración 2 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 4/3 0 1 2/3 -1/3
𝑥1 2 10/3 1 0 -1/3 2/3
𝑧0 = 32/3 0 0 4/3 1/3

10 4
Para la segunda iteración 𝑥 (1) = 𝑥1 , 𝑥2 , ℎ1 , ℎ2 = , , 0,0 .
3 3
El valor de la función objetivo es 𝑧 = 32/3.

Criterio de Optimalidad:
¡ 𝑧 ya no puede crecer más!
❑ Objetivo Maximización: 𝑍𝑗 − 𝐶𝑗 ≥ 0 ∀𝑗
Esta es la solución óptima del PL
❑ Objetivo Minimización: 𝑍𝑗 − 𝐶𝑗 ≤ 0 ∀𝑗
Algoritmo Símplex

❑ Algoritmo Símplex: Forma Tabular

Iteración 2 2 3 0 0 𝑥1
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑥2 3 4/3 0 1 2/3 -1/3
𝑥1 2 10/3 1 0 -1/3 2/3
𝑧0 = 32/3 0 0 4/3 1/3 𝑥2

10 4
❑ La solución óptima es 𝑥 ∗ = 𝑥1 , 𝑥2 , ℎ1 , ℎ2 = , , 0,0
3 3 𝑥0

❑ El máximo de la función objetivo con las restricciones de


este Programa Lineal es 𝑧 = 32/3.

4 1 32
𝑧 + ℎ1 + ℎ2 =
3 3 3

También podría gustarte