Está en la página 1de 94

OPTIMIZACIÓN

Tema 1. Problemas de Programación


Lineal.
Introducción

Metodología

Formalización de Modelos

Terminología Básica

Resolución Gráfica

Dpto. de Matemáticas, Estadística e Investigación Operativa. Universidad de La Laguna.


Introducción
La Programación Lineal es básica en Optimización. Se ocupa del estudio y
resolución de problemas en los que se maximiza o minimiza una función
lineal en un contexto definido por inecuaciones/ecuaciones lineales.
El Método del Simplex, introducido por G. B. Dantzig en 1947, resuelve
cualquier problema de Programación Lineal. Está considerado como uno de
los 10 algoritmos más importantes del siglo XX.
La Programación Lineal tiene gran importancia en Ingeniería
(comunicaciones, transporte, localización,..), Gestión y Organización
(planificación, optimización de recursos,…), Economía, Gobierno (políticas
de inversiones, de repartos,…), etc.

Nuestro estudio de la Programación Lineal contiene los elementos


necesarios para aplicar el Método del Simplex con los complementos
imprescindibles para facilitar la resolución de distintos casos prácticos.
Se inicia con la formalización de distintos problemas de Programación
Lineal. Se introduce la terminología básica y se aplica la resolución gráfica.
En el siguiente tema se estudia el Método del Simplex. Se introducen el
concepto fundamental de solución básica y las técnicas para encontrar una
solución básica factible inicial. Luego se estudia la dualidad como una
herramienta que posibilita la introducción de métodos alternativos como el
Método Simplex Dual.
Acaba el estudio con los problemas de Análisis de Sensitividad.
Metodología
En Programación Lineal, como parte de la Investigación Operativa, se usa la
metodología de ésta basada en el principio de modelización. Un esquema
de su aplicación es el siguiente.

DECISOR ANALISTA
problema modelo
formalización

deducción

conclusiones conclusiones
del problema interpretación del modelo

Aunque las fases de formalización y de interpretación son esenciales, el


trabajo en esta asignatura se centra más en la fase de deducción,
desarrollando herramientas que posibiliten obtener conclusiones del
modelo. Sin embargo, el trabajo desarrollado en esta fase puede resultar
poco productivo si no se presta especial atención a las otras dos.
Por ello, nos dedicaremos en primer lugar a formalizar algunos problemas
tipo.
Formalización de Modelos
Ejemplo 1: Problema de producción

Una empresa de ensamblaje de ordenadores comercializa tres tipos de


aparatos. Portátiles (A), de sobremesa (B) y servidores (C). Antes de
comercializar los productos deben ensamblarse en el departamento de
producción y ser revisados en el departamento de control de calidad.
Los tiempos, en horas, empleados en ambas tareas (H1 y H2), los
beneficios (en euros) de la venta de cada uno de los aparatos y las horas
semanales disponibles, vienen especificados en la siguiente tabla:

A B C Horas disponibles
H1/aparato 10 16 22 200
H2/aparato 4 2 5 120
Beneficio/ 275 325 675
aparato

El problema que se plantea es el de determinar la cantidad de cada tipo


de ordenadores que se deben ensamblar en una semana para maximizar
los beneficios de las ventas de los productos finales (respetando las
condiciones que se especifican).
Formalización de Modelos

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 beneficios (que hay que maximizar) serán iguales a
275x1  325x2  675x3
Las condiciones de producción implican que:
- Las horas de producción empleadas no pueden superar 200
10 x1  16 x2  22 x3  200

- Las horas de revisión deben ser, a lo sumo, 120


4 x1  2 x2  5x3  120

maximizar 275x1  325x2  675x3


El modelo matemático sujeto a: 10 x1  16 x2  22 x3  200
correspondiente es: 4 x1  2 x2  5x3  120
x j  0, j  1,2,3
Formalización de Modelos
costos

maximizar 275x1  325x2  675x3 Función objetivo


sujeto a: 10 x1  16 x2  22 x3  200
Recursos
4 x1  2 x2  5x3  120
x j  0, j  1,2,3
Restricciones
Coeficientes tecnológicos

t
max c x
Notación matricial s. a : Ax  b
x 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 3 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
Interesa diseñar una política de transporte, que minimice los costos
globales, atendiendo las demandas de los mercados y respetando las
ofertas de los almacenes
Las variables de decisión deben ser:

xij= cantidad de producto que se ha de transportar desde el almacén i al


mercado j, para i=1,2,3, j=1,2,3,4,5
Formalización de Modelos
min 2 x11  5x12  2 x13  4 x14  6 x15  5x21  2 x22  7x23  6 x24  3x25  4x31  6 x32  8x33  9x34  5x35
s. a : x11  x12  x13  x14  x15  38
x21  x22  x23  x24  x25  44
x31  x32  x33  x34  x35  69
x11  x21  x31  43
x12  x22  x32  29
x13  x23  x33  37
x14  x24  x34  14
x15  x25  x35  28
xij  0, i  1,2,3, j  1,2,3, 4,5

Este modelo, que elimina stocks en origen y en destino, es un caso


particular de: m n
min   cij xij
i 1 j 1
n
s. a :  xij  ai , i  1,..., m min c t x
j 1
m s. a : Ax  b
x
i 1
ij  bj , j  1,..., n x0
xij  0, i  1,..., m, j  1,..., n
Terminología Básica
Un problema de Programación Lineal queda determinado por:

min c t x
Forma
s. a : Ax  b
estándar
x0

siendo c el vector de costos, b el vector de recursos y A la matriz (con m


filas y n columnas) de coeficientes tecnológicos.
x es el vector de variables de decisión.
Se supone que e rango de A es máximo y que este coincide con el
número de filas.

Cualquier problema de Programación Lineal se puede convertir a uno


equivalente expresado en la forma estándar.

a) Si aparece una inecuación en las restricciones, se convierte en


ecuación sumando o restando una variable de holgura
3x1  5x2  2 x3  10 3x1  5x2  2 x3  x4  10
7 x1  6 x2  4 x3  8 7 x1  6 x2  4 x3  x4  8
Conversión a la forma estándar
b) Si aparece una variable no positiva, multiplicando por -1 se
convierte en no negativa
xj  0 x j  0

c) Si una variable no tiene signo especificado (libre, sin restringir en


signo), se puede sustituir por la diferencia de dos variables no
negativas.

6 0 6
 4 0 4
Se observa   
x 0 definimos x  0

y 
x  0
que si: 5 5 0
  
 7 7 0

Resulta que x  , x   0 y que x  x   x 

d) Maximizar la función objetivo es equivalente al negativo del mínimo


de dicha función

max c t x  min c t x
Conversión a la forma estándar
Dado el problema:

maximizar 25x1  35x2  75x3


sujeto a: 2x1  6 x2  4 x3  20
 4 x1  5x2  6 x3  18
x1  2 x2  3x3  10
x1  0, x2  0

El correspondiente problema en la forma estándar es:

minimizar  25x1  35x2  75x3  75 x4


sujeto a: 2x1  6 x2  4 x3  4 x4  x5  20
 4 x1  5x2  6 x3  6 x4  x6  18
x1  2 x2  3x3  3x4  10
x j  0, j  1,...,6
Resolución Gráfica RESOLUCIÓN GRÁFICA

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
4x1  2 x2  k
(2,6)
maximizar 4x1  2 x2
sujeto a:  x1  x2  4 Solución
3x1  2 x2  18 (0,4) óptima
k
3x1  x2  15 2 (4,3)
x1, x2  0

(0,0) (5,0)
Resolución Gráfica

Ejemplo 2
(2,6)

minimizar 2x1  3x2 (0,4.5)


sujeto a: x1  x2  4
(0,4)
3x1  4 x2  18
x1, x2  0

(0,0) (4,0) (6,0)

Problema no factible
Resolución Gráfica

Ejemplo 3

maximizar 3x1  4 x2 (0,5)


sujeto a: x1  x2  3
 x1  2 x2  10 (0,3)
x1  4 x2  4
k
x1, x2  0 4
(3,0)
(0,0) (4,0)
3x1  4 x2  k

Problema no acotado
OPTIMIZACIÓN

Tema 2. Método del Simplex.


Soluciones básicas y básicas factibles
Operaciones algebraicas
Método del Simplex
Tablas y aplicaciones del Método
No Acotación
Métodos para determinar soluciones básicas
iniciales
- Método de las dos fases
- Método de Penalización

Dpto. de Matemáticas, Estadística e Investigación Operativa. Universidad de La Laguna.


