You are on page 1of 214

Ejercicios de Programación

Matemática

Christian Villalobos

última revisión: 7 de agosto de 2009


2

C O M M O N S D E E D
Reconocimiento-NoComercial-SinObraDerivada 2.0 Chile

Usted es libre de:

copiar, distribuir y comunicar públicamente la obra

Bajo las condiciones siguientes:

Reconocimiento. Debe reconocer y citar al autor original.

No comercial. No puede utilizar esta obra para fines comerciales.

Sin obras derivadas. No se puede alterar, transformar o generar


una obra derivada a partir de esta obra,

Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos
de la licencia de esta obra.
Alguna de estas condiciones puede no aplicarse si se obtiene el permiso
del titular de los derechos de autor.

Los derechos derivados de usos legı́timos u otras limitaciones no se


ven afectados por lo anterior.
Índice general

1. Método de Doble Descripción 5

2. Método Simplex Revisado 41

3. Fase I del Método Simplex 57

4. Simplex con Inversa de Base Explı́cita 75

5. Simplex con Cotas 95

6. Problema de Transporte 119

7. Simplex de Redes 135

8. Flujo Maximal en Redes 153

9. Método de Dantzig-Wolfe 159

10.Dualidad en Programación Lineal 189

11.Programación Entera 195

3
4 ÍNDICE GENERAL
Capı́tulo 1

Método de Doble
Descripción

Ejercicio 1.1 M.D.D. (Artı́culo de Poliedros)


Considere el siguiente poliedro convexo cerrado P definido por el sistema de
desigualdades no-homogéneas:

x1 −x2 +x3 −x4 +x5 ≥ 1


x1 − −x4 +x5 ≥ 1
x2 +x3 −x5 ≥−1
−x1 +x4 −x5 ≥−1
−x1 −x2 ≥−1
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
x4 ≥ 0
x5 ≥ 0

Determine mediante el Método de Doble Descripción (M.D.D), una represen-


tación paramétrica esencial de P , en función de los puntos y direcciones extremas
de P .

5
6 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

Primero se debe homogeneizar el sistema:

x1 −x2 +x3 −x4 +x5 −x6 ≥ 0


x1 − −x4 +x5 −x6 ≥ 0
x2 +x3 −x5 +x6 ≥ 0
−x1 +x4 −x5 +x6 ≥ 0
−x1 −x2 +x6 ≥ 0
x1 ≥0
x2 ≥0
x3 ≥0
x4 ≥0
x5 ≥0
x6 ≥ 0

El primer cuadrante, definido por las restricciones de no-negatividad de las


variables, nos permiten formar el Tableau inicial:

(1) (2) (3) (4) (5) (6)


x1 1 0 0 0 0 0
x2 0 1 0 0 0 0
x3 0 0 1 0 0 0
x4 0 0 0 1 0 0
x5 0 0 0 0 1 0
x6 0 0 0 0 0 1
→ A1 x 1 −1 1 −1 1 −1

Segundo Tableau:

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12)
x1 1 0 0 1 0 0 1 0 0 1 0 0
x2 0 0 0 1 1 1 0 0 0 0 0 0
x3 0 1 0 0 1 0 0 1 0 0 1 0
x4 0 0 0 0 0 0 1 1 1 0 0 0
x5 0 0 1 0 0 1 0 0 1 0 0 1
x6 0 0 0 0 0 0 0 0 0 1 1 1
A1 x 1 1 1 0 0 0 0 0 0 0 0 0
→ A2 x 1 0 1 1 0 1 0 −1 0 0 −1 0
7

Tercer Tableau:

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
x1 1 0 0 1 0 0 1 0 1 0
x2 0 0 0 1 1 1 0 0 0 0
x3 0 1 0 0 1 0 0 0 0 0
x4 0 0 0 0 0 0 1 1 0 0
x5 0 0 1 0 0 1 0 1 0 1
x6 0 0 0 0 0 0 0 0 1 1
A1 x 1 1 1 0 0 0 0 0 0 0
A2 x 1 0 1 1 0 1 0 0 0 0
→ A3 x 0 1 −1 1 2 0 0 −1 1 0

Cuarto Tableau:

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (S)
x1 1 0 1 0 0 1 1 0 0 0 0 1
x2 0 0 1 1 1 0 0 0 0 0 1 0
x3 0 1 0 1 0 0 0 0 1 1 1 0
x4 0 0 0 0 0 1 0 0 0 1 2 1
x5 0 0 0 0 1 0 0 1 1 1 2 1
x6 0 0 0 0 0 0 1 1 0 0 0 1
A1 x 1 1 0 0 0 0 0 0 2 1 0 0
A2 x 1 0 1 0 1 0 0 0 1 0 0 0
A3 x 0 1 1 2 0 0 1 0 0 0 0 0
→ A4 x −1 0 −1 0 −1 0 0 0 −1 0 0 0

Quinto Tableau:

(1) (2) (3) (4) (5) (6) (7)


x1 0 0 1 1 0 0 0
x2 0 1 0 0 0 0 1
x3 1 1 0 0 0 1 1
x4 0 0 1 0 0 1 2
x5 0 0 0 0 1 1 2
x6 0 0 0 1 1 0 0
A1 x 1 0 0 0 0 1 0
A2 x 0 0 0 0 0 0 0
A3 x 1 2 0 1 0 0 0
A4 x 0 0 0 0 0 0 0
→ A5 x 0 −1 −1 0 1 0 −1
8 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

Sexto Tableau:
(1) (2) (3) (4) (5) (6) (7)
x1 0 1 0 0 0 1 0
x2 0 0 0 0 1 0 1
x3 1 0 0 1 1 0 1 (∗)
x4 0 0 0 1 0 1 2
x5 0 0 1 1 1 1 3 (∗)
x6 0 1 1 0 1 1 1 (∗)
A1 x 1 0 0 1 0 0 0
A2 x 0 0 0 0 0 0 0
A3 x 1 1 0 0 2 0 0
A4 x 0 0 0 0 0 0 0
A5 x 0 0 1 0 0 0 0

donde las ecuaciones (∗) son redundantes.


Ası́, el conjunto de generadores del cono homogéneo determinado por el
sistema de inecuaciones homogéneas es:
             

 0 1 0 0 0 1 0 

0 0
0     0  1 0 1

              


 
1  0   0  1  1
 
  0
 
  1


 , , , , , ,  .
 0  0   0  1  0   1   2 
              
0  0   1  1  1 1 3

     

 

0 1 1 0 1 1 1
 

Los puntos extremos del poliedro ∆ son:


           
1 1 0 0 0 0
0 0 0 0 1 1
1 
0 = 0 , P 2 = 1 0 = 0 , P 3 = 1 1 = 1 ,
P1 =
          
1 0 0 1 0 0 1 0 0
           

0 0 1 1 1 1
       
1 1 0 0
0 0 1 1
1     1    
P4 = 5
      
0 = 0 y P = 1 = 1 ;

1 1 1 1 2 2
1 1 3 3
y las direcciones asintóticas del cono C:
   
0 0
0 0 
C1 =  2
   
1 y C = 1 .
  
0 1 
0 1
9

Como las restricciones de no-negatividad asociadas a las variables 3, 5 y 6


son redundantes, el sistema original se puede escribir como:

x1 −x2 +x3 −x4 +x5 ≥ 1


x1 − −x4 +x5 ≥ 1
x2 +x3 −x5 ≥−1
−x1 +x4 −x5 ≥−1
−x1 −x2 ≥−1
x1 ≥ 0
x2 ≥ 0
x4 ≥ 0.
10 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

Ejercicio 1.2 (†)


         
3 5 1 2 2
Dado el conjunto de puntos de R : , , , , , se pide
3 2 3 1 7
determinar un sistema de desigualdades esenciales que defina, de manera equi-
valente, el poliedro convexo cerrado P , P = ∆ + C, dado por la suma de la en-
voltura convexa de estos puntos (es decir, el poliedro convexo cerrado acotado
∆) y el
cono  poliédrico
 homogéneo C generado por las direcciones extremas
1 2
dadas: , .
2 1

Solución
Es inmediato que el primer punto es igual a la suma del cuarto punto, más
la primera dirección extrema, ası́ que lo eliminaremos del conjunto de puntos
que define ∆1 .
El poliedro en cuestión claramente no contiene el origen. Ası́, es necesario
una traslación de puntos al origen. En este caso se trasladará el punto (2, 1)T
al origen. Haciendo el siguiente cambio de coordenadas:
ŷ1 = y1 − 2
ŷ2 = y2 − 1,
ˆ
obtenemos los siguientes puntos que definen a ∆:
       
3 −1 0 0
, , , .
1 2 0 6

Ahora construimos los generadores del cono caracterı́stico K, asociado a P :


           
3 −1 0 0 1 2
B 1 = 1 , B 2 =  2  , B 3 = 0 , B 4 = 6 , B 5 = 2 y B 6 = 1 .
1 1 1 1 0 0

T
Con estos vectores, podemos construir el sistema homogéneo dual B j y:
3ŷ1 +ŷ2 +ŷ3 ≥0
−ŷ1 +2ŷ2 +ŷ3 ≥0
ŷ3 ≥0
6ŷ2 +ŷ3 ≥0
ŷ1 +2ŷ2 ≥0
2ŷ1 +ŷ2 ≥0.
1 No es necesario darse cuenta que este punto debe ser eliminado. En caso de no eliminarlo,

los resultados finales son los mismos y la restricción polar asociada a este punto resulta ser
redundante.
11

Ordenando, nos queda:

3ŷ1 +ŷ2 +ŷ3 ≥0


−ŷ1 +2ŷ2 +ŷ3 ≥0
6ŷ2 +ŷ3 ≥0
ŷ1 +2ŷ2 ≥0
2ŷ1 +ŷ2 ≥0
(ŷ1 )
(ŷ2 )
ŷ3 ≥0.

La matriz A asociada a este sistema es:


 
3 1 1
−1 2 1
 
 0 6 1
 1 2 0 .
 
 
 2 1 0
0 0 1

Teniendo en cuenta que las variables 1 y 2 son libres, construimos el primer


tableau:

(1) (2) (3) (4) (5)


1 −1 0 0 0
0 0 1 −1 0
A6 ŷ 0 0 0 0 1
→ A1 ŷ 3 −3 1 −1 1

Segundo Tableau:
(1) (2) (3) (4)
1 −1 1 −1
−3 3 0 0
A6 ŷ 0 0 0 3
A1 ŷ 0 0 3 0
→ A2 ŷ −7 7 −1 4

Tercer Tableau:
(1) (2) (3)
−1 6 −3
3 3 −12
A6 ŷ 0 0 21
A1 ŷ 0 21 0
A2 ŷ 7 0 0
12 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

que simplificado nos queda:

(1) (2) (3)


−1 2 −1
3 1 −4
A6 ŷ 0 0 7
A1 ŷ 0 7 0
A2 ŷ 7 0 0
→ A3 ŷ 18 6 −17

Cuarto Tableau:

(1) (2) (3) (4)


−1 2 −35 28
3 1 −21 −7
A6 ŷ 0 0 126 42
A1 ŷ 0 7 0 119
A2 ŷ 7 0 119 0
A3 ŷ 18 6 0 0

que simplificado nos queda:

(1) (2) (3) (4)


−1 2 −5 4
3 1 −3 −1
A6 ŷ 0 0 18 6
A1 ŷ 0 7 0 17
A2 ŷ 7 0 17 0
A3 ŷ 18 6 0 0
→ A4 ŷ 5 4 −11 2

Quinto Tableau:

(1) (2) (3) (4) (5)


−1 2 4 −36 34
3 1 −1 18 −17
A6 ŷ 0 0 6 90 102
A1 ŷ 0 7 17 0 187
A2 ŷ 7 0 0 162 34
A3 ŷ 18 6 0 198 0
A4 ŷ 5 4 2 0 0
13

que simplificado nos queda:

(1) (2) (3) (4) (5)


−1 2 4 −2 2
3 1 −1 1 −1
A6 ŷ 0 0 6 5 6
A1 ŷ 0 7 17 0 11
A2 ŷ 7 0 0 9 2
A3 ŷ 18 6 0 11 0
A4 ŷ 5 4 2 0 0
→ A5 ŷ 1 5 7 −3 3

Sexto Tableau:
(1) (2) (3) (4) (5) (6)
−1 2 4 2 −5 0
3 1 −1 −1 10 0
A6 ŷ 0 0 6 6 5 11
A1 ŷ 0 7 17 11 0 11
A2 ŷ 7 0 0 2 30 11
A3 ŷ 18 6 0 0 65 11
A4 ŷ 5 4 2 0 15 0
A5 ŷ 1 5 7 3 0 0
que simplificado nos queda:

(1) (2) (3) (4) (5) (6)


−1 2 4 2 −1 0
3 1 −1 −1 2 0
A6 ŷ 0 0 6 6 1 1
A1 ŷ 0 7 17 11 0 1
A2 ŷ 7 0 0 2 6 1
A3 ŷ 18 6 0 0 13 1
A4 ŷ 5 4 2 0 3 0
A5 ŷ 1 5 7 3 0 0

Luego de obtenidos los generadores del Dual, podemos utilizarlos como coe-
ficientes del Primal:

−x̂1 +3x̂2 ≥0
2x̂1 +x̂2 ≥0
4x̂1 −x̂2 +6x̂3 ≥0
2x̂1 −x̂2 +6x̂3 ≥0
−x̂1 +2x̂2 +x̂3 ≥0
x̂3 ≥0.
14 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

Igualando x̂3 a 1, obtenemos el sistema:

−x̂1 +3x̂2 ≥ 0
2x̂1 +x̂2 ≥ 0
4x̂1 −x̂2 ≥−6
2x̂1 −x̂2 ≥−6
−x̂1 +2x̂2 ≥−1.

Finalmente, debemos realizar la traslación inversa, lo que nos entrega el


sistema:

−x1 +3x2 ≥ 1
2x1 +x2 ≥ 5
4x1 −x2 ≥ 1
2x1 −x2 ≥−3
−x1 +2x2 ≥−1.

Alternativamente, podrı́amos haber obtenido los generadores mediante el


Método de Eliminación Completa de Jordan.
I
Primero debemos formar la matriz :
A

(1) (2) (3)


1 0 0
0 1 0
0 0 1
A1 ŷ 3 1 1
A2 ŷ −1 2 1
A3 ŷ 0 6 1
A4 ŷ 1 2 0
A5 ŷ 2 1 0
A6 ŷ 0 0 1

Ahora intercambiamos filas (restricciones), de modo que la parte de abajo del


15

tableau quede lo más diagonalizada posible:

(1) (2) (3)


1 0 0
0 1 0
0 0 1
A4 ŷ 1 2 0
A3 ŷ 0 6 1
A6 ŷ 0 0 1
A1 ŷ 3 1 1
A2 ŷ −1 2 1
A5 ŷ 2 1 0

y mediante operaciones elementales columna, diagonalizamos la matriz de abajo:

(1) (2) (3) (1) (2) (3)


1 −2 0 1 −2 2
0 1 0 0 1 −1
0 0 1 0 0 6
A4 ŷ 1 0 0 A4 ŷ 1 0 0
A3 ŷ 0 6 1 → A3 ŷ 0 6 0
A6 ŷ 0 0 1 A6 ŷ 0 0 6
A1 ŷ 3 −5 1 A1 ŷ 3 −5 11
A2 ŷ −1 4 1 A2 ŷ −1 4 2
A5 ŷ 2 −3 0 A5 ŷ 2 −3 3

Ası́, obtenemos el siguiente tableau simplificado, que ya ha considerado las res-


tricciones 6, 4 y 3:
(1) (2) (3)
1 −2 2
0 1 −1
A6 ŷ 0 0 6
A4 ŷ 1 0 0
A3 ŷ 0 6 0
→ A1 ŷ 3 −5 11

Segundo Tableau:
(1) (2) (3) (4)
1 2 −1 −12
0 −1 3 6
A6 ŷ 0 6 0 30
A4 ŷ 1 0 5 0
A3 ŷ 0 0 18 66
A1 ŷ 3 11 0 0
16 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

que simplificado nos queda:

(1) (2) (3) (4)


1 2 −1 −2
0 −1 3 1
A6 ŷ 0 6 0 5
A4 ŷ 1 0 5 0
A3 ŷ 0 0 18 11
A1 ŷ 3 11 0 0
→ A2 ŷ −1 2 7 9

Tercer Tableau:

(1) (2) (3) (4) (5)


2 −1 −2 4 6
−1 3 1 −1 3
A6 ŷ 6 0 5 6 0
A4 ŷ 0 5 0 2 12
A3 ŷ 0 18 11 0 18
A1 ŷ 11 0 0 17 21
A2 ŷ 2 7 9 0 0

que simplificado nos queda:

(1) (2) (3) (4) (5)


2 −1 −2 4 2
−1 3 1 −1 1
A6 ŷ 6 0 5 6 0
A4 ŷ 0 5 0 2 4
A3 ŷ 0 18 11 0 6
A1 ŷ 11 0 0 17 7
A2 ŷ 2 7 9 0 0
→ A5 ŷ 3 1 −3 7 5
17

Cuarto Tableau:

(1) (2) (3) (4) (5) (6)


2 −1 4 2 0 −5
−1 3 −1 1 0 10
A6 ŷ 6 0 6 0 11 5
A4 ŷ 0 5 2 4 0 15
A3 ŷ 0 18 0 6 11 65
A1 ŷ 11 0 17 7 11 0
A2 ŷ 2 7 0 0 11 30
A5 ŷ 3 1 7 5 0 0

que simplificado nos queda:

(1) (2) (3) (4) (5) (6)


2 −1 4 2 0 −1
−1 3 −1 1 0 2
A6 ŷ 6 0 6 0 1 1
A4 ŷ 0 5 2 4 0 3
A3 ŷ 0 18 0 6 1 13
A1 ŷ 11 0 17 7 1 0
A2 ŷ 2 7 0 0 1 6
A5 ŷ 3 1 7 5 0 0

Este último tableau nos entrega los mismos generadores, pero en distinto
orden.
18 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

Ejercicio 1.3 (†)


Considere el poliedro convexo cerrado P definido por el sistema finito de de-
sigualdades lineales amplias en R2 :

−3x1 +x2 ≤−2


−x1 +x2 ≤ 2
−x1 +2x2 ≤ 8
−x2 ≤−2
x1 ≥ 0
x2 ≥ 0

Antes que nada, observe que P es claramente no vacı́o (¿Por qué?)

(i) (3 ptos.) Mediante el Método de Doble Descripción (M.D.D.), determine


una representación equivalente de P , de la forma P = ∆ + C, donde ∆ es
el poliedro convexo cerrado acotado de R2 , definido como el conjunto de
todos los baricentros de los puntos extremos de P ; y C, el cono asintótico
engendrado por las direcciones asintóticas extremas de P .
Para ello, encuentre primeramente, mediante el M.D.D., un conjunto esen-
cial de generadores del cono de soluciones del sistema homogeneizado co-
rrespondiente. Luego, explicite el conjunto de puntos extremos de P y,
eventualmente, el conjunto de direcciones extremas de P , de modo de
expresar toda solución del sistema original bajo la forma paramétrica:
r
X s
X
x= λj P j + µl C l ,
j=1 l=1

con:
r
X
λj = 1;
j=1

λj ≥ 0; j = 1, . . . , r;
µl ≥ 0; l = 1, . . . , s;
 r  s
donde P j j=1 y C l l=1 definen el conjunto de puntos extremos y de
direcciones extremas de P , respectivamente.
19

En seguida, considere el siguiente problema de minimización lineal:


2
X
P)x̄ Min yi + η
i=1
r s
λj Pij +
X X
µl Cil + yi = x̄i ; i = 1, 2
j=1 l=1
r
X
λj + η = 1
j=1

λj ≥ 0; j = 1, . . . , r
µl ≥ 0; l = 1, . . . , s
yi ≥ 0; i = 1, 2
η≥0

(ii) (1 ptos.) Aplicando los resultados de Existencia de Soluciones Óptimas


en Programación Lineal vistos en el curso, muestre que:
Cualquiera sea el punto x̄ ∈ R2+ (es decir x̄ ∈ R2 , x̄ ≥ 0), el problema P)x̄
admite siempre solución óptima.

(iii) (1 ptos.) Si x̄ define un punto cualquiera de R2+ (i.e. x̄ ≥ 0 ), muestre


que: x̄ pertenece al poliedro (i.e.x̄ ∈ P ) si y sólo si el valor óptimo del
problema P)x̄ es nulo (i.e. v̂ P)x̄ = 0)
Más aún, muestre que si x̄ está en P , la solución óptima de P)x̄ provee
una representación paramétrica de x̄.
(iv) (1 ptos.) Dado x̄ = (4, 3)T , que claramente pertenece a P (¿Por qué?), de-
termine una representación paramétrica de x̄, como combinación convexa
de puntos y direcciones extremas de P .

Nota: En (iv), para resolver el problema lineal de minimización resultante, puede


aplicar el Método Simplex bajo forma Revisada o de Tableau.
20 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

Solución
(i) Se tiene el siguiente sistema de desigualdades:
−3x1 +x2 ≤− 2
−x1 +x2 ≤ 2
−x1 +2x2 ≤ 8
−x2 ≤− 2
x1 ≥ 0
x2 ≥ 0.

El sistema homogeneizado asociado es:


3x1 −x2 −2x3 ≥ 0
x1 −x2 +2x3 ≥ 0
x1 −2x2 +8x3 ≥ 0
+x2 −2x3 ≥ 0
x1 ≥0
x2 ≥0
x3 ≥ 0,
cuya matriz A asociada es:
 
3 −1 −2

 1 −1 2 


 1 −2 8 


 0 1 −2 
.

 1 0 0 

 0 1 0 
0 0 1

El primer cuadrante, definido por las restricciones de no-negatividad de las


variables, nos permiten formar el Tableau inicial:
(1) (2) (3)
x1 1 0 0
x2 0 1 0
x2 0 0 1
→ A1 x 3 −1 −2

Segundo Tableau:
(1) (2) (3)
x1 1 1 2
x2 0 3 0
x3 0 0 3
A1 x 3 0 0
→ A2 x 1 −2 8
21

Tercer Tableau2 :
(1) (2) (3) (4)
x1 1 2 3 6
x2 0 0 3 12
x3 0 3 0 3
A1 x 3 0 6 0
A2 x 1 8 0 0
→ A3 x 1 26 −3 6

Cuarto Tableau:
(1) (2) (3) (4) (5)
x1 1 2 6 6 12
x2 0 0 12 3 18
x3 0 3 3 0 3
A1 x 3 0 0 15 12
A2 x 1 8 0 3 0
A3 x 1 26 6 0 0
→ A4 x 0 −6 6 3 12

Quinto Tableau:

(1) (2) (3) (4) (5)


x1 1 6 6 12 8 (∗)
x2 0 12 3 18 12 (∗)
x3 0 3 0 3 6
A1 x 3 0 15 12 0
A2 x 1 0 3 0 8
A3 x 1 6 0 0 32
A4 x 0 6 3 12 0

donde las ecuaciones (∗) son redundantes


Ası́, el conjunto de generadores del cono homogéneo determinado por el
sistema de inecuaciones homogéneas es:
         
 1 6 6 12 8 
0 ,  12  , 3 ,  18  ,  12  .
0 3 0 3 6
 

Los puntos extremos del poliedro ∆ son:


           
1 1 6 2 2 1 12 4 3 1 8 4/3
P = = ,P = = ,P = = ,
3 12 4 3 18 6 6 12 2

2 Nótese que, a partir de esta iteración, podrı́amos simplificar las columnas para obtener

números enteros más pequeños.


22 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

y las direcciones asintóticas del cono C:


   
1 1 2 2
C = yC =
0 1

La forma paramétrica de representar x serı́a:


         
2 4 4/3 1 2
x = λ1 + λ2 + λ3 + µ1 + µ2
4 6 2 0 1
λ1 + λ2 + λ3 = 1
λ1 , λ2 , λ3 ≥ 0
µ1 , µ2 ≥ 0.

(ii) Si consideramos:

λ̄j = 0; j = 1, . . . , r
µ̄l = 0; l = 1, . . . , s

de las restricciones de igualdad de P)x̄ , tenemos que:

y¯i = x̄i ; i = 1, 2
η̄ = 1

para cualquier valor de x̄i . Luego P)x̄ 6= φ


Por otro lado, tenemos:

2
)
yi ≥ 0; i = 1, 2 X
⇒ yi + η ≥ 0 = cte.
η≥0 i=1

Ası́, cT x ≥ cte. y, por el Teorema de Existencia de la Programación Lineal,


P)x̄ admite solución óptima.
(iii) Por demostrar:

x̄ ∈ P ⇔ v̂ P)x̄ = 0

Condición necesaria
Tenemos:
r s
( )
X
j
X
l yi = 0; i = 1, 2 
x̄ ∈ P ⇒ x = λj P + µl C ⇒ ⇒ v̂ P)x̄ = 0.
j=1 l=1
η=0
23

Condición suficiente
Tenemos:
2

 X 
v̂ P)x̄ = 0 ⇒ yi + η = 0

 ( )
yi = 0; i = 1, 2


i=1
⇒ ⇒
yi ≥ 0; i = 1, 2
 η=0


η≥0

r s
 
X X
λj P j + µl C l 
 



 x= 


j=1 l=1

 


 


 Xr 

λj = 1; ⇒ x̄ ∈ P
 


 j=1 


 
λ ≥ 0; j = 1, . . . , r;
 
j

 


 

µl ≥ 0; l = 1, . . . , s;
 

(iv) Se podı́a resolver el problema mediante Simplex, pero dada la simplicidad


del poliedro, lo más conveniente es graficar:
x2

2
C2 =

1

4
P2 =

6

2
P1 =

4

4

x̄ = 3
2
x̄′ =

3

4/3 1
C1 =

P3 =

2 0

x1

se puede notar que las restricciones de no-negatividad de las variables son re-
dundantes.

2
Primero determinamos el punto x̄′ =

3 , que resulta de la recta que pasa a
24 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

través de P 2 y P 3 , evaluada en x2 = 3. Luego, teniendo en cuenta que λ1 = 0,


determinamos los valores de λ2 y λ3 como:
     
′ 2 4 4/3
x̄ = = λ2 + λ3 ,
3 6 2

de donde resulta que λ2 = 1/4 y λ3 = 3/4.


Finalmente, teniendo en cuenta que µ2 = 0, calculamos µ1 como:
 
′ 1
x̂ = x̂ + µ1 ,
0

de donde resulta que µ1 = 2.


En resumen:

λ1 = 0, λ2 = 1/4, λ3 = 3/4, µ1 = 2 y µ2 = 0.
25

Ejercicio 1.4 (†)


Considere el problema de minimización:

P)Min 2x1 −x2 +x3


2x1 +x2 −2x3 ≤8
4x1 −x2 +2x3 ≥2
2x1 +3x2 +x3 ≥4
x1 , x2 , x3 ≥0

(i) Determine, Mediante el Método de Doble Descripción, el conjunto de pun-


tos y direcciones extremas del poliedro definido por las restricciones de P)

(ii) A partir de i) y aplicando los Teoremas de Existencia de la Programación


Lineal, determine si P) tiene o no solución óptima. Luego, si fuese el caso,
determine una solución óptima de P).

Solución
(i) El poliedro P está definido por las siguientes desigualdades:

2x1 + x2 −2x3 ≤ 8
4x1 − x2 +2x3 ≥ 2
2x1 +3x2 + x3 ≥ 4
x1 ≥0
x2 ≥0
x3 ≥0.

Primero se debe homogeneizar el sistema:

−2x1 − x2 +2x3 +8x4 ≥ 0


4x1 − x2 +2x3 −2x4 ≥ 0
2x1 +3x2 + x3 −4x4 ≥ 0
x1 ≥0
x2 ≥0
x3 ≥0
x4 ≥0,
26 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

cuya matriz A asociada es:

−2 −1 2 8
 
 4 −1 2 −2 
 2 3 1 −4 
 
 1 0 0 0
 
 0 1 0 0
0 0 1 0
 
0 0 0 1

El primer cuadrante, definido por las restricciones de no-negatividad de las


variables, nos permiten formar el Tableau inicial:

(1) (2) (3) (4)


x1 1 0 0 0
x2 0 1 0 0
x3 0 0 1 0
x4 0 0 0 1
→ A1 x −2 −1 2 8

Segundo Tableau:

(1) (2) (3) (4) (5) (6)


x1 0 0 1 4 0 0
x2 0 0 0 0 2 8
x3 1 0 1 0 1 0
x4 0 1 0 1 0 1
A1 x 2 8 0 0 0 0
→ A2 x 2 −2 6 14 0 −10

Tercer Tableau:3

(1) (2) (3) (4) (5) (6) (7)


x1 0 1 4 0 0 4 20
x2 0 0 0 2 0 0 56
x3 1 1 0 1 1 0 0
x4 0 0 1 0 1 8 12
A1 x 2 0 0 0 10 56 0
A2 x 2 6 14 0 0 0 0
→ A3 x 1 3 4 7 −3 −24 160

3 Nótese que, por simplicidad en los cálculos, a partir de este punto podrı́amos haber sim-

plificado el Tableau
27

Cuarto Tableau:

(1) (2) (3) (4) (5) (6) (7) (8) (9)


x1 0 1 4 0 20 0 0 28 140
x2 0 0 0 2 56 0 6 0 168
x3 1 1 0 1 0 4 10 0 0
x4 0 0 1 0 12 1 7 14 196
A1 x 2 0 0 0 0 16 70 56 1120
A2 x 2 6 14 0 0 6 0 84 0
A3 x 1 3 4 7 160 0 0 0 0

donde no hay ecuaciones redundantes.


Ası́, el conjunto de generadores del cono homogéneo determinado por el
sistema de inecuaciones homogéneas es:
                 

 0 1 4 0 20 0 0 28 140 

     0     56   0   6   0   168
0 0
 , , , , 2 
1 1  0  1  0  ,  4  ,  10  , 
      ,  .

 0   0 

0 0 1 0 12 1 7 14 196
 

Los puntos extremos del poliedro ∆ son:


       
4 4 20 5/3
1 1
P1 = 0 = 0 , P 2 = 56 = 14/3 ,
1 0 0 12 0 0
       
0 0 0 0
1     1   
P3 = 0 = 0 , P4 = 6 = 6/7  ,
1 4 4 7 10 10/7
       
28 2 140 5/7
1 1
P5 =  0  = 0 y P 6 = 168 = 6/7 ;
14 0 0 196 0 0
y las direcciones asintóticas del cono C:
     
0 1 0
C 1 = 0 , C 2 = 0 y C 3 = 2 .
1 1 1

