Vous êtes sur la page 1sur 73

Problema de Minimizacin

A continuacin se ver qu tipos de programas se


desarrollan en un programa de minimizacin. Se
eliminan para empezar los problemas de
minimizacin triviales, que son aquellos que
pueden representarse como

Mn
Sujeto a :

Z cX
AX b
X 0;

b 0.

Este tipo de problemas tiene como solucin


ptima X=(XB, XN) = (0, ..., 0, ..., 0). Como se
puede ver grficamente a continuacin la
solucin ptima es no hacer nada.

Figura X3.

Los problemas de minimizacin importantes son


aquellos en donde el vector b no es
necesariamente mayor o igual al vector cero. Este
tipo de problemas tiene la siguiente
representacin cannica:

Mn
Sujeto a :

Z cX
AX b
X 0.

Con el objeto de ver cules son los problemas y


los mecanismos de solucin se toma el siguiente
problema

Mn

Z 3 X 1 5 X 2

Sujeto a :

X1
X2
3X1 2 X 2

6
18

X 1 0, X 2 0
que tambin se resuelve por el mtodo Simplex.

La regin de factibilidad y pendiente de la


funcin objetivo se muestran a continuacin

Figura X4.

Los pasos del mtodo Simplex conducen a resolver

Mx

h Z 3 X 1 5 X 2

Sujeto a :

X1
X2
3X1 2 X 2

6
18

X 1 0, X 2 0
y puesto en su forma tabular tiene la forma:

La solucin bsica XB que se tiene es

X3 4
X B X 4 6
X 5 18

XN

X 1 0

X 2 0

Esta solucin no es factible pues X5= 18<0, y


est violando la restriccin de que todas las
variables, incluyendo las de holgura sean no negativas. Se concluye que para problemas de
minimizacin no triviales el mtodo Simplex no
trabaja. Qu modificaciones hay que hacerle al
mtodo Simplex para resolver este problema?
Hay varias maneras de darle solucin a este
problema. Describiremos a continuacin dos, uno
el mtodo de penalizacin (de la M grande) y el
mtodo de doble fase.

El Mtodo de Penalizacin (M grande)


El mtodo de penalizacin consiste en modificar
el problema original para dar lugar a un nuevo
problema, donde la solucin inicial es factible y
bsica. Esto se puede lograr aadiendo un vector
W, llamado de variables artificiales y penalizando
a la funcin objetivo con un costo MW, donde M
es un vector de valores positivos arbitrarios muy
elevados.

Mientras el vector artificial tenga alguna


componente positiva, el valor de la funcin
objetivo se elevar considerablemente en el caso
de minimizacin. Como el mtodo Simplex
siempre trata en cada iteracin de mejorar la
funcin objetivo, si el problema original no tiene
restricciones inconsistentes, llegar un momento
en que W salga completamente de la base. En ese
momento W=0 y se ha retornado al problema
original cuya solucin ptima est garantizada
por el mtodo Simplex. Si durante la aplicacin
del mtodo penal se llega a una solucin ptima
pero W>0, entonces el problema NO tiene
solucin.

Teorema 8
La solucin ptima al problema Lineal
Mn
Z cX MW

Sujeto a :

AX Y W b
X 0, Y 0, W 0

es tambin solucin ptima del problema

Mn
Z cX
Sujeto a :
AX b
X0
si y slo si el vector W=0.

Prueba:
Dado el problema de minimizacin

Z cX

Mn

AX b
X0

Sujeto a :

ste se puede escribir como

Mn

Z cX

Sujeto a :

AX Y b
X 0, Y 0

donde Y es un vector superfluo. Este


problema es igual al

Mn
Z cX
MW
Sujeto a : AX Y W b
X 0, Y 0, W 0
slo cuando W=0.

Para organizar las ideas ejecutemos lo afirmado


en un ejemplo.
Ejemplo:
Resolver por el mtodo de penalizacin el
siguiente problema lineal

Mn

Z 3 X 1 5 X 2

Sujeto a :

X1
X2
3X1 2 X 2
X 1 0, X 2 0

6
18

Solucin:
Este problema puede re - escribirse como
Mx

h Z 3 X1 5 X 2

Sujeto a :

X3

X1
X2
3 X1

2X2

4
X4

X 5 18

X 1 0, X 2 0, X 3 0, X 4 0, X 5 0.

Ahora introducirnos las variables artificiales,


en este caso slo W1,

Mx

h Z 3 X1 5 X 2

