Você está na página 1de 23

El Problema de Programaci

on Lineal
Entera Mixta I
Un problema de programaci on lineal entera-mixta
(PPLEM) es un PPL en el que algunas de las varia-
bles toman valores enteros. Si todas las variables enteras
son binarias (0/1) el problema se denomina 0/1 PPLEM.
Si todas las variables son enteras, el problema se denomina
problema de programaci on lineal entera (PPLE).
Se explicar an dos tecnicas de resolucion de este tipo de pro-
blemas: La de bifurcaci on y acotaci on (BA) y la de los cortes
de Gomory (CG). La BA es la que m as se utiliza y la m as e-
ciente computacionalmente. Sin embargo, ha surgido recien-
temente una tecnica hbrida, que se denomina bifurcaci on y
corte (BC), y que se esta usando exitosamente.
Las variables binarias son muy potentes para modelizar cier-
tas no linealidades de diversa naturaleza que ocurren con
una cierta frecuencia en Ingeniera. Algunos ejemplos in-
teresantes son:
1. Conjuntos alternativos de restricciones.
2. Restricciones condicionales.
3. Funciones discontinuas.
4. Funciones no convexas a trozos.
Este tipo de aplicaciones sera postpuesto.
204
El Problema de Programaci

on Lineal
Entera Mixta II
Un PPLEM en forma estandar es de la forma
Minimizar
Z =
n

j=1
c
j
x
j
sujeto a
n

j=1
a
ij
x
j
= b
i
; i = 1, 2, . . . , m
x
j
0; j = 1, 2, . . . , n
x
j
IN; para todos a alg un j = 1, 2, . . . , n.
donde IN se utiliza para denominar al conjunto {0, 1, 2, . . .}.
Un ejemplo de la regi on factible en este caso se muestra en
la Figura
205
El m

etodo de bifurcaci

on y acotaci

on I
El metodo de bifurcaci on y acotaci on resuelve el PPLEM
mediante una secuencia de PPL que se obtiene relajando las
condiciones de integralidad e incluyendo restricciones adi-
cionales. El n umero de restricciones adicionales aumenta a
medida que el metodo progresa. Estas restricciones separan
la regi on factible en subregiones factibles complementarias.
Inicialmente se jan cotas inferiores y superiores de la solu-
cion optima. La estrategia de bifurcaci on disminuye la cota
superior y aumenta la inferior. La diferencia de ambas es una
medida de la proximidad de la soluci on actual a la optima,
si esta existe.
Cuando se minimiza, se puede encontrar una cota inferior
relajando las restricciones de integralidad del problema ori-
ginal y resolviendo el PPL rsultante. Analogamente, el valor
de la funci on objetivo para cualquier soluci on del problema
inicial es una cota superior del valor optimo.
Este metodo puede parar debido a tres razones:
1. El problema actual no es factible.
2. La soluci on actual satisface las condiciones de integrali-
dad.
3. La cota inferior obtenida es mayor que la superior actual.
Una bifurcaci on se aborta por infactibilidad, integralidad o
acotaci on.
206
El m

etodo de bifurcaci

on y acotaci

on II
Datos: Un PPLEM a resolver.
Resultado: Su soluci on o un mensaje informando de su
no acotaci on o infactibilidad.
Etapa 1: Iniciaci on. Fijar una cota superior () y una
inferior () a la soluci on optima.
Resolver el PPLEM relajando las condiciones de inte-
gralidad. Si este problema es infactible, el original tam-
bien lo es y no hay soluci on. Si la soluci on es entera, es
optima. En otro caso, la cota inferior se actualiza con el
valor de la soluci on optima obtenida.
Etapa 2: Bifurcaci on. Usando una variable candidata
a entera x
k
que no es entera, se generan dos problemas,
por bifurcaci on, a partir del original, tal como sigue. Si el
valor de la variable x
k
es a.b, donde a y b son sus partes
entera y fraccional, respectivamente, el primer problema
bifurcado es el original relajado con la restricci on x
k
a,
y el segundo, el original relajado con la restricci on com-
plementaria x
k
a + 1. Estos problemas se sit uan en
una lista de procesado y se consideran secuencialmente
o en paralelo para su resoluci on.
Etapa 3: Soluci on. Resolver el problema siguiente en la
lista de procesado.
207
El m

etodo de bifurcaci

on y acotaci

