Documente Academic
Documente Profesional
Documente Cultură
Optimización – ICS1113
• Geometría Poliedral
❖ Costos reducidos
❖ Casos especiales:
• Solución múltiple
• No acotamiento
• Degenerancia y ciclaje
, donde 𝑐 ∈ ℝ𝑛 , 𝑏 ∈ ℝ𝑚
+ , 𝐴 ∈ ℝ 𝑚×𝑛 son datos.
2 4 1 0 0
𝐴= 6 2 0 1 0
0 1 0 0 1
𝑐 𝑇 = −3 −8 0 0 0 Notación:
• 𝑎𝑖 es la fila 𝑖 de 𝐴
𝑏𝑇 = 1600 1800 350 • 𝐴𝑗 es la columna 𝑗 de 𝐴
• 𝐴 𝑖,𝑗,𝑘 es la submatriz formada por el
𝑛 = 5, 𝑚 = 3 conjunto de columnas {𝑖, 𝑗, 𝑘}.
• 𝑎𝑖𝑗 es el elemento (𝑖, 𝑗) de 𝐴
Base
Consideremos el sistema 𝐴𝑥 = 𝑏 del ejemplo con 𝑚 = 3 restricciones:
𝑥1 𝑥2 𝑥3 𝑥4 𝑥5
2 4 1 0 0 1600
6 2 0 1 0 𝑥 = 1800
0 1 0 0 1 350
Es factible si 𝐴−1
𝐵 𝑏 ≥0
Solución Básica: 𝑩 = 𝟏, 𝟐, 𝟑
2 4 1 0 0 1600
6 2 0 1 0 𝑥 = 1800
0 1 0 0 1 350
Hacemos 𝑥𝐷 = 0: 𝑥4 = 0, 𝑥5 = 0
Resolvemos 𝐴𝐵 𝑥𝐵 = 𝑏:
2 4 1 1600
6 2 0 𝑥 = 1800
0 1 0 350
2 4 1 0 0 1600
6 2 0 1 0 𝑥 = 1800
0 1 0 0 1 350
Hacemos 𝑥𝐷 = 0: 𝑥1 = 0, 𝑥2 = 0
Resolvemos:
1 0 0 1600
0 1 0 𝑥 = 1800
0 0 1 350
Teorema:
Dado 𝐵, si su solución básica 𝑥𝐵 es factible (𝑥𝐵 ≥ 0), entonces:
𝑥𝐵
𝑥= ∈ ℝ𝑛 es un vértice de {𝑥 ∈ ℝ𝑛+ : 𝐴𝑥 = 𝑏}.
0
Una solución básica factible es un vértice
𝐵 = (2,3,4)
𝐵 = (1,2,5)
𝐵 = (3,4,5) 𝐵 = (1,3,5)
❖ Solución básica y relación con vértices
❖ Costos reducidos
❖ Casos especiales:
• Solución múltiple
• No acotamiento
• Degenerancia y ciclaje
Iteración 1: 𝑩 = {𝟑, 𝟒, 𝟓}
Despejamos las variable básicas 𝑥𝐵 + 𝐴−1
𝐵 𝐴 𝑥
𝐷 𝐷 = 𝐴−1
𝐵 𝑏
anulando las variables no básicas:
𝐴 ҧ𝐷 𝑏ത
𝑥3 = 1600 − 2𝑥1 − 4𝑥2 = 1600
𝑥4 = 1800 − 6𝑥1 − 2𝑥2 = 1800
𝑥5 = 350 − 0𝑥1 − 𝑥2 = 350
𝐵 = {3,4,5}
ത
𝑥𝐵 + 𝐴ҧ𝐷 𝑥𝐷 = 𝑏, con 𝐴ҧ𝐷 = 𝐴−1
𝐵 𝐴 𝐷 y ത
𝑏 = 𝐴−1
𝐵 𝑏
𝑇 ҧ
𝑧 = 𝑧𝐵 + 𝑟𝐷𝑇 𝑥𝐷 = 𝑐𝐵𝑇 𝐴−1
𝐵 𝑏 + (𝑐𝐷
𝑇
− 𝑐𝐵 𝐴𝐷 )𝑥𝐷
• 𝑧𝐵 = 𝑐𝐵𝑇 𝑏ത = 0 0 0 1600 1800 350 𝑇
=0
• 𝑟𝐷𝑇 = 𝑐𝐷𝑇 − 𝑐𝐵𝑇 𝐴ҧ𝐷 = −3 − 8
𝑧 = 0 − 3𝑥1 − 8𝑥2
𝑟1 = −3 (objetivo baja 3 por aumento unitario de 𝑥1 )
𝑟2 = −8 (objetivo baja 8 por aumento unitario de 𝑥2 )
Subamos el valor de 𝑥2
¿Cuánto puede subir 𝑥2 ? (actualmente igual a cero)
𝑥3
𝑥𝐵 + 𝐴ҧ𝐷 𝑥𝐷 = 𝑏ത 2 4 𝑥
𝑥4 + 6 2 1
1600
𝑥2 = 1800
𝑥5 0 1 350
𝑥4
𝑥3
𝑥1 = 0
𝑥5
𝑥2
𝑥4
𝑥3
𝑥1 = 0
𝑥5
𝑥2
1 0 4 1 0 −4
𝐴𝐵 = 0 1 2 → 𝐴−1
𝐵 = 0 1 −2
0 0 1 0 0 1
1 0 −4 2 0 2 −4
𝐴ҧ𝐷 = 0 1 −2 6 0 = 6 −2
0 0 1 0 1 0 1
1 0 −4 1600 200
𝑏ത = 0 1 −2 1800 = 1100
0 0 1 350 350
Iteración 2: 𝐵 = {3,4,2}
𝑥3 2 −4 𝑥 200
𝑥4 + 6 −2 1 = 1100
𝑥5
𝑥2 0 1 350
Gráficamente: 3,4,5 → {3,4,2}
El cambio de base produjo movimiento a vértice vecino
𝐵 = (3,4,2)
𝐵 = (3,4,5)
Iteración 2: 𝐵 = {3,4,2}
𝑥3 2 −4 𝑥 200
min −3𝑥1 − 8𝑥2 s.t. 1
𝑥≥0 𝑥4 + 6 −2 𝑥 = 1100
2𝑥1 + 4𝑥2 + 𝑥3 = 1600 5
𝑥2 0 1 350
6𝑥1 + 2𝑥2 + 𝑥4 = 1800
𝑥2 + 𝑥5 = 350
𝑇 ҧ
𝑧 = 𝑧𝐵 + 𝑟𝐷𝑇 𝑥𝐷 = 𝑐𝐵𝑇 𝐴−1
𝐵 𝑏 + (𝑐𝐷
𝑇
− 𝑐𝐵 𝐴𝐷 )𝑥𝐷
• 𝑧𝐵 = 𝑐𝐵𝑇 𝑏ത = 0 0 − 8 𝑇
200 1100 350
= −2800 𝑇
2 −4
𝑇 𝑇 𝑇 ҧ
• 𝑟𝐷 = 𝑐𝐷 − 𝑐𝐵 𝐴𝐷 = −3 0 − [0 0 − 8] 6 −2 = −3 8
0 1
200 1100
𝑥1 puede subir hasta min( ; ; ⋅ ) = 100.
2 6
𝑥1 1
−2 𝑥3 100
𝑥4 + 2
−3 10 𝑥5 = 500
𝑥2 350
0 1
Gráficamente: 3,4,2 → {1,4,2}
𝐵 = (3,4,5)
Iteración 3: 𝐵 = {1,4,2}
𝐵 = (3,4,5)
Ejecutamos el algoritmo simplex (fase 2)
Ver historia.
El algoritmo simplex
Paso Inicial
FASE I Encontrar un vértice del dominio, es decir,
una solución base factible
Paso Iterativo
Traslado a un mejor vértice
FASE II
NO
Prueba de Optimalidad
¿Es óptima la solución? FIN
SI
Algoritmo simplex (fase 2)
2. Calcular base:
𝑏ത = 𝐴−1
𝐵 𝑏
𝐴ҧ𝐷 = 𝐴−1𝐵 𝐴𝐷
𝑟𝐷𝑇 = 𝑐𝐷𝑇 − 𝑐𝐵𝑇 𝐴ҧ𝐷
3. Prueba de Optimalidad:
ത 0], 𝑧𝐵∗ = 𝑐𝐵𝑇 𝑏ത
a) Si 𝑟𝐷 ≥ 0: retornar: 𝑥 ∗ = [𝑥𝐵 , 𝑥𝐷 ] = [𝑏,
b) Si ∃𝑗 ∈ 𝐷: 𝑟𝑗 < 0:
• Ingresar variable 𝑗 a la base
• Sacar variable 𝑘 = 𝑎𝑟𝑔𝑚𝑖𝑛𝑘∈ 𝐵:𝑎ത𝑘𝑗 >0 𝑏ത𝑘 /𝑎ത𝑘𝑗
• Cambiar base: 𝐵 ← 𝐵\{𝑘} ∪ {𝑗}
• Ir a paso 2.
Diferentes caminos llevan al óptimo
?
❖ Solución básica y relación con vértices
❖ Costos reducidos
❖ Casos especiales:
• Solución múltiple
• No acotamiento
• Degenerancia y ciclaje
3 𝑇
En el ejemplo: 𝑟 = 0; 0; 2 ; 0; 2 . Geométricamente, son los multiplicadores de
gradientes de restricciones que forman el gradiente objetivo de maximización.
3 3 2 0
= +2
8 2 4 1
(3,8)
(0,1) (2,4)
Precio sombra (de una restricción)
❖ Costos reducidos
❖ Casos especiales:
• Solución múltiple
• No acotamiento
• Degenerancia y ciclaje
Forma estándar:
m𝑖𝑛 −2𝑥1 − 𝑥2 s.t.
𝑥≥0
−𝑥1 + 3𝑥2 + 𝑥3 = 9
2𝑥1 + 𝑥2 + 𝑥4 = 6
Iteración 1: 𝐵 = {3,4}
No es óptimo.
6
• Entra 𝑥1 : min ⋅;
= 3, sale 𝑥4
2
• Cambio de base 3,4 → {3,1}
Iteración 2: 𝐵 = {3,1}
3 9/7
24/7
𝑋∗ = 𝜆 ⋅ 0 + 1 − 𝜆 ⋅ : 𝜆 ∈ 0,1
12 0
0 0
Solución Múltiple
❖ Costos reducidos
❖ Casos especiales:
• Solución múltiple
• No acotamiento
• Degenerancia y ciclaje
Forma estándar:
m𝑖𝑛 −2𝑥2 s.t.
𝑥≥0
𝑥1 − 𝑥2 + 𝑥3 = 6
2𝑥1 − 3𝑥2 + 𝑥4 = 8
Iteración 1: 𝐵 = {3,4}
𝐴−1
𝐵 =𝐼 m𝑖𝑛 −2𝑥2 s.t.
6 𝑥≥0
𝑏ത = 𝐴−1
𝐵 𝑏 = 𝑥1 − 𝑥2 + 𝑥3 = 6
8
𝑧𝐵 = 𝑐𝐵 𝑥𝐵 = 0 2𝑥1 − 3𝑥2 + 𝑥4 = 8
1 −1
𝐴ҧ𝐷 = 𝐴−1
𝐵 𝐴𝐷 =
2 −3
𝑇 𝑇 ҧ
𝑟𝐷 = 𝑐𝐷 − 𝑐𝐵 𝐴𝐷 = [0 −2]
PROBLEMA NO ACOTADO
Notar que ℎ𝑇 = [0,1,1,3] es un rayo del cono recesivo con mejora del objetivo.
¿Por qué?
1 −1 1 0 0
• 𝐴ℎ = ℎ= ,ℎ ≥0
2 −3 0 1 0
𝑇
• 𝑐 ℎ= 0 −2 0 0 ℎ = −2 < 0
Problema no acotado
Sucede cuando una variable 𝑥𝑗 tiene costo reducido negativo (𝑟𝑗 < 0) e
impactos positivos en cada variable básica 𝐴ҧj ≤ 0 .
2. Calcular base:
𝑏ത = 𝐴−1
𝐵 𝑏
𝐴ҧ𝐷 = 𝐴−1𝐵 𝐴𝐷
𝑟𝐷𝑇 = 𝑐𝐷𝑇 − 𝑐𝐵𝑇 𝐴ҧ𝐷
3. Prueba de Optimalidad:
ത 0], 𝑧𝐵∗ = 𝑐𝐵𝑇 𝑏ത
a) Si 𝑟𝐷 ≥ 0: retornar: 𝑥 ∗ = [𝑥𝐵 , 𝑥𝐷 ] = [𝑏,
b) Si ∃𝑗 ∈ 𝐷: 𝑟𝑗 < 0:
• Ingresar variable 𝑗 a la base
• Si 𝐴𝑗 ≤ 0: retornar: ℎ (problema no acotado)
• Sacar variable 𝑘 = argmin𝑘∈ 𝐵:𝑎ത𝑘𝑗 >0 𝑏ത𝑘 /𝑎ത𝑘𝑗
• Cambiar base: 𝐵 ← 𝐵\{𝑘} ∪ {𝑗}
• Ir a paso 2.
❖ Solución básica y relación con vértices
❖ Costos reducidos
❖ Casos especiales:
• Solución múltiple
• No acotamiento
• Degenerancia y ciclaje
Forma estándar:
m𝑖𝑛 −𝑥1 − 𝑥2 s.t.
𝑥≥0
2𝑥1 + 𝑥2 + 𝑥3 = 2
3𝑥2 + 𝑥4 = 2
6𝑥1 + 9𝑥2 + 𝑥5 = 10
Iteración 1: 𝐵 = {3,4,5}
𝐴−1
𝐵 =𝐼 m𝑖𝑛 −𝑥1 − 𝑥2 s.t.
2 𝑥≥0
𝑏ത = 𝐴−1
𝐵 𝑏= 2 2𝑥1 + 𝑥2 + 𝑥3 = 2
10 3𝑥2 + 𝑥4 = 2
𝑧𝐵 = 𝑐𝐵 𝑥𝐵 = 0
2 1 6𝑥1 + 9𝑥2 + 𝑥5 = 10
𝐴ҧ𝐷 = 𝐴−1
𝐵 𝐴𝐷 = 0 3
6 9
𝑟𝐷 = 𝑐𝐷𝑇 − 𝑐𝐵𝑇 𝐴ҧ𝐷 = [−1 −1]
No es óptimo
2 2 10
• Entra 𝑥1 , sale min ; ; = 1→ 𝑥3
2 0 6
• Cambio de base 3,4,5 → {1,4,5}
Iteración 2: 𝐵 = {1,4,5}
1
2 0 0 −1
0 0 m𝑖𝑛 −𝑥1 − 𝑥2 s.t.
−1 2 𝑥≥0
𝐴𝐵 = 0 1 0 = 0 1 0 2𝑥1 + 𝑥2 + 𝑥3 = 2
6 0 1 −3 0 1 3𝑥2 + 𝑥4 = 2
1
𝑏ത = 2 6𝑥1 + 9𝑥2 + 𝑥5 = 10
4
𝑧𝐵 = −1
1/2 1/2
𝐴ҧ𝐷 = 3 0
6 −3
1 1
𝑟𝐷 = − 2 2
No es óptimo!
1 2 4
• Entra 𝑥2 , sale min ; ; = 2/3→ 𝑥4 𝑜 𝑥5 Hay empate!
1/2 3 6
• Cambio de base 1,4,5 → {1,2,5} ó 1,4,5 → {1,4,2}
Iteración 3: 𝐵 = {1,2,5} (si sale 4)
1 1
2 1 0 −1
2
−
6
0 m𝑖𝑛 −𝑥1 − 𝑥2 s.t.
𝐴−1 = 0 3 0 = 1 𝑥≥0
𝐵 0 0
6 9 1 3 2𝑥1 + 𝑥2 + 𝑥3 = 2
−3 −2 1
2/3 3𝑥2 + 𝑥4 = 2
𝑏ത = 2/3 6𝑥1 + 9𝑥2 + 𝑥5 = 10
0
𝑧𝐵 = −4/3
1 1
2
− 6
ҧ
𝐴𝐷 = 0 1
3
−3 −2
1 1
𝑟𝐷 = 2 6
2 2
Solución óptima: [ ; ; 0; 0; 0]
3 3
Iteración 3: 𝐵 = {1,4,2} (si sale 5)
3 1
2 0 1 −1 4
0 −
12 m𝑖𝑛 −𝑥1 − 𝑥2 s.t.
3 1 𝑥≥0
𝐴−1 = 0 1 3 = 1 −
𝐵
6 0 9
2
1 1
2 2𝑥1 + 𝑥2 + 𝑥3 = 2
− 0
2 6 3𝑥2 + 𝑥4 = 2
2/3
𝑏ത = 0 6𝑥1 + 9𝑥2 + 𝑥5 = 10
2/3
𝑧𝐵 = −4/3
3 1
−
4 12
3 1
𝐴ҧ𝐷 = 2
−
2
1 1
−
2 6
1 1
𝑟𝐷 = 4 12
2 2
Solución óptima: [ ; ; 0; 0; 0]. ¡La misma que antes, pero otra
3 3
base y con otros costos reducidos!
¿Qué pasó?
Teorema:
3 1
m𝑖𝑛 − 𝑥1 + 150𝑥2 − 𝑥3 s.t.
𝑥≥0 4 50
1 1
𝑥 − 60𝑥2 − 𝑥 + 9𝑥4 ≤ 0 m𝑖𝑛 −𝑥1 − 𝑥2 s.t.
4 1 25 3 𝑥≥0
1 1 𝑥1 + 𝑥2 ≤ 1
𝑥 − 90𝑥2 − 𝑥 + 3𝑥4 ≤ 0
2 1 50 3 −𝑥1 + 𝑥2 ≤ 0
𝑥3 ≤ 1
Solución degenerada. Degenerada y múltiple.
Otro propuesto
m𝑖𝑛 −3𝑥1 − 2𝑥2 − 5𝑥3 s.t.
𝑥
3𝑥1 + 2𝑥3 ≤ 460
𝑥1 + 4𝑥2 ≤ 420
𝑥1 + 2𝑥2 + 𝑥3 ≤ 430
𝑥1 , 𝑥2 ≥ 0, 𝑥3 𝑙𝑖𝑏𝑟𝑒
❖ Costos reducidos
❖ Casos especiales:
• Solución múltiple
• No acotamiento
• Degenerancia y ciclaje
Paso Inicial
FASE I Encontrar un vértice del dominio, es decir,
una solución base factible
Paso Iterativo
Traslado a un mejor vértice
FASE II
NO
Prueba de Optimalidad
¿Es óptima la solución? FIN
SI
Buscando una base factible inicial …
𝑚 𝑚 𝑚
con 𝑐 ∈ ℝ𝑛 , 𝐴 ∈ ℝ𝑛×𝑚1 , 𝐷 ∈ ℝ𝑛×𝑚2 , 𝐺 ∈ ℝ𝑛×𝑚3 , 𝑏 ∈ ℝ+ 1 , 𝑓 ∈ ℝ+ 2 , ℎ ∈ ℝ+ 3 y
𝑚 = 𝑚1 + 𝑚2 + 𝑚3 .
𝑚 𝑚
Forma estándar requiere variables de holgura ℎ ∈ ℝ+ 1 y exceso 𝑒 ∈ ℝ+ 2 :
min 𝑐 𝑇 𝑥
𝑥,ℎ,𝑒≥0
𝐴𝑥 + 𝐼𝑚1 ℎ = 𝑏
s.t. 𝐷𝑥 − 𝐼𝑚2 𝑒 = 𝑓
𝐺𝑥 = ℎ
Ejemplo 5
Consideremos el siguiente problema y llevémoslo a formato estándar…
min 1𝑇 𝑦
𝑥,ℎ,𝑒,𝑦≥0
𝐴𝑥 + 𝐼𝑚1 ℎ = 𝑏
s.t. 𝐷𝑥 − 𝐼𝑚2 𝑒 + 𝐼𝑚2 𝑦′ = 𝑓
𝐺𝑥 + 𝐼𝑚3 𝑦′′ = ℎ
𝑦′ 𝑚 +𝑚
Variables artificiales nonegativas 𝑦 = ′′ ∈ ℝ+ 2 3 para “=” y “≥”.
𝑦
Aumento artificial de dimensión que genera origen factible.
Base inicial factible: {ℎ, 𝑦 ′ , 𝑦′′}
En el Ejemplo
20 20 2
Entra 𝑥2 : min ; ;
= 1, sale 𝑦
2 3 2
Cambio de base 3,4, 𝑦 → {3,4,2}
Iteración 2 Fase I: B = {3,4,2}
Calculamos base: min 𝑦 s.t.
𝑦≥0,𝑥≥0
−1 1 0 −1
1 0 2 3 3𝑥1 + 2𝑥2 + 𝑥3 = 20
• 𝐴−1 = 0 1 3 == 0 1 −
𝐵 2 2𝑥1 + 3𝑥2 + 𝑥4 = 20
1
0 0 2 0 0 2 𝑥1 + 2𝑥2 − 𝑥5 + 𝑦 = 2
18
• 𝑏ത = 17
1
• 𝑧𝐵 = 0
2 1 −1
1 3 3
• 𝐴ҧ𝐷 = −
2 2 2
1 1 1
−2
2 2
• 𝑟𝐷 = [0 0 1]
Ejemplo:
min 𝑐 𝑇 𝑥 s.t.
𝑥≥0
𝑥1 + 3𝑥2 + 5𝑥5 = 6
𝑥2 − 4𝑥3 + 𝑥4 + 𝑥5 = 20
Ejemplo:
min 𝑐 𝑇 𝑥 s.t.
𝑥≥0
𝑥1 + 3𝑥2 + 2𝑥4 + 5𝑥5 = 6
𝑥2 − 4𝑥3 + 𝑥4 + 𝑥5 = 20
Problema de FASE I (𝐵 = {𝑦1 , 𝑦2 })
min 𝑦1 + 𝑦2 s.t.
𝑥≥0,y≥0
𝑥1 + 3𝑥2 + 2𝑥4 + 5𝑥5 + 𝑦1 = 6
𝑥2 − 4𝑥3 + 𝑥4 + 𝑥5 + 𝑦2 = 20
min − 𝑥1 − 𝑥2 s.t.
𝑥≥0
14𝑥1 + 9𝑥2 ≥ 63
𝑥1 − 𝑥2 ≤ −1
7𝑥1 + 3𝑥2 ≤ 42
2𝑥1 + 8𝑥2 ≤ 52
Problema con más de una
variable artificial min − 3𝑥1 + 𝑥2 + 𝑥3 s.t.
𝑥≥0
𝑥1 − 2𝑥2 + 𝑥3 ≤ 11
−4𝑥1 + 𝑥2 + 2𝑥3 ≥ 3
2𝑥1 − 𝑥3 = −1
Problema con restricciones
de Igualdad
Certificado de infactibilidad
Problema de Fase I:
min 𝑦 s.t.
𝑥≥0
𝑥1 + 2𝑥2 + 𝑥3 = 2
𝑥1 + 𝑥2 − 𝑥4 + 𝑦 = 4
Iteración 1 Fase I: B = {3, 𝑦}
2 4
Entra 𝑥1 : min ; ; = 2, sale 𝑥3
1 1
Cambio de base 3, 𝑦 → {1, 𝑦}
Iteración 2 Fase I: B = {1, 𝑦}
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0
𝑥1 + 2𝑥2 + 𝑥3 = 2
𝑥1 + 𝑥2 − 𝑥4 = 4
𝑥1 ≥ 0 (× 0)
𝑥2 ≥ 0 (× 1)
2 − 𝑥1 − 2𝑥2 ≥ 0 (× 1)
𝑥1 + 𝑥2 − 4 ≥ 0 (× 1)
−2 ≥ 0
. Casos de Inexistencia de Solución
Problema no acotado:
Columna completa de variable no básica
entrante es no positiva.
Dominio Infactible:
Fase I con valor óptimo positivo.
. Si realmente desea aprender esto bien….
Recomiendo programar el algoritmo simplex.
Doy 8 puntos a los primeros tres estudiantes que me muestren
después de clase un programa (hecho por el mismo) funcionando
en cualquier caso.
Optimización – ICS1113