Soluciones básicas

Variable básica
En un sistema de m ecuaciones y n variables, 𝑛 ≥ 𝑚, una variable
se denomina básica si su coeficiente es igual a uno en una de las
ecuaciones y dicho coeficiente es igual a cero en el resto de las
ecuaciones.

Ejemplo 2x1  4x2  x3  8


En el sistema:
x1  x2 2

la variable 𝑥3 es básica en la primera ecuación.

Realizando operaciones que permiten pasar de un sistema a otro


equivalente, podemos convertir cualquier variable en básica.
En el sistema anterior podemos hacer que la variable 𝑥1 sea básica en la
primera ecuación dividiendo esta por 2 y, luego, restando la ecuación
resultante a la segunda ecuación; es decir: 1
x1  2 x2  x3  4
2
1
 3x2  x3  2
2
Soluciones básicas
Se observa que la operación realizada hace que 𝑥3 pierda la condición de
variable básica.
También en el sistema inicial podemos hacer que 𝑥2 sea básica en la
segunda ecuación multiplicando esta por -1 y, luego, restando la ecuación
resultante multiplicada por 4 a la primera:
6 x1  x3  16
 x1  x2  2
En este caso, tenemos una variable básica en cada una de las ecuaciones.
Igual ocurre si, en el sistema inicial, hacemos básica la primera variable en
la segunda ecuación:
6 x2  x3  4
x1  x2 2

A partir del sistema inicial, podríamos optar por hacer básicas la segunda
variable en la primera ecuación y la tercera variable en la segunda
ecuación:
 x1  x2  2
6 x1  x3  16
Soluciones básicas
Definición: Cuando en un sistema de ecuaciones se dispone de una
variable básica en cada una de las ecuaciones, tenemos una solución
básica. Los valores de las variables básicas se calculan directamente al
hacer igual a cero el correspondiente a cada variable no básica.

6 x1  x3  16
la solución básica es x1  0, x2  2, x3  16
 x1  x2  2

Por el contrario, en el sistema:

6 x2  x3  4
la solución básica es x1  2, x2  0, x3  4
x1  x2 2

Las argumentaciones anteriores permiten afirmar que para un sistema de


m ecuaciones y n variables, el número de soluciones básicas es finito ya
que cada una de ellas es el resultado de elegir m variables en el conjunto
𝑛
de n. Por tanto, dicho número es menor o igual que .
𝑚
Soluciones básicas factibles
Solución básica factible
Dado un problema de Programación Lineal en la forma estándar, una
solución básica factible es una solución básica para el conjunto de
ecuaciones cuyas variables básicas toman valores no negativos.

Propiedad fundamental
Si existe, el valor óptimo de un problema de Programación Lineal se
alcanza en una solución básica factible.

Esta propiedad es la base del Método del Simplex (G. B. Dantzig, 1947).
Partiendo de una solución básica factible, dicho método recorre
eficientemente un subconjunto de soluciones básicas factibles hasta
obtener el óptimo o concluir que el problema es no acotado.
Ejemplo
Dado el siguiente problema de Programación Lineal:

min 4 x1  2 x2  2 x3
s.a: 6 x2  x3  4
x1  x2 2
x1  0, x2  0, x3  0
Operaciones algebraicas
Para la solución básica: x1  2, x2  0, x3  4 el valor de la función objetivo
es z  16.

Si se incrementa el valor actual de 𝑥2 en una unidad, tenemos que para


x1  3, x2  1, x3  2 el valor de la función objetivo ahora es z  6 .

Por tanto, z  z  10 representa el crecimiento de la función objetivo,


respecto de la solución básica factible actual, por unidad incrementada a
𝑥2 .
Dicho valor es el costo relativo asociado a la citada variable. El signo
de este costo relativo indica que la solución básica factible actual no es
óptima ya que cada unidad incrementada a 𝑥2 implica un decrecimiento
de 10 unidades en el valor objetivo.

Puesto que, para conseguir el mayor decrecimiento en el valor objetivo,


el incremento de 𝑥2 debe ser máximo, tenemos :
x1  x2  2, x3  6x2  4, x2  0

Está claro que cuanto más crezca, mayor será el decrecimiento del valor
objetivo. Tenemos que la solución factible siguiente alcanza un valor
objetivo 28. 8 2
3 x1  , x2  , x3  0
3 3
Operaciones algebraicas
Esta solución también es básica según se deduce del siguiente sistema
equivalente al que define la región factible del problema inicial:
1 2
x2  x3 
6 3
1 8
x1  x3 
6 3
Por tanto, este proceso de hacer básica a la variable 𝑥2 (la variable no
básica con costo relativo negativo) en lugar de la 𝑥3 (la variable básica
que primero alcanza el valor cero cuando crece 𝑥2 ), hace posible
encontrar una solución básica factible mejor que la anterior. Se denomina
operación de pivotaje o, simplemente, pivotaje. Obviamente, si 𝑥3 puede
crecer hasta el infinito, se concluirá que el problema que se está
resolviendo es no acotado. Respecto a la nueva solución básica factible, el
5
costo relativo de la variable no básica 𝑥3 es igual a .Como este costo
3
relativo es no negativo y sólo existe una variable no básica, concluimos
que la solución básica factible actual es óptima.
Propiedad: Para un problema de Programación Lineal de mínimo, una
solución básica factible es óptima si los costos relativos de todas las
variables no básicas son no negativos. En el caso de máximo, la condición
de optimalidad se alcanza cuando sean no positivos los costos relativos de
las variables no básicas.Los costos relativos de las variables básicas son
siempre iguales a cero.
Método del Simplex
La búsqueda de una solución óptima de un problema de Programación
Lineal se realiza en una región definida por ecuaciones/inecuaciones
lineales. Dicha región se conoce en Geometría como politopo. La
denominación de un tipo particular de politopo, simplex, da el nombre del
método. Un esquema podría ser el siguiente:
Inicialización
Determinar una solución básica factible inicial.
Mientras
La solución básica factible actual no sea óptima, si no se detecta la no
acotación del problema, realizar el correspondiente pivotaje para
determinar una nueva solución básica factible mejor.
Nota: La operación de pivotaje intercambia el estatus entre una variable
básica y una variable no básica. Se dice que la primera sale de la base y
que la segunda entra en la base.

Soluciones básicas adyacentes


Si una solución básica se obtiene a partir de otra realizando un pivotaje,
se dice que ambas soluciones básicas son adyacentes. Por tanto, dos
soluciones básicas adyacentes tienen, exactamente, una variable básica
distinta. El método del simplex progresa generando en cada iteración una
solución básica factible que es adyacente a la anterior.
Tablas y aplicación del método
Organización del trabajo
La identificación de una solución básica factible, el cálculo de los costos
relativos, la detección de la optimalidad, y, cuando corresponda, la
selección de una variable candidata a ser básica, la determinación de la no
acotación y la realización del pertinente pivotaje, son tareas específicas de
la aplicación del Método del Simplex. Para acometerlas es interesante
disponerlas sobre una tabla en la que se produce la conversión de un
problema de Programación Lineal a un sistema de ecuaciones.
min 4 x1  2 x2  2 x3
s.a: 6 x2  x3  4
Para el problema:
x1  x2 2
x1  0, x2  0, x3  0

Construimos la siguiente Tabla del simplex:

V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥3 0 6 1 0 4
𝑥1 1 -1 0 0 2
-z 4 -2 2 1 0
Tablas y aplicación del método
La primera fila describe las columnas de variables básicas, coeficientes de
las distintas variables y constantes.
Las filas segundas y terceras contienen los coeficientes de las dos
ecuaciones de la región factible.
En la cuarta fila aparecen los coeficientes de la ecuación :
4x1  2x2  2x3  z  0
Si, en la tabla anterior, restamos a la tercera fila la suma de la primera
multiplicada por 2 más la segunda multiplicada por 4, obtenemos:

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.

min  4x1  2 x2  2 x3  x4  x5
Ejemplo s.a: 2x1  2 x2  4 x3  x4  10
Resolver el problema:
 x1  4 x2  2 x3  x5  16
