0% encontró este documento útil (0 votos)
15 vistas81 páginas

Modulo2 1

El documento presenta la formalización de la programación lineal en su forma canónica y estándar, explicando las restricciones y condiciones necesarias para maximizar o minimizar una función objetivo. Se incluyen ejemplos de transformación de problemas de programación lineal a estas formas, así como la introducción de variables de holgura. Se destaca que cualquier problema de programación lineal puede ser expresado en estas formas, facilitando su resolución.

Cargado por

saramartori.2002
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas81 páginas

Modulo2 1

El documento presenta la formalización de la programación lineal en su forma canónica y estándar, explicando las restricciones y condiciones necesarias para maximizar o minimizar una función objetivo. Se incluyen ejemplos de transformación de problemas de programación lineal a estas formas, así como la introducción de variables de holgura. Se destaca que cualquier problema de programación lineal puede ser expresado en estas formas, facilitando su resolución.

Cargado por

saramartori.2002
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 81

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
𝑠. 𝑎. 𝐴𝒙 = 𝒃
no negativo 𝑏𝑖 ≥ 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
𝑠. 𝑎. 𝐴𝒙 = 𝒃
no negativo 𝑏𝑖 ≥ 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
𝑠. 𝑎. 𝐴𝒙 = 𝒃
no negativo 𝑏𝑖 ≥ 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
𝑠. 𝑎. 𝐴𝒙 = 𝒃
no negativo 𝑏𝑖 ≥ 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


Número de variables de un Programa Lineal

❑Número de variables de un Programa Lineal

m𝑎𝑥 𝑧 = 𝑥1 + 2𝑥2 − 3𝑥3 En este ejemplo:


𝑠. 𝑎. 2𝑥1 + 𝑥2 + 3𝑥3 + ℎ1 = 6 𝑚=2
𝑛=5
−𝑥1 + 2𝑥2 − 4𝑥3 − ℎ2 = 1
𝑥𝑖 ≥ 0 ∀ 𝑖 = 1,2,3 El número de variables es mayor que el número de ecuaciones, por tanto,
ℎ𝑖 ≥ 0 ∀ 𝑖 = 1,2 tendremos un sistema compatible indeterminado con infinitas soluciones.

𝑚<𝑛
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

❖ 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.

Ejemplo:

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

❑ Soluciones básicas factibles adyacentes

❖ 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.

Ejemplo:

𝑥 𝐵 = 𝑥1 , 𝑥2 , 𝑥3 𝑥 𝐵 = 𝑥2 , 𝑥3 , 𝑥4
𝑥 𝑆 = 𝑥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.

𝜕𝑧 𝜕
𝑧 = 𝑧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.

𝜕𝑧 𝜕
𝑧 = 𝑧0 − ෍ 𝑍𝑗 − 𝐶𝑗𝑆 𝑥𝑖𝑆 =−෍ 𝑍𝑗 − 𝐶𝑗𝑆 𝑥𝑖𝑆 = −(𝑍𝑗 − 𝐶𝑗 )
𝑖 ∈𝑥 𝑠
𝜕𝑥𝑖 𝑠
𝜕𝑥𝑖
𝑖 ∈𝑥
➢ 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 ).
Tabla Inicial 2 3 0 0
B 𝐶𝐵 𝑉𝐵 𝑥1 𝑥2 ℎ1 ℎ2
𝑧 = 2𝑥1 + 3𝑥2 (0) 𝑬𝒏𝒕𝒓𝒂 𝒙𝟐 ℎ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
𝑎𝑠𝑒 𝑎𝑖𝑒

❖ 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 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
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 32 4 1
𝑧 + ℎ1 + ℎ2 = → 𝑧= − ℎ1 − ℎ2
3 3 3 3 3 3
≥0

También podría gustarte