on III
Etapa 4: Actualizaci on de cotas. Si la soluci on del
problema actual es entera y el correspondiente valor de
su funci on objetivo es menor que la cota superior en
curso, se actualiza esta a este y se almacena el problema
como candidato a optimo. En otro caso, si el valor de
la funci on objetivo est a entre ambas cotas, se actualiza
la cota inferior con dicho valor, y se procede a bifurcar
a nadiendo los dos problemas a la lista de procesado.
Etapa 5: Corte. Si la soluci on suministrada por el pro-
blema en curso es entera, no es posible la bifurcacion, por
lo que se aborta la bifurcaci on debido a la integralidad
de la soluci on.
Si la soluci on no es entera y el valor de la funci on objetivo
es mayor que la cota superior actual, no se puede mejorar
la soluci on por esa rama, por lo que se aborta el proceso
por esa rama, debido a acotaci on.
Si el problema en curso no es factible, no es posible con-
tinuar por esa rama, por lo que se aborta el proceso,
debido a infactibilidad.
Etapa 6: Optimalidad. Si la lista de procesado est a no
vaca se contin ua con la Etapa 3. En otro caso, el pro-
ceso concluye. Si hay un candidato a optimo, este da la
soluci on. En otro caso, el problema es infactible.
Este algoritmo revuelve la soluci on optima o informa sobre
su no existencia en la Etapa 1 o la 6.
208
P
0
P
2
P
1
P
4
P
3
P
6
P
5
P
0
P
6
P
1
P
3
P
2
P
5
P
4
(a) (b)
Estrategias de bifurcaci

on
Cualquier variable que no sea entera puede ser candidata
para la bifurcaci on. La elecci on de cual elegir es un problema
no trivial que debe resolverse bas andose en el conocimiento
sobre el problema de que se trate.
Los problemas de la lista de procesado pueden procesarse
mediante las estrategias de anchura primero o altura
primero o usando una mezcla de ambas. La gura muestra
ambas alternativas. Generalmente cada problema suminis-
tra alguna informaci on sobre cu al de las dos es mas conve-
niente.
Una estrategia de altura primero genera r apidamente pro-
blemas constre nidos que generalmente suministran buenas
cotas superior e inferior. Ademas suministra rapidamente
problemas infactibles y, por tanto, el abortado de las ramas.
Una estrategia de anchura primero pprocesa problemas
muy parecidos, lo cual puede explotarse convenientemente.
Las tecnicas de computacion paralela pueden explotarse con
ambas estrategias.
209
1 2 3 4 5
1
2
3
4
5
First Branch Second Branch
P
1
P
2
P
3
X
1
X
2
El m

etodo de bifurcaci

on y acotaci

on I
Ejemplo 1
Minimizar Z = x
1
x
2
sujeto a
x
1
0
2x
1
2x
2
1
2x
2
9
x
1
, x
2
IN.
cuya regi on factible es la puntuada en la gura.
Etapa 1: Iniciaci on. Las cotas son + y .
El problema relajado, que se designa como P
0
, es
Minimizar Z = x
1
x
2
sujeto a
x
1
0
2x
1
2x
2
1
2x
2
9
con soluci on, no entera, en el punto P
1
en la gura:
x
1
= 5, x
2
= 4.5; Z = 9.5.
210
El m

etodo de bifurcaci

on y acotaci

on II
Ejemplo 1
Se actualiza la cota superior de a 9.5.
Etapa 2: Bifurcaci on. La variable x
2
, genera los dos
problemas con las restricciones x
2
4 y x
2
5 (ver gura)
Problema P
1
:
Minimizar Z = x
1
x
2
sujeto a
x
1
0
2x
1
2x
2
1
2x
2
9
x
2
4
Problema P
2
:
Minimizar Z = x
1
x
2
sujeto a
x
1
0
2x
1
2x
2
1
2x
2
9
x
2
5
Etapa 3: Soluci on. La soluci on, no entera (x
1
/ IN),
del problema P
1
es (punto P
2
en la gura) :
x
1
= 4.5; x
2
= 4; Z = 8.5.
Etapa 4: Actualizaci on de cotas. Puesto que el valor
8.5 esta entre las dos cotas, se actualiza la cota inferior de
9.5 a 8.5 y se bifurca de nuevo.
211
El m

etodo de bifurcaci

on y acotaci