(ii) Dado que poseemos las direcciones asintóticas, demostraremos existencia


haciendo uso de ellas:

Poliedro no vacı́o
Efectivamente, cualquier punto determinado en la parte (ii) pertenece a P .
Por ejemplo (4, 0, 0).
28 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

cT C j , j = 1, . . . , s
En este caso, para cT = (2, −1, 1), se tiene:

cT C 1 = 1 ≥ 0
cT C 2 = 3 ≥ 0
cT C 3 = −16≥ 0

Ası́, por el Teorema de Existencia de la Programación Lineal, P) no admite


solución óptima.
29

Ejercicio 1.5
Encuentre los generadores del cono homogéneo dado por el sistema de ecuaciones
lineales homogéneas en R3 :

x1 + x3 ≥ 0
x1 + x2 + 2x3 ≥ 0
2x1 + x2 + 3x3 ≥ 0
x2 + x3 ≥ 0
(x1 )
(x2 )
(x3 )

Solución
La matriz A asociada al sistema es:

 
1 0 1
1 1 2
2 1 3
 
0 1 1

Como todas las variables son libres, el tableau inicial es:

(1) (2) (3) (4) (5) (6)


1 −1 0 0 0 0
0 0 1 −1 0 0
0 0 0 0 1 −1
→ A1 x 1 −1 0 0 1 −1

Segundo Tableau:

(1) (2) (3) (4) (5)


0 0 1 −1 1
1 −1 0 0 0
0 0 −1 1 0
A1 x 0 0 0 0 1
→ A2 x 1 −1 −1 1 1
30 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

Tercer Tableau:
(1) (2) (3) (4)
1 −1 0 1
1 −1 1 −1
−1 1 0 0
A1 x 0 0 0 1
A2 x 0 0 1 0
→ A3 x 0 0 1 1
Todas las nuevas entradas son positivas. Luego, la restricción A3 x ≥ 0 es redun-
dante y la podemos eliminar de entrada.
Cuarto Tableau:
(1) (2) (3) (4)
1 −1 0 1
1 −1 1 −1
−1 1 0 0
A1 x 0 0 0 1
A2 x 0 0 1 0
→ A4 x 0 0 1 −1
En este caso, todas las nuevas entradas de los generadores singulares con iguales
a cero. Luego, el siguiente Tableau tendrá los mismos generadores singulares.
Los nuevos generadores no-singulares se obtienen con el M.D.D. tradicional4 .
Tableau Final5 :
(1) (2) (3) (4)
1 −1 0 1
1 −1 1 0
−1 1 0 0
A1 x 0 0 0 1
A2 x 0 0 1 1
A4 x 0 0 1 0

Ası́, los generadores del cono son:


       
 1 −1 0 1 
 1  , −1 , 1 , 0 .
−1 1 0 0
 

donde los dos primeros son los generadores singulares (simétricos) y los dos
últimos, los no-singulares.

4 En este caso hay 2 generadores singulares. Por ende, la dimensión del vértice del cono

actual es d = 1 y los vectores a combinar deben tener (n−d)−2 = 0 ceros en común (Condición
Necesaria a Priori). Equivalentemente, los nuevos vectores generados deben tener al menos
(n − d) − 1 = 1 ceros en el Tableau (Condición Necesaria a Posteriori). Las Condiciones
Necesarias y Suficientes (tanto a Priori como a Posteriori) no cambian.
5 Notar que, a partir de la parte singular de las filas de este Tableau, se puede determinar

que la restricción A2 x también es redundante.


31

Alternativamente, podrı́amos haber obtenido los generadores mediante el


Método de Eliminación Completa de Jordan.
I
Primero debemos formar la matriz :
A

(1) (2) (3)


1 0 0
0 1 0
0 0 1
A1 x 1 0 1
A2 x 1 1 2
A3 x 2 1 3
A4 x 0 1 1

y mediante operaciones elementales sobre las columnas, se diagonaliza primera-


mente una sub-matriz de rango máximo de la parte inferior del Tableau inicial,
realizando eventualmente permutaciones de filas y/o columnas, en busca de un
pivote de diagonalización 6= 0 (Método de Eliminación Completa de Jordan):

(1) (2) (3) (1) (2) (3) (1) (2) (3)


1 0 0 1 0 −1 1 0 −1
0 1 0 0 1 0 −1 1 −1
0 0 1 0 0 1 0 0 1
→ →
A1 x 1 0 1 A1 x 1 0 0 A1 x 1 0 0
A2 x 1 1 2 A2 x 1 1 1 A2 x 0 1 0
A3 x 2 1 3 A3 x 2 1 1 A3 x 1 1 0
A4 x 0 1 1 A4 x 0 1 1 A4 x −1 1 0

Una vez finalizado el procedimiento de diagonalización, se cambia los signos


de todas las columnas que eventualmente tuvieran elementos negativos (pivotes
negativos) en la diagonal correspondiente (en el caso de este ejericio, ninguno).
En el caso particular en que el sistema de desigualdades es de rango completo,
es decir, si rango(A) = n, donde n es la dimensión del espacio, la base de Rn
resultante de este procedimiento, provee igualmente un conjunto esencial de
generadores del cono poliédrico puntiagudo definido por las n restricciones de
desigualdad linealmente independientes asociadas a la matriz diagonal invertible
resultante. Este conjunto define el equivalente a la base canónica del ortante no-
negativo, en el caso particular en que esta última matriz está definida de entrada,
por las restricciones de signo sobre las variables del sistema (caso tradicional con
restricciones de signo sobre todas las variables).
En el caso general, si rango(A) = r < n (como el caso de este ejercicio, donde
r = 2), se puede obtener la misma situación anterior, completando el conjunto
de las r desigualdades linealmente independientes que entrega el proceso de
32 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

diagonalización anterior (en este caso las desigualdades A1 x ≥ 0 y A2 x ≥ 0),


con el conjunto de desigualdades LT x ≥ 0 y −LT x ≥ 0 (o, equivalentemente, de
igualdades LT x = 0), donde las columnas de L definen la base del sub-espacio
vértice del cono poliédrico de las soluciones del sistema original. De hecho, es
fácil ver que el sistema resultante es de rango n, de tal modo que una vez
incorporadas las (n − r) restricciones adicionales, dispondremos entonces de un
conjunto esencial de generadores del cono poliédrico puntiagudo Ĉ, resultante
de la intersección del cono poliédrico original C, con el subespacio ortogonal al
vértice del cono poliédrico de las soluciones del sistema original.
En este caso, quedan incorporadas las restricciones A1 x ≥ 0 y A2 x ≥ 0; y:

−1
L = −1
1

Para generar el tableau inicial de los generadores del cono puntiagudo Ĉ,
T
se debe agregar la restricción L1 x ≥ 0 (En realidad se debe agregar todas las
T
restricciones Li x ≥ 0, donde Li son las columnas de la matriz L. En nuestro
caso es sólo una columna):

(1) (2) (3)


1 0 −1
−1 1 −1
0 0 1
A1 x 1 0 0
A2 x 0 1 0
T
→ L1 x 0 −1 3

Tableau inicial6 :
(1) (2) (3)
1 −1 −1
−1 −1 2
0 1 1
A1 x 1 0 0
A2 x 0 0 3
1T 0 3 0
L x

T
Ahora se debe agregar la restricción −L1 x ≥ 0 y las restricciones que
quedaron fuera en el Método de Jordan (en este caso, las restricciones A3 x ≥ 0

T
6 Nótese que al incorporar la restricción L1 x ≥ 0 se forma una matriz diagonal (salvo un

intercambio de columnas) con elementos positivos en la parte de la matriz que corresponde al


tableau.
33

y A4 x ≥ 0).
(1) (2) (3)
1 −1 −1
−1 −1 2
0 1 1
A1 x 1 0 0
A2 x 0 0 3
T
L1 T x 0 3 0
1 0 −3 0
→ −L x

Segundo Tableau:
(1) (2)
1 −1
−1 2
0 1
A1 x 1 0
A2 x 0 3
T
L1 T x 0 0
1 0 0
−L x
→ A3 x 1 3
Todas las nuevas entradas son positivas. Luego, la restricción A3 x ≥ 0 es redun-
dante y la podemos eliminar de entrada.
Tercer Tableau
(1) (2)
1 −1
−1 2
0 1
A1 x 1 0
A2 x 0 3
T
L1 T x 0 0
1 0 0
−L x
→ A4 x −1 3

Cuarto Tableau7
(1) (2)
−1 2
2 −1
1 1
A1 x 0 3
A2 x 3 3
T
L1 T x 0 0
1 0 0
−L x
A4 x 3 0
7 Notar que, a partir de las filas de este Tableau, se puede determinar que la restricción

A2 x también es redundante
34 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

Ası́, los generadores del cono puntiagudo Ĉ son:


   
 −1 2 
 2  , −1 .
1 1
 

Finalmente, el conjunto de soluciones del sistema original estará dado por


la suma vectorial de este cono puntiagudo y del sub-espacio vértice original,
ker(A), cuya base está dada por las columnas de la matriz L. En otras palabras
C = Ĉ + [L], donde los generadores de C son los generadores de Ĉ más las
columnas de L y de −L:
       
 −1 1 −1 2 
−1 ,  1  ,  2  , −1 .
1 −1 1 1
 

Observación 1: Para pasar al segundo Tableau se ha incorporado secuen-


T T
cialmente las restricciones L1 x ≥ 0 y −L1 x ≥ 0 (que son equivalentes a
T
L1 x = 0). Esto lo podrı́amos haber hecho en un sólo paso:

(1) (2) (3)


1 0 −1
−1 1 −1
0 0 1
A1 x 1 0 0
A2 x 0 1 0
T
→ L1 x 0 −1 3

(1) (2)
1 −1
−1 2
0 1
A1 x 1 0
A2 x 0 3
T
L1 x 0 0
T
donde la última fila tiene la restricción L1 x = 0.
Lo que se ha hecho es:

eliminar los generadores con nueva entrada distinta de cero

combinar los generadores con nueva entrada con distinto signo


35

Observación 2: En este caso las direcciones no-singulares entregadas por el


M.D.D:    
 0 1 
1 , 0 .
0 0
 

son distintas a las entregadas por el Método de Jordan:


    
 −1 2 
 2  , −1 .
1 1
 

Sin embargo, las direcciones generan el mismo cono. De hecho, cada una de las
direcciones entregadas por el M.D.D. es igual a la combinación lineal positiva
de una de las direcciones entregadas por el Método de Jordan y uno de los
generadores del ker(A) (columnas de L). Concretamente:
     
−1 1 0
1  1   
2 + 1 = 1
3 3
1 −1 0
     
2 1 1
1  1   
−1 + 1 = 0
3 1 3 −1 0
36 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

Ejercicio 1.6
Encuentre los generadores del cono homogéneo dado por el sistema de ecuaciones
lineales homogéneas en R3 :

2x1 −x2 ≥0
−x1 +2x2 ≥0
(x1 )
(x2 )
(x3 )

Solución
El cono está dado por la figura:

x3
1

0.5

x2
2
0
1.5

1 x1
2
-0.5
1.5
0.5
1
0.5
-1
0
0

Claramente este no es un cono puntiagudo.


37

La matriz A asociada al sistema es:


 
2 −1 0
−1 2 0
Como todas las variables son libres, el tableau inicial es:
(1) (2) (3) (4) (5) (6)
1 −1 0 0 0 0
0 0 1 −1 0 0
0 0 0 0 1 −1
→ A1 x 2 −2 −1 1 0 0

Segundo Tableau:
(1) (2) (3) (4) (5)
0 0 1 −1 1
0 0 2 −2 0
1 −1 0 0 0
A1 x 0 0 0 0 2
→ A2 x 0 0 3 −3 −1

Tercer Tableau:
(1) (2) (3) (4)
0 0 1 4
0 0 2 2
1 −1 0 0
A1 x 0 0 0 6
A2 x 0 0 3 0

Ası́, los generadores del cono son:


       
 0 0 1 2 
0 ,  0  , 2 , 1 .
1 −1 0 0
 

Alternativamente, podrı́amos haber obtenido los generadores mediante el


Método de Eliminación Completa de Jordan.
I
Primero debemos formar la matriz :
A

(1) (2) (3)


1 0 0
0 1 0
0 0 1
A1 x 2 −1 0
A2 x −1 2 0
38 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

y mediante operaciones elementales columna, diagonalizamos la matriz de abajo:

(1) (2) (3) (1) (2) (3) (1) (2) (3)


1 1 0 4 1 0 2 1 0
0 2 0 2 2 0 1 2 0
→ →
0 0 1 0 0 1 0 0 1
A1 x 2 0 0 A1 x 6 0 0 A1 x 3 0 0
A2 x −1 3 0 A2 x 0 3 0 A2 x 0 3 0

Ası́, no quedan restricciones sin incorporar y:

 
0
L = 0
1

Para generar el tableau inicial de los generadores del cono puntiagudo Ĉ,
T
se debe agregar la restricción L1 x ≥ 0 (En realidad se debe agregar todas las
T
restricciones Li x ≥ 0, donde Li son las columnas de la matriz L. En nuestro
caso es sólo una columna):

(1) (2) (3)


2 1 0
1 2 0
0 0 1
A1 x 3 0 0
A2 x 0 3 0
T
→ L1 x 0 0 1
39

Tableau inicial89 :
(1) (2) (3)
2 1 0
1 2 0
0 0 1
A1 x 3 0 0
A2 x 0 3 0
T
L1 x 0 0 1
T
Ahora se debe agregar la restricción −L1 x ≥ 0 y las restricciones que
quedaron fuera en el Método de Jordan (en este caso ninguna).
(1) (2) (3)
2 1 0
1 2 0
0 0 1
A1 x 3 0 0
A2 x 0 3 0
T
L1 T x 0 0 1
1 0 0 −1
→ −L x

Segundo Tableau (y final):


(1) (2)
2 1
1 2
0 0
A1 x 3 0
A2 x 0 3
T
L1 T x 0 0
1 0 0
−L x

Ası́, los generadores del cono Ĉ son:


   
 1 2 
2 , 1 .
0 0
 

Finalmente, como C = Ĉ + [L], se tiene que los generadores de C son los


generadores de Ĉ más las columnas de L y de −L:
       
 1 2 0 0 
2 , 1 , 0 ,  0  .
0 0 1 −1
 

8 Cabe notar que podrı́amos haber haber “resumido” el tableau, “juntando” la tercera fila
T
de los generadores con la fila de la restricción L1 x ≥ 0. Sin embargo, no se ha hecho por
razones pedagógicas.
9 Nótese que al incorporar la restricción L1 T x ≥ 0 se forma una matriz diagonal con

elementos positivos en la parte de la matriz que corresponde al tableau.


40 CAPÍTULO 1. MÉTODO DE DOBLE DESCRIPCIÓN

Nota: Para pasar al segundo Tableau se ha incorporado secuencialmente las


T T T
restricciones L1 x ≥ 0 y −L1 x ≥ 0 (que son equivalentes a L1 x = 0). Esto
lo podrı́amos haber hecho en un sólo paso:

(1) (2) (3)


2 1 0
1 2 0
0 0 1
A1 x 3 0 0
A2 x 0 3 0
1T 0 0 1
→L x

(1) (2)
2 1
1 2
0 0
A1 x 3 0
A2 x 0 3
T
L1 x 0 0
T
donde la última fila tiene la restricción L1 x = 0.
Lo que se ha hecho es:

eliminar los generadores con nueva entrada distinta de cero


combinar los generadores con nueva entrada con distinto signo (en este
caso no hay generadores para combinar)
Capı́tulo 2

Método Simplex Revisado


con Inversa de Base
Explı́cita

Ejercicio 2.1 (Ejercicio de Clases)


Resolver el siguiente problema de Programación Lineal
P) Min − 3x1 − x2 − 3x3
2x1 + x2 + x3 ≤ 2
x1 + 2x2 + 3x3 ≤ 5
2x1 + 2x2 + x3 ≤ 6
x1 , x2 , x3 ≥ 0,

mediante el Método Simplex Revisado con Inversa de Base Explı́cita

Solución
Primero se debe agregar variables de holgura, de modo de que el problema quede
en formato estándar:
P) Min−3x1 − x2 − 3x3
2x1 + x2 + x3 + x4 =2
x1 + 2x2 + 3x3 + x5 =5
2x1 + 2x2 + x3 + x6 = 6
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0.

41
42 CAPÍTULO 2. MÉTODO SIMPLEX REVISADO

Ası́, podemos obtener la matriz A y los vectores b y cT :


   
2 1 1 1 0 0 2
1 0 b = 5 cT = −3 −1 −3 0 0
 
A = 1 2 3 0 0 .
2 2 1 0 0 1 6

Es inmediato que las últimas columnas de la matriz A forman la identidad:


 
  2 1 1 1 0 0
A= D B = 1 2 3 0 1 0 
2 2 1 0 0 1

De este modo, se tiene:


   
1 0 0 2 1 1
B = {4, 5, 6} D = {1, 2, 3} B = 0 1 0 D = 1 2 3
0 0 1 2 2 1

Primera iteración
Primer paso: Cálculo del lado derecho del Tableaux
      
1 0 0 2 2 0
y0 = B −1 b = 0 1 0 5 = 5 ≥ 0
0 0 1 6 6 0

Segundo paso: Cálculo del vector de multiplicadores π


 
 1 0 0
π T = cTB B −1 = 0 0
  
0 0 1 0 = 0 0 0
0 0 1
Costos reducidos

 
T
 2 1 1
= cTD − π T D = −3 −1 −3 − 0 1
    
rD 0 0 1 2 3 = −3 −1 −3
2 2 1 6≥ 0 6≥ 0 6≥ 0

q =2

Luego, x2 entra a la base


Tercer paso: Cálculo de la columna entrante en el Tableaux

    
1 0 0 1 1
y2 = B −1 A2 = 0 1 0 2 =  2 
0 0 1 2 2
1 no se ha utilizado el costo reducido más negativo
43

Variable saliente  
 2 5 6
Min , , =2
 1 2 2

Ası́, p = 1 y el pivote
Luego, x4 sale de la base
Nueva Base:
Matriz de pivote

[η1 ]
 1    
1 0 0 1 0 0
2 
P1 =   −1 1 0  = −2 1 0
2
−1
0 1 −2 0 1

Ası́     
1 0 0 1 0 0 1 0 0
−1
B+ = P1 B −1 = −2 1 0 0 1 0 = −2 1 0
−2 0 1 0 0 1 −2 0 1
y los datos para la nueva iteración son:
   
1 0 0 2 1 1
B = {2, 5, 6} D = {1, 3, 4} B −1 = −2 1 0 D = 1 3 0
−2 0 1 2 1 0

Segunda iteración
Primer paso: Cálculo del lado derecho del Tableaux
      
1 0 0 2 2 0
y0 = B −1 b = −2 1 0 5 = 1 ≥ 0
−2 0 1 6 2 0

Segundo paso: Cálculo del vector de multiplicadores π


 
1 0 0
π T = cTB B −1
   
= −1 0 0 −2 1 0 = −1 0 0
−2 0 1
Costos reducidos

 
2 1 1
T
= cTD − π T D = −3 −3 0 − −1 0 0 1 3
     
rD 0 = −1 −2 1
2 1 0 6≥ 0 6≥ 0 ≥ 0

q = 3
44 CAPÍTULO 2. MÉTODO SIMPLEX REVISADO

Luego, x3 entra a la base


Tercer paso: Cálculo de la columna entrante en el Tableaux

1
    
1 0 0 1
y3 = B −1 A3 = −2 1 0 3 =  1 
−2 0 1 1 −1
Variable saliente  
2 1 
Min , ,· = 1
1 1 

Ası́, p = 2 y el pivote
Luego, x5 sale de la base
Nueva Base:
Matriz de pivote

[η2 ]
  1 
  
1 −1 0 1 −1 0
P2 =  0  11  0  = 0 1 0
−1
0 −1 1 0 1 1

Ası́     
1 −1 0 1 0 0 3 −1 0
−1
B+ = P2 B −1 = 0 1 0 −2 1 0 = −2 1 0
0 1 1 −2 0 1 −4 1 1
y los datos para la nueva iteración son:
   
3 −1 0 2 1 0
B = {2, 3, 6} D = {1, 4, 5} B −1 = −2 1 0 D = 1 0 1
−4 1 1 2 0 0

Tercera iteración
Primer paso: Cálculo del lado derecho del Tableaux
      
3 −1 0 2 1 0
y0 = B −1 b = −2 1 0 5 = 1 ≥ 0
−4 1 1 6 3 0

Segundo paso: Cálculo del vector de multiplicadores π


 
 3 −1 0
π T = cTB B −1
  
= −1 −3 0 −2 1 0 = 3 −2 0
−4 1 1
45

Costos reducidos

 
T
 2 1 0
= cTD − π T D = −3 0 0 − 3
    
rD −2 0 1 0 1 = −7 −3 2
2 0 0 6≥ 0 6≥ 0 ≥ 0

q = 1

Luego, x1 entra a la base


Tercer paso: Cálculo de la columna entrante en el Tableaux

    
3 −1 0 2 5
y1 = B −1 A1 = −2 1 0 1 =  −3 
−4 1 1 2 −5
Variable saliente  
 1  1
Min , ·, · =
 5  5

Ası́, p = 1 y el pivote
Luego, x2 sale de la base
Nueva Base:
Matriz de pivote
[η1 ]
 1   1 
5 0 0 5 0 0
−3 
P1 =   −5 1 0  =  35 1 0
−5
−5 0 1 1 0 1

Ası́
1    
5 0 0 3 −1 0 3/5 −1/5 0
−1
B+ = P1 B −1 = 3 1 0 −2 1 0 = −1/5 2/5 0
5
1 0 1 −4 1 1 −1 0 1
y los datos para la nueva iteración son:
   
3/5 −1/5 0 1 1 0
B = {1, 3, 6} D = {2, 4, 5} B −1 = −1/5 2/5 0 D = 2 0 1
−1 0 1 2 0 0

Cuarta iteración
Primer paso: Cálculo del lado derecho del Tableaux
    1  
3/5 −1/5 0 2 5 0
y0 = B −1 b = −1/5 2/5 0 5 =  85  ≥ 0
−1 0 1 6 4 0
46 CAPÍTULO 2. MÉTODO SIMPLEX REVISADO

Segundo paso: Cálculo del vector de multiplicadores π


 
3/5 −1/5 0
π T = cTB B −1 = −3 −3 0 −1/5 2/5 0 = −6 −3
   
5 5 0
−1 0 1
Costos reducidos

 
T
 1 1 0
= cTD −π T D = −1 0 0 − −6 −3
    
rD 5 5 0 2 0 1 = 7/5 6/5 3/5
2 0 0 ≥ 0 ≥ 0 ≥ 0

FIN

Finalmente:        
x1 1/5 x2 0
x3  = y0 = 8/5 y x4  = 0
x6 4 x5 0
47

Ejercicio 2.2 (†)


Considere el modelo lineal:

P) Min x1 + x2 − 4x3
x1 + x2 + 2x3 ≤ 9
x1 + x2 − x3 ≤ 2
−x1 + x2 + x3 ≤ 4
x1 , x2 , x3 ≥ 0,

(i) (2 Ptos.) Muestre, antes de resolver, que P) admite solución óptima. Apli-
que el Teorema de Existencia de la Programación Lineal

(ii) (4 Ptos.) Resuelva P) mediante el Simplex Revisado con Inversa de Base


explı́cita. Detalle los distintos pasos realizados en cada iteración, explici-
tando las inversas de base y las matrices de pivote utilizadas para el cálculo
de éstas. Además, calcule en cada iteración el costo reducido más negativo,
e ingrese a la base la variable asociada a este último costo, mientras no
obtenga una solución óptima, obviamente.

Solución
(i) Claramente x1 = x2 = x3 = 0 es solución de P). Luego, el dominio es no
vacı́o (P) 6= φ)
Para satisfacer la segunda parte de la hipótesis del teorema , necesitamos
que:
cT x = x1 + x2 − 4x3 ≥ K
multiplicando la primera restricción por −1, tenemos:

−x1 − x2 − 2x3 ≥ −9 
x1 ≥ 0 ⇒−2x3 ≥ −9 ⇒−4x3 ≥ −18
x2 ≥ 0

y con las restricciones de no-negatividad para el resto de las restricciones:



−4x3 ≥ −18 
x1 ≥ 0 ⇒x1 + x2 − 4x3 ≥ −18
x2 ≥ 0

Luego, se cumple la segunda hipótesis del Teorema de Existencia de la Progra-


mación Lineal.
48 CAPÍTULO 2. MÉTODO SIMPLEX REVISADO

(ii)Primero se debe agregar variables de holgura, de modo de que el problema


quede en formato estándar:
P) Min x1 + x2 − 4x3
x1 + x2 + 2x3 + x4 =9
x1 + x2 − x3 + x5 =2
− x1 + x2 + x3 + x6 = 4
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0.

Ası́, podemos obtener la matriz A y los vectores b y cT :


   
1 1 2 1 0 0 9
1 −1 0 1 0 b = 2 cT = 1 1
 
A= 1 −4 0 0 0 .
−1 1 1 0 0 1 4
Es inmediato que las últimas columnas de la matriz A forman la identidad:
 
  1 1 2 1 0 0
A= D B = 1 1 −1 0 1 0 
−1 1 1 0 0 1
De este modo, se tiene:
   
1 0 0 1 1 2
B = {4, 5, 6} D = {1, 2, 3} B = 0 1 0 D =  1 1 −1
0 0 1 −1 1 1
Primera iteración
Primer paso: Cálculo del lado derecho del Tableaux
      
1 0 0 9 9 0
y0 = B −1 b = 0 1 0 2 = 2 ≥ 0
0 0 1 4 4 0

Segundo paso: Cálculo del vector de multiplicadores π


 
 1 0 0
π T = cTB B −1 = 0 0
  
0 0 1 0 = 0 0 0
0 0 1
Costos reducidos

 
T
 1 1 2
= cTD − π T D = 1 1
    
rD −4 − 0 0 0 1 1 −1 = 1 1 −4
−1 1 1 ≥ 0 ≥ 0 6≥ 0

q = 3
49

Luego, x3 entra a la base


Tercer paso: Cálculo de la columna entrante en el Tableaux

2
    
1 0 0 2
y3 = B −1 A3 = 0 1 0 −1 =  −1 
0 0 1 1 1
Variable saliente  
9 4 
Min , ·, =4
2 1 
Ası́, p = 3 y el pivote
Luego, x6 sale de la base
Nueva Base:
Matriz de pivote

[η3 ]
  2   
1 0 −1 1 0 −2
P3 =  0 1  −1   = 0 1 1
−1
0 0 1
1
0 0 1

Ası́     
1 0 −2 1 0 0 1 0 −2
−1
B+ = P3 B −1 = 0 1 1  0 1 0 = 0 1 1
0 0 1 0 0 1 0 0 1
y los datos para la nueva iteración son:
   
1 0 −2 1 1 0
B = {4, 5, 3} D = {1, 2, 6} B −1 = 0 1 1  D= 1 1 0
0 0 1 −1 1 1

Segunda iteración
Primer paso: Cálculo del lado derecho del Tableaux
      
1 0 −2 9 1 0
y0 = B −1 b = 0 1 1  2 = 6 ≥ 0
0 0 1 4 4 0

Segundo paso: Cálculo del vector de multiplicadores π


 
 1 0 −2
π T = cTB B −1
  
= 0 0 −4 0 1 1 = 0 0 −4
0 0 1
50 CAPÍTULO 2. MÉTODO SIMPLEX REVISADO

Costos reducidos

 
1 1 0
T
= cTD − π T D = 1
    
rD 1 0 − 0 0 −4  1 1 0 = −3 5 4
−1 1 1 6≥ 0 ≥ 0 ≥ 0

q = 1

Luego, x1 entra a la base


Tercer paso: Cálculo de la columna entrante en el Tableaux

    
1 0 −2 1 3
y1 = B −1 A1 = 0 1 1  1  =  0 
0 0 1 −1 −1
Variable saliente  
 1  1
Min , ·, · =
 3  3

Ası́, p = 1 y el pivote
Luego, x4 sale de la base
Nueva Base:
Matriz de pivote

[η1 ]
 1    
3 0 0 1/3 0 0
0 
P1 =   −3 1 0  =  0 1 0
−1
−3
0 1 1/3 0 1

Ası́
    
1/3 0 0 1 0 −2 1/3 0 −2/3
−1 −1
B+ = P1 B =  0 1 0 0 1 1 = 0 1 1 
1/3 0 1 0 0 1 1/3 0 1/3

y los datos para la nueva iteración son:


   
1/3 0 −2/3 1 1 0
B = {1, 5, 3} D = {2, 4, 6} B −1 = 0 1 1  D = 1 0 0
1/3 0 1/3 1 0 1

Tercera iteración
Primer paso: Cálculo del lado derecho del Tableaux
51

      
1/3 0 −2/3 9 1/3 0
y0 = B −1 b =  0 1 1  2 =  6  ≥ 0
1/3 0 1/3 4 13/3 0

Segundo paso: Cálculo del vector de multiplicadores π


 
 1/3 0 −2/3
π T = cTB B −1
  
= 1 0 −4  0 1 1  = −1 0 −2
1/3 0 1/3
Costos reducidos

 
T
 1 1 0
= cTD − π T D = 1
  
rD 0 0 − −1 0 −2 1 0 0 = [ 4 1 2 ]
1 0 1 ≥ 0 ≥ 0 ≥ 0

F IN

Ası́:        
x1 1/3 x2 0
x5  = y0 =  6  y x4  = 0
x3 13/3 x6 0
Luego, la solución del problema original queda:
   
x̂1 1/3
x̂ = x̂2  =  0 
x̂3 13/3

y el valor óptimo del problema es:

v̂(P) = 1 · 1/3 + 1 · 0 + −4 · 13/3 = −17


52 CAPÍTULO 2. MÉTODO SIMPLEX REVISADO

Ejercicio 2.3 (†)


Sea P un poliedro convexo cerrado definido como:
P = {x ∈ Rn |Ax ≤ b, x ≥ 0}

(i) (1 Ptos.) En base a los resultado fundamentales del curso, muestre que
P es acotado y no vacı́o si y sólo si el siguiente problema lineal admite
solución óptima:
n
X
P) Maximizar xi
i=1
Ax ≤ b
x ≥ 0.

(ii) (3 ptos.) En base a i), determine si el siguiente poliedro es acotado y no


vacı́o:
P = {(x1 , x2 )| − x1 + x2 ≥ 1; x2 ≤ 3; x1 , x2 ≥ 0} .

(iii) (2 ptos.) Considere el problema lineal:


P) Min x1 −2x2
−x1 +x2 ≥1
x2 ≤3
x1 , x2 ≥0
Muestre, en base a lo anterior, que P) admite solución óptima y resuelva
P) con el Simplex Revisado con Inversa Explı́cita, a partir de ii).

Solución
(i) Debemos demostrar tanto la condición necesaria como la suficiente:

•Condición Necesaria
Por demostrar que:
P acotado y no vacı́o ⇒ P) admite solución óptima.
Consideremos el problema equivalente de minimización:
n
X
P) Min − xi
i=1
Ax ≤ b
x ≥ 0.
53

Como P es acotado, tenemos:


n
X n
X
ai ≤ xi ≤ bi; i = 1, . . . , n ⇒ −xi ≥ −bi ⇒ − xi ≥ − bi := cte.
i=1 i=1
Pn
Ası́ − i=1 xi ≥ cte. Por otro lado, de la hipótesis, P es no vacı́o. Luego, por el
Teorema de Existencia de la Programación Lineal, P) admite solución óptima2 .

•Condición Suficiente
Por demostrar que:

P) admite solución óptima ⇒ P acotado y no vacı́o.

Si P) admite solución óptima, por el Teorema de Existencia de la Progra-


mación Lineal, P es no vacı́o. Luego, basta con demostrar que P es acotado.
Por el mismo teorema tenemos:
n
X n
X
− xi ≥ cte ⇒ xi ≤ −cte. (2.1)
i=1 i=1

Por otro lado:


n
X
xi ≥ 0 ⇒ −xi ≤ 0 ⇒ − xi ≤ 0. (2.2)
i=1
i6=j

Sumando (2.1) y (2.2), tenemos:

xj ≤ −cte.; ∀j ∈ {1, . . . , n}.

Como las variables son no-negativas, tenemos:

0 ≤ xj ≤ −cte.; ∀j ∈ {1, . . . , n}.

Luego P es acotado.
(ii) Debemos demostrar si el siguiente problema admite solución óptima:

P) Max x1 +x2
−x1 +x2 ≥1
x2 ≤3
x1 , x2 ≥0.
2 Por motivos pedagógicos, se ha utilizado el Teorema de Existencia de la Programación

Lineal. Sin embargo, la demostración mediante el Teorema de Bolzano-Weierstrass es directa.


54 CAPÍTULO 2. MÉTODO SIMPLEX REVISADO

Consideremos el problema equivalente:


P̃) Min −x1 −x2
−x1 +x2 ≥1
x2 ≤3
x1 , x2 ≥0.

Tenemos que (x1 , x2 ) = (0, 1) ∈ P , luego P 6= φ. Por otro lado, de la segunda


restricción:
x2 ≤ 3 ⇒ −x2 ≥ −3. (2.3)
Sumando (2.3) a la primera restricción, obtenemos:
−x1 ≥ −2. (2.4)
Sumando (2.3) y (2.4), obtenemos:
−x1 − x2 ≥ −5 → cT x ≥ cte.

Ası́, P̃) admite solución óptima (y P) también). Con esto, junto con el re-
sultado obtenido en (i), se tiene que P es acotado.
(iii) Como la función objetivo es lineal (y por ende continua), el dominio está de-
finido por restricciones lineales de desigualdad no-estricta (y por ende el dominio
de restricción es cerrado). Además, de lo obtenido en (ii), se tiene que el dominio
es acotado y no vacı́o, por el Teorema de Existencia de Bolzano Weierstrass, se
tiene que P) admite solución óptima.
Para resolver el problema, primero se debe agregar variables de holgura y/o
exceso, de modo de que el problema quede en formato estándar:

P) Min x1 −2x2
−x1 +x2 −x3 =1
x2 +x4 =3
x1 , x2 , x3 , x4 ≥0.

Podemos obtener la matriz A y los vectores b y cT :


   
−1 1 −1 0 1
cT = 1 −2 0
 
A= b= 0 .
0 1 0 1 3

Tomemos el vértice (0, 3)3 . Entonces (x1 , x2 , x3 , x4 ) = (0, 3, 2, 0). Ası́:


   
1 −1 −1 0
B = {2, 3} D = {1, 4} B = D=
1 0 0 1
3 Este problema necesita Fase I, pero dada su simplicidad, gráficamente, podemos determi-

nar que su solución óptima es (0, 3)


55

Debemos invertir la matriz de base:


   
1 −1 0 1
B= ⇒ B −1 =
1 0 −1 1

Calculamos el vector de multiplicadores π:


 
T T −1
  0 1  
π = cB B = −2 0 = 0 −2
−1 1

Costos reducidos:

 
T
 −1 0
= cTD − π T D = 1
  
rD 0 − 0 −2 = [ 1 2 ]
0 1
≥ 0 ≥ 0

FIN

Luego, la solución encontrada es óptima.


56 CAPÍTULO 2. MÉTODO SIMPLEX REVISADO
Capı́tulo 3

Fase I del Método Simplex

Ejercicio 3.1 (†)


Considere el siguiente problema lineal de minimización:
P) Min − x1 − x2
−3x1 − 2x2 ≥−20
2x1 + 3x2 ≤ 20
x1 + 2x2 ≥ 2
x1 , x2 ≥ 0

(i) (2 Ptos.) Antes de resolver, muestre que el conjunto de soluciones óptimas


de P) define un poliedro convexo cerrado acotado y no vacı́o. De ello,
concluya que P) es estable, en el sentido que pequeñas variaciones en los
costos se traducen en pequeñas variaciones en el costo óptimo.
(ii) (3 Ptos.) Resuelva P) mediante el Simplex Revisado con 2 fases, con In-
versa de Base Explı́cita. Explicite los distintos pasos.
(iii) (1 Pto.) ¿Dentro de qué rango podrı́an variar simultáneamente los costos
c1 y c2 de las variables originales sin que cambie la solución óptima? Del
resultado obtenido, ¿Podrı́a inferir algo respecto de la estabilidad de P)?

Solución
(i) Debemos demostrar que el conjunto de soluciones óptimas de P), en adelante
X̂, es un poliedro convexo, cerrado, acotado y no vacı́o. Para demostrar que X̂
es convexo y cerrado utilizaremos la solución óptima de P), en adelante x̂. Luego
debemos demostrar primero que x̂ existe.

57
58 CAPÍTULO 3. FASE I DEL MÉTODO SIMPLEX

Existencia de solución óptima x̂


Claramente (x1 , x2 ) = (0, 1) es solución de P). Luego, el dominio es no vacı́o
(P) 6= φ)
Por otro lado, de las restricciones:

−3x1 − 2x2 ≥ −20  
0 ≤ x1 ≤ 20/3
x1 ≥ 0 ⇒
0 ≤ x2 ≤ 10
x2 ≥ 0

Luego el dominio es acotado.


Además, las restricciones están definidas por restricciones lineales de de-
sigualdad. Luego el dominio es cerrado. Finalmente, la función objetivo es lineal,
luego continua. Ası́, por el Teorema de Bolzano Weierstrass, P) admite solución
óptima.
•X̂ no vacı́o
Claramente, como ∃x̂ y x̂ ∈ X̂, X̂ es no vacı́o
•X̂ convexo cerrado
En general, se tiene que:
X̂ = P ∩ {x|cT x ≤ cT x̂}
donde tanto P como {x|cT x ≤ cT x̂} son convexos y cerrados, luego X̂ es convexo
cerrado
•X̂ acotado
De la desigualdad anterior se deduce que:
X̂ ⊆ P
Luego, como P es acotado, X̂ también lo es1 .
Finalmente, como X̂ es acotado y no vacı́o, el problema es estable
(ii) Primero se debe agregar variables de holgura, de modo de que el problema
quede en formato estándar:

P) Min − x1 − x2
3x1 + 2x2 + x3 = 20
2x1 + 3x2 + x4 = 20
x1 + 2x2 − x5 = 2
x1 , x2 , x3 , x4 , x5 ≥ 0.

1 Nota: en caso que P no sea acotado, se necesitará demostrar que P ∩ {x|cT x ≤ cT x̂} sı́ es

acotado.
59

Claramente, se necesita agregar una variable artificial en la última res-


tricción. Luego nos queda el siguiente problema para la Fase I:
Fase I
P)I Min x6
3x1 + 2x2 + x3 = 20
2x1 + 3x2 + x4 = 20
x1 + 2x2 − x5 + x6 = 2
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0.

Podemos obtener la matriz A y los vectores b y cT :


   
3 2 1 0 0 0 20
3 0 1 0 0 b = 20 cT = 0
 
A = 2 0 0 0 0 1 .
1 2 0 0 −1 1 2

Es inmediato que las columnas 3, 4 y 6 de la matriz A forman la identidad.


Luego, reordenando las columnas de A, se tiene:
 
  3 2 0 1 0 0
A= D B = 2 3 0 0 1 0 
1 2 −1 0 0 1

De este modo, se tiene:


   
1 0 0 3 2 0
B = {3, 4, 6} D = {1, 2, 5} B = 0 1 0 D = 2 3 0
0 0 1 1 2 −1

•Primera iteración

Primer paso: Cálculo del lado derecho del Tableaux

      
1 0 0 20 20 0
y0 = B −1 b = 0 1 0 20 = 20 ≥ 0
0 0 1 2 2 0

Segundo paso: Cálculo del vector de multiplicadores π

 
 1 0 0
π T = cTB B −1
  
= 0 0 1 0 1 0 = 0 0 1
0 0 1
60 CAPÍTULO 3. FASE I DEL MÉTODO SIMPLEX

Costos reducidos

 
T
 3 2 0
= cTD − π T D = 0
    
rD 0 0 − 0 0 1 2 3 0  = −1 −2 1
1 2 −1 6≥ 0 6≥ 0 ≥ 0

q =2

Luego, x2 entra a la base

Tercer paso: Cálculo de la columna entrante en el Tableaux

2
    
1 0 0 2
y2 = B −1 A2 = 0 1 0 3 =  3 
0 0 1 2 2

Variable saliente
 
 20 20 2 
Min , , =1
2 3 2 

Ası́, p = 3 y el pivote
Luego, x6 sale de la base, y termina la Fase I

Nueva Base:
Matriz de pivote

[η3 ]
  2   
1 0 −2 1 0 −1
3 
P3 =  0 1  −2 = 0 1 −3/2
0 0 1
2
0 0 1/2

Ası́:
    
1 0 −1 1 0 0 1 0 −1
−1
B+ = P3 B −1 = 0 1 −3/2 0 1 0 = 0 1 −3/2
0 0 1/2 0 0 1 0 0 1/2

y los datos para la Fase II son:


 
1 0 −1
B = {3, 4, 2} B −1 = 0 1 −3/2
0 0 1/2
61

Fase II
Tenı́amos el problema original en formato estándar:

P) Min − x1 − x2
3x1 + 2x2 + x3 = 20
2x1 + 3x2 + x4 = 20
x1 + 2x2 − x5 = 2
x1 , x2 , x3 , x4 , x5 ≥ 0.

La matriz A y el vector cT para la Fase II son:


 
3 2 1 0 0
3 0 1 0  cT = −1 −1 0
 
A = 2 0 0 .
1 2 0 0 −1

De la Fase II tenı́amos que B = {3, 4, 2}, entonces D = {1, 5} y:


 
3 0
D = 2 0 
1 −1

•Primera iteración

Primer paso: Cálculo del lado derecho del Tableaux


      
1 0 −1 20 18 0
y0 = B −1 b = 0 1 −3/2 20 = 17 ≥ 0
0 0 1/2 2 1 0

Segundo paso: Cálculo del vector de multiplicadores π


 
 1 0 −1
π T = cTB B −1
  
= 0 0 −1 0 1 −3/2 = 0 0 −1/2
0 0 1/2
Costos reducidos

 
T
 3 0 h i
= cTD − π T D = −1 0 − 0
  
rD 0 −1/2 2 0  = −1/2 −1/2
1 −1
6≥ 0 6≥ 0

q =1
62 CAPÍTULO 3. FASE I DEL MÉTODO SIMPLEX

Luego, x1 entra a la base

Tercer paso: Cálculo de la columna entrante en el Tableaux

 
   2
1 0 −1 3  1/2 
y1 = B −1 A1 = 0 1 −3/2 2 = 



0 0 1/2 1 1/2

Variable saliente
 
18 17 1
Min , , =2
2 1/2
1/2

Ası́, p = 3 y el pivote
Luego, x2 sale de la base

Nueva Base:
Matriz de pivote

[η3 ]
2
    
1 0 −1/2 1 0 −4
0  1/2   
P3 =  1  −1/2  = 0 1 −1
0 0 1 0 0 2
1/2

Ası́
    
1 0 −4 1 0 −1 1 0 −3
−1
B+ = P3 B −1 = 0 1 −1 0 1 −3/2 = 0 1 −2
0 0 2 0 0 1/2 0 0 1

y los datos para la nueva iteración son:


   
1 0 −3 2 0
B = {3, 4, 1} D = {2, 5} B −1 = 0 1 −2 D = 3 0 
0 0 1 2 −1

•Segunda iteración

Primer paso: Cálculo del lado derecho del Tableaux

      
1 0 −3 20 14 0
y0 = B −1 b = 0 1 −2 20 = 16 ≥ 0
0 0 1 2 2 0
63

Segundo paso: Cálculo del vector de multiplicadores π


 
 1 0 −3
π T = cTB B −1
  
= 0 0 −1 0 1 −2 = 0 0 −1
0 0 1
Costos reducidos

 
T
 2 0
= cTD − π T D = −1 0 − 0 0

 
rD −1 3 0  =
 
1 −1
2 −1 ≥ 0 6≥ 0

q = 5

Luego, x5 entra a la base

Tercer paso: Cálculo de la columna entrante en el Tableaux

    
1 0 −3 0 3
y5 = B −1 A5 = 0 1 −2  0  =  2 
0 0 1 −1 −1
Variable saliente  
 14 16  14
Min , ,· =
 3 2  3

Ası́, p = 1 y el pivote
Luego, x3 sale de la base

Nueva Base:
Matriz de pivote
[η1 ]
 1    
3 0 0 1/3 0 0
2 
P1 =   −3 1 0  = −2/3 1 0
−1
−3 0 1 1/3 0 1

Ası́
    
1/3 0 0 1 0 −3 1/3 0 −1
−1
B+ = P1 B −1 = −2/3 1 0 0 1 −2 = −2/3 1 0
1/3 0 1 0 0 1 1/3 0 0
y los datos para la nueva iteración son:
   
1/3 0 −1 2 1
B = {5, 4, 1} D = {2, 3} B −1 = −2/3 1 0  D = 3 0
1/3 0 0 2 0
64 CAPÍTULO 3. FASE I DEL MÉTODO SIMPLEX

•Tercera iteración

Primer paso: Cálculo del lado derecho del Tableaux


      
1/3 0 −1 20 14/3 0
y0 = B −1 b = −2/3 1 0  20 = 20/3 ≥ 0
1/3 0 0 2 20/3 0

Segundo paso: Cálculo del vector de multiplicadores π


 
 1/3 0 −1
π T = cTB B −1
  
= 0 0 −1 −2/3 1 0  = −1/3 0 0
1/3 0 0
Costos reducidos

 
2 1 h i
T
= cTD − π T D = −1 0 − −1/3 0 0 3 0 = −1/3 1/3
   
rD
2 0
6≥ 0 ≥0

q =2

Luego, x2 entra a la base

Tercer paso: Cálculo de la columna entrante en el Tableaux


 
   −4/3
1/3 0 −1 2
y2 = B −1 A2 = −2/3 1 0  3 = 
 
 5/3 

1/3 0 0 2
2/3
Variable saliente  
20/3 20/3
Min ·, , =4
2/3
5/3

Ası́, p = 2 y el pivote
Luego, x4 sale de la base

Nueva Base:
Matriz de pivote
[η2 ]
  −4/3 
  
1 −5/3 0 1 4/5 0
 1 
P2 =  0  5/3  0  = 0 3/5 0
 
0 2/3 1 0 −2/5 1
−5/3
65

Ası́
    
1 4/5 0 1/3 0 −1 −1/5 4/5 −1
−1
B+ = P2 B −1 = 0 3/5 0 −2/3 1 0  = −2/5 3/5 0
0 −2/5 1 1/3 0 0 3/5 −2/5 0

y los datos para la nueva iteración son2 :


   
−1/5 4/5 −1 0 1
B = {5, 2, 1} D = {4, 3} B −1 = −2/5 3/5 0  D = 1 0
3/5 −2/5 0 0 0

•Cuarta iteración

Primer paso: Cálculo del lado derecho del Tableaux


      
−1/5 4/5 −1 20 10 0
y0 = B −1 b = −2/5 3/5 0  20 =  4  ≥ 0
3/5 −2/5 0 2 4 0

Segundo paso: Cálculo del vector de multiplicadores π

 
 −1/5 4/5 −1
π T = cTB B −1
  
= 0 −1 −1 −2/5 3/5 0  = −1/5 −1/5 0
3/5 −2/5 0

Costos reducidos

 
T
 0 1 h i
= cTD − π T D = 0
  
rD 0 − −1/5 −1/5 0 1 0 = 1/5 1/5
0 0
≥ 0 ≥ 0

FIN

Ası́:    
x5 10    
x2  = y0 =  4  x4 0
y =
x3 0
x1 4
Luego, la solución del problema original queda:
   
x̂1 4
x̂ = =
x̂2 4
2 Notar que el orden de los elementos de D debe ser consistente con el orden de las columnas

de D.
66 CAPÍTULO 3. FASE I DEL MÉTODO SIMPLEX

y el valor óptimo del problema es:

v̂(P) = −1 · 4 + −1 · 4 = −8

(iii) Esta parte del problema se puede resolver tanto en forma algebraica como
en forma gráfica:
Algebraicamente, necesitamos saber cuanto pueden variar los costos, de
modo que los costos reducidos continúen siendo no-negativos. Para esto po-
demos agregar una variación ε a ambos costos de modo que:

c′1 = −1 + ε y c′2 = −1 + ε

La variación ε debe ser pequeña, de modo que c′1 y c′2 continúen siendo estric-
tamente negativos.
Se debe calcular el vector de multiplicadores nuevamente:
 
−1/5 4/5 −1
π T = cTB B −1 = 0 c′2 c′1 −2/5 3/5
 
0 =
3/5 −2/5 0
−2/5c′2 + 3/5c′1 3/5c′2 − 2/5c′1
 
0

Costos reducidos
 
T
 0 1
= cTD − π T D = 0 0 − −2/5c′2 + 3/5c′1 3/5c′2 − 2/5c′1
  
rD 0 1 0 =
0 0

h i
−3/5c′2 + 2/5c′1 2/5c′2 − 3/5c′1
≥ 0 ≥ 0

(∗) (∗∗)

De (∗) y (∗∗) tenemos:3

−3/5c′2 + 2/5c′1 ≥ 0 ⇒ c′1 /c′2 ≥ 2/3


2/5c′2 − 3/5c′1 ≥ 0 ⇒ c′1 /c′2 ≤ 3/2

luego
2 c′ 3
≤ ′1 ≤
3 c2 2

3 Recordar que anteriormente establecimos que c′1 < 0 y c′2 < 0


67

Gráficamente:

x2
10

m = 3/2
7

c′1
5 −c = (1, 1); m = c′2 =1

m = 2/3
4

cT x = v̂(P) = 8
3 T
x̂ = (4, 4)

0 x1
0 1 2 3 4 5 6 7 8 9 10

Se concluye que la solución de P) es estable, puesto que ante pequeñas


variaciones en los costos, el problema sigue teniendo la misma solución y, por
ende, no hay grandes variaciones en el valor tomado por la función objetivo.
68 CAPÍTULO 3. FASE I DEL MÉTODO SIMPLEX

Ejercicio 3.2 (†)


Considere el problema lineal:

P) Min −x1 −2x2 +x3


−x1 +x2 +x3 ≥ 4
2x1 −x3 ≥ 3
x2 +x3 ≤ 6
x1 , x2 , x3 ≥ 0

(i) (1 Pto.) Muestre, antes de resolver, que P) admite solución óptima (al
menos una). Aplique el Teorema de Existencia de la Programación Lineal.
(ii) (1 Pto.) Agregando variables de holgura y/o exceso, reformule P) bajo la
forma estándar equivalente.
(iii) (3 Pto.) Resolviendo un problema de Fase I para este último problema,
mediante el Simplex Revisado con inversa de base Explı́cita, determine
una solución básica factible para P).
(iv) (1 Pto.) ¿La solución básica factible ası́ encontrada, es óptima o no para
el problema original P)? Justifique su respuesta en base al Criterio de
Término del Simplex.

Solución
(i) Se tiene que (x1 , x2 , x3 ) = (2, 6, 0) ∈ P . Luego:

P 6= φ (3.1)

De la tercera restricción y las de no-negatividad, podemos calcular cotas


superiores para las variables 2 y 3. Concretamente:
)
x2 + x3 ≤ 6
⇒ x2 ≤ 6
x3 ≥ 0

Esto, junto con la restricción 1 nos entrega lo deseado:


)
x2 ≤ 6
⇒ −x1 − 2x2 + x3 ≥ −14
−x1 + x2 + x3 ≥ 4

Ası́:
cT x ≥ cte. (3.2)
Luego, de (3.1) y (3.2), P) admite solución óptima.
69

(ii) Formato estándar:

P) Min −x1 −2x2 +x3


−x1 +x2 +x3 −x4 =4
2x1 −x3 −x5 =3
x2 +x3 +x6 = 6
x1 , x2 , x3 , x4 , x5 x6 ≥ 0

(iii) Claramente, se necesita agregar una variable artificial en las dos primeras
restricciones. Luego nos queda el siguiente problema para la Fase I :
Fase I

P) Min x7 +x8
−x1 +x2 +x3 −x4 +x7 =4
2x1 −x3 −x5 +x8 = 3
x2 +x3 +x6 =6
x1 , x2 , x3 , x4 , x5 x6 , x7 , x8 ≥ 0

Podemos obtener la matriz A y los vectores b y cT :

 
−1 1 1 −1 0 0 1 0
A= 2 0 −1 0 −1 0 0 1
0 1 1 0 0 1 0 0
 
4
b = 3cT = 0 0
 
0 0 0 0 1 1 .
6

Es inmediato que las columnas 7, 8 y 6 de la matriz A forman la identidad.


Luego, reordenando las columnas de A, se tiene:
 
  −1 1 1 −1 0 1 0 0
A= D B = 2 0 −1 0 −1 0 1 0 
0 1 1 0 0 0 0 1

De este modo, se tiene:

B = {7, 8, 6}, D = {1, 2, 3, 4, 5},


   
1 0 0 −1 1 1 −1 0
B = 0 1 0 , D =  2 0 −1 0 −1
0 0 1 0 1 1 0 0
70 CAPÍTULO 3. FASE I DEL MÉTODO SIMPLEX

•Primera iteración

Primer paso: Cálculo del lado derecho del Tableaux.


      
1 0 0 4 4 0
y0 = B −1 b = 0 1 0 3 = 3 ≥ 0
0 0 1 6 6 0

Segundo paso: Cálculo del vector de multiplicadores π.


 
 1 0 0
π T = cTB B −1 = 1 1
  
0 0 1 0 = 1 1 0
0 0 1
Costos reducidos:
 
T
 −1 1 1 −1 0
= cTD − π T D = 0 0
  
rD 0 0 0 − 1 1 0  2 0 −1 0 −1 =
0 1 1 0 0
 
−1 −1 0 1 1
6≥ 0 6≥ 0 ≥ 0 ≥ 0 ≥ 0

q =1

Luego, x1 entra a la base.4

Tercer paso: Cálculo de la columna entrante en el Tableaux

−1
    
1 0 0 −1
−1 1
y1 = B A = 0 1
 0  2  =  2 
0 0 1 0 0
Variable saliente:  
  3
Min ·, , · = 3/2
 2 
Ası́, p = 2 y el pivote
Luego, x8 sale de la base.

Nueva Base:
Matriz de pivote.
[η2 ]
 −1 
   
1 −2 0 1 1/2 0
P2 =  0  12  0  = 0 1/2 0
0
0 −2 1 0 0 1
4 También podrı́a haber sido x2 .
71

Ası́:     
1 1/2 0 1 0 0 1 1/2 0
−1
B+ = P2 B −1 = 0 1/2 0 0 1 0 = 0 1/2 0
0 0 1 0 0 1 0 0 1
y los datos para la nueva iteración son:

B = {7, 1, 6}, D = {2, 3, 4, 5, 8},


   
1 1/2 0 1 1 −1 0 0
B −1 = 0 1/2 0 , D = 0 −1 0 −1 1
0 0 1 1 1 0 0 0

•Segunda iteración

Primer paso: Cálculo del lado derecho del Tableaux


      
1 1/2 0 4 11/2 0
y0 = B −1 b = 0 1/2 0 3 =  3/2  ≥ 0
0 0 1 6 6 0

Segundo paso: Cálculo del vector de multiplicadores π.


 
 1 1/2 0
π T = cTB B −1
  
= 1 0 0 0 1/2 0 = 1 1/2 0
0 0 1
Costos reducidos.
 
T
 1 1 −1 0 0
cTD T
  
rD = −π D = 0 0 0 0 1 − 1 1/2 0 0 −1 0 −1 1 =
1 1 0 0 0
h i
−1 −1/2 1 1/2 1/2
6≥ 0 6≥ 0 ≥ 0 ≥ 0 ≥ 0

q =2

Luego, x2 entra a la base

Tercer paso: Cálculo de la columna entrante en el Tableaux

    
1 1/2 0 1 1
y2 = B −1 A2 = 0 1/2 0 0 =  0 
0 0 1 1 1
Variable saliente:  
11/2 6
Min , ·, = 11/2
1 1
72 CAPÍTULO 3. FASE I DEL MÉTODO SIMPLEX

Ası́, p = 1 y el pivote
Luego, x7 sale de la base y termina la Fase I

Nueva Base:
Matriz de pivote.

[η1 ]
 1    
1 0 0 1 0 0
0 
P1 =   −1 1 0 =  0 1 0
1
−1
0 1 −1 0 1

Ası́:
    
1 0 0 1 1/2 0 1 1/2 0
−1
B+ = P1 B −1 =  0 1 0 0 1/2 0 =  0 1/2 0
−1 0 1 0 0 1 −1 −1/2 1

y los datos para la Fase II (Fase que en este apartado, no se pide realizar), son:
 
1 1/2 0
B = {2, 1, 6}, B −1 = 0 1/2 0
−1 −1/2 1

Para saber los nuevos valores de las variables de base actuales, necesitamos
calcular el lado derecho:
    
1 1/2 0 4 11/2
y0 = B −1 b =  0 1/2 0 3 =  3/2 
−1 −1/2 1 6 1/2

Ası́, la solución óptima para la Fase I es:


   
    x̂3 0
x̂2 11/2 x̂4  0
   
x̂B = x̂1  = y0 =  3/2  y x̂D = 
x̂5  = 0
  
x̂6 1/2  x̂7  0
x̂8 0

y la solución factible del problema original es:


   
x1 3/2
x = x2  = 11/2
x3 0

(iii) Debemos comenzar la Fase II :


73

Fase II
Tenı́amos el problema original en formato estándar:

P) Min −x1 −2x2 +x3


−x1 +x2 +x3 −x4 =4
2x1 −x3 −x5 =3
x2 +x3 +x6 = 6
x1 , x2 , x3 , x4 , x5 x6 ≥ 0

La matriz A y el vector cT para la Fase II son:


 
−1 1 1 −1 0 0
0 −1 0 −1 0 cT = −1 −2 1
 
A= 2 0 0 0 .
0 1 1 0 0 1

De la Fase I tenı́amos que B = {2, 1, 6}, entonces D = {3, 4, 5} y:


 
1 −1 0
D = −1 0 −1
1 0 0

•Primera iteración

Primer paso: Cálculo del lado derecho del Tableaux (ya se habı́a calculado).
      
1 1/2 0 4 11/2 0
y0 = B −1 b =  0 1/2 0 3 =  3/2  > 0
−1 −1/2 1 6 1/2 0

Segundo paso: Cálculo del vector de multiplicadores π.

 
 1 1/2 0
π T = cTB B −1
  
= −2 −1 0  0 1/2 0 = −2 −3/2 0
−1 −1/2 1

Costos reducidos.
T
rD = cTD − π T D =
 
    1 −1 0 h i
1 0 0 − −2 −3/2 0 −1 0 −1 = 3/2 −2 −3/2
1 0 0
≥ 0 6≥ 0 6≥ 0
74 CAPÍTULO 3. FASE I DEL MÉTODO SIMPLEX

Como la base factible es no-degenerada, por la Condición Necesaria de Op-


timalidad del Simplex, la solución básica entregada por la Fase I no es óptima
para P).
Capı́tulo 4

Método Simplex con


Inversa de Base Explı́cita y
Descomposición LU

Ejercicio 4.1 (†)


Considere el siguiente problema de maximización:

P) Max 3x1 +4x2 +x3 +x4


8x1 +3x2 +4x3 +x4 ≤ 7
2x1 +6x2 +x3 +5x4 ≤ 3
x1 +4x2 +5x3 +2x4 ≤ 8
x1 , x2 , x3 , x4 ≥ 0

(i) (1 punto) Antes de resolver, muestre que P) admite solución óptima.



(ii) (4 puntos) Resuelva, mediante Simplex Revisado con Factorización L̃, U
o más bien L̃−1 , U , el problema de minimización equivalente, llevando la


matriz L̃−1 factorizada bajo forma de producto de matrices elementales,


de pivote y/o permutación. Más aún, aplique este método con permutación
eventual de filas, con el fin de conseguir un “mejor pivote”(mayor, en valor
absoluto).

(iii) (1 punto) Explicite la solución óptima encontrada y el valor óptimo de P).

75
76 CAPÍTULO 4. SIMPLEX CON INVERSA DE BASE EXPLÍCITA

Solución
(i) Se tiene que (x1 , x2 , x3 , x4 ) = (0, 0, 0, 0) ∈ P . Luego:
P 6= φ (4.1)

De la primera restricción y las de no-negatividad, podemos calcular cotas


superiores para todas las variables. Concretamente:

8x1 + 3x2 + 4x3 + x4 ≤ 7
 x1 ≤ 7/8
 

x1 ≥ 0

 
  x ≤ 7/3

2
x2 ≥ 0 ⇒
  x3 ≤ 7/4
x3 ≥ 0
 

x4 ≤ 7

 

x4 ≥ 0

Luego, el dominio de restricción es acotado. Todo esto, junto con la continuidad


