Está en la página 1de 37

MATERIAL TEÓRICO

MATEMÁTICA APLICADA
2009

PROGRAMACIÓN
LINEAL
Matemática Aplicada Programación Lineal

Capítulo 1. INTRODUCCIÓN

1.1 DEFINICIONES
𝑖=𝑛
Minimizar/Maximizar 𝑖=1 𝑐𝑖 𝑥𝑖 .
𝑖=𝑛
Sujeto a: 𝑎 𝑥
𝑖=1 𝑖𝑗 𝑖 ≥ 𝑏𝑗
𝑖=𝑛
𝑖=1 𝑎𝑖𝑗 𝑥𝑖 ≤ 𝑏𝑗
.
𝑖=𝑛
𝑖=1𝑎𝑖𝑗 𝑥𝑖 = 𝑏𝑗
𝑥𝑖 ≥ 0

con 𝑖 = 1, … , 𝑛 𝑦 𝑗 = 1, … , 𝑚

𝑖=𝑛
 𝑖=1 𝑐𝑖 𝑥𝑖 es llamada FUNCIÓN OBJETIVO.
 𝑥𝑖 son llamadas VARIABLES DE DECISIÓN.
 𝑎𝑖𝑗 son llamados COEFICIENTES TECNOLÓGICOS.
 𝑐𝑖 son llamados COEFICIENTES DE COSTO.
 𝑏 = (𝑏1 , … , 𝑏𝑚 ) es llamada VECTOR DEL LADO DERECHO.
𝑖=𝑛
 𝑖=1 𝑎𝑖𝑗 𝑥𝑖 , 𝑐𝑜𝑛 𝑗 𝑑𝑎𝑑𝑜 es llamada j-ÉSIMA RESTRICCIÓN.
𝑖=𝑛
𝑖=1 𝑎𝑖𝑗 𝑥𝑖 ≥ 𝑏𝑗
𝑖=𝑛
𝑎𝑖𝑗 𝑥𝑖 ≤ 𝑏𝑗
 𝑥 ∈ ℝ𝑛 ; 𝑖=1 se llama REGIÓN FACTIBLE.
𝑖=𝑛
𝑖=1 𝑎𝑖𝑗 𝑥𝑖 = 𝑏𝑗
𝑥𝑖 ≥ 0

1.2 HIPÓTESIS O SUPOSICIONES DE LA PROGRAMACIÓN LINEAL


Dado un problema de programación lineal, se consideran las siguientes hipótesis o suposiciones:

𝑖=𝑛
Minimizar/Maximizar 𝑖=1 𝑐𝑖 𝑥𝑖 .
𝑖=𝑛
Sujeto a: 𝑎 𝑥
𝑖=1 𝑖𝑗 𝑖 ≥ 𝑏𝑗
𝑖=𝑛
𝑖=1 𝑎𝑖𝑗 𝑥𝑖 ≤ 𝑏𝑗
.
𝑖=𝑛
𝑖=1𝑎𝑖𝑗 𝑥𝑖 = 𝑏𝑗
𝑥𝑖 ≥ 0

con 𝑖 = 1, … , 𝑛 𝑦 𝑗 = 1, … , 𝑚

PROPORCIONALIDAD:
 La contribución de cada actividad al valor de la función objetivo es proporcional al nivel de actividad: 𝑐𝑖 𝑥𝑖
 La contribución de cada actividad al lado izquierdo de cada restricción funcional es proporcional al nivel
de actividad: 𝑎𝑖𝑗 𝑥𝑖 .

Esta suposición elimina cualquier exponente distinto de 1 para las variables de decisión 𝑥𝑖 , con 𝑖 = 1, … , 𝑛.

ADITIVIDAD: Cada función (tanto la función objetivo como las funciones de las restricciones) es la suma de las
contribuciones individuales de las actividades respectivas: 𝑖=𝑛
𝑖=1 𝑐𝑖 𝑥𝑖 y
𝑖=𝑛
𝑖=1 𝑎𝑖𝑗 𝑥𝑖 .

DIVISIBILIDAD: Las variables de decisión 𝑥𝑖 pueden tomar valores no enteros. (Las actividades se pueden
realizar a niveles fraccionarios.)

CERTIDUMBRE: Los valores asignados a cada parámetro 𝑐𝑖 , 𝑎𝑖𝑗 y 𝑏𝑗 , para todo 𝑖 = 1, … , 𝑛 𝑦 𝑗 = 1, … , 𝑚, son
constantes conocidas.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

1.3 FORMATOS DE UN PROBLEMA DE PROGRAMACIÓNLINEAL


FORMA ESTÁNDAR FORMA CANÓNICA

𝑖=𝑛 𝑖=𝑛
Minimizar/Maximizar 𝑖=1 𝑐𝑖 𝑥𝑖 . Minimizar/Maximizar 𝑖=1 𝑐𝑖 𝑥𝑖 .
𝑖=𝑛 𝑖=𝑛
Sujeto a: 𝑖=1 𝑎𝑖𝑗 𝑥𝑖 = 𝑏𝑗 . Sujeto a: 𝑖=1 𝑎𝑖𝑗 𝑥𝑖 ≥ 𝑏𝑗 .
𝑥𝑖 ≥ 0 𝑥𝑖 ≥ 0
con 𝑖 = 1, … , 𝑛 𝑦 𝑗 = 1, … , 𝑚 con 𝑖 = 1, … , 𝑛 𝑦 𝑗 = 1, … , 𝑚

Minimizar/Maximizar 𝑐𝑥. Minimizar/Maximizar 𝑐𝑥.


Sujeto a: 𝐴𝑥 = 𝑏 Sujeto a: 𝐴𝑥 ≥ 𝑏
. .
𝑥≥0 𝑥≥0

1.4 TRANSFORMACIÓN DE UN PROBLEMA EN SU FORMA ESTANDAR


Es muy sencillo transformar un problema de programación lineal en su forma estándar, por lo que toda la teoría
sobre programación lineal la basaremos en dicha forma. Para ello, veremos primero cómo transformar un
problema en su forma estándar.

1.4.1 Transformación de variables no restringidas en su signo

 𝑥𝑖 no restringida: 𝑥𝑖 = 𝑥′𝑖 − 𝑥′′𝑖 , con 𝑥′𝑖 , 𝑥′′𝑖 ≥ 0


 𝑥𝑖 ≥ 𝑘: 𝑥𝑖 − 𝑘 = 𝑥′𝑖 , con 𝑥′𝑖 ≥ 0. Es decir: 𝑥𝑖 = 𝑥′𝑖 + 𝑘 , con 𝑥′𝑖 ≥ 0
 𝑥𝑖 ≤ 𝑘: 𝑘 − 𝑥𝑖 = 𝑥′𝑖 , con 𝑥′𝑖 ≥ 0. Es decir: 𝑥𝑖 = 𝑘 − 𝑥′𝑖 , con 𝑥′𝑖 ≥ 0

1.4.2 RELACIÓN: Maximización – Minimización

Maximizar 𝑍 ⟺ Minimizar −𝑍

1.4.3 Pasaje de ≥ o ≤ a =

Considérese el problema de programación lineal:


Minimizar/Maximizar 𝑐𝑥
Sujeto a: 𝐴1 𝑥 ≤ 𝑏1
𝐴2 𝑥 ≥ 𝑏2
𝐴3 𝑥 = 𝑏3
𝑥≥0
Se introducen las VARIABLES DE HOLGURA (𝑕𝑗 ).
Siendo 𝑕𝑗 ≥ 0.
Si 𝑎1𝑗 𝑥1 + ⋯ + 𝑎𝑛𝑗 𝑥𝑛 ≤ 𝑏𝑗 ⟹ 𝑎1𝑗 𝑥1 + ⋯ + 𝑎𝑛𝑗 𝑥𝑛 + 𝑕𝑗 = 𝑏𝑗
Si 𝑎1𝑗 𝑥1 + ⋯ + 𝑎𝑛𝑗 𝑥𝑛 ≥ 𝑏𝑗 ⟹ 𝑎1𝑗 𝑥1 + ⋯ + 𝑎𝑛𝑗 𝑥𝑛 − 𝑕𝑗 = 𝑏𝑗

Luego:

Minimizar/Maximizar 𝑐𝑥
Sujeto a: 𝐴1 𝑥 + 𝑕1 = 𝑏1 Minimizar/Maximizar 𝑐𝑥
𝐴2 𝑥 − 𝑕2 = 𝑏2 obteniendo entonces un problema de la forma Sujeto a: 𝐴𝑥 = 𝑏 . .
𝐴3 𝑥 = 𝑏3 𝑥≥0
𝑥, 𝑕1 , 𝑕2 ≥ 0

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Capítulo 2 VECTORES, ESPACIOS EUCÍDEOS Y MATRICES

2.1 Vectores
VECTOR CERO O VECTOR NULO: Vector cuyas componentes son todas 0. (Se anota como 0.)
VECTOR CANÓNICO 𝒆𝒊 : Vector cuyas componentes son todas 0 salvo la i-ésima componente que es 1.
VECTOR SUMA: Vector cuyas componentes son todas 1. (Se anota como 1.)

𝑖=𝑛
VECTORES LINEALMENTE INDEPENDIENTES: Una colección de vectores 𝑎1 , … 𝑎𝑛 es LI sii 𝑖=1 𝜆𝑖 𝑎𝑖 = 0 ⟹
𝜆𝑖 = 0 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑖 = 1, … , 𝑛.

BASE: Una colección de vectores es base de un EV sii es un conjunto generador y LI.

Observación: Dada una base de ℝ𝑛 , todo vector b de ℝ𝑛 tiene una representación única como combinación lineal
de los vectores de la base.

Observación: (SUSTITUCIÓN DE UN VECTOR DE LA BASE POR OTRO VECTOR)


𝑏
Sea 𝑎1 , … , 𝑎𝑗 −1 , 𝑎𝑗 , 𝑎𝑗 +1 , … 𝑎𝑛 ℝ𝑛 . Sea 𝑏 𝑢𝑛 𝑣𝑒𝑐𝑡𝑜𝑟 𝑑𝑒 ℝ𝑛 . Entonces:
𝑏
𝑎1 , … , 𝑎𝑗 −1 , 𝑏, 𝑎𝑗 +1 , … 𝑎𝑛 ℝ𝑛 ⟺ La representación de b como combinación lineal: 𝑏 = 𝜆1 𝑎1 + ⋯ + 𝜆𝑗 𝑎𝑗 +
⋯ + 𝜆𝑛 𝑎𝑛 es tal que 𝜆𝑗 ≠ 0

2.2 Matrices
Notación: Una matriz A es 𝑚 × 𝑛 sii A tiene m filas y n columnas. (𝑓𝑖𝑙𝑎𝑠 × 𝑐𝑜𝑙𝑢𝑚𝑛𝑎𝑠)

2.2.1 Multiplicación de matrices de matrices

Observación: Las condiciones para poder realizar la multiplicación de dos matrices A y B es que la cantidad de
columnas de A sea igual a la cantidad de filas de B.

2.2.2 Transposición de matrices

MATRIZ TRANSPUESTA: Dada una matriz 𝐴𝑚 ×𝑛 , su transpuesta es otra matriz 𝐴𝑡 𝑛×𝑚 en donde cada columna
de 𝐴𝑡 es cada fila de A.

Propiedades:
 𝐴𝑡 𝑡 = 𝐴
𝑡
 Si 𝐴𝑚 ×𝑛 y 𝐵𝑚 ×𝑛 : 𝐴 + 𝐵 = 𝐴𝑡 + 𝐵𝑡 y Si 𝐴𝑚 ×𝑛 y 𝐵𝑛 ×𝑕 : 𝐴𝐵 𝑡 = 𝐵 𝑡 𝐴𝑡

2.2.3 Operaciones elementales de matrices

OPERACIONES ELEMENTALES DE FILAS: Dada una matriz 𝐴𝑚×𝑛 llamamos operaciones elementales de las
𝑓1
filas de 𝐴 = ⋮ a cualquiera de las siguientes operaciones:
𝑓𝑚
1. Se intercambian las filas 𝑓𝑖 y 𝑓𝑗 .
2. La fila 𝑖 se multiplica por un escalar 𝑘 ≠ 0. (𝑓𝑖 se reemplaza por: 𝑘. 𝑓𝑖 )
3. La fila 𝑖 se reemplaza por la fila 𝑖 +𝑘 veces la fila 𝑗. (𝑓𝑖 se reemplaza por: 𝑓𝑖 + 𝑘. 𝑓𝑗 )

OPERACIONES ELEMENTALES DE COLUMNAS: Dada una matriz 𝐴𝑚 ×𝑛 llamamos operaciones elementales


de las columnas de 𝐴 = 𝑐1 … 𝑐𝑛 a cualquiera de las siguientes operaciones:
1. Se intercambian las columnas 𝑐𝑖 y 𝑐𝑗 .

I.P.A. - 2009
Matemática Aplicada Programación Lineal

2. La columna 𝑖 se multiplica por un escalar 𝑘 ≠ 0. (𝑐𝑖 𝑖 se reemplaza por: 𝑘. 𝑐𝑖 )


3. La columna 𝑖 se reemplaza por la columna 𝑖 +𝑘 veces la columna 𝑗. (𝑐𝑖 se reemplaza por: 𝑐𝑖 + 𝑘. 𝑐𝑗 )

2.2.3.1 Solución de sistemas de ecuaciones lineales mediante operaciones elementales de matrices.

Considérese un sistema 𝐴𝑥 = 𝑏 con 𝐴𝑚 ×𝑛 (n incógnitas y m ecuaciones) y b un vector 𝑑𝑒 ℝ𝑚 .

Observación: 𝐴𝑥 = 𝑏 ⟺ 𝐴′𝑥 = 𝑏′ , en donde (𝐴′ , 𝑏 ′ ) se obtiene de (𝐴, 𝑏) mediante un número finito de


operaciones elementales de filas.

2.2.4 Inversión de matrices

MATRIZ INVERSA: Dada una matriz 𝐴𝑛×𝑛 . La matriz 𝐵𝑛 ×𝑛 es la matriz inversa de A sii 𝐴𝐵 = 𝐵𝐴 = 𝐼.

Observación: En caso de existir, la matriz inversa es única.

Se dice que una matriz es NO SINGULAR si tiene inversa. En caso contrario se dice que es SINGULAR.

Observación: 𝐴𝑛 ×𝑛 𝑒𝑠 𝑛𝑜 𝑠𝑖𝑛𝑔𝑢𝑙𝑎𝑟 ⟺ las filas de A son LI o las columnas de A son LI.

Propiedades:
 A es no singular ⟹ 𝐴𝑡 𝑒𝑠 𝑛𝑜 𝑠𝑖𝑛𝑔𝑢𝑙𝑎𝑟 𝑦 𝐴𝑡 −1 = 𝐴−1 𝑡
−1
 Si 𝐴𝑛×𝑛 y 𝐵𝑛 ×𝑛 son matrices no singulares⟹ 𝐴𝐵 𝑒𝑠 𝑛𝑜 𝑠𝑖𝑛𝑔𝑢𝑙𝑎𝑟 𝑦 𝐴𝐵 = 𝐵−1 𝐴−1

2.2.5 Determinante de matrices

DETERMINANTE DE UNA MATRIZ: Dada una matriz 𝐴𝑛 ×𝑛 , llamamos determinante de A al número real
det 𝐴 = 𝑖=𝑛 𝑖=1 𝑎𝑖𝑗 . −1
𝑖+1 . det(𝐴 ).
𝑖𝑗
donde j es un número fijo de 1 a n; y 𝐴𝑖𝑗 es una sub-matriz de A obtenida al eliminar la 𝑗-ésima columna y la i-
ésima fila.