x j  0, j  1,...,5
Tablas y aplicación del método
La tabla inicial asociada es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥4 2 -2 4 1 0 0 10
𝑥5 -1 4 -2 0 1 0 16
-z -4 -2 2 1 -1 1 0
En esta tabla el bloque central describe una solución básica (con 𝑥4 y 𝑥5
como variables básicas), pero en la última fila no aparecen los costos
relativos. Si a la última fila restamos la segunda y, luego, sumamos la
tercera, obtenemos:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥4 2 -2 4 1 0 0 10
𝑥5 -1 4 -2 0 1 0 16
-z -7 4 -4 0 0 1 6
En la última fila aparecen los costos relativos y el valor objetivo
(cambiado de signo) asociados a la solución básica factible actual. Se
observa que esta solución no es óptima. La conversión de 𝑥1 o de 𝑥3 en
variables básicas haría decrecer el valor objetivo actual ya que ambas
tienen costos relativos negativos. La regla de selección de la variable no
básica con costo relativo mínimo (caso de mínimo) es conocida como
Regla de Dantzig. Según esta regla, es 𝑥1 la variable seleccionada para
convertirse en básica. Operando como hemos indicado anteriormente, 𝑥4
dejará de ser básica:
Tablas y aplicación del método
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

Ahora la variable 𝑥2 se convierte en básica sustituyendo a 𝑥5 .


Obtenemos:

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.
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.
min  6 x1  4 x2  x3
s.a:  2x1  2 x2  x3  x4 8
 x1  2 x2  3x3  x5  6
x j  0, j  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 = l≥ 0, entonces :
𝑥4 =8+2l ≥ 0, 𝑥5 =6+l ≥ 0
En este caso l puede crecer hacia el infinito.
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
La aplicación del Método del Simplex necesita una solución básica factible
inicial. Cuando en el problema que se va a resolver no existen tantas
variables básicas como ecuaciones, añadimos artificialmente las variables
básicas necesarias (variables artificiales) para disponer de una solución
básica factible inicial y aplicar el algoritmo del Simplex. Como no hay que
olvidar que el problema que interesa resolver es el inicial, deben usarse
mecanismos que intenten eliminar las variables artificiales.

Ejemplo min  3x1  2 x2  x3


Resolver el problema: s.a: 2x1  x2  x3 8
 2 x1  2 x2  x3  6
x j  0, j  1,2,3

Solución
Son necesarias dos variables básicas que añadimos de forma artificial:
2x1  x2  x3  x4 8
2 x1  2 x2  x3  x5  6
x j  0, j  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 x4  x5
s.a: 2x1  x2  x3  x4 8
 2 x1  2 x2  x3  x5  6
x j  0, j  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 (es
acotado). Intentemos resolver el problema anterior aplicando el Método
del 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 : x4  x5  w  0
(w 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

En esta tabla aparece una solución óptima para el problema de la Fase I.


Como en dicha solución óptima las variables artificiales son iguales a
cero, su eliminación de la tabla nos ofrece una solución básica para el
problema inicial. La versión equivalente de este problema sería:
Método de las dos fases
min  3 x1  2 x2  x3
1 5
s.a: x1  x3 
2 3
14
x2 
3
Fase II x j  0, j  1, 2,3
Resuelve el último problema partiendo de la solución básica factible
calculada en la Fase I. La tabla correspondiente es:
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

Se observa que en la última tabla de la fase I se han borrado las


columnas correspondientes a variables artificiales y que, luego, en la
última fila se ha escrito la ecuación:  3x1  2x2  x3  z  0
que corresponde a la función objetivo del problema inicial. Sumando a la
última fila la segunda multiplicada por 3 más la tercera multiplicada por -
2, obtenemos:
Método de las dos fases

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.
Método de las dos Fases
Al no disponer de una solución básica factible inicial, este método usa en
la Fase I un problema auxiliar en el que se minimiza la suma de las
variables artificiales añadidas para poder aplicar el método del Simplex.
En el caso general, el problema de la Fase I será:
m
min  xn i
i 1
n
s.a :  aij x j  xn i  bi , i  1,..., m
j 1

x j  0, j  1,..., n, xn i  0, i  1,..., m
Método de las dos fases
m m
Es claro que 0  w  x
i 1
n i   bi
i 1
Por tanto,m el problema de la Fase I siempre tiene solución óptima para la
que w   xn  i  0
i 1

Si 𝑤 > 0, es imposible eliminar todas las variables artificiales y, por tanto,


el problema inicial no tiene solución (Problema no factible). Si 𝑤 = 0, al
disponer de una solución básica factible expresada en términos de las
variables del problema inicial, se puede iniciar la Fase II eliminando de la
última tabla de trabajo las variables artificiales y reescribiendo en su
última fila la ecuación que corresponde a la función objetivo inicial.

Ejemplo
min  x1  4 x2  2 x3
Resolver el problema: s.a: 2x1  6 x2  x3  10
 4 x1  2 x2  x3  8
x j  0, j  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:
Método de las dos fases
min x4  x5
s.a: 2x1  6 x2  x3  x4  10
 4 x1  2 x2  x3  x5  8
x j  0, j  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

Si incorporamos a esta tabla los costos relativos:

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 2 4 0 0 0 1 -18

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 x1  4 x2  2 x3
s.a: 2x1  4 x2  2 x3  10
 2 x1  x2  4 x3  12
x j  0, j  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 x4  x5
s.a: 2x1  4 x2  2 x3  x4  10
 2 x1  x2  4 x3  x5  12
x j  0, j  1,...,5

La correspondiente tabla será:


Método de las dos fases

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
Calculando los costos relativos obtenemos:

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

La variable 𝑥1 se convierte en básica sustituyendo a 𝑥4 . La nueva tabla


es:
Método de las dos fases
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 x1  4 x2  2 x3
3 4
s.a: x1  x2 
2 3
1 11
 x2  x3 
2 3
La tabla asociada es:
x j  0, j  1, 2,3
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 las dos fases
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.

Ejercicio. Resolver el siguiente problema de PL por el método de las dos


fases.
max 4x1  3 x2
s.a : 2 x1  3 x2  8
6 x1  x2  4
x1  0, x2  0
Método de Penalización (M grande)

La necesaria eliminación de las variables artificiales introducidas para


determinar una solución básica inicial, se puede acometer en una única
fase resolviendo un problema en el que se penalizan los valores positivos
de estas (problema penalizado). Esta penalización implicará la tendencia
de las variables artificiales a ser no básicas.
En el caso general, el problema penalizado será:

n m
min  c j x j  M  xn  i
j 1 i 1
n
s.a :  aij x j  xn  i  bi , i  1,..., m
j 1

x j  0, j  1,..., n, xn  i  0, i  1,..., m
Método de Penalización (M grande)
Ejemplo. Resolver el problema:
min  x1  3x2  4 x3
s.a: 2x1  x2  x3  12
4 x1  2 x2  2 x3  8
Solución x j  0, j  1,2,3
Consideramos dos variables artificiales cuyos valores positivos se penalizan
en la función objetivo multiplicando por 𝑀 > 0 suficientemente grande.
Obtenemos:
min  x1  3x2  4 x3  Mx4  Mx5
s.a: 2x1  x2  x3  x4  12
4 x1  2 x2  2 x3  x5  8
x j  0, j  1,2,3

Aplicamos el Método del 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

En la última fila se escribe:  x1  3x2  4x3  Mx4  Mx5  zM  0


Método de Penalización (M grande)
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-6M 3-M -4+M 0 0 1 -20M
Efectivamente, -1-6M es el costo relativo más negativo. Por tanto, 𝑥1 se
convierte en básica en lugar de 𝑥5 . Obtenemos la tabla:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -zM Constantes
𝑥4 0 -2 2 1 -1/2 0 8
𝑥1 1 1/2 -1/2 0 1/4 0 2
-zM 0 7/2+2M -9/2-2M 0 1/4+3M/2 1 2-8M
𝑥3 se convierte en básica en lugar de 𝑥4 . Obtenemos la tabla:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -zM Constantes


𝑥3 0 -1 1 1/2 -1/4 0 4
𝑥1 1 0 0 1/4 1/8 0 4
-zM 0 -1 0 9/4+M -7/8+M 1 20
Al intentar hacer básica 𝑥2 se detecta la no acotación del problema
penalizado. Como en la última tabla las variables artificiales son iguales a
cero, el problema inicial es no acotado.
Método de Penalización (M grande)
Reglas: 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.
max 4x1  3 x2
Ejercicio. Resolver el siguiente problema de PL
por el método de penalización
s.a : 2 x1  3 x2  8
6 x1  x2  4
x1  0, x2  0
OPTIMIZACIÓN

Tema 3. Dualidad y Método del


Simplex.Dual
Dualidad
Resultados Básicos
Método del Simplex Dual
Aplicaciones

Dpto. de Matemáticas, Estadística e Investigación Operativa. Universidad de La Laguna.


Dualidad
Definición Dado un problema estándar de Programación Lineal de
mínimo:
min c t x
s. a : Ax  b P 
x0
en el que 𝑐 ∈ 𝑅𝑛 , A es una matriz de orden 𝑚 × 𝑛 y 𝑏 ∈ 𝑅𝑚 , se pueden
encontrar cotas inferiores del valor óptimo eligiendo vectores 𝑦 ∈ 𝑅𝑚 tales
que 𝐴𝑡 𝑦 ≤ 𝑐 ya que, para cualquier solución factible de (P) se verifica:
y t b  y t Ax  c t x
La determinación de la mejor de estas cotas se obtiene del problema:
max bt y
s. a : At y  c D

Este problema recibe la denominación de dual. De esta forma, (P) es


denominado problema primal. Los problemas primal y dual están
estrechamente relacionados y el conocimiento de uno de ellos determina
totalmente el otro.
Dualidad
Ejemplo. Dado el problema:

min 5x1  12 x2  4 x3
s.a : 4 x1  6 x2  2 x3  x4  20
P 
2 x1  4x2  4 x3  x5  16
x j  0, j  1,...,5

el problema dual es:

max 20y1  16y2


s. a : 4y1  2y2  5
6y1  4y2  12 D 
 2y1  4y2  4
 y1 0
 y2  0
Dualidad

Propiedad 1. El dual del dual es el primal

Demostración. El dual de un problema estándar es:

max bt y
s. a : At y  c

Es decir:
 min  b  y
t 1
 y2 
s. a : At y 1  At y 2  y 3  c
y 1  0, y 2  0, y 3  0

Por tanto, el dual de este será:


 min c t x
s. a : Ax  b
 Ax  b
x0
Como −𝑥 ≥ 0, cambiando x por -x, este último problema coincide con el
primal.
Dualidad

Se observa que la anterior definición de dualidad es universal pues,


con la oportuna transformación, puede aplicarse a cualquier
problema de Programación Lineal. En cualquier caso, la relación de
dualidad implica que:

 El número de variables del primal coincide con el número de


restricciones del dual.

 El número de restricciones del primal es igual al número de


variables del dual.

 Los coeficientes de las variables en la función objetivo del primal


son las constantes en el dual.

 La matriz de coeficientes tecnológicos del dual es la traspuesta de


la correspondiente del primal.

 Si el primal es un problema de mínimo, el dual es un problema de


máximo. Si, por el contrario, el primal es de máximo, el dual es
un problema de mínimo.
Dualidad
Además, existen determinadas relaciones entre el signo de las variables
del primal y el tipo de restricciones del dual. Dichas relaciones se
especifican en la siguiente tabla:

Primal  Dual
minimizar  maximizar
𝑥𝑗 ≥ 0  ≤𝑗
𝑥𝑗 ≤ 0  ≥𝑗
𝑥𝑗 sin signo
 =𝑗
(libre)
≥𝑖  𝑦𝑖 ≥ 0
≤𝑖  𝑦𝑖 ≤ 0
𝑦𝑖 sin signo
=𝑖 
(libre)

La aplicación de esta tabla será de izquierda a derecha cuando el


problema primal sea de mínimo. Si el problema primal es de máximo, la
aplicación será de derecha a izquierda.
Dualidad
Ejemplo. Dado el problema:

max  7x1  10 x2  8 x3
s.a : 2 x1  6 x2  4 x3  10
 x1  3x2  5x3  12 P 
4x1  2 x2  8 x3  18
x1  0, x2  0

el problema dual es:

min 10y1  12y2  18y3


s. a : 2y1  y2  4y3  7
D
 6y1  3y2  2y3  10
4y1  5y2  8y3  8
y1  0, y2  0
Resultados básicos
Directamente a partir de la definición de dualidad se tiene:
Propiedad 2
1) Cualquier solución factible del problema dual define una cota inferior
del valor óptimo del problema primal. Cualquier solución factible del
problema primal define una cota superior del valor óptimo del
problema dual.
2) Si (P) en no acotado, entonces (D) es no factible.
3) Si (D) es no acotado, entonces (P) es no factible.
Propiedad 3 (Condición de equilibrio)
Sean 𝑥 una solución factible de (P) e 𝑦 una solución factible de (D). Si
𝑐 𝑡 𝑥 = 𝑏𝑡 𝑦 , entonces 𝑥 es solución óptima de (P) e 𝑦 es solución óptima de
(D) .