on III
Ejemplo 1
La variable x
1
, genera los problemas con las restricciones
x
1
4 y x
1
5 (ver lneas verticales en la gura)
Problema P
3
:
Minimizar Z = x
1
x
2
sujeto a
x
1
0
2x
1
2x
2
1
2x
2
9
x
2
4
x
1
4
Problema P
4
:
Minimizar Z = x
1
x
2
sujeto a
x
1
0
2x
1
2x
2
1
2x
2
9
x
2
4
x
1
5
Etapa 5: Corte. No ocurre nada en esta etapa.
Etapa 6: Optimalidad. Puesto que la lista de procesa-
do no est a vaca se va a la Etapa 3 con P
2
.
Etapa 3: Soluci on. El problema P
2
es infactible, por lo
que no ocurre nada en esta etapa.
212
El m

etodo de bifurcaci

on y acotaci

on IV
Ejemplo 1
Etapa 4: Actualizaci on de cotas. No ocurre nada.
Etapa 5: Corte. Puesto que el problema es infactible, se
aborta esta rama.
Etapa 6: Optimalidad.Puesto que la lista de procesado
no esta vaca se va a la Etapa 3 con P
3
.
Etapa 3: Soluci on. La soluci on, entera, del problema P
3
(el punto P
3
de la gura) es: x
1
= 4; x
2
= 4; z = 8
Etapa 4: Actualizaci on de cotas. Por ser entera
(x
1
, x
2
IN), y estar el valor 8 entre las cotas, se ac-
tualiza la cota superior de + a 8, y se almacena este
problema como candidato a optimo.
Etapa 5: Corte. Por ser entera, se aborta el proceso en
esta rama.
Etapa 6: Optimalidad. Puesto que la lista de procesado
no esta vaca se va a la Etapa 3 con P
4
.
Etapa 3: Soluci on. El problema P
4
es infactible, por lo
que no ocurre nada.
Etapa 4: Actualizaci on de cotas. No ocurre nada.
Etapa 5: Corte. Por ser no factible, se aborta esta rama.
Etapa 6: Optimalidad. Puesto que la lista de procesado
esta vaca, y hay candidato a optimo, este da la soluci on:
x

1
= 4; x

2
= 4; Z

= 8.
213
El m

etodo de los cortes de Gomory I


Una alternativa al metodo anterior es el metodo de los cortes
de Gomory. En cada iteraci on de este metodo, se resuelve
el problema original relajado incluyendo restricciones adi-
cionales, que efectivamente reducen la regi on factible sin
excluir soluciones enteras. En cada iteraci on se a nade una
restriccion adicional, que se denomina corte de Gomory. Es-
ta tecnica genera progresivamente una envolvente convexa
de la regi on factible y de esta forma se obliga a satisfacer las
condiciones de ingralidad. La regi on factible del problema
es:
Ax = b,
aue usando la partici on estandar del Simplex, resulta:

B N

x
B
x
N

= b,
o
Bx
B
+ Nx
N
= b.
Resolviendo en x
B
se obtiene
x
B
B
1
Nx
N
= B
1
b,
y en forma matricial

I B
1
N

x
B
x
N

= B
1
b,
214
El m

etodo de los cortes de Gomory II


que usando notaci on estandar del Simplex resulta

I U

x
B
x
N

=

b,
o
x
B
+ Ux
N
=

b.
Sea x
B
i
una variable b asica no entera. Su correspondiente
la en la ecuaci on anterior es
x
B
i
+

j
u
ij
x
N
j
=

b
i
. (1)
Puesto que la soluci on en curso es b asica y factible, las va-
riables x
N
j
, al ser no b asicas, son nulas; entonces,

b = x
B
,
y puesto que x
B
i
es no entera,

b
i
tiene que ser no entera.
Por otra parte, todo elemento u
ij
puede expresarse como la
suma de un entero (positivo o negativo) y una fracci on no
negativa menor que 1, es decir
u
ij
= i
ij
+ f
ij
; j, (2)
donde i
ij
para todo j es entero, y f
ij
para todo j es una
fracci on no negativa menor que 1.
Analogamente

b
i
se puede descomponer como

b
i
=

i
i
+

f
i
, (3)
donde

i
i
es entero (positivo o negativo) y

f
i
es una fracci on
no negativa menor que 1.
Debe notarse que algunos f
ij
pueden ser nulos, pero

f
i
es
necesariamente positivo.
215
El m

etodo de los cortes de Gomory III


Sustituyendo (2) y (3) en (1) se obtiene:
x
B
i
+

j
(i
ij
+ f
ij
) x
N
j
=

i
i
+

f
i
,
o
x
B
i
+

j
i
ij
x
N
j

i
i
=

f
i