𝑎 𝑏
Observación: det(𝐴2×2 ) = det = 𝑎𝑑 − 𝑏𝑐 .
𝑐 𝑑

Propiedades:
 det 𝐴 = det(𝐴𝑡 )
 Si B es la matriz que se obtiene al realizar una operación elemental 1: det 𝐵 = −det(𝐴)
 Si B es la matriz que se obtiene al realizar una operación elemental 2: det 𝐵 = 𝑘. det(𝐴)
 Si B es la matriz que se obtiene al realizar una operación elemental 3: det 𝐵 = det(𝐴)
 Si 𝐴𝑛×𝑛 y 𝐵𝑛 ×𝑛 :det 𝐴𝐵 = det 𝐴 . det(𝐵)
 det(𝐴) ≠ 0 ⟺ 𝐴 𝑒𝑠 𝑛𝑜 𝑠𝑖𝑛𝑔𝑢𝑙𝑎𝑟.

2.2.6 Rango de matrices

RANGO POR FILA DE UNA MATRIZ: Dada una matriz 𝐴𝑚 ×𝑛 , llamamos rango por fila de A a la cantidad de
filas LI que tiene A.

RANGO POR COLUMNA DE UNA MATRIZ: Dada una matriz 𝐴𝑚 ×𝑛 , llamamos rango por columna de A a la
cantidad de columnas LI que tiene A.

Observación: Dada una matriz 𝐴𝑚×𝑛 . 𝐸𝑛𝑡𝑜𝑛𝑐𝑒𝑠: 𝑅𝑎𝑛𝑔𝑜 𝑝𝑜𝑟 𝑓𝑖𝑙𝑎 𝑑𝑒 𝐴 = 𝑅𝑎𝑛𝑔𝑜 𝑝𝑜𝑟 𝑐𝑜𝑙𝑢𝑚𝑛𝑎 𝑑𝑒 𝐴.

En virtud de la observación anterior, simplemente hablaremos de rango de A.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Capítulo 3. CONJUNTOS CONVEXOS Y SISTEMAS DE ECUACIONES


CONJUNTO CONVEXO: Un conjunto 𝑋 ⊂ ℝ𝑛 es convexo ⟺ ∀𝑥, 𝑦 ∈ 𝑋, ∀𝜆 ∈ 0,1 , 𝜆𝑥 + 1 − 𝜆 𝑦 ∈ 𝑋.

COMBINACIÓN CONVEXA: En ℝ𝑛 , cualquier punto de la forma 𝜆𝑥 + 1 − 𝜆 𝑦 , con 𝜆 ∈ 0,1 , es una


combinación convexa de 𝑥 e 𝑦.

COMBINACIÓN CONVEXA ESTRICTA: En ℝ𝑛 , cualquier punto de la forma 𝜆𝑥 + 1 − 𝜆 𝑦 ,con 𝜆 ∈ 0,1 , es una


combinación convexa estricta de 𝑥 e 𝑦.

3.1 PUNTOS EXTREMOS Y DIRECCIONES EXTREMAS


PUNTO EXTREMO: Sea 𝑋 ⊂ ℝ𝑛 un conjunto convexo. 𝑥 ∈ 𝑋 es un punto extremo de 𝑋 ⟺ 𝑥 no se puede
escribir como combinación convexa estricta de cualesquiera otros dos puntos de 𝑋.

RAYO: Dado un punto 𝑥0 ∈ ℝ𝑛 y 𝑑 un vector de ℝ𝑛 , el rayo de VÉRTICE 𝑥0 y DIRECCIÓN 𝑑 es el conjunto


𝑟𝑥 0 ,𝑑 = 𝑥0 + 𝜆𝑑 ; 𝜆 ≥ 0 .

DIRECCIÓN DE UN CONJUNTO: Sea 𝑋 ⊂ ℝ𝑛 un conjunto convexo. Un vector 𝑑 de ℝ𝑛 es una dirección de X ⟺


𝑑 ≠ 0 y ∀𝑥0 ∈ 𝑋, el rayo 𝑟𝑥 0 ,𝑑 ⊂ 𝑋.

Observación: Dado 𝑋 = 𝑥: 𝐴𝑥 = 𝑏 𝑦 𝑥 ≥ 0 . Entonces: 𝑑 ≠ 0 es una dirección de X ⟺ 𝑑 ≥ 0 𝑦 𝐴𝑑 = 0


Observación: Dado 𝑋 = 𝑥: 𝐴𝑥 ≥ 𝑏 𝑦 𝑥 ≥ 0 . Entonces: 𝑑 ≠ 0 es una dirección de X ⟺ 𝑑 ≥ 0 𝑦 𝐴𝑑 ≥ 0

DIRECCIÓN EXTREMA DE UN CONJUNTO: Sea 𝑋 ⊂ ℝ𝑛 un conjunto convexo. Un vector 𝑑 de ℝ𝑛 es una


dirección extrema de X ⟺ d no puede representarse como una combinación lineal positiva de cualesquiera
otras dos direcciones de X.

CONJUNTO POLIÉDRICO: Un conjunto es poliédrico sii es la intersección de un número finito de sub-espacios.

Lema:
Se 𝑋 = 𝑥: 𝐴𝑥 = 𝑏 𝑦 𝑥 ≥ 0 un conjunto poliédrico no vacío. Entonces:

a) X tiene una cantidad finita de puntos extremos.


b) Si X es acotado, el conjunto de direcciones extremas es vacío.
c) Si X no es acotado, X tiene un número finito de direcciones extremas.

Teorema: (REPRESENTACIÓN)

Sea 𝑋 = 𝑥: 𝐴𝑥 = 𝑏 𝑦 𝑥 ≥ 0 un conjunto poliédrico no vacío. Sea 𝑥1 , … , 𝑥𝑛 el conjunto de puntos extremos de X.


Si X no es acotado, sea 𝑑1 , … , 𝑑𝑚 el conjunto de direcciones extremas de X. Entonces:

𝑥 = 𝑖=𝑛
𝑖=1 𝜆𝑖 𝑥𝑖
a) X acotado: 𝑥 ∈ 𝑋 ⟺ ∃𝜆1 , … , 𝜆𝑛 ≥ 0 𝑡𝑎𝑙 𝑞𝑢𝑒
𝜆1 + ⋯ + 𝜆𝑛 = 1

𝑖=𝑛 𝑗 =𝑚
𝑥= 𝑖=1𝜆𝑖 𝑥𝑖 + 𝑗 =1 𝜇𝑗 𝑑𝑗
b) X no acotado: 𝑥 ∈ 𝑋 ⟺ ∃𝜆1 , … , 𝜆𝑛 ≥ 0 , ∃𝜇1 , … , 𝜇𝑚 ≥ 0 𝑡𝑎𝑙 𝑞𝑢𝑒
𝜆1 + ⋯ + 𝜆𝑛 = 1

I.P.A. - 2009
Matemática Aplicada Programación Lineal

3.2 TEOREMA DE FARKAS

Teorema: (FARKAS)
Dada una matriz 𝐴𝑚 ×𝑛 y un vector 𝑐 ∈ ℝ𝑛 . Entonces: uno, y sólo uno, de los siguientes sistemas tiene solución:

SISTEMA 1: 𝐴𝑥 ≤ 0 y 𝑐𝑥 > 0
SISTEMA 2: 𝑤𝐴 = 𝑐 y 𝑤 ≥ 0

Corolario:
Dada una matriz 𝐴𝑚 ×𝑛 y un vector 𝑐 ∈ ℝ𝑛 . Entonces: uno, y sólo uno, de los siguientes sistemas tiene solución:

SISTEMA 1: 𝐴𝑥 ≤ 0 , 𝑐𝑥 > 0 y 𝑥 ≤ 0
SISTEMA 2: 𝑤𝐴 ≤ 𝑐 y 𝑤 ≥ 0

3.2.1 Interpretación geométrica del teorema de Farkas

Recordemos que dados dos vectores:


1. 𝑢. 𝑣 > 0 ⟹ ∢ 𝑢, 𝑣 < 90°
2. 𝑢. 𝑣 = 0 ⟹ ∢ 𝑢, 𝑣 = 90°
3. 𝑢. 𝑣 < 0 ⟹ ∢ 𝑢, 𝑣 > 90°
𝑢 .𝑣
Esto viene de que 𝑢. 𝑣 = 𝑢, 𝑣 y si ∢ 𝑢, 𝑣 = 𝛼 ∶ 𝑐𝑜𝑠𝛼 =
𝑢 . 𝑣

El sistema 1 tiene una solución. El sistema 2 tiene una solución.

Porque la intersección del semi-espacio con el cono Porque el vector c pertenece al cono generado por
es distinta de vacío. los renglones de la matriz.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

3.3 SISTEMAS DE ECUACIONES LINEALES SIMULTÁNEAS


Considérese el sistema 𝐴𝑥 = 𝑏 con 𝐴𝑚 ×𝑛 y b un vector 𝑑𝑒 ℝ𝑚 con 𝑟𝑎𝑛𝑔𝑜 𝐴 = 𝑟𝑎𝑛𝑔𝑜 𝐴, 𝑏 = 𝑚 1.
Podemos reordenas las columnas de A para que quede expresada como (𝐵, 𝑁); donde 𝐵𝑚 ×𝑚 es invertible y
𝑥𝐵
𝑁𝑚 × 𝑛−𝑚 . Reordenamos del mismo modo los elementos de 𝑥 = 𝑥 .
𝑁

 A la matriz 𝐵 se le llama MATRIZ BÁSICA o BASE.


 A la matriz 𝑁 se le llama MATRIZ NO BÁSICA.
 Las variable de 𝑥𝐵 se llaman VARIALBES BÁSICA.
 Las variable de 𝑥𝑁 se llaman VARIALBES NO BÁSICA.
 Al vector 𝑥 tal que 𝑥𝐵 = 𝐵−1 𝑏 y 𝑥𝑁 = 0 se le llama SOLUCIÓN BÁSICA del sistema.

→ Si además: 𝑥𝐵 = 𝐵 −1 𝑏 ≥ 0, 𝑥 es una SOLUCIÓN BÁSICA FACTIBLE del sistema.

→ Si además:
a) 𝑥𝐵 = 𝐵−1 𝑏 > 0, 𝑥 es una SBF NO DEGENERADA del sistema.
b) 𝑥𝐵 = 𝐵−1 𝑏 ≯ 0 (al menos una componente es 0), 𝑥 es una SBF DEGENERADA del sistema.

Observación: Considérese el sistema 𝐴𝑥 = 𝑏 con 𝐴𝑚 ×𝑛 y b un vector 𝑑𝑒 ℝ𝑚 con 𝑟𝑎𝑛𝑔𝑜 𝐴 = 𝑟𝑎𝑛𝑔𝑜 𝐴, 𝑏 = 𝑚


𝑛!
⟹ la cantidad de SBF es ≤ 𝐶𝑚𝑛 = 𝑚 ! 𝑛−𝑚 !

𝑛 es la cantidad de combinaciones de columnas distintas de la matriz A que podemos obtener para


Dem.: 𝐶𝑚
formar la matriz base B.

Nota: Nótese que el sistema debe estar con restricciones en igual, por lo que ya está completo con las variables
de holgura.

Teorema: (RELACIÓN: PUNTOS EXTREMOS - OPTIMALIDAD)


Si un problema de programación lineal tiene una solución óptima finita, esta se alcanza en un punto extremo de la
región factible.

Dem.:

Considérese el siguiente problema de programación lineal:

Minimizar 𝑐𝑥 .
Sujeto a: 𝐴𝑥 = 𝑏
𝑥≥0

Sabemos del lema del teorema de representación que la región factible 𝑋 = 𝑥 ∈ ℝ𝑛 / 𝐴𝑥 = 𝑏 (no vacía) tiene
una cantidad finita de puntos extremos y (posiblemente) una cantidad finita de direcciones extremas. Sea
𝑥1 , … , 𝑥𝑘 el conjunto de los puntos extremos, y sea 𝑑1 , … , 𝑑𝑙 el conjunto de as direcciones extremas.

Sabemos además, del teorema de representación, que


𝑖=𝑘 𝑗 =𝑙
𝑥= 𝜆𝑖 𝑥𝑖 + 𝜇𝑗 𝑑𝑗
𝑥 ∈ 𝑋 ⟺ ∃𝜆1 , … , 𝜆𝑘 ≥ 0 , ∃𝜇1 , … , 𝜇𝑙 ≥ 0 𝑡𝑎𝑙 𝑞𝑢𝑒 𝑖=1 𝑗 =1
𝜆1 + ⋯ + 𝜆𝑘 = 1

𝐴1 𝑏1
1 Si 𝑟𝑎𝑛𝑔𝑜(𝐴) < 𝑚, aplicando operaciones elementales re-expresamos 𝐴, 𝑏 = , de modo que 𝐴1 tenga tantas filas
𝐴2 𝑏2
como 𝑟𝑎𝑛𝑔𝑜(𝐴). como las filas 𝐴2 , 𝑏2 son combinación lineal de 𝐴1 , 𝑏1 , entonces las eliminamos por ser redundantes.
I.P.A. - 2009
Matemática Aplicada Programación Lineal

Hemos transformado nuestro problema. Nos interesa ahora encontrar las variables 𝜆1 , … , 𝜆𝑘 , 𝜇1 , … , 𝜇𝑙 que
optimicen el siguiente problema lineal.

𝑖=𝑘 𝑗 =𝑙
Minimizar 𝑐 𝑖=1 𝜆𝑖 𝑥𝑖 + 𝑗 =1 𝜇𝑗 𝑑𝑗 .
Sujeto a: 𝜆1 + ⋯ + 𝜆𝑘 = 1
𝜆1 , … , 𝜆𝑘 , 𝜇1 , … , 𝜇𝑙 ≥ 0

Lo que es lo mismo:
𝑖=𝑘 𝑗 =𝑙
Minimizar 𝑖=1 𝜆𝑖 𝑐𝑥𝑖 + 𝑗 =1 𝜇𝑗 𝑐𝑑𝑗 .
Sujeto a: 𝜆1 + ⋯ + 𝜆𝑘 = 1
𝜆1 , … , 𝜆𝑘 , 𝜇1 , … , 𝜇𝑙 ≥ 0

Comenzaremos determinando las variables 𝜇1 , … , 𝜇𝑙 y luego las 𝜆1 , … , 𝜆𝑘 .

𝑗 =𝑙
Obsérvese el segundo sumando de la función objetivo: 𝑗 =1 𝜇𝑗 𝑐𝑑𝑗 .
Como queremos minimizar la función objetivo, si podemos lograr que alguno de los términos sea tan “negativo”
como queramos, la solución estaría no acotada. Y como podemos tomar los valores de 𝜇𝑗 tan mayores como
deseemos, bastará con encontrar algún término 𝑐𝑑𝑗 < 0, para que al multiplicarlo con su correspondiente 𝜇𝑗
arbitrariamente grande, podamos reducir la imagen de la función objetivo a gusto. Así que.

Caso 1: Existe 𝒋𝟎 ∈ 𝟏, … , 𝒍 tal que 𝒄𝒅𝒋 𝟎 < 0


Entonces se puede tomar 𝜇𝑗 0 arbitrariamente grande, por lo que el valor óptimo estaría no acotado.

Caso 2: ∀𝒋 ∈ 𝟏, … , 𝒍 tal que 𝒄𝒅𝒋 ≥ 𝟎


En este caso, como ninguno de los 𝑐𝑑𝑗 es negativo, y los 𝜇𝑗 tampoco, para minimizar el aporte que estos
sumandos hacen a la imagen de la función objetivo bastará tomar 𝜇1 = ⋯ = 𝜇𝑙 = 0.