Ejemplo. Dado el siguiente problema de Programación Lineal:


max 2x1  4 x2  4 x3 min 16y1  10y2
s. a :  x1  2 x2  x3  16 s. a :  y1  2y2  2
2 x1  2 x2  2 x3  10 El problema dual es 2y1  2y2  4
x j  0, j  1,2,3  y1  2y2  4

Para 𝑥 𝑡 = (26,21,0) e 𝑦 𝑡 = (6,4) se cumple la propiedad anterior.


Resultados básicos

Propiedad 4 (Teorema fuerte de dualidad)


a) Si (P) tiene solución óptima, entonces (D) tiene solución óptima y los
valores óptimos de ambos problemas coinciden.
b) Si (D) tiene solución óptima, entonces (P) tiene solución óptima y los
valores óptimos de ambos problemas coinciden.

Demostración
Demostremos a). Si (P) tiene solución óptima, sea B la base óptima.
Entonces 𝑦 = 𝑐𝐵 𝑡 𝐵−1 es:
•Solución factible del problema dual ya que
   
y t A  cBt B1 A  cBt , cBt B 1N  cBt , cNt al ser cNt  cNt  cBt B1N  0 (por ser B
base óptima).
•Solución óptima del dual ya que y t b  cBt B1b (por la condición de
equilibrio)
La demostración de b) se realiza de manera similar.

En otras palabras:
Si B es una base optima del primal (P) entonces, tenemos una solución
óptima del dual (D) dada por la expresión:
y  cBt B 1
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  6y2


s. a :  y1  2y2  5
2y1  y2  2
 y1  2y2  1
y1  0, y2  0
En este caso, la base inversa de la tabla óptima del problema de mínimo
es:

0.5 0
𝐵 −1 = para x= (0,5,0) siendo x2 y h2 el orden de las variables
−0.5 1
básicas.

Entonces 𝑦 = 𝑐𝐵 𝑡 𝐵−1 =(-2,0) 𝐵 −1 =(-1,0) es la solución óptima del Dual


Método del Simplex Dual

La introducción de la dualidad permite modificar la definición de solución


básica factible. Si recordamos que una solución básica tiene asociada una
base B de A, diremos que una de estas soluciones es factible primal si
𝐵 −1 𝑏 ≥ 0 . Una solución básica es factible dual cuando 𝑐 𝑡 − 𝑐𝐵 𝑡 𝐵−1 𝐴 ≥ 0
(para el problema estándar de mínimo). Como consecuencia, una solución
básica es óptima cuando es, a la vez, factible primal y factible dual.

En la versión del método del simplex desarrollada hasta ahora, se generan


soluciones básicas factibles primales hasta encontrar una solución básica
que sea a la vez factible primal y factible dual. Una búsqueda alternativa
consiste en generar soluciones básicas factibles duales hasta encontrar
una en la que, además, se dé la condición de solución básica factible
primal. Esta última forma de actuar es la del Método Simplex Dual. El
paralelismo con actuaciones previas otorgaría la denominación de Método
Simplex Primal al que hemos desarrollado anteriormente.

min 5x1  12 x2  4 x3
Ejemplo
s.a :  4 x1  6 x2  2 x3  x4  20
 2x1  4x2  4x3  x5  16
x j  0, j  1,...,5
Método del Simplex Dual
Se observa que es fácil identificar una solución básica inicial que tiene a 𝑥4
y 𝑥5 como variables básicas. Los costos relativos de las variables no básicas
coinciden con los costos iniciales. A ser estos no negativos, la solución
básica inicial es factible dual. La tabla inicial es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥4 -4 -6 2 1 0 0 -20
𝑥5 -2 4 -4 0 1 0 -16
-z 5 12 4 0 0 1 0
Las dos variables básicas toman valor negativo. La operación de pivotaje
pretende mejorar el estatus asociado a una de las variables básicas.En el
simplex dual se ha de efectuar sobre un elemento negativo.
Concretamente, si 𝑥4 es la variable elegida para salir de la base, 𝑥1 o 𝑥2
(pivotando sobre -4 y -6, respectivamente) serían candidatas a sustituirle.
Si en la fila asociada a la variable básica que sale de la base no hay
coeficientes negativos, el problema es no factible. Como interesa preservar
la condición de factibilidad dual para la solución básica que resulte, es
necesario calcular:
 5 12  5