j
f
ij
x
N
j
.
El termino de la izquierda tiene que ser entero pues todas
las variables lo son, y entonces, el de la derecha tiene que
ser tambien entero.
Por otra parte, f
ij
para todo j, y x
N
j
para todo j son no
negativos, por lo que

j
f
ij
x
N
j
es no negativo.
El termino de la derecha de la ecuacion anterior

f
i

j
f
ij
x
N
j
, es simult aneamente
- entero, y
- menor que una fracci on positiva menor que 1,
por tanto

f
i

j
f
ij
x
N
j
es un entero no positivo. Entonces

f
i

j
f
ij
x
N
j
0, (4)
o

j
f
ij
x
N
j


f
i
0. (5)
La ultima desigualdad se llama el corte de Gomory asociado
a la variable b asica x
B
i
.
216
El algoritmo de los cortes de Gomory IV
Datos: Un PPLEM a resolver.
Resultado: Su soluci on optima o un mensaje informando
de soluci on no acotada o inexistencia de soluci on.
Step 1: Initialization. Resolver el problema inicial rela-
jado. Si no es acotado (infactible), parar; el problema
original es no acotado (infactible).
Step 2: Optimality check. Si la soluci on es entera,
parar, es la optima. En otro caso, ir a la Etapa siguiente.
Step 3: Cut generation. Usar una variable b asica con
un valor no entero para generar un corte de Gomory.
Step 4: Problem solution. A nadir un corte de Gomory
al problema en curso, resolverlo, y continuar con la Etapa
2.
217
El algoritmo de los cortes de Gomory V
Debe se nalarase que el n umero de restricciones crece con el
n umero de iteraciones, ya que se a nade una nueva en cada
una de ellas Por ello, es conveniente usar el MPE, ya que
el problema original se transforma en infactible y el dual en
no optimo, pero factible. El ejemplo que sigue ilustra esto.
El problema primal es
Minimizar

3 5

x
1
x
2

sujeto a

1 0
0 1
3 2

x
1
x
2

4
6
18

x
1
x
2

0
0

.
con soluci on
z

= 36;

1
x

2
6

.
Su dual es
Maximizar

y
1
y
2
y
3

4
6
18

sujeto a

y
1
y
2
y
3

1 0
0 1
3 2

3 5

y
1
y
2
y
3

0 0 0

.
218
El algoritmo de los cortes de Gomory VI
Su soluci on es
z

= 36;

1
y

2
y

0
3
1

Si se a nade la condici on x
2
4 el primal resulta el problema
Minimizar

3 5

x
1
x
2

sujeto a

1 0
0 1
3 2
0 1

x
1
x
2

4
6
18
4

x
1
x
2

0
0

.
Notese que la soluci on del problema primal original

1
x

2
6

es no factible para este problema.


El problema dual es
Maximizar

y
1
y
2
y
3
y
4

4
6
18
4

219
El algoritmo de los cortes de Gomory VII
sujeto a

y
1
y
2
y
3
y
4

1 0
0 1
3 2
0 1

3 5

y
1
y
2
y
3
y
4

0 0 0 0

.
Notese que la soluci on del problema dual original

1
y

2
y

0
3
1

con y
4
= 0,
es factible, pero no optima para el problema dual anterior.
220
1
2
3
4
1 2 3 4
First cut
x
1
+x
2
7/2
Second cut
x
1
+x
2
55/16
Third cut
x
1
+x
2
3
Optimal
Solution
P
1
P
2
P
3
P
4
X
1
X
2
Cortes de Gomory I
Ejemplo 1
Considerese el PPLEM: Maximizar Z = 120x
1
+ 80x
2
sujeto a
2x
1
+x
2
6
7x
1
+8x
2
28
x
1
0
x
2
0
x
1
IN,
cuya funci on admisible se muestra en la gura.
El problema anterior relajado y en forma est andar es
Maximizar Z = 120x
1
+ 80x
2
sujeto a
2x
1
+x
2
+x
3
= 6
7x
1
+8x
2
+x
4
= 28
x
1
, x
2
, x
3
, x
4
0.
221
Cortes de Gomory II
Ejemplo 1
la soluci on de este problema es (ver el punto P
1
de la Figura):
z

= 391.11
teniendose

b = x

B
=

1
x

20
9
14
9

; Y

8
9

1
9

7
9
2
9

. (6)
Si se usa x
2
para generar corte, la Ecuaci on (1) da:
x
2

7
9
x
3
+
2
9
x
4
=
14
9
.
Por tanto, se obtiene:
y
21
= i
21
+ f
21