de la función objetivo y la cerradura del dominio de restricción, cumplen con las
hipótesis del “Teorema de Existencia de Bolzano-Weierstrass”. Ası́, P) admite
solución óptima.
(ii) Primero expresamos el problema en formato estándar:
P) Min −3x1 −4x2 −x3 −x4
8x1 +3x2 +4x3 +x4 +x5 =7
2x1 +6x2 +x3 +5x4 +x6 =3
x1 +4x2 +5x3 +2x4 +x7 = 8
x1 , x2 , x3 , x4 , x5 , x6 , x7 ≥ 0

Podemos obtener la matriz A y los vectores b y cT :


 
8 3 4 1 1 0 0
A = 2 6 1 5 0 1 0
1 4 5 2 0 0 1
 
7
b = 3cT = −3 −4 −1 −1 0 0
 
0 .
8
Es inmediato que las columnas 5, 6 y 7 de la matriz A forman la identidad. Ası́,
se tiene:  
  8 3 4 1 1 0 0
A= D B = 2 6 1 5 0 1 0 
1 4 5 2 0 0 1
De este modo, se tiene:

B = {5, 6, 7}, D = {1, 2, 3, 4},


 
8 3 4 1
B = L̃ = U = I, D = 2 6 1 5
1 4 5 2
77

•Primera iteración

Primer paso: Cálculo del lado derecho del Tableaux.


   
7 7
z0 = L̃−1 b = I 3 = 3
8 8
     
7 7 0
U yo = z0 ⇒ Iy0 = 3 ⇒ y0 = 3 ≥ 0
8 8 0

Segundo paso: Cálculo del vector de multiplicadores π.

wT U = CB T
⇒ wT I = 0 0 0 ⇒ wT = 0 0
   
0

π T = wT L̃−1 = 0 0
   
0 I= 0 0 0
Costos reducidos:
 
T
 8 3 4 1
= cTD − π T D = −3 −4 −1 −1 − 0 0
  
rD 0 2 6 1 5 =
1 4 5 2
 
−3 −4 −1 −1
6≥ 0 6≥ 0 6≥ 0 6≥ 0

q = 2

Luego, x2 entra a la base.1

Tercer paso: Cálculo de la columna entrante en el Tableaux.


   
3 3
z2 = L̃−1 A2 = I 6 = 6
4 4

   
3 3
U y2 = z2 ⇒ Iy2 = 6 ⇒ y2 = 6
4 4

Variable saliente:  
7 3 8
Min , , = 1/2
3 6 4
Ası́, p = 2.
Luego, x6 sale de la base.
1 Podrı́a haber sido cualquiera con costo reducido negativo, en este caso todas.
78 CAPÍTULO 4. SIMPLEX CON INVERSA DE BASE EXPLÍCITA

Nueva Base:
[z2 ]
 
1 0 3
H = 0 0 6 
0 1 4
 
1 0 3
π23 H = 0 1 4 = U +
0 0 6
n o−1
L̃+ = π23 L̃−1 = π23 I = π23

y los datos para la nueva iteración son:


 
8 4 1 0
B = {5, 7, 2}, D = {1, 3, 4, 6}, D = 2 1 5 1
1 5 2 0

•Segunda iteración

Primer paso: Cálculo del lado derecho del Tableaux.


   
7 7
z0 = L̃−1 b = π23 3 = 8
8 3
       
1 0 3 7 11/2 0
U yo = z0 ⇒ 0 1 4 y0 = 8 ⇒ y0 =  6  ≥ 0
0 0 6 3 1/2 0

Segundo paso: Cálculo del vector de multiplicadores π.


 
1 0 3
wT U = CBT
⇒ wT 0 1 4 = 0 0 −4 ⇒ wT = 0
   
0 −2/3
0 0 6

π T = wT L̃−1 = 0 0
   
−2/3 π23 = 0 −2/3 0
Costos reducidos:
 
T
 8 4 1 0
= cTD − π T D = −3 −1 −1 0 − 0
  
rD −2/3 0 2 1 5 1 =
1 5 2 0
h i
−5/3 −1/3 7/3 2/3
6≥ 0 6≥ 0 ≥ 0 ≥ 0

q =1
79

Luego, x1 entra a la base.

Tercer paso: Cálculo de la columna entrante en el Tableaux.


   
8 8
z1 = L̃−1 A1 = π23 2 = 1
1 2
     
1 0 3 8 7
U y1 = z1 ⇒ 0 1 4 y1 = 1 ⇒ y1 = −1/3
0 0 6 2 1/3

Variable saliente:  
11/2 1/2
Min , ·, = 11/14
7 1/3
Ası́, p = 1.
Luego, x5 sale de la base.

Nueva Base:
[z1 ]
 
0 3 8
H = 1 4 1 
0 6 2
 
1 4 1
π12 H = 0 3 8
0 6 2
como |H32 | > |H22 |, se debe hacer una permutación de filas, con el fin de tener
un ”mejor pivote”:  
1 4 1
π23 π12 H = 0 6 2
0 3 8
Considerando:    
1 0 0 1 0 0
M1 = 0 1 0 = 0 1 0
0 −3/6 1 0 −1/2 1
Se tiene  
1 4 1
M1 π23 π12 H = 0 6 2 = U +
0 0 7
n o−1
L̃+ = M1 π23 π12 L̃−1 = M1 π23 π12 π23 = M1 π23 π12 π23
y los datos para la nueva iteración son:
 
4 1 1 0
B = {7, 2, 1}, D = {3, 4, 5, 6}, D = 1 5 0 1
5 2 0 0
80 CAPÍTULO 4. SIMPLEX CON INVERSA DE BASE EXPLÍCITA

•Tercera iteración

Primer paso: Cálculo del lado derecho del Tableaux.


   
7 8
z0 = L̃−1 b = M1 π23 π12 π23 3 =  3 
8 11/2
       
1 4 1 8 263/42 0
U yo = z0 ⇒ 0 6 2 y0 =  3  ⇒ y0 =  5/21  ≥ 0
0 0 7 11/2 11/14 0

Segundo paso: Cálculo del vector de multiplicadores π.


 
1 4 1
wT U = CBT
⇒ wT 0 6 2 = 0 −4 −3 ⇒ wT = 0
   
−2/3 −5/21
0 0 7

π T = wT L̃−1 = 0 −2/3 −5/21 M1 π23 π12 π23 = −5/21 −23/42 0


   

Costos reducidos:
 
T
 4 1 1 0
= cTD − π T D = −1
  
rD −1 0 0 − −5/21 −23/42 0 1 5 0 1 =
5 2 0 0
h i
1/2 83/42 10/42 23/42
≥ 0 ≥ 0 ≥ 0 ≥ 0

F IN

La solución óptima del problema estandarizado es:


   
    x̂3 0
x̂7 263/42 x̂4  0
x̂B = y0 ⇔ x̂2  =  5/21  y x̂D = ~0 ⇔ 
x̂5  = 0
  
x̂1 11/14
x̂6 0

Por consiguiente, la solución óptima del problema original es:


   
x̂1 11/14
x̂2   5/21 
x̂ = x̂3  =  0 
  

x̂4 0

y el valor óptimo del problema es:

v̂(P)) = cT x̂ = 3 · 11/14 + 4 · 5/21 + 1 · 0 + 1 · 0 = 139/42


81

Ejercicio 4.2 (†)


Considere el problema lineal de minimización:

P) Min −x1 −2x2 −3x3 −4x4


x1 +2x2 +x3 +x4 = 3
x1 −x2 +2x3 +x4 = 4
x1 +x2 −x3 −x4 =−1
x1 , x2 , x3 , x4 ≥ 0

(i) (4 ptos.) Aplique la Fase I del Método Simplex Revisado, con inversa de
base implı́cita bajo factorización L̃−1 , U , con el fin de determinar si el


problema P) es o no factible.
(ii) (1 pto.) Teniendo en cuenta i), estudie si P) admite o no solución óptima.
(iii) (1 pto.) Si fuera el caso, encuentre una solución óptima de P) mediante
el Método Simplex Revisado con Inversa de Base Explı́cita. Justifique
claramente su respuesta.

Nota: De más está decir que si B es regular, entonces B = L̃U si y sólo si


B −1 = U −1 L̃−1

Solución
(i) El problema ya está en formato estándar, pero es conveniente expresar el
lado derecho positivo:

P) Min −x1 −2x2 −3x3 −4x4


x1 +2x2 +x3 +x4 = 3
x1 −x2 +2x3 +x4 = 4
−x1 −x2 +x3 +x4 = 1
x1 , x2 , x3 , x4 ≥ 0

Claramente, no podemos formar la identidad con estas restricciones. Luego,


deberemos agregar variables artificiales a todas las restricciones. Ası́, nos queda
el siguiente problema para la Fase I :

P) Min x5 +x6 +x7


x1 +2x2 +x3 +x4 +x5 =3
x1 −x2 +2x3 +x4 +x6 =4
−x1 −x2 +x3 +x4 +x7 = 1
x1 , x2 , x3 , x4 , x5 , x6 , x7 ≥ 0
82 CAPÍTULO 4. SIMPLEX CON INVERSA DE BASE EXPLÍCITA

Podemos obtener la matriz A y los vectores b y cT :


   
1 2 1 1 1 0 0 3
0 1 0 b = 4 cT = 0 0
 
A =  1 −1 2 1 0 0 1 1 1 .
−1 −1 1 1 0 0 1 1

Es inmediato que las columnas 5, 6 y 7 de la matriz A forman la identidad (De


hecho, se ha construido para que sea ası́). Ası́, se tiene:
 
  1 2 1 1 1 0 0
A = D B =  1 −1 2 1 0 1 0 
−1 −1 1 1 0 0 1
De este modo, se tiene:

B = {5, 6, 7}, D = {1, 2, 3, 4},


 
1 2 1 1
B = L̃ = U = I, D =  1 −1 2 1
−1 −1 1 1

Fase I
•Primera iteración

Primer paso: Cálculo del lado derecho del Tableaux.


   
3 3
z0 = L̃−1 b = I 4 = 4
1 1
     
3 3 0
U yo = z0 ⇒ Iy0 = 4 ⇒ y0 = 4 ≥ 0
1 1 0

Segundo paso: Cálculo del vector de multiplicadores π.

wT U = CB T
⇒ wT I = 1 1 1 ⇒ wT = 1 1
   
1

π T = wT L̃−1 = 1 1 1 I = 1 1 1
   

Costos reducidos:
 
T
 1 2 1 1
= cTD − π T D = 0 0
  
rD 0 0 − 1 1 1  1 −1 2 1 =
−1 −1 1 1
 
−1 0 −4 −3
6≥ 0 ≥ 0 6≥ 0 6≥ 0

q =3
83

Luego, x3 entra a la base.

Tercer paso: Cálculo de la columna entrante en el Tableaux.


   
1 1
z3 = L̃−1 A3 = I 2 = 2
1 1
   
1 1
U y3 = z3 ⇒ Iy3 = 2 ⇒ y3 = 2
1 1
Variable saliente:  
3 4 1
Min , , =1
1 2 1
Ası́, p = 3.
Luego, x7 sale de la base.

Nueva Base:
[z3 ]
 
1 0 1
H = 0 1 2  = U+
0 0 1
n o−1
L̃+ = L̃−1
y los datos para la nueva iteración son:
 
1 2 1 0
B = {5, 6, 3}, D = {1, 2, 4, 7}, D =  1 −1 1 0
−1 −1 1 1

•Segunda iteración

Primer paso: Cálculo del lado derecho del Tableaux.


   
3 3
z0 = L̃−1 b = I 4 = 4
1 1
       
1 0 1 3 2 0
U yo = z0 ⇒ 0 1 2 y0 = 4 ⇒ y0 = 2 ≥ 0
0 0 1 1 1 0

Segundo paso: Cálculo del vector de multiplicadores π.


 
1 0 1
wT U = CB T
⇒ w T 0 1 2 = 1 1 0 ⇒ wT = 1
   
1 −3
0 0 1
84 CAPÍTULO 4. SIMPLEX CON INVERSA DE BASE EXPLÍCITA

π T = wT L̃−1 = 1
   
1 −3 I = 1 1 −3
Costos reducidos:
 
T
 1 2 1 0
= cTD − π T D = 0 0
  
rD 0 1 − 1 1 −3  1 −1 1 0 =
−1 −1 1 1
 
−5 −4 1 4
6≥ 0 6≥ 0 ≥0 ≥ 0

q = 1

Luego, x1 entra a la base.

Tercer paso: Cálculo de la columna entrante en el Tableaux.


   
1 1
z1 = L̃−1 A1 = I  1  =  1 
−1 −1

     
1 0 1 1 2
U y1 = z1 ⇒ 0 1 2 y1 =  1  ⇒ y1 =  3 
0 0 1 −1 −1

Variable saliente:  
2 2
Min , , · = 2/3
2 3
Ası́, p = 2.
Luego, x6 sale de la base.

Nueva Base:
[z1 ]
 
1 1 1
H = 0 2 1 
0 1 −1
Considerando:  
1 0 0
M1 = 0 1 0
0 −1/2 1
Se tiene  
1 1 1
M1 H = 0 2 1  = U+
0 0 −3/2
n o−1
L̃+ = M1 L̃−1 = M1 I = M1
85

y los datos para la nueva iteración son:


 
2 1 0 0
B = {5, 3, 1}, D = {2, 4, 6, 7}, D = −1 1 1 0
−1 1 0 1

•Tercera iteración

Primer paso: Cálculo del lado derecho del Tableaux.


   
3 3
z0 = L̃−1 b = M1 4 =  4 
1 −1
       
1 1 1 3 2/3 0
U yo = z 0 ⇒  0 2 1  y0 =  4  ⇒ y0 = 5/3 ≥ 0
0 0 −3/2 −1 2/3 0

Segundo paso: Cálculo del vector de multiplicadores π.


 
1 1 1
wT U = CBT
⇒ w T 0 2 1  = 1 0 0 ⇒ wT = 1
   
−1/2 1/3
0 0 −3/2

π T = wT L̃−1 = 1 −1/2 1/3 M1 = 1


   
−2/3 1/3
Costos reducidos:
 
T
 2 1 0 0
= cTD − π T D = 0 0
 
rD 1 1 − 1 −2/3 1/3 −1 1 1 0 =
−1 1 0 1
h i
−7/3 −2/3 5/3 2/3
6≥ 0 6≥ 0 ≥ 0 ≥ 0

q = 2

Luego, x2 entra a la base.

Tercer paso: Cálculo de la columna entrante en el Tableaux.


   
2 2
z2 = L̃−1 A2 = M1 −1 =  −1 
−1 −1/2

     
1 1 1 2 7/3
U y2 = z 2 ⇒  0 2 1  y2 =  −1  ⇒ y2 = −2/3
0 0 −3/2 −1/2 1/3
86 CAPÍTULO 4. SIMPLEX CON INVERSA DE BASE EXPLÍCITA

Variable saliente:  
2/3 2/3
Min , ·, = 2/7
7/3 1/3
Ası́, p = 1.
Luego, x5 sale de la base, y termina la Fase I 2 .

Nueva Base:
[z2 ]
 
1 1 2
H = 2 1 −1 
0 −3/2 −1/2
como |H21 | > |H11 |, se debe hacer una permutación de filas, con el fin de tener
un ”mejor pivote”:  
2 1 −1
π12 H = 1 1 2 
0 −3/2 −1/2
Considerando:  
1 0 0
M2 = −1/2 1 0
0 0 1
Se tiene  
2 1 −1
M2 π12 H = 0 1/2 5/2 
0 −3/2 −1/2
nuevamente, como |H32 | > |H22 |, se debe hacer una permutación de filas, con
el fin de tener un ”mejor pivote”:
 
2 1 −1
π23 M2 π12 H = 0 −3/2 −1/2
0 1/2 5/2

Considerando:
1 0 0
   
1 0 0
M3 = 0 1 0 = 0 1 0
1/2
0 − −3/2 1 0 1/3 1
Se tiene  
2 1 −1
M3 π23 M2 π12 H = 0 −3/2 −1/2 = U +
0 0 7/3
n o−1
L̃+ = M3 π23 M2 π12 L̃−1 = M3 π23 M2 π12 M1
2 Nótese que como salieron las variables artificiales de la base, el valor óptimo de la Fase I

es cero y ya podemos decir que el problema admite solución óptima. El resto de los cálculos
sólo se hacen para conocer la base y la solución óptima.
87

La nueva base para para la Fase II (de la cual se necesita hacer el primer paso
de la primera iteración, de modo de calcular los nuevos valores de las variables
básicas) es B = {3, 1, 2}

Cálculo del lado derecho del Tableaux3 .

   
3 4
z0 = L̃−1 b = M3 π23 M2 π12 M1 4 =  −1 
1 2/3
       
2 1 −1 4 13/7 0
U yo = z0 ⇒ 0 −3/2 −1/2 y0 =  −1  ⇒ y0 =  4/7  ≥ 0
0 0 7/3 2/3 2/7 0

La solución óptima del problema de Fase I es:


   
    x̂4 0
x̂3 13/7 x̂5  0
x̂B = y0 ⇔ x̂1  =  4/7  y x̂D = ~0 ⇔ 
x̂6  = 0
  
x̂2 2/7
x̂7 0

Por consiguiente, la solución básica factible del problema original es:


   
x̄1 4/7
x̄2   2/7 
x̄ = 
x̄3  = 13/7
  

x̄4 0

Como x̄ ∈ P), se tiene que el problema es factible.


3 Nótese que para conocer esta solución hemos utilizado la nueva base (en realidad, su fac-

torización (L̃−1 , U )). Sin embargo, podrı́amos obtener el lado derecho del tableau de forma
análoga a como se hace en la especialización del Simplex para restricciones de cotas. Concre-
tamente:

x+
2 = l2 + ∆ = 0 + 2/7 = 2/7
0 1 0 1 0 1
2/3 7/3 0
+
(xB ) = y0 − ∆y5 = @5/3A − 2/7 @−2/3A = @13/7A
2/3 1/3 4/7
0 1
13/7
xB+ = @ 4/7 A
2/7

Esta vez, se debe ser consistente con el nuevo orden en que se lleva la base. Ahora la variable
que entra a la base, no lo hace en la posición de la variable que sale de la base, sino que entra
en la última posición, lo mismo ocurre con el nuevo lado derecho.
Calcular el nuevo lado derecho de esta forma nos permite continuar con el ejercicio sin necesitar
la nueva factorización (L̃−1 , U ).
88 CAPÍTULO 4. SIMPLEX CON INVERSA DE BASE EXPLÍCITA

(ii) Del apartado i), se tiene que:

P 6= φ (4.2)

De la primera restricción y las de no-negatividad, podemos calcular cotas


superiores para todas las variables. Concretamente:

x1 + 2x2 + x3 + x4 = 3
x1 ≤ 3
 

x1 ≥ 0
 


  x ≤ 3/2

2
x2 ≥ 0 ⇒
  x3 ≤ 3
x3 ≥ 0
 

x4 ≤ 3

 

x4 ≥ 0

Luego, el dominio de restricción es acotado. Todo esto, junto con la continuidad


de la función objetivo y la cerradura del dominio de restricción, cumplen con las
hipótesis del “Teorema de Existencia de Bolzano-Weierstrass”. Ası́, P) admite
solución óptima.
(iii) Nuestro problema original en formato estándar es:

P) Min −x1 −2x2 −3x3 −4x4


x1 +2x2 +x3 +x4 = 3
x1 −x2 +2x3 +x4 = 4
−x1 −x2 +x3 +x4 = 1
x1 , x2 , x3 , x4 ≥ 0

del cual podemos obtener la matriz A y los vectores b y cT :


   
1 2 1 1 3
A =  1 −1 2 1 b = 4 cT = −1 −2 −3 −4 .
 

−1 −1 1 1 1

Del apartado i) tenı́amos:


 
2 1 −1
B = {3, 1, 2}, L̃−1 = M3 π23 M2 π12 M1 y U = 0 −3/2 −1/2
0 0 7/3

Siguiendo la indicación del enunciado, tenemos que B −1 = U −1 L̃−1 . Calcu-


lando U −1 de la forma que se estime conveniente, tenemos:
 
1/2 1/3 2/7
U −1 =  0 −2/3 −1/7
0 0 3/7
89

Ası́4 :  
2/7 1/7 3/7
B −1 = U −1 L̃−1 = −1/7 3/7 −5/7
3/7 −2/7 1/7

Como B = {3, 1, 2}:  


1
D = {4} y D = 1
1

Se tiene todos los datos para continuar con la Fase II del Método Simplex
con Inversa de Base Explı́tita.
Fase II
Primer paso: Cálculo del lado derecho del Tableaux.
Ya lo obtuvimos en el apartado i)
 
13/7
y0 =  4/7 
2/7

Segundo paso: Cálculo del vector de multiplicadores π.

π T = cTB B −1 =
 
  2/7 1/7 3/7  
−3 −1 −2 −1/7 3/7 −5/7 = −11/7 −2/7 −6/7
3/7 −2/7 1/7

Costos reducidos:

 
1 h i
T
= cTD − π T D = −4 − −11/7 −2/7 −6/7 1 = −9/7
  
rD
1
6≥ 0

q =4

4 Nótese que, como B = {3, 1, 2}, entonces:


2 3
1 1 2
B = 42 1 −15
1 −1 −1
Invirtiendo esta matriz debemos llegar al mismo resultado. Esto refuerza la idea que no ne-
cesitamos la nueva matriz de base en la última iteración de la Fase I para continuar con el
ejercicio.
90 CAPÍTULO 4. SIMPLEX CON INVERSA DE BASE EXPLÍCITA

Luego, x4 entra a la base.

Tercer paso: Cálculo de la columna entrante en el Tableaux

 
   6/7
2/7 1/7 3/7 1  −3/7 
y4 = B −1 A4 = −1/7 3/7 −5/7 1 = 



3/7 −2/7 1/7 1 2/7

Variable saliente  
13/7 2/7
Min , ·, =1
6/7
2/7

Ası́, p = 3 y el pivote
Luego, x2 sale de la base

Nueva Base:
Matriz de pivote

[η3 ]
6/7
    
1 0 −2/7 1 0 −3
P3 =  0 1  −3/7 = 0 1 3/2
   
−2/7  
0 0 1 0 0 7/2
2/7

Ası́
    
1 0 −3 2/7 1/7 3/7 −1 1 0
−1
B+ = P3 B −1 = 0 1 3/2 −1/7 3/7 −5/7 = 1/2 0 −1/2
0 0 7/2 3/7 −2/7 1/7 3/2 −1 1/2

y los datos para la nueva iteración son:


   
−1 1 0 2
B = {3, 1, 4} D = {2} B −1 = 1/2 0 −1/2 D = −1
3/2 −1 1/2 −1

•Segunda iteración

Primer paso: Cálculo del lado derecho del Tableaux

      
−1 1 0 3 1 0
y0 = B −1 b = 1/2 0 −1/2 4 = 1 ≥ 0
3/2 −1 1/2 1 1 0
91

Segundo paso: Cálculo del vector de multiplicadores π

 
 −1 1 0
π T = cTB B −1
  
= −3 −1 −4 1/2 0 −1/2 = −7/2 1 −3/2
3/2 −1 1/2

Costos reducidos:

 
T
 2 h i
= cTD − π T D = −2 − −7/2 1
  
rD −3/2 −1 = 9/2
−1
≥ 0

F IN

Ası́, la solución óptima del problema es:


   
x̂3 1
x̂B = y0 ⇔ x̂1  = 1 y x̂D = ~0 ⇔ x̂2 = 0
 
x̂4 1

y el valor óptimo del problema es:

v̂(P)) = cT x̂ = −1 · 1 − 2 · 0 − 3 · 1 − 4 · 1 = −8

A continuación, se muestra como continúa la Fase II del método con Inversa


de Base Implı́cita en forma de producto (Nótese que esto no era lo que se pedı́a
en el enunciado). Fase II

•Primera iteración

Primer paso: Cálculo del lado derecho del Tableaux.


Ya lo obtuvimos en el apartado i)
 
13/7
y0 =  4/7 
2/7

Segundo paso: Cálculo del vector de multiplicadores π.


 
2 1 −1
wT U = CB
T
⇒ wT 0 −3/2 −1/2 = −3 −1 −2 ⇒
 

0 0 7/3
wT = −3/2 −1/3 −11/7
 
92 CAPÍTULO 4. SIMPLEX CON INVERSA DE BASE EXPLÍCITA

π T = wT L̃−1 =
   
−3/2 −1/3 −11/7 M3 π23 M2 π12 M1 = −11/7 −2/7 −6/7

Costos reducidos:

 
1 h i
T
= cTD − π T D = −4 − −11/7 −2/7 −6/7 1 = −9/7
 
rD
1
6≥ 0

q = 4

Luego, x4 entra a la base.

Tercer paso: Cálculo de la columna entrante en el Tableaux.


   
1 1
z4 = L̃−1 A4 = M3 π23 M2 π12 M1 1 = 1/2
1 2/3

     
2 1 −1 1 6/7
U y4 = z4 ⇒ 0 −3/2 −1/2 y4 = 1/2 ⇒ y4 = −3/7
0 0 7/3 2/3 2/7

Variable saliente: ( )
13/7 2/7
Min , ·, =1
6/7 2/7

Ası́, p = 3.
Luego, x2 sale de la base.

Nueva Base:
[z4 ]
 
2 1 1
H =  0 −3/2 1/2  = U +
0 0 2/3
n o−1
L̃+ = L̃−1 = M3 π23 M2 π12 M1

y los datos para la nueva iteración son:


 
2
B = {3, 1, 4}, D = {2}, D = −1
−1
93

•Segunda iteración

Primer paso: Cálculo del lado derecho del Tableaux.


   
3 4
z0 = L̃−1 b = M3 π23 M2 π12 M1 4 =  −1 
1 2/3
       
2 1 1 4 1 0
U yo = z0 ⇒ 0 −3/2 1/2 y0 =  −1  ⇒ y0 = 1 ≥ 0
0 0 2/3 2/3 1 0

Segundo paso: Cálculo del vector de multiplicadores π.


 
2 1 1
wT U = CB
T
⇒ wT 0 −3/2 1/2 = −3 −1 −4 ⇒
 
0 0 2/3
wT = −3/2 −1/3 −7/2
 

π T = wT L̃−1 = −3/2 −1/3 −7/2 M3 π23 M2 π12 M1 = −7/2 1 −3/2


   

Costos reducidos:

 
T
 2 h i
= cTD − π T D = −2 − −7/2 1
  
rD −3/2 −1 = 9/2
−1
≥ 0

F IN

Ası́, la solución óptima del problema es:


   
x̂3 1
x̂B = y0 ⇔ x̂1  = 1 y x̂D = ~0 ⇔ x̂2 = 0
 
x̂4 1

y el valor óptimo del problema es:

v̂(P)) = cT x̂ = −1 · 1 − 2 · 0 − 3 · 1 − 4 · 1 = −8
94 CAPÍTULO 4. SIMPLEX CON INVERSA DE BASE EXPLÍCITA
Capı́tulo 5

Especialización del Método


Simplex Problemas con
Restricciones de Cotas

Ejercicio 5.1 (Ejemplo)


Dado el problema lineal:

P) Min x1 +2x2
x1 −x2 ≥2
x1 +x2 ≤ − 1
0 ≤x1 ≤ 3
−3 ≤x2 ≤ 0

Resolver mediante el Método Simplex con Cotas

Solución
En el siguiente gráfico se puede distinguir el dominio de restricción y el dominio
dado por las restricciones de cotas:

95
96 CAPÍTULO 5. SIMPLEX CON COTAS

x2

x1
1 2 3
−1

−2

−3

Antes de resolver, debemos tener el problema en formato estándar con cotas:

P) Min x1 +2x2
x1 −x2 −x3 =2
x1 +x2 +x4 = − 1
0 ≤x1 ≤ 3
−3 ≤x2 ≤ 0
0 ≤x3
0 ≤x4

Cuando se comienza con un problema con restricciones de desigualdad (como


este caso), cada variable de holgura y/o exceso provee un candidato a la base,
puesto que provee una columna de la matriz identidad. Si multiplicáramos la
primera restricción por −1 podrı́amos tener la identidad como Matriz de Base,
teniendo a x3 y x4 como variables de base. Sin embargo, esta base puede no ser
factible (tal que las variables de base cumplan con sus cotas):

P) Min x1 +2x2
−x1 +x2 +x3 =−2
x1 +x2 +x4 = − 1
0 ≤x1 ≤ 3
−3 ≤x2 ≤ 0
0 ≤x3
0 ≤x4
97

Si quisiéramos hacer Fase I, debemos elegir en qué cota quedará cada variable
(en el caso de las variables de holgura y/o exceso, en su única cota 0). Una vez
hecho esto, debemos determinar cuáles restricciones son violadas, de modo de
agregar variables artificiales a cada una de éstas. Sin embargo, la cantidad de
variables artificiales que se necesita (eventualmente ninguna, lo que implicarı́a
no hacer Fase I ) depende de que cotas elijamos para las variables fuera de base.
Para este problema (tomando en cuenta que las variables de holgura y/o
exceso sólo pueden quedar en su cota 0, pues están fuera de la base), temenos
cuatro casos:

•Caso I
u u
Variables fuera de base D = {1, 2}:

) (
x1 = 3 x3 = 1
⇒ ⇒ infactible
x2 = 0 x4 = −4

Se necesitarı́a una variable artificial en la segunda restricción.

•Caso II
l u
Variables fuera de base D = {1, 2}:

) (
x1 = 0 x3 = −2
⇒ ⇒ infactible
x2 = 0 x4 = −1

Se necesitarı́a dos variables artificiales, una para cada restricción.

•Caso III
u l
Variables fuera de base D = {1, 2}:

) (
x1 = 3 x3 = 4
⇒ ⇒ infactible
x2 = −3 x4 = −1

Se necesitarı́a una variable artificial en la segunda restricción.

•Caso IV
l l
Variables fuera de base D = {1, 2}:

) (
x1 = 0 x3 = 1
⇒ ⇒ factible
x2 = −3 x4 = 2
98 CAPÍTULO 5. SIMPLEX CON COTAS

No se necesita Fase I. Los datos iniciales son:


   
l l 1 0 −1 1
B = {3, 4}, D = {1, 2}, B = yD=
0 1 1 1

Cabe notar que cada uno de estos casos define un punto del espacio dado
por el problema original. En este caso, tal como se puede ver en el gráfico, el
punto (x1 , x2 ) = (0, −3), dado por el Caso IV, es el único punto factible en el
dominio del problema original.
99

Ejercicio 5.2 (†)


Considere el problema lineal:

P) Min x1 +2x2 +3x3 −x4