Tendremos ahora que elegir convenientemente los valores de las variables 𝜆1 , … , 𝜆𝑘 .


𝑗 =𝑙
Como hemos considerado 𝜇1 = ⋯ = 𝜇𝑙 = 0 ⟹ 𝑗 =1 𝜇𝑗 𝑐𝑑𝑗 = 0 por lo que la función objetivo se ha reducido
𝑖=𝑘
solamente al primer sumando: 𝑖=1 𝜆𝑖 𝑐𝑥𝑖 .

Teniendo en cuenta que 𝜆1 + ⋯ + 𝜆𝑘 = 1 y que 𝜆1 , … , 𝜆𝑘 ≥ 0, podemos entender que tenemos una unidad para
repartir entre los términos 𝑐𝑥𝑖 . Como nuestro objetivo es minimizar la suma total, le asignamos todo el peso a
aquel término que sea el mínimo y cero a todos los demás. Es decir: Sea 𝑖0 ∈ 1, … , 𝑘 tal que 𝑐𝑥𝑖 0 =
𝑚𝑖𝑛 𝑐𝑥𝑖 / 𝑖 = 1, … , 𝑘 , tomamos 𝜆𝑖0 = 1 y 𝜆𝑖 = 0, ∀𝑖 = 1, … , 𝑘, 𝑖 ≠ 𝑖0 . Obteniendo así una solución finita dada
𝑖=𝑘 𝑗 =𝑙
en 𝑥 = 𝑖=1 𝜆𝑖 𝑥𝑖 + 𝑗 =1 𝜇𝑗 𝑑𝑗 donde 𝜇1 = ⋯ = 𝜇𝑙 = 0 y 𝜆𝑖0 = 1 y 𝜆𝑖 = 0, ∀𝑖 = 1, … , 𝑘, 𝑖 ≠ 𝑖0 . Luego, 𝑥 = 𝑥𝑖0 .

En virtud del caso 1 y el caso 2, podemos afirmar que la solución del programa lineal es finita si, y sólo si,
𝑐𝑑𝑗 ≥ 0, ∀𝑗 ∈ 1, … , 𝑙 .

Además, en caso de tener una solución óptima, bastará rastrearla solamente por los puntos extremos de la
región factible, y no en todos los infinitos puntos de la región factible.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Teorema: (CORRESPONDENCIA: PUNTOS EXTREMOS - SBF)


Considérese el problema de programación lineal:
Minimizar 𝑐𝑥.
Sujeto a: 𝐴𝑥 = 𝑏
𝑥≥0

con 𝐴𝑚 ×𝑛 y b un vector 𝑑𝑒 ℝ𝑚 con 𝑟𝑎𝑛𝑔𝑜 𝐴 = 𝑚. Entonces:

𝑥 es un punto extremo de la región factible ⟺ 𝑥 es SBF.

Dem.: Considérese el siguiente problema de programación lineal:

Minimizar 𝑐𝑥 .
Sujeto a: 𝐴𝑥 = 𝑏
𝑥≥0
DIRECTO:

Sea 𝑥 = 𝑥1 , … , 𝑥𝑛 un punto extremo de la región factible.

Sin pérdida de generalidad, reordenemos las componentes de 𝑥 de forma de que las primeras componentes

sean positivas y las últimas componentes sean aquellas que son cero. 𝑥 = 𝑥1 , … , 𝑥𝑝 , 𝑥𝑝 +1 , … , 𝑥𝑛 .
>0 =0

Buscaremos probar que las columnas de A correspondientes a las primeras p componentes de 𝑥 son LI.
Demostrémoslo por absurdo.

Claim: 𝒂𝟏 , . . , 𝒂𝒑 es LI

𝑖=𝑝
Supongamos que no son LI. Entonces ∃𝛾1 , … , 𝛾𝑝 ∈ ℝ tales que 𝑖=1 𝛾𝑖 𝑎𝑖 = 0, pero existe algún 𝛾𝑖 ≠ 0. (1)

Definimos 𝑥′ y 𝑥′′ dos puntos tales que.


𝑥 ′ 𝑖 = 𝑥𝑖 + 𝜆𝛾𝑖 , ∀𝑖 = 1, … , 𝑝
𝑥 ′ tal que
𝑥 ′ 𝑖 = 0, ∀𝑖 = 𝑝 + 1, … , 𝑛

𝑥′′ 𝑖 = 𝑥𝑖 − 𝜆𝛾𝑖 , ∀𝑖 = 1, … , 𝑝
𝑥 ′′ tal que
𝑥′′ 𝑖 = 0, ∀𝑖 = 𝑝 + 1, … , 𝑛

𝑥𝑖
Para que ninguna de las componentes sea negativas, elegimos 𝜆 tal que 0 < 𝜆 < 𝑚𝑖𝑛 , 𝛾𝑖 ≠ 0, 𝑖 = 1, … , 𝑝 . 2
𝛾𝑖
Por (1) sabemos que existe algún 𝛾𝑖 ≠ 0, por lo que 𝑥 ′ ≠ 𝑥′′.

Sub-Claim 1: 𝒙′ y 𝒙′′ pertenecen a la región factible

Dem:
𝑖=𝑛 𝑖=𝑝 𝑖=𝑛 𝑖=𝑝 𝑖=𝑝
𝐴𝑥 ′ = 𝑖=1 𝑎𝑖 . 𝑥 ′ 𝑖 = 𝑖=1 𝑎𝑖 . 𝑥 ′ 𝑖 + 𝑖=𝑝+1 𝑎𝑖 . 𝑥′ 𝑖 = 𝑖=1 𝑎𝑖 . 𝑥′ 𝑖 = 𝑖=1 𝑎𝑖 . 𝑥𝑖 + 𝜆𝛾𝑖 =.
=0
=0
𝑖=𝑝 𝑖=𝑝 𝑖=𝑝 𝑖=𝑝
= 𝑖=1 𝑎𝑖 . 𝑥𝑖 + 𝑖=1 𝑎𝑖 . 𝜆𝛾𝑖 = 𝑏 + 𝑖=1 𝑎𝑖 . 𝜆𝛾𝑖 = 𝑏 + 𝜆 𝑖=1 𝑎𝑖 . 𝛾𝑖 = 𝑏.
=𝑏 =0
𝑖=𝑛 𝑖=𝑝 𝑖=𝑛 𝑖=𝑝 𝑖=𝑝
Analogamente: 𝐴𝑥 ′′ = 𝑖=1 𝑎𝑖 . 𝑥 ′′ 𝑖 = 𝑖=1 𝑎𝑖 . 𝑥 ′′ 𝑖 + ′′
𝑖=𝑝+1 𝑎𝑖 . 𝑥 𝑖 = 𝑖=1 𝑎𝑖 . 𝑥 ′′ 𝑖 = 𝑖=1 𝑎𝑖 . 𝑥𝑖 − 𝜆𝛾𝑖 =.
=0
=0

𝑥 ′ 𝑖 ≥ 0 ⟹ 𝑥𝑖 + 𝜆𝛾𝑖 ≥ 0 ⟹ 𝜆𝛾𝑖 ≥ −𝑥𝑖 𝑥𝑖


2
∀𝑖 = 1, … , 𝑝: ⟹ −𝑥𝑖 ≤ 𝜆𝛾𝑖 ≤ 𝑥𝑖 ⟹ 𝜆𝛾𝑖 ≤ 𝑥𝑖 𝑇𝑜𝑚𝑎𝑛𝑑𝑜 𝜆 𝛾𝑖 ≤ 𝑥𝑖 ⟹ 𝜆 ≤
𝑥 ′′ 𝑖 ≥ 0 ⟹ 𝑥𝑖 − 𝜆𝛾𝑖 ≥ 0 ⟹ 𝜆𝛾𝑖 ≤ 𝑥𝑖 𝛾𝑖
𝜆>0
I.P.A. - 2009
Matemática Aplicada Programación Lineal

𝑖=𝑝 𝑖=𝑝 𝑖=𝑝 𝑖=𝑝


= 𝑖=1 𝑎𝑖 . 𝑥𝑖 − 𝑖=1 𝑎𝑖 . 𝜆𝛾𝑖 = 𝑏 − 𝑖=1 𝑎𝑖 . 𝜆𝛾𝑖 = 𝑏 − 𝜆 𝑖=1 𝑎𝑖 . 𝛾𝑖 = 𝑏. 
=𝑏 =0

Sub-Claim 2: 𝒙 es combinación convexa de 𝒙′ y 𝒙′′.

Dem.:
1 ′ 1 1 1
∀𝑖 = 1, … , 𝑝: 𝑥 𝑖 + 𝑥 ′′ 𝑖 = 𝑥𝑖 + 𝜆𝛾𝑖 + 𝑥𝑖 − 𝜆𝛾𝑖 = 𝑥𝑖
2 2 2 2
1 ′ 1 ′′
∀𝑖 = 𝑝 + 1, … , 𝑛: 𝑥 + 𝑥 =0
2 𝑖 2 𝑖
1 1
Luego: 𝑥 ′ + 𝑥 ′′ = 𝑥, por lo que 𝑥 es combinación convexa de 𝑥’ y 𝑥’’. 
2 2

Luego, de claim 1 y claim 2: 𝑥 no es un punto extremo. (absurdo)

Por lo tanto, las columnas de A correspondientes a las primeras p componentes de 𝑥 son LI.

Ahora,

Caso 1: 𝒑 = 𝒎: Entonces 𝑥 es una SBF.

Caso 1: 𝒑 ≠ 𝒎: Entonces 𝑝 < 𝑚 (porque no puede ser mayor porque encontramos un conjunto de p elementos
LI en una matriz de rango m). Como el 𝑟𝑎𝑛𝑔𝑜 𝐴 = 𝑚, podemos agregar al conjunto 𝑎1 , … , 𝑎𝑝 𝑚 − 𝑝
columnas de A (de las 𝑎𝑝+1 a 𝑎𝑛 ), obteniendo así una base para la solución 𝑥, por lo que nuevamente 𝑥 es una
SBF.

RECÍPROCO:

Sea 𝑥 una SBF del sistema.

Para probar que 𝑥 es un punto extremo, intentaremos expresar a 𝑥 como una combinación convexa estricta de
otros dos puntos de la región factible, y veremos que necesariamente estos dos puntos deben coincidir con 𝑥.

𝑥𝐵 −1
Sea B la matriz básica correspondiente a la SBF 𝑥. Luego, 𝑥 = = 𝐵 .𝑏 .
0 0

Supongamos que 𝑥 no es punto extremo de la región factible, entonces 𝑥 se puede escribir como combinación
lineal convexa de otros dos puntos (𝑥’ y 𝑥’’) de la región factible. Entonces: 𝑥 = 𝜆𝑥 ′ + (1 − 𝜆)𝑥′′, con 𝜆 ∈ (0,1).
𝑥 𝑥′ 𝑥′′𝐵
Dicho de otro modo: 𝐵 = 𝜆 𝐵 + (1 − 𝜆) , con 𝜆 ∈ (0,1).
0 𝑥′𝑁 𝑥′′𝑁

Entonces: 0 = 𝜆. 𝑥′𝑁 + (1 − 𝜆). 𝑥′′𝑁 , donde, por ser 𝜆 ∈ (0,1), 𝜆 > 0 , 1 − 𝜆 > 0 , 𝑥′𝑁 ≥ 0 𝑦 𝑥′′𝑁 ≥ 0 (por ser
𝑥′ y 𝑥′′ puntos de la región factible). Luego, necesariamente 𝑥′𝑁 = 𝑥′′𝑁 = 0.

𝑥′𝐵 𝑥′′𝐵
Luego: 𝑥 ′ = y 𝑥 ′′ = .
0 0

Como 𝑥′ y 𝑥′′ son soluciones factibles, sabemos que 𝐴𝑥′ = 𝑏 . Trabajaremos sólo para 𝑥’, ya que 𝑥’’ es análogo.
𝐴𝑥′′ = 𝑏
𝑥′ −1
𝐴𝑥 ′ = 𝑏 ⟹ 𝐵, 𝑁 . 𝐵 = 𝑏 ⟹ 𝐵. 𝑥′𝐵 + 𝑁. 0 = 𝑏 ⟹ 𝐵. 𝑥′𝐵 = 𝑏 −1 𝑥′𝐵 = 𝐵 −1 . 𝑏. Entonces: 𝑥 ′ = 𝐵 . 𝑏 = 𝑥
0 ×𝐵 0

Luego: 𝑥 ′ = 𝑥 ′ = 𝑥, por lo que 𝑥 no es combinación convexa estricta de otros dos puntos de la región factible.
(absurdo con suposición)
Luego, 𝑥 es punto extremo.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Teorema: (EXISTENCIA DE SBF)


Todo conjunto poliédrico 𝑋 = 𝑥: 𝐴𝑥 = 𝑏 𝑦 𝑥 ≥ 0 no vacío tiene al menos un punto extremo.

con 𝐴𝑚 ×𝑛 y b un vector 𝑑𝑒 ℝ𝑚 con 𝑟𝑎𝑛𝑔𝑜 𝐴 = 𝑚.

Dem.:

Como X es no vacío, tomemos 𝑥 un punto cualquiera del conjunto poliédrico 𝑋.

Sin pérdida de generalidad, reordenemos las componentes de 𝑥 de forma de que las primeras componentes

sean positivas y las últimas componentes sean aquellas que son cero. 𝑥 = 𝑥1 , … , 𝑥𝑝 , 𝑥𝑝 +1 , … , 𝑥𝑛 .
>0 =0

Caso 1: 𝒂𝟏 , . . , 𝒂𝒑 𝐞𝐬 𝐋𝐈
Entonces 𝑥 es un SBF del sistema. Esto se cumple porque la matriz básica estará formada por las columnas
a1 , . . , ap , cuyas variables asociadas son positivas; y todas las demás columnas están asociadas a variables que
valen 0.

Luego, por teorema anterior, si 𝑥 es SBF, 𝑥 es un punto extremo.

Caso 2: 𝒂𝟏 , . . , 𝒂𝒑 es LD
𝑖=𝑝
Entonces ∃𝛾1 , … , 𝛾𝑝 ∈ ℝ tales que 𝑖=1 𝛾𝑖 𝑎𝑖 = 0, pero existe algún 𝛾𝑖 > 0. (1)

Definimos 𝑥′ tal que.


𝑥 ′ 𝑖 = 𝑥𝑖 − 𝜆𝛾𝑖 , ∀𝑖 = 1, … , 𝑝
𝑥 ′ tal que
𝑥 ′ 𝑖 = 0, ∀𝑖 = 𝑝 + 1, … , 𝑛

𝑥𝑖 𝑥𝑘 3
Para que ninguna de las componentes sea negativas, elegimos 𝜆 tal que 𝜆 = 𝑚𝑖𝑛 ,𝛾 > 0, 𝑖 = 1, … , 𝑝 = .
𝛾𝑖 𝑖 𝛾𝑘

Claim 1: 𝒙′ pertenece a la región factible

Dem:
𝑖=𝑛 𝑖=𝑝 𝑖=𝑛 𝑖=𝑝 𝑖=𝑝
𝐴𝑥 ′ = 𝑖=1 𝑎𝑖 . 𝑥 ′ 𝑖 = 𝑖=1 𝑎𝑖 . 𝑥 ′ 𝑖 + 𝑖=𝑝+1 𝑎𝑖 . 𝑥′ 𝑖 = 𝑖=1 𝑎𝑖 . 𝑥′ 𝑖 = 𝑖=1 𝑎𝑖 . 𝑥𝑖 − 𝜆𝛾𝑖 =.
=0
𝑖=𝑝 𝑖=𝑝 𝑖=𝑝 𝑖=𝑝
= 𝑖=1 𝑎𝑖 . 𝑥𝑖 − 𝑖=1 𝑎𝑖 . 𝜆𝛾𝑖 = 𝑏 − 𝑖=1 𝑎𝑖 . 𝜆𝛾𝑖 = 𝑏 − 𝜆 𝑖=1 𝑎𝑖 . 𝛾𝑖 = 𝑏. 
=𝑏 =0

