CONTRIBUIÇÃO
A S A P L I C A Ç Õ E S DOS M O D E L O S D E R E C O B R I M E N T O
EPARTICIONAMENTO
E M P R O G R A M A C Ã O
INTEIRA
G e r a l d o G a l d i n o
d e P a u l a J u n i o r
T E S E
SUBMETIDA
A O C O R P O D O C E N T E D A C O O R D E N A Ç Ã O
D O S P R O G R A M A SD E
P Ó S - G R A D U A Ç Ã O D E E N G E N H A R I A D A U N I V E R S I D A D E F E D E R A L DO R I O
D E
JANEIRO
C O M OP A R T E
D O SREQUISITOS
NECESSARIOS
P A R A A
O B T E N Ç Ã O
DO G R A U D E M E S T R E EM C I E N C I A S ( M . S c . ) .
A p r o v a d a
p o r :
P r o f . N e l s o n M a c u l a n
$i
1 h o
( P r e s i d e n t e )
g y / 4 ' 6 .
-
-
/4
c . 4 1G o f . & o
L i z a r d o R . H . d e A r a ú j o
- 0/c4
&C-,-P r o f . D e r n ê t r i o A 1 o n s o R i b e i r o
R I O D E J A N E I R O , R J
-
B R A S I L
MARÇO D E 1 9 7 8
PATJLA JUNIOR, GERALDO GALDINO DE
Contribuição
às
~ ~ l i c a ç õ e s dos Modelos de Recobrimento e Particionamento&
~rograrnação I n t e i r a[
Rio de Janeiro]1978.
IX, 160p. 29,7cm (COPPE-UFRJ
,
M. Sc. Engenharia de Sistemas e ~omputação,1978)
A Maria do C a r m o
A o D u d u
iii
Agradecimentos
v á r i a s pessoas e i n s t i t u i ç õ e s colaboraram para a r e a l i z a ç ã o d e s t e t r a b a l h o . A e l a s agradecemos e em e s p e c i a l
ao Professor Nelson Maculan, p e l o seu incentivo constante e p e l a orientação e f i c i e n t e , colocando a nossa disposição seu amplo cabe- da1 de experiência e conhecimentos técnicos;
ao Professor Michel Minoux, da Ecole Nationale s u p é r i e u r de Techniques ~ v a n c é e , de P a r i s , com quem tivemos a oportunidade de discu- t i r importantes aspectos d e s t e trabalho, quando de sua passagem p e l a COPPE;
à
Universidade Federal de Viçosa, que proporcionou suporte f i n a n c e i r o p a r a a r e a l i z a ç ã o d e s t a pesquisa;aos Professores ~ o ã o Lizardo R . H. de ~ r a Ú j o e ~ e m é t r i o Alonso Ribeiro, p e l a p a r t i c i p a ç ã o da banca de Tese;
e
à
coordenação dos Programas de ~ & - ~ r a d u a ç ã o de Engenha- r i a da Universidade Federal do Rio de Janeiro, p e l a oportunidade do Mestra-
do em Engenharia de Sistemas e ~ o m ~ u t a ç ã o .E s t e t r a b a l h o u m código p a r a a solução automática de problemas combinat6rios em ~ r o ~ r a m a ç ã o I n t e i r a bivalente. O algoritmo de E-
22
numeração ~ m p l i c i t a
é
u t i l i z a d o na forma proposta por GEOFFRION,
como s i m-
L 2.,
p l i f i c a ç ã o do algoritmo de BALAS
.
~ e s t r i ç õ e s s u b s t i t u t a s ou F i l t r o s , sao implementados para a c e l e r a r o processo de enumeração de pseudo-soluçÕes p a r-
c i a i s . O s problemas de determinação dos conjuntos Recobrimento e P a r t i c i o n a-
mento d n i m o s e suas formas p a r t i c u l a r e s dentro da t e o r i a dos g r a f o s não o- rientados são t r a t a d o s aqui, e como aplicação,é
proposta uma metodologia para a solução do problema de alocação Ótima ou p e l o menos v i á v e l , de tri-Summar y
This work proposes a code f o r automatic s o l u t i o n of combinatorial problems i n b i v a l e n t I n t e g e r Programming. The I m p l i c i t
22
Enumeration algorithm i s u t i l i z e d i n t h e form proposed by GEOFFRION
,
a s2
a s i m p l i f i c a t i o n of t h e BALAS algorithm. F i l t e r s o r s u r r o g a t e c o n s t r a i n t s a r e implemented t o a c c e l e r a t e t h e p a r t i a 1 pseudo-solutions enumeration process. The set-covering and s e t - p a r t i t i o n i n g problems and i t s p a r t i c u l a r v e r s i o n s w i t h i n non-oriented graph theory, a r e t r e a t e d here. A s an a p p l i c a t i o n , a methodology i s proposed f o r t h e s o l u t i o n of a i r l i n e crew scheduling problem.
I N D I C E
- - -
c a p i t u l o I
-
Modelos ~ o m b i n a t ó r i o s : Suas k e a s de ~ p l i c a ç ã o , H i s - t ó r i c o , Dificuldade Computacional e Plano de Traba- l h o . . .-
1.1
-
Introduçao...
1 . 2-
~ i s t ó r i c o...
1.3
-
Dificuldades da Área e P o l i t i c a para vencê-las..
1 . 4
-
Plano de T r a b a l h o . . .c a p i t u l o I1 - O Processo de ~ n u m e r a ~ ã o das seud do-~oluçÕes.
. . .
. . s 2 . 1
-
Introduçao...
-
2.2-
Definiçao do P r o b l e m a . . .2.3
-
Procedimento para Enumerar a s ~ o l u ç Õ e s de (P).
.
.
2.4-
c r i t é r i o p a r a construção do Melhor Complementode uma Pseudo-~olução P a r c i a l . .
. . .
. . .
. . .
.
. .
2.5-
0 Algoritmo...
2.6-
~ c e l e r a ç ã o do Algoritmo, F i l t r o s ou R e s t r i ç õ e sS u b s t i t u t a s . . .
2.7
-
Algumas 0bservaçÕes Adicionais... . . .
. . .
.
.
. .
. . . .
.
c a p i t u l o 111-
O s Modelos de Recobrimento e Particionamento... .
.
.
.
. . .
N
3.1
-
Introduçao...
3.2-
Conjunto Recobrimento e Conjunto Particionamento-
3.3
-
Definiçao dos M o d e l o s . . .3.4
-
conversão de um (PCP) em um (PCR)
. .
. .
. . .
. . .
. . .
3.5
-
Reduções ( ~ l i m i n a ç ã o de Linhas e Colunas da Ma- t r i z dos Modelos de Recobrimento e Particioname; t o ) ..
.
. . .
.
. . . .
.
. . . .
.
. .
.
. . .
v i i
3.6
-
O s Modelos de Recobrimento e Particionamento esuas Formas continuas
...
44
3.7
-
Algoritmo p a r a a solução dos Problemas de Reco- brimento e Particionamento...45
c a p i t u l o I V
-
O Emparelhamento ~ á x i m o e Recobrimento Minimo em Gra- ,.! f o s Nao O r i e n t a d o s . . .47
-
4.1
-
Introduçao...
47
4.2
-
Conceitos ~ á s i c o s...
47
4.3
-
Emparelhamento em Grafos Bipartidos...
51
4.4
-
O Problema do Recobrimento em um Grafo...53
4.5
-
~ e l a ~ õ e s e n t r e Emparelhamentos e Recobrimentos ,.! em um Grafo Nao O r i e n t a d o . . .54
,.! 4.6
-
Observaçoes A d i c i o n a i s . . .56
c a p i t u l o V
-
c8digo para a ~ o l u ç ã o dos Problemas de ~ r o ~ r a m a ç ã o In- t e i r a Bivalente, de ~ e t e r m i n a ç ã o dos Conjuntos RecobrL mento e Particionamento Minimos, Empar&lhamento ~ á x i m o e Recobrimento Mhimo em um Grafo N ~ O Orientado....
57
N
5.1
-
Introduçao...
57
5.2
-
A Linguagem U t i l i z a d a . . .57
5.3
-
Aspectos E3ásicos do Programa...
58
-
5.4
-
Descriçao Sucinta das P r i n c i p a i s Rotinas do P p grama e suas P r i n c i p a i s v a r i á v e i s ~ o c a i s ou Pas- A sadas como Parametros...58
-
5.5
-
C o n c i u s o e s . . .67
5.6-
Como U t i l i z a r o Programa...
67 c a p i t u l o V I-
Aplicação: Catalogação e ~ l o c a ~ ã o de ~ r i ~ u l a ç õ e s em Linhas ( ~ o t a s ) Aéreas.....
70
..,
6 . 1-
Introduçao...
70v i i i
6.2
-
Aspectos G e r a i s e ~ o r m u l a ç ã o do Problema.....
70
6.3
-
O Gerador da Matriz d a s ~ e s t r i ~ õ e satriz
Catá-logo)
...
72
N6.4
-
A Questao dos c u s t o s . . . , . . .73
N6.5
-
A s Reduçoes...
74
6.6
-
~ t r i b u i ç ã o ( ~ l o c a ç ã o ) I n d i v i d u a l de T r i p u l a n t e s w...
à s
Tripulaçoes74
6.7
-
Um Tratamento A l t e r n a t i v o da Modelagem...
75
N6.8
-
Uma I l u s t r a ç a o Numérica...
76
A Apendice...
81
...
B i b l i o g r a f i a154
MODELOS COMBINAT~RIOS : SUAS ÁREAS DE APLICAÇÃO, HIST~RICO
,
DIFICULDADE COMPUTACIONAL E PLANO DE TRABALHO.Na l i t e r a t u r a c o r r e n t e sobre ~ r o ~ r a m a ç ã o ~ a t e m á t i c a e em p a r
-
titular sobre ~rogramação I n t e i r a , encontramos f a r t a s r e f e r ê n c i a s ao f a t o de que o p o t e n c i a l de aplicação d e s t a á r e a tem c r e s c i d o enormemente e nas duas Últimas décadas numerosos avanços t e ó r i c o s foram r e g i s t r a d o s . Como re- sultado d e s t e s avanços temos hoje uma v a s t a coleção de métodos e algoritmos que a l i a d o s ao desenvolvimento da exatidão, velocidade e s o f i s t i c a ç ã o dos sistemas de computadores d i g i t a i s , prometem s e r de grande v a l i a na solução de importantes problemas p r á t i c o s que e s t ã o surgindo.Neste t r a b a l h o tentaremos f a z e r l i g e i r a s contribuiçÕes
as
a- plicações de r e s u l t a d o s de natureza cornbinatória, colocandoi
disposição um código p a r a solução dos problemas de ~ r o ~ r a r n a ç ã o I n t e i r a bivalente, de de- terminação dos conjuntos recobrimento e particionamento d n i m o s , emparelha- mento máximo e recobrimento d n i m o em g r a f o s não orientados.Desde que a s c i r c u n s t & c i a s forçaram uma opção p e l a s o f i s t i - cação tecnolÓgica, v á r i o s problemas de natureza combinatória surgiram e c02
I r
tinuam aparecendo e os identificamos frequentemente na construção de gran- des redes de transmissão de informações ou de dados p a r a processamento auto
, . ,
mático, no s e t o r de t r a n s p o r t e urbano, na alocação de t r i p u l a ç õ e s e avioes das companhias aéreas, na administração do espaço f i s i c o em e s c o l a s e uni- versidades, no s e t o r p o l i t i c o , na construção de c i r c u i t o s e l e t r ô n i c o s i m -
pressos, na recuperação de informações de grandes arquivos em c e n t r o s de processamento de dados, na seleção de p r o j e t o s s u j e i t o s a uma r e s t r i ç ã o or-
çament&ia, e t c . Com a necessidade das soluçÕes desses problemas, e s t á sur- gindo uma área de estudos que poderiamos denominar de "otimização combinató
-
r i a " eé
nesse campo que pretendemos desenvolver algumas experiências. .Naturalmente foram muitos os pesquisadores que trabalharam com processos enumerativos de busca de soluçÕes de problemas de ~ r o ~ r a m a ç ã o I n t e i r a , que promoveram progressos no estudo de s i t u a ç õ e s especialmente es- t r u t u r a d a s , como os problemas dos conjuntos recobrimento e particionamento, suas r e l a ç õ e s e seu enfoque p a r t i c u l a r dentro da t e o r i a dos grafos. Mas pa- r a f i n s do nosso t r a b a l h o e seguindo a ordem em que abordaremos os f a t o s , faremos um breve h i s t ó r i c o , relacionando somente os nomes dos p r i n c i p a i s c o n t r i b u i n t e s .
Praticamente, o primeiro t r a b a l h o a e s t a b e l e c e r v a l i o s o s crL t é r i o s no sentido de otimizar processos de enumeração e a receber ampla d i - vulgação nos s e t o r e s especializados, f o i o de LAND e DOIG em 1960, resumida mente referenciado p e l o nome de "Branch and Bound". Posteriormente, em
1953,
BALAS introduziu a s bases da enumeração i m p l i c i t a bivalente, aperfeiçoada por e l e mesmo em1965,
quando o processo chamou a atenção dos e s p e c i a l i s t a s de Pesquisa Operacional. Seguindo a e s t a f a s e , GLOVER, a p a r t i r de1965,
introduziu s e n s i v e i s progressos, mostrando a p o s s i b i l i d a d e de serem usadas r e s t r i ç õ e s e s p e c i a i s que funcionariam como f i l t r o s , promovendo a aceleração do processo. GEOFFRION,1967
e1969,
mostrou um i n t e r e s s a n t e processo de ge r a r e s s e s f i l t r o s a p a r t i r de soluções produzidas por v a r i á v e i s d u a i s r e l a - t i v a sàs
r e s t r i ç õ e s do problema proposto, juntamente com uma l i g e i r a modifi cação do conceito de "poder" desses f i l t r o s no s e n t i d o de a c e l e r a r a conver-
gência, inicialmente proposto por GLOVER.ai
em d i a n t e e por algum tempo, BALAS, GLOVER e GEOFFRION s e alternaram e outros pesquisadores como SPIELBERG, LEMKE e SALKIN, introduziram refinamentos v a l i o s o s na f m a dost e s t e s e x i s t e n t e s . GARFINKEL e NEMHAUSER, promoveram estudos e algoritmos e s p e c i a i s p a r a a solução dos problemas de determinação dos conjuntos reco- brimento e particionamento minimos. Nesse sentido podemos c i t a r mais uma vez a de BALAS que proporcionou, juntamente com PADBERG, r e s u l
-
tados i n t e r e s s a n t e s nesse campo. A equivalência e n t r e o emparelhamento máxi-
..2
mo e o recobrimento minimo em um g r a f o nao orientado, f o i construida por NORMAN e RABIN em 1959. Um r e c e n t e t r a b a l h o de BALAS e SAMUELSSON,
19-/7,
apresentou um novo algoritmo para os problemas de emparelhamento e reco- brimento em graf os não orientados. Outros pesquisadores, como GREENBERG, BELLMORE
,
SPITZER,
BALINSKI e QUANDT,
s e ocuparam de aplicaçÕes, resolvendo importantes problemas p r á t i c o s , u t i l i z a n d o os recursos c o m b i n a t ~ r i o i mencio-
nados...2
Diferentemente ao caso dos programas
continuas
( ~ r o ~ r a m a ç a o ~ i n e a r ) , não há esperanças de, no f u t u r o podermos r e s o l v e r todosos problemas de Programação I n t e i r a por um Único algoritmo. Por outro lado, a dificuldade computacional observada n a s t é c n i c a s de ~ r o ~ r a m a ç ã o I n t e i r a de c a r á t e r g e r a l , conduziu
à
formulação e desenvolvimento de métodos especi-
a i s para solução de problemas i n t e i r o s que possuam e s t r u t u r a s p a r t i c u l a r e s . I s t oé,
algoritmos e s p e c i a i s são continuamente produzidos u t i l i z a n d o a es- t r u t u r a p a r t i c u l a r de uma f a d l i a de problemas. Uma outra p o s s i b i l i d a d e ,é
p r o j e t a r algoritmos complexos, capazes de a n a l i s a r , a v a l i a r e d e c i d i r que t i p o de procedimento poderia s e r aplicado na solução do problema p a r t i c u - l a r que s e apresentasse. Por exemplo, existem algoritmos para solução do p r o-
blema de determinação do conjunto recobrimento minimo, que trabalham melhor com matrizes de a l t a densidade e outros, ao c o n t r á r i o , são mais e f i c a z e s no t r a t o com matrizes de baixa densidade. Aceitamos a i d é i a de que qualquer e? tudo experimental dentro d e s t e campo, deva s e r levado a e f e i t o com uma-
t i c a (que pode s e r uma dessas), bem d e f i n i d a em mente, o que t e n d e r i a mini- mizar d i f i c u l d a d e s de ordem global.
Iniciaremos com um
capitulo
sobre enumeração p a r c i a l que de- verá s e c o n s t i t u i r no miolo de todo o processo que produzirá na sua Última forma, a ferramenta com que poderemos r e s o l v e r o problema (aplicação) pro- posto no cAF'ÍTULO V I . Em seguida cuidaremos de uma p a r t e dedicada;
questão da determinação dos conjuntos recobrimento e particionamento d n i m o s (na sua forma p r á t i c a , o modelo de particionamento s e assemelha ao de recobri- mento com r e s t r i ç õ e s de igualdade).&,
no CAP~TULO 111, e s t a r á o esqueleto da aplicação que pretendemos recomendar. Segue o CAP~TULO I V , onde r e l a c i o - namos a s i d é i a s p a r t i c u l a r e s , daquelas do CAF'ÍTULO 111, dentro da Teoria dos Grafos, i. e . , trataremos com o emparelhamento máximo e recobrimento&
nimo em g r a f o s não orientados. No CAF'ÍTULO V, descrevemos a construção do código, objeto c e n t r a l de nossas experiências e finalmente, no cAF'ÍTULO V I , ilustramos a a p l i c a b i l i d a d e do programa, recomendando uma aplicação r e f e r e s t e;
alocação de t r i p u l a ç õ e s em r o t a s a é r e a s p a r a uma companhia de aviação.Vamos colecionar e ordenar os r e s u l t a d o s necessários p a r a a solução de um problema de ~ r o g r a m a ~ ã o I n t e i r a bivalente, p e l o método de enu
-
meração p a r c i a l ou enumeração i m p l i c i t a , comoé
conhecido na l i t e r a t u r a cor r e n t e .S e j a z uma função
Sobre
z
queremos r e s o l v e r o seguinte problema:minimizar z =
1
s u j e i t o a b.4- 1
)
a . x . > 0 , i~ J i < M = ( ' ,...,
.)
Algumas vezes preferiremos uma forma mais compacta:
minimizar z = cx (11.6)
s u j e i t o a b -i- Ax
>
2,
(11.7) onde c o v e t o r de n dimensõès ( c. .
. , c),
b e 0, respectivamente os vetol'
9
-
t
t
r e s de m dimensões (b
.
.
.
,
b)
e (0,. . .
, O ) .
x= (x,
. . .
,x
)
é
um ve'cor biná-1' m 1 n
r i o de n dimensões e A= ( a .
.),
6
unia matriz mxn. Qualquer v e t o r b i n á r i o x de1 J
n dimensões, s e r á chamado uma l~pseudo-soluç~o" de
(P)
.
Qualquer pseudo-solu-
&o que s a t i s f i z e r(11.4)~
s e r á chamada de solução v i á v e l de (P) e a solu- ção v i á v e l de (P) que minimizar, z e n t r e todas a s soluçÕes v i á v e i s , implici- t a ou explicitamente enumeradas, s e r á chamada de solução Ótima de ( P ) .Suporemos sempre que c > 0, sem que i s t o c o n s t i t u a uma res- t r i ç ã o generalidade, uma vez que, ocorrendo c
.<
O, transformaremos x emJ j
1
-
x g . NO decorrer da apresentação das i d é i a s , f i c a r á c l a r a a necessidade jde mantermos sempre e s t a situação.
~ambém aproveitamos a p o s s i b i l i d a d e de podermos desenvolver u m número na sua correspondente forma (expressão) de base 2, para estender- mos nosso algoritmo na t a r e f a de solucionar qualquer problema de Programa- ção I n t e i r a limitado, i . e . , qualquer problema de Programação I n t e i r a onde cada v a r i á v e l
x
>
0, possui uma c o t a superior u De f a t o , s e xé
uma v2k
k'
kr i á v e l i n t e i r a qualquer, possuindo uma cota superior u i . e . , x k < uk, pc k'
K+1
onde K
é
o menor nÚmero determinado de t a l forma a s a t i s f a z e r 2-
1> uk. O inconveniente d e s t a representação,é
a grande quantidade de v a r i á v e i s que surgem p a r a grandes v a l o r e s de u tornando a solução do problema impraticák 7
-
v e l dentro de um tempo computacionalmente v i á v e l .
2.3
-
PROCEDIMENTO PARA ENUMERAR PARCIALMENTE A S SOLUÇÕES DE (P).
Para formalizar melhor a s i d é i a s envolvidas n e s t e procedimen
-
t o , precisamos de alguns termos (ou expressÕes), c u j a s d e f i n i ç õ e s daremos-
a gora. Comecemos por "pseudo-soluç~o p a r c i a l " .Uma pseudo-soluç~o p a r c i a l ,
é
uma a t r i b u i ç ã o de v a l o r e s biná-
r i o s a um subconjunto das n v a r i á v e i s .Uma v a r i á v e l
à
qual não s e a t r i b u i u v a l o r , s e r á chamada de " v a r i á v e l l i v r e " ( t r a t a - s e de uma v a r i á v e l l i v r e p a r a receber uma a t r i b u i - ção b i n á r i a no momento em que os t e s t e s do algoritmo determinarem).Representaremos uma pseudo-soluç~o p a r c i a l por W, conjunto dos í n d i c e s das v a r i á v e i s que compõem a pseudo-soluç~o p a r c i a l , de t a l f o r - ma que s e j W, x . = l e s e - j Para i l u s t r a r , s e E J teremos x =1, x =1,
4
x
6
=o
e a s v a r i á v e i s l i v r e s re- 2 m,lativamente a e s t a pseudo-soluç~o p a r c i a l , serao x X3 e X5-
Dada uma pseudo-soluç~o p a r c i a l W, t a l que c a r d ( ~ ) = k , exis- tem n-k v a r i á v e i s l i v r e s . Atribuindo v a l o r e s 0-1 a e s s a s n-k v a r i á v e i s li-
n-k
v r e s , podemos formar 2 v e t o r e s de n-k dimensões, que chamaremos de "veto
-
r e s l i v r e s " . Tomando o pequeno exemplo dado, temos o s s e g u i n t e s v e t o r e s li-v r e s r e f e r e n t e s a W:
Com i s s o podemos d e f i n i r o complemento de uma pseudo-soluç~o p a r c i a l .
Um "complemento" ou "remate" de uma pseudo-soluç~o p a r c i a l W,
é
uma pseudo-soluç~o d e f i n i d a p e l o s v a l o r e s das v a r i á v e i s cujos h d i c e s es- t ã o em W, juntamente com os valores das v a r i á v e i s especificados num dos ve- t o r e s l i v r e s . Mais uma vez, s e n=6 e W=,
o remate da pseudo-soluç~o p a r c i a l (?, 1, ?, 1, ? , O ) ,é
a pseudo-solução (1,1,0,1, 1, O ) , formada com o ve- t o r l i v r e(*)
dado acima.O complemento nulo de uma pseudo-soluç~o p a r c i a l ,
é
uma pseu-
do-solução formada com o v e t o r l i v r e que tem todos os elementos i g u a i s a ze r0.
O número de complementos de uma pseudo-soluç~o p a r c i a l
é
na- turalmente o mesmo de v e t o r e s l i v r e s . Portanto, uma pseudo-soluç~o p a r c i a ln-k
W, t a l que card(#)=k, tem 2 complementos ou remates. W
é
o complemento de si mesma quando não existem v a r i á v e i s l i v r e s . Neste caso, c a r d ( ~ ) = n .Na descrição do procedimento para enumerar a s pseudo-solu- çÕes p a r c i a i s de (P), a s variações dos verbos "podar" e "sondar", t e r ã o si- gnificados tecnicamente precisos:
O a t o de "podar" uma pseudo-soluç~o p a r c i a l ( P ) , executado p e l o algoritmo, corresponde
2
ação de:i ) enumerar a pseudo-soluç~o p a r c i a l e enumerar implicitame; t e todos os seus complementos, s e a pseudo-soluç~o p a r c i a l não tem comple- mento v i á v e l .
ii) caso c o n t r á r i o , enumerar o melhor complemento v i á v e l da pseudo-soluç~o p a r c i a l e enumerar implicitamente todos os seus outros com- plementos.
O algoritmo 'lsonda" uma pseudo-soluç~o p a r c i a l quando e l a
é
v i á v e l (ou tem complemento v i á v e l ) , verificando s e seu melhor complemento v i á v e l produz uma c o t a s u p e r i o r sobre a solução ;tima melhor (menor) do queaquela conhecida a t é aqui. Em seguida poda a r e f e r i d a pseudo-soluç~o parci- a l .
Faremos r e f e r ê n c i a ao "um" como complemento lógico do "zero" e vice-versa, o que certamente não s e r á confundido com complemento de uma pseudo-soluç~o p a r c i a l .
O número de todos os v e t o r e s binários-que definimos como n
pseudo-soluçÕes de
(P),
é
2,
e portanto, por u m processo exaustivo de enu- meração, poderiamos encontrar a solução Ótima de (P), quando e l a e x i s t i s s e . Entretanto, qualquer busca exaustiva da solução de (P), s e r i a por demais dispendiosa, principalmente em termos de tempo, para o s v a l o r e s de n que surgem nas aplicações p r á t i c a s . A i d é i a da enumeração p a r c i a l ou i m p l i c i t a ,2
proposta por BALAS, s u r g i u no sentido de e s t a b e l e c e r um algoritmo munido de c r i t é r i o s que permitissem podar t o d a s . a s pseudo-soluçÕes p a r c i a i s sem per-
I 1
c o r r e r exaustivamente a árvore gerada por e l a s . Esses c r i t é r i o s dão seq&- c i a a um mecanismo dinâmico de avanço e r e t o r n o sobre os ramos da árvore em cu jos nós e s t ã o a s pseudo-soluçÕes.
O algoritmo estabelece uma poda passando ao complemento &i
-
co do Último elemento ainda não complementado na pseudo-soluç~o p a r c i a l po- dada e liberando a s v a r i á v e i s cujos i n d i c e s figuram na pseudo-soluç~oparti
a 1 podada, imediatamente
à
d i r e i t a dele.Em resumo, enumeração i m p l i c i t a
é
um processo de solução ba-.
2.-.seado na geração de um g r a f o t i p o árvore, c u j o nos sao d e p o s i t á r i o s das pseudo-soluçÕes p a r c i a i s e baseado em c r i t é r i o s que permitem enumerar i m p l i
c i t a ou explicitamente todas a s pseudo-soluçÕes p o s s i v e i s .
W
é
um conjunto ordenado, no s e n t i d o de que a ordem dos seus11
elementos, r e f l e t e a ordem em que foram gerados, i. e . , r e f l e t e a sequência n a t u r a l definida p e l o s mecanismos de avanço e r e t o r n o do processo enumera- vo. Quando um i n d i c e de W
&
logicamente complementado, e l eé
também subli- nhado para i n d i c a r que o outro valor de sua v a r i á v e l já f o i considerado. A l -gumas vezes abreviaremos por "complemento 16gico1r, aquilo que na verdade
é
o complemento lógico sublinhado.v e r i f i c a s e e l a
é
v i á v e l . Se f o r , v e r i f i c a ainda (sonda) s e seu melhor com- plemento v i á v e l fornece uma c o t a s u p e r i o r sobre a s6iução Ótima, melhor do que aquela conhecida a t é aqui. Se i s t o acontece, a pseudo-soluç~o p a r c i a lé
considerada sondada, seus complementos são excluidos de f u t u r a s considera- ções, excessão f e i t a de seu melhor complemento v i á v e l queé
armazenado, j- tamente com a cota, para f u t u r a s averiguações ( f u t u r a s comparações). Se a c o t a produzida nãoé
melhor do que a e x i s t e n t e , o algoritmo simplesmente pc*i ,
da a pseudo-soluç~o p a r c i a l em questão. Se a pseudo-solug~o p a r c i a l nao e v i á v e l , o algoritmo t e n t a vencer a i n v i a b i l i d a d e , buscando uma pseudo-solu- ção p a r c i a l descendente d e s t a , da seguinte forma: coleciona a s v a r i á v e i s li
-
v r e s que f i x a d a s ajudariam na obtenção de uma c o t a superior melhor do que a e x i s t e n t e e cooperariam p a r a vencer a i n v i a b i l i d a d e . Se não existem variá- v e i s l i v r e s com e s s a s caracter:sticas, o algoritmo poda a pseudo-soluç~o paz c i a l . Caso c o n t r á r i o , e l e elege dentre a s v a r i á v e i s com a s c a r a c t e r i s t i c a s acima, aquela que minimiza a quantidade t o t a l de i n v i a b i l i d a d e e x i s t e n t e . O i n d i c e d e s t a v a r i á v e lé
acrescentado àqueles da pseudo-soluç~o p a r c i a l con- siderada, formando com e l e s uma nova pseudo-soluç~o p a r c i a l descendente da- quela.k I 1
Representamos por
(W
)
a sequência das pseudo-soluçÕes par- oc i a i s . O algoritmo i n i c i a o processo de enumeração com W =
4.
O processoO O
terminaria nesse ponto s e o algoritmo podasse W
,
p o i s c a r d ( ~ )=O e os com-o n
plementos de W
,
em número de 2,
seriam implicitamente enumerados. Caso1 O
c o n t r á r i o , o algoritmo obtém W
,
como descendente de W,
p e l o aumento d e s t a com a e l e i ç ã o de uma v a r i á v e l l i v r e , a cada passo tentando podar (ainda que depois de sondar), a p r e s e n t e pseudo-soluç~o p a r c i a l . Prosseguindo assim,P
a t é que na p-ésima pseudo-soluç~o p a r c i a l , W
é
sondada. O melhor complemen-
P
t o de W
,
s e e s t e produzir uma c o t a s u p e r i o r sobre a solução Ótima melhor do que a cota conhecida a t é então,é
guardado como uma solução candidata.P
k
aDois membros sucessivos, W e WpC1, da s e q k n c i a
(W
)
sao P d i s t i n t o s ou porquewP
C
wp+l,,
que acontece quandowp+lé
descendente de W ou porque possuem elementos logicamente c6mplementares. E s t e f a t o f a z da s e-
11
k
"
..
ca nenhuma pseudo-soluç~o p a r c i a l previamente podada.
A fim de v i s u a l i z a r melhor o que f o i d i t o acima, a f i g u r a 11.1, mostra p a r t e de uma árvore gerada p e l a s pseudo-soluçÕes p a r c i a i s de um problema de ~ r o ~ r a m a ç ã o I n t e i r a bivalente. L; e s t ã o representados doze elementos da que rege a de u m membro I r , .
k
sequencia
(W
).
través
d e s t e s elementos podemos observar a l e i .-11
f ormação da sequência de pseudo-soluçÕes p a r c i a i s . Passamos
,.
para outro da s e q u e n c i a , s e j a p e l a complementação l ó g i c a do
ÚL
timo elemento ainda não complementado, s e j a p e l o acréscimo de mais um ele- mento. No primeiro caso, abandonamos todos os elementos imediatamente
;
di- r e i t a do Último elemento complementado. E s t e f a t o corresponde a um r e t o r n o11
nos ramos da árvore. ~ u a n d o a passagem p a r a o membro da sequência, s e f a z a t r a v é s do acréscimo de mais u m elemento, o algoritmo e s t á provocan- do um avanço nos ramos da &ore (criando um descendente). Observamos que a
1 2 2 2,
diferença e n t r e W e W, e s t á no elemento a mais que
W
possui(W
e descenden-
1
t e de W
)
e a diferença e n t r ew2
e I?, e s t á no elemento logicamente comple-3
mentado que W possui.
2.4
-
CRITÉRIO PARA CONSTRUÇÃO DO MELHOR COIVIPLEMENTO DE UMA PSEUDO-SOLUÇÃOPARCIAL.
Se para uma pseudo-soluç~o p a r c i a l W, f o r construido um com-. plemento, atribuindo a cada v a r i á v e l l i v r e x o v a l o r O ou 1, conforme
j
c
.
>
O ou c.
<
0, respectivamente e lembrando que nosso problemaé
de mini-J J
mização, estaremos d i a n t e de um complemento da pseudo-soluç~o p a r c i a l , que s e f o r v i á v e l , s e r á o melhor complemento v i á v e l em cpestão. Como o s custos de (P) são todos p o s i t i v o s ou temos a p o s s i b i l i d a d e de obtê-los assim, p e l a transfomnação de v a r i á v e i s
já
explicada no i n i c i o , observamos que o comple- mento nulo de uma pseudo-soluç~o p a r c i a l , quando f o r v i á v e l , s e r á o melhor complemento v i á v e l nessas condições. A s s i m , s e o complemento nulo v i á v e l de uma pseudo-soluç~o p a r c i a l não produzir uma c o t a superior sobre a soluçãoFigura
11.1
P a r t e d e uma árvore d e pseudo-soluç~es p a r c i a i s de
um
problema de ~ r o ~ r a m a ç ã o I n t e i r a b i v a l e n t eÓtima melhor do que a a t u a l , o algoritmo não tem necessidade de t e s t a r os ou
-
t r o s complementos e o que e l e tem a f a z e r ,é
podar a pseudo-solução p a r c i a l-
em questao.
Com r e l a ç ã o ao complemento nulo de cada pseudo-soluç~o parci- a l , o algoritmo tem duas c o i s a s a f a z e r :
i. Testar sua viabilidade.
ii. Se f o r v i á v e l , v e r i f i c a r (sondar) s e a c o t a s u p e r i o r sobre a solução Ótima, gerada por e s t e complemento,
é
melhor do que a Última c o t a armazenada como candidata ao Ótimo de0
'
)
Obviamente, a segunda condição s e r á t e s t a d a s e a primeira s e cumprir e do cumprimento da segunda condição, r e s u l t a r á o armazenamento do r e f e r i d o com- plemento nulo como solução candidata ao Ótimo. Do cumprimento ou não da con- '
dição ( i i ) , o passo que o algoritmo executa,
é
a poda da a t u a l pseu- do-solução p a r c i a l e o não cumprimento da condição ( i ) , f a z com que o a l g o r c mo t e n t e e s t a b e l e c e r uma pseudo-soluç~o p a r c i a l descendente da a t u a l .2.5
-
O ALGORITMO.A s r e s t r i ç õ e s do nosso problema,
t ê m
a formaChamando de y
,
i M a v a r i á v e l de f o l g a , a s r e s t r i ç õ e s assumem o aspecde onde tiramos naturalmente que
Uma pseudo-soluç~o p a r c i a l W s e r á v i á v e l , quando
e e s t a v i a b i l i d a d e s e t r a n s f e r e automaticamente p a r a o complemento nulo de W. Quando W não
é
v i á v e l , o algoritmoW
j l i v r e sI
z+
c.<
z J min' C - lW *
onde z e o v a l o r de c r i a o conjunto: a>
O p a r a algum y.<
O i j 1vazio, W
é
podada. Certamente um jnão melhorará a c o t a s u p e r i o r z sobre a solução Ótima ou não cooperará pa
min
-
r a diminuir a i n v i a b i l i d a d e . I s t o quer d i z e r que, s e p a r a algum y.< O, ti-
1
vermos
(11
014)
não temos como eliminar a i n v i a b i l i d a d e da a t u a l pseudo-soluç~o p a r c i a l , o algoritmo não t e r á como c r i a r uma descendente p a r a e l a . V não sendo vazio ou não acontecendo
(11.14)~
o algoritmo e l e g e um i n d i c e jE
V, que reduz ao&-
nimo a i n v i a b i l i d a d e da a t u a l pseudo-soluç~o p a r c i a l . Em o u t r a s p a l a v r a s , es-
F e i t o i s t o , e l e acaba de c r i a r uma nova p s e u d o - s o l u ~ ~ o p a r c i a l , descendente da a n t e r i o r . O s t e s t e s são novamente acionados e o processo enumerativo con- t i n u a d e n t r o d e s t a l i n h a . Um exemplo i l u s t r a r á bem o que dissemos.
2 Exemplo: BALAS
.
S e j a o problema de ~ r o ~ r a r n a ç ã o I n t e i r a minimizar z=5x +7x +lOx +3x+
x 1 23
4
5
s u j e i t o a Iniciamos com Z - + m min O v e t o r das f o l g a s f i c aComo existem elementos negativos ( b a s t a que e x i s t a um), passamos a
V={.
1,374
I
Como V
#
4 ,
verificamos s e6
p o s s i v e l eliminar a i n v i a b i l i d a d e : i= 1 -2+1+0+5+1+0 =5
>
Oi=3
-1+0+0+2+0+0 = 1>/
O. oy=
(3,-3,l)
Como y ( 2 ) < 0, temos
V={ 2 , s
I
Como V # $
,
tentamos vencer a i n v i a b i l i d a d e :1 Descendente de W :
~ = ( 0 , 3 , 0 ) -
2 .
Como y ( i ) 2 O, v i E M, a pseudo-soluç~o p a r c i a l W e v i á v e l e s e u melhor complemento v i á v e l ,
é
o complemento nulo.e como
17
< z,
temos que minz t 1 7 e
min
x
"candidata" + (O, 1, 1, O, O ) .L
O algoritmo acaba de sondar a pseudo-soluç~o p a r c i a l
W
,
no passo e- l a s e r á podada, i . e . , seu melhor complemento v i á v e l s e r á enumerado e os ou- t r o s complementos, implicitamente enumerados e teremos:Como y ( 2 ) < 0, temos
V={
5
1
e como V
#
4
,
passamos ai= 2 -3+2 =-1
<
O.Com o i n d i c e em V não s e consegue vencer a i n v i a b i l i d a d e da r e s t r i ç ã o 2. As-
s i m , o algoritmo poda
w3.
C omo a i n v i a b i l i d a d e da t e r c e i r a r e s t r i ç ã o nao pode s e r superada,
-
a1-
4
goritmo poda W e encerra o processo enumerativo. O algoritmo termina o pro- cesso enumerativo, quando e l e poda uma pseudo-soluç~o p a r c i a l em que todos os elementos já foram logicamente complementados. Esta
é
sua r e g r a de para- da. A solução Ótimaé
a Última solução que f o i guardada como solução candida-
t a eé
portanto:A árvore gerada p e l a s pseudo-soluçÕes p a r c i a i s enumeradas e s t á n a figu-
,.,
r a 11.2. Ela tem
5
nós e os o u t r o s implicitamente enumerados, sao em número deFigura 11.2
Árvore das pseudo-soluçÕes p a r c i a i s do exemplo apresentado.
Colecionamos agora os passos do algoritmo.
P Passo 1: Faça p=O e W = $
.
P
Passo 2: Se W não pode s e r sondada, vá para o passo
3,
senão vá p a r a o pas- s o4.
Passo
3:
Se e x i s t e um i n d i c e j, de v a r i á v e l l i v r e , que produz uma c o t a supe- r i o r melhor (menor) sobre a solução Ótima e diminui a quantidade t o-
t a l de i n v i a b i l i d a d e , aumentewP
acrescentando jà
sua d i r e i t a , fa- ça p + p + l e v o l t e ao passo 2. Caso c o n t r á r i o , vá para o passo5.
Passo4:
Se o melhor complemento v i á v e l dewP
f o i encontrado e s e e l e produzuma cota superior melhor do que a c o t a produzida p e l a Última solu- ção candidata, armazene e s t e complemento v i á v e l como a a t u a l solu- ção candidata
.
P
Passo
5:
Encontre o elemento de W,
maisà
sua d i r e i t a ainda não logicamente complementado. Se não e x i s t e nenhum, termine. Caso c o n t r á r i o , tro-que-o p e l o seu complemento lógico sublinhado e abandone todos os e- lementos imediatamente
;
sua d i r e i t a . Faga p-+p+l e v o l t e ao passo22
Teorema: G L O V E R ~ ~ e GEOFFRION
.
A sequênoia de pseudo-soluçÕes p a r c i a i s ge- rada p e l o algoritmo acima,é
não redundante e termika' somente quan-n
do todas a s 2 pseudo-soluções p a r c i a i s forem e x p l i c i t a e/ou impli- citamente enumeradas.
O s p r i n c i p a i s passos de uma demonstração p o r indução, 22
GEOFFRION
,
baseada na forma de podagem das pseudo-soluçÕes p a r c i a i s p e l o-
algoritmo, sao:
O
Se o algoritmo pode podar W
,
a s condições do teorema ficam1 P
s a t i s f e i t a s . Caso c o n t r á r i o , tomando por hipótese (de indução) que W
,
. . .
, W,
p>
1 são não redundantes, a prova de que W P ' ~é
não redundante, g a r a n t i r á a não redundância de toda a s e q k n c i a . W P ' ~é
não redundante ou porqueé
umaP
descendente de W e nesse caso
wPC
Wp'l ou porque WP'' contém p e l o menos um elemento logicamente complementar de algum elemento em cada pseudo-solu- &o p a r c i a l previamente podada. E s t e s f a t o s são v i s t o s melhor s e desmembrar-P
mos os passos do algoritmo, responsáveis p e l a passagem de
W
para WP'~. As-s i m , WP"
é
obtida dewP:
i. p e l o aumento
à
d i r e i t a dewP
com um i n d i c e de v a r i á v e l l i v r e . (Aqui PWp'l
é
uma descendente de W)
.
P
ii. p e l a t r o c a do Último elemento de W p e l o seu complemento l ó g i c o subli- nhado.
P
iii. p e l a t r o c a do Último elemento de W
,
ainda não logicamente complementa- do, p e l o seu complemento lógico sublinhado e abandono de todos o s ele- mentos5
d i r e i t a d e s t e Último logicamente complementado.n
A s 2 pseudo-soluçÕes p a r c i a i s são implicitamente enumeradas, somente depois que a pseudo-solução p a r c i a l onde todos os elementos foram
12
gicamente complementados, f o r i m p l i c i t a ou explicitamente enumerada. A sua enumeração
é
garantida p e l a s r e g r a s de f i x a r e l i b e r a r a s v a r i á v e i s .%&e o elemen- t o p e l o seu c o w plemento lógico sublinhado e a- bandone . todoe os elementos lc- gicamente CO(P plernentados . e sublinhados á d i r e i t a dele.
Fluxograma p a r a o algoritmo de enumeração i m p l i c i t a das p s e u d ~ s o l u ç Õ e s p a r
-
c i a i s de um problema de ~ r o ~ r a m a ~ ã o I n t e i r a b i v a l e n t e .21
2.6
-
ACELERAÇÃO DO ALGORITMO, FILTROS OU RESTRIÇÕES SUBSTITUTAS.2
v á r i o s p r o j e t o s de aceleração do algoritmo de BALAS
,
foram levados a e f e i t o e alguns com muito sucesso. O s p r i n c i p a i s e melhores avan-46
23ços, na nossa opnião, foram produzidos por GLOVER2f PETERSEN e GEOFFRION
.
O segundo, dentre o u t r a s c o i s a s , estabeleceu como g e r a r uma pseudo-soluç~o ,p a r c i a l v i á v e l i n i c i a l , i. e . , uma origem para i n i c i a r o processo de enumera-
-
çao. Trata-se de começar com uma pseudo-soluç~o p a r c i a l v i á v e l , onde os h d i
-
ces das v a r i á v e i s são obtidos da ordenação crescente dos valores deDe f a t o , os v a l o r e s d n i m o s da razão são produzidos p e l o s menores c u s t o s c j' j N e p e l a s maiores somas
e portanto, p e l o s i n d i c e s que
têm
grande p o s s i b i l i d a d e de p a r t i c i p a r da sol! Ótima (menores custos porque estamos minimizando e maiores somas (11.17), porque estamos tentando vencer i n v i a b i l i d a d e s ) .GLOVER 25,26 mostrou que melhores i n f ormações sobre v i a b i l i d a d e e otimalidade r e l a t i v a s
às
v a r i á v e i s l i v r e s em problemas de ~ r o ~ r a r n a ç ã o In- t e i r a bivalente, podem s e r obkidas p e l a combinação c r i t e r i o s a das r e s t r i ç õ e s o r i g i n a i s do problema, numa Única r e s t r i ç ã o , chamada de " F i l t r o " ou " r e s t r i - ção s u b s t i t u t a " . Usaremos a abreviação "s-restrição" p a r a e s s e s f i l t r o s . G E O F F R I O N ~ ~ , mostrou como g e r a r e s s a s s - r e s t r i ç õ e s a t r a v é s de soluçÕes prodg z i d a s por v a r i á v e i s duais r e l a t i v a sg s
r e s t r i ç õ e s de subproblemas do proble- ma proposto. E s t e s subproblemas, como veremos, são construidos a p a r t i r dasv a r i á v e i s l i v r e s r e l a t i v a s a uma pseudo-soluç~o p a r c i a l . A d e f i n i ç ã o que se- gue formaliza melhor a i d é i a de s - r e s t r i ç ã o .
Uma s - r e s t r i ç ã o
é
uma combinação l i n e a r não negativa das res- t r i ç õ e s do problema o r i g i n a l .Se b-i-Ax
>
0, descreve o conjunto das r e s t r i ç õ e s de um proble-
ma de ~ r o ~ r a m a ç ã o I n t e i r a bivalente, uma s - r e s t r i ç ã o , d e f i n i d a a p a r t i r de- l a s , tem a formar
onde u=(u
. .
. , u)
é
t a l q u e u .>
O, v iM.
1'
m 3. /Para i l u s t r a r a e f i c á c i a das s - r e s t r i ç õ e s , tomemos um simples problema de programação I n t e i r a b i v a l e n t e em que a s duas Únicas r e s t r i ç õ e s
e . s
sao :
Uma solução v i á v e l para a primeira,
é
(1,0) e uma v i á v e l p a r a a segundaé
( 0 , l ) . Agora, s e construirmos uma s - r e s t r i ç ã o com u= (1,l),
teremosque mostra a i n v i a b i l i d a d e b i n á r i a do problema.
Sobre a s s - r e s t r i ç õ e s , temos d o i s f a t o s importantes :
O O
a . Se x
é
uma solu&o v i á v e l do problema o r i g i n a l (b-i-AX > O ) ,O
x
é
também v i á v e l para qualquer s - r e s t r i ç ã o d e s t e proble- ma (u(b+AX)>
O ) .b. Se uma s - r e s t r i ç ã o não tem solução v i á v e l , o problema o r i - g i n a l , também não tem.
no s e n t i d o usual. O f a t o (b), sugere que a criação de t e s t e s que o conside- rem, pode a p r e s s a r o processo enumerativo.
23
GEOFFRION propos uma s - r e s t r i ç ã o compondo aquela de GLOVER
26
com a r e s t r i ç ã o z-
cx>,
0, querendo com i s s o que uma solução f o s s e v i á v e lmin
para a s - r e s t r i ç ã o r e s u l t a n t e quando também produzisse um v a l o r para a fun- ção o b j e t i v o melhor do que a a t u a l c o t a s u p e r i o r guardada em z
.
Ou s e j a ,min a s - r e s t r i ç ã o proposta, tem a forma
u(b-~-A~)+(z
-
cx)>
0.min (11
19)
Consideremos agora uma r e s t r i ç ã o da forma
Dizemos que e l a
é
b i n á r i o i n v i á v e l , s e e l a não tem solução b i n á r i a , i . e . , s e não e x i s t e um v e t o r b i n á r i o que a s a t i s f a ç a eé
b i n á r i o i n v i á v e l condicionai mente, s e sua v i a b i l i d a d e b i n á r i aé
r e s t r i t a a determinados v a l o r e s das v a r i-
& e i s x.
Uma o u t r a forma de expressarmos i s t o ,6
j 1 ) b
+E
a x . 2 0(>
0 )
6
bin&o i n v i á v e l s e , e somen- k k j J j t e se, entãox
.,,= O ou x .,= 1, conforme a<
O ou a>
O, em qualquer solução biná-J " J ^ k j% kjs
Um conceito de "poder" introduzido p a r a a s s - r e s t r i ç õ e s , no s e n t i d o de sua e f i c i ê n c i a quando submetidas a t e s t e s de v i a b i l i d a d e b i n á r i a ,
23
f o i também proposto p o r GEOFFRION
.
Relativamente a uma pseudo-soluç~o p a r c i a l W, a s - r e s t r i ç ã o
u (b+Ax)
+
(z-
cx)>I
0,1 min
é
mais f o r t e do que a s - r e s t r i ç ã ou (b*)
+
( z-
cx) O,2 min
u (b+Ax)
+
(z-
cx))<
max {u2(b+Ax)+
( z-
cx))
,
min x min
onde os máximos s ã o tomados sobre a s v a r i á v e i s l i v r e s , i . e . , sobre as variá- v e i s x . , t a i s que j
J
26
GLOVER usou uma d e f i n i ç ã o de "poder" semelhante a e s t a :
Relativamente a uma pseudo-soluq~o p a r c i a l W, a s - r e s t r i ç ã o
é
mais f o r t e do ques e o máximo de z
-
cx, s u j e i t o a u ( b + ~ x )>
O,é
menor do que o máximo demin 1
z
-
cx, s u j e i t o a u (b-t-Ax)>
O, o s máximos sendo tomados sobre a s variá-min 2
v e i s l i v r e s .
O problema de determinar s - r e s t r i ç õ e s poderosas no s e n t i d o
-
d a s d e f i n i ç õ e s acima,
é
o de minimizar sobre todos o s u>
O, a s expressoes max(u(b+Ax) x+
(z min-
c ~ ) ) ,
ou s e j a
min
{
m;tx{
u(b+hx)+
( z-
cx), x l i v r e,
u>
O ) .u min
Nosso passo,
é
mostrar como os u>
O podem s e r o b t i - dos como v a r i á v e i s duais r e l a t i v a sg s
r e s t r i ç õ e s do problema o r i g i n a l . E s t e sendo transformado num subproblema p e l a s u b s t i t u i ç ã o dos v a l o r e s das variá- v e i s f i x a d a s p e l a pseudo-soluç~o p a r c i a l , o que não a l t e r a o número das res- t r i ç õ e s o r i g i n a i s .Tomemos então o problema
min max { u ( b + ~ )
+
( z-
cx), x l i v r e minu > o x
Desenvolvendo sua p a r t e de maximização, obtemos
x i J J
-
c j x - c . x .1
ui>
07 max{C
( b i + x a iIa
.X.I
+ (zmin J JL
Fazendo e substituindo em (11.21)~ vemTrocando a s r e s t r i ç õ e s x j i ; r
{
0, 1) p o r O<
x.
<
1, não afetamos as solu- Jv
çÕes do problema, dado que no caso continuo o máximo
é
assumido nos mos. A s s i m , teremos para o lugar de (11.22) o seguinteO dual da p a r t e
Finalmente temos a forma do problema de programação l i n e a r que produzirá os c o e f i c i e n t e s u
>
0, para a geração dos f i l t r o s ou r e s t r i ç õ e s s u b s t i t u t a s ,i dada por
s u j e i t o a a u.-
v
<
c j i j i jsoluçÕes de (PPL
).
Chamando de t a solução d n i m a (ótima) de (PPL),
t e -W min W .
mos o seguinte:
i. P e l a p a r t e (1) dos t e s t e s de v i a b i l i d a d e b i n á r i a , a a t u a l p s e u d i r s o l u ç ~ o p a r c i a l W, não tem remate v i á v e l s e t
<
0. O c á l c u l o demin
t
pode s e r interrompido no momento em que e s t e v a l o r s e t o r n a r negativo. minNeste caso, o algoritmo poda a pseudo-soluç~o p a r c i a l W.
ii. Por outro lado, s e
t
0, o algoritmo não poda a a t u a l minpseudo-soluç~o p a r c i a l W e os v a l o r e s dos uo s são u t i l i z a d o s para g e r a r a
m 2
1
l h o r r e s t r i ç ã o s u b s t i t u t a r e l a t i v a pseudo-soluç~o p a r c i a l W e a p a r t e (2) dos t e s t e s de v i a b i l i d a d e b i n á r i a , f i x a convenientemente v a r i á v e i s l i v r e s nos n i v e i s zero ou um, criando a pseudo-soluç~o p a r c i a l descendente de W, agora possivelmente, p e l o acréscimo de v á r i o s i n d i c e s de v a r i á v e i s l i v r e s na a t u a l pseudo-soluç~o p a r c i a l W.
A s - r e s t r i ç ã o introduzida por GEOFFRION~? pode s e r f o r t a l e c i -
da s e obrigarmos a uma pseudo-soluç~o p a r c i a l , s a t i s f a z e r
I c x , z - 1 ,
L
min no lugar de cx<
z mincomo mais uma condição para que e l a s e j a v i á v e l . Neste caso, a s - r e s t r i ç ã o f i c a r i a :
u(b+AX)
+
( Z-
1-
CX)>
O.min
(11.31)
Vejamos agora um exemplo para f o r t a l e c e r a compreensão dos f? t o s abordados.
Exemplo: minimizar z = 3x
+
2x+
5x+
2x+
3x 1 2 3 4 5 s u j e i t o a 1 + x + 1 x - 2 :x3-ZXq+
x g > "
-2+
7x 1 - 3 x + l p + 3 x3
4
5./"
>
o
-1-
I l x+
6x 1 2+
3x4
+
3x5 > O
Aplicando primeiro os t e s t e s do algoritmo de enumeração impll
-
c i t a para o c á l c u l o de uma pseudo-solução p a r c i a l v i á v e l i n i c i a l , obtemosz =
3.
min
1
O algoritmo poda a pseudo-soluç~o p a r c i a l W e o resultado,
é
Agora, o PPL que determinará os c o e f i c i e n t e s uos com os q u a i s a s - r e s t r i ç ã o
W
1 s e r á construida,6
w2
w2
m i n i m i z a r t = u - 2 u - u + v + v + v + v + ( z - 1 - z)
1 2 3 1 2 3 4 min s u j e i t o a-
3
+
u+
7u-
l l u-
v 1 23
1 - 2 + u+
6u-
Vá o
13
2á "
AS soiuções são: u = O, u =
O , 4 8
e u = 0,03. 1 23
w2
w2
t = - 0 , g g - k (z - 1 - z) =
min minw2
2Como
t
>
O,W
nãoé
podada e a s - r e s t r i ç ã o6
construida: minDepois de serem f e i t a s a s contas, vem
Aplicando n e s t a s - r e s t r i ç ã o os t e s t e s de v i a b i l i d a d e b i n á r i a (mais e s p e c i f i - camente, a p a r t e ( 2 ) dos r e f e r i d o s t e s t e s ) , obtemos que a s v a r i á v e i s l i v r e s
x e x3, devem s e r f i x a d a s no nzvel zero na p s e u d ~ s o l u ç ~ o p a r c i a l , 2
para que e s t a tenha p e l o menos um remate v i á v e l para a s - r e s t r i ç ã o . Informa- ções a d i c i o n a i s como e s t a s , não são providas p e l a s r e s t r i ç õ e s o r i g i n a i s do problema. Lembrando que uma pseudo-soluç~o p a r c i a l v i á v e l p a r a o conjunto o- r i g i n a l de r e s t r i ç õ e s
é
também v i á v e l para a s - r e s t r i ç ã o , mas que, entretan- t o , a afirmação c o n t r á r i a nãoé
necessariamente verdadeira, c r i a d a uma pseu- do-solução p a r c i a l v i á v e l para a s - r e s t r i ç ã o , temos necessidade de t e s t a r sua v i a b i l i d a d e relativamente ao conjunto o r i g i n a l de r e s t r i ç õ e s . Caso exis- t a i n v i a b i l i d a d e , os t e s t e s do algoritmo de enumeração i m p l i c i t a s e encarre- gam de c r i a r uma pseudo-soluç~o p a r c i a l descendente d e s t a , quando i s t oé
pos-
s z v e l e quando não, o algoritmo poda, como de costume, a p r e s e n t e pseudo-sz2 e
Como e l a não o s t e s t e s do
3 0
tem complemento v i á v e l p a r a o conjunto o r i g i n a l de r e s t r i ç õ e s , algoritmo elegem e n t r e a s v a r i z v e i s l i v r e s , x e x4, a Gltima
4
3
v a r i á v e l , formando assim, a pseudo-soluç~o p a r c i a l W
,
descendente de W,
ouO próximo PPL tem uma Única r e s t r i ç ã o relativamente
W
x No novo PPL
t
torna-se negativo, o que mostra1 ' W'
à
Única v a r i á v e l l i v r e a impossibilidade de s e r construida uma pseudo-soluç~o p a r c i a l com complemento v i á v e l p a r a a s - r e s t r i ç ã o que s e r i a construida e p o r t a n t o para o conjunto o r i g i n a l de res- tric$es. O algoritmo poda a a t u a l pseudo-soluç~o p a r c i a l e prossegue assim, a t é a obtenção de informações f i n a i s . Neste exemplo, e l e não consegue e x i b i r uma pseudo-solug~o p a r c i a l que forneça uma cota superior melhor do quez =
3
e e s t a f i c a sendo portanto, o v a l o r da função o b j e t i v o r e l a t i v o a u- minma solução Ótima encontrada, que
é
( 0 , 0 , 0 , 0 , 1 ) .2.7
-
ALGUMAS OBSERVAÇÕES ' ADICIONAIS.Finalizando e s t e c a p ~ t u l o , faremos algumas observaçÕes
.
No algoritmo o r i g i n a l de enumeração irnplicita a passagem deP
uma pseudo-soluç~o p a r c i a l
W
p a r a a sua descendente e r a f e i t a p e l o a-P
créscimo de um Único i n d i c e de v a r i á v e l l i v r e em W
.
I s t o pode, evidentemen- t e , s e r f e i t o p e l o acréscimo de v á r i o s i n d i c e s simultaneamente.A s soluções Ótimas a l t e r n a t i v a s podem s e r o b t i d a s construindo
O
W com uma permutação de uma solução Ótima, fazendo z i g u a l ao v a l o r Ó t i - min
mo da função objetivo e trocando a r e s t r i ç ã o c x i - c
<
zj min da construção do conjunto V p e l a r e s t r i ç ã o
c x + c . < z
.
J min
gum j
,
tivermos c .= O, ao fim da enumeração das pseudo-soluçÕes p a r c i a i s ,O
J o
não teremos encontrado todas a s so1uçÕes Ótimas necessariamente, p o i s s e x j o na solução Ótima f i c o u no n l v e l zero,
x
= 1, s e não a l t e r a r a v i a b i l i d a d e , e s t a r á numa solução Ótima também. j oO algoritmo acrescenta ou l i b e r a l n d i c e s de v a r i á v e i s nos su- cessivos
W'
s, obedecendo a d i s c i p l i n a : ";ltimo a chegar, primeiro a s a i r " . Esta não&
a Única nem necessariamente a melhor regra.OS MODELOS DE RECOBRIMENTO E PARTICIONAMENTO.
Trataremos aqui com uma c l a s s e de problemas dentro da otimiza
-
&o combinatória, também do t i p o 0-1, cuja modelagem para estudo de muitas s i t u a ç õ e s r e a i s ,é
f e i t a com a i d é i a do que chamamos de "conjunto recobrimen-
t o " e "conjunto particionamento".
3 . 2
-
CONJUNTO RECOBRINIENTO E CONJUNTO PARTICIONfU'ENTO.s e j a m ~ = { l ,
...,
m ) , N = { l ,...,
n) e K = { K nt r ê s
conjuntos t a i s que p a r a cada jc"7
IX.C
e.J
Definição 1:
Chamamos de "conjunto recobrimento" de M a um sub
-
conjuntoN*C
N, t a l queUR
= M.j
E
N+ Definição 2:Chamamos de "conjunto particionamento" de M a um subconjunto N-3
C
N, t a l queii.
KSn
Kt =,
para d o i s h d i c e s2
e4
quais- quer, t a i s quesc
N*,tc
N* e s#
t.
Se p a r a cada j N, chamarmos de c ( c .
>
O) o custo associaj~
-
do a e s t e indice, teremos que o custo t o t a l do conjunto recobrimento
N"
C
N, s e r á dado porPropomos o problema de encontrar o conjunto recobrimento de custo dnimo. Pz r a c r i a r o modelo de recobrimento, definimos uma v a r i á v e l x p 7 1 ) p a r a ca-
j
da j
é
N, t a l que, na solução do problema,x
.= 1 s e j pertence ao conjuntoJ
recobrimento de custo d n i m o e x .= 0, caso c o n t r á r i o . A matriz A= ( a .
.)
do moJ i J
-
delo,
é
t a l que a . = 1 quando o elemento jr
N recobre o elemento i < M, (i.i i
-
L
e . , i K
C
M ) e a = 0, aaso c o n t r á r i o . Chamaremos e s t e , problema do con-J i j
junto recobrimento ( P C R ) e a forma de seu modelo s e r á a de u m problema de ~ r o ~ r a r n a ç ã o I n t e i r a bivalente:
minimizar z =
7
cjxj7s u j e i t o a
~arnbém podemos procurar a solução do problema do conjunto particionamento de custo d n i m o (PCP), bastando para t a n t o t r o c a r
(111.3)
no modelo doa x = L ,
i j j i €
M=P,
...,
m).No (XR) procuramos a união mais b a r a t a dos conjuntos K q s , t a i s que cada
J
i M, pertence a "pelo menos um" K
.
(i. e . , cada i Mé
recoberto por "peloJ
menos umr1 K
.).
No (PCP) também procuramos a união de menor c u s t o dos conjun-
J
t o s KU.s, mas agora com a condição de que cada i M, pertença a "um &icorl J
K
.
(cada i Mé
recoberto por "um Único" K.).
Para t a n t o , os K ' s devem s e rJ J J
d i s j u n t o s . s ã o muitas a s s i t u a ç õ e s r e a i s , basicamente modeláveis dessa for-
11
ma, dado que
é
muito frequente a u t i l i z a ç ã o de uma matriz ~ = ( a ..)
mxn, c u j a s i Jentradas são i n t e i r o s 0-1, para r e p r e s e n t a r a d i s t r i b u i ç ã o de n elementos pa
-
r a m con$untos: 1's na l i n h a i < M, designam os elementos que ocorrem no i- ésimo conjunto e 1's na coluna jc
N, designam os conjuntos que contém o j- ésimo elemento. Tais matrizes são consideradas fundamentais em investigaçõesPara i l u s t r a r , vejamos o seguinte: imaginemos a d i s p o n i b i l i d a
-
de de n recursos para a execução de m t a r e f a s . Cada recurso j N= 1,. .
.
, nE
{
pode s e r alocado p a r a a execução de algumas t a r e f a s (ou todas). Com i s s o , pc demos c o n s t r u i r uma matriz (catálogo) de todas a s formas p o s s i v e i s de a s s o c i a r um ou mais recursos a uma dada t a r e f a , s u j e i t o a uma s é r i e de r e s t r i ç õ e s como l o c a l i z a ç ~ o , demanda, espaço, tempo, condições geográficas, c l i m á t i c a s , e t c . A s s i m , na matriz catálogo, a s l i n h a s correspondem as t a r e f a s e a s colu- nas,
às
p o s s i v e i s combinações das t a r e f a s para o s recursos ( i . e . , a s formas p o s s i v e i s de cada recurso j s e r u t i l i z a d o ) . A s s i m , uma entrada a-
i j ( k ) da ma t r i z
é
1 ( 0 ) , s e a k-ésima combinação o recurso jé
(nãoé)
u t i l i z a d a p e l atz
r e f a i. Atribuindo um c u s t o cà
u t i l i z a ç ã o da k-ésima combinaSão do re-j (k)
curso j (i. e . , k-ésima combinação que u t i l i z a o recurso j
),
podemos e s t a b e l e-
ter um modelo para o problema, definindo uma v a r i á v e l x
j ( k )