2x1 −x2 +x3 −2x4 ≤ 6
−x1 +2x2 −x3 +x4 ≤ 8
2x1 +x2 −x3 +6x4 ≥ 2
0 ≤ x1 ≤ 3
1 ≤ x2 ≤ 4
0 ≤ x3 ≤ 10
2 ≤ x4 ≤ 5

(i) (0.5 Pto.) Muestre, antes de resolver, que P) admite solución óptima.

(ii) (0.5 Pto.) Reformule el problema P) en formato estándar con cotas.

(iii) (4 Pto.) Resuelva el modelo resultante mediante el Simplex Revisado


para Restricciones de Cotas, definiendo una base factible inicial donde
x1 , x2 , x3 , x4 estén en sus cotas l1 , u2 , u3 , l4 , respectivamente.

(iv) (1 Pto.) ¿Qué ventajas tiene la aplicación del Simplex Revisado para Res-
tricciones de Cotas, sobre el Simplex Revisado Clásico aplicado directa-
mente al problema con sólo restricciones de signo equivalente? Fundamente
su respuesta de manera breve y precisa.

Solución
(i) Se tiene que (x1 , x2 , x3 , x4 ) = (0, 4, 10, 2) ∈ P (De hecho, nos dicen que esta
base es factible). Luego:
P 6= φ (5.1)

Sea el poliedro P̄ , definido por las restricciones:

0 ≤x1 ≤ 3
1 ≤x2 ≤ 4
0 ≤x3 ≤10
2 ≤x4 ≤ 5

Claramente P̄ es acotado. Como P ⊆ P̄ , resulta que P̄ también es acotado.


100 CAPÍTULO 5. SIMPLEX CON COTAS

Todo esto, junto con la continuidad de la función objetivo y la cerradura


del dominio de restricción, cumple las hipótesis del “Teorema de Existencia de
Bolzano-Weierstrass”. Ası́, P) admite solución óptima.
(ii) Formato estándar con cotas:

P) Min x1 +2x2 +3x3 −x4


2x1 −x2 +x3 −2x4 +x5 =6
−x1 +2x2 −x3 +x4 +x6 =8
2x1 +x2 −x3 +6x4 −x7 = 2
0 ≤ x1 ≤ 3
1 ≤ x2 ≤ 4
0 ≤ x3 ≤ 10
2 ≤ x4 ≤ 5
0 ≤ x5
0 ≤ x6
0 ≤ x7

Para obtener la identidad en las columnas de A relacionadas con las variables


x5 , x6 y x7 ; debemos multiplicar la última restricción por -1:

P) Min x1 +2x2 +3x3 −x4


2x1 −x2 +x3 −2x4 +x5 = 6
−x1 +2x2 −x3 +x4 +x6 = 8
−2x1 −x2 +x3 −6x4 +x7 =−2
0 ≤ x1 ≤ 3
1 ≤ x2 ≤ 4
0 ≤ x3 ≤ 10
2 ≤ x4 ≤ 5
0 ≤ x5
0 ≤ x6
0 ≤ x7
101

(iii) Podemos obtener la matriz A y los vectores b y cT :


 
2 −1 1 −2 1 0 0
A = −1 2 −1 1 0 1 0
−2 −1 1 −6 0 0 1
 
6
b =  8 cT = 1 2
 
3 −1 0 0 0 .
−2

Ası́ las columnas 5, 6 y 7 de la matriz A forman la identidad (Además, del


enunciado, el resto de las variables están en sus cotas, luego son candidatas a
estar fuera de la base):
 
  2 −1 1 −2 1 0 0
A = D B =  −1 2 −1 1 0 1 0 
−2 −1 1 −6 0 0 1

De este modo, se tiene:

l u u l
B = {5, 6, 7}, D = {1, 2, 3, 4},
   
1 0 0 2 −1 1 −2
B = 0 1 0 , D = −1 2 −1 1 
0 0 1 −2 −1 1 −6

•Primera iteración

Primer paso: Cálculo del lado derecho del Tableaux1 .

y0 = B −1 b − B −1 Dxd =
 
      0  
1 0 0 6 1 0 0 2 −1 1 −2   4
0 1 0  8  − 0 4
1 0 −1 2 −1 1  
10
 = 8
0 0 1 −2 0 0 1 −2 −1 1 −6 4
2

Segundo paso: Cálculo del vector de multiplicadores π.


 
 1 0 0
π T = cTB B −1
  
= 0 0 0 0 1 0 = 0 0 0
0 0 1
1 Nótese que el cálculo de y mediante la fórmula y = B −1 b−B −1 Dx sólo es “necesario.en
0 0 d
la primera iteración.
102 CAPÍTULO 5. SIMPLEX CON COTAS

Costos reducidos:
 
2 −1 1 −2
T
= cTD − π T D = 1 2
   
rD 3 −1 − 0 0 0 −1 2 −1 1  =
−2 −1 1 −6
 
1 2 3 −1
l u u l
≥ 0 6≤ 0 6≤ 0 6≥ 0

q = 3

Luego, x3 entra a la base bajando.

Tercer paso: Cálculo de la columna entrante en el Tableaux

    1 
1 0 0 1
y3 = B −1 A3 = 0 1 0 −1 =  −1 
 
0 0 1 1
1
Variable saliente:
 
8−0

γ1 = Min ·, , · = 8


1

⇒ ∆ = Min {8, ·, 10} = 8
γ2 = Min {·, ·, ·} = · 


γ3 = 10 − 0 = 10

Ası́, p = 2 y el pivote
Luego, x6 sale de la base en su cota inferior.

Nueva Base:
Matriz de pivote.
[η ]
  12 
  
1 1 0 1 1 0
1 
P2 =  0  −1 0  = 0 −1 0
0 1 1
1 0 1 1
Ası́:     
1 1 0 1 0 0 1 1 0
−1
B+ = P2 B −1 = 0 −1 0 0 1 0 = 0 −1 0
0 1 1 0 0 1 0 1 1
y los datos para la nueva iteración son:
l u l l
B = {5, 3, 7}, D = {1, 2, 4, 6},
   
1 1 0 2 −1 −2 0
B −1 = 0 −1 0 y D = −1 2 1 1
0 1 1 −2 −1 −6 0
103

•Segunda iteración

Primer paso: Cálculo del lado derecho del Tableaux.

x+ 3 = u3 − ∆ = 10 − 8 = 2

12
     
4 1
x+

B = y 0 + ∆y 3 =  8 + 8 −1  =  0
4 1 12
12
 

xB + =  2
12

Segundo paso: Cálculo del vector de multiplicadores π.


 
 1 1 0
π T = cTB B −1 = 0 3
  
0 0 −1 0 = 0 −3 0
0 1 1
Costos reducidos:
 
T
 2 −1 −2 0
= cTD − π T D = 1 2
  
rD −1 0 − 0 −3 0 −1 2 1 1 =
−2 −1 −6 0
 
−2 8 2 3
l u l l
6≥ 0 6≤ 0 ≥ 0 ≥ 0

q = 2

Luego, x2 entra a la base bajando.

Tercer paso: Cálculo de la columna entrante en el Tableaux

    1 
1 1 0 −1
y2 = B −1 A2 = 0 −1 0  2  =  −2 
 
0 1 1 −1
1
Variable saliente:
 
2−0

γ1 = Min ·, , · = 1


2

⇒ ∆ = Min {1, ·, 3} = 1
γ2 = Min {·, ·, ·} = · 


γ3 = 4 − 1 = 3

Ası́, p = 2 y el pivote
104 CAPÍTULO 5. SIMPLEX CON COTAS

Luego, x3 sale de la base en su cota inferior.

Nueva Base:
Matriz de pivote.

[η ]
  12    
1 2 0 1 1/2 0
P2 =  0  1  0  = 0 −1/2 0
−2
0 1 1
2 0 1/2 1

Ası́:
    
1 1/2 0 1 1 0 1 1/2 0
−1
B+ = P2 B −1 = 0 −1/2 0 0 −1 0 = 0 1/2 0
0 1/2 1 0 1 1 0 1/2 1

y los datos para la nueva iteración son:

l l l l
B = {5, 2, 7}, D = {1, 4, 6, 3},
   
1 1/2 0 2 −2 0 1
B −1 = 0 1/2 0 y D = −1 1 1 −1
0 1/2 1 −2 −6 0 1

•Tercera iteración

Primer paso: Cálculo del lado derecho del Tableaux.

x+
2 = u2 − ∆ = 4 − 1 = 3

13
     
12 1
x+

B = y 0 + ∆y 2 =  2  + 1 −2  =  0
12 1 13

13
 

xB + = 3 
13

Segundo paso: Cálculo del vector de multiplicadores π.

 
 1 1/2 0
π T = cTB B −1
  
= 0 2 0 0 1/2 0 = 0 1 0
0 1/2 1
105

Costos reducidos:
 
T
 2 −2 0 1
= cTD − π T D = 1 −1 0
  
rD 3 − 0 1 0 −1 1 1 −1 =
−2 −6 0 1
 
2 −2 −1 4
l l l l
≥ 0 6≥ 0 6≥ 0 ≥ 0

q = 4

Luego, x4 entra a la base subiendo.

Tercer paso: Cálculo de la columna entrante en el Tableaux

 
   −3/2
1 1/2 0 −2
y4 = B −1 A4 = 0 1/2 0  1  = 
 
 1/2 

0 1/2 1 −6
−11/2
Variable saliente:
  

 
 

  
 3−1  

γ1 = Min ·, , · = 4



 
 1/2  ⇒ ∆ = Min {4, ·, 3} = 3

 




γ2 = Min {·, ·, ·} = ·





γ3 = 5 − 2 = 3

Luego, x4 cambia de cota inferior a cota superior y no hay cambio de base.


Los datos para la nueva iteración son:

l u l l
B = {5, 2, 7}, D = {1, 4, 6, 3},
   
1 1/2 0 2 −2 0 1
B −1 = 0 1/2 0 y D = −1 1 1 −1
0 1/2 1 −2 −6 0 1

•Cuarta iteración

Primer paso: Cálculo del lado derecho del Tableaux.


     
13 −3/2 35/2
x+

 3  − 3  1/2  =  3/2 
B = xB + = y0 − ∆y4 =
13 −11/2 59/2
106 CAPÍTULO 5. SIMPLEX CON COTAS

Segundo paso
Como no cambia la base, no cambian los valores de π T , ni los costos reduci-
dos.

T
rD =
 
2 −2 −1 4
l u l l
≥ 0 ≤ 0 6≥ 0 ≥ 0

q =6

Luego, x6 entra a la base subiendo.

Tercer paso: Cálculo de la columna entrante en el Tableaux

 
   1/2
1 1/2 0 0
y6 = B −1 A6 = 0
 
1/2 0 1 = 
 1/2 

0 1/2 1 0
1/2
Variable saliente:
  
 35/2 − 0 3/2 − 1 59/2 − 0  

γ1 = Min , , = 1

 1/2 1/2 


1/2 ⇒ ∆ = Min {1, ·, ·} = 1
γ2 = Min {·, ·, ·} = ·





γ3 = ·

Ası́, p = 2 y el pivote
Luego, x2 sale de la base en su cota inferior.

Nueva Base:
Matriz de pivote.

[η2 ]
1/2
     
1 −1/2 0 1 −1 0
 1 
P2 =  0 0 = 0 2 0

 1/2 
0 1/2 1 0 −1 1
−1/2

Ası́:     
1 −1 0 1 1/2 0 1 0 0
−1
B+ = P2 B −1 = 0 2 0 0 1/2 0 = 0 1 0
0 −1 1 0 1/2 1 0 0 1
107

y los datos para la nueva iteración son:

l u l l
B = {5, 6, 7}, D = {1, 4, 3, 2},
   
1 0 0 2 −2 1 −1
B −1 = 0 1 0 y D = −1 1 −1 2 
0 0 1 −2 −6 1 −1

•Quinta iteración

Primer paso: Cálculo del lado derecho del Tableaux.

x+
6 = l6 + ∆ = 0 + 1 = 1

17
     
35/2 1/2
x+

B = y 0 − ∆y 6 =  3/2  − 1 1/2 =  1
59/2 1/2 29

17
 

xB + = 1 
29

Segundo paso: Cálculo del vector de multiplicadores π.

 
 1 0 0
π T = cTB B −1
  
= 0 0 0 0 1 0 = 0 0 0
0 0 1
Costos reducidos:
 
T
 2 −2 1 −1
= cTD − π T D = 1 −1 3
  
rD 2 − 0 0 0 −1 1 −1 2 =
−2 −6 1 −1
 
1 −1 3 2
l u l l
≥ 0 ≤ 0 ≥ 0 ≥ 0

FIN

Los valores óptimos del problema estandarizado son:


   
    x1 0
x5 17 x4  5
x6  = y0 =  1  y   =  
x3  0
x7 29
x2 1
108 CAPÍTULO 5. SIMPLEX CON COTAS

Luego, la solución del problema original queda:


   
x̂1 0
x̂2  1
x̂ = 
x̂3  = 0
  

x̂4 5

y el valor óptimo del problema es:

v̂(P) = 1 · 0 + 2 · 1 + 3 · 0 − 1 · 5 = −3

(iv) El Simplex con Cotas, al considerar las restricciones de cotas como tales,
disminuye la cantidad de variables de holgura y/o exceso y el tamaño de la
base, con la consecuente disminución en el tamaño del problema y la cantidad
de operaciones que se necesita para resolverlo.
109

Ejercicio 5.3 (†)


Considere el problema lineal:

P) Min −2x1 −x2 +3x3


3x1 +x2 −x3 ≤12
x2 −2x3 ≤8
0 ≤ x1 ≤ 3
0 ≤ x2 ≤ 6
−4 ≤ x3 ≤ 0

(i) (1 Pto.) Antes de resolver, muestre que el problema admite al menos una
solución óptima.

(ii) (5 Ptos.)Resuelva el problema anterior mediante el Método Simplex Re-


visado con Inversa Explı́cita para Variables con Cotas.
Para ello, reformule primeramente el problema en formato estándar equi-
valente para variables con restricciones de cotas. En seguida, considere
las variables originales fuera de base, con los siguientes valores iniciales:
x̄1 = 3, x̄2 = 6, x̄3 = 0, para luego construir una base factible inicial
utilizando el Método de la Fase I, con la menor cantidad de variables
artificiales.

Solución
(i) Se tiene que (x1 , x2 , x3 ) = (0, 0, 0) ∈ P . Luego:

P 6= φ (5.2)

Sea el poliedro P̄ , definido por las restricciones:

0 ≤x1 ≤3
0 ≤x2 ≤6
−4 ≤x3 ≤0

Claramente P̄ es acotado. Como P ⊆ P̄ , resulta que P̄ también es acotado.


Todo esto, junto con la continuidad de la función objetivo y la cerradura
del dominio de restricción, cumple las hipótesis del “Teorema de Existencia de
Bolzano-Weierstrass”. Ası́, P) admite solución óptima.
110 CAPÍTULO 5. SIMPLEX CON COTAS

(ii) Formato estándar:

P̃) Min −2x1 −x2 +3x3


3x1 +x2 −x3 +x4 =12
x2 −2x3 +x5 =8
0 ≤ x1 ≤ 3
0 ≤ x2 ≤ 6
−4 ≤ x3 ≤ 0
0 ≤ x4
0 ≤ x5

El problema queda mejor presentado si hacemos el cambio de variables x̃3 =


−x3 2 :

˜ Min −2x −x −3x


P̃) 1 2 3
3x1 +x2 +x̃3 +x4 =12
x2 +2x̃3 +x5 =8
0 ≤ x1 ≤ 3
0 ≤ x2 ≤ 6
0 ≤ x̃3 ≤ 4
0 ≤ x4
0 ≤ x5

La solución básica inicial x̄ no es factible para el problema original P) (o


equivalentemente, al menos una variable de holgura, tendrı́a que ser menor que
˜ Luego, se necesita hacer emplear dos fases.
cero en P̃).

Fase I
En este caso, x̄ no cumple la primera restricción (o equivalentemente, la
x4 debe ser estrictamente menor que cero). Luego, necesitamos una variable
artificial esta última:

2 Este cambio de variables es opcional. Si no se hace, se llega a los mismos resultados


111

˜ Min x
P̃) 6
3x1 +x2 +x̃3 +x4 −x6 =12
x2 +2x̃3 +x5 =8
0 ≤ x1 ≤ 3
0 ≤ x2 ≤ 6
0 ≤ x̃3 ≤ 4
0 ≤ x4
0 ≤ x5
0 ≤ x6

Para formar la identidad, necesitamos multiplicar la primera restricción por


−1:

˜ Min x
P̃) 6
−3x1 −x2 −x̃3 −x4 +x6 =−12
x2 +2x̃3 +x5 = 8
0 ≤ x1 ≤ 3
0 ≤ x2 ≤ 6
0 ≤ x̃3 ≤ 4
0 ≤ x4
0 ≤ x5
0 ≤ x6

Nuestra base inicial es B = {6, 5} (de modo que las columnas de A, relacio-
nadas con estas variables, formen la identidad).
Podemos obtener la matriz A y los vectores b y cT :
   
−3 −1 −1 −1 0 1 −12
cT = 0
 
A= b= 0 0 0 0 1 .
0 1 2 0 1 0 8

Como las columnas 6 y 5 de la matriz A forman la identidad, reordenando las


columnas de A, se tiene:
 
  −3 −1 −1 −1 1 0
A= D B =
0 1 2 0 0 1
112 CAPÍTULO 5. SIMPLEX CON COTAS

De este modo, se tiene:

u u l l
B = {6, 5}, D = {1, 2, 3, 4},
   
1 0 −3 −1 −1 −1
B= , D=
0 1 0 1 2 0

•Primera iteración

Primer paso: Cálculo del lado derecho del Tableaux3 .

y0 = B −1 b − B −1 Dxd =
 
      3  
1 0 −12 1 0 −3 −1 −1 −1 
6 = 3


0 1 8 0 1 0 1 2 0 0 2
0

Segundo paso: Cálculo del vector de multiplicadores π.

 
 1 0
π T = cTB B −1 = 1 0
  
= 1 0
0 1
Costos reducidos:
 
T
 −3 −1 −1 −1
= cTD − π T D = 0 0
  
rD 0 0 − 1 0 =
0 1 2 0
[ 3 1 1 1 ]
u u l l
6≤ 0 6≤ 0 ≥ 0 ≥ 0

q = 1

Luego, x1 entra a la base bajando.4

Tercer paso: Cálculo de la columna entrante en el Tableaux

 
  
1 0 −3 −3 
y1 = B −1 A1 = =
0 1 0
0

3 Nótese que el cálculo de y mediante la fórmula y = B −1 b−B −1 Dx sólo es “necesario.en


0 0 d
la primera iteración.
4 También podrı́a haber sido x .
2
113

Variable saliente:
 
3−0

γ1 = Min , · = 1


3

⇒ ∆ = Min {1, ·, 3} = 1
γ2 = Min {·, ·} = · 


γ3 = 3 − 0 = 3

Ası́, p = 1 y el pivote
Luego, x6 sale de la base en su cota inferior y termina la Fase I.

Nueva Base:
Matriz de pivote.
[η1 ]
 1    
−3 0 −1/3 0
P1 = 0 =
3
0 0 1

Ası́:     
−1 −1/3 0 1 0 −1/3 0
B+ = P1 B −1 = =
0 1 0 1 0 1
y los datos para la Fase II son:
 
u l l −1/3 0
B = {1, 5}, D = {2, 3, 4} y B −1 =
0 1

Fase II
˜ en formato estándar5 :
El problema P̃)
˜ Min −2x −x −3x
P̃) 1 2 3
−3x1 −x2 −x̃3 −x4 =−12
x2 +2x̃3 +x5 = 8
0 ≤ x1 ≤ 3
0 ≤ x2 ≤ 6
0 ≤ x̃3 ≤ 4
0 ≤ x4
0 ≤ x5

La matriz A y el vector cT para la Fase II son:


 
−3 −1 −1 −1 0
cT = −2 −1 −3
 
A= 0 0 .
0 1 2 0 1
5 Recordar que hemos multiplicado la primera restricción por −1
114 CAPÍTULO 5. SIMPLEX CON COTAS

u l l
De la Fase I tenı́amos que B = {1, 5} y D = {2, 3, 4}. Entonces:
 
−1 −1 −1
D=
1 2 0

•Primera iteración

Primer paso: Cálculo del lado derecho del Tableaux.

x+
1 = u1 − ∆ = 3 − 1 = 2
     
3 −3 0
x+

B = y0 + ∆y1 = 2
+1
0
=
2
 
2
xB + =
2

Segundo paso: Cálculo del vector de multiplicadores π.


 
T
 −1/3 0
cTB B −1
  
π = = −2 0 = 2/3 0
0 1
Costos reducidos:
 
T
 −1 −1 −1
cTD T
  
rD = − π D = −1 −3 0 − 2/3 0 =
1 2 0
h i
−1/3 −7/3 2/3
u l l
≤ 0 6≥ 0 ≥ 0

q = 3

Luego, x̃3 entra a la base subiendo.

Tercer paso: Cálculo de la columna entrante en el Tableaux


!
1/3
  
−1 3 −1/3 0 −1
y3 = B A = =
0 1 2 2
Variable saliente:
 
2−0 2−0

γ1 = Min , = 1

1/3

2

⇒ ∆ = Min {1, ·, 4} = 1
γ2 = Min {·, ·} = · 


γ3 = 4 − 0 = 4

115

Ası́, p = 2 y el pivote
Luego, x5 sale de la base en su cota inferior.

Nueva Base:
Matriz de pivote.

[η2 ]
 1/3  !  
1 −2 1 −1/6
P2 = 1 =
0 2
0 1/2

Ası́:     
−1 1 −1/6 −1/3 0 −1/3 −1/6
B+ = P2 B −1 = =
0 1/2 0 1 0 1/2
y los datos para la nueva iteración son:
   
u l l −1/3 −1/6 −1 −1 0
B = {1, 3}, D = {2, 4, 5}, B −1 = yD=
0 1/2 1 0 1

•Segunda iteración

Primer paso: Cálculo del lado derecho del Tableaux.

x+
3 = l3 + ∆ = 0 + 1 = 1

5/3
     
2 1/3
x+

B = y0 − ∆y3 = 2
−1
2
=
0

5/3
 
xB + =
1

Segundo paso: Cálculo del vector de multiplicadores π.


 
T
 −1/3 −1/6
cTB B −1
  
π = = −2 −3 = 2/3 −7/6
0 1/2
Costos reducidos:
 
T
 −1 −1 0
cTD T
  
rD = − π D = −1 0 0 − 2/3 −7/6 =
1 0 1
h i
5/6 2/3 7/6
u l l
6≤ 0 ≥ 0 ≥ 0

q = 2
116 CAPÍTULO 5. SIMPLEX CON COTAS

Luego, x2 entra a la base bajando.

Tercer paso: Cálculo de la columna entrante en el Tableaux


    
−1 2 −1/3 −1/6 −1 1/6
y2 = B A = =
0 1/2 1 1/2
Variable saliente:

γ1 = Min {·, ·} = · 

  
3 − 5/3 4 − 1 
γ2 = Min , = 6 ⇒ ∆ = Min {·, 6, 6} = 6
1/6 1/2 


γ3 = 6 − 0 = 6

Ası́, no hay cambio de base, y x2 cambia de cota superior a inferior6 y los


datos para la nueva iteración son:
   
l l l −1/3 −1/6 −1 −1 0
B = {1, 3}, D = {2, 4, 5}, B −1 = yD=
0 1/2 1 0 1

•Tercera iteración

Primer paso: Cálculo del lado derecho del Tableaux.


     
5/3 1/6 8/3
x+

B = xB + = y 0 + ∆y 2 = + 6 =
1 1/2 4

Segundo paso.
Como la base no cambia, no cambia el vector de multiplicadores π, ni los
costos reducidos.

T
rD =
h i
5/6 2/3 7/6
l l l
≥ 0 ≥ 0 ≥ 0

F IN

Los valores óptimos del problema estandarizado son:


   
    x2 0
x1 8/3
= y0 = y x4  = 0
x̃3 4
x5 0
6 También podrı́a haber salido x en su cota superior, los resultados finales deben ser los
3
mismos
117

Luego, la solución del problema original (reemplazando x̃3 por −x3 ) queda:
   
x̂1 8/3
x̂ = x̂2  =  0 
x̂3 −4

y el valor óptimo del problema es:

v̂(P) = −2 · 8/3 + −1 · 0 + 3 · −4 = −52/3


118 CAPÍTULO 5. SIMPLEX CON COTAS
Capı́tulo 6

Problema de Transporte

Ejercicio 6.1 (†)


Una empresa naviera requiere una flota de barcos para el transporte diario de
carga entre seis ciudades. Hay cuatro rutas especı́ficas que deben ser cubiertas
diariamente. Estas rutas, con sus respectivas demandas por barcos disponibles
diariamente al inicio de ellas, están definidas en la siguiente tabla:

Ruta Origen Destino Barcos requeridos diariamente


1 Dharan Nueva York 3
2 Marsella Estambul 2
3 Nápoles Bombay 1
4 Nueva York Marsella 1

Toda la carga es del mismo tipo, de modo que se requiere un solo tipo de
barco. Los tiempos de viaje, medidos en dı́as de navegación, entre las distintas
ciudades, están dados en la siguiente tabla:

Nápoles Marsella Estambul Nueva York Dharan Bombay


Nápoles 0 1 2 14 7 7
Marsella 1 0 3 13 8 8
Estambul 2 3 0 15 5 5
Nueva York 14 13 15 0 17 20
Dharan 7 8 5 17 0 3
Bombay 7 8 5 20 3 0

Por otro lado, tanto la carga de un barco en un puerto de origen cualquiera,


como la descarga de un barco en un puerto de destino cualquiera, toma exacta-
mente un dı́a.
Teniendo en cuenta que cada barco que completa una cualquiera de estas
rutas, debe ser reasignado para ir a cubrir posteriormente otra ruta, que pu-

119
120 CAPÍTULO 6. PROBLEMA DE TRANSPORTE

diere ser, eventualmente, la misma que acaba de cubrir, se pide establecer un


modelo lineal para determinar la mı́nima cantidad de barcos que la empresa
debe comprar para satisfacer diariamente todos los requerimientos anteriores.
Para ello, designe por xij la cantidad diaria de barcos que, luego de com-
pletar la ruta i, deben ir a cubrir la ruta j. Suponga, por simplicidad, que xij
está definida como variable real, es decir, con valores en R.
En seguida, imponga que todos los barcos que diariamente dejan una cierta
ruta, deben ser reasignados para ir a cubrir una cualquiera de las otras rutas,
incluida la ruta que acaban de cubrir. Esta cantidad de barcos define la oferta
diaria de barcos asociada a esta ruta. Igualmente, imponga que en cada una
de las rutas se satisfaga los requerimientos diarios de barcos, ya sea mediante
barcos provenientes de cubrir otras rutas y/o ellas mismas. Esta última cantidad
de barcos, define la demanda asociada a esa ruta.
Finalmente, como se trata de minimizar el tamaño de la flota, el costo cij
(∀i, j = 1, . . . , 4) denotará el mı́nimo número de barcos comprometidos diaria-
mente entre el puerto de origen de la ruta i y el puerto de origen de la ruta j,
para garantizar un flujo de un barco diario a través de barcos que, saliendo de
la ruta i, sean reasignados a la ruta j. Ası́, por ejemplo, c23 = 7, es decir, se
requiere de siete barcos entre los puertos de Marsella y Nápoles para garantizar
la reasignación diaria de un barco desde la ruta 2, hacia la ruta 3. Este costo
corresponde al número total de dı́as que requiere un barco para estar en condi-
ciones de servir la ruta 3, luego de iniciar su servicio en la ruta 2, incluyendo
los tiempos de carga y descarga en la misma ruta 2.

(i) (3 ptos.) Formule el problema como un Modelo Clásico de Transporte


(balanceado), con sólo cuatro nodos de oferta y cuatro nodos de demanda
(ii) (1 pto.) Muestre que este modelo admite al menos una solución óptima
con valores enteros.
(iii) (2 ptos.) Resuelva el modelo resultante mediante el Algoritmo Simplex
con Inversa Implı́cita especializado al Problema de Transporte.
121

Solución
(i) Formulación del problema:

4 X
X 4
P) Min Cij xij
i=1 j=1
4
X
xij ≤ Oi ∀i = 1, . . . , 4
j=1
4
X
xij ≥ Dj ∀j = 1, . . . , 4
i=1
xij ≥ 0 ∀i, j = 1, . . . , 4

donde xij es la cantidad diaria de barcos que, luego de completar la ruta i,


deben ir a cubrir la ruta j.
Los parámetros del modelo son:

   
36 32 33 19 3
10 8 7 20 2 
12 17 16 29 , O = D = 1 .
Cij =    

23 15 16 28 1

P4 P4
Como i=1 Oi = j=1 Dj = 7, el problema está balanceado.
(ii) Como P) es una Problema de Hitchcock balanceado, P) admite solución
óptima 1 . Por las mismas razones, el Método Simplex aplicado a este tipo de
problemas provee una solución óptima entera en un número finito de iteraciones.
(ii) Utilizando la Regla Nor-oeste, se obtiene la siguiente solución factible inicial
degenerada:

3 0
2 0
1 0
1

1 También se puede demostrar por los teoremas de existencia de la programación lineal y

no-lineal
122 CAPÍTULO 6. PROBLEMA DE TRANSPORTE

•Primera iteración
Cálculo de π.
u
36 32 44
8 7 20
16 29 29
28 28
v −8 −12 −13 0

Costos reducidos.
· · 2 −25
−2 · · 0
−9 0 · ·
3 −1 1 ·

Variable saliente.
3 0−∆ +∆
2+∆ 0−∆
1+∆ 0−∆
1
Nueva Solución Básica
3 0
2 0
1 0
1

•Segunda iteración
Cálculo de π.
u
36 19 19
8 7 20
16 29 29
28 28
v 17 −12 −13 0

Costos reducidos.
· 25 27 ·
−27 · · 0
−34 0 · ·
−22 −1 1 ·

Variable saliente.
3−∆ 0+∆
2 0
+∆ 1 0−∆
1
123

Nueva Solución Básica

3 0
2 0
0 1
1

•Tercera iteración
Cálculo de π.
u
36 19 19
8 7 −14
12 16 −5
28 28
v 17 22 21 0

Costos reducidos.

· −9 −7 ·
7 · · 34
· 0 · 34
−22 −35 −33 ·

Variable saliente.

3−∆ 0+∆
2−∆ 0+∆
0+∆ 1−∆
+∆ 1−∆

Nueva Solución Básica

2 1
1 1
1 0
1