max  , 
 4 6  4
Por ello, la variable 𝑥1 debe entrar en la base. Obtenemos entonces:
Método del Simplex Dual

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
Ahora la variable 𝑥5 debe dejar de ser básica. Como:

13 / 2 5 / 4  13
max  , 
 5 1 / 2  10

la variable que entra en la base es 𝑥3 . La nueva tabla es:

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

Esta tabla es óptima.


Método del 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 primal se selecciona en primer lugar la variable que entra en la


base mientras que en el dual la primera etapa corresponde a la
selección de la variable que sale.

• 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. Por su parte, si en el Simplex Primal 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).
Método del Simplex Dual
Ejemplo. Resolver, aplicando el Método Simplex Dual, el problema:

max  6 x1  6 x2  2 x3
s.a :  2 x1  3x2  4 x3  x4  12
 2x1  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

Observamos que la variable 𝑥4 debe dejar de ser básica. Para determinar


la variable que debe entrar en la base, calculamos:
 6 6 
min  , 2
 2 3 
Por tanto, 𝑥2 debe entrar en la base. La nueva tabla es:
Método del Simplex Dual

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

La variable 𝑥5 debe dejar de ser básica. Al ser:


 2 10  3
min  , 
 10 / 3 4 / 3  5

entra en la base 𝑥1 . Obtenemos entonces la tabla:

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

Esta tabla es óptima.


Método del Simplex Dual
Resolver, aplicando el Método Simplex Dual, el problema:
min 2x1  6 x2  2 x3
s.a :  2 x1  4 x2  6 x3  x4  10
2x1  4x2  4x3  x5  6
x j  0, j  1,...,5
Solución.La tabla inicial es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥4 -2 -4 6 1 0 0 -10
𝑥5 2 4 -4 0 1 0 -6
-z 2 6 2 0 0 1 0
La variable 𝑥4 es candidata a salir de la base. Como:
2 6 
max  ,   1
 2 4 
La variable 𝑥1 debe entrar en la base. La nueva tabla es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 -z Constantes
𝑥1 1 2 -3 -1/2 0 0 5
𝑥5 0 0 2 1 1 0 -16
-z 0 2 8 1 0 1 -10
Ejercicio
Resulta que la variable 𝑥5 es candidata a salir de la base. Como la fila
actualizada es de términos no negativos, se detecta la no factibilidad del
problema.

Resolver, aplicando el Método Simplex Dual, el problema:

max  2 x1  2 x2  3x3
s.a :  x1  2 x2  x3  x4  10
x1  2x2  x3  x5  8
x j  0, j  1,...,5

Solución
Problema No factible
OPTIMIZACIÓN

Tema 4. Análisis de Sensitividad

Cambio en costos y recursos


Adición de variables
Adición de restricciones
Modificación de coeficientes tecnológicos
Aplicaciones

Dpto. de Matemáticas, Estadística e Investigación Operativa. Universidad de La Laguna.


Análisis de sensitividad
Después de determinar una solución óptima, interesa estudiar la
influencia que pueden tener algunos cambios en los elementos
definidores del problema. Por ejemplo, ver si la adición de restricciones o
de variables, los cambios en los costos, en los recursos o en los
coeficientes tecnológicos imponen variaciones en la optimalidad
previamente detectada. El estudio correspondiente se denomina Análisis
de Sensitividad.
Supongamos que se ha resuelto el problema
min c t x
s. a : Ax  b
x0

para el que 𝑥 es una solución óptima a la que corresponde la


descomposición de 𝐴 = 𝐵, 𝑁 .

Haremos modificaciones del problema anterior que afectarán a costos,


recursos, coeficientes tecnológicos, variables y/o restricciones. Aunque
podrían introducirse simultáneamente, nuestro estudio se realizará
contemplándolas de forma separada.
Cambios en costos
Se modifica el costo asociado a una variable 𝑥𝑗 . Distinguiremos dos
subcasos:

i) 𝑥𝑗 es una variable no básica y, por tanto, el único costo relativo que se


modifica es el correspondiente a dicha variable.
Calculamos entonces 𝑐𝑗 ′ = 𝑐𝑗 − 𝑐𝐵 𝑡 𝐵−1 𝑎 𝑗 . Si 𝑐𝑗 ′ ≥ 0 , se tiene que 𝑥 es
solución óptima del problema modificado. Si 𝑐𝑗 ′ < 0, debemos aplicar el
Método Simplex Primal.

ii) 𝑥𝑗 es una variable básica, lo cual hace que se modifique el vector de


costos básicos. Con el nuevo vector, 𝑐𝐵 ′ se calculan todos los costos
relativos asociados a las distintas variables y se aplica, si corresponde, el
Método Simplex Primal.

Ejemplo. Usaremos el siguiente problema:


max x1  2 x2  5x3
s. a : x1  2 x2  x3  12
(1)
2x1  2 x2  x3  10
x j  0, j  1,2,3
Cambios en costos
cuya solución óptima se escribe en la siguiente tabla:
V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥3 0 -2 1 0 14/3
𝑥1 1 0 0 0 22/3
-z 0 -8 0 1 16
i) Supongamos que el beneficio por unidad asociado a la segunda variable
cambia a 11. El problema modificado es:
max x1  11x2  5x3
s. a : x1  2 x2  x3  12
2x1  2 x2  x3  10
Calculamos los nuevos costos relativos x j  0, j  1,2,3

V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥3 0 -2 1 0 14/3
𝑥1 1 0 0 0 22/3
-z 1 11 -5 1 0
-z 0 1 0 1 16

Por tanto, la variable 𝑥2 debe entrar en la base. Pero como la columna


de no tiene elemento positivo, el problema modificado es no acotado:
Cambios en costos

ii) Supongamos que el beneficio por unidad asociado a la primera variable


cambia a 4. El problema modificado es:

max 4x1  2 x2  5x3


s. a : x1  2 x2  x3  12
2x1  2 x2  x3  10
x j  0, j  1,2,3

Calculamos los nuevos costos relativos


V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥3 0 -2 1 0 14/3
𝑥1 1 0 0 0 22/3
-z 4 2 -5 1 0
-z 0 -8 0 1 6

Por tanto, la solución óptima del problema modificado es la óptima del


problema inicial.
Cambios en recursos
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. Supongamos que en el problema (1) el segundo recurso aumenta


hasta 25. El nuevo problema es:
max x1  2 x2  5x3
s. a : x1  2 x2  x3  12
2x1  2 x2  x3  25
x j  0, j  1,2,3

La tabla óptima de (1) se transforma en:


V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥3 0 -2 1 0 -1/3
𝑥1 1 0 0 0 37/3
-z 0 -8 0 1 -14
2/3 −1/3 12 −1/3
Dado que 𝐵−1 𝑏 = = y que −𝑐𝐵𝑡 𝐵 −1 𝑏 =-14
1/3 1/3 25 37/3
Cambios en recursos
Es necesario aplicar el Método Simplex Dual sobre 𝑥3 . Desde que la fila
asociada a 𝑥3 sólo contiene un valor negativo, la variable entrante es 𝑥2 .
Es decir, 𝑥2 sustituye a 𝑥3 en la base. La nueva tabla es:

V. Básicas 𝑥1 𝑥2 𝑥3 -z Constantes
𝑥2 0 1 -1/2 0 1/6
𝑥1 1 0 0 0 37/3
-z 0 0 -4 1 -38/3

Esta tabla es óptima para el problema modificado.


Adición de una inecuación
i) De la forma
n

a
j 1
m 1 j x j  bm 1

El problema anterior se modifica obteniéndose:

min c t x
s. a : Ax  b
n

a
j 1
m 1 j x j  bm 1

x0

Resulta obvio que si


n

a
j 1
m 1 j x j  bm 1

entonces 𝑥 es también solución óptima del problema ampliado


Adición de una inecuación

En otro caso, es decir si


n

a
j 1
m 1 j x j  bm 1

debemos convertir la inecuación añadida en ecuación, introduciendo la


variable de holgura correspondiente :
n

a
j 1
m 1 j x j  xm 1  bm 1

Añadimos dicha ecuación a la tabla óptima del problema original,