7
9
= 1 +
2
9
f
21
=
2
9
y
22
= i
22
+ f
22

2
9
= 0 +
2
9
f
22
=
2
9

b
2
=

i
2
+

f
2

14
9
= 1 +
5
9


f
2
=
5
9
y el corte (4) resulta
5
9

2
9
2
9

x
3
x
4

0
2
9
x
3
+
2
9
x
4

5
9
o
x
3
+ x
4
5/2.
222
Cortes de Gomory III
Ejemplo 1
Notese que el corte puede expresarse en funcion de variables
originales x
1
y x
2
. En efecto, usando las igualdades del
problema relajado en forma est andar, x
3
y x
4
se expresan:
x
3
= 6 2x
1
x
2
,
x
4
= 28 7x
1
8x
2
,
para obtener el primer corte (lnea de trazos de la gura):
x
1
+ x
2

7
2
.
As se reduce la regi on factible sin excluir soluciones enteras.
El siguiente problema a resolver es
Maximizar Z = 120x
1
+ 80x
2
sujeto a
2x
1
+x
2
+x
3
= 6
7x
1
+8x
2
+x
4
= 28
x
3
+x
4
x
5
= 5/2
x
1
, x
2
, x
3
, x
4
, x
5
0.
Notese que el corte de Gomory se ha introducido usando la
variables adicional x
5
.
Su soluci on es (ver punto P
2
en la gura)
Z

= 380; x

B
=

1
x

4
x

5
2
5
2
1

; Y

1
1
9
1 1
1
2
9

.
223
Cortes de Gomory IV
Ejemplo 1
usando x
1
para generar un nuevo corte, puesto que

b
1
=
x

1
= 5/2, la Ecuaci on (1) resulta
x
1
+ x
3

1
9
x
5
=
5
2
.
Por ello, se puede escribir
y
11
= i
11
+ f
11
1 = 1 + 0 f
11
= 0
y
12
= i
12
+ f
12

1
9
= 1 +
8
9
f
21
=
8
9

b
1
=

i
1
+

f
1

5
2
= 2 +
1
2


f
1
=
1
2
el corte (4) queda
1
2
( 0 8/9 )

x
3
x
5

0
8
9
x
5

1
2
, o x
5

9
16
.
Este segundo corte es funcion de las variable originales x
1
y
x
2
(ver lnea de trazos de la gura):
x
1
+ x
2

55
16
.
El problema siguiente es: Maximizar Z = 120x
1
+ 80x
2
sujeto a
2x
1
+x
2
+x
3
= 6
7x
1
+8x
2
+x
4
= 28
x
3
+x
4
x
5
= 5/2
x
5
x
6
= 9/16
x
1
, x
2
, x
3
, x
4
, x
5
, x
6
0.
224
Cortes de Gomory V
Ejemplo 1
Cuya soluci on es (ver punto P
3
en la gura)
Z

= 377.5; x

B
=

1
x

4
x

5
x

41
16
49
16
9
16
7
8

; Y

1
1
9
1 1
0 1
1
2
9

.
Usando x
2
para generar un nuevo corte, puesto que

b
2
=
7/8, la Ecuaci on (1) resulta:
x
2
x
3
+
2
9
x
6
=
7
8
.
Por ello:
y
41
= i
41
+ f
41
1 = 1 + 0 f
41
= 0
y
42
= i
42
+ f
42

2
9
= 0 +
2
9
f
42
=
2
9

b
4
=

i
4
+

f
4

7
8
= 0 +
7
8


f
4
=
7
8
y el corte (4) resulta
7
8
( 0 2/9 )

x
3
x
6

0
2
9
x
6

7
8
, o x
6

63
16
.
225
Cortes de Gomory VI
Ejemplo 1
El tercer corte en funcion de las variables originales resulta
x
1
+ x
2
3.
El problema siguiente es
Maximizar Z = 120x
1
+ 80x
2
sujeto a
2x
1
+x
2
+x
3
= 6
7x
1
+8x
2
+x
4
= 28
x
3
+x
4
x
5
= 5/2
x
5
x
6
= 9/16
x
6
x
7
= 63/16
x
1
, x
2
, x
3
, x
4
, x
5
, x
6
, x
7
0.
con soluci on (ver punto P
4
de la gura):
z

= 360; x

B
=

3
x

4
x

5
x

6
x

0
7
9
2
63
16
3

.
Puesto que es entera es la solucion del problema original
buscada:
x

1
= 3; x

2
= 0; z

= 360.
226

Você também pode gostar