Sujeto a :

MW1
X3

X1
X2
3 X1

2X2

4
X4

X 5 W1 18

X 1 0, X 2 0, X 3 0, X 4 0, X 5 0, W 0.

que en forma de tablero o juego de la siguiente


estructura:

que en forma de tablero o juego de la siguiente


estructura:

Aqu si notamos la base no est perfecta, pues


si queremos que la base sea a3, a4, aw1, se
necesita que aw1 sea un vector unitario de tipo
e3. Para conseguir ello se convierte zw1 cw1 en
cero, mediante el uso de operaciones
matriciales elementales. El siguiente tablero o
juego, da la primera base y el primer punto
extremo (bsico y factible) del programa
modificado. A partir de ah se sigue aplicando
el mtodo Simplex en forma normal hasta que
las condiciones de optimalidad se cumplan.

Este ltimo tablero es ptimo y como aw1 est


fuera de la base, W1=0, por lo que la solucin es
tambin ptima para el programa original. La
solucin ptima es
o tambin
X 1 4
X
4 3
X 1 4
X B X 2 3
X

X 2 3
X N X 3 0
X 5 0
0
W1

X 1 4
X
X 2 3
Con una funcin objetivo ptima
h = Z = 3,
por lo tanto se tiene que
Z = 3.
Esto corrobora lo observado en la figura X4.

El mtodo de penalizacin (mtodo penal o M


grade), tiene un problema serio, es que al
usarse en una computadora, como las variables
del vector M se les tiene que asignar valores
reales
positivos,
por
ejemplo
98889988.995477213, al iterarse varias veces,
se empiezan a acumular errores de redondeo
que pueden afectar seriamente el resultado
final ptimo. Por esa razn el mtodo penal se
ha sustituido en la prctica por el mtodo de
doble fase.

Mtodo de Doble Fase


En esencia es igual al mtodo de penalizacin, en
que primero se introducen las variables
artificiales al problema original

Mn

Z cX

Sujeto a :

AX b
X0

quedando como

Mn
Z cX
Sujeto a :
AX Y W b
X 0, Y 0, W 0
Donde W es el vector de variables artificiales
con componentes (W1, W2, ..., Wp).

En la primera fase se resuelve el problema


p

Mn

Wi
i 1

Sujeto a :

AX Y W b
X 0, Y 0, W 0

La solucin ptima de esta fase debe ser W=0.

Si al obtener las condiciones de optimalidad en


esta fase, W>0, el problema original no tiene
solucin.
(Debido
a
restricciones
inconsistentes.)
Supngase que la primera fase es ptima, W=0 y
que la base asociada al tablero es B. en la
segunda fase se aplica mtodo Simplex para
resolver el problema

Mn

Z cX

Sujeto a :

B 1 AX B 1Y B 1W B 1b
X 0, Y 0, W 0

Pero como
nicamente:

Mn
Sujeto a :

W=0

queda

por

resolver

Z cX
B 1 AX B 1Y B 1b
X 0, Y 0.

La solucin ptima a esta segunda fase, es la


solucin ptima al problema original.

Es importante observar que al empezar la


segunda fase, todos los vectores de la base
ptima correspondiente a la primera fase
permanezcan unitarios (cannicos). Emplense
operaciones

matriciales

elementales

para

restituir todos aquellos vectores que deben ser


unitarios.

Ejemplo:
Resolver por doble fase:
Mn

Z 3 X 1 5 X 2

Sujeto a :

X1
X2
3X1 2 X 2

6
18

X 1 0, X 2 0

Solucin:
Primero se reescribe el problema como
Mn
Sujeto a :

Z 3X1 5 X 2
X3

X1
X2
3 X1 2 X 2

4
X4

6
X 5 W1 18

X 1 0, X 2 0, X 3 0, X 4 0, X 5 0, W1 0.

Mn

Z 3X1 5 X 2

Sujeto a :

X3

X1
X2

4
X4

3X1 2 X 2

6
X 5 W1 18

X 1 0, X 2 0, X 3 0, X 4 0, X 5 0, W1 0.

La primera fase consiste en resolver el problema


Mn
Sujeto a :

W1
X3

X1
X2
W1 3 X 1 2 X 2

4
X4

6
X 5 18

X 1 0, X 2 0, X 3 0, X 4 0, X 5 0,W1 0.

O simplemente en su lugar as:


Mn
Sujeto a :

W1
X3

X1
X2
3X1 2 X 2

4
X4