además de una columna asociada a la variable de holgura de la
expresión anterior.

Note que una vez restituido en la tabla ampliada el carácter de las


variables básicas, incluida la nueva, obtenemos un valor negativo en el
vector de columnas, y por tanto procedemos con el simplex Dual.
Adición de una inecuación
n

ii) De la forma a
j 1
m 1 j x j  bm 1

El razonamiento es similar al efectuado para el caso anterior pero con la


modificación que se refiere a añadir la siguiente ecuación:
n

a
j 1
m 1 j x j  xm 1  bm 1

Ejemplo. i) Supongamos que al problema (1) se añade la restricción:


3x1  6 x3  5

El problema modificado es: max x1  2 x2  5x3


s. a : x1  2 x2  x3  12
2x1  2 x2  x3  10
 3x1  6 x3  5
x j  0, j  1,2,3

La restricción añadida no es verificada por la solución óptima de (1) . Por


tanto, debemos actuar sobre la tabla:
Adición de una inecuación

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥3 0 -2 1 0 0 14/3
𝑥1 1 0 0 0 0 22/3
𝑥4 -3 0 6 1 0 5
-z 0 -8 0 0 1 16

Restituyendo el carácter básico de las variables básicas, obtenemos

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥3 0 -2 1 0 0 14/3
𝑥1 1 0 0 0 0 22/3
𝑥4 0 12 0 1 0 -1
-z 0 -8 0 0 1 16

Al aplicar el Método Simplex Dual, tratando de sacar de la base la


variable 𝑥4 , la correspondiente fila actualizada es no negativa: Es decir,
el problema modificado es no factible.
Adición de una inecuación

ii) Supongamos que al problema (1) se añade la restricción : 3x1  3x3  9


El problema modificado es:
max x1  2 x2  5x3
s. a : x1  2 x2  x3  12
2x1  2 x2  x3  10
3x1  3x3  9
x j  0, j  1,2,3

La restricción añadida no es verificada por la solución óptima de (1). Si 𝑥4


es la variable de holgura asociada a restricción añadida, la tabla
correspondiente es:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥3 0 -2 1 0 0 14/3
𝑥1 1 0 0 0 0 22/3
𝑥4 3 0 -3 -1 0 9
-z 0 -8 0 0 1 16
Adición de una inecuación

Restituyendo el carácter básico de las variables básicas, obtenemos

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥3 0 -2 1 0 0 14/3
𝑥1 1 0 0 0 0 22/3
𝑥4 0 6 0 1 0 -1
-z 0 -8 0 0 1 16
Al aplicar el Método Simplex Dual, tratando de sacar de la base la
variable 𝑥4 , la correspondiente fila actualizada es no negativa: Es decir,
el problema modificado es de nuevo no factible.

Ejercicio. Si al problema se añade la restricción x3  7, el problema


modificado es:
max x1  2 x2  5x3
s. a : x1  2 x2  x3  12
Solución: x1=22/3, x2=7/6 , x3=7, y
2x1  2 x2  x3  10 x4=0.
x3  7
x j  0, j  1,2,3
Adición de una ecuación
n

Se añade una ecuación en la forma a


j 1
m 1 j x j  bm 1

El problema ampliado tendrá ahora la forma:


min c t x
s. a : Ax  b
n

a
j 1
m 1 j x j  bm 1

x0
n

Resulta obvio que si a


j 1
m 1 j x j  bm 1

entonces 𝑥 es también solución óptima del problema modificado. En otro


caso, procedemos de la siguiente manera:
Adición de una ecuación
n

Si a
j 1
m 1 j x j  bm 1

podemos hacer que se verifique la ecuación añadida si usamos una


variable artificial que, si el problema modificado tiene solución, se podrá
eliminar convenientemente. Por tanto, el problema ampliado se ha de
transformar, en:
min c t x  Mxn 1 Las variables básicas iniciales serán ahora
s. a : Ax  b
n x ,
t
B x n 1 
a
j 1
m 1 j x j  xn 1  bm 1
Y, a continuación, aplicamos el Método de
Penalización.
x  0, xn 1  0
n
Si a m 1 j x j  bm 1 se realizará un análisis similar pero sobre el
j 1 problema:
min c t x  Mxn 1
s. a : Ax  b
n

a
j 1
m 1 j x j  xn 1  bm 1

x  0, xn 1  0
Adición de una ecuación
Ejemplo 3
Si al problema (1) se añade la x1  10 el problema modificado es:
2
restricción
max x1  2 x2  5x3
s. a : x1  2 x2  x3  12
2x1  2 x2  x3  10
3
x1  10
2
x j  0, j  1,2,3

La solución óptima de (1) no verifica la nueva ecuación. Si 𝑥4 es la


variable artificial asociada a restricción añadida, debemos resolver:
max x1  2 x2  5x3  Mx4
s. a : x1  2 x2  x3  12
2x1  2 x2  x3  10
3
x1  x4  10
2
x j  0, j  1,2,3, 4
Adición de una ecuación

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥3 0 -2 1 0 0 14/3
𝑥1 1 0 0 0 0 22/3
𝑥4 3/2 0 0 -1 0 10
-z 1 2 -5 -M 1 0
Restituyendo el carácter básico de las variables básicas, obtenemos

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥3 0 -2 1 0 0 14/3
𝑥1 1 0 0 0 0 22/3
𝑥4 0 0 0 1 0 1
-z 0 -8 0 0 1 16+M

Por tanto, la tabla actual es óptima para el problema modificado. Como


la variable artificial es básica y toma un valor positivo, el problema
modificado es no factible.
Adición de una variable
Supongamos que se añade una nueva variable 𝑥𝑛+1 con costo igual a 𝑐𝑛+1
y vector coeficientes tecnológicos igual a 𝑎𝑛+1 . Entonces, el problema
ampliado será:
min c t x  cn 1 xn 1
s. a : Ax  an 1 xn 1  b
x  0, xn 1  0
t 1 n 1
Sucederá que si cn 1  cn 1  cB B a  0
entonces 𝑥 es también solución óptima del problema modificado. En otro
caso, debemos aplicar el Método Simplex Primal para resolver el nuevo
problema.

Ejemplo
Si, al problema (1), se añade una variable cuyo beneficio por unidad es
igual a 1 y sus coeficientes tecnológicos son (2,1), el problema
modificado es:
max x1  2 x2  5x3  x4
s. a : x1  2 x2  x3  2 x4  12
2x1  2 x2  x3  x4  10
x j  0, j  1,2,3, 4
El correspondiente costo relativo es:
Adición de una variable

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥3 1 -2 1 2 0 12
𝑥1 2 2 -1 1 0 10
-z 1 2 -5 1 1 0

Restituyendo el carácter básico de las variables básicas, obtenemos


V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥3 0 -2 1 1 0 14/3
𝑥1 1 0 0 1 0 22/3
-z 0 -8 0 5 1 16

El costo relativo de 𝑥4 es positivo y debe entrar en la base. La variable


𝑥3 debe salir de la base. La nueva tabla es:
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥4 0 -2 1 1 0 14/3
𝑥1 1 2 -1 0 0 8/3
-z 0 2 -5 0 1 22/3
Adición de una variable
Ahora, La variable 𝑥2 debe sustituir en la base a 𝑥1 . La nueva tabla es:

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥4 1 0 0 1 0 22/3
𝑥2 ½ 1 -½ 0 0 4/3
-z -1 0 -4 0 1 18/3

La tabla anterior es óptima para el nuevo problema.


MOIFICACIÓN
Modificación de losDEcoeficientes
LOS COEFICIENTES
de unaDEvariable
UNA VARIABLE

El problema modificado será min c t x


s. a : Ax  b
x0


donde A  a1,..., a j 1, a j , a j 1,..., an 
es decir, igual a A salvo la columna j-ésima para algún 𝑗 ∈ {1, … , 𝑛}.

Distinguiremos de nuevo dos subcasos:

i) La variable 𝑥𝑗 es no básica en la solución óptima 𝑥 .

En este caso, coincide con la adición de una nueva variable.

donde se aplica el Método Simplex Primal.


Modificación de los coeficientes de una variable

ii) La variable 𝑥𝑗 es básica y, por tanto, la nueva situación afecta


tanto a los costos relativos como al valor de la variables básicas.

En este caso se modifica el estatus de la variable 𝑥𝑗 . Por ello, para