Claim 1: 𝒙′ tiene a lo sumo 𝒑 − 𝟏 componentes positivas


𝑥𝑘 𝑥𝑘
Dem: 𝜆 = , para algún 𝑘 = 1, … , 𝑝. Luego: 𝑥 ′ 𝑘 = 𝑥𝑘 − 𝜆𝛾𝑘 = 𝑥𝑘 − 𝛾𝑘 = 0, por lo que 𝑥’ reduce en al menos 1
𝛾𝑘 𝛾𝑘
la cantidad de componentes positivas.

Ahora, si las columnas de A asociadas a las componentes positivas de 𝑥’ son LI, 𝑥’ es una SBF del sistema, por lo
que por teorema anterior, es un punto extremo.

Si las columnas de 𝐴 asociadas a las componentes positivas de 𝑥’ son LD, reiteramos el prcedimiento hasta
disminuir la cantidad de columnas consideradas alcanzando el rango de A. Allí habremos encontrado una SBF
del sistema, y por lo tanto un punto extremo.

𝑥
3
∀𝑖 = 1, … , 𝑝: 𝑥 ′ 𝑖 ≥ 0 ⟹ 𝑥𝑖 − 𝜆𝛾𝑖 ≥ 0 ⟹ 𝜆𝛾𝑖 ≤ 𝑥𝑖 ⟹ 𝜆 ≤ 𝛾 𝑖 .
𝑖

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Capítulo 4. RESOLUCIÓN DE UN PROBLEMA DE PROGRAMACIÓN


LINEAL CON EL MÉTODO GRÁFICO
Un problema de programación lineal de dos variables se puede resolver rápidamente de forma geométrica.

Considérese el siguiente problema de programación lineal:

Minimizar/Maximizar 𝑐1 𝑥1 + 𝑐2 𝑥2 .
Sujeto a: 𝐴1 𝑥1 , 𝑥2 ≤ 𝑏1
𝐴2 𝑥1 , 𝑥2 ≥ 𝑏2
𝐴3 𝑥1 , 𝑥2 = 𝑏3
𝑥1 , 𝑥2 ≥ 0

La región factible de dicho problema puede representarse en el plano interceptando los semi-espacios
determinados por las restricciones 𝐴1 𝑥1 , 𝑥2 ≤ 𝑏1 , 𝐴2 𝑥1 , 𝑥2 ≥ 𝑏2 , 𝐴3 𝑥1 , 𝑥2 = 𝑏3 y 𝑥1 , 𝑥2 ≥ 0.

Puesto que la función 𝑐1 𝑥1 + 𝑐2 𝑥2 es un plano, sabemos que crece en el sentido del vector 𝑐 = (𝑐1 , 𝑐2 ). De este
modo, todos los puntos de una recta r perpendicular a c poseen igual imagen en la función 𝑐1 𝑥1 + 𝑐2 𝑥2 ; por lo
que el análisis debe hacerse sobre todas las rectas r perpendiculares a dicho vector.

Caso 1: 𝐌𝐢𝐧𝐢𝐦𝐢𝐳𝐚𝐫 𝒄𝟏 𝒙𝟏 + 𝒄𝟐 𝒙𝟐 .
En el caso de minimizar, como la el valor de la función objetivo crece en el sentido
de c, nos interesará analizar las rectas r a medida que se desplazan en sentido
contrario al vector c.

Caso 2: 𝐌𝐚𝐱𝐢𝐦𝐢𝐳𝐚𝐫 𝒄𝟏 𝒙𝟏 + 𝒄𝟐 𝒙𝟐 .
En el caso de maximizar, como la el valor de la función objetivo crece en el sentido
de c, nos interesará analizar las rectas r a medida que se desplazan en sentido del
vector c.

4.1 ANÁLISIS DE LAS SBF


4.1.1 Región factible vacía
Si la región factible es vacía, entonces le problema no tiene solución.

4.1.2 Región factible no vacía


Si la región factible es no vacía, entonces el problema puede tener solución óptima finita única, soluciones
óptimas finitas alternativas, o puede tener solución no acotada, pudiendo la función crecer o disminuir
infinitamente. Tomaremos como ejemplo un problema de maximización.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

4.1.2.1 Solución óptima finita dada en un punto único.

El problema tiene solución finita dada en un punto único si la recta r óptima intersección la zona factible es un
único punto.

(a) Región factible acotada (b) Región factible no acotada

4.1.2.2 Solución óptima finita dada en puntos alternativos.

El problema tiene solución finita dada en puntos alternativos si la recta r óptima intersección la zona factible es
un segmento o una semi-recta. En este caso, todos los puntos de dicho segmento o semi-recta general el mismo
valor óptimo.

(a) Región factible acotada (b) Región factible no acotada

4.1.2.3 Solución óptima no acotada

El problema tiene solución no acotada si no existe una recta r óptima, y por lo tanto la función puede crecer (o
disminuir en el caso de minimizar) infinitamente. Notemos que para tal caso la región factible debe ser no
acotada.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

4.2 SBF DEGENERADAS O NO DEGENERADAS


Consideremos la siguiente región factible de un problema de programación lineal:

Sujeto a: 3𝑥1 + 2𝑥2 ≥ 6


5𝑥1 + 8𝑥2 ≤ 40
𝑥1 − 2𝑥2 ≤ 4
−𝑥1 + 𝑥2 ≤ 3
3𝑥1 − 𝑥2 ≤ 18
𝑥1 , 𝑥2 ≥ 0 ≥ 0

Representamos los semiplanos de las restricciones y modificamos el problema a la forma 𝐴𝑥 = 𝑏 agregando las
variables de holgura:
Sujeto a: 𝑥1 + 𝑥2 − 𝑕1 = 2
5𝑥1 + 8𝑥2 + 𝑕2 = 40
𝑥1 − 2𝑥2 + 𝑕3 = 4
−𝑥1 + 𝑥2 + 𝑕4 = 3
3𝑥1 − 𝑥2 + 𝑕5 = 18
𝑥1 , 𝑥2 , 𝑕1 , 𝑕2 , 𝑕3 , 𝑕4 , 𝑕5 ≥ 0

1 1 −1 0 0 0 0
5 8 0 1 0 0 0
Escribimos la matriz 𝐴 = 1 −2 0 0 1 0 0 = 𝑎1 𝑎2 𝑎3 𝑎4 𝑎5 𝑎6 𝑎7
−1 1 0 0 0 1 0
3 −1 0 0 0 0 1

Observación: En cada punto de una recta borde de un semi-espacio la respectiva variable de holgura se
encuentra en el nivel cero. Respectivamente, cada variable de holgura se encuentra en el nivel cero si el punto
pertenece a la recta borde del semiplano restricción respectiva. Es decir:

Dada un punto extremo (𝛼, 𝛽). Entonces: 𝑕𝑗 = 0 ⟺ 𝑎1𝑗 𝛼 + 𝑎2𝑗 𝛽 = 𝑏𝑗

Ya hemos probado que las SBF se dan en los puntos extremos de las regiones factibles. Por ello, a continuación
analizaremos mediante el método gráfico cómo darse cuenta de de si una SBF es degenerada o no.

46 55 56 10
Consideremos los puntos 𝐴 0,3 , 𝐵 , ,𝐶 , , 𝐷 4,0 y 𝐸 2,0 (puntos extremos de la región factible).
3 3 9 9
Nótese que para cada punto extremo, en miras de la observación anterior, la SBF correspondiente es:

I.P.A. - 2009
Matemática Aplicada Programación Lineal

 𝐴 0,3 : 0, 𝟑, 0, ≠ 𝟎, ≠ 𝟎, 0, ≠ 𝟎 es SBF degenerada. (Tome la base que tome, como 𝑥𝐵 debe ser un 5-
vector, siempre un 0 debe estar en 𝑥𝐵 . Nótese que cualquier posible B debe contener a 𝑎2 , 𝑎4 , 𝑎5 y 𝑎7 ).
46 55 𝟒𝟔 𝟓𝟓
 𝐵 , : , , ≠ 𝟎, 0, ≠ 𝟎, 0, ≠ 𝟎 es SBF no degenerada. (Tomando como base
3 3 𝟑 𝟑
𝐵 = 𝑎1 𝑎2 𝑎3 𝑎5 𝑎6 , 𝑥𝐵 > 0)
56 10 𝟓𝟔 𝟏𝟎
 𝐶 , : , , ≠ 𝟎, 0,0, ≠ 𝟎, 0 es SBF degenerada. (Tome la base que tome, como 𝑥𝐵 debe ser un
9 9 𝟗 𝟗
5-vector, siempre un 0 debe estar en 𝑥𝐵 . Nótese que cualquier posible B debe contener a 𝑎1 , 𝑎2 , 𝑎3 y 𝑎6 ).
 𝐷 4,0 : 𝟒, 0, ≠ 𝟎, ≠ 𝟎, 0, ≠ 𝟎, ≠ 𝟎 es SBF no degenerada. (Tomando como base
𝐵 = 𝑎1 𝑎3 𝑎4 𝑎6 𝑎7 , 𝑥𝐵 > 0)
 𝐸 2,0 : 𝟐, 0,0, ≠ 𝟎, ≠ 𝟎, ≠ 𝟎, ≠ 𝟎 es SBF no degenerada. (Tomando como base
𝐵 = 𝑎1 𝑎4 𝑎5 𝑎6 𝑎7 , 𝑥𝐵 > 0)

CONCLUSIÓN: Una SBF es degenerada sii es intersección de tres o más bordes de semiplanos
restricciones.

Nota: la quinta restricción es redundante, pero como no es combinación lineal de las otras, a los efectos de dar
la solución al problema la tengo que considerar.

4.2 HALLANDO EL VALOR ÓPTIMO Y EL PUNTO O LOS PUNTOS ALTERNATIVOS


EN DONDE SE DA DICHA SOLUCIÓN ÓPTIMA

Analizaremos esta sección considerando el siguiente ejemplo:

Sujeto a: 𝑥1 + 𝑥2 ≥ 2
5𝑥1 + 8𝑥2 ≤ 40
𝑥1 − 2𝑥2 ≤ 4
−𝑥1 + 𝑥2 ≤ 3
𝑥1 , 𝑥2 ≥ 0 ≥ 0

Representamos los semiplanos de las restricciones y modificamos el problema a la forma 𝐴𝑥 = 𝑏 agregando las
variables de holgura:

Sujeto a: 𝑥1 + 𝑥2 − 𝑕1 = 2
5𝑥1 + 8𝑥2 + 𝑕2 = 40 −1 −1 −1 0 0 0
𝑥1 − 2𝑥2 + 𝑕3 = 4 Escribimos la matriz 𝐴 = −5 −8 −0 1 0 0
−𝑥1 + 𝑥2 + 𝑕4 = 3 −1 −2 −0 0 1 0
−1 −1 −0 0 0 1
𝑥1 , 𝑥2 ≥ 0

Representación de la Región Factible

I.P.A. - 2009
Matemática Aplicada Programación Lineal

46 55 56 10
Consideremos los puntos 𝐴 2,0 , 𝐵 0,2 , 𝐶 , ,𝑠 , ,y 𝐷 4,0 (puntos extremos de la región factible).
3 3 9 9

4. 2.1 Solución óptima finita dada en un punto único.

Consideremos el problema de:


Minimizar . −3𝑥1 − 𝑥2

Siguiendo el análisis introducido al comienzo del


capítulo, la solución del problema se da en el
punto S intersección de las rectas (5𝑥1 + 8𝑥2 =
40) y (𝑥1 − 2𝑥2 = 4).

56 10
𝑆= ,
9 9

Por la observación anterior, además sabemos


que 𝑕2 = 0 y 𝑕3 = 0 , por lo que solamente nos
resta averiguar los valores de 𝑕1 y 𝑕4 :

56 10 16
𝑥1 + 𝑥2 − 𝑕1 = 2 ⇒ + − 𝑕1 = 2 ⇒ 𝑕1 =
9 9 3

56 10 73
−𝑥1 + 𝑥2 + 𝑕4 = 3 ⇒ − + + 𝑕4 = 3 ⇒ 𝑕4 =
9 9 9

56 10 16 73
Luego, , , , 0,0, es SBF óptima del problema no degenerada, cuya matriz básica son las columnas de A
9 9 3 9
56 10 −158
correspondientes a 𝑥1 , 𝑥2 , 𝑕1 𝑦 𝑕4 . El valor óptimo obtenido es −3. − = .
9 9 9

4.2.2 Solución óptima finita dada en puntos alternativos.

Consideremos el problema de:


Minimizar . 2𝑥1 + 2𝑥2

Siguiendo el análisis introducido al comienzo del


capítulo, la solución del problema se da en el segmento
de extremos A y B.

𝐴 2,0 y 𝐵 0,2

En A: Por la observación anterior, sabemos que 𝑕1 = 0 ,


por lo que solamente nos resta averiguar los valores de
𝑕2 , 𝑕3 y 𝑕4 :

5𝑥1 + 8𝑥2 + 𝑕2 = 40 ⇒ 10 + 0 + 𝑕2 = 40 ⇒ 𝑕2 = 30
𝑥1 − 2𝑥2 + 𝑕3 = 4 ⇒ 2 − 0 + 𝑕3 = 4 ⇒ 𝑕3 = 2
−𝑥1 + 𝑥2 + 𝑕4 = 3 ⇒ −2 + 0 + 𝑕4 = 3 ⇒ 𝑕4 = 5

Luego, 2,0,0,30,2,5 es SBF en A.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

En B: Por la observación anterior, sabemos que 𝑕1 = 0 , por lo que solamente nos resta averiguar los valores
de 𝑕2 , 𝑕3 y 𝑕4 :

5𝑥1 + 8𝑥2 + 𝑕2 = 40 ⇒ 0 + 16 + 𝑕2 = 40 ⇒ 𝑕2 = 24
𝑥1 − 2𝑥2 + 𝑕3 = 4 ⇒ 0 − 4 + 𝑕3 = 4 ⇒ 𝑕3 = 8
−𝑥1 + 𝑥2 + 𝑕4 = 3 ⇒ −0 + 2 + 𝑕4 = 3 ⇒ 𝑕4 = 1

Luego, 2,0,0,30,2,5 es SBF en B.

Entonces: El valor óptimo obtenido es de 2.0 + 2.2 = 4 y las soluciones óptimas son el segmento de extremos A
y B: 𝜆. 2,0,0,30,2,5 + 1 − 𝜆 2,0,0,30,2,5 ; 𝜆 ∈ 0,1 .

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Capítulo 5. EL MÉTODO SIMPLEX

5.1 ALGORITMO DE MEJORAMIENTO DE UNA SBF


Considérese el problema de programación lineal:
Minimizar 𝑐𝑥.
Sujeto a: 𝐴𝑥 = 𝑏
𝑥≥0
−1 𝑏
Sea 𝐵 una SBF. Sea R el conjunto de los índices de las variables no básicas.
0

1) Calcular: 𝑧𝑗 = 𝑐𝐵 𝐵 −1 𝑎𝑗 , ∀𝑗 ∈ 𝑅
2) Calcular: 𝑧𝑗 − 𝑐𝑗 , ∀𝑗 ∈ 𝑅

