Optimizacion
Optimizacion
Se puede afirmar que, desde siempre, existe el interés de las personas por
buscar las mejores maneras para actuar. Se pueden señalar muchos
momentos de la historia en los que se han documentado acontecimientos
relevantes con presencia de la optimización.
Básica
Complementaria
2. Evaluación única
Mat. Discreta
Optimización
Prog. Combinatoria
Mod. de Inv. Operativa
TFG P.E.
Tema 1: FUNDAMENTOS DE LA INVESTIGACIÓN OPERATIVA
Historia
Campos de aplicación
Metodología
Historia
La ciencia surge, en general, por la necesidad de analizar y
resolver problemas complejos. Esta necesidad ha crecido a lo
largo de los siglos manifestándose en organizaciones cada vez
más grandes, con más interacciones, con distintas formas de
gestión y de producción, con nuevas maneras de repartir
rendimientos o de asignar recursos y actividades, ...
Una definición
La Investigación Operativa tiene por objeto fundamental ayudar a decidir,
mediante métodos científicos, sobre el diseño que optimice el
funcionamiento de sistemas hombre-máquina bajo condiciones que
implican, generalmente, la utilización de recursos escasos
Áreas de trabajo
Programación Lineal, Programación Entera, Teoría de Grafos, Programación
Combinatoria, Complejidad Algorítmica, Programación no Lineal,
Programación Estocástica, Programación Dinámica, Teoría de la Decisión,
Análisis de Decisiones, Decisión Multicriterio, Teoría del Control, Teoría de
Juegos, Colas, Inventarios, Búsqueda, Teoría de la Información, Planificación
y Secuenciación, Simulación, Fiabilidad y Mantenimiento, etc.
DECISOR ANALISTA
PROBLEMA MODELO
FORMALIZACIÓN
DEDUCCIÓN
NO
CONCLUSIONES CONCLUSIONES
SOBRE EL PROBLEMA SOBRE EL MODELO
INTERPRETACIÓN
SI ¿MODELO
VÁLIDO?
METODOLOGÍA
A B C Horas disponibles
H1/aparato 10 15 20 600
H2/aparato 4 4 8 180
precio/aparato 300 375 475
Observamos que hay tres actividades (la producción de cada uno de los
aparatos) cuyos niveles hay que determinar. Para llevarlas a cabo se utilizan
dos recursos: tiempo de producción y tiempo de revisión.
Sea xj , j=1,2,3,la variable de decisión que está asociada al número de
aparatos de cada tipo que se han de ensamblar.
Los precios de comercialización (que hay que maximizar) serán iguales a
300𝑥1 + 375𝑥2 + 475𝑥3
Las condiciones de producción implican que:
- Las horas de producción empleadas no pueden superar 600
10𝑥1 + 15𝑥2 + 20𝑥3 ≤ 600
- Las horas de revisión deben ser, a lo sumo, 180
4𝑥1 + 4𝑥2 + 8𝑥3 ≤ 180
Precios
Notación matricial
max 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 ≤ 𝑏
𝑥≥0
FORMALIZACIÓN DE MODELOS
Ejemplo 2: Problema de transporte
Tres almacenes ofertan un producto que se demanda en cinco mercados. Las
cantidades ofertadas en origen, las demandas de los destinos (medidas
ambas en cientos de kilogramos) y los costos de transporte (euros por
unidad de producto) entre cada almacén y cada mercado, aparecen en la
siguiente tabla:
M1 M2 M3 M4 M5 Ofertas
Al1 2 5 2 4 6 38
Al2 5 2 7 6 3 44
Al3 4 6 8 9 5 69
Demandas 43 29 37 14 28
x
i =1
ij = b j , j = 1,..., n
(3,9,2)
0
2 5 -4
(1,9,4) (2,6,8) (1,9,7)
(2,8,5)
(1,6,3)
17 1 4 7 -4
(0,6,2) 4
(0,5,4)
(2,8,5) (1,7,3)
(0,6,9)
3 6
(0,8,5)
-5 -8
FORMALIZACIÓN DE MODELOS
El problema de flujo de costo mínimo consiste en determinar las cantidades
de producto que debe circular por los arcos para minimizar los costos
globales de transporte, respetando las disponibilidades de los vértices y las
capacidades de los arcos.
min 4𝑥12 + 5𝑥13 + 2𝑥14 + 2𝑥25 + 5𝑥24 + 5𝑥36 + 3𝑥43 + 4𝑥46 + 3𝑥47 + 8𝑥54 + 7𝑥57 + 9𝑥76
𝑠. 𝑎: 𝑥12 + 𝑥13 + 𝑥14 = 17
−𝑥12 + 𝑥24 + 𝑥25 = 0
−𝑥13 − 𝑥43 + 𝑥36 = −5
−𝑥14 − 𝑥24 + 𝑥43 + 𝑥46 + 𝑥47 − 𝑥54 = 4
−𝑥25 + 𝑥54 + 𝑥57 = −4
−𝑥36 − 𝑥46 − 𝑥76 = −8
−𝑥47 − 𝑥57 + 𝑥76 = −4
1 ≤ 𝑥12 ≤ 9, 2 ≤ 𝑥13 ≤ 8, 0 ≤ 𝑥14 ≤ 6, 3 ≤ 𝑥25 ≤ 9
2 ≤ 𝑥24 ≤ 8, 1 ≤ 𝑥43 ≤ 7, 0 ≤ 𝑥36 ≤ 8, 0 ≤ 𝑥46 ≤ 5
2 ≤ 𝑥54 ≤ 6, 1 ≤ 𝑥57 ≤ 9, 1 ≤ 𝑥47 ≤ 6, 0 ≤ 𝑥76 ≤ 6
COMO ILUSTRACIÓN
Una solución óptima del anterior problema con costo igual a 167 es:
(3,9,2)
0
2 5 -4
7
(1,9,4) 2 (2,6,8) (1,9,7)
9 (2,8,5) 2 1
1 (1,6,3)
17 1 4 7 -4
(0,6,2) 4 3
7 1 (0,5,4) 0
(2,8,5) (1,7,3) 5
(0,6,9)
3
3 6
(0,8,5)
-5 -8
FORMALIZACIÓN DE MODELOS
𝑠. 𝑎: 𝑥𝑖𝑗 − 𝑥𝑗𝑖 = 𝑏𝑖 , ∀𝑖 ∈ 𝑉
𝑗∈𝑆𝑢𝑐 𝑖 𝑗∈𝑃𝑟𝑒𝑑 𝑖
𝑙𝑖𝑗 ≤ 𝑥𝑖𝑗 ≤ 𝑢𝑖𝑗 , ∀ 𝑖, 𝑗 ∈ 𝐴
−𝟏 7 5 −𝟏
2
6 8 4
5
3
𝒏−𝟏 1 4 7 −𝟏
7 −𝟏
9
6 5
4
3 6
2
−𝟏 −𝟏
La formulación del correspondiente problema de flujo de coste mínimo
permite determinar el árbol de caminos mínimos desde el vértice 1 al
resto de vértices.
FORMALIZACIÓN DE MODELOS
− ( n − 1) , si i = s
s.a : −
xij + x =
1, si i s
ji
jSuc ( i ) jPr ed ( i )
xij 0, ( i, j ) A
FORMALIZACIÓN DE MODELOS
Ejemplo 5: Problemas de la mochila (knapsack)
Un recipiente puede soportar un peso total de W. En el se puede introducir n
productos, cada uno con peso 𝑤𝑗 y con valor 𝑣𝑗 .
Para determinar los productos que hay que introducir en el recipiente de
forma que se maximice el valor global, planteamos el problema:
𝑛
m𝑎𝑥 𝑣𝑗 𝑥𝑗
𝑗=1
𝑛
𝑤𝑗 𝑥𝑗 ≤ 𝑊
𝑗=1
𝑥𝑗 = 0,1, 𝑗 = 1, … , 𝑛
siendo:
1, 𝑠𝑖 𝑒𝑙 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜 𝑗 𝑒𝑠 𝑖𝑛𝑡𝑟𝑜𝑑𝑢𝑐𝑖𝑑𝑜
𝑥𝑗 = ቊ
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
m𝑎𝑥 𝑣𝑗 𝑥𝑗
𝑗=1
𝑛
𝑤𝑗 𝑥𝑗 ≤ 𝑊
𝑗=1
𝑥𝑗 ≥ 0 𝑦 𝑒𝑛𝑡𝑒𝑟𝑜, 𝑗 = 1, … , 𝑛
Ahora:
𝑥𝑗 = 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜𝑠 𝑡𝑖𝑝𝑜 𝑗 𝑖𝑛𝑡𝑟𝑜𝑑𝑢𝑐𝑖𝑑𝑜𝑠
Este modelo es conocido como problema de la mochila entero.
𝑠. 𝑎: 𝑥𝑖𝑗 = 1, 𝑖 = 1, … , 𝑛
𝑗=1
𝑛
𝑥𝑖𝑗 = 1, 𝑗 = 1, … , 𝑛
𝑖=1
𝑥𝑖𝑗 = 0,1, 𝑖 = 1, … , 𝑛, 𝑗 = 1, … , 𝑛
siendo
1, 𝑠𝑖 𝑖 ∈ 𝐴 𝑒𝑠 𝑎𝑠𝑖𝑔𝑛𝑎𝑑𝑜 𝑎 𝑗 ∈ 𝐵
𝑥𝑖𝑗 = ቊ
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
FORMALIZACIÓN DE MODELOS
Ejemplo 7: Problemas de localización(location)
En una gran área, un conjunto de clientes, 𝐶 = 1, … , 𝑛 , demanda un
determinado producto en cantidades 𝑑𝑗 , 𝑗 ∈ 𝐶 . Para atenderles, se proyecta
construir, a lo sumo, m plantas de producción y una red de rutas
comerciales.
Un gabinete técnico determina 𝑝 ≥ 𝑚 posibles lugares de localización de una
de estas plantas.
Para cada 𝑖 ∈ 1, … , 𝑝 , se conoce:
𝑘𝑖 = costo de localización de la planta de producción
𝑎𝑖 = capacidad de producción de la planta
La creación de una ruta comercial entre 𝑖 ∈ 1, … , 𝑝 y 𝑗 ∈ 1, … , 𝑛 , con una
capacidad máxima de 𝑢𝑖𝑗 , tiene un costo igual a 𝑘𝑖𝑗 . El costo unitario de
transporte por cada una de estas rutas es igual a 𝑐𝑖𝑗 .
El problema que se plantea es el de determinar cuántas plantas hay que
localizar (a lo sumo m), qué rutas comerciales hay que crear y cuántas
unidades de producto se deben transportar desde las plantas a los puntos
de consumo de manera que se satisfagan las demandas, se respeten las
capacidades de las plantas y de las rutas comerciales y se minimicen los
costos globales.
FORMALIZACIÓN DE MODELOS
El correspondiente modelo es:
𝑝 𝑛 𝑝 𝑛 𝑝
𝑠. 𝑎: 𝑦𝑖 ≤ 𝑚
𝑖=1
𝑝
𝑥𝑖𝑗 ≥ 𝑑𝑗 , 𝑗 = 1, … , 𝑛
𝑖=1
𝑛
𝑥𝑖𝑗 ≤ 𝑦𝑖 𝑎𝑖 , 𝑖 = 1, … , 𝑝
𝑗=1
𝑥𝑖𝑗 ≤ 𝑢𝑖𝑗 𝑦𝑖𝑗 , 𝑖 = 1, … , 𝑝, 𝑗 = 1, … , 𝑛
𝑥𝑖𝑗 ≥ 0, 𝑦𝑖𝑗 = 0,1, 𝑦𝑖 = 0,1, 𝑖 = 1, … , 𝑝, 𝑗 = 1, … , 𝑛
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 forma estándar
𝑥≥0
− min imizar − 25 x1 − 35 x2 − 75 x3 + 75 x4
sujeto a: 2x1 + 6 x2 + 4 x3 − 4 x4 + x5 = 20
− 4 x1 − 5 x2 − 6 x3 + 6 x4 − x6 = 18
x1 − 2 x2 − 3 x3 + 3 x4 = 10
x j 0, j = 1,...,6
RESOLUCIÓN GRÁFICA
Método gráfico
Un problema de Programación Lineal puede ser resuelto gráficamente
siempre que se pueda dibujar. Obviamente, esto sería posible cuando el
problema tenga dos variables o, más difícilmente, tres variables. Para la
resolución gráfica no es necesario que las restricciones sean ecuaciones.
Ejemplo 1
max 4 𝑥1 + 2𝑥2
4𝑥1 + 2𝑥2 = 𝑘
𝑠. 𝑎: −𝑥1 + 𝑥2 ≤ 4 (2,6)
3𝑥1 + 2𝑥2 ≤ 18
3𝑥1 + 𝑥2 ≤ 15
𝑥1 ≥ 0, 𝑥2 ≥ 0
(0,4) Solución óptima
𝑘
(4,3)
2
(0,0) (5,0)
Ejemplo 2
max 3 𝑥1 + 2𝑥2
3𝑥1 + 2𝑥2 = 𝑘
𝑠. 𝑎: −𝑥1 + 𝑥2 ≤ 4 (2,6)
3𝑥1 + 2𝑥2 ≤ 18 Soluciones óptimas
3𝑥1 + 𝑥2 ≤ 15
𝑥1 ≥ 0, 𝑥2 ≥ 0
(0,4)
𝑘
(4,3)
2
(0,0) (5,0)
RESOLUCIÓN GRÁFICA
Ejemplo 3
Problema no factible
RESOLUCIÓN GRÁFICA
Ejemplo 4
max imizar 3x1 + 4 x2
sujeto a: x1 + x2 3
− x1 + 2 x2 10
x1 − 4 x2 4
x1 , x2 0
(0,5)
(0,3)
𝑘
4 (3,0)
(0,0) (4,0)
3𝑥1 + 4𝑥2 = 𝑘
Problema no acotado
Tema 3: CONCEPTOS BÁSICOS
Conjuntos afines.
Conjuntos convexos.
Poliedros.
Propiedades de los poliedros.
Representación de poliedros.
Introducción
La región factible de un problema de Programación Lineal es un poliedro
cerrado. Este tipo de conjuntos convexos resultan de la intersección finita
de semiespacios. Estos, a su vez, están definidos a partir de hiperplanos,
los cuales son conjuntos afines de dimensión máxima.
De ahí la secuencia de conceptos y propiedades de este tema.
El correspondiente estudio puede ser más amplio. Sin embargo, de
momento, sólo nos fijaremos en lo imprescindible para nuestros propósitos.
𝛼𝑢 + 𝛽𝑣
𝛼, 𝛽 ≥ 0
Combinaciones convexas
𝛼𝑢 + 𝛽𝑣
u 𝛼+𝛽 =1
𝛼, 𝛽 ≥ 0
Combinaciones afines
𝛼𝑢 + 𝛽𝑣 v
𝛼, 𝛽 ∈ 𝑅
𝛼𝑢 + 𝛽𝑣
𝛼+𝛽 =1
Combinación lineal
CONJUNTOS AFINES
Conjuntos afines
Un subconjunto 𝑇 de 𝑅𝑛 es afín sí, y sólo si, contiene las rectas que pasan
por cualquier par de sus puntos; es decir, ∀𝑥 1 , 𝑥 2 ∈ 𝑇, ∀𝜆 ∈ 𝑅, 𝑥 1 + 𝜆 𝑥 2 − 𝑥 1 ∈ 𝑇
(∀𝑥 1 , 𝑥 2 ∈ 𝑇, ∀𝜆 ∈ 𝑅, 𝜆𝑥 1 + 1 − 𝜆 𝑥 2 ∈ 𝑇 ).
Trivialmente, ∅ y 𝑅𝑛 son conjuntos afines.
Ejemplo
En 𝑅2 los conjuntos unitarios y los que definen rectas son conjuntos afines.
En 𝑅3 , los puntos, las rectas y los planos son conjuntos afines.
Aplicando la definición anterior, si 𝑥 1 , 𝑥 2 , 𝑥 3 ∈ 𝑇, como ∀𝜆 ∈ 𝑅, 𝑥 1 + 𝜆 𝑥 2 − 𝑥 1 ∈
𝑇 , tenemos que ∀𝛿 ∈ 𝑅 , 𝑥 3 + δ 𝑥 1 + 𝜆 𝑥 2 − 𝑥 1 − 𝑥 3 ∈ 𝑇 . La suma de los
escalares que multiplican los vectores es: 1 + δ + δ𝜆 − δ𝜆 − δ = 1.
Por tanto, 𝑇 ⊆ 𝑅𝑛 es afín sí, y solo si, contiene las combinaciones lineales
afines construidas a partir de un número finito de vectores de 𝑇
CONJUNTOS AFINES
Proposición
𝑆 ⊆ 𝑅𝑛 es un subespacio vectorial, sí, y sólo si, es un subconjunto afín y
contiene el vector 0.
Demostración
⟹) Trivial ya que ∀𝑥, 𝑦 ∈ 𝑆, ∀𝜆 ∈ 𝑅, 𝜆𝑥 ∈ 𝑆, 1 − 𝜆 𝑦 ∈ 𝑆 , 𝜆𝑥 + 1 − 𝜆 𝑦 ∈ 𝑆. Además,
∀𝑥 ∈ 𝑆,−𝑥 ∈ 𝑆 y 0 = x − 𝑥 ∈ 𝑆
⇐) Si S es un subconjunto afín y contiene el vector 0
∀𝑥 ∈ 𝑆, ∀𝜆 ∈ 𝑅, 𝜆𝑥 = 0 + 𝜆 𝑥 − 0 ∈ 𝑆
𝑥+𝑦 1 1
∀𝑥 ∈ 𝑆, ∀𝑦 ∈ 𝑆, 𝑥 + 𝑦 = 2 =2 𝑥+ 1− 𝑦
2 2 2
Por tanto, S es un subespacio vectorial.
𝑅2
CONJUNTOS AFINES
Definición
Dados dos subconjuntos U y V de 𝑅𝑛 . Decimos que U es trasladado de V (o
una traslación de V) sí, y sólo si, ∃𝑎 ∈ 𝑅𝑛 tal que 𝑈 = 𝑉 + 𝑎 = {𝑥 + 𝑎 | 𝑥 ∈ 𝑉}
Proposición
T es un subconjunto afín de 𝑅𝑛 sí, y sólo si, T es trasladado de un único
subespacio vectorial de 𝑅𝑛 .
Demostración
⟹) ∀𝑥 ∈ 𝑇, tenemos que 𝑇 = 𝑥 + 𝑇 − 𝑥 . Como 𝑇 − 𝑥 es un conjunto afín que
contiene el 0, 𝑇 − 𝑥 es en subespacio vectorial de 𝑅𝑛 . Esta representación es
única ya que si 𝑇 = 𝑎 + 𝑆1 = 𝑏 + 𝑆2 , con 𝑆1 y 𝑆2 subespacios vectoriales de 𝑅𝑛 ,
tenemos que 𝑆1 = 𝑐 + 𝑆2 . Por tanto, 𝑐, −𝑐 ∈ 𝑆2 y, en consecuencia, 𝑆1 = 𝑐 + 𝑆2 ⊆
𝑆2 . De igual manera, se puede demostrar que 𝑆2 ⊆ 𝑆1 .
⇐) Trivial
Definición
La dimensión de un conjunto afín es la del subespacio vectorial paralelo
correspondiente.
HIPERPLANOS
Definición
Los subconjuntos afines de 𝑅𝑛 que resultan de una traslación de un
subespacio vectorial de dimensión 𝑛 − 1 se denominan hiperplanos.
Definición
Dado un subespacio S ⊆ Rn , el complemento ortogonal es:
𝑛
𝑆 ⊥ = {𝑦 ∈ 𝑅𝑛 |𝑦 𝑡 𝑥 = 𝑦𝑗 𝑥𝑗 = 0, ∀𝑥 ∈ 𝑆}
𝑗=1
Propiedad
𝑆 ⊥ es también un subespacio vectorial. Además, 𝑑𝑖𝑚 𝑆 + 𝑑𝑖𝑚 𝑆 ⊥ = 𝑛.
Si 𝑆 = {𝜇𝑏|𝜇 ∈ 𝑅} y 𝑏 ∈ 𝑅𝑛 − {0}, 𝑆 ⊥ es un subespacio vectorial de dimensión
𝑛 − 1. Además, 𝑆 ⊥ = {𝑥 ∈ 𝑅𝑛 |𝑏𝑡 𝑥 = 0}.
Recíprocamente, si 𝑆 es un subespacio vectorial de dimensión 𝑛 − 1, ∃𝑏 ∈ 𝑅𝑛 −
{0}, tal que 𝑆 ⊥ = {𝜇𝑏|𝜇 ∈ 𝑅}.
Proposición
T es un conjunto afín, sí, y sólo si, T es intersección de un número finito de
hiperplanos. Es decir, para algún 𝑚 ≤ 𝑛, 𝑇 = {𝑥 ∈ 𝑅 𝑛 |𝐵𝑥 = 𝑏}, con 𝐵 matriz de
orden 𝑚 × 𝑛 y 𝑏 ∈ 𝑅𝑚 .
Demostración
⟹) Sea S el subespacio vectorial paralelo a T. Sea 𝑏1 , 𝑏2 , … , 𝑏𝑚 ∈ 𝑅𝑛 una base
de 𝑆 ⊥ . Como 𝑆 = 𝑆 ⊥ ⊥ = 𝑥 ∈ 𝑅𝑛 𝑥 𝑡 𝑏𝑖 = 0, ∀𝑖 ∈ 1, … , 𝑚 = {𝑥 ∈ 𝑅𝑛 |𝐵𝑥 = 0}, siendo
𝐵 matriz de orden 𝑚 × 𝑛 formada con los vectores transpuestos de
𝑏1 , 𝑏2 , … , 𝑏𝑚 . Como 𝑇 = 𝑆 + 𝑎 = 𝑥 ∈ 𝑅𝑛 𝐵 𝑥 − 𝑎 = 0 = {𝑥 ∈ 𝑅𝑛 |𝐵𝑥 = 𝑏}, con 𝐵𝑎 =
𝑏 ∈ 𝑅𝑚 .
Si 𝑇 = 𝑅𝑛 , 𝐵 = 0 y 𝑏 = 0. Si 𝑇 = ∅, 𝐵 = 0 y 𝑏 ≠ 0.
𝑅𝑛 es la intersección de una colección vacía de hiperplanos. ∅ es intersección
de dos hiperplanos paralelos.
⇐) Trivial.
INDEPENDENCIA AFÍN
Envoltura afín
Dado un subconjunto C de 𝑅𝑛 , su envoltura afín, 𝐴𝑓í𝑛 𝐶 , es la intersección
de todos los conjuntos afines que lo contienen. Se demuestra que:
𝑙 𝑙
𝐴𝑓í𝑛 𝐶 = 𝛿𝑗 𝑥 𝑗 | 𝑙 ∈ 𝑁, 𝑥 𝑗 ∈ 𝐶, 𝛿𝑗 ∈ 𝑅, ∀𝑗 ∈ 1, … , 𝑙 , 𝛿𝑗 = 1
𝑗=1 𝑗=1
Independencia afín
Un conjunto de vectores 𝑏0 , 𝑏1 , …, 𝑏𝑚 son afínmente independientes sí, y
sólo si, 𝐴𝑓í𝑛 𝑏0 , 𝑏1 , …, 𝑏𝑚 tiene dimensión m. Resulta que 𝐴𝑓í𝑛ሺ𝑏0 , 𝑏1 , …,
𝑏𝑚 ) = 𝑆 + 𝑏0 con
𝑆 = 𝐴𝑓í𝑛 0, 𝑏1 − 𝑏0 , … , 𝑏𝑚 − 𝑏0
Por tanto, 𝑏0 , 𝑏1 , …, 𝑏𝑚 son afínmente independientes sí, y sólo si, 𝑏1 −
𝑏0 , … , 𝑏𝑚 − 𝑏0 son linealmente independientes.
CONJUNTOS CONVEXOS
Conjuntos convexos
Un subconjunto S de 𝑅𝑛 es convexo sí, y sólo si, contiene los segmentos de
recta que conectan cualquier par de sus puntos; es decir:
∀𝑥 1 , 𝑥 2 ∈ 𝑆, ∀𝜆 ∈ 0,1 , 𝑥 1 + 𝜆 𝑥 2 − 𝑥 1 ∈ 𝑆
Propiedad
Un conjunto afín es convexo. Lo contrario no es cierto.
Cualquier semiespacio es un conjunto convexo.
La intersección de conjuntos convexos es un conjunto convexo.
Poliedro
Un subconjunto P de 𝑅𝑛 es un poliedro sí, y sólo si, P es intersección de un
número finito de semiespacios.
Cualquier poliedro es un conjunto convexo. Lo contrario no es cierto.
Proposición
𝐻 𝑆 es convexo y 𝑆 ⊆ 𝐻 𝑆 .
Si 𝑆 es convexo, 𝑆 = 𝐻 𝑆 .
Demostración
1) Dadas dos combinaciones lineales convexas σ𝑚 𝑗=1 𝛿𝑗 𝑥
𝑗 y σ𝑟 𝛾 𝑦 𝑗 , ∀𝜆 ∈
𝑗=1 𝑗
0,1 , 𝜆 σ𝑗=1 𝛿𝑗 𝑥 𝑗 + 1 − 𝜆 σ𝑗=1 𝛾𝑗 𝑦 𝑗 es una combinación lineal convexa ya
𝑚 𝑟
convexo.
Además, ∀𝑥 ∈ 𝑆, 𝑥 = 1𝑥 ∈ 𝐻 𝑆 y, por ello, 𝑆 ⊆ 𝐻 𝑆 .
2) Para demostrar que, si 𝑆 es convexo, 𝐻 𝑆 ⊆ 𝑆, procedamos por inducción
sobre el número de vectores, k, de 𝑆 usados en cualquier combinación
lineal convexa σ𝑘𝑗=1 𝛿𝑗 𝑥 𝑗 , con 𝛿𝑗 ≥ 0 y σ𝑘𝑗=1 𝛿𝑗 = 1.
CONJUNTOS CONVEXOS
- Cuando k=1, es cierto que σ𝑘𝑗=1 𝛿𝑗 𝑥 𝑗 = 𝑥 1 ∈ 𝑆.
- Admitimos que es cierto para 𝑘 − 1; es decir, σ𝑘−1𝑗=1 𝛿𝑗 𝑥 ∈ 𝑆, siempre que 𝛿𝑗 ≥
𝑗
0, 𝑗 = 1, … , 𝑘 − 1, y σ𝑘−1
𝑗=1 𝛿𝑗 = 1.
- Para σ𝑘𝑗=1 𝛿𝑗 𝑥 𝑗 , supongamos, sin pérdida de generalidad, que 𝛿𝑘 ∈ 0,1 .
Hacemos:
𝑘 𝑘 𝑘−1
𝛿𝑗 𝛿𝑗
𝛿𝑗 𝑥 𝑗 = 1 − 𝛿𝑘 𝑥 𝑗 = 𝛿𝑘 𝑥 𝑘 + 1 − 𝛿𝑘 𝑥𝑗
1 − 𝛿𝑘 1 − 𝛿𝑘
𝑗=1 𝑗=1 𝑗=1
𝛿𝑗 𝛿 1−𝛿
Como ≥ 0, 𝑗 = 1, . . . , 𝑘 − 1 , y σ𝑘−1
𝑗=1 1−𝛿 = 1−𝛿 = 1 , por el principio de
𝑗 𝑘
1−𝛿𝑘 𝑘 𝑘
𝛿𝑗
inducción 𝑦 = σ𝑘−1
𝑗=1 1−𝛿 𝑥
𝑗
∈ 𝑆 . Esto hace que, al ser S convexo, 𝛿𝑘 𝑥 𝑘 +
𝑘
1 − 𝛿𝑘 𝑦 ∈ 𝑆.
CONJUNTOS CONVEXOS
Definición
𝑥ҧ ∈ 𝑆, conjunto convexo, es un punto extremo (vértice), sí, y sólo si, 𝑥ҧ no
puede ponerse como combinación lineal convexa de dos vectores distintos de
S.
Definición
La envoltura convexa de un conjunto finito de vectores se denomina
politopo. Si los vectores 𝑏0 , 𝑏1 , …, 𝑏𝑚 son afínmente independientes, la
envoltura convexa se denomina simplex (de dimensión m). 𝑏0 , 𝑏1 , …, 𝑏𝑚
son los vértices del simplex.
La dimensión de un conjunto convexo es la de su envoltura afín. Se puede
demostrar que dicha dimensión es el máximo (supremo) de las
correspondientes a los simplex contenidos en él.
POLIEDROS ESTÁNDAR
La forma estándar de un poliedro viene dada por {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0} . Un
poliedro estándar es un conjunto convexo y cerrado.
Proposición
A cualquier poliedro le corresponde uno equivalente expresado en la forma
estándar.
Demostración
Un poliedro P es una intersección finita de semiespacios (por ejemplo, m).
Por tanto, tendrá la forma 𝑃 = {𝑥 ∈ 𝑅𝑛 | σ𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 , 𝑖 = 1, … , 𝑘, σ𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≥ 𝑏𝑖 , 𝑖 =
𝑘 + 1, … , 𝑚, 𝑥𝑗 ≥ 0, ∀𝑗 ∈ 𝐽1 , 𝑥𝑗 ≤ 0, ∀𝑗 ∈ 𝐽2 }, con 𝐽1 , 𝐽2 ⊆ {1, … , 𝑛}, 𝐽1 ∩ 𝐽2 = ∅.
Las desigualdades σ𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 se pueden convertir en igualdades añadiendo
una variable 𝑥𝑛+𝑖 ≥ 0 . Por otra parte, las inecuaciones σ𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≥ 𝑏𝑖 son
convertidas en ecuaciones restando una variable 𝑥𝑛+𝑖 ≥ 0 . Las nuevas
variables son denominadas variables de holgura.
Además, −𝑥𝑗 ≥ 0, ∀𝑗 ∈ 𝐽2 ; es decir, se cambia 𝑥𝑗 por −𝑥𝑗 , ∀𝑗 ∈ 𝐽2 .
Si 𝑗 ∈ 1, … , 𝑛 − 𝐽1 ∪ 𝐽2 , definimos las nuevas variables no negativas:
𝑥𝑗 , 𝑠𝑖 𝑥𝑗 ≥ 0 − −𝑥𝑗 , 𝑠𝑖 𝑥𝑗 ≤ 0
𝑥𝑗+ = ൝ ,𝑥𝑗 = ൝
0, 𝑠𝑖 𝑥𝑗 < 0 0, 𝑠𝑖 𝑥𝑗 > 0
𝑥𝑗 se puede sustituir por la diferencia 𝑥𝑗+ − 𝑥𝑗− .
En definitiva, añadiendo las variables necesarias y, en consecuencia,
aumentando la dimensión, se puede reconvertir la expresión de P a una
equivalente forma estándar.
FUNDAMENTOS DE LA P.L.
Un problema de Programación lineal consiste en optimizar (minimizar o
maximizar) una función lineal en un conjunto determinado por inecuaciones
o ecuaciones lineales; es decir, un poliedro cerrado. Como cualquier poliedro
puede ser expresado en la forma estándar, en el caso de mínimo, un
problema de Programación Lineal vendrá dado por:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0
La región factible viene dada por el poliedro estándar:
𝑆 = {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0}.
Proposición
Si 𝑆 ≠ ∅, entonces en 𝑆 hay, al menos, un punto extremo.
FUNDAMENTOS DE LA P.L.
Direcciones
𝑑 ∈ 𝑅𝑛 − 0 es una dirección de 𝑆 = {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0} en 𝑥ҧ ∈ 𝑆, sí, y sólo si,
∀𝜆 ≥ 0, 𝑥ҧ + 𝜆𝑑 ∈ 𝑆.
Dos direcciones de S, 𝑑1 , 𝑑 2 , son iguales, sí, y sólo si, ∃𝛼 ∈ 𝑅, 𝛼 > 0, tal que
𝑑1 = α𝑑 2 . En otro caso, 𝑑1 y 𝑑 2 son distintas.
FUNDAMENTOS DE LA P.L.
Ejemplo
Para el conjunto definido por:
2𝑥1 + 𝑥2 − 4𝑥3 = 12
2𝑥1 − 𝑥2 = 16
𝑥1 , 𝑥2 , 𝑥3 ≥ 0
una dirección en 8,0,1 es 𝑑 = 1,2,1 ya que:
𝑡
1
2 1 −4 0
𝐴𝑑 = 2 = 𝑦𝑑≥0
2 −1 0 0
1
Dirección extrema
𝑑ҧ ∈ 𝑅𝑛 − 0 es una dirección extrema de S, sí, y sólo si, 𝑑ҧ no puede
expresarse como combinación lineal positiva de dos direcciones distintas de
S.
Las direcciones extremas de poliedros se pueden caracterizar de la forma
siguiente:
Proposición
𝑑ҧ ∈ 𝑅𝑛 − 0 es una dirección extrema de S sí, y sólo si, existe una
descomposición de 𝐴 = 𝐵, 𝑁 , con 𝐵 submatriz cuadrada no singular de A, de
−1 𝑠
orden m , y ∃𝑠 ∈ 𝑁 tal que 𝐵 −1 𝑎 𝑠 ≤ 0 y 𝑑ҧ = 𝛼 −𝐵 𝑠 𝑎 , con 𝛼 > 0 y 𝑒 𝑠 vector
𝑒
unitario de la coordenada s-ésima de 𝑅 𝑛−𝑚
.
FUNDAMENTOS DE LA P.L.
Ejemplo
Para el conjunto definido por:
𝑥1 − 4𝑥3 = 12
𝑥2 − 2𝑥3 = 16
𝑥1 , 𝑥2 , 𝑥3 ≥ 0
una dirección extrema en 12,16,0 es 𝑑ҧ 𝑡 = 4,2,1 .
Direc. factible
Sol. factible
Cono de direcciones
(5,3)
(0,3) (2,2)
(3,0)
(0,0) (4,0)
5 1 0 1 0 1 4 1 1 1
= + + + 2 +4
3 4 5 4 3 2 0 2 1/2 1/4
FUNDAMENTOS DE LA P.L.
Como cualquier dirección de S se puede expresar como combinación lineal no
negativa de sus direcciones extremas, el resultado anterior se puede
reescribir en la forma:
𝑥 ∈ 𝑆 = {𝑥 ∈ 𝑅𝑛 |𝐴𝑥 = 𝑏, 𝑥 ≥ 0} ⟺ ∃𝜆1 , … , 𝜆𝑘 ≥ 0, σ𝑘𝑗=1 𝜆𝑗 = 1, ∃𝜇1 , … , 𝜇𝑙 ≥ 0 tales que
𝑥 = σ𝑘𝑗=1 𝜆𝑗 𝑥 𝑗 + σ𝑙𝑗=1 𝜇𝑗 𝑑 𝑗
TEMA 4: EL MÉTODO SIMPLEX
Resultados básicos.
El Método Simplex.
Tablas.
Determinación de una solución básica inicial.
Reglas para eliminar ciclado.
Proposición
(𝑃) tiene solución óptima, y se alcanza en un punto extremo, sí, y sólo si,
𝑐 𝑡 𝑑 𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 𝑙 .
Definición
En referencia a un punto extremo 𝑥ҧ ∈ 𝑆, el vector de costos relativos viene
determinado por 𝑐ҧ𝑡 = 𝑐 𝑡 − 𝑐𝐵𝑡 𝐵 −1 𝐴.
Los costos relativos de variables básicas son iguales a cero. El costo relativo
de una variable no básica es el incremento, que se produce respecto de 𝑐 𝑡 𝑥ҧ
(el valor de la función objetivo en el punto extremo actual), por unidad
incrementada de dicha variable.
Proposición
Supongamos que 𝑥ҧ ∈ 𝑆 es un punto extremo. 𝑥ҧ es una solución óptima de (𝑃)
sí, y sólo si, 𝑐𝑁
ҧ ≥ 0. (En el caso de un problema estándar de máximo, 𝑥ҧ es
una solución óptima de (𝑃) sí, y sólo si, 𝑐𝑁
ҧ ≤ 0).
RESULTADOS BÁSICOS
𝑥ҧ𝐵 −𝐵 −1 𝑎 𝑠 𝐵 −1 𝑏 − 𝜆𝐵 −1 𝑎 𝑠
𝑥= +𝜆 =
𝑥ҧ𝑁 𝑒𝑠 𝜆𝑒 𝑠
RESULTADOS BÁSICOS
Está claro que:
−1 −1 𝑎 𝑠
𝑐 𝑡 𝑥 = 𝑐 𝑡 𝐵 𝑏 − 𝜆𝐵 𝑠 = 𝑐 𝑡 𝑥ҧ + 𝜆𝑐𝑠ҧ
𝜆𝑒
𝐵 −1 𝑏 − 𝜆𝐵 −1 𝑎 𝑠
𝐴 =𝑏
𝜆𝑒 𝑠
Además:
−1 𝑠 −1 −1 𝑠
▪ Si 𝐵 𝑎 ≤ 0,
−1 𝑠 −𝐵 𝑎 es una dirección extrema y 𝐵 𝑏 − 𝜆𝐵 𝑎 ≥ 0, ∀𝜆 ≥
𝑒𝑠 𝜆𝑒 𝑠
0. En este caso, se detecta la no acotación del problema.
𝑏ത
▪ Si 𝐵 −1 𝑎 𝑠 ≰ 0, calculamos 𝜆ҧ = min 𝑦 𝑖 |𝑦𝑖𝑠 > 0 , siendo 𝑏ത = 𝐵 −1 𝑏 e 𝑦 𝑠 = 𝐵 −1 𝑎 𝑠 .
𝑖 𝑖𝑠
Resulta que 𝐵 −1 𝑏
− 𝜆𝐵 −1 𝑎 𝑠
≥ 0, ∀𝜆 ∈ 0, 𝜆ҧ .
𝜆𝑒 𝑠
𝐵 −1 𝑏 − 𝜆𝐵ҧ −1 𝑎 𝑠
Por la argumentación anterior, interesa considerar el punto .
ҧ 𝑠
𝜆𝑒
Proposición
𝐵 −1 𝑏 − 𝜆𝐵ҧ −1 𝑎 𝑠
𝑥′ = es un punto extremo.
ҧ 𝑠
𝜆𝑒
RESULTADOS BÁSICOS
Demostración
Por el razonamiento anterior, 𝑥′ ∈ 𝑆.
𝑏ത
Además, 𝑥′ tiene, a lo sumo, m componentes positivas ya que si 𝜆ҧ = 𝑦 𝑟 =
𝑟𝑠
𝑏ത 𝑖 𝑏ത𝑟
min |𝑦
𝑦𝑖𝑠 𝑖𝑠
> 0 , 𝑥𝑟′ = 𝑏ത𝑟 − 𝑦
𝑦𝑟𝑠 𝑟𝑠
= 0.
𝑖
Las columnas asociadas a los índices 1, … , 𝑟 − 1, 𝑟 + 1, … , 𝑚 ∪ 𝑠 forman una
base 𝐵′ .
Para demostrar esto último, observemos que
𝑦1𝑠 𝑚
𝑎 𝑠 = 𝐵𝑦 𝑠 = 𝑎1 , … , 𝑎𝑚 … = 𝑦𝑖𝑠 𝑎𝑖
𝑦𝑚𝑠 𝑖=1
Sabemos que 𝑦𝑟𝑠 > 0.
Supongamos que σ𝑖≠𝑟 𝜇𝑖 𝑎𝑖 + 𝜇𝑎 𝑠 = 0 . Sustituyendo, tenemos que σ𝑖≠𝑟 𝜇𝑖 𝑎𝑖 +
𝑖=1 𝑎 𝑦𝑖𝑠 = σ𝑖≠𝑟 𝜇𝑖 + 𝜇𝑦𝑖𝑠 𝑎 + 𝜇𝑦𝑟𝑠 𝑎 = 0. Al ser 𝑎 , … , 𝑎
𝜇 σ𝑚 𝑖 𝑖 𝑟 1 𝑚 una base y como
V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥3 0 6 1 0 4
𝑥1 1 -1 0 0 2
-z 0 -10 0 1 -16
Nota:
Como regla general, cuando en una tabla equivalente a la inicial en la que
aparece la descripción de una solución básica, los coeficientes de las
variables básicas de la última ecuación son ceros, los que corresponden en
esa fila a variables no básicas son los respectivos costos relativos. Además,
la constante asociada a dicha última fila es igual al valor, cambiado de signo,
que alcanza la función objetivo para la solución básica actual.
TABLAS Y APLICACIÓN DEL MÉTODO
La variable no básica 𝑥2 , con costo relativo igual a -10, es candidata a
convertirse en variable básica. Según argumentamos anteriormente,
sustituye a 𝑥3 . Esto supone que la tabla anterior se debe transformar en otra
equivalente en la que la columna asociada a 𝑥2 sea exactamente la que
ahora corresponde a 𝑥3 .
Por tanto, la nueva tabla es:
V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥2 0 1 1/6 0 2/3
𝑥1 1 0 1/6 0 8/3
-z 0 0 5/3 1 -28/3
Como los costos relativos de todas las variables no básicas son no negativos,
la solución básica que aparece en la última tabla es óptima.
Ejemplo
Resolver el problema:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥1 1 -1 2 1/2 0 0 5
𝑥5 0 3 0 1/2 1 0 21
-z 0 -3 10 7/2 0 1 41
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥1 1 0 2 2/3 1/3 0 12
𝑥2 0 1 0 1/6 1/3 0 7
-z 0 0 10 4 1 1 62
Esta última tabla contiene una solución óptima única ya que los costos
relativos de las variables no básicas son positivos.
Nota:
Cuando para una solución básica factible óptima existen costos relativos de
variables no básicas iguales a cero, existen soluciones óptimas alternativas.
CÁLCULOS POR ITERACIÓN
𝑏ത
∀𝑖 ∈ 𝐵 − 𝑟 , 𝑥𝑖′ = 𝑏ത𝑖 − 𝑦 𝑟 𝑦𝑖𝑠
𝑟𝑠
𝑏ത𝑟
𝑥𝑠′ = , 𝑥𝑟′ = 0
𝑦𝑟𝑠
𝑥𝑗′ = 0, ∀𝑗 ∈ 𝑁 − 𝑠
𝑐ҧ
∀𝑗 ∈ 𝑁 − 𝑠 , el nuevo costo relativo es 𝑐𝑗ҧ − 𝑦 𝑠 𝑦𝑟𝑗 (para 𝑥𝑠 es cero)
𝑟𝑠
𝑐ҧ
El nuevo costo relativo de 𝑥𝑟 es − 𝑦𝑠 ≥0
𝑟𝑠
El resto de variables (básicas) tienen costos relativos iguales a cero.
𝑏ത
El nuevo valor de la función objetivo es 𝑧ҧ + 𝑦 𝑟 𝑐𝑠ҧ
𝑟𝑠
NO ACOTACIÓN
Detección de la no acotación
Cuando una variable candidata a ser básica puede incrementar
indefinidamente su valor, el problema es no acotado.
Ejemplo
Resolver el problema:
min −6𝑥1 + 4𝑥2 + 𝑥3
s. 𝑎: −2𝑥1 − 2𝑥2 + 𝑥3 + 𝑥4 = 8
−𝑥1 + 2𝑥2 + 3𝑥3 + 𝑥5 = 6
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
Solución
La tabla asociada es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥4 -2 -2 1 1 0 0 8
𝑥5 -1 2 3 0 1 0 6
-z -6 4 1 0 0 1 0
La variable 𝑥1 debe convertirse en básica. Si 𝑥1 = λ ≥ 0, entonces :
𝑥4 = 8 + 2λ ≥ 0, 𝑥5 = 6 + λ ≥ 0
Para cualquier valor no negativo de λ.
Nota:
Cuando, en una determinada tabla, una variable candidata a ser básica tiene
una columna de términos no positivos, se detecta la no acotación del
problema.
DETERMINACIÓN DE UNA SOLUCIÓN BÁSICA FACTIBLE INICIAL
2𝑥1 + 𝑥2 − 𝑥3 + 𝑥4 =8
−2𝑥1 + 2𝑥2 + 𝑥3 + 𝑥5 = 6
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
MÉTODO DE LAS DOS FASES
El intento de eliminación de dichas variables( 𝑥4 y 𝑥5 ) se puede realizar, por
ejemplo, planteando el siguiente problema auxiliar:
min 𝑥4 + 𝑥5
s. 𝑎: 2𝑥1 + 𝑥2 − 𝑥3 + 𝑥4 = 8
−2𝑥1 + 2𝑥2 + 𝑥3 + 𝑥5 = 6
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
Se observa que en la función objetivo de este problema aparece la suma de
las variables artificiales. Este problema es el que corresponde a la Fase I de
un procedimiento denominado Método de las dos Fases. Es fácil
comprobar que el problema de la Fase I siempre tiene solución óptima.
Intentemos resolver el problema anterior aplicando el Método Simplex.
La tabla asociada es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 2 1 -1 1 0 0 8
𝑥5 -2 2 1 0 1 0 6
-w 0 0 0 1 1 1 0
escribiendo en la última fila :
𝑥4 + 𝑥5 − 𝑤 = 0
(𝑤 es el valor objetivo del problema de la Fase I).
Como en la tabla anterior no aparecen calculados los costos relativos, hemos
de obtener:
MÉTODO DE LAS DOS FASES
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 2 1 -1 1 0 0 8
𝑥5 -2 2 1 0 1 0 6
-w 0 -3 0 0 0 1 -14
La variable 𝑥2 se convierte en básica en sustitución de 𝑥5 . Obtenemos la
tabla:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 3 0 -3/2 1 -1/2 0 5
𝑥2 -1 1 1/2 0 1/2 0 3
-w -3 0 3/2 0 3/2 1 -5
Ahora 𝑥1 pasa a ser básica en lugar de 𝑥4 . Se obtiene:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥1 1 0 -1/2 1/3 -1/6 0 5/3
𝑥2 0 1 0 1/3 1/3 0 14/3
-w 0 0 0 1 1 1 0
V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥1 1 0 -1/2 0 5/3
𝑥2 0 1 0 0 14/3
-z -3 2 -1 1 0
V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥1 1 0 -1/2 0 5/3
𝑥2 0 1 0 0 14/3
-z 0 0 -5/2 1 -13/3
La variable 𝑥3 pretende ser básica pero, al ser no positiva la columna
actualizada de coeficientes tecnológicos, el problema inicial es no acotado.
min 𝑥𝑛+𝑖
𝑖=1
𝑛
𝑠. 𝑎: 𝑎𝑖𝑗 𝑥𝑗 + 𝑥𝑛+𝑖 = 𝑏𝑖 , 𝑖 = 1, … , 𝑚
𝑗=1
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 𝑛, 𝑥𝑛+𝑖 ≥ 0, 𝑖 = 1, … , 𝑚
MÉTODO DE LAS DOS FASES
𝑚 𝑚
Es claro que
0 ≤ 𝑤 = 𝑥𝑛+𝑖 ≤ 𝑏𝑖
𝑖=1 𝑖=1
Por tanto, el problema de la Fase I siempre tiene solución óptima para la
que 0 ≤ 𝑤
ഥ = σ𝑚 𝑚
𝑖=1 𝑥ҧ 𝑛+𝑖 ≤ σ𝑖=1 𝑏𝑖
min 𝑥4 + 𝑥5
s. 𝑎: 2𝑥1 − 6𝑥2 − 𝑥3 + 𝑥4 = 10
−4𝑥1 + 2𝑥2 + 𝑥3 + 𝑥5 = 8
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
La correspondiente tabla será:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 2 -6 -1 1 0 0 10
𝑥5 -4 2 1 0 1 0 8
-w 0 0 0 1 1 1 0
Esta tabla es óptima con valor objetivo igual a 18. Por tanto, es imposible
eliminar las variables artificiales añadidas y, por ello, el problema
planteado es no factible.
MÉTODO DE LAS DOS FASES
Obviamente, para el caso de un problema de máximo, en la fase I se
resolverá un problema de mínimo.
Ejemplo
Resolver el problema:
max −2𝑥1 + 4𝑥2 − 2𝑥3
s. 𝑎: 2𝑥1 − 4𝑥2 + 2𝑥3 = 10
−2𝑥1 + 𝑥2 + 4𝑥3 = 12
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2,3
Solución
Como no está disponible una solución básica factible inicial, añadimos dos
variables artificiales y planteamos el siguiente problema auxiliar:
min 𝑥4 + 𝑥5
s. 𝑎: 2𝑥1 − 4𝑥2 + 2𝑥3 + 𝑥4 = 10
−2𝑥1 + 𝑥2 + 4𝑥3 + 𝑥5 = 12
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 2 -4 2 1 0 0 10
𝑥5 -2 1 4 0 1 0 12
-w 0 0 0 1 1 1 0
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 2 -4 2 1 0 0 10
𝑥5 -2 1 4 0 1 0 12
-w 0 3 -6 0 0 1 -22
La variable 𝑥3 se convierte en básica sustituyendo a 𝑥5 . La nueva tabla es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥4 3 -9/2 0 1 -1/2 0 4
𝑥3 -1/2 1/4 1 0 1/4 0 3
-w -3 9/2 0 0 3/2 1 -4
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w Constantes
𝑥1 1 -3/2 0 1/3 -1/6 0 4/3
𝑥3 0 -1/2 1 1/6 1/6 0 11/3
-w 0 0 0 1 1 1 0
Como el problema de la fase I tiene solución óptima y las variables
artificiales han dejado de ser básicas, podemos iniciar la fase II
resolviendo el problema:
max −2𝑥1 + 4𝑥2 − 2𝑥3
3 4
s. 𝑎: 𝑥1 − 𝑥2 =
2 3
1 11
− 𝑥2 + 𝑥3 =
2 3
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2,3
La tabla asociada es:
V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥1 1 -3/2 0 0 4/3
𝑥3 0 -1/2 1 0 11/3
-z -2 4 -2 1 0
MÉTODO DE PENALIZACIÓN
Si calculamos los costos relativos, obtenemos:
V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥1 1 -3/2 0 0 4/3
𝑥3 0 -1/2 1 0 11/3
-z 0 0 0 1 10
Esta solución es óptima (también es óptima para el problema de mínimo).
min 𝑐𝑗 𝑥𝑗 + 𝑀 𝑥𝑛+𝑖
𝑗=1 𝑖=1
𝑛
𝑠. 𝑎: 𝑎𝑖𝑗 𝑥𝑗 + 𝑥𝑛+𝑖 = 𝑏𝑖 , 𝑖 = 1, … , 𝑚
𝑗=1
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 𝑛, 𝑥𝑛+𝑖 ≥ 0, 𝑖 = 1, … , 𝑚
MÉTODO DE PENALIZACIÓN
Ejemplo
Resolver el problema:
min −𝑥1 + 3𝑥2 − 4𝑥3
s. 𝑎: 2𝑥1 − 𝑥2 + 𝑥3 = 12
4𝑥1 + 2𝑥2 − 2𝑥3 = 8
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1,2,3
Solución
Consideramos dos variables artificiales cuyos valores positivos se penalizan
en la función objetivo multiplicando por 𝑀 > 0 suficientemente grande
(mayor que cualquiera de los valores que se maneje en cada momento).
Obtenemos:
min −𝑥1 + 3𝑥2 − 4𝑥3 + 𝑀𝑥4 + 𝑀𝑥5
s. 𝑎: 2𝑥1 − 𝑥2 + 𝑥3 + 𝑥4 = 12
4𝑥1 + 2𝑥2 − 2𝑥3 + 𝑥5 = 8
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
Aplicamos el Método Simplex sobre la tabla:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -zM Constantes
𝑥4 2 -1 1 1 0 0 12
𝑥5 4 2 -2 0 1 0 8
-zM -1 3 -4 M M 1 0
4,0,4 + 𝛾 0,1,1 , ∀𝛾 ≥ 0
está contenida en la región factible del problema inicial.
Nota:
Al aplicar el Método de Penalización puede suceder que:
a) El problema penalizado tenga solución óptima
a1) con todas las variables artificiales iguales a cero. En este caso, el
problema inicial tiene solución óptima, obtenida de la anterior por la simple
eliminación de las variables artificiales.
a2) con alguna (s) variable(s) artificial (es) no nula (s). En este caso, el
problema inicial es no factible.
b) El problema penalizado es no acotado
b1) con todas las variables artificiales iguales a cero en la solución básica
sobre la que se detecta la no acotación. En este caso, el problema inicial es
no acotado.
b2) con alguna (s) variable(s) artificial (es) no nula (s) en la solución
básica sobre la que se detecta la no acotación. En este caso, el problema
inicial es no factible.
INTERPRETACIÓN GEOMÉTRICA
Búsqueda gráfica
Dado el problema:
(3,5)
(0,3) (6,3)
(0,0) (4,0)
INTERPRETACIÓN GEOMÉTRICA
Para resolver aplicando el Método Simplex hemos de añadir variables de
holgura:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥3 -2 3 1 0 0 0 9
𝑥4 2 3 0 1 0 0 21
𝑥5 3 -2 0 0 1 0 12
-z -4 -5 0 0 0 1 0
La variable 𝑥2 se convierte en básica en sustitución de 𝑥3 . Se obtiene la
tabla:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 -2/3 1 1/3 0 0 0 3
𝑥4 4 0 -1 1 0 0 12
𝑥5 5/3 0 2/3 0 1 0 18
-z -22/3 0 5/3 0 0 1 15
INTERPRETACIÓN GEOMÉTRICA
(3,5)
(0,3) (6,3)
(0,0) (4,0)
INTERPRETACIÓN GEOMÉTRICA
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 0 1 1/6 1/6 0 0 5
𝑥1 1 0 -1/4 1/4 0 0 3
𝑥5 0 0 13/12 -5/12 1 0 13
-z 0 0 -1/6 11/6 0 1 37
(3,5)
(0,3) (6,3)
(0,0) (4,0)
INTERPRETACIÓN GEOMÉTRICA
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 0 1 0 4/39 -2/13 0 3
𝑥1 1 0 0 9/26 3/13 0 6
𝑥3 0 0 1 -5/13 12/13 0 12
-z 0 0 0 23/13 2/13 1 39
(3,5)
(0,3) (6,3)
(0,0) (4,0)
DEGENERACIÓN
Soluciones básicas factibles degeneradas
Dada una solución básica factible, se dice degenerada si al menos una
variable básica toma un valor igual a cero. En otro caso, la solución básica
factible es no degenerada.
Cuando la variable candidata a salir de la base no es única, la solución
básica factible que resulta es degenerada.
Ejemplo
Dado el problema:
m𝑎𝑥 4𝑥1 + 6𝑥2
s. 𝑎: 2𝑥1 + 5𝑥2 + 𝑥3 = 10
4𝑥1 − 2𝑥2 + 𝑥4 = 20
3𝑥1 + 4𝑥2 + 𝑥5 = 8
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 5
La tabla correspondiente es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥3 2 5 1 0 0 0 10
𝑥4 4 -2 0 1 0 0 20
𝑥5 3 4 0 0 1 0 8
-z 4 6 0 0 0 1 0
La variable 𝑥2 debe entrar en la base. Candidatas a salir son las variables
𝑥3 y 𝑥5 . Si elegimos 𝑥3 , obtenemos:
DEGENERACIÓN
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 2/5 1 1/5 0 0 0 2
𝑥4 24/5 0 2/5 1 0 0 24
𝑥5 7/5 0 -4/5 0 1 0 0
-z 8/5 0 -6/5 0 0 1 -12
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 0 1 3/7 0 -2/7 0 2
𝑥4 0 0 22/7 1 -24/7 0 24
𝑥1 1 0 -4/7 0 5/7 0 0
-z 0 0 -2/7 0 -8/7 1 -12
Esta nueva tabla es óptima.
En el trabajo que acabamos de realizar se observa que la solución que se
maneja en las dos últimas tablas es la misma. Sin embargo, las bases
asociadas son distintas. Además, mientras que en la primera tabla no se
da la condición de optimalidad, esto si es obtenido en la segunda. Se
observa también que el valor de la función objetivo no cambia en las
citadas tablas.
CICLADO Y SU ELIMINACIÓN
Posibilidad de ciclado y su eliminación
Por tanto, en presencia de degeneración, no existe correspondencia unívoca
entre soluciones básicas y bases. Las operaciones realizadas para pasar de
una tabla a otra puede que recorran una secuencia de bases asociadas a una
misma solución. Puesto que la columna de constantes permanece inalterable
y el número de bases es finito, es posible que se repita una base ya usada.
Este proceso se denomina ciclado. La eliminación del ciclado exigirá algún
complemento para evitar la repetición de bases.
Dado que el motivo del ciclado es la presencia de soluciones básicas
degeneradas y que la aparición de estas tiene origen en la multiplicidad de
variables candidatas a salir de la base, los complementos a añadir refinan el
proceso de selección de variables para pasar de una solución básica factible a
otra adyacente.
Uno de esos complementos es la regla lexicográfica (Dantzig, Orden, Wolfe
(1955)).
Definición
𝑢 ∈ 𝑅𝑛 es léxico positivo, 𝑢 ≻𝐿 0, si la primera componente no nula de 𝑢 es
positiva (de manera similar se pueden dar definiciones de vectores léxico
negativos). 𝑢 ≻𝐿 𝑣 sí, y sólo si, 𝑢 −𝑣 ≻𝐿 0.
≻𝐿 es un preorden transitivo.
Ejemplo
El vector 0,0,1, −6,0,2 es léxico positivo.
REGLA DE LA RAZÓN LEXICOMIN
Para eliminar el ciclado es necesario cambiar la regla de selección de la
variable candidata a salir de la base (regla de la razón mínima).
Para hacerlo, en primer lugar asociamos a cada variable básica 𝑥𝐵𝑖 , 𝑖 =
1, … , 𝑚, el vector fila de 𝑣 𝑖 = 𝑏ത𝑖 , 𝛽𝑖1 , 𝛽𝑖2 , … , 𝛽𝑖𝑚 ∈ 𝑅𝑚+1 , siendo 𝛽𝑖1 , 𝛽𝑖2 , … , 𝛽𝑖𝑚
la fila i-ésima de 𝐵 −1 . La construcción de los vectores 𝑣 𝑖 se puede hacer con
la información que se genera en las tablas de aplicación del método.
Cada variable no básica tiene asociado el vector cero de 𝑅𝑚+1 .
Con este “cambio”, la función objetivo tiene un valor vectorial igual a 𝑧 =
σ𝑚𝑖=1 𝑐𝐵𝑖 𝑣
𝑖
Propiedad
1) Con la regla anterior la variable candidata a salir de la base es única.
2) En cada iteración, los valores vectoriales de las variables básicas son
léxico positivos.
3) En cada iteración, el valor vectorial de la función objetivo decrece en el
sentido lexicográfico.
REGLA DE LA RAZÓN LEXICOMIN
Para ver la demostración de (1) basta comprobar que la regla se puede
aplicar sobre el siguiente esquema:
Inicio
𝑏ത 𝑖
Hallar 𝑚𝑖𝑛 |𝑦 > 0 . Sea 𝐼0 el conjunto de índices donde se obtiene el
𝑦𝑖𝑠 𝑖𝑠
mínimo. Hacer 𝑘 = 0.
Mientras
𝛽
𝐼𝑘 > 1, hallar 𝑚𝑖𝑛 𝑦𝑖𝑘+1 |𝑖 ∈ 𝐼𝑘 , 𝑦𝑖𝑠 > 0 . Hallar 𝐼𝑘+1 , hacer 𝑘 = 𝑘 + 1 y repetir.
𝑖𝑠
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 -z Constantes
𝑥5 2 6 4 1/2 1 0 0 0 12
𝑥6 4 -2 -1 1 0 1 0 0 24
𝑥7 1 1 2 1/4 0 0 1 0 6
-z 6 4 2 6 0 0 0 1 0
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Constantes
𝑥5 0 4 0 0 1 0 -2 0 0
𝑥6 0 -6 -9 0 0 1 -4 0 0
𝑥4 4 4 8 1 0 0 4 0 24
−𝑧 -18 -20 -46 0 0 0 -24 1 -144
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Constantes
𝑥4 4 12 8 1 2 0 0 0 24
𝑥6 0 -14 -5 0 -2 1 0 0 0
𝑥7 0 -2 0 0 -1/2 0 1 0 0
−𝑧 -18 -68 -46 0 -12 0 0 1 -144
max 2𝑛−𝑗 𝑥𝑗
8 𝑗=1
𝑖−1
𝑠. 𝑎: 2 2𝑖−𝑗 𝑥𝑗 + 𝑥𝑖 ≤ 5𝑖 , ∀𝑖 ∈ 1, … , 𝑛
𝑗=1
𝑥𝑗 ≥ 0
7
𝑇𝑘−1
Operaciones matriciales
Recordemos que denominamos base a la matriz formada por las columnas
que, en el problema inicial, corresponden a variables básicas. En su lugar, en
las tablas utilizadas hasta ahora, aparece la matriz identidad. Por tanto, las
operaciones realizadas implican, necesariamente, la multiplicación por la
inversa de la base. Por esta razón, como la base inicial es igual a la
identidad, en cada tabla aparece escrita la inversa de la base debajo de las
variables básicas iniciales.
Ejemplo
Resolver el problema:
Solución
La tabla inicial es:
METODO SIMPLEX REVISADO
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥3 -2 3 1 0 0 0 12
𝑥4 1 1 0 1 0 0 9
𝑥5 3 2 0 0 1 0 24
-z -5 -6 0 0 0 1 0
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧 Constantes
𝑥2 -2/3 1 1/3 0 0 0 4
𝑥4 5/3 0 -1/3 1 0 0 5
𝑥5 13/3 0 -2/3 0 1 0 16
−𝑧 -9 0 2 0 0 1 24
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥2 0 1 1/5 2/5 0 0 6
𝑥1 1 0 -1/5 3/5 0 0 3
𝑥5 0 0 1/5 -13/5 1 0 3
-z 0 0 1/5 27/5 0 1 51
3 -2 0 0
1 1 0 0
2 3 1 0
-6 -5 0 1
es
1/5 2/5 0 0
-1/5 3/5 0 0
1/5 -13/5 1 0
1/5 27/5 0 1
FORMATO MATRICIAL
En general, denotando por B a la matriz de coeficientes tecnológicos
correspondientes a variables básicas y por 𝑐𝐵𝑡 al vector fila de costos de
dichas variables, la primera de las dos matrices anteriores se puede escribir
como:
B 0
ct 1
B
-1 B -1 0
T t -1
-
Bc B 1
Precisamente, la transformación de la tabla inicial en la tabla de cualquier
iteración es el resultado de multiplicar por esta última matriz. Conviene
recordar que la expresión de la tabla inicial es la siguiente:
−2 4 −1 1 0
𝑐ҧ𝑡 = −6, −1,1 2 1 2 0 1 13, −29, 2,0,0
3 −4 −2 6 1
APLICACIONES DEL SIMPLEX REVISADO
Es decir, 𝑥2 es candidata a entrar en la base. La columna actualizada de 𝑥2
es:
4
1
-29
Esta columna, denominada columna pivote, se incorpora a la última tabla:
2 4 −2 4 −1 1 0 13 20
𝑐ҧ𝑡 = , ,1 2 1 2 0 1 , 0, 0, , 7/3
3 3 3 3
3 −4 −2 6 1
7 1 −1 2 −2
𝑐ҧ𝑡 = ,− ,1 2 2 1 = −1,0,0
3 3
2 −4 5
−1 2 −2
𝑐ҧ𝑡 = 2,0,1 2 2 1 = 0,0,1
2 −4 5
1/6 0 0
𝑃2 = 1/6 1 0
−5/6 0 1
La nueva tabla es:
Vs. Básicas 𝑇3 −1 Ctes.
𝑥3 1/6 -1/6 0 2/3
𝑥2 1/6 1/3 0 20/3
−𝑧𝑀 -5/6 -1/6 1 -46/3
APLICACIONES DEL SIMPLEX REVISADO
Los nuevos costos relativos serán:
5 1 −2 2 4 1 0 1 5 1
𝑐ҧ𝑡 = − , − , 1 1 2 −2 0 1 − , 0, 0, − − 𝑀, − − 𝑀
6 6 2 6 6
−2 2 3 −𝑀 −𝑀
Resumen
Se define el problema dual y se establece la relación entre
las soluciones óptimas del primal y del dual. También,
usando conceptos relacionados con la dualidad, se
propone el Método Simplex Dual, un nuevo método de
resolución de problemas de Programación Lineal.
Desde la acumulación de conocimientos adquiridos, es
posible realizar la propuesta de otros nuevos métodos de
resolución de problemas de Programación Lineal.
PLANTEAMIENTO DEL PROBLEMA DUAL
Definición
Dado un problema estándar de Programación Lineal de mínimo:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑃
𝑥≥0
max 𝑏𝑡 𝑦
𝑠. 𝑎: 𝐴𝑡 𝑦 ≤ 𝑐 𝐷
min 5x1 + 12 x2 + 4 x3
s.a : 4 x1 + 6 x2 − 2 x3 − x4 = 20
( P)
2 x1 − 4 x2 + 4 x3 − x5 = 16
x j 0, j = 1,...,5
max 20 y1 + 16 y2
s. a : 4 y1 + 2 y2 5
6 y1 − 4 y2 12
− 2 y1 + 4 y2 4
( D)
− y1 0
− y2 0
EJEMPLO
Ejemplo
Dado el problema:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 ≥ 𝑏 𝑃
𝑥≥0
Aplicando la definición anterior al problema:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 − 𝐼𝑥 ′ = 𝑏 𝑃
𝑥, 𝑥′ ≥ 0
max 𝑏𝑡 𝑦
𝐴𝑡 𝑐
𝑠. 𝑎: 𝑦≤ 𝐷
−𝐼 0
Es decir:
max 𝑏𝑡 𝑦
𝑠. 𝑎: 𝐴𝑡 𝑦 ≤ 𝑐 𝐷
𝑦≥0
PROPIEDAD
Propiedad 1
El dual del dual es el primal
Demostración
El dual de un problema estándar es:
max 𝑏𝑡 𝑦
𝑠. 𝑎: 𝐴𝑡 𝑦 ≤ 𝑐
Es decir:
−min −𝑏𝑡 𝑦 1 − 𝑦 2
𝑠. 𝑎: 𝐴𝑡 𝑦 1 − 𝑦 2 + 𝑦 3 = 𝑐
𝑦1, 𝑦 2, 𝑦 3 ≥ 0
Primal → Dual
minimizar → maximizar
𝑥𝑗 ≥ 0 → ≤𝑗
𝑥𝑗 ≤ 0 → ≥𝑗
𝑥𝑗 sin signo (libre) → =𝑗
≥𝑖 → 𝑦𝑖 ≥ 0
≤𝑖 → 𝑦𝑖 ≤ 0
=𝑖 → 𝑦𝑖 sin signo (libre)
max − 7x1 + 10 x2 − 8 x3
s.a : 2 x1 − 6 x2 + 4 x3 10
− x1 + 3 x2 − 5 x3 12 ( P)
4x1 − 2 x2 + 8 x3 = −18
x1 0, x2 0
min 10y1 + 12 y2 − 18 y3
s. a : 2 y1 − y2 + 4 y3 −7
− 6 y1 + 3 y2 − 2 y3 10
( D)
4y1 − 5 y2 + 8 y3 = −8
y1 0, y2 0
RESULTADOS BÁSICOS
En efecto. Si el dual:
max 𝑏𝑡 𝑦
𝑠. 𝑎: 𝐴𝑡 𝑦 ≤ 𝑐
tiene solución óptima, entonces tiene solución óptima el problema:
−min −𝑏𝑡 𝑦 1 − 𝑦 2
𝑠. 𝑎: 𝐴𝑡 𝑦 1 − 𝑦 2 + 𝑦 3 = 𝑐
𝑦1, 𝑦 2, 𝑦 3 ≥ 0
Aplicando la demostración efectuada para la parte a), se determina una
solución óptima para el problema dual de este:
− max 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 ≤ −𝑏
−𝐴𝑥 ≤ 𝑏
𝑥≤0
Por tanto, por lo argumentado anteriormente, se encuentra una solución
óptima para el primal (que coincide con el último problema) con valor
objetivo igual que el del dual.
RESULTADOS BÁSICOS
Ejemplo
Dado el siguiente problema de Programación Lineal:
min 5x1 − 2 x2 + x3
s. a : − x1 + 2 x2 − x3 = 10
2 x1 + x2 − 2 x3 = 6
x j 0, j = 1, 2,3
su problema dual es:
max 10y1 + 6 y2
s. a : − y1 + 2 y2 5
2 y1 + y2 −2
− y1 − 2 y2 1
La siguiente tabla contiene una solución óptima para el primal:
Ejemplo
Para el siguiente problema de Programación Lineal:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥1 1 3/2 −1/2 −1/4 0 0 5
𝑥5 0 7 −5 −1/2 1 0 −6
−z 0 9/2 13/2 5/4 0 1 −25
13/2 5/4 13
max , =−
−5 −1/2 10
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥1 1 4/5 0 −1/5 −1/10 0 28/5
𝑥3 0 −7/5 1 1/10 −1/5 0 6/5
−z 0 68/5 0 3/5 13/10 1 −164/5
𝑐ҧ 𝑐𝑠ҧ 𝑐𝑗ҧ
Si 𝑦𝑟𝑗 < 0, para que 𝑐𝑗ҧ − 𝑦 𝑠 𝑦𝑟𝑗 ≥ 0 es necesario que ≥ 𝑦 . Por esta razón,
𝑟𝑠 𝑦𝑟𝑠 𝑟𝑗
𝑐𝑠ҧ 𝑐𝑗ҧ
la variable que entra en la base es la 𝑥𝑠 en la que = max |𝑦𝑟𝑗 < 0 .
𝑦𝑟𝑠 𝑦𝑟𝑗
Si el problema fuese de máximo, un razonamiento paralelo establecería
𝑐𝑠ҧ 𝑐𝑗ҧ
que la variable que entra en la base es la 𝑥𝑠 en la que 𝑦𝑟𝑠
= min 𝑦𝑟𝑗
|𝑦𝑟𝑗 < 0
MÉTODO SIMPLEX DUAL
Se observa que la progresión en la aplicación del Simplex Dual mantiene una
relación de dualidad con lo realizado al aplicar el Simplex Primal. En el
primero se selecciona en primer lugar la variable que sale de la base
mientras que en el segundo la primera etapa corresponde a la selección de la
variable que entra. Si la fila actualizada asociada a la variable que sale de la
base es de términos no negativos, el Simplex Dual concluye con la no
factibilidad del problema (hay que recordar que, al aplicar el Simplex Primal,
si la columna actualizada de la variable que entra en la base es de términos
no positivos, se detecta la no acotación del problema).
Redundando en la relación de dualidad, el Simplex Primal preserva en cada
iteración la condición de factibilidad primal (columna de constantes) mientras
que el Simplex Dual preserva la condición de factibilidad dual (fila de costos
relativos).
Inicio
Determinar una solución básica factible dual inicial.
Mientras
No se detecte la optimalidad o la no factibilidad del problema, encontrar una
solución básica factible dual mejor.
APLICACIÓN DEL MÉTODO SIMPLEX DUAL
Ejemplo
Resolver, aplicando el Método Simplex Dual, el problema:
max − 6 x1 − 6 x2 − 2 x3
s.a : − 2 x1 − 3 x2 + 4 x3 + x4 = −12
− 2 x1 + 2 x2 − 4 x3 + x5 = −10
x j 0, j = 1,...,5
Solución
La tabla inicial es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥4 −2 −3 4 1 0 0 −12
𝑥5 −2 2 −4 0 1 0 −10
−z −6 −6 −2 0 0 1 0
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥2 2/3 1 −4/3 −1/3 0 0 4
𝑥5 −10/3 0 −4/3 2/3 1 0 −18
−z −2 0 −10 −2 0 1 24
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −z Constantes
𝑥2 0 1 −8/5 −1/5 −1/5 0 2/5
𝑥1 1 0 2/5 −1/5 −3/10 0 27/5
−z 0 0 −46/5 −12/5 −3/5 1 174/5
−1 2 −1 1 0
(1,0,0 ) 1 −2 1 0 1 = ( −1, 2, −1,1,0 )
−2 −2 −3 0 0
y los costos relativos son:
−1 2 −1 1 0
( 0,0,1) 1 −2 1 0 1 = ( −2, −2, −3,0,0 )
−2 −2 −3 0 0
para detectar la variable que entra en la
base, hallamos: −2 −3
min , = 2
−1 −1
Es decir, la variable 𝑥1 debe entrar en la base:
Vs. Básicas 𝑇1 −1 Constantes Col. Piv. (𝑥1 )
𝑥4 1 0 0 −10 −1
𝑥5 0 1 0 −8 1
−z 0 0 1 0 −2
−1 2 −1 1 0
(1,1,0 ) 1 −2 1 0 1 = ( 0,0,0,1,1)
−2 −2 −3 0 0
Por tanto, el problema es no factible
INICIO DEL MÉTODO SIMPLEX DUAL
Supongamos que se dispone de una base inicial que no es factible dual. Esto
significa que alguna variable no básica tiene costo relativo negativo. Sea 𝑐𝑠ҧ =
min 𝑐𝑗ҧ |𝑗 ∈ 𝑁 < 0. Sin pérdida de generalidad, podemos considerar que la base
es la identidad y que está asociada a las primeras m columnas.
Planteamos el problema:
𝑛
min 𝑐𝑗 𝑥𝑗
𝑗=1
𝑛
𝑠. 𝑎: 𝑥𝑖 + 𝑦𝑖𝑗 𝑥𝑗 = 𝑏ത𝑖 , 𝑖 = 1, … , 𝑚 𝑃𝑀
𝑗=𝑚+1
𝑛
𝑥0 + 𝑥𝑗 = 𝑀
𝑗=𝑚+1
𝑥0 ≥ 0, 𝑥𝑗 ≥ 0, 𝑗 = 1, … , 𝑛
V. B. 𝑥0 𝑥1 … 𝑥𝑚 𝑥𝑚+1 … 𝑥𝑠 … 𝑥𝑛 -z Ctes.
𝑥0 1 0 0 0 1 … 1 … 1 0 M
𝑥1 0 1 0 0 𝑦1𝑚+1 … 𝑦1𝑠 … 𝑦1𝑛 0 𝑏ത1
…
𝑥𝑚 0 0 0 1 𝑦𝑚𝑚+1 … 𝑦𝑚𝑠 … 𝑦𝑚𝑛 0 𝑏ത𝑚
-z 0 0 0 0 𝑐𝑚+1
ҧ … 𝑐𝑠ҧ … 𝑐𝑛ҧ 1 −𝑧 ҧ
Al meter 𝑥𝑠 en la base, en sustitución de 𝑥0 , los nuevos costos relativos serán
−𝑐𝑠ҧ ≥ 0 para 𝑥0 , 0 para 𝑥𝑗 cuando 𝑗 ∈ 1, … , 𝑚 ∪ 𝑠 , 𝑐𝑗ҧ − 𝑐𝑠ҧ ≥ 0 para 𝑥𝑗 cuando 𝑗 ∈
𝑚 + 1, … , 𝑛 − 𝑠 .
Por tanto, al disponer de una solución básica factible dual inicial, el Método
Simplex Dual puede ser aplicado sobre 𝑃𝑀 . Se puede concluir con que:
• 𝑷𝑴 es no factible. En este caso, el problema inicial es no factible.
• 𝑷𝑴 tiene solución óptima con 𝒙𝟎 como variable básica. En este
caso, la única variable básica que depende de M es 𝒙𝟎 . Por tanto, la
simple eliminación de 𝒙𝟎 posibilita obtener una solución óptima
para el problema inicial.
INICIO DEL MÉTODO SIMPLEX DUAL
Para comprobar esto basta con observar que la base que se maneja es:
1 𝛽𝑡
0 𝐵
siendo B una base del problema inicial y 𝛽 𝑡 el vector de coeficientes de las
variables básicas distintas de 𝑥0 en la restricción artificial.
La inversa de esta matriz es:
1 −𝛽 𝑡 𝐵 −1
0 𝐵−1
y la tabla inversa:
1 −𝛽 𝑡 𝐵−1 0
0 𝐵 −1 0
0 −𝑐𝐵 𝐵𝑡 −1 1
Esto hace que el vector actualizado de constantes sea:
𝑥0 𝑀 −𝛽 𝑡 𝐵 −1 𝑏
𝑥𝐵 = 𝐵 −1 𝑏
−𝑧𝑀ҧ −𝑐𝐵 𝑡 𝐵−1 𝑏
Solución:
Si añadimos la oportuna restricción artificial:
𝑥0 + 𝑥1 + 𝑥2 = 𝑀
obtenemos la tabla:
EJEMPLOS
1−𝛿 𝜇
2 + 𝜇𝛿/2
Si𝜇 = 𝑀 −2 ≥ 0, 𝜇𝛿/2 , 𝛿 ∈ 0,1 , es solución óptima del problema
0
2
penalizado.
2
0
Haciendo 𝑀 = 2, es una solución óptima del problema inicial.
0
2
2 1
0 1
Si 𝜇 ≥ 0 (𝑀 ≥ 2), cualquier punto de la semirrecta +𝜇 es solución
0 0
2 0
óptima del problema inicial.
V. B. 𝑇4 −1 Ctes.
𝑥2 0 2/3 1/3 0 -16/3
𝑥1 0 1/3 2/3 0 -20/3
𝑥0 1 -1 -1 0 12+𝑀
−𝑧𝑀 0 7/3 5/3 1 -68/3
𝑥𝑗 ≤ 𝑀
𝑗=1
𝑥≥0
sea equivalente a 𝑃 .
El dual de este problema (equivalente a 𝐷 ) es:
MÉTODO PRIMAL DUAL
max 𝑏𝑡 𝑦 + 𝑀𝑦𝑚+1
𝑠. 𝑎: 𝐴𝑡 𝑦 + 𝟏𝑦𝑚+1 ≤ 𝑐
𝑦𝑚+1 ≤ 0
𝟏 ∈ 𝑅𝑛 es un vector de unos.
Una solución factible inicial para este problema sería 𝑦 1 = 0, 𝑦𝑚+1
1
= min 𝑐𝑗 .
𝑗
En cualquier caso, tenemos una solución factible dual inicial 𝑦1.
En la etapa k, la solución factible dual será 𝑦 𝑘 . Sea 𝐽𝑘 = 𝑗| σ𝑚
𝑖=1 𝑎𝑖𝑗 𝑦𝑖 = 𝑐𝑗 .
𝑘
min 𝑥𝑖𝑎
𝑖=1
𝑠. 𝑎: σ𝑗∈𝐽𝑘 𝑎𝑖𝑗 𝑥𝑗 + 𝑥𝑖𝑎 = 𝑏𝑖 𝑃𝑎
𝑥𝑗 ≥ 0, ∀𝑗 ∈ 𝐽𝑘 , 𝑥𝑖𝑎 ≥ 0, 𝑖 = 1, … , 𝑚
Este problema siempre tiene solución óptima. Sea 𝜉 el valor óptimo. Si 𝜉 = 0,
𝑥 𝑘 es solución óptima de 𝑃 ; en otro caso, 𝜉 > 0 es el valor óptimo.
Para la solución óptima 𝑦ത del problema:
MÉTODO PRIMAL DUAL
max 𝑏𝑡 𝑦
𝑠. 𝑎: σ𝑚
𝑖=1 𝑎𝑖𝑗 𝑦𝑖 ≤ 0, ∀𝑗 ∈ 𝐽
𝑘
𝐷𝑎
𝑦𝑖 ≤ 1, 𝑖 = 1, … , 𝑚
se tiene que 𝜉 = 𝑏𝑡 𝑦. ത
Puede suceder que:
• σ𝑚 ത𝑖 ≤ 0, ∀𝑗 ∉ 𝐽𝑘 . En este caso, 𝑦 𝑘 + 𝜆𝑦ത es solución factible de 𝐷 , ∀𝜆 ≥
𝑖=1 𝑎𝑖𝑗 𝑦
0 . Como 𝑏𝑡 𝑦 𝑘 + 𝜆𝑦ത = 𝑏𝑡 𝑦 𝑘 + 𝜆𝜉 , 𝐷 es no acotado y, por tanto, 𝑃 no
factible.
• σ𝑚 ത𝑖 > 0, para algún 𝑗 ∉ 𝐽𝑘 . En este caso, sea:
𝑖=1 𝑎𝑖𝑗 𝑦
𝑚
𝑐𝑗 − σ𝑚
𝑖=1 𝑎𝑖𝑗 𝑦𝑖𝑘
𝜆ҧ = min 𝑚 |𝑗 ∉ 𝐽𝑘 , 𝑎𝑖𝑗 𝑦ത𝑖 > 0 > 0
σ𝑖=1 𝑎𝑖𝑗 𝑦ത𝑖
𝑖=1
Definimos 𝑦 𝑘+1 = 𝑦 + 𝜆ҧ 𝑦ത y repetimos.
𝑘
El dual es:
m𝑎𝑥 6𝑦1 + 8𝑦2
𝑠. 𝑎: 2𝑦1 − 2𝑦2 ≤ 3
𝑦1 + 2𝑦2 ≤ −2
−𝑦1 + 𝑦2 ≤ 2
−2
Elegimos 𝑦 1 = . Como 𝐽1 = 2,3 , planteamos el problema auxiliar:
0
min 𝑥1𝑎 + 𝑥2𝑎
𝑠. 𝑎: 𝑥2 − 𝑥3 + 𝑥1𝑎 = 6
2𝑥2 + 𝑥3 + 𝑥2𝑎 = 8
𝑥2 ≥ 0, 𝑥3 ≥ 0, 𝑥1𝑎 ≥ 0, 𝑥2𝑎 ≥ 0
Resolvemos este problema aplicando el Método Simplex Revisado.
Vs. Básicas 𝑇1 −1 Ctes. Col. Piv.(𝑥2 )
𝑥1𝑎 1 0 0 6 1
𝑥2𝑎 0 1 0 8 2
−𝜉 -1 -1 1 -14 -3
EJEMPLO
ya que los costos relativos son:
1 −1 1 0
𝑐ҧ𝑡 = −1 − 1 1 2 1 0 1 = −3 0 0 0
0 0 1 1
La nueva tabla inversa es:
Vs. Básicas 𝑇2 −1 Ctes.
𝑥1𝑎 1 -1/2 0 2
𝑥2 0 1/2 0 4
−𝜉 -1 1/2 1 -2
Como los nuevos costos relativos son:
1 −1 1 0
𝑡
𝑐ҧ = −1 1/2 1 2 1 0 1 = 0 3/2 0 3/2
0 0 1 1
se ha detectado una solución óptima para el problema 𝑃𝑎 con 𝜉 1 = 2 > 0. El
problema 𝐷𝑎 :
m𝑎𝑥 6𝑦1 + 8𝑦2
𝑠. 𝑎: 𝑦1 + 2𝑦2 ≤ 0
−𝑦1 +𝑦2 ≤ 0
𝑦1 ≤1
𝑦2 ≤ 1
1
tiene 𝑦ത = como solución óptima.
−1/2
EJEMPLO
Como esta solución no verifica la restricción 2𝑦1 − 2𝑦2 ≤ 0,el valor:
3+4 7
𝜆ҧ = =
3 3
posibilita la construcción de la nueva solución factible dual:
1
−2 7 1
2
𝑦 = + 3 − 1 = 37
0 2 −6
Como, para esta nueva solución factible dual, 𝐽2 = 1,2 , planteamos el
problema auxiliar:
min 𝑥1𝑎 + 𝑥 𝑎 2
𝑠. 𝑎: 2𝑥1 + 𝑥2 + 𝑥1𝑎 = 6
−2𝑥1 + 2𝑥2 + 𝑥2𝑎 = 8
𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥1𝑎 ≥ 0, 𝑥2𝑎 ≥ 0
Resolvemos este problema aplicando el Método Simplex Revisado.
Vs. Básicas 𝑇1 −1 Ctes. Col. Piv.(𝑥2 )
𝑥1𝑎 1 0 0 6 1
𝑥2𝑎 0 1 0 8 2
−𝜉 -1 -1 1 -14 -3
ya que los costos relativos son:
2 1 1 0
𝑐ҧ𝑡 = −1 − 1 1 −2 2 0 1 = 0 − 3 0 0
0 0 1 1
EJEMPLO
Vs. Básicas 𝑇2 −1 Ctes. Col. Piv.(𝑥1 )
𝑥1𝑎 1 -1/2 0 2 3
𝑥2 0 1/2 0 4 -1
−𝜉 -1 1/2 1 -2 -3
Al ser los costos relativos:
2 1 1 0
𝑡
𝑐ҧ = −1 , 1/2, 1 −2 2 0 1 = −3, 0,0, 3/2
0 0 1 1
la variable 𝑥1 entra en la base. La nueva tabla inversa es:
Vs. Básicas 𝑇2 −1 Ctes.
𝑥1 1/3 -1/6 0 2/3
𝑥2 1/3 1/3 0 14/3
−𝜉 0 0 1 0
La solución óptima de este problema es 𝑥1 = 2/3, 𝑥2 = 14/3,𝑥1𝑎 = 0,𝑥2𝑎 = 0 y su
valor óptimo es 𝜉 2 = 0. Esto indica que la solución 𝑥1 = 2/3, 𝑥2 = 14/3, 𝑥3 = 0
es factible primal y óptima con valor óptimo igual a 22/3.
La tabla inversa óptima del problema inicial es
Vs. Básicas 𝑇2 −1 Ctes.
𝑥1 1/3 -1/6 0 2/3
𝑥2 1/3 1/3 0 14/3
−𝑧 -1/3 7/6 1 -22/3
MÉTODO AUTO DUAL
Fuerza la optimalidad de una solución básica perturbando costos y recursos
sumando, convenientemente, una cantidad suficientemente grande. La
pretensión de anular dicha perturbación, implica combinar iteraciones del
simplex primal y del simplex dual. Se puede detectar la no acotación, la no
factibilidad o la optimalidad. Estas tres posibilidades se deben conjugar con
la posibilidad de eliminación de la perturbación y, por tanto, deben estar
referidas al problema inicial.
Ejemplo
Para resolver
min 3𝑥1 − 2𝑥2 + 5𝑥3
𝑠. 𝑎: 2𝑥1 + 𝑥2 − 𝑥3 + 𝑥4 =6
−2𝑥1 + 𝑥2 − 2𝑥3 + 𝑥5 = −8
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5
planteamos el problema perturbado:
min 3 + 𝛿 𝑥1 + −2 + 𝛿 𝑥2 + 5 + 𝛿 𝑥3
𝑠. 𝑎: 2𝑥1 + 𝑥2 − 𝑥3 + 𝑥4 = 6+𝛿
−2𝑥1 + 𝑥2 − 2𝑥3 + 𝑥5 = −8 + 𝛿
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5
MÉTODO AUTO DUAL
La tabla inicial es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝛿 Constantes
𝑥4 2 1 -1 1 0 0 6+𝛿
𝑥5 -2 1 -2 0 1 0 -8+𝛿
−𝑧𝛿 3+𝛿 -2+𝛿 5+𝛿 0 0 1 0
Esta tabla es óptima para valores de 𝛿 que hagan no negativos los valores de
las variables básicas y de los costos relativos. Por tanto, 𝛿 ≥ 8.
Si 𝛿 < 8, se activa el Método Simplex Dual para sacar de la base a 𝑥5 . Como:
3+𝛿 5+𝛿 3+𝛿
max , =
−2 −2 −2
la variable 𝑥1 entra en la base. Obtenemos:
5
Esta tabla es óptima cuando 𝛿 ∈ − 9 , 1 . Por tanto, aporta una solución
óptima cuando 𝛿 = 0.
TEMA 7: PROGRAMACIÓN PARAMÉTRICA
Problemas con costos paramétricos.
Problemas con recursos paramétricos.
Problemas con costos y recursos paramétricos
Resumen
Se estudian problemas de Programación Lineal en los que costos
o recursos dependen linealmente de un parámetro. Este estudio,
realizado en principio de forma separada, puede hacerse
simultáneamente y extenderse a los coeficientes tecnológicos.
Las herramientas necesarias para llevarlo a cabo se concretan en
el uso del Método Simplex Primal y del Método Simplex Dual.
PROBLEMAS PARAMÉTRICOS
Puede suceder que los costos de un problema de Programación dependan
linealmente de un parámetro. Tendremos, el siguiente problema de costos
paramétricos:
min 𝑐 + 𝜆𝑐 ∗ 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0
Si son los recursos los que dependen linealmente de un parámetro, se
obtiene el problema de recursos paramétricos:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 + 𝜆𝑏 ∗
𝑥≥0
Es obvio que la dependencia lineal apuntada puede ser simultánea:
min 𝑐 + 𝜆𝑐 ∗ 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 + 𝜆𝑏 ∗
𝑥≥0
Y, en cualquier caso, puede extenderse a los coeficientes tecnológicos:
min 𝑐 + 𝜆𝑐 ∗ 𝑡 𝑥
𝑠. 𝑎: 𝐴 + 𝜆𝐴∗ 𝑥 = 𝑏 + 𝜆𝑏 ∗
𝑥≥0
𝑏ത𝑟
El nuevo valor de 𝑥𝑠 es y los nuevos costos relativos de las variables no
𝑦𝑟𝑠
básicas son:
𝑦𝑟𝑗 ∗ 𝑦𝑟𝑗 ∗
𝑐𝑗ҧ − 𝑦 𝑐𝑠ҧ + 𝜆 𝑐𝑗ҧ − 𝑦 𝑐𝑠ҧ , ∀𝑗 ∈ 𝑁 − 𝑠
𝑟𝑠 𝑟𝑠
𝑐𝑠ҧ 𝑐𝑠ҧ∗
− −𝜆 , para la variable 𝑥𝑟 .
𝑦𝑟𝑠 𝑦𝑟𝑠
𝜆 , 𝑧𝜆
(-7, -40)
Caso de Máximo
En este caso, la base factible B es óptima si 𝑐𝑗ҧ + 𝜆𝑐𝑗ҧ∗ ≤ 0, ∀𝑗 ∈ 𝑁:
𝑐𝑗ҧ
- Si 𝑐𝑗ҧ∗ > 0, 𝜆 ≤ − 𝑐ҧ∗ .
𝑗
𝑐𝑗ҧ
- Si 𝑐𝑗ҧ∗ < 0, 𝜆 ≥ − 𝑐ҧ∗ .
𝑗
- Si 𝑐𝑗ҧ∗ = 0, debe verificarse que 𝑐𝑗ҧ ≤ 0.
𝑐𝑗ҧ 𝑐𝑗ҧ
m𝑎𝑥 − 𝑐 ҧ∗ |𝑐𝑗ҧ∗ < 0 𝑠𝑖 𝑐ҧ∗ ≱0 min − 𝑐 ∗ |𝑐𝑗ҧ∗ > 0 𝑠𝑖 𝑐ҧ∗ ≰0
Definimos 𝜆𝐵 = ቐ 𝑗 y 𝜆ҧ𝐵 = ቐ 𝑗
−∞, 𝑠𝑖 𝑐ҧ ≥0
∗ ∞, 𝑠𝑖 𝑐ҧ∗ ≤0
B es óptima si 𝜆 ∈ 𝜆𝐵 , 𝜆ҧ𝐵 .
PROBLEMAS DE RECURSOS PARAMÉTRICOS
Asociados al problema 𝑃𝜆 :
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 +𝜆𝑏 ∗
𝑥≥0
Tenemos los problemas:
min 𝑐 𝑡 𝑥 min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑃 y 𝑠. 𝑎: 𝐴𝑥 = 𝑏 ∗ 𝑃∗
𝑥≥0 𝑥≥0
Si 𝐴 = 𝐵, 𝑁 , siendo B una base, para ambos problemas los costos relativos
son:
𝑐ҧ𝑡 = 𝑐 𝑡 − 𝑐𝐵 𝑡 𝐵−1 𝐴
Como hay que resolver 𝑃𝜆 para todos los valores de 𝜆, podemos iniciar el
proceso con una base 𝐵 que sea óptima para algunos valores de 𝜆. Esto se
conseguiría si 𝑐ҧ ≥ 0 y𝑏ത + 𝜆𝑏ത ∗ ≥ 0
PROBLEMAS DE RECURSOS PARAMÉTRICOS
Ejemplo
Para el problema de recursos paramétricos:
min 2 𝑥1 + 𝑥2 + 3𝑥3
𝑠. 𝑎: 𝑥1 + 4𝑥2 − 2𝑥3 + 𝑥4 = 10 + 2𝜆
−2𝑥1 + 𝑥2 + 2𝑥3 + 𝑥5 = 12 − 2𝜆
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5
La solución básica inicial es óptima cuando:
10 + 2𝜆 ≥ 0
12 − 2𝜆 ≥ 0
Es decir, cuando 𝜆 ∈ −5,6 .
𝜆 , 𝑧𝜆
(-5,0) (6, 0)
PROBLEMAS DE COSTOS Y RECURSOS PARAMÉTRICOS
Cuando los costos y los recursos dependen linealmente de un parámetro:
min 𝑐 + 𝜆𝑐 ∗ 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏 + 𝜆𝑏 ∗
𝑥≥0
partiendo de una tabla óptima (por tanto de un intervalo característico de
valores de 𝜆 asociados a la correspondiente base), el análisis a realizar
implica la alternancia conveniente de pivotajes primales y pivotajes duales.
Ejemplo
Sea el problema de costos y recursos paramétricos:
min 2 + 2𝜆 𝑥1 + 4 − 𝜆 𝑥2 + 6 + 𝜆 𝑥3
𝑠. 𝑎: 2𝑥1 + 4𝑥2 − 𝑥3 + 𝑥4 = 8 + 2𝜆
−2𝑥1 + 𝑥2 +2𝑥3 + 𝑥5 = 16 − 2𝜆
𝑥𝑗 ≥ 0, 𝑗 = 1, … , 5
La tabla correspondiente es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧𝜆 Constantes
𝑥4 2 4 -1 1 0 0 8 + 2𝜆
𝑥5 -2 1 2 0 1 0 16 − 2𝜆
−𝑧𝜆 2 + 2𝜆 4 − 𝜆 6 + 𝜆 0 0 1 0
Esta tabla es óptima cuando 2 + 2𝜆 ≥ 0, 4 − 𝜆 ≥ 0, 6 + 𝜆 ≥ 0, 8 + 2𝜆 ≥ 0 y 16 −
2𝜆 ≥ 0; es decir, cuando 𝜆 ∈ −1,4
PROBLEMAS DE COSTOS Y RECURSOS PARAMÉTRICOS
Si 𝜆 > 4, el costo relativo de la variable 𝑥2 se hace negativo. Por tanto, se
activa un pivotaje primal. Tomando valores de 𝜆 próximos a 4, la regla de la
razón mínima indica que la variable que sale de la base es 𝑥4 . Obtenemos:
28
Esta tabla es óptima cuando 𝜆 ∈ ,8 .
5
Si 𝜆 > 8, hay que realizar un pivotaje dual sobre 𝑥2 . La variable que le
sustituye en la base es 𝑥1 . Obtenemos:
Para analizar lo que ocurre para 𝜆 < −1, usamos la tabla óptima inicial
50
0
-18 -16 -14 -12 -10 -8 -6 -4 -2 0 2 4 6 8 10 12 14
-50
-100
-150
-200
-250
-300
TEMA 8: ANÁLISIS DE SENSIBILIDAD
Resumen
Se estudia la influencia que pueden tener, en la optimalidad
previamente detectada, algunos cambios en los elementos
definidores del problema. Concretamente, nos referimos a la
adición de restricciones o de variables, cambios en los
costos, en los recursos o en los coeficientes tecnológicos. En
todos los casos, la resolución del problema modificado se
realiza a partir de la situación de optimalidad previa.
ANÁLISIS DE SENSIBILIDAD
Ejemplo
Usaremos el siguiente problema:
min 3𝑥1 − 2𝑥2 + 4𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 = 10 (1)
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3
V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 2
𝑥2 1 -1/2 0 7
-z -2 3 1 6
Como 𝑥2 es una variable básica, hay que trabajar sobre la nueva tabla:
V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 2
𝑥2 1 -1/2 0 7
-z -6 5 1 -22
CAMBIOS EN COSTOS
V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 2
𝑥2 1 -1/2 0 7
-z -2−𝛿 3+𝛿/2 1 6−7𝛿
Cambio en un recurso.
Supongamos que se sustituye 𝑏𝑖 por 𝑏𝑖′ para algún 𝑖 ∈ {1, … , 𝑚} . Esto podrá
afectar, solamente, a la factibilidad primal de la base B. En caso de que, para
el problema modificado, dicha base sea no factible primal, se aplicará el
Método Simplex Dual.
Ejemplo
Si en el problema inicial, se cambian los recursos por 12 + 𝛿, 10 , obtenemos
el problema modificado:
min 3𝑥1 − 2𝑥2 + 4𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 = 12 + 𝛿
3𝑥1 + 2𝑥2 − 2𝑥3 = 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3
Usando la tabla óptima del problema inicial, se obtiene:
V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 2+𝛿
𝑥2 1 -1/2 0 7+𝛿
−𝑧𝛿 -2 3 1 6−2𝛿
Esta tabla es óptima si 𝛿 ≥ −2. Por tanto, en el problema inicial, el primer
recurso puede variar en 10, ∞ (rango de optimalidad) manteniéndose
óptima la base actual.
CAMBIOS EN RECURSOS
Si, en el problema inicial, el primer recurso se cambia por 5, 𝛿 = −7 y la
tabla inversa sobre la que se inicia la resolución del problema modificado
es:
V. B. 𝑇 −1 Ctes.
𝑥3 1 -1 0 -5
𝑥2 1 -1/2 0 0
-z -2 3 1 20
Se debe aplicar el Método Simplex Dual Revisado tratando de sacar de la
base a 𝑥3 . La primera fila actualizada es:
−2 2 −1
1, −1,0 3 2 −2 = −5,0,1
3 −2 4
La variable 𝑥1 debe entrar en la base a partir de la tabla:
𝑎𝑚+1𝑗 𝑥𝑗 ≤ 𝑏𝑚+1
𝑗=1
𝑎𝑚+1𝑗 𝑥𝑗 ≤ 𝑏𝑚+1
𝑗=1
Por tanto, la base 𝐵 debe cambiarse por la
base ampliada:
𝐵 0
𝐵′ = 𝑡
𝛽 1
De esta manera,
′ −1 𝐵−1 0
𝐵 =
−𝛽 𝑡 𝐵−1 1
𝑎𝑚+1𝑗 𝑥𝑗 ≥ 𝑏𝑚+1
𝑗=1
𝐵 0
𝐵′ =
𝛽𝑡 −1
y a:
−1 𝐵 −1 0
𝐵′ = 𝑡 −1
𝛽 𝐵 −1
ADICIÓN DE UNA INECUACIÓN
Ejemplo
i) Si, en el problema inicial, se añade la restricción −𝑥2 + 𝑥3 ≥ 10, el
problema modificado es:
min 3𝑥1 − 2𝑥2 + 4𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 = 10
−𝑥2 + 𝑥3 ≥ 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3
V. B. 𝑇 −1 Ctes.
𝑥3 1 2/3 -5/3 0 7
𝑥2 1 2/3 -7/6 0 21/2
𝑥1 0 1/3 -1/3 0 1
-z -2 -7/3 16/3 1 -10
𝑎𝑚+1𝑗 𝑥𝑗 = 𝑏𝑚+1
𝑗=1
𝑠. 𝑎: 𝐴𝑥 = 𝑏 𝑥ҧ 𝑎𝑚+1𝑗 𝑥𝑗 = 𝑏𝑚+1
𝑛 𝑗=1
𝑎𝑚+1𝑗 𝑥𝑗 = 𝑏𝑚+1
𝑗=1
𝑥≥0
Resulta obvio que si
𝑛
𝐵 0
𝐵′ = (𝛽 está definido como en el caso anterior)
𝛽𝑡 −1
la cual asignará a 𝑥𝑛+1 el valor inicial igual a:
𝑛
sobre la tabla:
ADICIÓN DE UNA ECUACIÓN
V. B. 𝑇 −1 Ctes.
𝑥3 1 2/3 5/3 0 32
𝑥2 1 2/3 7/6 0 28
𝑥1 0 1/3 1/3 0 6
−𝑧𝑀 -2 -7/3 -16/3 1 -90
ADICIÓN DE UNA ECUACIÓN
−2 2 −1 0
7 16 3 2 −2 0 16
−2, − , − , 1 = 0,0,0, − +𝑀
3 3 0 −2 2 1 3
3 −2 4 𝑀
V. B. 𝑇 −1 Ctes.
𝑥3 3 -2 0 16
𝑥4 1 -1/2 0 7
−𝑧 0 2 1 20
Los costos relativos para el problema modificado son:
−2 2 −1 4
0,2,1 3 2 −2 6 = 9,2,0,0
3 −2 4 −12
Esta tabla es óptima para el problema modificado.
MODIFICACIÓN DE LOS COEFICIENTES DE UNA VARIABLE
Cambio de los coeficientes de las restricciones correspondientes a
una variable.
El problema modificado será
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴′𝑥 = 𝑏
𝑥≥0
𝑗
donde 𝐴′ = 𝑎1 , … , 𝑎 𝑗−1 , 𝑎′ , 𝑎 𝑗+1 , … , 𝑎𝑛
𝑥3 sale de la base:
MODIFICACIÓN DE LOS COEFICIENTES DE UNA VARIABLE
V. B. 𝑇 −1 Ctes.
𝑥1 1/5 -1/5 0 2/5
𝑥2 3/10 1/5 0 28/5
−𝑧 0 1 1 10
Los nuevos costos relativos son:
2 2 −1
0,1,1 −3 2 −2 = 0,0,2
3 −2 4
Por tanto, la solución anterior es óptima para el problema modificado.
MODIFICACIÓN DE LOS COEFICIENTES DE UNA VARIABLE
ii) Si, en el problema inicial, se cambian los coeficientes tecnológicos de la
1
tercera variable por , el problema modificado es:
−1
min 3𝑥1 − 2𝑥2 + 4𝑥3
𝑠. 𝑎: −2𝑥1 + 2𝑥2 + 𝑥3 = 12
3𝑥1 + 2𝑥2 − 𝑥3 = 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3
Al tratarse de una variable básica, para resolver este problema usamos el
problema auxiliar:
min 3𝑥1 − 2𝑥2 + 𝑀𝑥3 + 4 𝑥4
𝑠. 𝑎: −2𝑥1 + 2𝑥2 − 𝑥3 + 𝑥4 = 12
3𝑥1 + 2𝑥2 − 2𝑥3 − 𝑥4 = 10
𝑥𝑗 ≥ 0, 𝑗 = 1,2,3,4
sobre la tabla:
V. B. 𝑇 −1 Ctes.
𝑥4 1/2 -1/2 0 1
𝑥2 1/4 1/4 0 11/2
−𝑧𝑀 -3/2 5/2 1 7
3 5 −2 2 −1 1 17 7
− , ,1 3 2 −2 −1 = , 0, − + 𝑀, 0
2 2 2 2
3 −2 𝑀 4
𝑢2
𝑙2
𝑙1 𝑢1
FORMULACIÓN
El problema de Programación Lineal con variables acotadas se define como:
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑙≤𝑥≤𝑢
siendo 𝑐 ∈ 𝑅 el vector de costos, b∈ 𝑅𝑚 el vector de recursos, 𝐴 la matriz de
𝑛
min 𝑐 𝑡 𝑦 + 𝑙 𝑐 𝑡 𝑙 + min 𝑐 𝑡 𝑦
𝑠. 𝑎: 𝐴 𝑦 + 𝑙 = 𝑏 𝑠. 𝑎: 𝐴𝑦 = 𝑏 − 𝐴𝑙
𝑦+𝑙 ≤𝑢 𝑦≤𝑢−𝑙
𝑦≥0 𝑦≥0
Esta conversión presenta la desventaja de la adición de un número
importante de restricciones sencillas que dificultan los cálculos matriciales.
Por ello se hace un uso implícito de ellas.
DEFINICIONES Y PROPIEDADES
Solución básica factible primal
𝑥ҧ es una solución básica si existe una base B para A, con 𝐴 = 𝐵, 𝑁1 , 𝑁2 , de
forma que 𝑥ҧ𝑁1 = 𝑙𝑁1 , 𝑥ҧ𝑁2 = 𝑢𝑁2 y 𝑥ҧ𝐵 = 𝐵 −1 𝑏 − 𝐵 −1 𝑁1 𝑙𝑁1 − 𝐵 −1 𝑁2 𝑢𝑁2 = 𝑏
Una solución básica es factible primal si, además, 𝑙𝐵 ≤ 𝑥ҧ𝐵 ≤ 𝑢𝐵 .
El número de soluciones básicas es, como máximo:
𝑛−𝑚
𝑛 𝑛−𝑚 𝑛−𝑚 𝑛
𝑗 = 2
𝑚 𝑚
𝑗=0
Propiedad
Si existe, el óptimo se alcanza en una solución básica factible primal.
Condición de optimalidad
El valor objetivo de una solución básica factible primal es
𝑐𝐵𝑡 𝑥ҧ𝐵 + 𝑐𝑁𝑡 1 𝑥ҧ𝑁1 + 𝑐𝑁𝑡 2 𝑥ҧ𝑁2 = 𝑐𝐵𝑡 𝐵−1 𝑏 − 𝑐𝐵𝑡 𝐵−1 𝑁1 𝑙𝑁1 − 𝑐𝐵𝑡 𝐵−1 𝑁2 𝑢𝑁2 +𝑐𝑁𝑡 1 𝑙𝑁1 + 𝑐𝑁𝑡 2 𝑢𝑁2
= 𝑐𝐵𝑡 𝑏 + 𝑐𝑁𝑡 1 𝑙𝑁1 + 𝑐𝑁𝑡 2 𝑢𝑁2
Para cualquier solución factible 𝑥 se tiene que:
𝑥𝐵 = 𝐵−1 𝑏 − 𝐵−1 𝑁1 𝑥𝑁1 − 𝐵−1 𝑁2 𝑥𝑁2 , 𝑥𝑁1 = 𝑙𝑁1 + 𝑦𝑁1 , 𝑥𝑁2 = 𝑢𝑁2 − 𝑦𝑁2
con 𝑦𝑁1 , 𝑦𝑁2 ≥ 0.
Sustituyendo convenientemente:
𝑐 𝑡 𝑥 = 𝑐 𝑡 𝑥ҧ + 𝑐𝑁 ҧ𝑡 1 𝑦𝑁1 − 𝑐𝑁ҧ𝑡 2 𝑦𝑁2
Por tanto, 𝑥ҧ es óptima si 𝑐𝑁 ҧ 1 ≥ 0 y 𝑐𝑁 ҧ 2≤0
Una solución básica es factible dual si 𝑐𝑁
ҧ 1 ≥ 0 y 𝑐𝑁
ҧ 2 ≤ 0.
MEJORA DE UNA SOLUCIÓN BÁSICA FACTIBLE
Dada una solución básica factible, si no es óptima es porque:
∃𝑗 ∈ 𝑁1 tal que 𝑐𝑗ҧ < 0
ó
∃𝑗 ∈ 𝑁2 tal que 𝑐𝑗ҧ > 0
Es decir, se puede mejorar el valor objetivo incrementando una variable que,
actualmente, está en su cota inferior ó rebajando una variable que está
actualmente en su cota superior.
Se define:
𝑠 = arg min 𝑐𝑗ҧ |𝑗 ∈ 𝑁1 , 𝑐𝑗ҧ < 0 ∪ −𝑐𝑗ҧ |𝑗 ∈ 𝑁2 , 𝑐𝑗ҧ > 0
Caso 1:𝑠 ∈ 𝑁1
Actualmente 𝑥𝑠 = 𝑙𝑠 e interesa incrementarla en 𝜆 ≥ 0.
𝑏
Por tanto, a partir de la solución básica actual 𝑙𝑁1 , se busca sobre la
𝑢𝑁2
−𝑦 𝑠
dirección 𝑒 𝑠 , (𝑦 𝑠 = 𝐵 −1 𝑎 𝑠 , 𝑒 𝑠 el vector unitario de la coordenada s-ésima
0
de 𝑅 1 ), eligiendo el mayor 𝜆 que sea posible, verificando
𝑁
𝑏 −𝑦 𝑠
𝑙 ≤ 𝑙𝑁1 + 𝜆 𝑒 𝑠 ≤ 𝑢
𝑢𝑁2 0
MEJORA DE UNA SOLUCIÓN BÁSICA FACTIBLE
Por tanto:
𝑙𝐵 ≤ 𝑏 − 𝜆𝑦 𝑠
𝑏 − 𝜆𝑦 𝑠 ≤ 𝑢𝐵
𝑙𝑠 + 𝜆 ≤ 𝑢𝑠
𝑏 𝑖 −𝑙𝐵𝑖
Para que 𝑙𝐵𝑖 ≤ 𝑏𝑖 − 𝜆𝑦𝑖𝑠 , es necesario que 𝜆 ≤ , cuando 𝑦𝑖𝑠 > 0.
𝑦𝑖𝑠
Por ello, definimos:
∞, 𝑠𝑖 𝑦 𝑠 ≤ 0
𝜆1 = 𝑏𝑖 − 𝑙𝐵𝑖
𝑚𝑖𝑛 |𝑦𝑖𝑠 > 0 , 𝑠𝑖 𝑦 𝑠 ≰ 0
𝑦𝑖𝑠
𝑢𝐵𝑖 −𝑏 𝑖
Para que 𝑏𝑖 − 𝜆𝑦𝑖𝑠 ≤ 𝑢𝐵𝑖 , es necesario que 𝜆 ≤ , cuando 𝑦𝑖𝑠 < 0.
−𝑦𝑖𝑠
Por ello, definimos:
∞, 𝑠𝑖 𝑦 𝑠 ≥ 0
𝜆2 = 𝑢𝐵𝑖 − 𝑏𝑖
𝑚𝑖𝑛 |𝑦𝑖𝑠 < 0 , 𝑠𝑖 𝑦 𝑠 ≱ 0
−𝑦𝑖𝑠
Para que 𝑙𝑠 + 𝜆 ≤ 𝑢𝑠 , 𝜆 ≤ 𝑢𝑠 − 𝑙𝑠 = 𝜆3 .
Sea 𝜆ҧ = min 𝜆1 , 𝜆2 , 𝜆3 . Si 𝜆ҧ = ∞ , el problema es no acotado. En otro caso,
conviene trabajar con la solución básica factible:
MEJORA DE UNA SOLUCIÓN BÁSICA FACTIBLE
𝑏 −𝑦 𝑠
𝑥′ = 𝑙𝑁1 + 𝜆ҧ 𝑒 𝑠
𝑢𝑁2 0
𝑏𝑟 −𝑙𝐵
𝑏𝑟 −𝑙𝐵
Si 𝜆ҧ = 𝜆1 = 𝑦 𝑟 , con 𝑦𝑟𝑠 > 0, 𝑥𝑟′ = 𝑏𝑟 − 𝑦 𝑟 𝑦𝑟𝑠 = 𝑙𝐵𝑟 . Por tanto, en este caso,
𝑟𝑠 𝑟𝑠
tendremos para que las variables básicas son las de 𝐵 − 𝑟 ∪ 𝑠 . Las
𝑥′
variables no básicas en su cota inferior son las de 𝑁1 − 𝑠 ∪ 𝑟 . Las variables
no básicas en su cota superior son las de 𝑁2
𝑢𝐵𝑟 −𝑏𝑟
𝑢𝐵𝑟 −𝑏𝑟
Si 𝜆ҧ = 𝜆2 = −𝑦 , con 𝑦𝑟𝑠 < 0,𝑥𝑟′ = 𝑏𝑟 − −𝑦 𝑦𝑟𝑠 = 𝑢𝐵𝑟 . Por tanto, en este caso,
𝑟𝑠 𝑟𝑠
tendremos para que las variables básicas son las de 𝐵 − 𝑟 ∪ 𝑠 . Las
𝑥′
variables no básicas en su cota inferior son las de 𝑁1 − 𝑠 . Las variables no
básicas en su cota superior son las de 𝑁2 ∪ 𝑟
Si 𝜆3 = 𝑢𝑠 − 𝑙𝑠 , en 𝑥 ′ las variables básicas son las de 𝐵 , las variables no
básicas en su cota inferior son las de 𝑁1 − 𝑠 y las variables no básicas en su
cota superior son las de 𝑁2 ∪ 𝑠 .
MEJORA DE UNA SOLUCIÓN BÁSICA FACTIBLE
Caso 2:𝑠 ∈ 𝑁2
Actualmente 𝑥𝑠 = 𝑢𝑠 e interesa rebajarla en 𝜆 ≥ 0.
𝑏
Por tanto, a partir de la solución básica actual 𝑙𝑁1 , se busca sobre la
𝑢𝑁2
−𝑦 𝑠
dirección 0 , (𝑦 𝑠 = 𝐵 −1 𝑎 𝑠 , 𝑒 𝑠 el vector unitario de la coordenada s-ésima
𝑒𝑠
de 𝑅 𝑁2 ), eligiendo el mayor 𝜆 que sea posible, verificando:
𝑏 −𝑦 𝑠
𝑙 ≤ 𝑙𝑁1 − 𝜆 0 ≤𝑢
𝑢𝑁2 𝑒𝑠
Por tanto:
𝑙𝐵 ≤ 𝑏 + 𝜆𝑦 𝑠
𝑏 + 𝜆𝑦 𝑠 ≤ 𝑢𝐵
𝑙𝑠 ≤ 𝑢𝑠 − 𝜆
MEJORA DE UNA SOLUCIÓN BÁSICA FACTIBLE
𝑏 𝑖 −𝑙𝐵𝑖
Para que 𝑙𝐵𝑖 ≤ 𝑏𝑖 + 𝜆𝑦𝑖𝑠 , es necesario que 𝜆 ≤ , cuando 𝑦𝑖𝑠 < 0.
−𝑦𝑖𝑠
Por ello, definimos:
∞, 𝑠𝑖 𝑦 𝑠 ≥ 0
𝜆1 = 𝑏𝑖 − 𝑙𝐵𝑖
𝑚𝑖𝑛 |𝑦𝑖𝑠 < 0 , 𝑠𝑖 𝑦 𝑠 ≱ 0
−𝑦𝑖𝑠
𝑢𝐵𝑖 −𝑏 𝑖
Para que 𝑏𝑖 + 𝜆𝑦𝑖𝑠 ≤ 𝑢𝐵𝑖 , es necesario que 𝜆 ≤ , cuando 𝑦𝑖𝑠 > 0.
𝑦𝑖𝑠
Por ello, definimos:
∞, 𝑠𝑖 𝑦 𝑠 ≤ 0
𝜆2 = 𝑢𝐵𝑖 − 𝑏𝑖
𝑚𝑖𝑛 |𝑦𝑖𝑠 > 0 , 𝑠𝑖 𝑦 𝑠 ≰ 0
𝑦𝑖𝑠
Para que 𝑙𝑠 ≤ 𝑢𝑠 − 𝜆, 𝜆 ≤ 𝑢𝑠 − 𝑙𝑠 = 𝜆3 .
𝑏 −𝑦 𝑠
𝑥′ = 𝑙𝑁1 − 𝜆ҧ 0
𝑢𝑁2 𝑒𝑠
𝑏𝑟 −𝑙𝐵
𝑏𝑟 −𝑙𝐵
Si 𝜆ҧ = 𝜆1 = −𝑦 𝑟 , con 𝑦𝑟𝑠 < 0,𝑥𝑟′ = 𝑏𝑟 + −𝑦 𝑟 𝑦𝑟𝑠 = 𝑙𝐵𝑟 . Por tanto, en este caso,
𝑟𝑠 𝑟𝑠
tendremos para que las variables básicas son las de 𝐵 − 𝑟 ∪ 𝑠 . Las
𝑥′
variables no básicas en su cota inferior son las de 𝑁1 ∪ 𝑟 . Las variables no
básicas en su cota superior son las de 𝑁2 − 𝑠
𝑢𝐵 −𝑏𝑟 𝑢𝐵 −𝑏𝑟
Si 𝜆ҧ = 𝜆2 = 𝑦𝑟 , con 𝑦𝑟𝑠 > 0,𝑥𝑟′ = 𝑏𝑟 + 𝑦𝑟 𝑦𝑟𝑠 = 𝑢𝐵𝑟 . Por tanto, en este caso,
𝑟𝑠 𝑟𝑠
tendremos para que las variables básicas son las de 𝐵 − 𝑟 ∪ 𝑠 . Las
𝑥′
variables no básicas en su cota inferior son las de 𝑁1 . Las variables no
básicas en su cota superior son las de 𝑁2 − 𝑠 ∪ 𝑟
Si 𝜆3 = 𝑢𝑠 − 𝑙𝑠 , en 𝑥 ′ las variables básicas son las de 𝐵 , las variables no
básicas en su cota inferior son las de 𝑁2 − 𝑠 y las variables no básicas en su
cota superior son las de 𝑁1 ∪ 𝑠 .
MÉTODO DEL SIMPLEX PARA VARIABLES ACOTADAS
Inicio
Determinar una solución básica factible primal inicial (hay que fijar una
descomposición de 𝐴 = 𝐵, 𝑁1 , 𝑁2 con variables no básicas en una de sus
cotas y con variables básicas entre sus cotas). Si es necesario añadir
variables artificiales, hay que arbitrar el correspondiente procedimiento de
eliminación de dichas variables.
Etapa general
Si 𝑐𝑁
ҧ 1 ≥ 0 y 𝑐𝑁
ҧ 2 ≤ 0 , parar. En otro caso, determinar 𝑠 = arg min ቄ൛𝑐𝑗ҧ |𝑗 ∈ 𝑁1 ,
𝑐𝑗ҧ < 0ൟ ∪ −𝑐𝑗ҧ |𝑗 ∈ 𝑁2 , 𝑐𝑗ҧ > 0 ቅ y calcular 𝜆ҧ = min 𝜆1 , 𝜆2 , 𝜆3 . Si 𝜆ҧ = ∞, el problema
es no acotado; si 𝜆ҧ < ∞, realizar la correspondiente operación de pivotaje,
actualizar la descomposición de 𝐴 = 𝐵, 𝑁1 , 𝑁2 y repetir.
- 5 1 - 0
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z C. T. Ctes.
𝑥4 0 1 0 1 1 0 14 9
𝑥1 1 -1/2 1/2 0 1/2 0 3 5
-z 0 1 4 0 3 1 18 9
Ahora 𝑠 = 2, 𝜆1 = 8, 𝜆2 = ∞, 𝜆3 = 5. En definitiva, 𝜆ҧ = 𝜆3 = 5. La variable 𝑥2
sigue como no básica pero su valor pasa a su cota inferior.
Resultará que 𝐵 = 1,4 , 𝑁1 = 2, 3, 5 y 𝑁2 = ∅. La nueva tabla es:
- 0 1 - 0
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z C. T. Ctes.
𝑥4 0 1 0 1 1 0 14 14
𝑥1 1 -1/2 1/2 0 1/2 0 3 5 /2
-z 0 1 4 0 3 1 18 14
Tenemos que esta tabla es óptima
APLICACIÓN DEL MÉTODO
Ejemplo
Resolver el problema:
min −4𝑥1 + 2𝑥2 + 3𝑥3
𝑠. 𝑎: −𝑥1 + 2𝑥2 − 4𝑥3 = 16
2𝑥1 − 2𝑥2 + 𝑥3 = 12
1 ≤ 𝑥1 ≤ 9
1 ≤ 𝑥2 ≤ 6
1 ≤ 𝑥3 ≤ 5
Como no disponemos de una solución básica inicial, añadimos variables
artificiales y procedemos aplicando el Método de las dos Fases.
El problema de la Fase I es:
min 𝑥4 + 𝑥5
𝑠. 𝑎: −𝑥1 + 2𝑥2 − 4𝑥3 + 𝑥4 = 16
2𝑥1 − 2𝑥2 + 𝑥3 + 𝑥5 = 12
1 ≤ 𝑥1 ≤ 9
1 ≤ 𝑥2 ≤ 6
1 ≤ 𝑥3 ≤ 5
0 ≤ 𝑥4
0 ≤ 𝑥5
Inicialmente 𝐵 = 4,5 , 𝑁1 = 1,2,3 y 𝑁2 = ∅
APLICACIÓN DEL MÉTODO
1 1 1 - -
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w C. T. Ctes.
𝑥4 -1 2 -4 1 0 0 16 19
𝑥5 2 -2 1 0 1 0 12 11
-w -1 0 3 0 0 1 -28 -30
Tenemos que 𝑠 = 1, 𝜆1 = 11/2, 𝜆2 = ∞, 𝜆3 = 8. En definitiva, 𝜆ҧ = 𝜆1 = 11/2. La
variable 𝑥1 se convierte en básica y 𝑥5 en no básica en su cota inferior.
Tendremos:
𝐵 = 1,4 , 𝑁1 = 2,3,5 y 𝑁2 = ∅
sobre la tabla:
- 1 1 - 0
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -w C. T. Ctes.
𝑥4 0 1 -7/2 1 1/2 0 22 49/2
𝑥1 1 -1 1/2 0 1/2 0 6 13/2
-w 0 -1 7/2 0 1/2 1 -22 -49/2
min 𝑥4 + 𝑥5
𝑠. 𝑎: −𝑥1 + 2𝑥2 − 4𝑥3 + 𝑥4 = 10
2𝑥1 − 2𝑥2 + 𝑥3 + 𝑥5 = 8
2 ≤ 𝑥1 ≤ 22
1 ≤ 𝑥2 ≤ 18
1 ≤ 𝑥3 ≤ 20
0 ≤ 𝑥4
0 ≤ 𝑥5
APLICACIÓN DEL MÉTODO
Inicialmente 𝐵 = 4,5 , 𝑁1 = 1,2,3 y 𝑁2 = ∅. La correspondiente tabla inversa
es:
V. Básicas 𝑇 −1 C. T. Ctes.
𝑥4 1 0 0 10 14
𝑥5 0 1 0 8 5
-w -1 -1 1 -18 -19
Para hallar la columna de constantes, haremos:
10 −1 2 −4 14
8 − 2 2 − −2 − 1 = 5
−18 −1 0 3 −19
Los costos relativos se calculan haciendo:
−1 2 −4 1 0
−1, −1, 1 2 −2 1 0 1 = −1, 0, 3, 0, 0
0 0 0 11
La variable 𝑥1 es candidata a ser básica. La tabla inversa con la columna
pivote es:
V. Básicas 𝑇 −1 C. T. Ctes. C. P.
𝑥4 1 0 0 10 14 -1
𝑥5 0 1 0 8 5 2
-w -1 -1 1 -18 -19 -1
min
. : 1, 1, … , 2
0,1
siendo
1, ∈ ∈
0,
FORMALIZACIÓN DE MODELOS
Problemas recubrimiento (cover problems)
Dado un conjunto 1, … , y | 1, … , , una colección de
subconjuntos de tal que ⊆⋃ y cada tiene asociado un costo .
Un recubrimiento de costo mínimo de se determina resolviendo el
problema:
min
. : 1, ∀ ∈
0,1, 1, … ,
1, 1, ∈
siendo y
0, 0,
Se observa que la restricción:
1, ∀ ∈
min
. : 1, ∀ ∈
0,1, 1, … ,
1, 1, ∈
siendo y
0, 0,
Se observa que la restricción:
1, ∀ ∈
min
. : 1, ∀ ∈
0,1, 1, … ,
1, 1, ∈
siendo y
0, 0,
1, ∀ ∈
. : 1, ∀ ∈
∈
1, ∀ ∈
∈
1, ∀ ⊂ , 2 2
∈ ∈
0,1, ∀ , ∈
FORMALIZACIÓN DE MODELOS
El problema del viajante ocupa un lugar relevante en el estudio de los
Problemas de Programación Combinatoria. En la versión dirigida, la
restricción:
1, ∀ ⊂ , 2 2
∈ ∈
𝑦𝑗 = 𝑘
𝑗=1
𝑧 ≥ 0, 𝑦𝑗 = 0,1, 𝑗 = 1, … , 𝑝
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA
Problemas de producción-inventario
Supongamos que son conocidas las demandas de un producto en n períodos: 𝐷𝑖 , 𝑖 = 1, … , 𝑛 . Para
atenderlas se puede usar producto almacenado o producido en el correspondiente período. Sea 𝐼𝑖 la
cantidad de producto almacenado al finalizar el período i y 𝑥𝑖 la cantidad producida en dicho período.
Los correspondientes costos de almacenamiento y producción serán 𝑐𝑎𝑖 y 𝑐𝑝𝑖 .
El problema de producción-inventario que permite atender las demandas minimizando costos
globales, se puede formular como:
𝑛 𝑛
Es evidente que el modelo anterior es de Programación Lineal al que se le puede añadir que
las unidades almacenadas y producidas sean enteras.
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA
Puede suceder que la puesta en funcionamiento del sistema de producción (setup) tenga distinto
costo en función de período. Sea 𝑐𝑠𝑢𝑖 , 𝑖 = 1, … , 𝑚 dicho costo. Habrá que decidir en qué períodos hay
que producir a través de la consideración de la variable binaria:
1, 𝑠𝑖 𝑠𝑒 𝑝𝑟𝑜𝑑𝑢𝑐𝑒 𝑒𝑛 𝑒𝑙 𝑝𝑒𝑟í𝑜𝑑𝑜 𝑖
𝑦𝑖 = ቊ , 𝑖 = 1, … , 𝑛
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
El modelo anterior debe, entonces, cambiar a:
𝑛 𝑛 𝑛
𝑥𝑖 ≤ 𝑦𝑖 𝐷𝑗 , 𝑖 = 1, … , 𝑛
𝑗=1
𝑥𝑖 ≥ 0, 𝑖 = 1, … , 𝑛, 𝑦𝑖 = 0,1, 𝑖 = 1, … , 𝑛 𝐼𝑖 ≥ 0, 𝑖 = 0, … , 𝑛,
Se observa que en la restricción 𝑥𝑖 ≤ 𝑦𝑖 σ𝑛𝑗=1 𝐷𝑗 , σ𝑛𝑗=1 𝐷𝑗 puede ser sustituido por cualquier cota
superior de este valor.
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA
𝑠. 𝑎: 𝑥𝑗𝑖 + 𝑥𝑖𝑗 = 2, ∀𝑖 ∈ 𝑉
𝑗<𝑖 𝑗>𝑖
𝑥𝑖𝑗 ≤ 𝑈 − 1, ∀𝑈 ⊂ 𝑉, 3 ≤ 𝑈 ≤ 𝑉 − 3
𝑖∈𝑈,𝑗∈𝑈,𝑖<𝑗
𝑥𝑖𝑗 = 0,1, ∀ 𝑖, 𝑗 ∈ 𝐸
Nótese que, en el caso simétrico, la no consideración de las restricciones de eliminación de
subtours hace que el modelo anterior corresponda con un problema de 2-emparejamiento.
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA
Problemas de planificación (scheduling)
Tienen que ver con la planificación de trabajos o tareas, ejecutados por diferentes
agentes (en general, máquinas), que son necesarios para completar el procesamiento de
productos o ejecutar, globalmente, proyectos.
Existe una ingente variedad de problemas de planificación. Como ilustración veamos el
siguiente ejemplo:
Se procesan 𝑛 productos sobre 𝑚 máquinas idénticas. Se supone, por simplicidad, que:
i) Cada producto requiere exactamente una operación sobre cada máquina y que
ii) las operaciones sobre cada producto deben ser efectuadas en un orden específico.
La producción se debe realizar minimizando los tiempos en que se completan todas las
operaciones.
Consideremos que 𝑥𝑖𝑘 es el tiempo en que se inicia el procesamiento del producto 𝑖 sobre
la máquina 𝑘. Se supone, además, que el proceso global comienza en el tiempo cero.
Las restricciones que tiene este problema son las siguientes:
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA
a) Dos productos no pueden procesarse a la vez sobre una misma máquina; es decir, si:
𝑝𝑖𝑘 = tiempo de procesamiento del producto 𝑖 sobre la máquina 𝑘.
debe verificarse que:
𝑥𝑟𝑘 − 𝑥𝑠𝑘 ≥ 𝑝𝑠𝑘 ó 𝑥𝑠𝑘 − 𝑥𝑟𝑘 ≥ 𝑝𝑟𝑘 , ∀𝑟, 𝑠 ∈ 1, … , 𝑛 , ∀𝑘 ∈ 1, … , 𝑚
Estas condiciones se pueden expresar como:
𝑥𝑟𝑘 − 𝑥𝑠𝑘 ≥ 𝑝𝑠𝑘 − 𝑀𝑦𝑟𝑠𝑘
𝑥𝑠𝑘 − 𝑥𝑟𝑘 ≥ 𝑝𝑟𝑘 − 𝑀 1 − 𝑦𝑟𝑠𝑘
siendo:
1, 𝑠𝑖 𝑟 𝑝𝑟𝑒𝑐𝑒𝑑𝑒 𝑎 𝑠 𝑛𝑜 𝑛𝑒𝑐𝑒𝑠𝑎𝑟𝑖𝑎𝑚𝑒𝑛𝑡𝑒𝑑𝑒 𝑓𝑜𝑟𝑚𝑎 𝑐𝑜𝑛𝑡𝑖𝑔𝑢𝑎
𝑦𝑟𝑠𝑘 = ቐ 𝑠𝑜𝑏𝑟𝑒 𝑙𝑎 𝑚á𝑞𝑢𝑖𝑛𝑎 𝑘
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
y 𝑀 una constante positiva suficientemente grande.
𝑛 𝑛
Nótese que existen 2𝑚 restricciones de las anteriores y 𝑚 variables binarias 𝑦𝑟𝑠𝑘 .
2 2
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA
b) Las 𝑚 operaciones correspondientes a cada producto deben realizarse en un determinado
orden.
Por lo tanto, si definimos:
1, 𝑠𝑖 𝑙𝑎 𝑗 − é𝑠𝑖𝑚𝑎 𝑜𝑝𝑒𝑟𝑎𝑐𝑖ó𝑛 𝑠𝑜𝑏𝑟𝑒 𝑒𝑙 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜 𝑖 𝑠𝑒 ℎ𝑎 𝑑𝑒 𝑟𝑒𝑎𝑙𝑖𝑧𝑎𝑟
𝑧𝑖𝑗𝑘 = ቐ 𝑠𝑜𝑏𝑟𝑒 𝑙𝑎 𝑚á𝑞𝑢𝑖𝑛𝑎 𝑘
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
se tiene que:
𝑛
𝑧𝑖𝑗𝑘 𝑥𝑖𝑘
𝑘=1
representa el tiempo en que comienza la tarea 𝑗 −ésima sobre el producto 𝑖, y, por ello, el
orden correcto se mantiene si:
𝑚 𝑚
Nótese que existen 𝑛(𝑚 − 1) restricciones de este tipo y 𝑛𝑚2 variables binarias 𝑧𝑖𝑗𝑘 .
EJEMPLOS DE MODELOS DE PROGRAMACIÓN ENTERA
c) Para cada producto debe ejecutarse exactamente una única tarea sobre cada máquina y una
única máquina debe soportar una determinada tarea; es decir:
𝑚
𝑧𝑖𝑗𝑘 = 1, ∀𝑖 ∈ 1, … , 𝑛 , ∀𝑘 ∈ 1, … , 𝑚
𝑗=1
𝑚
𝑧𝑖𝑗𝑘 = 1, ∀𝑖 ∈ 1, … , 𝑛 , ∀𝑗 ∈ 1, … , 𝑚
𝑘=1
Notemos que existen 2𝑛𝑚 restricciones del tipo anterior
Antes de plantear el modelo definitivo, debemos decir que los objetivos de este problema pueden
ser variados. Una función objetivo que se suele usar es la que representa la suma de los tiempos
de partida de la última operación efectuada sobre cada trabajo. La expresión viene dada por:
𝑛 𝑚
𝑧𝑖𝑚𝑘 𝑥𝑖𝑘
𝑖=1 𝑘=1
𝑛 𝑚
𝑧𝑖𝑗𝑘 = 1, ∀𝑖 ∈ 1, … , 𝑛 , ∀𝑘 ∈ 1, … , 𝑚
𝑗=1
𝑚
𝑧𝑖𝑗𝑘 = 1, ∀𝑖 ∈ 1, … , 𝑛 , ∀𝑗 ∈ 1, … , 𝑚
𝑘=1
𝑥𝑖𝑘 ≥ 0, 𝑦𝑟𝑠𝑘 = 0,1, 𝑧𝑖𝑗𝑘 = 0,1, ∀𝑖 ∈ 1, … , 𝑛 , , ∀𝑗 ∈ 1, … , 𝑚 , ∀𝑘 ∈ 1, … , 𝑚
𝑛
Por tanto, dicho problema contiene 𝑚𝑛 variables no negativas continuas, 𝑚 + 𝑛𝑚2 variables
2
𝑛
enteras binarias y 𝑛 𝑚 − 1 + 2𝑚 + 2𝑚𝑛 restricciones.
2
TEMA 11: MÉTODOS GENERALES DE PROGRAMACIÓN ENTERA
Búsqueda de soluciones enteras.
Métodos de ramificación y acotación.
Métodos de hiperplanos de corte
0, 52
7 3
2, 2
0,0 7
2, 0
5 7
,
2 2
es solución óptima continua
3,2 es solución óptima entera
PROGRAMACIÓN LINEAL Y SOLUCIONES ENTERAS
Si un problema de Programación Lineal debe tener soluciones enteras,
interesan propiedades que lo garanticen.
Definición
Dada una matriz 𝐷, cuadrada, diremos que es unimodular sí, y sólo si, el
determinante de 𝐷 es igual a 1 o a -1. Si 𝐴 fuese una matriz de orden 𝑚 ×
𝑛 , diremos que es totalmente unimodular sí, y sólo si, cualquier
submatriz cuadrada no singular de 𝐴 es unimodular.
Nota:
Si 𝐴 = (𝑎𝑖𝑗 ),es totalmente unimodular, entonces, 𝑎𝑖𝑗 = 0,1, −1. Obviamente,
− 𝐴 es totalmente unimodular. También, es evidente que las matrices nulas
e identidad, de cualquier orden, son totalmente unimodulares
Proposición
Si 𝐴, matriz de orden 𝑚 × 𝑛 y de rango 𝑚 es totalmente unimodular y 𝑏 ∈
𝑅𝑚 es un vector de enteros, entonces las soluciones básicas del sistema:
𝐴𝑥 = 𝑏
tienen coordenadas enteras.
PROGRAMACIÓN LINEAL Y SOLUCIONES ENTERAS
Proposición
Son equivalentes:
(1) 𝐴 es totalmente unimodular.
(2) ∀𝑏 ∈ 𝑅𝑚 , entero, los puntos extremos de 𝑆 𝑏 = 𝑥 ∈ 𝑅𝑛 |𝐴𝑥 ≤ 𝑏, 𝑥 ≥ 0 son
enteros.
(3) Cualquier submatriz cuadrada no singular de 𝐴 tiene inversa entera.
PROGRAMACIÓN LINEAL Y SOLUCIONES ENTERAS
Nota:
𝐴
Si 𝐴 es totalmente unimodular, es totalmente unimodular ya que,
𝐼
usando la demostración de la proposición anterior, como 𝐴𝑡 , es totalmente
unimodular, también lo es 𝐴𝑡 , 𝐼 .
𝐴
De igual manera, −𝐼 es totalmente unimodular. Se podrá afirmar
𝐼
entonces que las soluciones básicas para el sistema:
𝐴𝑥 = 𝑏
𝑙≤𝑥≤𝑢
toman valores enteros siempre que 𝐴 sea totalmente unimodular y 𝑏, 𝑙 y 𝑢
sean vectores enteros.
La importancia del anterior teorema es grande si se pretende la resolución
de un problema de Programación Lineal Entera a través del Método
Simplex. Sin embargo, previa a dicha aplicación, debe determinarse la
unimodularidad total de la matriz 𝐴 . Como sabemos, una condición
necesaria para que 𝐴 sea totalmente unimodular es que esté formada por
0, 1 ó -1. Sin embargo, no es fácil determinar cuando una matriz de 0, 1 o
-1 es totalmente unimodular. Un resultado que contribuye a solucionar esta
dificultad es el siguiente:
PROGRAMACIÓN LINEAL Y SOLUCIONES ENTERAS
Proposición
Sea 𝐴 = (𝑎𝑖𝑗 ) una matriz entera tal que 𝑎𝑖𝑗 = 0,1, −1 . Es totalmente
unimodular si
a) No tiene más de dos elementos distintos de cero en cada columna.
b) Los índices de filas pueden particionarse en dos conjuntos 𝐼1 e 𝐼2 tales
que:
b1) Si una columna contiene dos elementos no nulos de igual signo, los
índices de las filas correspondientes están en cada uno de los conjuntos de
índices.
b2) Si una columna contiene dos elementos no nulos de distinto signo, las
correspondientes filas están en el mismo conjunto de índices.
Matrices totalmente unimodulares en problemas combinatorios
Grafos bipartitos
Sea 𝐺 = (𝑉, 𝐸) un grafo no dirigido, con 𝑉 = 1, … , 𝑛 y 𝐸 = ሼ𝑒|𝑒 = 𝑖, 𝑗 , 𝑖, 𝑗 ∈ 𝑉′ ⊆
𝑉 ሽ. Definimos la matriz 𝑀 = (𝑚𝑖𝑒 ), de orden 𝑛 × 𝑐𝑎𝑟𝑑 𝐸 , tal que:
1, 𝑠𝑖 𝑖 𝑒𝑠 𝑢𝑛 𝑛𝑜𝑑𝑜 𝑡𝑒𝑟𝑚𝑖𝑛𝑎𝑙 𝑑𝑒 𝑒
𝑚𝑖𝑒 = ቊ
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
𝑀 es denominada matriz de incidencia nodo arista de 𝐺.
Se demuestra que M es totalmente unimodular si, y sólo si, G es un grafo
bipartito.
PROGRAMACIÓN LINEAL Y SOLUCIONES ENTERAS
Grafos dirigidos
1, 𝑠𝑖 𝑖 𝑒𝑠 𝑒𝑙 𝑛𝑜𝑑𝑜 𝑖𝑛𝑖𝑐𝑖𝑎𝑙 𝑑𝑒 𝑎
𝑚𝑖𝑎 = ቐ−1, 𝑠𝑖 𝑖 𝑒𝑠 𝑒𝑙 𝑛𝑜𝑑𝑜 𝑓𝑖𝑛𝑎𝑙 𝑑𝑒 𝑎
0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
La matriz 𝑀 es totalmente unimodular.
min 𝑐 𝑡 𝑥
𝑠. 𝑎: 𝐴𝑥 = 𝑏
𝑥≥0
𝑥𝑗 𝑒𝑛𝑡𝑒𝑟𝑜, ∀𝑗 ∈ 𝐽
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧 Cts.
𝑥3 -4 10 1 0 0 0 25
𝑥4 4 2 0 1 0 0 17
𝑥5 2 0 0 0 1 0 7
−𝑧 -5 -4 0 0 0 1 0
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧 Cts.
𝑥3 0 10 1 0 2 0 39
𝑥4 0 2 0 1 -2 0 3
𝑥1 1 0 0 0 1/2 0 7/2
−𝑧 0 -4 0 0 5/2 1 35/2
La variable 𝑥2 entra en la base y sale la variable 𝑥4 . Se obtiene la tabla:
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧 Cts.
𝑥3 0 0 1 -5 12 0 24
𝑥2 0 1 0 1/2 -1 0 3/2
𝑥1 1 0 0 0 1/2 0 7/2
−𝑧 0 0 0 2 -3/2 1 47/2
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 −𝑧 Cts.
𝑥5 0 0 1/12 -5/12 1 0 2
𝑥2 0 1 1/12 1/12 0 0 7/2
𝑥1 1 0 -1/24 5/24 0 0 5/2
−𝑧 0 0 1/8 11/8 0 1 53/2
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 −𝑧 Cts.
𝑥5 0 0 1/12 -5/12 1 0 0 2
𝑥2 0 1 1/12 1/12 0 0 0 7/2
𝑥1 1 0 -1/24 5/24 0 0 0 5/2
𝑥6 0 0 -1/12 -1/12 0 1 0 -1/2
−𝑧 0 0 1/8 11/8 0 0 1 53/2
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 1 0 3/2
𝑥2 0 1 0 0 0 1 0 3
𝑥1 1 0 0 1/4 0 -1/2 0 11/4
𝑥3 0 0 1 1 0 -12 0 6
−𝑧 0 0 0 5/4 0 3/2 1 103/4
Como este problema tiene una solución óptima que no verifica las
restricciones enteras, debe ser eliminado de 𝐿 y ramificado en los problemas
11
𝑃𝐸111 y 𝑃𝐸112 añadiendo, respectivamente, las restricciones 𝑥1 ≤ 4 = 2 y 𝑥1 ≥
11
= 3. Ahora, 𝐿 = 𝑃𝐸12 , 𝑃𝐸111 , 𝑃𝐸112 .
4
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 −𝑧 Cts.
𝑥5 0 0 1/12 -5/12 1 0 0 2
𝑥2 0 1 1/12 1/12 0 0 0 7/2
𝑥1 1 0 -1/24 5/24 0 0 0 5/2
𝑥6 0 1 0 0 0 -1 0 4
−𝑧 0 0 1/8 11/8 0 0 1 53/2
Haciendo que 𝑥2 y 𝑥6 recuperen el carácter de variables básicas:
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 −𝑧 Cts.
𝑥5 0 0 1/12 -5/12 1 0 0 2
𝑥2 0 1 1/12 -1/12 0 0 0 7/2
𝑥1 1 0 -1/24 5/24 0 0 0 5/2
𝑥6 0 0 1/12 1/12 0 1 0 -1/2
−𝑧 0 0 1/8 11/8 0 0 1 53/2
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 1 0 0 3/2
𝑥2 0 1 0 0 0 1 0 0 3
𝑥1 1 0 0 1/4 0 -1/2 0 0 11/4
𝑥3 0 0 1 1 0 -12 0 0 6
𝑥7 1 0 0 0 0 0 1 0 2
−𝑧 0 0 0 5/4 0 3/2 0 1 103/4
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 1 0 0 3/2
𝑥2 0 1 0 0 0 1 0 0 3
𝑥1 1 0 0 1/4 0 -1/2 0 0 11/4
𝑥3 0 0 1 1 0 -12 0 0 6
𝑥7 0 0 0 -1/4 0 1/2 1 0 -3/4
−𝑧 0 0 0 5/4 0 3/2 0 1 103/4
Aplicando el Método Simplex Dual, 𝑥4 sustituye en la base a 𝑥7 :
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 0 1 0 -2 0 3
𝑥2 0 1 0 0 0 1 0 0 3
𝑥1 1 0 0 0 0 0 1 0 2
𝑥3 0 0 1 0 0 -10 4 0 3
𝑥7 0 0 0 1 0 -2 -4 0 3
−𝑧 0 0 0 0 0 4 5 1 22
APLICACIÓN DEL ALGORITMO
103
𝑃𝐸111 tiene solución óptima entera. Ahora, 𝐿 = 𝑃𝐸112 , 𝑧 ∗ = −22, 𝑧∗ = − 4 y en
𝑆𝑂𝐿 se almacena la solución entera anterior. Elegimos ahora 𝑃𝐸112 , lo
relajamos y lo resolvemos. Obtenemos la tabla:
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 1 0 0 3/2
𝑥2 0 1 0 0 0 1 0 0 3
𝑥1 1 0 0 1/4 0 -1/2 0 0 11/4
𝑥3 0 0 1 1 0 -12 0 0 6
𝑥7 1 0 0 0 0 0 -1 0 3
−𝑧 0 0 0 5/4 0 3/2 0 1 103/4
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 1 0 0 3/2
𝑥2 0 1 0 0 0 1 0 0 3
𝑥1 1 0 0 1/4 0 -1/2 0 0 11/4
𝑥3 0 0 1 1 0 -12 0 0 6
𝑥7 0 0 0 1/4 0 -1/2 1 0 -1/4
−𝑧 0 0 0 5/4 0 3/2 0 1 103/4
Aplicando el Método Simplex Dual, 𝑥6 sustituye en la base a 𝑥7 :
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 −𝑧 Cts.
𝑥5 0 0 0 0 1 0 2 0 1
𝑥2 0 1 0 1/2 0 0 2 0 5/2
𝑥1 1 0 0 0 0 0 -1 0 3
𝑥3 0 0 1 -5 0 0 -24 0 12
𝑥6 0 0 0 -1/2 0 1 -2 0 1/2
−𝑧 0 0 0 2 0 0 3 1 25
APLICACIÓN DEL ALGORITMO
Este problema, que tiene una solución óptima que no verifica las
restricciones enteras, debe ser eliminado de 𝐿 y ramificado en los problemas
5
𝑃𝐸1121 y 𝑃𝐸1122 añadiendo, respectivamente, las restricciones 𝑥2 ≤ 2 = 2 y
5
𝑥2 ≥ = 3. Ahora, 𝑧 ∗ = −22, 𝑧∗ = −25, 𝐿 = 𝑃𝐸1121 , 𝑃𝐸1122 .
2
m𝑖𝑛 −5𝑥1 − 4𝑥2
m𝑖𝑛 −5𝑥1 − 4𝑥2
𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
𝑠. 𝑎: −4𝑥1 + 10𝑥2 ≤ 25
4𝑥1 + 2𝑥2 ≤ 17
4𝑥1 + 2𝑥2 ≤ 17 𝑃𝐸1122
2𝑥1 ≤7 𝑃𝐸1121
2𝑥1 ≤7
𝑥2 ≤ 3
𝑥2 ≤ 3
𝑥1 ≥3
𝑥1 ≥3
𝑥2 ≤ 2
𝑥2 ≥ 3
𝑥1 ≥ 0, 𝑥2 ≥ 0
𝑥1 ≥ 0, 𝑥2 ≥ 0
𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
𝑥1 , 𝑥2 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
Elegimos 𝑃𝐸1121 , lo relajamos y lo resolvemos. Obtenemos la tabla:
APLICACIÓN DEL ALGORITMO
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 −𝑧 Cts.
𝑥5 0 0 0 0 1 0 2 0 0 1
𝑥2 0 1 0 1/2 0 0 2 0 0 5/2
𝑥1 1 0 0 0 0 0 -1 0 0 3
𝑥3 0 0 1 -5 0 0 -24 0 0 12
𝑥6 0 0 0 -1/2 0 1 -2 0 0 1/2
𝑥8 0 1 0 0 0 0 0 1 0 2
−𝑧 0 0 0 2 0 0 3 0 1 25
Haciendo que 𝑥1 y 𝑥7 recuperen el carácter de variables básicas, obtenemos:
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 −𝑧 Cts.
𝑥5 0 0 0 0 1 0 2 0 0 1
𝑥2 0 1 0 1/2 0 0 2 0 0 5/2
𝑥1 1 0 0 0 0 0 -1 0 0 3
𝑥3 0 0 1 -5 0 0 -24 0 0 12
𝑥6 0 0 0 -1/2 0 1 -2 0 0 1/2
𝑥8 0 0 0 -1/2 0 0 -2 1 0 -1/2
−𝑧 0 0 0 2 0 0 3 0 1 25
APLICACIÓN DEL ALGORITMO
Aplicando el Método Simplex Dual, 𝑥7 sustituye en la base a 𝑥8 :
V. B. 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑥7 𝑥8 −𝑧 Cts.
𝑥5 0 0 0 -1/2 1 0 0 1 0 1/2
𝑥2 0 1 0 0 0 0 0 1 0 2
𝑥1 1 0 0 1/4 0 0 0 -1/2 0 13/4
𝑥3 0 0 1 1 0 0 0 -12 0 18
𝑥6 0 0 0 0 0 1 0 -1 0 1
𝑥8 0 0 0 1/4 0 0 1 -1/2 0 1/4
−𝑧 0 0 0 5/4 0 0 0 3/2 1 97/4
Este problema, que tiene una solución óptima que no verifica las
restricciones enteras, debe ser eliminado de 𝐿 y ramificado en los problemas
13
𝑃𝐸11211 y 𝑃𝐸11212 añadiendo, respectivamente, las restricciones 𝑥1 ≤ 4 = 3 y
13
𝑥1 ≥ 4
= 4. Ahora, 𝐿 = 𝑃𝐸1122 , 𝑃𝐸11211 , 𝑃𝐸11212 .
APLICACIÓN DEL ALGORITMO
𝑧∗ = ∞ 𝑥2 ≥ 4
53 𝑃𝐸1
𝑧∗ = − 2
𝑃𝐸12
𝑥2 ≤ 3 Sol. no entera
No factible
𝑧 ∗ = −∞
103 𝑧 ∗ = −22
𝑧∗ = − 4 𝑃𝐸11 𝑥1 ≥ 3 𝑧∗ = −25
7 3 7 3
𝑃𝐸1 ,
2 2 𝑃𝐸11 ,
2 2
7 7
0,0 2, 0 0,0 2, 0
2,3
𝑧 ∗ = −22
0, 52 𝑧∗ = −22 3, 52
103 𝑧∗ = −25
𝑧∗ = − 4
7 3
𝑃𝐸111 2, 2
𝑃𝐸112
7
0,0 2,0 3,0 2, 0
APLICACIÓN DEL ALGORITMO
13
𝑧 ∗ = −22 𝑧 ∗ = −23
4 ,2 𝑧∗ = −97 𝑧∗ = −23
3,2 4 3,2
7 3
,
2 2
𝑃𝐸1121 𝑃𝐸11211
7
3,0 2
,0 3,0
REGLAS ADICIONALES
En este caso, hay un único problema candidato a ser elegido para relajarlo y
resolverlo. La no factibilidad o la no acotación del problema relajado
conduce a la no factibilidad del problema entero (en el primer caso) y a la no
acotación o no factibilidad de dicho problema (en el segundo caso).
El asunto crucial es la elección de una desigualdad válida.
En la literatura sobre hiperplanos de corte existen distintas propuestas con
diversas garantías de convergencia para el anterior esquema. Con carácter
introductorio, estudiaremos cortes de Gomory para los casos entero puro y
entero mixto.
CORTES DE GOMORY: CASO ENTERO PURO
Sea el problema de Programación Entera:
min
. :
0
, ∀ ∈ 1, … ,
y ̅ solución óptima del problema relajado:
min
. :
0
Podemos suponer que ̅ es una solución básica. Supongamos que ̅ no
verifica las restricciones enteras; es decir, ∃ ∈ tal que ̅ no es entero.
En la tabla óptima del problema relajado se lee:
∈
Esta restricción no es verificada por ̅ y es válida para cualquier solución
entera del problema.
Se observa que la elección de la variable básica, asociada a la restricción
sobre la que se genera el corte, puede no ser única. Su selección puede ser
realizada de acuerdo a reglas por considerar.
Ejemplo
Resolver el siguiente problema entero puro:
min 2 3
. : 2 7
2 5
0, 0
,
La gráfica correspondiente a la región factible (señalando las soluciones
enteras) es:
CORTES DE GOMORY: CASO ENTERO PURO
7
0,
2 5 9
,
2 4
5
,0
2
Si iniciamos la resolución del problema relajado del planteado, tendremos
que resolver:
min 2 3
. : 2 7
2 5
0, 0
La tabla correspondiente es:
CORTES DE GOMORY: CASO ENTERO PURO
V. B. Cts.
1 2 1 0 0 7
2 0 0 1 0 5
2 3 0 0 1 0
V. B. Cts.
1/2 1 1/2 0 0 7/2
2 0 0 1 0 5
1/2 0 3/2 0 1 21/2
∈
es decir:
1 3 1
2 4 4
De la tabla anterior se obtiene
1 1 9
2 4 4
1 5
2 2
Resolviendo este sistema, y sustituyendo en la desigualdad anterior, se
obtiene:
2 7
Tendremos que resolver el problema:
min 2 3
. : 2 7
2 5
1 3 1
2 4 4
0, 0
CORTES DE GOMORY: CASO ENTERO PURO
La resolución de la correspondiente relajación nos lleva a la tabla:
V. B. Cts.
0 1 1/2 1/4 0 0 9/4
1 0 0 1/2 0 0 5/2
0 0 1/2 3/4 1 0 1/4
0 0 3/2 1/4 0 1 47/4
La aplicación del Método Simplex Dual indica que sale de la base y entra
. Obtenemos:
V. B. Cts.
0 1 2/3 0 1/3 0 7/3
1 0 1/3 0 2/3 0 7/3
0 0 2/3 1 4/3 0 1/3
0 0 4/3 0 1/3 1 35/3
La solución óptima de esta tabla no es entera. Se genera la desigualdad
válida:
2 2 1
3 3 3
cuya expresión equivalente es 2 2 9.
CORTES DE GOMORY: CASO ENTERO PURO
V. B. Cts.
0 1 2/3 0 1/3 0 0 7/3
1 0 1/3 0 2/3 0 0 7/3
0 0 2/3 1 4/3 0 0 1/3
0 0 2/3 0 2/3 1 0 1/3
0 0 4/3 0 1/3 0 1 35/3
Si resolvemos:
V. B. Cts.
0 1 1 0 0 1/2 0 5/2
1 0 1 0 0 1 0 2
0 0 2 1 0 2 0 1
0 0 1 0 1 3/2 0 1/2
0 0 1 0 0 1/2 1 23/2
V. B. Cts.
0 1 1 0 0 1/2 0 0 5/2
1 0 1 0 0 1 0 0 2
0 0 2 1 0 2 0 0 1
0 0 1 0 1 3/2 0 0 1/2
0 0 0 0 0 1/2 1 0 1/2
0 0 1 0 0 1/2 0 1 23/2
V. B. Cts.
0 1 1 0 0 0 0 0 3
1 0 1 0 0 0 2 0 1
0 0 2 1 0 0 4 0 3
0 0 1 0 1 0 3 0 2
0 0 0 0 0 1 2 0 1
0 0 1 0 0 0 1 1 11
REGIONES DESPUÉS DE LOS CORTES
7 7 5
0, 7 7 0, 2,
2 , 2 2
3 3
5 5
(I) ,2 ,2
2 2
(II)
5 5
,0 ,0
2 2
1,3
5 3
,
(III) 2 2
5
,0
2
CORTES DE GOMORY: CASO ENTERO PURO
Si, en el problema que acabamos de resolver, si se usa para generar el corte
la variable con mayor valor fraccionario:
1 1
2 2
V. B. Cts.
0 1 1/2 1/4 0 0 9/4
1 0 0 1/2 0 0 5/2
0 0 0 1/2 1 0 1/2
0 0 3/2 1/4 0 1 47/4
La aplicación del Método Simplex Dual indica que sale de la base y entra
. Obtenemos:
V. B. Cts.
0 1 1/2 0 1/2 0 5/2
1 0 0 0 1 0 2
0 0 0 1 2 0 1
0 0 3/2 0 1/2 1 23/2
V. B. Cts.
0 1 1/2 0 1/2 0 0 5/2
1 0 0 0 1 0 0 2
0 0 0 1 2 0 0 1
0 0 1/2 0 1/2 1 0 1/2
0 0 3/2 0 1/2 0 1 23/2
Si resolvemos:
V. B. Cts.
0 1 1 0 0 1 0 3
1 0 1 0 0 2 0 1
0 0 2 1 0 4 0 3
0 0 1 0 1 2 0 1
0 0 1 0 0 1 1 11
1,3
7 7
0, 5 0,
2 2, 2
2
2,2
(I) (II)
2,0 2,0
CORTES DE GOMORY: CASO ENTERO MIXTO
Sea el problema de Programación Entera:
min
. :
0
,∀ ∈
con ∅ ⊊ 1, … , . Sea ̅ solución óptima del problema relajado:
min
. :
0
Podemos suponer que ̅ es una solución básica. Supongamos que ̅ no
verifica las restricciones enteras; es decir, ∃ ∈ tal que ̅ no es entero.
En la tabla óptima del problema relajado se lee:
Sean, 0 y 0, , ∈ | 0 ,
∈ | 0 . Sustituyendo en la anterior ecuación:
∈ ∩ ∈
∈ ∩ ∈ ∈ ∩
CORTES DE GOMORY: CASO ENTERO MIXTO
Para cualquier solución que verifique las restricciones enteras, es entero.
Por tanto:
• 1, en cuyo caso:
1
∈ ∩ ∈
Es decir:
1;
1
∈ ∈
• 0 y por ello:
;
∈ ∩ ∈ ∈ ∩ ∈
Se propone la desigualdad:
1
∈ ∈ ∩ ∈
que no es verificada por ̅ pero que si se cumple para cualquier solución
entera.
Ahora también habrá que arbitrar reglas para elegir la variable básica sobre
la que generar el corte.
CORTES DE GOMORY: CASO ENTERO MIXTO
Ejemplo
Resolver el siguiente problema entero mixto:
min 2
. :3 2
2 4 3
0, 0
0,2
1 1
,
2 2
3
,0
2
CORTES DE GOMORY: CASO ENTERO MIXTO
Si iniciamos la resolución del problema relajado del planteado, tendremos
que resolver:
min 2
. :3 2
2 4 3
0, 0
La tabla correspondiente es:
V. B. Cts.
3 1 1 0 0 2
2 4 0 1 0 3
2 1 0 0 1 0
V. B. Cts.
5/2 0 1 1/4 0 5/4
1/2 1 0 1/4 0 3/4
3/2 0 0 1/4 1 3/4
CORTES DE GOMORY: CASO ENTERO MIXTO
La variable sale de la base y entra . Se obtiene:
V. B. Cts.
1 0 2/5 1/10 0 1/2
0 1 1/5 3/10 0 1/2
0 0 3/5 1/10 1 3/2
Esta tabla da una solución óptima no entera.
Elegimos, para generar un corte, la variable . La desigualdad válida será:
1
∈ ∈ ∩ ∈
es decir:
2 1 1
5 10 2
De la tabla anterior:
2 1 1
5 10 2
1 3 1
5 10 2
Resolviendo este sistema, y sustituyendo en la desigualdad anterior, se
obtiene:
7 4 8
CORTES DE GOMORY: CASO ENTERO MIXTO
Tendremos que resolver el problema:
min 2
. :3 2
2 4 3
2 1 1
5 10 2
0, 0
V. B. Cts.
1 0 2/5 1/10 0 0 1/2
0 1 1/5 3/10 0 0 1/2
0 0 2/5 1/10 1 0 1/2
0 0 3/5 1/10 0 1 3/2
V. B. Cts.
1 0 4/5 0 1 0 0
0 1 7/5 0 3 0 2
0 0 4 1 10 0 5
0 0 1/5 0 1 1 2
0,2
3
,0
2