6
X 5 W1 18

X 1 0, X 2 0, X 3 0, X 4 0, X 5 0.

Aplicando el mtodo Simplex, una vez que se ha


cambiado la funcin objetivo a Mx W1, se
tiene

Para tener el primer punto extremo se requiere que


los vectores de la base sean unitarios. Por lo tanto
se convierte aw1, en vector unitario e3

Est es la solucin ptima a la fase uno, y como


W=0 el problema original tiene solucin. Para
empezar la fase dos, tomamos todo el tablero
ptimo anterior, nicamente ignorando la
columna aw1 (que ya no se necesita) y el rengln
de los zj cj. Sustituyendo ese rengln por la
funcin objetivo original.

Mn

Z= 3X1 + 5X2

o su equivalente
Mx

h= Z = 3X1 5X2
h 3X1 + 5X2=0.

Al iniciar la fase dos se tiene la siguiente


estructura:

pero como B=(a1, a4, a2) se necesita que a1= e1, a4=
e2 y a2= e3. Los vectores unitarios e1, e2 y e3, que
son respectivamente a1, a4 y a2, son restaurados por
medio de operaciones matriciales elementales
obtenindose el siguiente tablero:

En este ejemplo no es necesario seguir iterando en


la fase dos, pues al restaurar los vectores unitarios
correspondientes a la base del tablero ptimo de la
fase uno, se obtiene por pura coincidencia las
condiciones de optimalidad zj cj 0 par toda j en
A. Por general este no ser el caso y deben hacerse
unas iteraciones ms.

X 1 4
X
4 3
X B X 2 3
X

X N X 3 0
X 5 0
0
W1
o tambin

La solucin es

X. 1 4
X
X 2 3

Con una funcin objetivo ptima


h = Z = 3,
por lo tanto se tiene que
Z = 3.
Esto corrobora lo observado en la figura X4.

Ejemplo:

Mn

0.4 X 1 0.5 X 2

Sujeto a :

0.3 X 1 0.1X 2

2.7

0.5 X 1 0.5 X 2

0.6 X 1 0.4 X 2

Xi 0

===================================
PRIMERA FASE
===================================

===================================
PRIMERA FASE
===================================

===================================
PRIMERA FASE
===================================

=================================
SEGUNDA FASE
=================================

Cuyo ptimo es 5.25

Problemas sin Solucin


Tanto el mtodo de penalizacin como el
mtodo de doble fase permiten identificar
cundo un programa lineal no tiene solucin.
Los problemas lineales no tienen solucin
cuando sus restricciones son inconsistentes. Tal
es el caso del siguiente programa:
Mx

Z 2 X1 2 X 2

Sujeto a :

X1 X 2

X1 X 2

X 1 0; X 2 0.

Cuya representacin grfica es

Figura X5

Como podr verse, no existen valores X1 y X2


que puedan estar simultneamente en ambas
regiones sombreadas. A continuacin se ve cmo
se identifica esta condicin por medio del
mtodo Simplex.

La solucin ptima al programa modificado se


obtuvo en el ltimo tablero. Sin embargo, como la
variable artificial no es nula, sino que W=2, el
problema original no tiene solucin

Problemas Degenerados y las reglas


Lexicogrficas (Ciclajes)
Se ha mencionado anteriormente que al existir
empate en decidir qu vector entra a la base, este
puede romper arbitrariamente sin ningn efecto
considerable en el nmero de iteraciones del
mtodo Simplex. En cambio un empate en el
vector de salida no puede decidirse
arbitrariamente porque se puede ocasionar un
ciclaje tal, que nunca pueda obtenerse la
solucin ptima.

Por ejemplo, se analiza el siguiente programa


lineal en la primera iteracin se puede
seleccionar como vector de salida tanto a5 como
a6 causa un ciclaje.
Ejemplo:
Resolver el siguiente programa lineal:
Mx
Sujeto a :

Z 34 X 1 20 X 2 12 X 3 6 X 4
1
4
1
2

X1 8 X 2

X3 9X 4

X 1 12 X 2 12 X 3 3 X 4

X3
X i 0.

Ntese que despus de seis iteraciones se ha regresado al punto


de inicio y an no se tiene las condiciones de optimalidad

Usando la frmula
X Br
Yr

X Bk
Mn
Yk j
k

Yk

para elegir el vector de salida se tiene el siguiente


algoritmo.
Paso 1. Arregle el tablero tal que los primeros m
vectores del tablero sean de la base B.
Paso 2. Calcular el mnimo de los siguientes
coeficientes por:
X Bi