•Cuarta iteración
Cálculo de π.
u
36 19 19
8 7 −14
12 16 −5
15 −7
v 17 22 21 0
124 CAPÍTULO 6. PROBLEMA DE TRANSPORTE

Costos reducidos.
· −9 −7 ·
7 · · 34
· 0 · 34
13 · 2 35

Variable saliente.
2−∆ +∆ 1
1−∆ 1+∆
1+∆ 0−∆
1
Nueva Solución Básica
2 0 1
1 1
1
1

•Quinta iteración
Cálculo de π.
u
36 32 19 19
8 7 −5
12 −5
15 2
v 17 13 12 0

Costos reducidos.
· · 2 ·
−2 · · 25
· 9 9 34
4 · 2 26

Variable saliente.
2−∆ 0+∆ 1
+∆ 1 − ∆ 1
1
1
Nueva Solución Básica
1 1 1
1 1
1
1
125

•Sexta iteración
Cálculo de π.
u
36 32 19 19
10 7 −7
12 −5
15 2
v 17 13 14 0

Costos reducidos.

· · 0 ·
· 2 · 27
· 9 7 34
4 · 0 26

Fin, la solución encontrada es óptima.


126 CAPÍTULO 6. PROBLEMA DE TRANSPORTE

Ejercicio 6.2 (†)


Un banquetero debe disponer de manteles limpios para realizar sendos banquetes
en los cuatro siguientes dı́as, con demandas de 100, 130, 150 y 140 unidades,
respectivamente. Para ello, dispone de un stock inicial de 200 manteles limpios,
de la posibilidad de comprar manteles en todo momento y sin lı́mite de cantidad,
a un precio de $12 la unidad, y de la posibilidad de enviar a lavar manteles en
servicio rápido, de un banquete para el siguiente a $ 6 la unidad, o en servicio
lento, de un banquete para el subsiguiente, a $4 la unidad.

(i) Formule el problema de aprovisionamiento de manteles limpios a mı́nimo


costo total, como un problema clásico de transporte de Hitchcock, debi-
damente balanceado. Para ello, utilice la descripción gráfica del problema
a través de la red de transporte correspondiente.

(ii) Resuelva el Modelo Balanceado resultante, utilizando la especialización


del Método Simplex, con la regla Nor-Oeste para la construcción de una
solución básica factible inicial.

(iii) Aplicando el criterio de optimalidad del Simplex, estudie hasta qué nivel
puede aumentar el costo del lavado en servicio lento, sin que cambie el
costo óptimo del problema obtenido en ii).

Solución
(i) Formulación del problema:

bS = 200
S

D1 bD = −100
1

bO = 100
1 O1

D2 bD = −130
2

bO = 130
2 O2

D3 bD = −150
3

bO = 150
3 O3

D4 bD = −140
4

bC = 520
C

0 b0 = −580
127

donde la matriz de costos es:


D1 D2 D3 D4 0
 
S 0 0 0 0 0
1 
 ∞ 6 4 4 0 

2 
 ∞ ∞ 6 4 0 

3  ∞ ∞ ∞ 6 0 
C 12 12 12 12 0
P
Notar que la demanda del nodo de balanceo (nodo 0) es tal que i bi = 0.
(ii) Utilizando la Regla Nor-oeste, se obtiene la siguiente solución factible inicial:

100 100
30 70
80 50
90 60
520

•Primera iteración
Cálculo de π.
u
0 0 −10
6 4 −4
6 4 −2
6 0 0
0 0
v 10 10 8 6 0

Costos reducidos.

· · 2 4 10
∞ · · 2 4
∞ ∞ · · 2
∞ ∞ ∞ · ·
2 2 4 6 ·

Fin, la solución encontrada es óptima.


(ii) Supongamos que el costo del servicio de lavado rápido aumenta en ǫ, ǫ > 0.
Nuestra nueva matriz de costos es:
D1 D2 D3 D4 0
 
S 0 0 0 0 0
1 
 ∞ 6 4+ǫ 4+ǫ 0 

2 
 ∞ ∞ 6 4+ǫ 0 

3  ∞ ∞ ∞ 6 0 
C 12 12 12 12 0
128 CAPÍTULO 6. PROBLEMA DE TRANSPORTE

El nuevo π.
u
0 0 −10 + 2ǫ
6 4+ǫ −4 + 2ǫ
6 4+ǫ −2 + ǫ
6 0 0
0 0
v 10 − 2ǫ 10 − 2ǫ 8−ǫ 6 0

y los nuevos costos reducidos.

· · 2−ǫ 4 − 2ǫ 10 − 2ǫ
∞ · · 2 − ǫ 4 − 2ǫ
∞ ∞ · · 2−ǫ
∞ ∞ ∞ · ·
2 + 2ǫ 2 + 2ǫ 4+ǫ 6 ·

Para que la solución óptima no cambie, los costos reducidos deben perma-
necer positivos (tomando en cuenta que la solución es no-degenerada). Como
ǫ > 0, esto es equivalente a:

2 − ǫ ≥ 0

4 − 2ǫ ≥ 0 ⇒ ǫ ≤ 2

10 − 2ǫ ≥ 0

Luego, el costo del lavado en servicio lento puede aumentar hasta 6.


129

Ejercicio 6.3
Considere una empresa que fabrica un sólo producto. Esta empresa posee m
fábricas para producir el producto y n centros de distribución, los cuales pue-
den recibir productos desde cualquiera de las m fábricas. Todos los productos
fabricados son destinados a algún centro de distribución. Los costos unitarios
de transporte entre los puertos i y j son denotados por cij (i = 1, . . . , m y
j = 1, . . . , n). Cada fábrica produce un total de ai productos (i = 1, . . . , m)
y cada centro de distribución entrega bj productos (j = 1, . . . , n). Suponga
además que existe un exceso de oferta y que, en estas circunstancias, algunos
de los centros de distribución (por simplicidad y sin pérdida de generalidad, los
r primeros centros de distribución, con r ≤ n), están dispuestos a recibir en
deması́a toda la cantidad sobrante que les pudiere ser asignada. Se desea cono-
cer la cantidad de producto que debe ser enviada desde cada fábrica hacia cada
centro de distribución, de modo de minimizar los costos totales de transporte.

(i) Establezca si este problema puede ser modelado como un “Modelo de


Transporte de Hitchcock”. En caso afirmativo, explicite gráficamente el
modelo resultante. En caso contrario, establezca un modelo lineal que
permita resolver el problema planteado.
(ii) En cualquier caso, balancee el modelo resultante y establezca bajo qué con-
diciones, éste admite solución óptima.
(iii) Resuelva el modelo para la siguiente instancia:
 
  3  
5 6 7 9
m = 2, n = 3, r = 2, [ai ] = , [bj ] = 2 [Cij ] = .
7 4 3 5
6
130 CAPÍTULO 6. PROBLEMA DE TRANSPORTE

Solución
(i) Si denotamos por ∆ al exceso de oferta:

m
X n
X
∆= ai − bj
i=1 j=1

Podemos formular el problema como:

(r − 1)∆ 0

a1 O1 D1 b1 + ∆

O2
...
a2

Dr br + ∆

Dr+1
...

br+1
...

am Om Dn bn

Notar que el nodo adicional sólo tiene arcos hacia los r primeros nodos.
131

La matriz de costos tiene la forma:


D1 ... Dr Dr +1 ... Dn
 
0 0 ... 0 ∞ ... ∞
O1 
 C1,1 ... C1,r C1,r+1 ... C1,n 

O2 
 C2,1 ... C2,r C2,r+1 ... C2,n 

...  ... ... ... ... ... ... 
Om Cm,1 ... Cm,r Cm,r+1 ... Cm,n

(ii) Como no existen arcos entre todos los nodos, no basta con decir que la red
está balanceada para demostrar existencia. Para esto, utilizaremos el Teorema
de Existencia de la Programación No-Lineal.
Cada flujo es no-negativo, luego:
n
X
0 ≤ xij ≤ xij = ai , i = 1, . . . , m; j = 1, . . . , n.
j=1

Ası́, el dominio del problema está acotado.


Por otro lado tenemos una solución factible (y además básica), que consiste
en generar una solución factible (básica) con la Regla Nor-Oeste para los todos
los nodos de origen, exceptuando el nodo artificial cero, y para todos los nodos de
destino, pero dejando solamente uno con la demanda adicional ∆ (Esta última
es una red clásica de Hitchcock, balanceada y con arcos entre todos los nodos,
por lo que la generación de la solución factible (básica) está garantizada). Luego
se asigna las (r − 1)∆ unidades de oferta restantes provenientes del nodo cero,
a los r − 1 nodos de demanda que no quedaron con demanda adicional en la red
balanceada anterior2.
Ası́, se cumplen las hipótesis del Teorema de Existencia de la Programación
No-Lineal, y el problema admite solución óptima siempre.
(iii) Para la instancia particular se tiene los siguientes datos sobre la red de
Hitchcock modificada:
     
1 4 0 0 ∞
m̄ = 3, n̄ = 3, [āi ] = 5 , [b̄j ] = 3 [C̄ij ] = 6 7 9 .
7 6 4 3 5

A continuación se resuelve el problema mediante la especialización del Sim-


plex para el modelo de Hitchcock.
Utilizando la Regla Nor-oeste, se obtiene la siguiente solución factible inicial:
1
3 2
1 6
2 Este proceso es sólo para demostrar factibilidad. En la práctica, para encontrar una so-

lución básica factible inicial, basta con aplicar la Regla Nor-Oeste directamente sobre la red
balanceada.
132 CAPÍTULO 6. PROBLEMA DE TRANSPORTE

•Primera iteración
Cálculo de π.

u
0 3
6 7 9
3 5 5
v −3 −2 0

Costos reducidos.

· −1 ∞
· · 0
2 · ·

Variable saliente.

1 − ∆ +∆
3+∆ 2−∆
1 6

Nueva Solución Básica

1
4 1
1 6

•Segunda iteración
Cálculo de π.

u
0 2
6 7 9
3 5 5
v −3 −2 0

Costos reducidos.

1 · ∞
· · 0
2 · ·

Fin, la solución encontrada es óptima.


133

Alternativamente, la red se puede plantear agregando r nodos de demanda:

D̃1 ∆

...
(r − 1)∆

D̃r ∆

a1 O1 D1 b1

O2
...

a2

Dr br

Dr+1
...

br+1
...

am Om Dn bn

cuyos costos desde los nodos de oferta originales replican los costos desde estos
134 CAPÍTULO 6. PROBLEMA DE TRANSPORTE

mismos arcos, hacia los r primeros nodos originales. Los costos desde el arco
cero siguen siendo nulos:

D̃1 ... D̃r D1 ... Dr Dr +1 ... Dn


 
0 0 ... 0 ∞ ... ∞ ∞ ... ∞
O1 
 C1,1 ... C1,r C1,1 ... C1,r C1,r+1 ... C1,n 

O2 
 C2,1 ... C2,r C2,1 ... C2,r C2,r+1 ... C2,n 

...  ... ... ... ... ... ... ... ... ... 
Om Cm,1 ... Cm,r Cm,1 ... Cm,r Cm,r+1 ... Cm,n

Esta formulación, si bien es más compleja, puede ser útil en caso de que los
r primeros nodos acepten productos en deması́a, pero a un costo distinto al que
recibirı́an los bj primeros productos. En este caso Ci,̃ 6= Ci,j , donde j = 1 . . . , r
(subı́ndice de los nodos de demanda originales Dj ) y ̃ = 1 . . . , r (subı́ndice de
los nodos de demanda adicionales D̃̃ ).
Capı́tulo 7

Especialización del Simplex


a Problemas de Redes

Ejercicio 7.1 Redes sin cotas


Considere el siguiente problema de flujo en redes de costo mı́nimo con restric-
ciones de cotas sobre los flujos balanceado.

b2 = 0

2
1

-1
1

3
5 b3 = 2 3

-2
1 4
b1 = 1 b4 = −3

(i) Aplicando el Método Simplex para Flujo en Redes, estudie si este pro-
blema admite o no solución óptima. Para ello, muestre primeramente que
el problema admite flujos factibles (al menos uno), resolviendo la Fase I
de Simplex para este problema.
(ii) Si fuera el caso, encuentre una solución óptima del problema original, apli-
cando el mismo algoritmo Simplex para Flujo en Redes de Costo Mı́nimo
de este problema, partiendo del árbol básico factible eventualmente en-
contrado en (i).

135
136 CAPÍTULO 7. SIMPLEX DE REDES

Solución
(i) Se tiene el siguiente problema de Fase I:

0 1
0

1 2

0
1 0
0
3
0 0
2

0
1 4 3
1

Primera iteración

π 0 = −1
3

0 0
−∆

1
0
1 2 π 2 = −2

2
0
1 0
0 2

1 − 3
0 π 3 = −2 0

0
1 +∆ 4 3
π 1 = −2 π4 = 0
1

r12 =−2 + 0 − (−2) = 0 ≥ 0


r14 = −2 + 0 − (0) =−2 6≥ 0

Luego x14 entra a la base. ∆ = 1 ⇒ x10 sale de la base


137

Segunda iteración
1

π 0 = −1

2
0 0

−∆
1
0 −

1 2 π 2 = −2

2
0 +∆

0 2 0
3
0 π 3 = −2 0

0
1 1 4 3
π1 = 0 π4 = 0
1

r12 =0 + 0 − (−2) = 2 ≥ 0
r14 =−2 + 0 − (0) =−2 6≥ 0
Luego x24 entra a la base. ∆ = 0 ⇒ x02 sale de la base

Tercera iteración
1

π 0 = −1
2

0 0
−∆

1 2 π2 = 0

2
−∆ 0
0
0 2
3 0

0 π = −2 0
+∆ 3

0
1 1 +∆ 4 3
π1 = 0 π4 = 0
1

r12 = 0 + 0 − (0) = 0 ≥ 0
r14 =−2 + 0 − (0) =−2 6≥ 0
138 CAPÍTULO 7. SIMPLEX DE REDES

Luego x31 entra a la base. ∆ = 2 ⇒ x30 (o x04 ) sale de la base. Como queda
sólo un arco artificial en la base, se termina la Fase I.
Ası́, se tiene la siguiente solución (básica degenerada) factible:

0
2
3

1 3 4 3
1

Faltarı́a demostrar que cT x ≥ cte. Note que no podemos demostrar direc-


tamente con las restricciones de no-negatividad de los flujos. Por otro lado no
podemos decir que los flujos están acotados, puesto que tenemos circuitos en la
red. Tenemos las siguientes restricciones de balance de los nodos:

x12 +x14 −x31 = 1 (7.1)


−x12 +x24 −x32 = 0 (7.2)
x31 +x32 −x43 = 2 (7.3)
−x14 −x24 +x43 =−3 (7.4)

Si restamos 2 veces la restricción 7.1 a “menos” la restricción 7.2 tenemos:

−x12 − 2x14 − x24 + 2x31 + x32 = −2

que implica:
−x12 − 2x14 − x24 + 2x31 + x32 ≥ −2 (7.5)

Por otro lado, de las restricciones de no-negatividad tenemos:

2x12 ≥ 0
3x31 ≥ 0 (7.6)
3x43 ≥ 0

y sumando 7.5 y 7.6 se llega a:

x12 − 2x14 − x24 + 5x31 + x32 + 3x43 ≥ −2 ⇒ cT x ≥ cte


139

(ii) Ahora resolvemos la Fase II:


Primera iteración
0

2 π2 =1

1 +∆ +∆
0
1 2
3 -1

5 π 3 = −3 3
−∆
2
-2
1 3 −∆ 4 3
π1 = 2 π4 = 0
1

r12 = 2 − 1 + 1 = 2 ≥ 0
r32 =−3 + 1 − 1 =−3 6≥ 0

Luego x32 entra a la base. ∆ = 2 ⇒ x31 sale de la base.


Segunda iteración
0

2 π2 =1

1 2
2
1 2
3 -1

5 π3 = 0 3

-2
1 1 4 3
π1 = 2 π4 = 0
1

r12 =2 − 1 + 1 =2 ≥ 0
r31 =0 + 5 − 2 =3 ≥ 0
r43 =0 + 3 − 0 =3 ≥ 0

Fin, la solución encontrada es óptima.


140 CAPÍTULO 7. SIMPLEX DE REDES

Esta es la solución final:


0

1 2
2
2
3

1 1 4 3
1
141

Ejercicio 7.2 (†) Redes sin cotas y Fase I económica


Resuelva, mediante la especialización del Método Simplex, el siguiente problema
desbalanceado de Flujo en redes de Costo Mı́nimo:

b1 = 3 b2 = −1
1
1 2

Cij
3 -2 4 i j

3
3 4
b3 = 2 b4 = −3

P4
Nota: Como i=1 bi 6= 0, reformule primeramente el problema como uno
equivalente balanceado, para luego aplicar el Método de las Dos Fases, con Fase I
Económica, al problema resultante.

Solución
Se tiene:
4
X
bi = 3 + (−1) + 2 + (−3) = 1 > 0 ⇒ Hay exceso de oferta
i=1

Luego, se tiene que balancear la red agregando un nodo de demanda ficticia


b5 = −1, como sigue:

1
3

1 1
2
0

1 5 3 4
-2

3 3 4

2 3

Nota: Se deja de tarea el Método de Flujo en Redes con Dos Fases Clásico,
donde en la Fase I se agrega un nodo 0 a la red balanceada.
142 CAPÍTULO 7. SIMPLEX DE REDES

Alternativamente aplicaremos aquı́ una Fase I Económica, utilizando el “nodo


de Balanceo” 5 como “nodo cero” de la Fase I, . Ası́, se tiene el siguiente
problema de Fase I:

1
3

1 0
2
0 1
1 5 0 0
0

0
1
3 0 4

2 3

Esto nos permite definir el siguiente árbol factible inicial

1
3

1 0
2
1
3
0 1
1 5 0 0
0
2
0 3
1
3 0 4

2 3

Este árbol está compuesto por cuatro arcos básicos:

(i) Los dos arcos de balanceo (1, 5) y (3, 5) con costos nulos

(ii) Los arcos artificiales (5, 2) y (5, 4), con costos artificiales iguales a 1.

De hecho, todos los arcos originales del problema están con costo nulo en la
Fase 1 Económica. No obstante, los arcos de balanceo seguirán teniendo costo
nulo en la Fase II, obviamente.
143

Fase I
Primera iteración

1
3
π1 = 0
+∆ π2 =1
1 0
2
−∆ 1 −∆
3
0 1
1 5 0 0
0
π5 = 0 2
0 3
1
π4 =1
3 0 4
π3 = 0
2 3

r12 =0 + 0 − 1 = − 1 6≥ 0

Luego x12 entra a la base. ∆ = 1 ⇒ x52 sale de la base


Segunda iteración

1
3
π1 = 0
1 +∆ π2 = 0
1 0
2

2 −
0

1 5 0 0 +∆
0
π5 = 0 2
3 −∆
0
1
π4 =1
3 0 4
π3 = 0
2 3

r24 =0 + 0 − 1 = − 1 6≥ 0

Luego x24 entra a la base. ∆ = 2 ⇒ x15 sale de la base


144 CAPÍTULO 7. SIMPLEX DE REDES

Tercera iteración

1
3
π1 = 1
3
1 2 π2 =1
0

1 5 0 0 2
0
π5 = 0 2
−∆ 1 −
0 ∆
1
+∆ π4 =1
3 0 4
π3 = 0
2 3

r34 =0 + 0 − 1 = − 1 6≥ 0

Luego x34 entra a la base. ∆ = 1 ⇒ x54 sale de la base. Como (5, 4) era el
último arco artificial en la base, el nuevo árbol básico resulta factible para el
problema original (balanceado), es decir, define un árbol básico factible inicial
para la Fase II, como sigue:

1
3

3
1 0
2
0

1 5 0 0 2
0
1
0
1
3 0 4

2 3

Nota: Vale la pena observar que, en el caso de la Fase I Económica, a diferencia


de la Fase I (a secas), la red extendida tiene igual número de nodos que la
red original (ya balanceada). Por esta razón, en el caso “Económica”, la Fase I
termina en cuanto todos los arcos artificiales han dejado la base.
145

Fase II
Primera iteración

1
3
π 1 = −2
3
1 2 π 2 = −1
1

1 5 3 +∆ 4 2 +∆
-2
π5 = 0 1
0
1 −∆
3 4 π4 = 3
3
π3 = 0
2 3

r13 = −1 + 3 − 0 = 1 ≥ 0
r32 =0 + (−2) − (−1) =−1 6≥ 0

Luego x32 entra a la base. ∆ = 1 ⇒ x34 sale de la base


Segunda iteración

1
3
π 1 = −3
3 −∆
1 2 π 2 = −2
1
+∆
0
+∆
1 5 3 1 4 3
-2
π5 = 0 1
−∆
0

3 4 π4 = 2
3
π3 = 0
2 3

r15 =−3 + 0 − 0 = − 3 6≥ 0

Luego x15 entra a la base. ∆ = 1 ⇒ x35 sale de la base


146 CAPÍTULO 7. SIMPLEX DE REDES

Tercera iteración
1
3
π 1 = −3
2
1 2 π 2 = −2
1
1
0

1 5 3 2 4 3
-2
π5 = 0
0

3 4 π4 = 2
3
π3 = 0
2 3

r13 =0 + 3 − 3 =0 ≥ 0
r34 =3 + 3 − 5 =1 ≥ 0
r13 =3 + 0 − 0 =3 ≥ 0

Luego el árbol básico encontrado es óptimo.


147

Ejercicio 7.3 (†) Redes con cotas


Considere el siguiente problema de flujo en redes de costo mı́nimo con restric-
ciones de cotas sobre los flujos balanceado.

b2 = 0

2
(0,2,1)

(0
)
,1

,2
,5

,- 1
(0

3 )
(0
5) ,5,
,5, b3 = 2 3)
(0
(1,3,-2)
1 4
b1 = 1 b4 = −3

(i) (3 Puntos) Aplicando el Método Simplex para Flujo en Redes, estudie si


este problema admite o no solución óptima. Para ello, muestre primera-
mente que el problema admite flujos factibles (al menos uno), resolviendo
para ello un problema de Fase I, donde el árbol básico factible inicial
considere todos los flujos sobre los arcos originales de la red, en su cota
superior.

(ii) (3 Puntos) Si fuera el caso, encuentre una solución óptima del problema
original, aplicando el mismo algoritmo Simplex para Flujo en Redes de
Costo Mı́nimo de este problema, partiendo del árbol básico factible even-
tualmente encontrado en (i).
148 CAPÍTULO 7. SIMPLEX DE REDES

Solución
(i) Se tiene el siguiente problema de Fase I:

(0
, -,
1)
0 0
(0,-,1
)
(0 2
,-,
1)

(0,2,0)

(0,2
(0,-,1)

,0)
)
5,0
3
(0,
0 ( 0,
5,0
2 )

1 (1,3,0)
4 3
1

Primera iteración

π 0 = −1
3

0 0

5 −

2 π 2 = −2

0 u
2 −∆ 2
u
2

2
5 −
u

u
3 u
5 5
π 3 = −2
u
3
1 4 3
π1 = 0 π4 = 0
1

u
r12 =0 + 0 + 2 =2 6≤ 0

Luego x12 entra a la base bajando. ∆ = 2 ⇒ x01 sale de la base en cota l.


149

Segunda iteración

π 0 = −1

3
0 0

−∆
3
2 π 2 = −2

0 u
2
−∆

u
2
2
3
3

u u
5 π 3 = −2 5
−∆
u
3
1 4 3
π 1 = −2 π4 = 0
1

u
r14 =−2 + 0 + 0 =−2 ≤ 0
u
r24 =−2 + 0 + 0 =−2 ≤ 0
u
r31 =−2 + 0 + 2 = 0 ≤ 0
u
r32 =−2 + 0 + 2 = 0 ≤ 0
u
r43 = 0 + 0 + 2 = 2 6≤ 0

Luego x43 entra a la base bajando. ∆ = 0 ⇒ x03 sale de la base en cota l.

Tercera iteración

π 0 = −1
3

0 0
−∆

3 −

2 π 2 = −2

u
2
u
2
−∆

2
3
3

u −∆
5 π3 = 0 5
−∆
u
3
1 4 3
π 1 = −2 π4 = 0
1
150 CAPÍTULO 7. SIMPLEX DE REDES

u
r14 =−2 + 0 + 0 =−2 ≤ 0
u
r24 =−2 + 0 + 0 =−2 ≤ 0
u
r31 = 0 + 0 + 2 = 2 6≤ 0
Luego x31 entra a la base bajando. ∆ = 3 ⇒ x20 (o x04 ) sale de la base. Como
queda sólo un arco artificial en la base, se termina la Fase I.
Ası́, se tiene la siguiente solución (básica degenerada) factible:
0

2
u
2

u
2
2
3
0

2 2

u
3
1 4 3
1

Faltarı́a demostrar que cT x ≥ cte (para utilizar el Teorema General de Existen-


cia). Sin embargo, como todos los flujos por los arcos estan acotados, es más
fácil utilizar el hecho de que el posliedro de soluciones factibles es acotado y que,
por el Teorema de Bolzano-Weierstrass, el problema admite solución óptima.
(ii) Ahora resolvemos la Fase II:

Primera iteración
0

2 π2 = 9

u
2
u
2

2
3
0

−∆
2 π3 = 3 2
−∆
u
3 −∆
1 4 3
π1 = 8 π4 = 0
1

u
r14 =8 − 2 + 0 =6 6≤ 0
151

Luego x14 entra a la base bajando. ∆ = 0 ⇒ x14 cambia de estado a cota l.

Segunda iteración
0

2 π2 = 9

u
2

u
2
−∆ 2

−∆
3
0

−∆
0 π3 = 3 0
−∆
l
1
1 4 3
π1 = 8 π4 = 0
1

l
r14 =8 − 2 + 0 =6 ≥ 0
u
r24 =9 − 1 + 0 =8 6≤ 0

Luego x24 entra a la base bajando. ∆ = 0 ⇒ x12 sale de la base en cota l.

Tercera iteración
0

2 π2 =1

u
2 −∆
2

2
−∆
l

3
0

0 π3 = 3 0
−∆
l
1
1 4 3
π1 = 8 π4 = 0
1

l
r12 =8 + 1 − 1 =8 ≥ 0
l
r14 =8 − 2 + 0 =6 ≥ 0
u
r32 =3 + 1 − 1 =3 6≤ 0
152 CAPÍTULO 7. SIMPLEX DE REDES

Luego x32 entra a la base bajando. ∆ = 0 ⇒ x43 sale de la base en cota l.

Cuarta iteración
0

2 π2 =1

2
2

l
3

0
l
0 π3 = 0 0

l
1
1 4 3
π1 = 5 π4 = 0
1

l
r12 =5 + 1 − 1 =5 ≥ 0
l
r14 =5 − 2 + 0 =3 ≥ 0
l
r43 =0 + 3 − 0 =3 ≥ 0

Fin, la solución encontrada es óptima.


Esta es la solución final:
0

2
2

2
3

1
1 4 3
1
Capı́tulo 8

Flujo Máximo en Redes y


Método de Ford-Fulkerson

Ejercicio 8.1 (†)


Para la siguiente red de vuelos inter-ciudades, con restricciones de capacidad:

2 2 7
T
5
5 4
O B D

3 7
4 1 1

C 4 E

se pide determinar el flujo máximo de pasajeros que puede ser transportado


desde el nodo O, hasta el nodo T , a través de esta red. Sobre cada arco de la
red se indica la capacidad del vuelo que une las dos ciudades o nodos corres-
pondientes:

(i) (1 Pto.) Formule el problema de flujo máximo definido por esta red, bajo
el formato clásico de programación lineal para problemas de flujo en redes
de costo mı́nimo. Explicite la función de costo y las distintas restricciones
sobre los flujos.
(ii) (1 Pto.) Teniendo en cuenta (i), muestre, antes de resolver, que el problema
de flujo máximo admite al menos una solución óptima.

153
154 CAPÍTULO 8. FLUJO MAXIMAL EN REDES

(iii) (4 Ptos.) Aplique el Algoritmo de Ford-Fulkerson a la determinación del


flujo máximo, con exploración completa de los distintos nodos, siguiendo
la regla FIFO. Explicitar el cuello de botella.

Nota: Alternativamente, en (iii) puede aplicar el Simplex Revisado con In-


versa de Base Explı́cita para Flujo en Redes de Costo Mı́nimo, sobre la red
asociada al problema definido en (i).

(i) El problema de Flujo Máximo se puede formular equivalentemente como


un problema de redes mediante un arco de retorno. Gráficamente:

A
(0,7
)
,0

,0)
(0
,2

,2
(0

,0
)

(0,5,0) (0,4,0) (0,5,0) T


O B D
(0
(0 ,3 ,0) ,0)
0)