Si 𝑧𝑗 − 𝑐𝑗 ≤ 0, ∀𝑗 ∈ 𝑅 ⟹ 𝐵−1 𝑏 es SBF óptima. (FIN)


0

Si 𝑧𝑗 − 𝑐𝑗 > 0, 𝑝𝑎𝑟𝑎 𝑎𝑙𝑔ú𝑛 𝑗 ∈ 𝑅:

Sea 𝑥𝑘 alguna de las variables no básicas tal que 𝑧𝑘 − 𝑐𝑘 > 0.


Por ejemplo: 𝑥𝑘 / 𝑧𝑘 − 𝑐𝑘 = 𝑚á𝑥 𝑧𝑗 − 𝑐𝑗 > 0, 𝑗 ∈ 𝑅

Definimos: 𝑏 = 𝐵 −1 . 𝑏 e 𝑦𝑘 = 𝐵 −1 . 𝑎𝑘

Para algún 𝑥𝑘 : 𝑦𝑘 ≤ 0 ⟹ La 𝐬𝐨𝐥𝐮𝐜𝐢ó𝐧 ó𝐩𝐭𝐢𝐦 𝐞𝐬 𝐧𝐨 𝐚𝐜𝐨𝐭𝐚𝐝𝐚 ⟹ Valor objetivo óptimo: −∞ (FIN)

Para todo 𝑥𝑘 : 𝑦𝑘 ≰ 0 𝑎𝑙 𝑚𝑒𝑛𝑜𝑠 𝑢𝑛𝑎 𝑐𝑜𝑚𝑝𝑜𝑛𝑒𝑛𝑡𝑒 𝑒𝑠 > 0 ∶

𝑏𝑖 𝑏𝑟
Tomo 𝑥𝑘 = 𝑚í𝑛 ; 𝑦𝑖𝑘 > 0 = y actualizo la base sabiendo que 𝑥𝐵 = 𝑏 − 𝑦𝑘 . 𝑥𝑘 .
𝑦 𝑖𝑘 𝑦 𝑟𝑘

(VUELVO A INICIAR)

Se dice que 𝑥𝑘 “entra” a la base y que 𝑥𝐵𝑟 “sale” de la base.

DEMOSTRACIÓN DEL ALGORITMO


−1
𝑥0 = 𝐵 𝑏 es SBF del problema cuyo valor objetivo es 𝑧0 = 𝑐𝐵 . 𝐵 −1 𝑏. (1)
0

Sea R el conjunto de los índices de las variables no básicas


𝑥𝐵
Si 𝑥 = 𝑥 es una solución factible cualquiera, entonces:
𝑁
𝑥𝐵
𝐴𝑥 = 𝑏 ⟹ 𝐵, 𝑁 𝑥 = 𝑏 ⟹ 𝐵𝑥𝐵 + 𝑁𝑥𝑁 = 𝑏 𝐵 −1 𝐵𝑥𝐵 + 𝐵−1 𝑁𝑥𝑁 = 𝐵 −1 𝑏 ⟹ 𝑥𝐵 + 𝐵−1 𝑁𝑥𝑁 =
𝑁 × 𝐵 −1
𝐵 −1 𝑏 ⟹ 𝑥𝐵 = 𝐵 −1 𝑏 − 𝐵−1 𝑁𝑥𝑁 (2)

Multiplicando esta última ecuación por 𝑐𝐵 obtenemos 𝑐𝐵 𝑥𝐵 = 𝑐𝐵 𝐵 −1 𝑏 − 𝑐𝐵 𝐵 −1 𝑁𝑥𝑁 ; y sustituyendo (1) en esta
última ecuación obtenemos que: 𝑐𝐵 𝑥𝐵 = 𝑧0 − 𝑐𝐵 𝐵−1 𝑁𝑥𝑁

El valor objetivo de 𝑥 es 𝑧 = 𝑐𝐵 . 𝑥𝐵 + 𝑐𝑁 . 𝑥𝑁 .

Luego: 𝑧 = 𝑧0 − 𝑐𝐵 𝐵−1 𝑁𝑥𝑁 + 𝑐𝑁 . 𝑥𝑁 ⟹ 𝑧 = 𝑧0 − 𝑐𝐵 𝐵 −1 𝑁 − 𝑐𝑁 𝑥𝑁

Reescribiendo esta última ecuación: 𝑧 = 𝑧0 − 𝑗 ∈𝑅 𝑐𝐵 𝐵 −1 𝑎𝑗 − 𝑐𝑗 𝑥𝑗


I.P.A. - 2009
Matemática Aplicada Programación Lineal

Llámese 𝑧𝑗 = 𝑐𝐵 𝐵 −1 𝑎𝑗 : 𝑧 = 𝑧0 − 𝑧𝑗 − 𝑐𝑗 𝑥𝑗
𝑗 ∈𝑅

Como 𝑥 es solución factible, sabemos que 𝑥𝑗 ≥ 0, ∀𝑗 ∈ 𝑅. Luego:

CASO 1: ∃𝒌 ∈ 𝑹, 𝒛𝒌 − 𝒄𝒌 > 𝟎:
Puesto que se desea minimizar, sería ventajoso aumentar 𝑥𝑘 para los casos en que 𝑧𝑘 − 𝑐𝑘 > 0, disminuyendo
así el valor en la función costo. Puesto que pueden haber varias variables no básicas en tales condiciones, se fija
la siguiente regla: Se fija cada variable no básica en 0 salvo una de las 𝑥𝑘 que tiene valor positivo 𝑧𝑘 − 𝑐𝑘 . (Por
ejemplo: el 𝑥𝑘 cuyo valor 𝑧𝑘 − 𝑐𝑘 es el más positivo).

Ahora, el nuevo valor en la función costo obtenido será de la forma 𝑧 = 𝑧0 − 𝑧𝑘 − 𝑐𝑘 𝑥𝑘 ≤ 𝑧0 mejorando el


>0 ≥0
valor de la función costo. Para realizar una mejor minimización de z, sería ventajoso aumentar 𝑥𝑘 tanto como
sea posible. Conforme 𝑥𝑘 crece, las variables básicas se modifican acuerdo a la ecuación (2)
𝑥𝐵 = 𝐵−1 𝑏 − 𝐵 −1 𝑁𝑥𝑁

Llamemos 𝑏 = 𝐵 −1 𝑏 y 𝑦𝑁 = 𝐵 −1 𝑁. Luego: 𝑥𝐵 = 𝑏 − 𝑦𝑁 . 𝑥𝑁 . Pero por la regla optada: 𝑥𝐵 = 𝑏 − 𝑦𝑘 𝑥𝑘 , siendo


𝑦𝑘 = 𝐵 −1 𝑎𝑘 .

𝑥𝐵1 𝑏1 𝑦𝑘 1
⋮ ⋮ ⋮
En otras palabras: 𝑥𝐵𝑟 = 𝑏𝑟 − 𝑦𝑘 𝑟 . 𝑥𝑘 (3)
⋮ ⋮ ⋮
𝑥𝐵𝑚 𝑏𝑚 𝑦𝑘 𝑚

Ahora bien: Como 𝑥𝑘 ≥ 0


Si 𝑦𝑘 𝑖 ≤ 0,a medida que 𝑥𝑘 crece 𝑥𝐵𝑖 seguirá siendo positiva.
Si 𝑦𝑘 𝑖 > 0,a medida que 𝑥𝑘 crece 𝑥𝐵𝑖 decrece, por lo que puede llegar a ser negativa.

Esta observación nos lleva a dos sub-casos:

Sub-Caso 1: Si ∀𝒊 = 𝟏, … , 𝒎, 𝒚𝒌 𝒊 ≤ 𝟎:
Como 𝑥𝑘 puede crecer infinitamente sin problema de anular la no negatividad de las variables, y a medida que
𝑥𝑘 → +∞, 𝑧 → −∞, la solución óptima es no acotada y por lo tanto el valor óptimo es −∞. Este valor óptimo
se da al moverse en el rayo con origen la SBF de la que partimos y dirección −𝑦𝑘 , 0, … ,0,1,0, … ,0 (con
componente 1 en la k-ésima posición), lo que es equivalente a decir:

𝐵 −1 𝑏 −𝑦𝑘
0 0
⋮ ⋮
𝑟𝑥 0 ,𝑑 = + 𝑥𝑘 1 ; 𝑥𝑘 ≥ 0 , que es en efecto una dirección extrema de la zona factible.
0
⋮ ⋮
0 0

Sub-Caso 2: Si ∃𝒊 = 𝟏, … , 𝒎, 𝒚𝒌 𝒊 > 0:
Como 𝑥𝑘 no puede crecer infinitamente ya que corremos el riesgo de que 𝑥𝐵𝑖 llegue a ser negativa violando la
condición de no negatividad, debemos bloquear el crecimiento de 𝑥𝑘 . De este modo, y puesto que buscamos
aumentar el 𝑥𝑘 tanto como sea posible, lo haremos hasta que la primer variable básica llegue al nivel 0.

𝑏𝑖
Como 𝑥𝐵𝑖 = 𝑏𝑖 − 𝑦𝑘 𝑖 . 𝑥𝑘 , es claro que 𝑥𝐵𝑖 = 0 cuando 𝑥𝑘 = .
𝑦𝑘 𝑖

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Recordando que estamos preocupados por las componentes 𝑥𝐵𝑖 donde 𝑦𝑘 𝑖 > 0, nos queda que el primer 𝑥𝐵𝑟 en
𝑏𝑟 𝑏𝑖
hacerse 0 es aquel tal que = 𝑚𝑖𝑛 , con 𝑦𝑘 𝑖 > 0 . Hacemos entonces que 𝑥𝑘 tome dicho valor y se
𝑦𝑘 𝑟 𝑦𝑘 𝑖
𝑥𝐵1 𝑏1 𝑦𝑘 1
⋮ ⋮ ⋮
actualizan los valores de 𝑥𝐵 acuerdo a la ecuación (3): 𝑥𝐵𝑟 = 𝑏𝑟 − 𝑦𝑘 𝑟 . 𝑥𝑘
⋮ ⋮ ⋮
𝑥𝐵𝑚 𝑏𝑚 𝑦𝑘 𝑚

Decimos que a 𝑥𝑘 lo “entramos a la base”. Análogamente, como 𝑥𝐵𝑟 = 0 decimos que lo “sacamos de la base”.

Luego, como 𝑥𝐵𝑟 = 0 y todas las variables no básicas distintas de 𝑥𝑘 las dejamos en el nivel 0, a lo sumo hay m
variables positivas. Además, 𝑎𝑘 = 𝜆1 𝑎𝐵1 + ⋯ + 𝑦𝑘 𝑟 𝑎𝐵𝑟 + ⋯ + 𝜆𝑚 𝑎𝐵𝑚 (porque 𝑦𝑘 = 𝐵−1 𝑎𝑘 ⟹ 𝐵. 𝑦𝑘 = 𝑎𝑘 ), y
como 𝑦𝑘 𝑟 ≠ 0 , por observación del capítulo 2.I: 𝑎𝐵1 , … , 𝑎𝑘 , … , 𝑎𝐵𝑚 son LI.

Luego: tomando 𝐵 = 𝑎𝐵1 , … , 𝑎𝑘 , … , 𝑎𝐵𝑚 la nueva solución es una SBF, cuyo valor objetivo 𝑧 = 𝑧0 −
𝑧𝑘 − 𝑐𝑘 𝑥𝑘 ≤ 𝑧0 es un valor mejorado (o al menos no empeorado) del valor objetivo inicial.
>0 ≥0

Algunos detalles al momento de la elección de 𝑥𝑘

Sub-Sub.Caso 1: 𝒃𝒓 = 𝟎:
Si 𝑏𝑟 = 0 entonces 𝑥𝑘 entra a la base con el nivel 0 y por lo tanto la solución factible nueva es degenerada,
además de que la que ya había era degenerada (pues 𝑏 = 𝐵 −1 𝑏 = 𝑥𝐵 ), por lo que me conviene tomar otro 𝑥𝑘 ya
que no mejoro el valor objetivo: 𝑧 = 𝑧0 − 𝑧𝑘 − 𝑐𝑘 𝑥𝑘 = 𝑧0 .
=0
Nota: a este caso se le llama ciclado.

Sub-Sub.Caso 2: 𝒃𝒓 > 0:
Si 𝑏𝑟 > 0, entonces se saca a 𝑥𝑘 del nivel cero, y por lo tanto se mejora el valor de la función objetivo.

CASO 2: ∀𝒋 ∈ 𝑹, 𝒛𝒋 − 𝒄𝒋 ≤ 𝟎:

Sub-Caso 1: Si ∀𝒋 ∈ 𝑹, 𝒛𝒋 − 𝒄𝒋 < 𝟎: Entonces cualquier modificación del nivel cero en las variables no básicas
produciría un incremento en el valor de la función costo, lo cual empeoraría nuestro intento de minimizar la
función costo. Por lo tanto, actualmente nos encontramos con una SBF óptima y única.

Sub-Sub-Sub-Caso 1: 𝒃 > 0:
SBF óptima única y no degenerada.

Sub-Sub-Sub.Caso 2: 𝒃 ≯ 𝟎:
SBF óptima única degenerada.

Sub Caso 2: Si 𝒛𝒌 − 𝒄𝒌 = 𝟎, 𝐩𝐚𝐫𝐚 𝐚𝐥𝐠ú𝐧 𝒌 ∈ 𝑹: Llamemos 𝐻 = 𝑗 ∈ 𝑅; 𝑧𝑗 − 𝑐𝑗 < 0 . Como en el caso anterior,


cualquier modificación del nivel cero en las variables 𝑥𝑕 con 𝑕 ∈ 𝐻 produciría un incremento en el valor de la
función costo, lo cual empeoraría nuestro intento de minimizar la función costo.
Sin embargo, un incremento en alguna de las variables 𝑥𝑘 con 𝑘 ∈ 𝑅 − 𝐻, como 𝑧𝑘 − 𝑐𝑘 = 0, no produciría una
variación del valor de la función costo, pero nos daría una nueva SBF. Es decir que si 𝑥𝑘 incrementa hasta ser
bloqueada por una variable básica, se puede obtener una SBF óptima alternativa. Nos encontramos entonces
frente a un caso con una SBF óptima pero quizás no única (alternativas o degenerada).

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Las soluciones alternativas están formadas por el segmento o rayo al considerar si 𝑥𝑘 puede crecer
infinitamente o está bloqueada. Análogamente a como lo hemos trabajado en el caso 1, el bloqueo de 𝑥𝑘 estaría
𝑥𝐵1 𝑏1 𝑦𝑘 1
⋮ ⋮ ⋮
dado por la ecuación: 𝑥𝐵𝑟 = 𝑏𝑟 − 𝑦𝑘 𝑟 . 𝑥𝑘
⋮ ⋮ ⋮
𝑥𝐵𝑚 𝑏 𝑦𝑘 𝑚
𝑚

Sub-Sub-Caso 1: Si ∀𝒊 = 𝟏, … , 𝒎, 𝒚𝒌 𝒊 ≤ 𝟎:
Como 𝑥𝑘 puede crecer infinitamente sin problema de anular la no negatividad de las variables, la solución
óptima está dada en el rayo con origen la SBF hallada y dirección −𝑦𝑘 , 0, … ,0,1,0, … ,0 (con componente 1 en
la k-ésima posición), lo que es equivalente a decir:

𝐵 −1 𝑏 −𝑦𝑘
0 0
⋮ ⋮
𝑟𝑥 0 ,𝑑 = + 𝑥𝑘 1 ; 𝑥𝑘 ≥ 0 , que es en efecto una dirección extrema de la zona factible.
0
⋮ ⋮
0 0
Por lo que la solución obtenida es SBF óptima pero no única (alternativas)