Mn Yi k Yi k 0
i 1,..., m

X Bi

Mn Yi k Yi k 0
i 1,..., m

Si el mnimo es nico, por ejemplo i=r, entonces


XB, sale de la base. En el caso contrario,
construyese un conjunto de ndices I1 I (donde
I es el conjunto de todas las columnas que estn
en la base) formado por todos los ndices para
los cuales

X Bi
Yi k

constante

y esa constante sea la mnima de todos los


cocientes calculados en el paso 2.

Yi 1

Mn Yi k Yi k 0
i I 1
Si el mnimo es nico, por ejemplo i=r, entonces
el vector ar sale de la base. En caso contrario
constryase un conjunto de ndices I2 I1 I
(donde I es el conjunto de todas las columnas que
estn en la base) formado por todos los ndices
para los cuales Y
i1 constante
Paso 3. Evalese

Yi k

y esa constante sea la mnima de todos los


cocientes calculados en el paso 3.

Paso 4. Calclese

Yi 2
Mn Yi k
i I 2

Yi k

y prosiga anlogamente al paso 3.


As se crean conjuntos I1, I2, , Ip, tal que
Ip Ip1 ... I2 I1 I.

As se crean conjuntos I1, I2, , Ip, tal que Ip


Ip1 ... I2 I1 I. Como el nmero de
columnas y renglones en la base B es finito,
eventualmente se llega a romper cualquier empate,
y se hace la seleccin correcta del vector que debe
salir de la base. Este tipo de reglas no permiten el
ciclaje de las iteraciones del mtodo Simplex. La
mayora de los programes comerciales de
computadora que resuelven problemas de
programacin lineal ya vienen equipados con ese
tipo de reglas lexicogrficas.

Xq

a23
a13
a3

6
4
1

a123

1
0
0

3
1
2

3
2

5
4
3
2

4
1
0
12

9
2

3
4

1
4

XB
24
16
4
8

Primero empataron a23, a13, a3, a123, I1={23, 13, 3,


123} luego en la base empatan a23, a13, a123, que
tienen I2={23, 13, 123} (que se ve I1I2) en
seguida siguen empatando a23 y a123, I3={23, 123}
(que se ve I1 I2 I3). Y por fin se rompe el
empate en a123, que es el que sale o deja la base.

Xq

a23

a13

a3
a123

B A
1 2
0 92

S
3
1

E
4
1

XB
24

16

3
2

3
4

12

5
4
3
2

1
4

Explicacin, se ha dividido XB/Yrq y son todos


iguales a 4, [24/6, 16/4, 4/1, 8/2]; tomamos los
elementos de la base YB1/Yrq = 0, o sea, [0/6,
0/4, 0/2]; en seguida YB2/Yrq = , de [(9/2)/6,
(3/2)/2] y por fin YB3/Yrq = 0 de [1/6, 0/2] que
rompe el empate.

Ejemplo:
Resolver el siguiente programa lineal:
Mx
Sujeto a :

Z 34 X 1 20 X 2 12 X 3 6 X 4
1
4
1
2

X1 8 X 2

X3 9X 4

X 1 12 X 2 12 X 3 3 X 4

X3
X i 0.

se tiene.
Paso 1. Para el paso 1, pero tomamos en cuenta
los vectores de la base B=(a5, a6, a7) en

Notando que
I = {5, 6, 7}.
Aplicamos la regla de salida

X Bi
Mn Yi k
i I 2

Yi k

se tiene

0
0
Mn
,
Mn{0,0} 0
1 / 4 1 / 2

por lo que
I1 = {5, 6}.
Vase que
I1 = {5, 6} I = {5, 6, 7}.
Paso 2. Evaluando
Yi 5
donde k = 1,

Mn Yi k
iI 1

Yi k

Y1 5 Y2 5
1 0
Mn
,
,
Mn
Mn 4,0 0
1 / 4 1 / 2
Y11 Y2 1

por lo que a6 deja la base y el pivote es Y21. Ejecutando


operaciones matriciales en la columna a1 con ceros, se
genera el siguiente tablero

Como est escrito aqu, con la regla


lexicogrfica slo se necesita una iteracin
adicional y obtuvimos la solucin ptima.

con

X5 3
X 4
1 1
X 3 1
X B
X
X2 0

X N
X4
0
X 0
6
X 7 0

5
Z
4

Vous aimerez peut-être aussi