, 4, ,0 ) (0,7
,1 ,

(0,1

0)
(0

(0,4,0)
C E

(0,∞,-1)

Explı́citamente, si xij representa el flujo desde el nodo i hacia el nodo j, se


tiene la siguiente función objetivo a minimizar:

−xT O ,

las siguientes restricciones de balance de flujos:

xT O = xOA + xOB + xOC


xOA = xAB + xAD
xOB + xAB + xCB = xBD + xBE
xOC = xCB + xCE
xAD + xBD + xED = xDT
xBE + xCE = xED + xET
xDT + xET = xT O ,
155

las restricciones de cotas sobre los arcos capacitados:

0 ≤ xOA ≤ 2
0 ≤ xOB ≤ 5
0 ≤ xOC ≤ 4
0 ≤ xAD ≤ 7
0 ≤ xBD ≤ 4
0 ≤ xCB ≤ 1
0 ≤ xCE ≤ 4
0 ≤ xBE ≤ 3
0 ≤ xED ≤ 1
0 ≤ xDT ≤ 5
0 ≤ xET ≤ 7

y la restricción de no-negatividad del flujo sobre el arco de retorno:

xT O ≥ 0

(ii) Este problema admite una solución factible, luego P 6= φ. Por otro lado:

xDT + xET = xT O 

xDT ≤ 5 ⇒ xT O ≤ 12.

xET ≤ 7

Ası́, todos los flujos están acotados, luego P es acotado y por el Teorema de
Bolzano-Weierstrass el problema admite solución óptima.
(iii) A continuación se muestra las iteraciones del Método de Ford-Fulkerson
1◦ iteración
(O,2)
A
+∆ 0
+∆ M E
0

7
0

2 2 (D,2) O O
(O,5) (A,2) 0 A A
0 0 +∆ T
0 B B
(-,∞) O 5 B 4 D 5
C C
0 0 D
0 0
7
0

4 1 3 E

C
0
E
∆=2 atajo → T

4
(O,4) (B,3)
156 CAPÍTULO 8. FLUJO MAXIMAL EN REDES

2◦ iteración
(D,2)*
A
2 M E

2
7

0
2 2 (D,3) O O
(O,5) (B,4) 2 B B
2 +∆ T
0 +∆ 0 +∆ C C
(-,∞) O 5 B 4 D 5
D
0 0 E
0 0
7

0
4 1 3 A*
∆=3 atajo → T
0
C 4 E
(O,4) (B,3)

3◦ iteración
(D,1)*
A
2 M E
2

7
0

2 2 (E,2) O O
(O,2) (B,1) 5 B B
3 +∆ 3 5 T C C
(-,∞) O 5 B 4 D 5
D D
+∆
0 0 E
0 0
3 +∆ 7
0

4 1 A*
atajo → T
0 ∆=2
C 4 E
(O,4) (B,2)

4◦ iteración
A
2 M E
2

7
0

2 2 (E,4) O O
(C,1) (B,1) 7 C C
5 3 5 T B B
(-,∞) O 5 B 4 D 5
E
+∆
2 2 D
0 0
7 atajo → T
0

4 +∆ 1 3

0 +∆ ∆=4
C 4 E
(O,4) (C,4)
157

5◦ iteración
A
2 M E
2

0
2 2 O O
11
5 3 5 T
(-,∞) O 5 B 4 D 5

2 6
4 0
7
0

4 1 3

4
Corte mínimo de C 4 E
flujo máximo

El flujo máximo por la red es 11.


158 CAPÍTULO 8. FLUJO MAXIMAL EN REDES
Capı́tulo 9

Método de Descomposición
de Dantzig-Wolfe

Ejercicio 9.1 (†)


Considere el siguiente problema de minimización del costo total de producción
de una fábrica, con dos talleres que comparten un único recurso escaso:

P) Min −x1 −3x2 +x3 −x4


x1 +x2 +x3 +x4 ≤8
x1 +x2 ≤6
x3 +2x4 ≤10
−x3 +x4 ≤4
x1 , x2 , x3 , x4 ≥0

(i) (1 ptos.) Muestre que este problema admite al menos una polı́tica óptima
de producción.

(ii) (4 ptos.) Resuelva este modelo mediante el Método de Descomposición de


Dantzig-Wolfe, con Inversa de Base Explı́cita, de modo de obtener la des-
centralización, por talleres, de la polı́tica óptima de producción, a través
de la valorización óptima de los recursos escasos. Para ello, resuelva los
problemas satélites con ayuda gráfica, u otra equivalente, para la determi-
nación del menor costo reducido en cada una de estas iteraciones maestras
generadas. Explicite las distintas iteraciones.

(iii) (1 ptos.) ¿Qué ventaja fundamental tiene la aplicación de este método de


descomposición, respecto de la aplicación directa del Método Simplex al
modelo P)?

159
160 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

Solución
(i) Claramente (x1 , x2 , x3 , x4 ) = (0, 0, 0, 0) ∈ P es solución de P). Luego, el
dominio es no vacı́o (P) 6= φ)
Por otro lado, de las restricciones:

x1 + x2 + x3 + x4 ≤8 
0 ≤ x1 ≤8


x1 ≥0

 

0 ≤ x2 ≤8
 
x2 ≥0 ⇒
0 ≤ x3 ≤8
x3 ≥0

 

0 ≤ x4 ≤8

 
x4 ≥0

Luego el dominio es acotado.


Además, las restricciones están definidas por restricciones lineales de de-
sigualdad. Luego el dominio es cerrado. Finalmente, la función objetivo es lineal,
luego continua. Ası́, por el Teorema de Bolzano Weierstrass, P) admite solución
óptima.
(ii) Formato estándar:

P) Min −x1 −3x2 +x3 −x4


x1 +x2 +x3 +x4 +s=8
x1 +x2 ≤6
x3 +2x4 ≤10
−x3 +x4 ≤4
x1 , x2 , x3 , x4 ≥0

donde la primera restricción es de coordinación (m0 = 1) y tenemos 2 satélites


(N = 2), los cuales están formados por las restricciones

x1 +x2 ≤6
x1 , x2 ≥0

para el primer satélite y

x3 +2x4 ≤10
−x3 +x4 ≤4
x3 , x4 ≥0

para el segundo.
Los datos para comenzar el Método de Dantzig-Wolfe con ésta configuración
son
A01 = 1 1 y cT1 = −1 −3
   
161

para el primer satélite y

1 y cT2 = 1 −1
   
A02 = 1

para el segundo. El nuevo lado derecho queda:


 
8
b̄ = 1
1

A continuación, se muestra los gráficos de ambos satélites.


162 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

•Gráfico Satélite 1
x2
0

6
6

1
0 6
 
0
0 0 x1
0 1 2 3 4 5 6

•Gráfico Satélite 2
x4 
2

3
14
5 3

4
0

3 4

1 10

0

0 0
0 x3
0 1 2 3 4 5 6 7 8 9 10

Como el punto ~0 pertenece a P), no se necesita dos fases y los datos para
comenzar el método son:
   
1 0 1 0
P1 = , P2 = , B = {s, λ11 , λ21 } y B −1 = I.
0 0

•Primera iteración maestra

Primer paso: Cálculo del lado derecho del Tableaux.


   
8 8
y0 = B −1 b̄ = I 1 = 1
1 1

Segundo paso.
Costos de las variables básicas en el maestro, PBT

Ps = cs = 0 

  
0

T 1
  
P11 = c1 P1 = −1 −3 =0

⇒ PBT = 0 0
 
0 0
  
 0 

P21 = cT2 P21 = 1 −1

=0 

0

163

Cálculo del vector de multiplicadores π.


π T = PBT B −1 = 0 0
   
0 I= 0 0 0
de donde:
πT = π0T αT
   
= 0 0 0

Problemas Satélite
Primer Satélite

S1 ) Min (cT1 − π0T A01 )~x1 − α1



x ∈ S1
 
     x1
S1 ) Min ( −1 −3 − 0 1 1 ) −0
x2 ⇒
x ∈ S1
P) Min −x1 −3x2
x1 +x2 ≤6
x1 , x2 ≥0

Gráficamente, tenemos:
 
0
x̂1 = , v̂(S1 ) = −18 6≥ 0
6
Segundo Satélite

S2 ) Min (cT2 − π0T A02 )~x2 − α2



x ∈ S2
 
 x
−1 − 0 1 1 ) 3 − 0
   
S2 ) Min ( 1
x4 ⇒
x ∈ S2
P) Min x3 −x4
x3 +2x4 ≤10
−x3 +x4 ≤4
x3 , x4 ≥0

Gráficamente, tenemos1 :
 
0
x̂2 = , v̂(S2 ) = −4 6≥ 0
4
„ 2 «
1 Alternativamente, podrı́amos haber tomado la solución x̂2 = 14 . Los resultados finales
3
3
son los mismos, pero este camino tomarı́a una iteración más.
164 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

Entonces:
 
0
P12 = y λ12 entra a la base.
6

Tercer paso: Cálculo de la columna entrante en el Tableaux

   
   0 6

A01 P12

 1 1 6 
y(1,2) = B −1 M (1,2) = B −1  1
=I = 1 
1
 
0 0
0

Variable saliente:  
8 1
Min , ,· = 1
6 1

Ası́, p = 2 y λ11 sale de la base.

Nueva Base:
Matriz de pivote.

[η2 ]
  6 
  
1 −1 0 1 −6 0
P2 =  0  11  0  = 0 1 0
0
0 −1 1 0 0 1

Ası́:    
1 −6 0 1 −6 0
−1
B+ = P2 B −1 = 0 1 0 I = 0 1 0
0 0 1 0 0 1
y los datos para la nueva iteración son:
 
1 −6 0
B = {s, λ12 , λ21 } y B −1 = 0 1 0
0 0 1

•Segunda iteración maestra

Primer paso: Cálculo del lado derecho del Tableaux.


    
1 −6 0 8 2
y0 = B −1 b̄ = 0 1 0 1 = 1
0 0 1 1 1
165

Segundo paso.
Costos de las variables básicas en el maestro, PBT
 
T 2
 0
= −18 ⇒ PBT = 0 −18 0
  
P12 = c1 P1 = −1 −3
6
Cálculo del vector de multiplicadores π.
 
 1 −6 0
π T = PBT B −1
  
= 0 −18 0 0 1 0 = 0 −18 0
0 0 1
de donde:
πT = π0T αT
   
= 0 −18 0

Problemas Satélite
Primer Satélite

S1 ) Min (cT1 − π0T A01 )~x1 − α1



x ∈ S1
 
 x
−3 − 0 1 1 ) 1 − (−18)
   
S1 ) Min ( −1
x2 ⇒
x ∈ S1
P) Min −x1 −3x2 +18
x1 +x2 ≤6
x1 , x2 ≥0

Gráficamente, tenemos:
 
0
x̂1 = , v̂(S1 ) = 0 ≥ 0
6
Segundo Satélite

S2 ) Min (cT2 − π0T A02 )~x2 − α2



x ∈ S2
 
     x3
S2 ) Min ( 1 −1 − 0 1 1 ) −0
x4 ⇒
x ∈ S2
P) Min x3 −x4
x3 +2x4 ≤10
−x3 +x4 ≤4
x3 , x4 ≥0
166 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

Gráficamente, tenemos2 :
 
2 0
x̂ = , v̂(S2 ) = −4 6≥ 0
4
Entonces:
 
0
P22 = y λ22 entra a la base.
4

Tercer paso: Cálculo de la columna entrante en el Tableaux

 
A02 P22
y(2,2) = B −1 M (2,2) = B −1  0  =
1
   
    0 
1 −6 0  1 1 4
0 1 0  4 =

0 
0
 
0 0 1 1
1

Variable saliente:  
2 1 1
Min , ·, =
4 1 2
Ası́, p = 1 y s sale de la base.

Nueva Base:
Matriz de pivote.
[η1 ]
 1    
4 0 0 1/4 0 0
0 
P1 =   −4 1 0 =  0 1 0
1
−4 0 1 −1/4 0 1
Ası́:
    
1/4 0 0 1 −6 0 1/4 −3/2 0
−1
B+ = P1 B −1 = 0 1 0 0 1 0 =  0 1 0
−1/4 0 1 0 0 1 −1/4 3/2 1
y los datos para la nueva iteración son:
 
1/4 −3/2 0
B = {λ22 , λ12 , λ21 } y B −1 = 0 1 0
−1/4 3/2 1
2 Nóteseque este problema satélite no „
cambia con respecto a la iteración anterior. Ası́,
2 «
2
todavı́a podrı́amos tomar la solución x̂ = 14 .
3
3
167

•Tercera iteración maestra

Primer paso: Cálculo del lado derecho del Tableaux.

    
1/4 −3/2 0 8 1/2
y0 = B −1 b̄ =  0 1 0 1 =  1 
−1/4 3/2 1 1 1/2

Segundo paso.
Costos de las variables básicas en el maestro, PBT
 
 0
cT2 P22 = −4 ⇒ PBT = −4 −18 0
  
P22 = = 1 −1
4

Cálculo del vector de multiplicadores π.


 
 1/4 −3/2 0
π T = PBT B −1
  
= −4 −18 0  0 1 0 = −1 −12 0
−1/4 3/2 1

de donde:
πT = π0T αT
   
= −1 −12 0

Problemas Satélite
Primer Satélite

S1 ) Min (cT1 − π0T A01 )~x1 − α1



x ∈ S1
 
 x
1 ) 1 − (−12)
   
S1 ) Min ( −1 −3 − −1 1
x2 ⇒
x ∈ S1
P) Min −2x2 +12
x1 +x2 ≤6
x1 , x2 ≥0

Gráficamente, tenemos:
 
0
x̂1 = , v̂(S1 ) = 0 ≥ 0
6
168 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

Segundo Satélite

S2 ) Min (cT2 − π0T A02 )~x2 − α2



x ∈ S2
 
 x
1 ) 3 −0
   
S2 ) Min ( 1 −1 − −1 1
x4 ⇒
x ∈ S2
P) Min 2x3
x3 +2x4 ≤10
−x3 +x4 ≤4
x3 , x4 ≥0

Gráficamente, tenemos3 :
 
2 0
x̂ = , v̂(S2 ) = 0 ≥ 0
4

Faltarı́a los costos reducidos de la holgura (recordar que ésta está fuera de la
base):
rsT = −(−1)(1) = 1 ≥ 0

Fin, la solución encontrada es óptima. Concretamente:


     
x̂1 0 0
= λ12 P12 = 1 =
x̂2 6 6
       
x̂3 1 2 1 0 1 0 0
= λ21 P2 + λ22 P2 = + =
x̂4 2 0 2 4 2

(iii) El Método de Dantzig-Wolfe permite aprovechar los problemas estructu-


rados, descomponiendo el problema en varios problemas de menor dimensión y
fácil resolución, llevando una Matriz de Base del problema maestro de menor
dimensión también. En el caso particular de este problema, el método lleva una
Matriz de Base de dimensión 3 × 3 en vez de 4 × 4 y los problemas satélites se
pueden resolver fácilmente de forma gráfica. En particular, el primer satélite es
un Problema de la Mochila (Knapsack Problem).

„ «
3 De 0
hecho, cualquier solución de la forma x = con 0 ≤ y ≤ 4, es óptima para S2 ).
y
169

Ejercicio 9.2 (†)


Considere el problema lineal:

P) Min −x1
x1 +2x2 ≤4
x1 +x2 ≥1
x1 , x2 ≥0

(i) (1 punto) Muestre que P) admite solución óptima.

(ii) (1 punto) Reformule P) bajo el formato equivalente de Dantzig-Wolfe,


de tal modo de explotar la estructura de mochila subyacente, a nivel del
problema satélite. En este caso, observe que el poliedro satélite correspon-
diente, es claramente acotado.

(iii) (4 puntos) Aplique finalmente el Método de Dantzig-Wolfe, con Dos Fases,


a la resolución del modelo equivalente resultante en (ii)

Solución
(i) Tenemos que (x1 , x2 ) = (1, 1) ∈ P es solución de P). Luego, el dominio es
no vacı́o (P) 6= φ)
Por otro lado, de las restricciones:

x1 + 2x2 ≤ 4  
0 ≤ x1 ≤ 4
x1 ≥ 0 ⇒
0 ≤ x2 ≤ 2
x2 ≥ 0

Luego el dominio es acotado.


Además, las restricciones están definidas por restricciones lineales de de-
sigualdad. Luego el dominio es cerrado. Finalmente, la función objetivo es lineal,
luego continua. Ası́, por el Teorema de Bolzano Weierstrass, P) admite solución
óptima.
(ii) Formato de Dantzig-Wolfe:

P) Min −x1
x1 +x2 −x3 =1
x1 +2x2 ≤4
x1 , x2 , x3 ≥0

donde la primera restricción es de coordinación (m0 = 1) y tenemos un satélite


170 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

(N = 1), el cual está formado por las restricciones:

x1 +2x2 ≤4
x1 , x2 ≥0

A continuación, se muestra el gráfico del satélite, el cual resulta ser un Pro-


blema de la Mochila.

•Gráfico Satélite
x2
0

2
2

1
0 4
 
0 0 x1
0
0 1 2 3 4

(iii) Como el punto ~0 no pertenece a P), se necesita hacer dos fases. La res-
tricción violada es la de coordinación, sobre la cual agregamos una variable
artificial. El problema en formato Dantzig-Wolfe para la Fase I es:
Fase I
P) Min x4
x1 +x2 −x3 +x4 = 1
x1 +2x2 ≤4
x1 , x2 , x3 ≥0

Los datos para comenzar la Fase I del Método de Dantzig-Wolfe con ésta con-
figuración (satélite como Problema de la Mochila) son:
 
  T   1
A01 = 1 1 , c1 = 0 0 y b̄ =
1

y la solución factible inicial para el problema de la Fase I es:


 
0
P11 = , B = {x4 , λ11 } y B −1 = I
0

•Primera iteración maestra

Primer paso: Cálculo del lado derecho del Tableaux.


   
1 1
y0 = B −1 b̄ = I =
1 1
171

Segundo paso.
Costos de las variables básicas en el maestro, PBT

Px4 = 1 

⇒ PBT = 1
 
0
 
T 1
  0
P11 = c1 P1 = 0 0 = 0
0 

Cálculo del vector de multiplicadores π.

π T = PBT B −1 = 1
   
0 I= 1 0

de donde:
πT = π0T αT
   
= 1 0

Problema Satélite

S1 ) Min (cT1 − π0T A01 )~x1 − α1



x ∈ S1
 
 x
0 − 1 1 1 ) 1 −0
   
S1 ) Min ( 0
x2 ⇒
x ∈ S1
P) Min −x1 −x2
x1 +2x2 ≤4
x1 , x2 ≥0

Gráficamente, tenemos:
 
4
x̂1 = , v̂(S1 ) = −4 6≥ 0
0

Entonces:  
4
P12 = y λ12 entra a la base.
0

Tercer paso: Cálculo de la columna entrante en el Tableaux

 
 4 !
4
 
A01 P12

−1 (1,2) −1 1 1
y(1,2) = B M =B =I 0 =
1 1
1
Variable saliente:  
1 1 1
Min , =
4 1 4
172 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

Ası́, p = 1, x4 sale de la base y termina la Fase I.

Nueva Base:
Matriz de pivote.
[η1 ]
 1    
4 0 1/4 0
P1 = 1 =
−4 1 −1/4 1
Ası́:    
−1 −1 1/4 0 1/4 0
B+ = P1 B = I=
−1/4 1 −1/4 1
y los datos para la Fase II son:
 
1/4 0
B = {λ12 , λ11 } y B −1 =
−1/4 1
Fase II
Tenı́amos el problema en formato de Dantzig-Wolfe:
P) Min −x1
x1 +x2 −x3 =1
x1 +2x2 ≤4
x1 , x2 , x3 ≥0
Lo único que cambia en la Fase II es el vector de costos:
cT1 = −1 0
 

•Primera iteración maestra

Primer paso: Cálculo del lado derecho del Tableaux.


    
1/4 0 1 1/4
y0 = B −1 b̄ = =
−1/4 1 1 3/4

Segundo paso.
Costos de las variables básicas en el maestro, PBT 4 :
 
T 2
  4 
P12 = c1 P1 = −1 0 = −4
0


⇒ PBT = −4 0
 
 
 0
P11 = cT1 P11 = −1 0
 
=0  
0
4 Notar que, P
11 no cambia de valor con respecto a la última iteración de la Fase I simple-
mente porque P11 = ~0. Esto es mera coincidencia y en general, al pasar a la Fase II, se debe
calcular nuevamente el valor de pTB.
173

Cálculo del vector de multiplicadores π.


 
T 1/4 0
PBT B −1
   
π = = −4 0 = −1 0
−1/4 1

de donde:
πT = π0T αT
   
= −1 0

Problema Satélite

S1 ) Min (cT1 − π0T A01 )~x1 − α1



x ∈ S1
 
     x1
S1 ) Min ( −1 0 − −1 1 1 ) −0
x2 ⇒
x ∈ S1
P) Min x2
x1 +2x2 ≤4
x1 , x2 ≥0

Gráficamente, tenemos5 :
 
4
x̂1 = , v̂(S1 ) = 0 ≥ 0
0

Faltarı́a el costo reducido de la variable de exceso6 (recordar que ésta última


está fuera de la base):

rxT3 = −(−1) · (−1) = −1 6≥ 0

Entonces x3 entra a la base.

Tercer paso: Cálculo de la columna entrante en el Tableaux

     −1 !
yx3 = B −1
M x3
=B −1 −1 = 1/4 0 −1 = 4
1
0 −1/4 1 0 4

Variable saliente:  
3/4
Min ·, =3
1/4
„ «
5 De y
hecho, cualquier solución de la forma x = con 0 ≤ y ≤ 4, es óptima para S1 ).
0
6 Nótese que, como x es variable de exceso, su costo reducido es igual al valor de π .
3 0
174 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

Ası́, p = 2 y λ11 sale de la base.

Nueva Base:
Matriz de pivote.

[η2 ]
" #!
−1/4  
1 −1/4 1 1
P2 = 1 =
0 1/4
0 4

Ası́:
    
−1 −1 1 1 1/4 0 0 1
B+ = P2 B = =
0 4 −1/4 1 −1 4

y los datos para la nueva iteración son:


 
−1 0 1
B = {λ12 , x3 } y B =
−1 4

•Segunda iteración maestra

Primer paso: Cálculo del lado derecho del Tableaux.

    
−1 0 1 1 1
y0 = B b̄ = =
−1 4 1 3

Segundo paso.
Costos de las variables básicas en el maestro, PBT :

Ps = 0 ⇒ PBT = −4 0
 

Cálculo del vector de multiplicadores π.


 
T 0 1
PBT B −1
   
π = = −4 0 = 0 −4
−1 4

de donde:
πT = π0T αT
   
= 0 −4
175

Problema Satélite

S1 ) Min (cT1 − π0T A01 )~x1 − α1



x ∈ S1
 
 x
1 ) 1 − (−4)
   
S1 ) Min ( −1 0 − 0 1
x2 ⇒
x ∈ S1
P) Min −x1 +4
x1 +2x2 ≤4
x1 , x2 ≥0

Gráficamente, tenemos:
 
1 4
x̂ = , v̂(S1 ) = 0 ≥ 0
0

Fin, la solución encontrada es óptima. Concretamente:


     
x̂1 4 4
= λ12 P12 = 1 =
x̂2 0 0

Nota: A diferencia de lo que sucede generalmente, la restricción de coordi-


nación no es activa en el óptimo. Si esto ocurriera en un problema con más de
un satélite, implicarı́a que la restricción se podrı́a haber eliminado y el problema
serı́a separable.
176 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

Ejercicio 9.3 (†)


Considere el problema lineal de minimización :

P) Min −x1 −2x2 +3x3 +x4


x1 +2x2 +2x3 +x4 ≥ 40
x1 +x2 ≤2
−x1 +2x2 ≤2
x3 +x4 ≥ 6
x1 , x2 , x3 , x4 ≥ 0

(i) (1 Pto.) Muestre, antes de resolver, que el problema admite solución


óptima.
(ii) (4 Ptos.) Calcule una solución óptima mediante el Método de Descompo-
sición de Dantzig y Wolfe, llevando la matriz Inversa de Base del Problema
Maestro, en forma explı́cita.
(iii) (1 Pto.) Explicite la solución óptima del problema original encontrada.

Solución
(i) Se tiene que (x1 , x2 , x3 , x4 ) = (0, 0, 0, 40) ∈ P . Luego:

P 6= φ (9.1)

De la segunda restricción y las de no-negatividad, podemos calcular cotas


superiores para las variables 1 y 2. Concretamente:

x1 + x2 ≤ 2    (
−x1 ≥ −2
x1 ≤ 2
x1 ≥ 0 ⇒ ⇒
x2 ≤ 2 −2x2 ≥ −4
x ≥0

2

Esto, junto con las restricciones de no-negatividad de las variables 3 y 4, nos


entrega lo deseado:

−x1 ≥ −2


−2x2 ≥ −4

⇒ −x1 − 2x2 + x3 + x4 ≥ −6
x3 ≥ 0  

x4 ≥ 0

Ası́:
cT x ≥ cte. (9.2)
177

Luego, (9.1) y (9.2) cumplen con las hipótesis del Teorema de Existencia de la
Programación Lineal y, por lo tanto, P) admite solución óptima.
(ii) Formato de Dantzig-Wolfe:

P) Min −x1 −2x2 +3x3 +x4


x1 +2x2 +2x3 +x4 −x5 = 40
x1 +x2 ≤2
−x1 +2x2 ≤2
x3 +x4 ≥6
x1 , x2 , x3 , x4 , x5 ≥ 0

donde la primera restricción es de coordinación (m0 = 1) y tenemos 2 satélites


(N = 2), los cuales están formados por las restricciones

x1 +x2 ≤ 2
−x1 +2x2 ≤ 2
x1 , x2 ≥ 0

para el primer satélite y

x3 +x4 ≥ 6
x3 , x4 ≥ 0

para el segundo. Este último satélite resulta ser no-acotado.


A continuación, se muestra los gráficos de ambos satélites.

•Gráfico Satélite 1
x2
2
2
3
4
3

1 0

1
0 2
 
0 0 0
x1
0 1 2
178 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

•Gráfico Satélite 2
x4

7
0

6
6

1
0 6
 
0
0 0 x3
0 1 2 3 4 5 6 7

Como el punto ~0 no pertenece a P), se necesita hacer dos fases. Se viola la


restricción de coordinación y el segundo satélite. Ası́, necesitaremos dos variables
artificiales.
Los datos para comenzar la Fase I del Método de Dantzig-Wolfe con ésta
configuración son:
A01 = 1 2 y cT1 = 0 0
   

para el primer satélite y

1 y cT2 = 0
   
A02 = 2 0

para el segundo. El nuevo lado derecho queda:


 
40
b̄ =  1 
1

y la solución factible inicial para el problema de la Fase I es:


 
0
P11 = , B = {η1 , λ11 , η2 } y B −1 = I
0

donde η1 y η2 son las variables artificiales de la restricción de coordinación y el


segundo satélite, respectivamente.

•Primera iteración maestra

Primer paso: Cálculo del lado derecho del Tableaux.

   
40 40
y0 = B −1 b̄ = I  1  =  1 
1 1
179

Segundo paso.
Costos de las variables básicas en el maestro, PBT

Pη1 = 1 

  
0

T 1
= 0 ⇒ PBT = 1 0
   
Pλ11 = c1 P1 = 0 0 1
0 


Pη2 = 1

Cálculo del vector de multiplicadores π.


π T = PBT B −1 = 1 0
   
1 I= 1 0 1
de donde:
πT = π0T αT
   
= 1 0 1

Problemas Satélite
Primer Satélite
S1 ) Min (cT1 − π0T A01 )~x1 − α1

x ∈ S1
 
     x1
S1 ) Min ( 0 0 − 1 1 2 ) −0
x2 ⇒
x ∈ S1
P) Min −x1 −2x2
x1 +x2 ≤2
−x1 +2x2 ≤2
x1 , x2 ≥0

Gráficamente, tenemos:
2
10
x̂1 = 3
4 , v̂(S1 ) = − 6≥ 0
3 3
Segundo Satélite

S2 ) Min (cT2 − π0T A02 )~x2 − α2



x ∈ S2
 
     x3
S2 ) Min ( 0 0 − 1 2 1 ) −1
x4 ⇒
x ∈ S2
P) Min −2x3 −x4 −1
x3 +x4 ≥6
x3 , x4 ≥0
180 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

Gráficamente, tenemos que el problema no tiene solución óptima. Para la


dirección asintótica7 :
 
0
dˆ2 = , v̂(S2 ) = −∞ 6≥ 0
1

Entonces:
 
0
C21 = y µ21 entra a la base.
1

Tercer paso: Cálculo de la columna entrante en el Tableaux

   
   0 
A02 C21

 2 1 1
yµ21 = B −1 M µ21 = B −1  =I 1 =

0 0 
0
 
0 0
0

Variable saliente:  
40
Min , ·, · = 40
1

Ası́, p = 1 y η1 sale de la base.

Nueva Base:
Matriz de pivote.

[η1 ]
 1    
1 0 0 1 0 0
0 
P1 =   −1 1 0  = 0 1 0
0
−1 0 1 0 0 1

Ası́:    
1 0 0 1 0 0
−1
B+ = P1 B −1 = 0 1 0 I = 0 1 0
0 0 1 0 0 1
y los datos para la nueva iteración son:
 
1 0 0
B = {µ21 , λ11 , η2 } y B −1 = 0 1 0
0 0 1
„ «
1
7 Alternativamente, podrı́amos haber tomado la otra dirección asintótica dˆ2 = . Los
0
resultados finales son los mismos.
181

•Segunda iteración maestra

Primer paso: Cálculo del lado derecho del Tableaux.

    
1 0 0 40 40
y0 = B −1 b̄ = 0 1 0  1  =  1 
0 0 1 1 1

Segundo paso.
Costos de las variables básicas en el maestro, PBT
 
 0
cT2 C21 = 0 ⇒ PBT = 0 0
  
Pµ21 = = 0 0 1
1

Cálculo del vector de multiplicadores π.


 
 1 0 0
π T = PBT B −1
  
= 0 0 1 0 1 0 = 0 0 1
0 0 1

de donde:
πT = π0T αT
   
= 0 0 1

Problemas Satélite
Primer Satélite

S1 ) Min (cT1 − π0T A01 )~x1 − α1



x ∈ S1
 
     x1
S1 ) Min ( 0 0 − 0 1 2 ) −0
x2 ⇒
x ∈ S1
P) Min 0
x1 +x2 ≤2
−x1 +2x2 ≤2
x1 , x2 ≥0

Claramente, tenemos:
v̂(S1 ) = 0 ≥ 0
182 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

Segundo Satélite

S2 ) Min (cT2 − π0T A02 )~x2 − α2



x ∈ S2
 
     x3
S2 ) Min ( 0 0 − 0 2 1 ) −1
x4 ⇒
x ∈ S2
P) Min −1
x3 +x4 ≥6
x3 , x4 ≥0

Claramente, tenemos:
v̂(S1 ) = −1 6≥ 0

Entonces8 :
 
0
P21 = y λ21 entra a la base.
6

Tercer paso: Cálculo de la columna entrante en el Tableaux

   
     0 6

A02 P21 1 0 0  2

1
yλ21 = B −1 M λ21 = B −1   = 0 1 0  6 = 0 

0
0
 
1 0 0 1 1
1

Variable saliente:  
40 1
Min , ·, =1
6 1

Ası́, p = 3, η2 sale de la base y termina la Fase I.

Nueva Base:
Matriz de pivote.

[η3 ]
  6   
1 0 −1 1 0 −6
P3 =  0 1  0  = 0 1 0
−1
0 0 1
1
0 0 1
8 Se podrı́a tomar cualquier punto del dominio de este satélite, el punto escogido es arbi-

trario.
183

Ası́:     
1 0 −6 1 0 0 1 0 −6
−1
B+ = P3 B −1 = 0 1 0  0 1 0 = 0 1 0
0 0 1 0 0 1 0 0 1
y los datos para la Fase II son:
 
1 0 −6
B = {µ21 , λ11 , λ21 } y B −1 = 0 1 0
0 0 1

Fase II
Lo único que cambia en la Fase II son los vectores de costos:

cT1 = −1 −2 y cT2 = 3
   
1

•Primera iteración maestra

Primer paso: Cálculo del lado derecho del Tableaux.

    
1 0 −6 40 34
y0 = B −1 b̄ = 0 1 0  1  =  1 
0 0 1 1 1