Sub-Caso 2: Si ∃𝒊 = 𝟏, … , 𝒎, 𝒚𝒌 𝒊 > 0:
Como 𝑥𝑘 no puede crecer infinitamente ya que corremos el riesgo de que 𝑥𝐵𝑖 llegue a ser negativa violando la
condición de no negatividad, debemos bloquear el crecimiento de 𝑥𝑘 . De este modo, y puesto que buscamos
aumentar el 𝑥𝑘 tanto como sea posible, lo haremos hasta que la primer variable básica llegue al nivel 0.

𝑏𝑖
Como 𝑥𝐵𝑖 = 𝑏𝑖 − 𝑦𝑘 𝑖 . 𝑥𝑘 , es claro que 𝑥𝐵𝑖 = 0 cuando 𝑥𝑘 = .
𝑦𝑘 𝑖
𝑏𝑟 𝑏𝑖
Análogo a lo expuesto en el cao 1, el primer 𝑥𝐵𝑟 en hacerse 0 es aquel tal que = 𝑚𝑖𝑛 , con 𝑦𝑘 𝑖 > 0 .
𝑦𝑘 𝑟 𝑦𝑘 𝑖
Hacemos entonces que 𝑥𝑘 tome dicho valor y se actualizan los valores de 𝑥𝐵 acuerdo a la ecuación (3):
𝑥𝐵1 𝑏1 𝑦𝑘 1
⋮ ⋮ ⋮
𝑥𝐵𝑟 = 𝑏 − 𝑦𝑘 𝑟 . 𝑥𝑘
𝑟
⋮ ⋮ ⋮
𝑥𝐵𝑚 𝑏𝑚 𝑦𝑘 𝑚

Luego, como 𝑥𝐵𝑟 = 0 y todas las variables no básicas distintas de 𝑥𝑘 las dejamos en el nivel 0, a lo sumo hay m
variables positivas. Además, 𝑎𝑘 = 𝜆1 𝑎𝐵1 + ⋯ + 𝑦𝑘 𝑟 𝑎𝐵𝑟 + ⋯ + 𝜆𝑚 𝑎𝐵𝑚 , y como 𝑦𝑘 𝑟 ≠ 0 , por observación del
capítulo 2.I: 𝑎𝐵1 , … , 𝑎𝑘 , … , 𝑎𝐵𝑚 son LI.

Luego: tomando 𝐵 = 𝑎𝐵1 , … , 𝑎𝑘 , … , 𝑎𝐵𝑚 la nueva solución es una SBF, cuyo valor objetivo 𝑧 = 𝑧0 −
𝑧𝑘 − 𝑐𝑘 𝑥𝑘 = 𝑧0 permanece igual al valor objetivo inicial.
=0 ≥0

Sub-Sub-Sub-Caso 1: 𝒃𝒓 = 𝟎:
Si 𝑏𝑟 = 0 entonces 𝑥𝑘 entra a la base con el nivel 0 y por lo tanto la solución factible nueva es degenerada,
además de que la que ya había era degenerada (pues 𝑏 = 𝐵 −1 𝑏 = 𝑥𝐵 ), por lo que en caso de existir otro 𝑥𝑘 en
las mismas condiciones de 𝑧𝑘 − 𝑐𝑘 = 0 ya que no si bien puedo tomar otra base, no cambio la SFB óptima.

Si todos los 𝑥𝑘 cumplen que 𝑏𝑟 = 0 entonces la solución es única y degenerada. Por lo que la solución obtenida
es SBF óptima única.

En caso de existir alguno con 𝑏𝑟 ≠ 0, la solución pertenece al caso siguiente.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Sub-Sub-Sub.Caso 2: 𝒃𝒓 > 0:
Si 𝑏𝑟 > 0, entonces se saca a 𝑥𝑘 del nivel cero, y por lo tanto la nueva SBF obtenida 𝑥0∗ es otro punto extremo
de la región. En la caso las soluciones alternativas son todos los puntos del segmento con extremos 𝑥0∗ y 𝑥0 . Es
decir: 𝜆𝑥0∗ + a − λ 𝑥0 , con 𝜆 ∈ 0,1 . Luego la solución obtenida es SBF óptima pero no única
(alternativas).

5.2 MÉTODO SIMPLEX EN FORMATO TABLAU


Considérese el problema de programación lineal:
Minimizar/Maximizar 𝑧 = 𝑐𝑥.
Sujeto a: 𝐴𝑥 = 𝑏
𝑥≥0

con 𝐴𝑚 ×𝑛 y 𝑏 un vector 𝑑𝑒 ℝ𝑚 con 𝑟𝑎𝑛𝑔𝑜 𝐴 = 𝑚. Entonces:

𝑧 𝑥𝐵 𝑥𝑁 𝐿𝐷 𝑧 𝑥𝐵 𝑥𝑁 𝐿𝐷
Renglón 0 𝑧 1 0 𝑐𝐵 𝐵 −1 𝑁 − 𝑐𝑁 𝑐𝐵 𝐵 −1 𝑏 o 𝑧 1 0 𝑧𝑗 − 𝑐𝑗 𝑧0
Renglones 1 a m 𝑥𝐵 0 𝐼 𝐵−1 𝑁 𝐵 −1 𝑏 𝑥𝐵 0 𝐼 𝑦𝑗 𝑏

5.2.1 ¿Por qué esta forma?

Considérese el problema de programación lineal:


Minimizar/Maximizar 𝑧 = 𝑐𝑥.
Sujeto a: 𝐴𝑥 = 𝑏
𝑥≥0

con 𝐴𝑚 ×𝑛 y 𝑏 un vector 𝑑𝑒 ℝ𝑚 con 𝑟𝑎𝑛𝑔𝑜 𝐴 = 𝑚. Entonces:

Tomando una matriz básica B cualquiera, podemos este problema expresarlo como:

Minimizar/Maximizar 𝑧 = 𝑐𝐵 𝑥𝐵 + 𝑐𝑁 𝑥𝑁 .
Sujeto a: 𝐵𝑥𝐵 + 𝑁𝑥𝑁 = 𝑏
𝑥𝐵 , 𝑥𝑁 ≥ 0

𝐵𝑥𝐵 + 𝑁𝑥𝑁 = 𝑏 𝐵 −1 𝐵 𝑥𝐵 + 𝐵−1 𝑁𝑥𝑁 = 𝐵 −1 𝑏 𝑰. 𝑥𝐵 + 𝐵 −1 𝑁𝑥𝑁 = 𝐵−1 𝑏 (1)


×𝐵 −1
=𝐼
1 × 𝑐𝐵 : 𝑐𝐵 𝑥𝐵 + 𝑐𝐵 𝐵 −1 𝑁𝑥𝑁 = 𝑐𝐵 𝐵 −1 𝑏
𝑧 = 𝑐𝐵 𝑥𝐵 + 𝑐𝑁 𝑥𝑁 𝑧 − 𝑐𝐵 𝑥𝐵 − 𝑐𝑁 𝑥𝑁 = 0 𝑧 − 𝑐𝐵 𝑥𝐵 − 𝑐𝑁 𝑥𝑁 + 𝑐𝐵 𝑥𝐵 + 𝑐𝐵 𝐵 −1 𝑁𝑥𝑁 = 𝑐𝐵 𝐵 −1 𝑏
𝑆𝑢𝑚𝑎𝑛𝑑𝑜
𝑎𝑚𝑏𝑎𝑠
𝑒𝑐𝑢𝑎𝑐𝑖𝑜𝑛𝑒𝑠

𝑧 − 𝟎𝑥𝐵 + 𝑐𝐵 𝐵 −1 𝑁 − 𝑐𝑁 𝑥𝑁 = 𝑐𝐵 𝐵 −1 𝑏 (2)

Luego, el tableau reúne ambas ecuaciones. Además, por la demostración realizada anteriormente, podemos
observar que contiene toda la información necesaria para el mejoramiento de una SBF.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

5.2.2 ¿Cómo iniciar el tableau sin hacer todas las operaciones?

Una vez transformado el problema tal que A contenga una matriz identidad y 𝑏 ≥ 0.

Donde 𝐵 = 𝐼

1) Planteamos el siguiente tableau:

𝑧 𝑥 𝐿𝐷
Renglón 0 𝑧 1 −𝑐 0
Renglones 1 a m 𝑥𝐵 0 𝐴 𝑏

2) Transformación del tableau:

 Si −𝑐𝐵 = 0: puedo comenzar.


 Si −𝑐𝐵 ≠ 0: mediante transformaciones elementales de filas transformo el renglón 0 de forma de que
todas las variables básicas tengan 0; y luego puedo comenzar.

5.2.3 ¿Cómo iterar en el tableau?

Una vez elegida la variable 𝑥𝑘 entrante:

1) Divido todo el renglón r por 𝑦𝑘 𝑟 .


2) Utilizando la fila r , mediante operaciones elementales de filas del tipo 3, realizo ceros en la columna k
en todos los renglones de 1 a m salvo en el renglón m (donde tengo 1).
3) Cambio las variables de la base sustituyendo a 𝑥𝐵𝑟 por 𝑥𝑘 .

5.2.4 Elementos en el Tableau

Matriz B: Matriz formada por las columnas de A correspondientes a las variables básicas, teniendo en cuenta el
orden de la identidad en el tableau.

Matriz N: Matriz formada por las columnas de A correspondientes a las variables no básicas.

Si 𝑏 ≥ 0 y A contiene una matriz identidad:

Matriz 𝑩−𝟏 : Matriz formada por las columnas del tableau correspondientes a la matriz identidad original del
tableau.

I.P.A. - 2009
5.3 TIPOS DE SOLUCIONES OBTENIDAS
Una vez que llego a la condición de parada, podemos analizar qué tipo de soluciones hemos obtenido. Como estas condiciones se basan en la no anulación de 𝑧𝑗 − 𝑐𝑗
con 𝑗 ∈ 𝑅 o en la no anulación de 𝑏, se cumplen tanto para un caso de maximización o de minimización. Además, analizaremos los distintos casos dentro de una
condición de no parada.

𝐵 −1 𝑏 SBF única no degenerada


𝑏>0
𝑧𝑗 − 𝑐𝑗 ≠ 0, ∀𝑗 ∈ 𝑅 0
𝐵 −1 𝑏 SBF única degenerada
𝑏≯0
0
𝐵 −1 𝑏 −𝑦𝑘
0 0
Maximización: Hay algún 𝑥𝑘 con ⋮ ⋮
𝑧𝑗 − 𝑐𝑗 ≥ 0, ∀𝑗 ∈ 𝑅 𝑟𝑥 0 ,𝑑 = + 𝑥𝑘 1 ; 𝑥𝑘 ≥ 0
𝑦𝑘 ≤ 0 0
⋮ ⋮
Minimización: Existen 𝑥𝑘 tales 0 0
𝑧𝑗 − 𝑐𝑗 ≤ 0, ∀𝑗 ∈ 𝑅 que 𝑧𝑘 − 𝑐𝑘 = 0, 𝑥0∗ 𝑥0 = 𝜆𝑥0∗ + 1 − λ 𝑥0 , con 𝜆 ∈ 0,1
con 𝑘 ∈ 𝑅 Algún 𝑥𝑘 cumple 𝑏𝑟 > 0
donde 𝑥0∗ es la nueva SBF obtenida al
(Es decir: entra a la base no en nivel 0)
Ningún 𝑥𝑘 tiene iterar.
𝑦𝑘 ≤ 0
Todos los 𝑥𝑘 cumplen 𝑏𝑟 = 0 𝐵 −1 𝑏 SBF única degenerada
(Es decir: entran a la base en nivel 0) 0
Maximización:
Hay algún 𝑥𝑘 con
Existen 𝑥𝑘 tales Solución no acotada. Valor óptimo: −∞
𝑦𝑘 ≤ 0
que 𝑧𝑘 − 𝑐𝑘 < 0,
con 𝑘 ∈ 𝑅 𝑏𝑟 = 0 −1
Tomo otra 𝑥𝑘 . Si no hay otra 𝑥𝑘 para entrar, entonces 𝐵 𝑏 única
Elijo 𝑥𝑘 (por ejemplo el 0
Minimización: Ningún 𝑥𝑘 tiene Caso ciclado degenerada.
de valor absoluto
Existen 𝑥𝑘 tales 𝑦𝑘 ≤ 0
mayor)
que 𝑧𝑘 − 𝑐𝑘 > 0, 𝑏𝑟 ≠ 0 Itero.
con 𝑘 ∈ 𝑅
Capítulo 6. BÚSQUEDA DE SBF INICIAL
6.1 TRANSFORMACIÓN DEL VECTOR b EN ≥ 𝟎
Considérese el problema de programación lineal:
Minimizar/Maximizar 𝑐𝑥.
Sujeto a: 𝐴𝑥 = 𝑏
𝑥≥0
con 𝐴𝑚 ×𝑛 y 𝑏 un vector 𝑑𝑒 ℝ𝑚 con 𝑟𝑎𝑛𝑔𝑜 𝐴 = 𝑚.

Si existe algún 𝑏𝑖 < 0, multiplicamos la i-ésima restricción por −1. Luego obtenemos un problema de la forma:

Considérese el problema de programación lineal:


Minimizar/Maximizar 𝑐𝑥.
Sujeto a: 𝐴𝑥 = 𝑏
𝑥≥0

con 𝐴𝑚 ×𝑛 y 𝑏 ≥ 0 un vector 𝑑𝑒 ℝ𝑚 con 𝑟𝑎𝑛𝑔𝑜 𝐴 = 𝑚.

6.2 BÚSQUEDA DE SBF INICIAL


Por lo visto anteriormente, dada una SBF sabemos mejorarla hasta llegar a la solución del problema. Sin
embargo, no siempre es fácil encontrar una SBF inicial.

Considérese el problema de programación lineal:


Minimizar/Maximizar 𝑐𝑥.
Sujeto a: 𝐴𝑥 = 𝑏
𝑥≥0

con 𝐴𝑚 ×𝑛 y 𝑏 ≥ 0 un vector 𝑑𝑒 ℝ𝑚 con 𝑟𝑎𝑛𝑔𝑜 𝐴 = 𝑚.

Caso 1: A conteniendo una matriz identidad

𝑏
Observación: 𝐵 = 𝐼 ⟹ 𝑒𝑠 𝑆𝐵𝐹.
0
𝑏
Dem.: 𝐵 = 𝐼 ⟹ 𝐵 −1 = 𝐼 ⟹ 𝐵 −1 . 𝑏 = 𝐼. 𝑏 = 𝑏 ⟹ 𝑥𝐵 = 𝑏 ≥ 0 ⟹ es SBF . 
0

Caso 2: A no conteniendo una matriz identidad

Ya vimos que teniendo una matriz identidad contenida en A es muy sencillo hallar una SBF inicial al problema.
Por eso, introducimos lo que llamamos VARIABLES ARTIFICIALES en las restricciones necesarias para
completar una identidad dentro de A. Es decir: si no existe columna de A que coincida con el vector canónico de
ℝ𝑚 𝑒𝑗 , introducimos en la j-ésima restricción una variable artificial 𝑥𝑎𝑗 ≥ 0:

𝑎1𝑗 𝑥1 + ⋯ + 𝑎𝑛𝑗 𝑥𝑛 = 𝑏𝑗 ⟹ 𝑎1𝑗 𝑥1 + ⋯ + 𝑎𝑛𝑗 𝑥𝑛 + 𝑥𝑎𝑗 = 𝑏𝑗

De este modo, las restricciones del problema quedan planteadas de la siguiente manera: 𝐴𝑥 + 𝑥𝑎 = 𝑏

(Nótese que en las restricciones donde no era necesario introducir una variable artificial, la componente de 𝑥𝑎
se da con el valor 0)