aprovechar la situación de optimalidad asociada al problema inicial,
se la hace desempeñar el papel de variable artificial que se ha de
sacar de base. Además, 𝑥𝑛+1 desempeñará el papel de la nueva 𝑥𝑗
con costo igual a 𝑐𝑗 y vector de coeficientes tecnológicos igual a 𝑎′𝑗 .

Consideramos entonces, para resolver el problema ampliado, el


problema auxiliar:
n
min c x
l 1
l l  Mx j  c j xn 1
l j

s. a : Ax  a j xn 1  b
x  0, xn 1  0

y aplicamos el Método de Penalización arrancando con lasolución


óptima del problema original como base inicial.
Modificación de los coeficientes de una variable

Ejemplo. Si en el problema (1) los coeficientes tecnológicos de la primera


−2
variable (básica en la solución óptima) se cambian por , el nuevo
1
problema es:
max x1  2 x2  5x3
s. a : 2x1  2 x2  x3  12
x1  2 x2  x3  10
x j  0, j  1,2,3

Planteamos entonces el problema:

max  Mx1  2 x2  5x3  x4


s. a : x1  2 x2  x3  2 x4  12
2x1  2 x2  x3  x4  10
x j  0, j  1,2,3, 4
e iniciamos su resolución con la tabla:
Modificación de los coeficientes de una variable
V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥3 1 -2 1 -2 0 12
𝑥1 2 2 -1 1 0 10
-z -M 2 -5 1 1 0

Restituyendo el carácter básico de las variables básicas, obtenemos

V. Básicas 𝑥1 𝑥2 𝑥3 𝑥4 -z Constantes
𝑥3 0 -2 1 -5/3 0 14/3
𝑥1 1 0 0 -1/3 0 22/3
-z 0 -8 0 -22/3-M/3 1 22/3M+70/3

Ahora, la variable 𝑥2 debe entrar en la base, pero como la columna


asociada es negativa, el problema penalizado es no acotado.
Como en la base permanece la variable artificial 𝑥1 con valor mayor que
cero, el problema modificado es no factible.
1. El proceso productivo de una empresa engloba tres actividades (I, II y III) con la
utilización de dos recursos (A y B). Los datos relativos a los consumos de recursos, los
niveles de disponibilidad de estos y los beneficios por unidad producida aparecen en la
tabla siguiente:

I II III DISPONIB.
CONS. DE 2 1 1 10 (A)
RECURSOS 4 3 2 22 (B)
BFCIO/UDAD 4 3 3

i) Formalizar el correspondiente modelo de Programación Lineal y encontrar


una solución óptima que maximice los beneficios globales.
ii) ¿Qué ocurre en la optimalidad detectada previamente si el costo asociado a
la segunda actividad se incrementa en 5 unidades y el nivel de recursos tipo
B desciende hasta 14?
iii) Si se plantea la posibilidad de considerar una nueva actividad (IV) cuyos
consumos de recursos son iguales a 3 y 4 (respectivamente) y con beneficio
por unidad igual a 5, ¿interesa incluirla en el proceso productivo?

Solución
i) Si xi  unidades producidas del tipo i ( i  1, 2,3 corresponde, respectivamente, a I, II
y III), el problema que se plantea es:

max 4 x1  3x2  3x3


s.a : 2 x1  x2  x3  10
4 x1  3x2  2 x3  22
x j  0, j  1, 2,3

Expresado en la forma estándar, este problema se convierte en:

max 4 x1  3x2  3x3


s.a : 2 x1  x2  x3  x4  10
4 x1  3x2  2 x3  x5  22
x j  0, j  1,...,5

La tabla inicial será:

V. B. x1 x 2 x 3 x 4 x 5 z Ctes.
x4 2 1 1 1 0 0 10
x5  3 2 0 1 0 22
z 4 3  0 0 1 0

La variable x1 debe entrar en la base sustituyendo a x4 . La nueva tabla será:


V. B. x1 x 2 x 3 x 4 x 5 z Ctes.
x1 1 1/2 1/2 1/2 0 0 5
x5  1 0  1 0 2
z 0 1   0 1 

La segunda variable se convierte en básica sustituyendo a x5 . La nueva tabla es:

V. B. x1 x 2 x 3 x 4 x 5 z Ctes.
x1 1 0 1/2 3/2  0 4
x2  1 0  1 0 2
z 0 0    1 

La variable x3 entra en la base y sale la variable x1 . Se obtiene la tabla óptima:

V. B. x1 x 2 x 3 x 4 x 5 z Ctes.
x3 2 0 1 3  0 8
x2  1 0  1 0 2
z  0    1 

ii) Si incrementamos 5 unidades el beneficio asociado a la segunda variable, el nuevo


problema sería:

max 4 x1  8 x2  3x3
s.a : 2 x1  x2  x3  x4  10
4 x1  3x2  2 x3  x5  22
x j  0, j  1,...,5

Para encontrar la correspondiente solución óptima, utilizamos la tabla óptima obtenida


en el apartado anterior cambiando la fila asociada a la nueva función objetivo.
Obtenemos:

V. B. x1 x 2 x 3 x 4 x 5 z Ctes.
x3 2 0 1 3  0 8
x2  1 0  1 0 2
z  8    1 

Calculando los costos relativos:


V. B. x1 x 2 x 3 x 4 x 5 z Ctes.
x3 2 0 1 3  0 8
x2  1 0  1 0 2
z  0    1 
Se observa que la variable x4 debe convertirse en básica, sustituyendo a x3 . Se obtiene:

V. B. x1 x2 x3 x 4 x 5 z Ctes.
x4 2/3 0 1/3 1  0 8/3
x2  1 2/3   0 22/3
z  0    1 

Si, en el problema anterior, hacemos el segundo recurso igual a 14, el problema que
tenemos es:

max 4 x1  8 x2  3x3
s.a : 2 x1  x2  x3  x4  10
4 x1  3x2  2 x3  x5  14
x j  0, j  1,...,5

Actualizando los valores de las constantes a partir de la tabla anterior, obtenemos:

V. B. x1 x2 x3 x 4 x 5 z Ctes.
x4 2/3 0 1/3 1  0 16/3
x2  1 2/3   0 
z  0    1 

Esta tabla es óptima.

iii) El nuevo problema sería:

max 4 x1  3x2  3x3  5 x6


s.a : 2 x1  x2  x3  x4  3x6  10
4 x1  3x2  2 x3  x5  4 x6  22
x j  0, j  1,..., 6

Partiendo de la tabla óptima obtenida en el apartado i), tenemos la tabla:

V. B. x1 x 2 x 3 x 4 x 5 x6  z Ctes.
x3 2 0 1 3  5 0 8
x2  1 0  1  0 2
z  0     1 
Por tanto, esta tabla es óptima para el problema modificado. Por ello, la actividad IV no
interesa incluirla en el sistema productivo.

2. La siguiente tabla es óptima para un problema de programación lineal de la forma


max ct x, s. a: Ax  b, x  0 , donde c1  7 , c2  5, c3  1 y c4  c5  0 :

V.B. x1 x2 x3 x4 x5 z ctes.
x3 1/2 0 1 1/2 1/2 0 1
x2 3/2 1 0 1/2 1/2 0 5
z 0 0 0 2 3 1 -24

Sabiendo que las variables x4 y x5 son, por este orden, las variables básicas
iniciales (por ser de holgura asociadas a restricciones del tipo ≤):
i) ¿Cómo afecta a la optimalidad actual un incremento de 10 unidades en el
costo de la primera variable en el problema original?¿ Cuál es el rango de
optimalidad asociado al costo de esta variable?
ii) Supongamos que, en el problema original, el costo de la segunda variable se
cambia por 20 y que los coeficientes de las restricciones son (2,2). ¿Cómo
afecta esto a la optimalidad inicial?
iii) Se considera una nueva restricción de la forma 3x1  2 x2  x3  6 . ¿Cómo
afecta esto a la optimalidad inicial?

Solución

i) Si c1  17 , el costo relativo correspondiente sería c1  10 . La correspondiente tabla


sería:

V.B. x1 x2 x3 x4 x5 z ctes.
x3 1/2 0 1 1/2 1/2 0 1
x2 3/2 1 0 1/2 1/2 0 5
z 10 0 0 2 3 1 

La variable x1 debe ser básica en sustitución de x3 . La nueva tabla es:

V.B. x1 x2 x3 x4 x5 z ctes.
x1 1 0 2 1 1 0 2
x2 0 1  1 2 0 2
z 0 0 0 2 7 1 

Se observa que x5 debe ser básica en lugar de x2 . Obtenemos la tabla:


V.B. x1 x2 x3 x4 x5 z ctes.
x1 1 1/2 1/2  1/2 0 3
x5 0 1/2  1/2 1 0 1
z 0   7/2 0 1 

Esta tabla es óptima.


Si cambiamos c1 por c1   , el costo relativo de la variable x1 será igual a  . Por tanto,
el rango de optimalidad del costo asociado a esta variable es   R /   0

 2
ii) Si c2 se cambia por c2  20 y a 2 por a 2    , como x2 es una variable básica en
 2 
la solución óptima inicial, tenemos que considerar que al problema planteado se le
añade una nueva variable x6 , con costo igual al nuevo c2 y coeficientes tecnológicos
dados por la nueva columna a 2 , y la variable básica x2 pasa a ser considerada artificial
y, por lo tanto, debe ser eliminada (si fuera posible) de la base. Para ello planteamos la
siguiente tabla en la que se contempla el correspondiente problema penalizado:

V.B. x1 x2 x3 x4 x5 x6   zM ctes.
x3 1/2 0 1 1/2 1/2 2 0 1
x2 3/2 1 0 1/2 1/2 0 0 5
 z M 7     20 1 

Si calculamos los costos relativos, obtenemos:

V.B. x1 x2 x3 x4 x5 x6   zM ctes.
x3 1/2 0 1 1/2 1/2 2 0 1
x2 3/2 1 0 1/2 1/2 0 0 5
 zM 15/2+3M/2     22 1 

La variable x1 debe ser básica en lugar de x3 . Obtenemos:

V.B. x1 x2 x3 x4 x5 x6   zM ctes.
x1 1 0 2 1 1 4 0 2
x2 0 1  1 2  0 2
 zM 0      1 

La variable x5 entra en la base y sale de ella x2 . Obtenemos la nueva tabla:


V.B. x1 x2 x3 x4 x5 x6   zM ctes.
x1 1 1/2 1/2  1 1/2 0 3
x5 0 1/2  1/2 1  0 1
 zM 0      1 

La variable x6 entra en la base y sale la variable x1 . La nueva tabla es:

V.B. x1 x2 x3 x4 x5 x6   zM ctes.
x6 1 1/2 1/2 1/2  1 0 3
x5 3 2   1  0 10
 zM 0      1 

iii) Como la nueva restricción no es satisfecha por la solución óptima dada, debemos
incorporar dicha restricción a la tabla óptima. Obtenemos:

V.B. x1 x2 x3 x4 x5 x6  z ctes.
x3 1/2 0 1 1/2 1/2 0 0 1
x2 3/2 1 0 1/2 1/2 0 0 5
x6 3 2 1 0 0 1 0 6
z 0 0 0 2 3 0 1 

Si restituimos el carácter de variables básicas para x2 y x3 , obtenemos:

V.B. x1 x2 x3 x4 x5 x6  z ctes.
x3 1/2 0 1 1/2 1/2 0 0 1
x2 3/2 1 0 1/2 1/2 0 0 5
x6  0 0   1 0 
z 0 0 0 2 3 0 1 

Aplicando el Método Simplex Dual, la variable x6 sale de la base y entra x1 . La nueva


tabla es:

V.B. x1 x2 x3 x4 x5 x6  z ctes.
x3 0 0 1  1 1 0 
x2 0 1 0   3 0 
x1  0 0    0 
z 0 0 0 2 3 0 1 

La variable x2 debe salir de la base y será sustituida por x4 . Resulta:


V.B. x1 x2 x3 x4 x5 x6  z ctes.
x3 0  1  3/4 0 
1/4
x4 0 1/4 0   3/4 0 
x1  3/4 0    0 
z 0 1/2 0  7/2  1 

Una nueva aplicación del Método Simplex Dual hace que salga de la base la variable x3
y entre en su lugar x2 . Se obtiene la tabla:

V.B. x1 x2 x3 x4 x5 x6  z ctes.
x2 0    3 1 0 
x4 0     2 0 
x1  0 3    0 
z 0    5  1 

De esta última tabla se obtiene que el problema modificado es no factible.

3. La siguiente tabla es óptima para un problema de programación lineal de la forma


min ct x, s. a: Ax  b, x  0 , donde c1  6, c2  10 , c3  23 y c4  c5  0 :

V.B. x1 x2 x3 x4 x5 z ctes.
x1 1 0 1 2 1 0 1
x2 0 1 2 1 1 0 1
z 0 0 3 2 4 1 16

Sabiendo que las variables x4 y x5 son, por este orden, las variables básicas iniciales:
i) ¿Cómo afecta a la optimalidad actual un incremento de 8 unidades en el
costo de la tercera variable en el problema original? Determinar, para el
costo asociado a esta variable, el rango de optimalidad.
ii) Supongamos que, en el problema original, el costo de la primera variable se
cambia por 12 y que los coeficientes de las restricciones son (1,7). ¿Cómo
afecta esto a la optimalidad inicial?
iii) Se considera una nueva restricción de la forma 3x1  2 x2  5x3  4 . ¿Cómo
afecta esto a la optimalidad dada inicialmente?

Solución

i) Es evidente que si se cambia c3  23 por c3  15 , entonces c3  11 . De esta forma,


si el cambio es por c3  23   , el costo relativo cambia en la forma c3  3   .
Tenemos entonces que el conjunto de valores de  que hacen que la solución actual
siga siendo óptima, viene dado por  3,   .

ii) Consideramos que añadimos una nueva variable, con los costos y los coeficientes de
las restricciones especificados, que sustituye a x1 . Esta última variable se considerará
artificial y, por ello, debe eliminarse. La tabla de partida es:

V.B. x1 x2 x3 x4 x5 x6  z ctes.
x1 1 0 12 1  0 1
x2 0 1 2 1 1 8 0 1
z M   0 0  1 0

Si calculamos los costos relativos, obtenemos:

V.B. x1 x2 x3 x4 x5 x6  z ctes.
x1 1 0 1 2 1  0 1
x2 0 1 2 1 1 8 0 1
z  0  10M   1 10

La variable x4 se convierte en básica sustituyendo a x2 . La nueva tabla es:

V.B. x1 x2 x3 x4 x5 x6  z ctes.
x4 1/2 0 1/2 1   0 1/2
x2 1/2 1 5/2  1/2 7/2 0 3/2
z       1 

Esta tabla es óptima.

iii) La solución óptima actual no verifica la nueva restricción. Por tanto, hemos de
incorporar dicha restricción a la tabla óptima dada, es decir:

V.B. x1 x2 x3 x4 x5 x6  z ctes.
x1 1 0 1 2 1 0 0 1
x2 0 1 2 1 1 0 0 1
x6 3 2   0 1 0 4
z 0 0 3 2 4 0 1 16

Arreglando la tabla para restituir el carácter de básicas de las dos primeras variables,
obtenemos:
V.B. x1 x2 x3 x4 x5 x6  z ctes.
x1 1 0 1 2 1 0 0 1
x2 0 1 2 1 1 0 0 1
x6 0 0    1 0 
z 0 0 3 2 4 0 1 16

Aplicando el Método Simplex Dual, la variable x6 sale de la base y entra en ella x3 . La


tabla que se obtiene es:

V.B. x1 x2 x3 x4 x5 x6  z ctes.
x1 1 0 0 5/3 11/12 1/12 0 11/12
x2 0 1 0 4/3 7/6 1/6 0 5/6
x3 0 0    1/12 0 
z 0 0 0 1 15/4 51/12 1 63/4
Esta tabla es óptima.

Ejercicio recomendado.
Dado el siguiente problema:

max 4x1  3 x2
s.a : 2 x1  2 x2  16
6 x1  x2  24
x1  0, x2  0

a) Encontrar una solución óptima aplicando el Método Simplex Primal.


b) Formular el problema dual. Determinar una solución óptima para el problema dual
a partir de la tabla óptima determinada en a).
c) ¿Cómo afecta a la optimalidad detectada en a) si se añade la restricción 𝑥1 ≤ 4?
d) ¿Cómo afecta a la optimalidad detectada en a) si simultáneamente cambia el valor
del primer recurso de 16 a 32 unidades y el beneficio de 𝑥2 disminuye en 2
unidades?
e) Supón que el coste de la variable 𝑥2 pasa a valer -2 y sus coeficientes tecnológicos
son ahora -2 en la primera restricción y 4 en la segunda ¿sigue siendo óptima la
solución detectada en a)? (resolver).

También podría gustarte