Segundo paso.
Costos de las variables básicas en el maestro, PBT :
  
 0
Pµ21 = cT2 C21 = 3

1 =1 

1 



  
0

T 1
= 0 ⇒ PBT = 1 0
   
Pλ11 = c1 P1 = −1 −2 6
0 

  
0


T 1
 
Pλ21 = c2 P2 = 3 1 =6


6

Cálculo del vector de multiplicadores π.


 
 1 0 −6
π T = PBT B −1 = 1
  
0 6 0 1 0 = 1 0 0
0 0 1

de donde:
πT = π0T αT
   
= 1 0 0
184 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

Problemas Satélite
Primer Satélite

S1 ) Min (cT1 − π0T A01 )~x1 − α1



x ∈ S1
 
     x1
S1 ) Min ( −1 −2 − 1 1 2 ) −0
x2 ⇒
x ∈ S1
P) Min −2x1 −4x2
x1 +x2 ≤2
−x1 +2x2 ≤2
x1 , x2 ≥0

Gráficamente, tenemos:
2
1 3
10
x̂ = 4 , v̂(S1 ) = − 6≥ 0
3 3

Segundo Satélite

S2 ) Min (cT2 − π0T A02 )~x2 − α2



x ∈ S2
 
 x
S2 ) Min ( 3 1 − 1 2 1 ) 3 − 0
   
x4 ⇒
x ∈ S2
P) Min x3
x3 +x4 ≥6
x3 , x4 ≥0

Claramente, tenemos:

v̂(S1 ) = 0 ≥ 0

Entonces:

 
2/3
P12 = y λ12 entra a la base.
4/3
185

Tercer paso: Cálculo de la columna entrante en el Tableaux

 
A01 P12
yλ12 = B −1 M λ12 = B −1  1  =
0
   
    2/3 10/3

1 0 −6  1 2
0 1 0  4/3 
= 1 
1
 
0 0 1 0
0

Variable saliente:  
34 1
Min , ,· = 1
10/3 1

Ası́, p = 2 y λ11 sale de la base.

Nueva Base:
Matriz de pivote.

[η2 ]
  10/3    
1 −1
0 1 −10/3 0
1
P2 =  0 0 = 0 1 0
  
1
0 0 1
−1
0 0 1

Ası́:
    
1 −10/3 0 1 0 −6 1 −10/3 −6
−1
B+ = P2 B −1 = 0 1 0 0 1 0  = 0 1 0
0 0 1 0 0 1 0 0 1

y los datos para la nueva iteración son:


 
1 −10/3 −6
B = {µ21 , λ12 , λ21 } y B −1 = 0 1 0
0 0 1

•Segunda iteración maestra

Primer paso: Cálculo del lado derecho del Tableaux.

    
1 −10/3 −6 40 92/3
y0 = B −1 b̄ = 0 1 0  1  =  1 
0 0 1 1 1
186 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE

Segundo paso.
Costos de las variables básicas en el maestro, PBT :
 
 2/3
Pλ12 = cT1 P12 = −1 −2 = −10/3 ⇒ PBT = 1
  
−10/3 6
4/3
Cálculo del vector de multiplicadores π.
 
1 −10/3 −6
π T = PBT B −1 = 1 −10/3 6 0
   
1 0 = 1 −20/3 0
0 0 1
de donde:
πT = π0T αT
   
= 1 −20/3 0

Problemas Satélite
Primer Satélite
S1 ) Min (cT1 − π0T A01 )~x1 − α1

x ∈ S1
 
     x1
S1 ) Min ( −1 −2 − 1 1 2 ) − (−20/3)
x2 ⇒
x ∈ S1
20
P) Min −2x1 −4x2 +
3
x1 +x2 ≤2
−x1 +2x2 ≤2
x1 , x2 ≥0

Gráficamente, tenemos:
2
x̂1 = 3
4 , v̂(S1 ) = 0 ≥ 0
3

Segundo Satélite

S2 ) Min (cT2 − π0T A02 )~x2 − α2



x ∈ S2
 
     x3
S2 ) Min ( 3 1 − 1 2 1 ) −0
x4 ⇒
x ∈ S2
P) Min x3
x3 +x4 ≥6
x3 , x4 ≥0
187

Claramente, tenemos:
v̂(S1 ) = 0 ≥ 0

Faltarı́a el costo reducido de la variable de exceso (recordar que ésta última


está fuera de la base):
rsT = −(1) · (−1) = 1 ≥ 0

Fin, la solución encontrada es óptima.


(iii) Tenemos:      
x̂1 2/3 2/3
= λ12 P12 = 1 =
x̂2 4/3 4/3
       
x̂3 1 1 92 0 0 0
= µ21 C2 + λ21 P2 = +1 =
x̂4 3 1 6 110/3

Ası́, la solución del problema original queda:


   
x̂1 2/3
x̂2   4/3 
x̂ = 
x̂3  =  0 
  

x̂4 110/3

y el valor óptimo del problema es:


2 4 110 100
v̂(P) = −1 · + −2 · + 3 · 0 + 1 · =
3 3 3 3
188 CAPÍTULO 9. MÉTODO DE DANTZIG-WOLFE
Capı́tulo 10

Dualidad en Programación
Lineal

Ejercicio 10.1 (†)


Considere el siguiente problema lineal de minimización:

P) Min 2x1 +15x2 +5x3 +6x4


x1 +6x2 +3x3 +x4 ≥2
−2x1 +5x2 −x3 +3x4 ≤ − 3
x1 , x2 , x3 , x4 ≥0

(i) (2 Ptos.) Establezca el problema dual D), de P).

(ii) (0.5 Pto.) Antes de resolver, muestre que tanto P) como su dual D) ad-
miten solución óptima. Para ello, aplique el Teorema de Dualidad Débil,
conjuntamente con el Teorema General de Existencia de la Programación
Lineal. En particular, establezca un Intervalo de Confianza para los valores
óptimos de P) y D).

(iii) (0.5 Pto.) Teniendo en cuenta ii), muestre que los valores óptimos de
P) y D) coinciden. Fundamente su respuesta en base a los resultados
fundamentales del curso.

(iv) (1 Pto.) Resuelva, con ayuda gráfica, el problema dual D) y compruebe


que el valor óptimo de P) está dentro del intervalo determinado en ii).

(v) (2 Ptos.) Conocida la solución óptima del Problema Dual D), obtenga la
solución óptima del primal a través de las condiciones de optimalidad de

189
190 CAPÍTULO 10. DUALIDAD EN PROGRAMACIÓN LINEAL

Karush-Kuhn-Tucker para le problema P). Para tal efecto, recuerde que


toda solución óptima del Dual provee, salvo un eventual cambio de signo,
un vector de multiplicadores óptimos para P).

Solución
(i) Antes de establecer le problema dual, multiplicaremos la primera restricción
por -1, de modo de tener un formato más cómodo para expresar las condiciones
de Karush-Kuhn-Tucker (K.K.T.):
P) Min 2x1 +15x2 +5x3 +6x4
−x1 −6x2 −3x3 −x4 ≤ − 2
−2x1 +5x2 −x3 +3x4 ≤ − 3
x1 , x2 , x3 , x4 ≥0

Ahora establecemos el Dual Equivalente D̃):


D̃) Max −2u1 −3u2
−u1 −2u2 ≤2
−6u1 +5u2 ≤15
−3u1 −u2 ≤5
−u1 +3u2 ≤6
u1 , u2 ≤0

Cabe notar que las variables u representan el inverso aditivo de las variables
duales del problema P). Es decir, µ = −u, donde µ representa las variables
duales de P).
(ii) El Teorema de Dualidad Débil nos indica que, si tenemos una solución
factible x̄ del Problema Primal P) y una solución factible µ̄ del Problema Dual
D), entonces:
−µ̄T b ≤ cT x̄,
y en términos del Dual Equivalente (con variables u en vez de µ):
ūT b ≤ cT x̄. (10.1)
Como estos x̄ y ū pueden ser los valores óptimos x̂ y û, tenemos:
ûT b ≤ cT x̂.
Lógicamente ūT b ≤ ûT b = v̂(D̃) y v̂(P) = cT x̂ ≤ cT x̄, de lo que se tiene:
ūT b ≤ v̂(D̃) ≤ v̂(P) ≤ cT x̄.
191

Por otro lado, tenemos que:

 
2  
0 0
x̄ =   ∈ P) y ū =
  ∈ D)
0 0
0

Reemplazando en la expresión anterior obtenemos:

0 ≤ v̂(D̃) ≤ v̂(P) ≤ 4

De donde se obtiene los intervalos de confianza:

0 ≤ v̂(P) ≤ 4
0 ≤ v̂(D) ≤ 4

Para demostrar que ambos tienen solución óptima, utilizamos la expresión


(10.1) y el Teorema de Existencia de la Programación Lineal :

)
x̄ ∈ P) ⇒ P =
6 φ
⇒ P) admite solución óptima.
ū ∈ D̃) ⇒ 0 ≤ cT x

Análogamente para D):

)
x̄ ∈ P) ⇒ uT b ≤ 4
⇒ D̃) admite solución óptima.
ū ∈ D̃) ⇒ D 6= φ

Lógicamente, si el Problema Dual admite solución óptima, el Problema Dual


Equivalente también.
(iii) El Teorema de Dualidad Fuerte nos indica que si un problema tiene solución
óptima, su Dual también y ambos valores óptimos coinciden. Del apartado (ii)
tenemos que P) y D) admiten soluciones óptimas, luego, sus valores óptimos
coinciden.
(iv) Para el problema D), gráficamente:
192 CAPÍTULO 10. DUALIDAD EN PROGRAMACIÓN LINEAL
u2 −6u1 + 5u2 − 15 = 0

3
−u1 + 3u2 − 6 = 0
2
 
−8/5
1 û =
−1/5

u1
−6 −5 −4 −3 −2 −1
−1
−u1 − 2u2 − 2 = 0

−2

−3
c = (−2, −3)

−4

−5

−3u1 − u2 − 5 = 0

Ası́, obtenemos:
 
−8/5
û = ⇒ v̂(D̃) = 19/5 = v̂(P),
−1/5

que pertenece al intervalo [0, 4].


(v) Del apartado (iv) tenemos:
   
−8/5 8/5
û = ⇒ µ̂ =
−1/5 1/5

Expresando el Primal de esta forma:

P) Min 2x1 +15x2 +5x3 +6x4


−x1 −6x2 −3x3 −x4 +2≤ 0
−2x1 +5x2 −x3 +3x4 +3≤ 0
x1 , x2 , x3 , x4 ≥0
193

Podemos formar la siguiente función lagrangeana:

L(x, µ) = 2x1 + 15x2 + 5x3 + 6x4


+ µ1 (−x1 − 6x2 − 3x3 − x4 + 2)
+ µ2 (−2x1 + 5x2 − x3 + 3x4 + 3)

∂L
De las condiciones ∂xi ≥ 0 tenemos las siguientes condiciones (claramente
redundantes):
∂L
≥ 0 ⇒ 2 − µ1 − 2µ2 ≥ 0 ⇒ 0 ≥ 0
∂x1
∂L
≥ 0 ⇒ 15 − 6µ1 + 5µ2 ≥ 0 ⇒ 32/5 ≥ 0
∂x2
∂L
≥ 0 ⇒ 5 − 3µ1 − µ2 ≥ 0 ⇒ 0 ≥ 0
∂x3
∂L
≥ 0 ⇒ 6 − µ1 + 3µ2 ≥ 0 ⇒ 5 ≥ 0
∂x4

∂L
De las condiciones xi ∂x i
= 0 tenemos:

∂L
x1 = 0 ⇒ x1 (2 − µ1 − 2µ2 ) = 0 ⇒ x1 · 0 = 0
∂x1
∂L
x2 = 0 ⇒ x2 (15 − 6µ1 + 5µ2 ) = 0 ⇒ x2 · 32/5 = 0 ⇒ x2 = 0
∂x2
∂L
x3 = 0 ⇒ x3 (5 − 3µ1 − µ2 ) = 0 ⇒ x3 · 0 = 0
∂x3
∂L
x4 = 0 ⇒ x4 (6 − µ1 + 3µ2 ) = 0 ⇒ x4 · 5 = 0 ⇒ x4 = 0
∂x4

De las condiciones µj · gj (x) = 0 tenemos:


µ1 · g1 (x) = 0 ⇒ µ1 (−x1 − 6x2 − 3x3 − x4 + 2) = 0
µj · g2 (x) = 0 ⇒ µ2 (−2x1 + 5x2 − x3 + 3x4 + 3) = 0
como µ1 , µ2 6= 0 y x2 , x4 = 0, tenemos el siguiente sistema:
−x1 − 3x3 + 2 = 0
−2x1 − x3 + 3 = 0
de lo que se obtiene que x1 = 7/5 y x3 = 1/5.
Finalmente:  
7/5
 0 
x̂ = 
1/5 ⇒ v̂(P) = 19/5 = v̂(D).

0
194 CAPÍTULO 10. DUALIDAD EN PROGRAMACIÓN LINEAL
Capı́tulo 11

Programación Entera y
Método de Branch&Bound

Ejercicio 11.1 (†)


Considere el siguiente problema lineal de minimización en variables enteras:
P) Min −10x1 −20x2
5x1 +8x2 ≤60
x1 ≤8
x2 ≤4
x1 , x2 , ≥0 (enteras)

(i) (1 Pto.) Muestre que este problema P) admite, al menos, una solución
óptima.
(ii) (3 Ptos.) Aplique el Método de Branch & Bound a la determinación de
una solución óptima de P). Para ello, considere (x1 , x2 ) = (0, 0) como la
mejor solución entera factible inicial y explore los distintos nodos del árbol
de Branch & Bound, nivel por nivel, resolviendo los problemas relajados
correspondientes de manera gráfica, pero exacta. Dibuje el árbol de Branch
& Bound resultante, indicando sobre éste toda la información relevante,
incluidos los valores sucesivos del incumbente.
(iii) (3 Pto.) Teniendo en cuenta el árbol final en ii), analice si es única o no,
la solución óptima de P). Si fuera el caso, determine todas las soluciones
óptimas de P).

195
196 CAPÍTULO 11. PROGRAMACIÓN ENTERA

Solución
(i) Se tiene que el poliedro P̃ dado por las restricciones

0 ≤ x1 ≤ 8
0 ≤ x2 ≤ 4

es acotado. Como D ⊆ P̃ , donde D es el dominio de restricción del problema


P), resulta que D es acotado.
Por otro lado, el punto (x1 , x2 ) = (0, 0) pertenece a D, luego D es no vacı́o.
Como D es acotado y no vacı́o, tiene un número finito de soluciones enteras
factibles. Además, como la función objetivo es continua, P) admite solución
óptima.
(ii) El incumbente inicial está dado por el valor de la función objetivo, evaluada
sobre la solución entera factible inicial, entregada en el enunciado. Concreta-
mente:  
0
x0 = ⇒ cT x0 = 0 ⇒ f¯ = 0 (incumbente inicial)
0

Problema 0
Debemos resolver el problema relajado, que resulta ser un Problema de la
Mochila con cotas.

P0 ) Min −10x1 −20x2


5x1 +8x2 ≤60
x1 ≤8
x2 ≤4
x1 , x2 , ≥0

Gráficamente:
x2

7
 
28/5
6 x̂ =
4

−kc = (1, 2)
2

0 x1
0 1 2 3 4 5 6 7 8 9 10 11 12

Condiciones
197

¿es infactible? R: No
¿es solución entera? R: No
¿su valor óptimo es mejor que el incumbente? cT x = −136 < f¯ = 0, R:
Si

Luego debemos ramificar el nodo P0 :

P0

x1 ≤ 5 x1 ≥ 6

P01 P02

Problema 01
El problema P01 ) es:

P01 ) Min −10x1 −20x2


5x1 +8x2 ≤60
x1 ≤8
x2 ≤4
x1 ≤5
x1 , x2 , ≥0

Gráficamente:
x2

7
 
5
6 x̂ =
4

−kc = (1, 2)
2

0 x1
0 1 2 3 4 5 6 7 8 9 10 11 12

Condiciones

¿es infactible? R: No
198 CAPÍTULO 11. PROGRAMACIÓN ENTERA

¿es solución entera? R: Si

¿su valor óptimo es mejor que el incumbente? cT x = −130 < f¯ = 0, R:


Si

Luego, el nuevo incumbente es f¯ = −130 y el nodo P01 se deja de ramificar.


Problema 02
El problema P02 ) es:

P02 ) Min −10x1 −20x2


5x1 +8x2 ≤60
x1 ≤8
x2 ≤4
x1 ≥6
x1 , x2 , ≥0

Gráficamente:
x2

7
 
6
6 x̂ =
15/4

−kc = (1, 2)
2

0 x1
0 1 2 3 4 5 6 7 8 9 10 11 12

Condiciones

¿es infactible? R: No

¿es solución entera? R: No

¿su valor óptimo es mejor que el incumbente? cT x = −135 < f¯ = −130,


R: Si

Luego debemos ramificar el nodo P02 :


199

P02

x2 ≤ 3 x2 ≥ 4

P021 P022

Problema 021
El problema P021 ) es:

P021 ) Min −10x1 −20x2


5x1 +8x2 ≤60
x1 ≤8
x2 ≤4
x1 ≥6
x2 ≤3
x1 , x2 , ≥0

Gráficamente:
x2

7
 
36/5
6 x̂ =
3

−kc = (1, 2)
2

0 x1
0 1 2 3 4 5 6 7 8 9 10 11 12

Condiciones

¿es infactible? R: No

¿es solución entera? R: No

¿su valor óptimo es mejor que el incumbente? cT x = −132 < f¯ = −130,


R: Si

Luego, el nodo P021 se debe ramificar.


200 CAPÍTULO 11. PROGRAMACIÓN ENTERA

Problema 022
El problema P022 ) es:

P022 ) Min −10x1 −20x2


5x1 +8x2 ≤60
x1 ≤8
x2 ≤4
x1 ≥6
x2 ≥4
x1 , x2 , ≥0

Gráficamente:
x2

−kc = (1, 2)
2

0 x1
0 1 2 3 4 5 6 7 8 9 10 11 12

Condiciones

¿es infactible? R: Si

Luego, el nodo P022 se deja de ramificar.


Ramificamos el nodo P021 :

P021

x1 ≤ 7 x1 ≥ 8

P0211 P0212
201

Problema 0211
El problema P0211 ) es:

P0211 ) Min −10x1 −20x2


5x1 +8x2 ≤60
x1 ≤8
x2 ≤4
x1 ≥6
x2 ≤3
x1 ≤7
x1 , x2 , ≥0

Gráficamente:

x2

7
 
7
6 x̂ =
3

−kc = (1, 2)
2

0 x1
0 1 2 3 4 5 6 7 8 9 10 11 12

Condiciones

¿es infactible? R: No

¿es solución entera? R: Si

¿su valor óptimo es mejor que el incumbente? cT x = −130 6< f¯ = −130,


R: No

Luego, el nodo P0211 se deja de ramificar.


202 CAPÍTULO 11. PROGRAMACIÓN ENTERA

Problema 0212
El problema P0212 ) es:

P0212 ) Min −10x1 −20x2


5x1 +8x2 ≤60
x1 ≤8
x2 ≤4
x1 ≥6
x2 ≤3
x1 ≥8
x1 , x2 , ≥0

Gráficamente:
x2

7
 
8
6 x̂ =
5/2

−kc = (1, 2)
2

0 x1
0 1 2 3 4 5 6 7 8 9 10 11 12

Condiciones

¿es infactible? R: No

¿es solución entera? R:No

¿su valor óptimo es mejor que el incumbente? cT x = −130 6< f¯ = −130,


R: No

Luego, el nodo P0212 se deja de ramificar (poda).


Como no quedan más nodos que ramificar, la solución encontrada es óptima:
 
5
x̂ = , v̂(P) = f¯ = −130
4

El árbol de Branch & Bound queda:


203

f¯ = 0
P0 v̂(P0 ) = −136

x1 ≤ 5 x1 ≥ 6

f¯ = 0 f¯ = −130
P01 v̂(P01 ) = −130
P02 v̂(P02 ) = −135

x2 ≤ 3 x2 ≥ 4

f¯ = −130 f¯ = −130
P021 v̂(P021 ) = −132
P022 v̂(P022 ) = ∞

x1 ≤ 7 x1 ≥ 8

f¯ = −130 f¯ = −130
P0211 v̂(P0211 ) = −130
P0212 v̂(P0212 ) = −130

(iii) Del árbol anterior, se puede notar que, hasta el momento, hay dos solucio-
nes enteras que evaluadas en la función objetivo, tienen el mismo valor que el
incumbente óptimo:
   
5 7
x̂ = , x̂ =
4 3

Para determinar si existe alguna otra, debemos ramificar el árbol a cabalidad,


cambiando la condición ¿su valor óptimo es mejor que el incumbente?, por la
condición ¿su valor óptimo es mejor o igual que el incumbente? Si revisamos las
condiciones sobre los nodos que no se ramificaron, podemos notar que el nodo
P0212 se podrı́a haber continuado ramificando. Concretamente:

Condiciones

¿es infactible? R: No

¿es solución entera? R: Si

¿su valor óptimo es mejor o igual que el incumbente? cT x = −130 ≤ f¯ =


−130, R: Si

Luego, el nodo P0211 se debe ramificar.


204 CAPÍTULO 11. PROGRAMACIÓN ENTERA

Problema 02121
El problema P02121 ) es:

P02121 ) Min −10x1 −20x2


5x1 +8x2 ≤60
x1 ≤8
x2 ≤4
x1 ≥6
x2 ≤3
x1 ≥8
x2 ≤2
x1 , x2 , ≥0

Gráficamente:

x2

7
 
8
6 x̂ =
2

−kc = (1, 2)
2

0 x1
0 1 2 3 4 5 6 7 8 9 10 11 12

Condiciones

¿es infactible? R: No

¿es solución entera? R:Si

¿su valor óptimo es mejor o igual que el incumbente? cT x = −120 6≤ f¯ =


−130, R: No

Luego, el nodo P02121 se deja de ramificar.


205

Problema 02122
El problema P02122 ) es:

P02122 ) Min −10x1 −20x2


5x1 +8x2 ≤60
x1 ≤8
x2 ≤4
x1 ≥6
x2 ≤3
x1 ≥8
x2 ≥3
x1 , x2 , ≥0

Gráficamente:
x2

−kc = (1, 2)
2

0 x1
0 1 2 3 4 5 6 7 8 9 10 11 12

Condiciones

¿es infactible? R: Si

Luego, el nodo P02122 se deja de ramificar.


Claramente, la ramificación no nos ha entregado otra solución entera óptima,
luego, las únicas soluciones óptimas de P) son:
   
5 7
x̂ = , x̂ =
4 3
206 CAPÍTULO 11. PROGRAMACIÓN ENTERA

Ejercicio 11.2 (†)


Considere el siguiente problema lineal de minimización en variables enteras:
P) Min −40x1 −90x2
9x1 +7x2 ≤56
7x1 +20x2 ≤70
x1 , x2 , ≥0 (enteras)

(i) (1 Pto.) Muestre que este problema P) admite, al menos, una solución
óptima.
(ii) (3 Ptos.) Aplique el Método de Branch & Bound a la determinación de
una solución óptima de P). Para ello, considere (x1 , x2 ) = (0, 0) como la
mejor solución entera factible inicial y explore los distintos nodos del árbol
de Branch & Bound, nivel por nivel, resolviendo los problemas relajados
correspondientes de manera gráfica, pero exacta. Dibuje el árbol de Branch
& Bound resultante, indicando sobre éste toda la información relevante,
incluidos los valores sucesivos del incumbente.
(iii) (3 Pto.) Teniendo en cuenta el árbol final en ii), analice si es única o no,
la solución óptima de P). Si fuera el caso, determine todas las soluciones
óptimas de P).

Solución
(i) De la primera restricción y las de no-negatividad, se tiene el siguiente poliedro
P̃ :
0 ≤ x1 ≤ 56/9
0 ≤ x2 ≤ 56/7
que es claramente acotado.
Como D ⊆ P̃ , donde D es el dominio de restricción del problema P), resulta
que D es acotado.
Por otro lado, el punto (x1 , x2 ) = (0, 0) pertenece a D, luego D es no vacı́o.
Como D es acotado y no vacı́o, tiene un número finito de soluciones enteras
factibles. Luego, P) admite solución óptima.
(ii) El incumbente inicial está dado por el valor de la función objetivo, evaluada
sobre la solución entera factible inicial, entregada en el enunciado. Concreta-
mente:  
0
x0 = ⇒ cT x0 = 0 ⇒ f¯ = 0 (incumbente inicial)
0
207

Problema 0
Debemos resolver el problema relajado:
P0 ) Min −40x1 −90x2
9x1 +7x2 ≤56
7x1 +20x2 ≤70
x1 , x2 , ≥0

Gráficamente:
x2

4
 
4, 809
3 x̂ =
1, 816
−kc = (1, 49 )
2

0 x1
0 1 2 3 4 5 6 7 8 9 10

Condiciones

¿es infactible? R: No
¿es solución entera? R: No
¿su valor óptimo es mejor que el incumbente? cT x = −355, 87 < f¯ = 0,
R: Si

Luego debemos ramificar el nodo P0 :

P0

x1 ≤ 4 x1 ≥ 5

P01 P02
208 CAPÍTULO 11. PROGRAMACIÓN ENTERA

Problema 01
El problema P01 ) es:

P01 ) Min −40x1 −90x2


9x1 +7x2 ≤56
7x1 +20x2 ≤70
x1 ≤4
x1 , x2 , ≥0

Gráficamente:
x2

4
 
4
3 x̂ =
2, 1
−kc = (1, 94 )
2

0 x1
0 1 2 3 4 5 6 7 8 9 10

Condiciones

¿es infactible? R: No

¿es solución entera? R: No

¿su valor óptimo es mejor que el incumbente? cT x = −349 < f¯ = 0, R:


Si

Luego debemos ramificar el nodo P01 :


209

P01

x1 ≤ 2 x1 ≥ 3

P011 P012

Problema 02
El problema P02 ) es:

P02 ) Min −40x1 −90x2


9x1 +7x2 ≤56
7x1 +20x2 ≤70
x1 ≥5
x1 , x2 , ≥0

Gráficamente:
x2

4
 
5
3 x̂ =
1, 571
−kc = (1, 49 )
2

0 x1
0 1 2 3 4 5 6 7 8 9 10

Condiciones

¿es infactible? R: No
¿es solución entera? R: No
¿su valor óptimo es mejor que el incumbente? cT x = −341, 42 < f¯ = 0,
R: Si
210 CAPÍTULO 11. PROGRAMACIÓN ENTERA

Luego debemos ramificar el nodo P02 :

P02

x2 ≤ 1 x2 ≥ 2

P021 P022

Problema 011
El problema P011 ) es:

P011 ) Min −40x1 −90x2


9x1 +7x2 ≤56
7x1 +20x2 ≤70
x1 ≤4
x2 ≤2
x1 , x2 , ≥0

Gráficamente:
x2

4
 
4
3 x̂ =
2
−kc = (1, 94 )
2

0 x1
0 1 2 3 4 5 6 7 8 9 10

Condiciones

¿es infactible? R: No
211

¿es solución entera? R: Si

¿su valor óptimo es mejor que el incumbente? cT x = −340 < f¯ = 0, R:


Si

Luego, el nuevo incumbente es f¯ = −340 y el nodo P011 se deja de ramificar.


Problema 012
El problema P012 ) es:

P012 ) Min −40x1 −90x2


9x1 +7x2 ≤56
7x1 +20x2 ≤70
x1 ≤4
x2 ≥3
x1 , x2 , ≥0

Gráficamente:
x2

5
 
1, 428
4 x̂ =
3

3
−kc = (1, 49 )
2

0 x1
0 1 2 3 4 5 6 7 8 9 10

Condiciones

¿es infactible? R: No

¿es solución entera? R: No

¿su valor óptimo es mejor que el incumbente? cT x = −327, 142 6< f¯ =


−340, R: No
212 CAPÍTULO 11. PROGRAMACIÓN ENTERA

Luego, el nodo P012 se deja de ramificar (poda).


Problema 021
El problema P021 ) es:

P021 ) Min −40x1 −90x2


9x1 +7x2 ≤56
7x1 +20x2 ≤70
x1 ≥5
x2 ≤1
x1 , x2 , ≥0

Gráficamente:
x2

4
 
5, 444
3 x̂ =
1
−kc = (1, 94 )
2

0 x1
0 1 2 3 4 5 6 7 8 9 10

Condiciones

¿es infactible? R: No

¿es solución entera? R: No

¿su valor óptimo es mejor que el incumbente? cT x = −307, 777 < f¯ = 0,


R: No

Luego, el nodo P021 se deja de ramificar (poda).


213

Problema 022
El problema P022 ) es:

P022 ) Min −40x1 −90x2


9x1 +7x2 ≤56
7x1 +20x2 ≤70
x1 ≥5
x2 ≥2
x1 , x2 , ≥0

Gráficamente:
x2

3
−kc = (1, 49 )
2

0 x1
0 1 2 3 4 5 6 7 8 9 10

Condiciones

¿es infactible? R: Si

Luego, el nodo P022 se deja de ramificar.


Como no quedan más nodos que ramificar, la solución encontrada es óptima:
 
4
x̂ = , v̂(P) = f¯ = −130
2

El árbol de Branch & Bound queda:


214 CAPÍTULO 11. PROGRAMACIÓN ENTERA
f¯ = 0

P0 v̂(P0 ) = −355, 87

x1 ≤ 4 x1 ≥ 5

f¯ = 0
P01 f¯ = 0 P02 v̂(P02 ) = −341, 42
v̂(P01 ) = −349

x2 ≤ 2 x2 ≥ 3 x2 ≤ 1 x2 ≥ 2

f¯ = 0 f¯ = −340 f¯ = −340 f¯ = −340


P011 v̂(P021 ) = −340 P012 v̂(P022 ) = −327, 14 P021 v̂(P021 ) = −307, 77 P022 v̂(P022 ) = ∞

(iii) Del árbol anterior, se puede notar que, hasta el momento, hay solamente
una solución entera que, evaluada en la función objetivo, tiene el mismo valor
que el incumbente óptimo:  
4
x̂ =
2

Para determinar si existe alguna otra, debemos ramificar el árbol a cabalidad,


cambiando la condición ¿su valor óptimo es mejor que el incumbente?, por la
condición ¿su valor óptimo es mejor o igual que el incumbente? Si revisamos las
condiciones sobre los nodos que no se ramificaron, podemos notar que ningún
nodo se podrı́a haber continuado ramificando. Luego, la solución óptima es
única.

You might also like