A este nuevo problema, por ser del caso 1, es fácil hallarle una SBF inicial.

Sin embargo: 𝐴𝑥 = 𝑏 ⟺ 𝐴𝑥 + 𝑥𝑎 = 𝑏 𝑐𝑜𝑛 𝑥𝑎 = 0, por lo que una solución factible del nuevo problema será
también solución factible del problema original si, y sólo si, las variables artificiales introducidas toman el valor
0.
Matemática Aplicada Programación Lineal

A continuación describiremos dos métodos que nos permiten la eliminación de las variables artificiales
(llevarlas al nivel 0), encontrando simultáneamente SBF inicial al problema original.

6.2.1 El Método de las dos Fases

Considérese el problema de programación lineal:


Minimizar/Maximizar 𝑐𝑥.
Sujeto a: 𝐴𝑥 + 𝑥𝑎 = 𝑏
𝑥, 𝑥𝑎 ≥ 0

con 𝐴𝑚 ×𝑛 y 𝑏 ≥ 0 un vector 𝑑𝑒 ℝ𝑚 con 𝑟𝑎𝑛𝑔𝑜 𝐴 + 𝐼 = 𝑚.

Con este método intentaremos eliminar las variables artificiales minimizando 𝟏𝑥𝑎 .

FASE 1:
Minimizar 𝟏𝑥𝑎 .
Sujeto a: 𝐴𝑥 + 𝑥𝑎 = 𝑏
𝑥, 𝑥𝑎 ≥ 0
Si al alcanzar optimalidad:

𝑥𝑎 ≠ 0 ⟹ el problema original tiene región factible vacía.

𝑥𝑎 = 0 ⟹ el problema original tiene región factible no vacía y el punto donde se alcanza optimalidad
(son considerar las variables artificiales) es una SBF del problema original.

En este caso:
 Si todas las variables artificiales son no básicas: la matriz base de la SBF hallada del problema original
coincide con la matriz base del valor óptimo.

 Si alguna de las variables artificiales es básica: La matriz base de la SBF hallada del problema original es
la matriz base del valor óptimo sustituyendo la columna correspondiente a la variable artificial por
cualquier columna de una variable no básica que no sea artificial.

FASE 2:
Minimizar/Maximizar 𝑐𝑥.
Sujeto a: 𝐴𝑥 = 𝑏
𝑥≥0

Iniciando el método con la SBF hallada en la fase 1.

Observación: En tableau para iniciar esta fase los renglones 1 a m son una copia del tableau óptimo de la fase
1, eliminando las columnas correspondientes a las variables artificiales.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

6.2.2 El Método de la gran M

Considérese el problema de programación lineal:


Minimizar/Maximizar 𝑐𝑥.
Sujeto a: 𝐴𝑥 + 𝑥𝑎 = 𝑏
𝑥, 𝑥𝑎 ≥ 0

con 𝐴𝑚 ×𝑛 y 𝑏 ≥ 0 un vector 𝑑𝑒 ℝ𝑚 con 𝑟𝑎𝑛𝑔𝑜 𝐴 + 𝐼 = 𝑚.

Con este método intentaremos eliminar las variables artificiales haciendo pagar una pena muy grande M si las
variables artificiales no se hacen 0, reflejando la inconveniencia de que 𝑥𝑎 ≠ 0 pagando un costo muy grande en
la función objetivo. Considerando 𝑀 > 0 (grande), transformamos el problema:

Problema original Problema penalizado

Maximizar 𝑐𝑥. Maximizar 𝑐𝑥 − 𝑀. 𝟏𝑥𝑎 .


Sujeto a: 𝐴𝑥 = 𝑏 ⟹ Sujeto a: 𝐴𝑥 + 𝑥𝑎 = 𝑏
𝑥≥0 𝑥, 𝑥𝑎 ≥ 0

Minimizar 𝑐𝑥. Minimizar 𝑐𝑥 + 𝑀. 𝟏𝑥𝑎 .


Sujeto: 𝐴𝑥 = 𝑏 ⟹ Sujeto a: 𝐴𝑥 + 𝑥𝑎 = 𝑏
𝑥≥0 𝑥, 𝑥𝑎 ≥ 0

Si al alcanzar optimalidad:

el punto donde se alcanza optimalidad (sin considerar las


𝑥𝑎 = 0 ⟹
variables artificiales) es una SBF del problema original.
𝐕𝐚𝐥𝐨𝐫 ó𝐩𝐭𝐢𝐦𝐨 𝐟𝐢𝐧𝐢𝐭𝐨
𝑥𝑎 ≠ 0 ⟹ el problema original tiene región factible vacía.

el problema original tiene solución óptima no


𝑥𝑎 = 0 ⟹
acotada.
𝐕𝐚𝐥𝐨𝐫 ó𝐩𝐭𝐢𝐦𝐨 𝐧𝐨 𝐚𝐜𝐨𝐭𝐚𝐝𝐨
𝑥𝑎 ≠ 0 ⟹ el problema original tiene región factible vacía.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Capítulo 7. KUHN - TUCKER

Teorema: (PARA RESTRICCIONES EN DESIGUALDAD)

Considérese el problema de programación lineal:


Minimizar 𝑐𝑥.
Sujeto a: 𝐴𝑥 ≥ 𝑏
𝑥≥0

𝑥 𝑒𝑠 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 ó𝑝𝑡𝑖𝑚𝑎 𝑑𝑒𝑙 𝑝𝑟𝑜𝑏𝑙𝑒𝑚𝑎 ⟺ 𝑒𝑥𝑖𝑠𝑡𝑒 𝑢𝑛 𝑣𝑒𝑐𝑡𝑜𝑟 𝑣 𝑑𝑒 ℝ𝑛 𝑦 𝑒𝑥𝑖𝑠𝑡𝑒 𝑢𝑛 𝑣𝑒𝑐𝑜𝑡 𝑤 𝑑𝑒 ℝ𝑚 𝑡𝑎𝑙𝑒𝑠 𝑞𝑢𝑒:

𝐴𝑥 ≥ 𝑏 𝑥≥0
𝑐 − 𝑤𝐴 − 𝑣 = 0 𝑤 ≥ 0 𝑣 ≥ 0
𝑤 𝐴𝑥 − 𝑏 = 0 𝑣𝑥 = 0

Definiciones:

 La 1º condición 𝐴𝑥 ≥ 𝑏, 𝑥 ≥ 0 se conoce como FACTIBILIDAD PRIMAL.


 La 2º condición 𝑐 − 𝑤𝐴 − 𝑣 = 0, 𝑤 ≥ 0, 𝑣 ≥ 0 se conoce como FACTIBILIDAD DUAL.
 La 3º condición 𝑤 𝐴𝑥 − 𝑏 = 0, 𝑣𝑥 = 0 se conoce como HOLGURA COMPLEMENTARIA.

 Los vectores 𝑣 y 𝑤 se conocen como MULTIPLICADORES DE LAGRANGE.

Observación: 𝑤 𝐴𝑥 − 𝑏 = 0 ⟺ ∀𝑖 = 1, … , 𝑛 ∶ 𝑤𝑖 = 0 𝑜 𝑙𝑎 𝑖 − é𝑠𝑖𝑚𝑎 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑑𝑒 𝑕𝑜𝑙𝑔𝑢𝑟𝑎 𝑒𝑠 0

Observación: 𝑣𝑥 = 0 ⟺ ∀𝑗 = 1, … , 𝑚 ∶ 𝑣𝑗 = 0 𝑜 𝑥𝑗 = 0

Teorema: (PARA RESTRICCIONES EN IGUALDAD)

Considérese el problema de programación lineal:


Minimizar 𝑐𝑥.
Sujeto a: 𝐴𝑥 = 𝑏
𝑥≥0

𝑥 𝑒𝑠 𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 ó𝑝𝑡𝑖𝑚𝑎 𝑑𝑒𝑙 𝑝𝑟𝑜𝑏𝑙𝑒𝑚𝑎 ⟺ 𝑒𝑥𝑖𝑠𝑡𝑒 𝑢𝑛 𝑣𝑒𝑐𝑡𝑜𝑟 𝑣 𝑑𝑒 ℝ𝑛 𝑦 𝑒𝑥𝑖𝑠𝑡𝑒 𝑢𝑛 𝑣𝑒𝑐𝑜𝑡 𝑤 𝑑𝑒 ℝ𝑚 𝑡𝑎𝑙𝑒𝑠 𝑞𝑢𝑒:

𝐴𝑥 = 𝑏 𝑥≥0
𝑐 − 𝑤𝐴 − 𝑣 = 0 𝑤 𝑛𝑜 𝑟𝑒𝑠𝑡𝑟𝑖𝑛𝑔𝑖𝑑𝑎 𝑣≥0
𝑣𝑥 = 0

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Capítulo 8. DUALIDAD Y SENSIBILIDAD

8.1 DUALIDAD EN FORMA ESTÁNDAR Y CANÓNICA

Dualidad en forma canónica

Problema primal: Problema dual:

(P) Minimizar 𝑐𝑥 (D) Maximizar 𝑤𝑏


Sujeto a 𝐴𝑥 ≥ 𝑏 Sujeto a 𝑤𝐴 ≤ 𝑐
𝑥≥0 𝑤≥0

En la definición canónica de dual es importante que (P) tenga un objetivo de minimización, además de
que las restricciones sean de la forma ≥ y las variables de decisión no negativas.

Dualidad en forma estándar

Problema primal: Problema dual:

(P) Minimizar 𝑐𝑥 (D) Maximizar 𝑤𝑏


sujeto a 𝐴𝑥 = 𝑏 sujeto a 𝑤𝐴 ≤ 𝑐
𝑥≥0 𝑤 no restringida

Teorema: La forma estándar y canónica de dualidad son equivalentes.

Dem.: Supondremos la forma estándar como una definición, y probaremos que la canónica se deduce
de ella.

Dado el problema (P) Minimizar 𝑐𝑥


sujeto a 𝐴𝑥 ≥ 𝑏
𝑥≥0
Lo llevamos a forma estándar agregando las (P) Minimizar 𝑐𝑥
variables de holgura sujeto a 𝐴𝑥 − 𝑰𝑥𝑕 = 𝑏
𝑥, 𝑥𝑕 ≥ 0

Expresamos su dual (D) Maximizar 𝑤𝑏


sujeto a 𝑤𝐴 ≤ 𝑐
−𝑤𝑰 ≤ 0
𝑤 no restringida

Decir −𝑤𝐼 ≤ 0 y 𝑤 no restringida es lo (D) Maximizar 𝑤𝑏


mismo a decir 𝑤 ≥ 0, por lo que nos queda sujeto a 𝑤𝐴 ≤ 𝑐
𝑤≥0

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Teorema: El dual del dual es el primal.

Dem.:

Dado el problema: (P) Minimizar 𝑐𝑥


sujeto a 𝐴𝑥 ≥ 𝑏
𝑥≥0
Expresamos su dual: (D) Maximizar 𝑤𝑏
sujeto a 𝑤𝐴 ≤ 𝑐
𝑤≥0
Lo transformamos:
(D) Minimizar −𝑏𝑡 𝑤 𝑡
(𝐴. 𝐵)𝑡 = 𝐵𝑡 . 𝐴𝑡
sujeto a (−𝐴𝑡 )𝑤 𝑡 ≥ −𝑐 𝑡
𝑢 ≤ 𝑣 ⇔ 𝑢𝑡 ≤ 𝑣 𝑡
𝑤𝑡 ≥ 0
𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝑍 = 𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 − 𝑍
Expresamos su dual: (D’) Maximizar 𝑥 𝑡 (−𝑐)𝑡
sujeto a 𝑥 (−𝐴𝑡 ) ≤ −𝑏𝑡
𝑡

𝑥𝑡 ≥ 0
Lo transformamos:
(D’) Minimizar 𝑐𝑥
(𝐴. 𝐵)𝑡 = 𝐵𝑡 . 𝐴𝑡
sujeto a 𝐴𝑥 ≥ 𝑏
𝐴𝑡 𝑡 = 𝐴
𝑥≥0
𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝑍 = 𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 − 𝑍

8.2 FORMAS MIXTAS DE DUALIDAD

Problema primal: Problema dual:

(P) Minimizar 𝑐𝑥 (D) Maximizar 𝑤1 𝑏1 + 𝑤2 𝑏2 + 𝑤3 𝑏3


sujeto a 𝐴1 𝑥 ≥ 𝑏1 sujeto a 𝑤1 𝐴1 + 𝑤2 𝐴2 + 𝑤3 𝐴3 ≤ 𝑐
𝐴2 𝑥 = 𝑏2 −𝑤1 . 𝐼 ≤ 0
𝐴3 𝑥 ≤ 𝑏3 𝑤3 . 𝐼 ≤ 0
𝑥≥0 𝑤2 no restringida

8.3 RELACIONES ENTRE EL PROBLEMA DUAL Y EL PROBLEMA DUAL

PRIMAL DUAL
Minimización Maximización
≥0 ≤
RESTRICCIONES
VARIABLES

≤0 ≥
No
=
restringida

≥ ≥0
RESTRICCIONES

VARIABLES

≤ ≤0
No
=
restringida

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Lema: El valor de la función objetivo para cualquier solución factible del primal (en minimización), es
siempre ≥ que valor de la función objetivo para cualquier solución factible del dual (en maximización).

Dem.: Considérese la forma canónica de dualidad y sean 𝑥0 y 𝑤0 solución factible de los problemas
primal y dual, respectivamente. Entonces:
𝐴𝑥0 ≥ 𝑏 y 𝑥0 ≥ 0
𝑤0 𝐴 ≤ 𝑐 y 𝑤0 ≥ 0

Multiplicando 𝐴𝑥0 ≥ 𝑏 por 𝑤0 ≥ 0 a la izquierda: 𝑤0 𝐴𝑥0 ≥ 𝑤0 𝑏


Multiplicando 𝑤0 𝐴 ≤ 𝑐 por 𝑥0 ≥ 0 a la derecha: 𝑤0 𝐴𝑥0 ≤ 𝑐𝑥0

Luego: 𝑤0 𝑏 ≤ 𝑤0 𝐴𝑥0 ≤ 𝑐𝑥0 ⇒ 𝑤0 𝑏 ≤ 𝑐𝑥0


𝑣𝑎𝑙𝑜𝑟 𝑣𝑎𝑙𝑜𝑟
𝑓𝑢𝑛𝑐𝑖 ó𝑛 𝑓𝑢𝑛𝑐𝑖 ó𝑛
𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑜𝑏𝑗𝑒𝑡𝑖𝑣𝑜
𝑑𝑢𝑎𝑙 𝑝𝑟𝑖𝑚𝑎𝑙

Corolario:
 El valor objetivo de cualquier solución del primal (problema de minimización) da una cota
superior del valor objetivo óptimo del dual (problema de maximización).

 El valor objetivo de cualquier solución del dual (problema de maximización) da una cota inferior
del valor objetivo óptimo del primal (problema de minimización).

Corolario: Si 𝑥0 y 𝑤0 son solución factible de los problemas primal y dual respectivamente, y son tales
que 𝑐𝑥0 = 𝑤0 𝑏, entonces 𝑥0 y 𝑤0 son soluciones óptimas de sus respectivos problemas.

Dem.: Supongamos que 𝑥0 no es solución óptima del primal. Entonces, existe 𝑥 ∗ ≠ 𝑥0 tal que
𝑐𝑥 ∗ < 𝑐𝑥0 . Sin embargo del lema anterior sabemos que 𝑐𝑥0 = 𝑤0 𝑏 ≤ 𝑐𝑥 ∗ , por lo que 𝑐𝑥0 ≤ 𝑐𝑥 ∗ ,
contradiciendo la suposición.
Análogamente para 𝑤0 .

Corolario: Si uno de los problemas tiene valor óptimo no acotado, entonces el otro problema no tiene
solución factible.

Dem.: Tomemos el caso en que el problema primal tiene valor óptimo no acotado, y que el problema
dual no tenga región factible vacía. Entonces, existe 𝑤0 solución factible del dual, por lo que por lema,
el valor óptimo del primal es tal que 𝑤0 𝑏 ≤ 𝑐𝑥, por lo que está acotado inferiormente, contradiciendo
el no acotamiento.
Análogamente, si el dual tiene valor óptimo no acotado, el primal tendrá región factible vacía.

Nota: Que uno de los problemas no tenga solución factible no implica que el otro problema tenga
solución factible no acotada. Es decir, el recíproco del corolario anterior no es cierto.
(Ver contraejemplo página 240)

I.P.A. - 2009
Matemática Aplicada Programación Lineal

8.3.1 Dualidad y condiciones de optimalidad de Khun-Tuker.

Lema: Si uno de los problemas tiene solución óptima, entonces el otro problema tiene solución óptima y
sus valores óptimos son iguales.

Dem.: Tomemos el caso en que existe 𝑥0 solución óptima del problema primal. Entonces, por las
condiciones de optimalidad de Khun-Tuker, existe 𝑤0 y existe 𝑣 tal que:
𝐴𝑥0 ≥ 𝑏 y 𝑥0 ≥ 0 (1)
𝑐 − 𝑤0 𝐴 − 𝑣 = 0 y 𝑤0 ≥ 0, 𝑣 ≥ 0 (2)
𝑤0 𝐴𝑥0 − 𝑏 = 0 y 𝑣𝑥0 = 0 (3)

De (2) deducimos que 𝑣 = 𝑐 − 𝑤0 𝐴 ; y sustituyendo en (2) y (3) obtenemos que :

𝐴𝑥0 ≥ 𝑏 y 𝑥0 ≥ 0 (a)
𝑤0 𝐴 ≤ 𝑐 y 𝑤0 ≥ 0 (b)
𝑤0 𝐴𝑥0 − 𝑏 = 0 y 𝑐 − 𝑤0 𝐴 𝑥0 = 0 (c)

De (a) 𝑥0 es solución factible del primal.


De (b) 𝑤0 es solución factible del dual.
De (c) 𝑐. 𝑥0 = 𝑤0 𝑏

Luego, 𝑤0 es solución óptima del dual.


Teorema: (TEOREMA FUNDAMENTAL DE DUALIDAD)


Considérese un problema de programación primal (P) y su dual (D). Entonces, una y sólo una, de las
siguientes afirmaciones es cierta:

a) Ambos problemas tienen soluciones óptimas y sus valores óptimos son iguales.
b) Uno de los problemas tiene valor objetivo no acotado y el otro problema es no factible.
c) Ambos problemas son no factibles.

Dem: Directo por observaciones y lemas anteriores.


I.P.A. - 2009
Matemática Aplicada Programación Lineal

8.3.2 Holgura complementaria

Teorema: (HOLGURA COMPLEMENTARIA)


Considérese un problema de programación lineal primal (P) y su dual (D).

(P) Minimizar 𝑐𝑥
Sujeto a 𝐴𝑥 ≥ 𝑏
𝑥≥0

En caso de optimalidad:
 Si una variable de uno de los problemas es positiva, la restricción correspondiente en el otro
problema es activa (sin holgura).
 Si una restricción en uno de los problemas es inactiva (con holgura), la variante
correspondiente en el otro problema es nula.

Dem.: Ya hemos visto que si 𝑥 ∗ y 𝑤 ∗ son soluciones óptimas de los problemas dual y primal
respectivamente, tendremos que 𝑤 ∗ 𝑏 ≤ 𝑤 ∗ 𝐴𝑥 ∗ ≤ 𝑐𝑥 ∗ . Como además los valores óptimos coinciden
(𝑤 ∗ 𝑏 = 𝑐𝑥 ∗ ), resulta que:
𝑤 ∗ 𝑏 = 𝑤 ∗ 𝐴𝑥 ∗ = 𝑐𝑥 ∗

De aquí podemos deducir que:


𝑤 ∗ 𝑏 = 𝑤 ∗ 𝐴𝑥 ∗ ⇒ 𝑤 ∗ 𝐴𝑥 ∗ − 𝑏 = 0
𝑤∗ ≥ 0
⇒ 𝑤𝑖∗ 𝑎𝑖 𝑥 ∗ − 𝑏𝑖 = 0, para todo 𝑖 = 1, … , 𝑚 .
Además:
𝐴𝑥 ∗ ≥ 𝑏 ⇒ (𝐴𝑥 ∗ − 𝑏) ≥ 0

Análogamente, se deduce que: 𝑐𝑗 − 𝑤 ∗ 𝑎𝑗 𝑥𝑗∗ = 0, para todo 𝑗 = 1, … , 𝑛 .

Luego, es fácil de observar que una variable positiva debe ir acompañada de una restricción activa,
mientras que una restricción inactiva debe ir acompañada de una variable nula.

Corolario: (CONDICCIONES DE HOLGURA COMPLEMENTARIA)


Considérese un problema de programación lineal primal (P) y su dual (D).

(P) Minimizar 𝑐𝑥
Sujeto a 𝐴𝑥 ≥ 𝑏
𝑥≥0

Sean 𝑥 ∗ y 𝑤 ∗ soluciones óptimas de los problemas dual y primal respectivamente. Entonces:


𝑥𝑗∗ 𝑤𝑚∗
+𝑗 = 0, 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑗 = 1, … , 𝑛
∗ ∗
𝑤𝑖 𝑥𝑛+𝑖 = 0, 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑜 𝑖 = 1, … , 𝑚

Dem.: Sean las m variables de holgura del primal: 𝑥𝑛 +𝑖 = 𝑎𝑖 𝑥 − 𝑏𝑖 ≥ 0, con 𝑖 = 1, … , 𝑚; y las n


variables de holgura del dual: 𝑤𝑚 +𝑗 = 𝑐𝑗 − 𝑤𝑎𝑗 ≥ 0, con 𝑗 = 1, … , 𝑛. Luego, sustituyendo en el teorema
anterior se obtiene:
𝑥𝑗∗ 𝑤𝑚

+𝑗 = 0, para todo 𝑗 = 1, … , 𝑛
∗ ∗
𝑤𝑖 𝑥𝑛+𝑖 = 0, para todo 𝑖 = 1, … , 𝑚
que era nuestra tesis.

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Corolario: Si 𝑥 ∗ y 𝑤 ∗ son puntos factibles de sus problemas respectivos y satisfacen las condiciones de
holgura, entonces, son soluciones óptimas.

8.4 SENSIBILIDAD (INTERPRETACIÓN ECONÓMICA)

8.4.1 Análisis de sensibilidad para los términos independientes de la restricciones

Recodemos que las restricciones de un problema de programación lineal representan las limitantes de
recursos o los requisitos mínimos que tiene una empresa. La primer pregunta que podemos hacernos
es ¿cuánto estoy dispuesto a pagar por una unidad más de recurso? Y la respuesta a esto es el precio
sombra. La segunda pregunta que debemos plantearnos es ¿de cuántos recursos más puedo disponer
para mantener el óptimo?

8.4.1.1 Precio sombra

Hemos visto que en el caso de optimalidad, el valor óptimo del problema dual está dado por 𝑐𝐵 𝐵−1 𝑏, y
el del problema dual por 𝑤 ∗ 𝑏, valores que, además, coinciden. Por lo tanto:
𝑧 ∗ = 𝑐𝐵 𝐵−1 𝑏 = 𝑤 ∗ 𝑏
de lo cual se deduce que
𝜕𝑧 ∗
= 𝑐𝐵 𝐵−1 = 𝑤 ∗
𝜕𝑏
Es decir que la componente 𝑤𝑖∗ representa cuánto aumenta el valor objetivo por cada unidad que se
incrementa la componente i-ésima de b. A este concepto lo denominamos PRECIO SOMBRA de la i-
ésima restricción.

8.4.1.2 Intervalos de Sensibilidad

La idea es mantener la solución óptima alcanzada en la intersección de las mismas restricciones.


Gráficamente éste análisis resulta sumamente sencillo

PEGAR!!!

8.4.2 Análisis de sensibilidad para los coeficientes de costo de la función objetivo

8.4.2.1 Intervalos de Sensibilidad

Los intervalos de sensibilidad de los coeficientes de costo indican los posibles valores que pueden
tomar dichos coeficientes de forma de que el punto óptimo no sea afectado. Gráficamente éste análisis
resulta sumamente sencillo

PEGAR!!!

NOTA: Los intervalos de sensibilidad de los coeficientes de costo del primal coinciden con los
intervalos de sensibilidad de los términos independientes del dual y viceversa. (Siempre que estén en
forma canónica.)

8.5 EL MÉTODO SIMPLEX DUAL

8.5.1 Interpretación del dual sobre el tableau simplex del primal

I.P.A. - 2009
Matemática Aplicada Programación Lineal

Es importante analizar el tableau del primal, ya que en el mismo se encuentra insertado el tableau del
dual.

Lema: Considérese un problema de programación lineal primal (P) y su dual (D). Luego, el criterio
simplex de optimalidad4 en el primal implica factibilidad del dual.

Es más: Sea B una base que permite el criterio simplex de optimalidad del problema primal, entonces el
vector 𝑤 ∗ = 𝑐𝐵 𝐵−1 es solución factible del problema dual. Además, 𝑤𝑖∗ = − 𝑧𝑛+𝑖 − 𝑐𝑛+𝑖 = −𝑧𝑛+𝑖 , para
todo 𝑖 = 1, … , 𝑚.

Dem.: Consideremos un problema de programación lineal:

(P) Minimizar 𝑐𝑥
Sujeto a 𝐴𝑥 ≥ 𝑏
𝑥≥0

Escribámoslo en forma estándar:


(P) Minimizar 𝑐𝑥
Sujeto a 𝐴𝑥 − 𝑕 = 𝑏
𝑥≥0
donde h es el vector de las variables de holgura.

Dada una base B (no necesariamente factible) que da la condición simplex de optimalidad, es decir:
𝑧𝑗 − 𝑐𝑗 ≤ 0, para todo 𝑖 = 1, … , 𝑛 + 𝑚. (1)

Considérese el tableau para esa base:


Variables de holgura (vector h)

𝑧 𝑥1 ⋯ 𝑥𝑛 𝑥𝑛 +1 ⋯ 𝑥𝑛 +𝑚 𝐿𝐷
𝑧 1 𝑧1 − 𝑐1 ⋯ 𝑧𝑛 − 𝑐𝑛 𝑧𝑛+1 − 𝑐𝑛+1 ⋯ 𝑧𝑛+𝑚 − 𝑐𝑛+𝑚 𝑐𝐵 𝑏
𝑥𝐵1 0 𝑦1,1 ⋯ 𝑦1,𝑛 𝑦1,𝑛+1 ⋯ 𝑦1,𝑛+𝑚 𝑏1
⋮ ⋮ ⋮ ⋮⋯ ⋮ ⋮ ⋮⋯ ⋮ ⋮
𝑥𝐵𝑚 0 𝑦𝑚,1 ⋯ 𝑦𝑚,𝑛 𝑦𝑚,𝑛+1 ⋯ 𝑦𝑚,𝑛+𝑚 𝑏𝑚

Sea 𝑤 ∗ = 𝑐𝐵 𝐵−1 .
Demostraremos que 𝑤 ∗ es solución óptima del dual y que 𝑤𝑖∗ = −(𝑧𝑛+𝑖 − 𝑐𝑛+𝑖 ), para todo 𝑖 = 1, … , 𝑚.
Trabajaremos primero con las variables de decisión (𝑗 = 1, … , 𝑛), que tienen coeficiente de costo no nulo;
y luego con las variables de holgura (𝑗 = 𝑛 + 1, … , 𝑛 + 𝑚), que tienen coeficiente de costo nulo.

Observemos que para todo 𝑗 = 1, … , 𝑛 + 𝑚, 𝑧𝑗 − 𝑐𝑗 = 𝑐𝐵 𝐵−1 𝑎𝑗 − 𝑐𝑗 = 𝑤 ∗ 𝑎𝑗 − 𝑐𝑗

𝑗 = 1, … , 𝑛:
Si estamos frente a una solución óptima del primal P, por (1): Para todo 𝑖 = 1, … , 𝑛:
4
Condición de parada.
I.P.A. - 2009
Matemática Aplicada Programación Lineal

𝑤 ∗ 𝑎𝑗 − 𝑐𝑗 = 𝑧𝑗 − 𝑐𝑗 ≤ 0 ⟹ 𝑤 ∗ 𝑎𝑗 − 𝑐𝑗 ≤ 0 ⟹ 𝑤 ∗ 𝑎𝑗 ≤ 𝑐𝑗 ⟹ 𝑤 ∗ 𝐴 ≤ 𝑐 (i)
(1)

𝑗 = 𝑛 + 1, … , 𝑛 + 𝑚:
Como los 𝑥𝑗 = 𝑥𝑛 +𝑖 son las variables de holgura de cada restricción, para todo 𝑖 = 1, … , 𝑚 sabemos
que sabemos que 𝑎𝑛 +𝑖 = −𝑒𝑖 . Además, 𝑐𝑛+𝑖 = 0 ⟹

⟹ 𝑧𝑛+𝑖 − 𝑐𝑛+𝑖 = 𝑤 ∗ 𝑎𝑛 +𝑖 − 𝑐𝑛+𝑖 = 𝑤 ∗ −𝑒𝑖 − 0 = 𝑤 ∗ −𝑒𝑖 = −𝑤𝑖∗ .

Si estamos frente a una solución óptima del primal P, por (1): Para todo 𝑖 = 1, … , 𝑚:

−𝑤𝑖∗ = 𝑧𝑛+𝑖 − 𝑐𝑛+𝑖 ≤ 0 ⟹ −𝑤𝑖∗ ≤ 0 ⟹ 𝑤𝑖∗ ≥ 0 ⟹ 𝑤 ∗ ≥ 0 (ii)


(1)
Además: −𝑤𝑖∗ = 𝑧𝑛+𝑖 − 𝑐𝑛+𝑖 = 𝑧𝑛+𝑖 ⟹ −𝑤𝑖∗ = 𝑧𝑛+𝑖 ⟹ 𝑤𝑖∗ = −𝑧𝑛+𝑖
=0

De (i) y (ii): El vector 𝑤 ∗ es solución factible del dual. Estando 𝑤 ∗ es las condiciones de la tesis. 

Teorema: En optimalidad del problema primal de minimización, 𝑤 ∗ = 𝑐𝐵 𝐵−1 es solución óptima del
problema dual. Además, 𝑤𝑖∗ = − 𝑧𝑛+𝑖 − 𝑐𝑛+𝑖 = −𝑧𝑛+𝑖 , para todo 𝑖 = 1, … , 𝑚.

Dem.: Basándonos en el lema anterior, se tiene solución básica factible del primal si 𝑏 ≥ 0; es decir: si
𝑏 = 𝐵−1 . 𝑏 ≥ 0.

Se sabe además que 𝑤 ∗ = 𝑐𝐵 𝐵−1 es solución factible del dual con valor objetivo 𝑤 ∗ 𝑏 = 𝑐𝐵 𝐵−1 . 𝑏 =
= 𝑐𝐵 𝐵−1 𝑏 = 𝑐𝐵 𝑏 = 𝑧 ∗ ; por lo que los objetivos del primal y del dual son iguales, por lo que estamos
frente a soluciones óptimas.

I.P.A. - 2009