UM ALGORITMO E F I C I E N T E PARA ENCONTRAR SOLUGÕES APROXIMADAS DE PROBLEMAS DE PROGRAMAÇÃO BIVALENTE ( O
-
I), U T I L I Z A N D ODUALIDADE EM PROGRAMAÇÃO I N T E I R A
-
~ é l i x E d u a r d o V a c a O b a n d o
T E S E SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGF&MAS DE PÕS-GRABUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO R I O DE JANEIRO COMO PARTE DOS ~ Q U I S I T O S NECESSARIOS PARA A OBTENÇÃO DO GRAU DE DOUTOR EM CIÉNCIAS ( D e S c . )
A p r o v a d a por: P r o f . N e l s o n M a c u l a n d f l h o ( P r e s i d e n t e ) P r o f .
cdrlos
A l b e o N u n e s q o s è n z a/
r
Prof Jack S c h e c h t m a n P r o f . ~ l a u d i o T . B o r n s t e i n R I O DE J A N E I R O , R J-
B R A S I L AGOSTO DE L 9 7 8VACA OBANDO, FELIX EDUARDO
Um Algoritmo E f i c i e n t e p a r a E n c o n t r a r ~ o i u ç Q e s Aproximadas de Problemas d e ~ r o g r m a ç ã o B i v a l e n t e
( 0 - l ) , U t i l i z a n d o ~ u a l i d a d e e m ~ r o g r a m a ç ã o I n t e i - r a . I ~ i o d e ~ a n e i r o
1
1978I X , 1lOp. 29,7cm (COPPE-UFRJ, D.Sc., Engenharia de S i s t e m a s e computação, 1978)
Tese
-
Univ. Fed. R i 0 de J a n e i r o , Fãc. Engenha-
r i a1. ~ r o g r a m a ç ã o ~ a t e m â t i s a I . COPPE/UFRJ 11.
~i
-
t u 1 0 ( s g r i e ).
ii
Curriculum V i t a e
F é l i x Eduardo Vaca Obando, n a s c i d o e m 2 0 de £ e
-
v e r e i r o de 1943, n a c i d a d e d e ~ u i c á n-
Equador. Diplomado em Engenharia ~ e c â n i c a p e l a E s c o l a P o l i t é c n i c a Nacional d eQ u i t o
-
Equador em 1967. Cursou p ó s - ~ r a d u a q ã o em Engenha-
r i a I n d u s t r i a l na E s c o l a P o l i t é c n i c a Nacional de Q u i t o de1 9 6 7 a 1 9 7 0 . Trabalhou como P r o f e s s o r A u x i l i a r na mesma E s
-
c o l a desde 1967 a t é f e v e r e i r o de 1970. Realizou c u r s o s n a
Companhia S i d e r ú r g i c a Nacional
-
V o l t a Redonda, com b o l s a do I t a m a r a t i , de a g o s t o a o u t u b r o de 1968 e n a comissão Na-
c i o n a l de E n e r g i a ~ t ô m i c a em Buenos A i r e s-
A r g e n t i n a , com b o l s a da OEA, de março a junho d e 1970. Em j u l h o de 1 9 7 0i n g r e s s o u na COPPE/UFRJ onde o b t e v e o t í t u l o de Mestre em
c i ê n c i a s em Engenharia d e produção em 10 de dezembro de
1971. Em j a n e i r o de 1972 f o i c o n t r a t a d o como P r o f e s s o r da COPPE/UFRJ e a p a r t i r de maio d e 1977 é P r o f e s s o r do Depar
-
tamento de Engenharia I n d u s t r i a l da E s c o l a de Engenhariada UFRJ. Desenvolveu p r o j e t o s r e l a c i o n a d o s com Modelos Ma -
t e m ã t i c o s e o u t r a s á r e a s a f i n s n a COPPETEC. P a r t i c i p o u d e v á r i o s Congressos e r e u n i õ e s c i e n t í f i c a s tendo p u b l i c a d o
iii
A Guadalupe T . Eduardo e Cxis t i a n
Agradecimentos
Meu agradecimento muito e s p e c i a l ao P r o f , Nelson Maculan F i l h o que como o r i e n t a d o r , c o l e g a e amigo f o i um
cons t a n t e i n c e n t i v a d o r d e s t a caminhada que a q u i t e r m i n a .
Aos c o l e g a s do Programa de Engenharia de S i s t e - mas e ~ o m p u t a ç ã o p e l o a p o i o e compreensão que souberam b r i n
-
d a r d u r a n t e a e l a b o r a ç ã o d e s t e t r a b a l h o .Ao p e s s o a l da B i b l i o t e c a do Centro de Tecnologia p o r s e u e s p í r i t o d e colab.oração d u r a n t e a p e s q u i s a b i b l i o - g r á f i sa
.
A s NCE p e l a u t i l i z a ç ã o d e s u a s i n s t a l a ç õ e s .
A t o d o s a q u e l e s q u e de uma ou forma cólaberãram p a r a a c o n c l u s ~ o d e s t a Tese.
A ~ o n s o l a ç ã o de Maria Moreira Lima p o r s e u exce- l e n t e t r a b a l h o de mecanografia.
Resumo
Este trab.alho a p r e s e n t a um procedimento que g e r a
m a s e q u ê n c i a f l w i t ã de so&uções d e um problema de programa
-
ção i n t e i r a b i v a l e n t e (-0-
11, u t i l i z a n d o d u a l i d a d e e m pro- gramação Inteira e O metodo de g e r a ç ã o d e coluna. O l a l g ~ -r i t m o g e r a simultaneamente soluç6>es denominadas
6
- v i á v e i s que podem s e r mais i n t e r e s s a n t e s que a p r ó p r i a s o l u ç ã o 6 t i - ma p a r a determinada c l a s s e d e problemas. s ã o mostrados e a n a l i s a d o s o s r e s u l t a d o s , de um c o n j u n t o de problemas t e â -t e , que f s r m o b t i d o s mediante um programa e l a b o r a d o em l i n
-
çuagem F o r t r a n ,A b s t r a c t
T h i s work p r e s e n t s a p r s c e d u r e f o r g e n e r a t i n g a
f i n i t e sequence Q£ s o l u t i o n s t o a g i v e n zero-one i n t e g e r programming prsblem, u s i n g d u a l i t y i n i n t e g e r programming and t h e g e n e r a t i n g column method. T h i s a l g o r i t h m g e n e r a t e s s i m u l t a n e u s l y
6
-
f e a s i b l e s o l u t i o n s t h a t c s u l d be more i n t e r e s t i n g t h a n o p t i m a l s o l u t i o n s f o r a c l a s s s f s p e c i f i c problems. W e p r e s e n t and a n a l y s e , r e s u l t s f o r a s e t o £ t e s t problems, o b t a i n e d by means o£ a F o r t r a n program.vii
INDICE
Página
~ntrodução 1
O Problema de programação Linear Inteira 3
O Problema de programação Linear Inteira Bivalente 4
Problema de Programação Zero-Um Equivalente ao Problema de
programação Inteira com variáveis Limitadas 5
Aplicações de programação Zero-Um 5
Métodos de solução 6
CAP~TULO II
1. O Problema Knapsack
2. O Problema Knapsack Unidimensional 10
3. O Problema Knapsack Multidimensional 12
4 . O Problema de Alocação de Recursos
5. Métodos de solução para o Problema Knapsack
6. Redução de um Problema Multidimensional num Problema Unidi
mensional 16
6.1 Métodos de ~ransformaqão 17
6.1.1 Método de Kendall e Zionts 20
viii
~ntrodução
Dualidade em programação Inteira
Propriedade dos Problemas Prima1 e Dual
considerações sobre as ~oluqões Geradas
~esolução do Problema Irrestrito
5.1 soluções
5
-
viáveis ~xistência de "gaps"vali ação
de u7.1 cálculo de
u
por inspeção7.2 ~esolução do Problema por ~iseção
~ é t o d o Dual de ~ecomposição
8.1 Primeira Fase
8.2 Segunda Fase
Algoritmo
Fluxograma do Algoritmo Dual de ~ecomposição
10. ~onclusões
Exemplo 2
Exemplo 3
1. ~ n t r o d u ç ã o
2. Resultados e Análise dos Resultados
Problema 1 Problema 2 Problema 3 Problema 4 Problemas 5, 6, 7, 8, 9, e 10 Problema 5 Problema 6 Problema 7 Problema 8 Problema 9 Problema 10 Problema 11 Problema 12 Problema13 Problema 14 Bibliografia
1. I n t r o d u ç ã o
É p e r f e i t a m e n t e conhecido que o s modelos de progra-
mação matemática s ã o uma a b s t r a ç ã o d a r e a l i d a d e de umproblema.
A s s i m também s u a s o l u ç ã o Btima pode s e r v i s t a como uma s o l u ç ã o próxima da "Ótima r e a l " . aí a i m p o r t â n c i a d a s t é c n i c a s d e pós
-
o t i m i z a ç ã o , a n á l i s e de s e n s i b i l i d a d e e p a r a m e t r i z a ç ã o que p e r -tensem uma informação mais completa do comportamento do modelo quando s u j e i t o a d e t e r m i n a d a s mudanças em s e u s p a r h e t r o s e que encontram um c o n j u n t o d e s o l u ç s e s d a s q u a i s algumas s e r ã o de m a i s f á c i l implementação.
à medida que a s t g c n i c a s de programação matemátkea s ã o mais d i v u l g a d a s , s u a u t i l i z a ç ã o s e d i f u n d e cada vez mais e vão aumentando a s á r e a s de a p l i c a ç ã o d e s t a s t é c n i c a s .
Deve-se sempre lembrar que a s t é c n i c a s d e programa- ç ã o matemática s ã o uma f e r r a m e n t a p a r a o planejamento e p a r a tomadas de d e c i s õ e s e p o r i s t o fornecem uma s é r i e d e a l t e r n a t i
-
v a s ~ e n t r e a s q u a i s uma é s e l e c i o n a d a i n i c i a l m e n t e e n a s u a i m-
p l e m e n t a ç ~ o , a l g u m a s a l t e r a ç õ e s d e v e r ã o s e r e f e t u a d a s , a fim d e c o n s e g u i r o s melhores r e s u l t a d o s p o s s i v e i s na s o l u ç a o de um determinado problema. Também se deve lembrar q u e , a c o n s t ~ u ç ã o de um modelo matemático complementada com o s dados, o s q u a i s nem sempre s ã o c o n f i á v e i s cem p o r c e n t o , p o r t a n t o s o l u ç õ e s 6 t i-
mas o b t i d a s p a r a um modelo continuaram a e s t a r prQximas d e Qti
-
ma r e a l . A s s i m sendo, p a r a tomar uma d e c i s o e m b a s e a e s t a sda Ótima p a r a que s i r v a m como a l t e r n a t i v a s , c a s o não s e j a conve
-
n i e n t e implementar a s o l u ç ã o 6 t i m a . Se alguma d e s t a s s o l u ç õ e s é i n v i á v e l e e s t a i n v i a b i l i d a d e s e v e r i f i c a em uma percentagem mínima de um ou v á r i o s dos r e c u r s o s u t i l i z a d o s , e s t a s o l u ç ã o p o-
d e r 5 t o r n a r - s e mais a t r a t i v a que alguma v i á v e l porém mais a f a s-
t a d a da Ótima.Dentro d e s t e c o n t e x t o , s e r á a p r e s e n t a d o um método p a r a r e s o l v e r problemas de programaqão i n t e i r a zero-umrque pode ser u t i l i z a d o p a r a o b t e r s o l u ç õ e s de v á r i o s problemas r e a i s .
O método a q u i a p r e s e n t a d o r g e r a uma s e q u ê n c i a f i n i t a de s o l u ç Õ e s , u t i l i z a n d o d u a l i d a d e em programação i n t e i r a e o m é
-
t o d o de g e r a ç ã o de c o l u n a s , E devido a s u a e f i c i ê n c i a e s i m p a i
-
c i d a d e possue vantagens s o b r e o u t r o s métodos t a i s c o m o ~ o s a l - g o r i t m o s c l & s i c o s de programação i n t e i r a . O tempo de computa- ção g a s t o p a r a a obtenção de s o l u ç õ e s d e problemas d e programa-
ção zero-mrcom um número r e l a t i v a m e n t e grande d e v a r i á v e i s r épequeno em r e l a ç ã o a o tempo u t i l i z a d o p o r o u t r o s a l g o r i t m o s .
A e f i c i ê n c i a do método pode s e r melhorada a i n d a me
-
d i a n t e a t r a n s f o r m a ç ã o d e problemas com v á r i a s r e s t r i ç õ e s I e m
um problema e q u i v a l e n t e com uma r e s t r i ç ã o .
O método a q u i a p r e s e n t a d o ,pode s e r u t i l i z a d o também p a r a uma ~ n g l i s e de P 6 s - ~ t i m i z a ç ã s dos problemas de programa- ção zero-um, dado que na p r o c u r a d a melhor s o l u ç ã o v i á v e l s ã o e n c o n t r a d a s o u t r a s s o l u ç õ e s v i a v e i s de menor v a l o r ( p a r a maxi- mizar)- e s o l u ç õ e s que chamaremos d e
5
-
v i á v e i s , d e maior v a l o r , sem nenhum e s f o r ç a computaciona1 a d i c i o n a l .2 . O Problema
Um
3
de ~ r o g r m a ç ã o L i n e a r I n t e i r a
problema de programação l i n e a r , em que a s v a r i ã - v e i s devem assumir v a l o r e s não f r a c i o n á r i o s ou i n t e i r o s ! s ã o c l a s s i f i c a d o s como problemas de programação l i n e a r i n t e i r a .
E s t e s p r o b l e m a s t s ã o i m p o r t a n t e s porque um g r a n d e número de problemas r e a i s t n o campo da p e s q u i s a operacional, po
-
dem ser r e p r e s e n t a d o s como problemas com v a r i á v e i s i n t e i r a s .O problema g e r a l de programação i n t e i r a pode ser d e f i n i d o como: s u j e i t o a AX
-
b x > 0 e i n t e i r o j j-
onde : C = (_c . ) ê m v e t o r l i n h a J - = l b " ' ) n de n componentes X = Lx.) é um vetoa: c o l u n a de n componentes I - A = (-a. . ) é uma m a t r i z m x n 1 3 -b = ( b i ) é um v e t o r coluna com m componentes
Se t o d a s a s v a r i á v e i s x j s ã o i n t e i r a s teremos um problema chamado t o t a l m e n t e i n t e i r o . Se somente algumas das v a r i ã v e i s x s ã o i n t e i r a s sendo a s r e s t a n t e s c o n t i n u a s t e r e -
j
mos um problema chamado de programação m i s t a .
A p a r t i r da t é c n i c a a p r e s e n t a d a por Gomsryrem 1 9 5 8 , p a r a r e s o l v e r o problema de programação l i n e a r i n t e i r a , v & - i a s o u t r a s t 6 c n i c a s Eoram d e s e n v o l v i d a s . Ainda m a i s , t g c n i c a s
4
e s p e c i a i s r p a r a problemas espec.?fisos d e programação i n t e i r a , f o
-
ram p e s q u i s a d a s e continuam a ser p e s q u i s a d a s , c o n s t i t u i n d o - s e assim e s t e campo numa f o n t e g e r a d o r a de t é c n i s a s , q u e pretendem ser cada vez mais e f i c i e n t e s e e s p e c i a l i z a d a ã ,Dentre o s problemas e s p e c i a i s de programação i n t e i
-
r a que vem d e s p e r t a n d o maior i n t e r e s s e podemos c i t a r o p r o b l e - ma d e programação l i n e a r i n t e i r a b i v a l e n t e ou zero-um,3 . O Prob-lema de ~ r o g r a m a ç ã s L i n e a r I n t e i r a B i v a l e n t e
O problema de programação l i n e a r i n t e i r a b i v a l e n t e ou zero-um, que daqui p o r d i a n t e denominaremos simplesmente de problema de programação b i v a l e n t e ou zero-um, é um problema em que a s v a r i z v e i s s ó podem a s s u m i r v a l o r e s z e r o ou um, pode s e r e x p r e s s a d o como:
n Maximizar z = C c . x
j = i 1 j
Consideremos que:
a). o s c . '> O- (.j = 1, 2 ,
.
. .
, i a ),
c a s o i s t o não a c o n t e ç a podemos 3 - u t i l i z a r a mudança de v a r i s v e i s s e g u i n t e , x = 1-
xl quan j I-
do c . < O .a
b ) o s b . . > Q p a r a i = 1,. . . , m a - c). o s a i j > Q-
p a r a i = l , ...,
m e j = l,...,
n5
0 problema d e programação zero-um 6 c o n s i d e r a d o i m - p o r t a n t e , p o r s u a s a p l i c a ç õ e s p r á t i c a s e também devido a que t o d o problema de programação i n t e i r a com v a r i á v e i s limitadas,po - de s e r transform-ado em um problema de programação zero-um.
4 . Problema de Programação Zero-Um E q u i v a l e n t e ao Problema de
Programação I n t e i r a . com V a r i z v e i s L i m i t a d a s
Consideremos o problema ( 2 ) onde a s v a r i á v e i s x i n
1
-
t e i r a s possuem l i m i t e s s u p e r i o r e s conhecidos. S e j a uma v a r i á - vel. x < i1
k - k P xk poderá s e r e x p r e s s a d a como
onde K s e r á determinado corno 2 Ki-1.
2
u k + l S u b s t i t u i n d o xk em função de y temos o r e s u l t a d o d e s e j a d o .kp
Como uma desvantagem d e s t a t r a n s f o r m a ç ã o temos que, o problema r e s u l t a n t e p o s s u i r a um grande nfimero de v a r i á v e i s zero-um, o que poderá d i f i c u l t a r a p r o c u r a da s o l u ç ã o do pro-
blerna,devido
2
c a p a c i d a d e da memória do computador d i s p o n l v e l ou, o tempo de c o m p u t a ç ~ o que s e r i a n e c e s s a r i o p a r a e n c o n t r a ra s o l u ç % poderá s e r i n a c e i t s v e l ,
5, ~ p l l c a ç õ e s de ~ r o g r m a ç ã o Zero-Um
Problemas d e programação zero-um podem s e r g e r a d o s a p a ~ t i r de problemas de programação i n t e i r a , programaçao não- l i n e a r , po&m e x i s t e m problemas c u j o modelo pode s e r d e f i n i d o d i r e t a m e n t e como um problema d e programaçZio zero-um. Nesta
6
classe de problemas se enquadram os problemas de orçamento de capital, seleção de projetos,alocação de recursos, fluxos em redes de comunicação, recuperação de infomaçÕes, assignaçãode experimentos, localização industrial, dimensionamento de fro- tas de ve~culos, alocação de tripulação em linhas agreas, se- quenciamento, multicomodidade, o problema "cutting-stock", prg blema do caixeiro viajante, problemas de recobrimento (set 60-
vering)
,
aãocação de hor&ios, problema Knapsack, alocação de tarefas, balanceamento de linhas de montagem, planejamento de vooâ, seleção de jornais e revistas, etc. O problema knapsack(niochi1a) será abordado detalhadamente no ~apftulo 11
,
assim como alguns outros problemas similares.Teoricamente existe uma infinidade de métodos para resolver os problemas de programaçao zero-um, porem estão sem- pre relacionados com métodos que podem ser considerados Pa- dr&srjz que nestes são introduzidas algumas mudanças a fim de torns-10s mais eficientes ou adaptá-los a estruturas especiais da matriz de coeficientes. Basicamente esses metodos podem ser considerados como:
i)- Métodos dos planos de corte
ii) Métodos que utilizam Teoria dos Grupos ili2 ~Gtodos de "branch and bound"
2 ~ ) - Metodos do subgradiente
v1
Metodos heuristicosv i i l ~ é t o d o s de programa dinâmica
v l i i l Métodos de enumeraqao i m p l l c i t a
Alguns a l g o r i t m o s resolvem o s problemas de programa
-
çãs
zero-um u t i l i z a n d o um ou mais dos mÊkõdos acima.M6todss de enumeraqão i m p l l c i t a
Em 1965 B a l a s [10] prop6s o a l g o r i t m o a d i t i v s que s e r v i u d e b a s e p a r a a a p r e s e n t a ç ã o de o u t r o s t r a b a l h o s , t a i s como o s que foram desenvskvidos p a r Glover [5l], Mao e Walling
-
f o r d P4], B a l a s [ll], G e o f f r i o n [49], P e t e r s e n [83], G a r f i n k e l-
-C Nemhauser [43], [46],
Cahot [20], E i l o n e C h r i s t o d i d e sp67
,
De Maio e Roveda [23], E l l w e i n p 5 ],
S a l k i n e Koncal [89],
Bra-
ã l e y e WahiLlS], E t d i e b e r r y0 4 1 ,
Arora1
e n t r e o u t r o s .Dentre o s t r a b a l h o s que u t i l i z a m programação d i n â -
mica podemos c i t a r o s de Weingartner e Ness [98], Nemhauser e
Ullman [78]
,
S h a p i r o e Wagner [93], S h a p i r o[gol
,
Nemhauser e K r a f t e H i l l [65], Gearing, Swart e Var [38].
~ é t o d o s
-
d o s P l a n o s de C o r t eAlguns d e s t e s m6todos foram d e s e n v o l v i d o s p o r : B e l l
-
more e R a t l i f f p 7 ] , Salkin e Koncal [89], Glover e Klingman
, F i s h e r e ~ h a p i r o [29
1
,
C h a m e s , D.Granot e F.GranotI211
B a l a s e Zemel[.
4 1 t[
51,
Kianf a r [64] e B a l a s [23
.
Mgtodos que utibizarn T e o r i a dos G r u p ~ s
8
do que pode s e r apontado como um dos t r a b a l h o s p i o n e i r o s o de S h a p i r o
b l ]
ao q u a l se seguiram o s t r a b a l h o s de B e l l [i3] Houck e Vemuganti [ 5 4 , WosleyLg9],
Gorry, Northup e S h a p i r oc37
1
~ é t o d o s e s p e c i f i c a m e n t e d e s e n v o l v i d o s p a r a programa - ç6bo zero-um e que u t i l i z a m a t g c n i c a "Branch and Bound" e s t ã o d e s c r i t o s em: K o l e s a r [67], Greenberg e Herich @ 7 ] , Lernke-Sal -
k i n e S p i e l b e r g
p l l ,
H e l d e Karp Li. r5~9], F i s h e r e S h a p i r o p9],
E t c h e b e r r y
e 4 1 ,
P i e r c e p 2 ] , Shih [ 8 2 ] , Nauss (761 e I n g a r i o-
l a e Korch p 2 ] .Métodos. i30 'Subqr'adien t e
E n t r e e s t e s métodos temos o s d e s e n v o l v i d o s por H e l d , Wolfe o Crowdes [58], E t c h e b e r r y [ 2 4 ] , - Golden e 5 ] , Legendre e
Minoux [70;]
.
Devido a d i f i c u l d a d e em e n c o n t r a r s o l u ç õ e s
.
Õ-bimas p a r a problemas com um grande n6mero d e v a r i á v e i s e r e s t r i ç õ e s , cada vez mais e s t ã o sendo u t i l i z a d o s mêtodos h e u r i s t i c o s que fornecem soluçGes próximas d a ó t i m a com um e s f o r ç o computacio- n a 1 muito r e d u z i d o se comparado com o tempo n e c e s s á r i o ' p a r aa c h a r s o l u ç 6 e s Ótimas p o r o u t r o s mêtodos. E n t r e e s t e s m6todos podemos a n o t a r o s a p r e s e n t a d o s p o r H i l l e r
FO],
E i l o n e C h r i s - t o £ i d e s [26],
S a l k i n e ~ o n c a l,
Magazine, Nemhauser e T m t t e rcentemente o t r a b a l h o d e B a l a s e M a r t i n
.
Outros métodos que sem s e r h e u r f s t i c o s fornecem so-
l u ç õ e s aproximadas do problema s ã o o s d e s e n v o l v i d o s p o r S e n j u e
Toyoda [92], Toyoda [96]
,
~ o y s t c j r - ~ e y e S l i v k a [86].Pode-se a f i r m a r que o t r a b a l h o que deu i n l c i o
5
u t i - l i z a ç ã o do método dos m u l t i p l i c a d o r e s de Lagrange f o i o deE v e r e t t [ 2 7 ] em 1963 e a e s t e s e seguiram o s t r a b a l h o s de Fisher
[28]
,
B e l l [13], Kaplan [68], Brooks e G e o f f r i o n [18], Green- b e r g [341
,
Fox e Landi C311,
Legendre e M inoux [7 O].
E s s e s méto-
dos s e preocupam em c a l c u l a r o s m u l t i p l i c a d o r e s p a r a o problemaI.
O Problema Knapsacks e r á d e s c r i t a a q u i uma c l a s s e de problemas de p r o g r a
-
mação zero-um chamados algumas v e z e s de problemas combinatórios. E s t e s problemas possuem um grande número de s o l u ç õ e s v i á v e i s epoderão ser r e s o l v i d o s mediante enumeração e c á l c u l o das sobu- ç õ e s v i a v e i s .
E n t r e e s t e s problemas e s t ã o o s problemas Knapsackccm uma 6 n i s a r e s t r i ç ã o e o problema Knapsack m u l t i d i m e n s i o n a l . E x i s
-
tem na l i t e r a t u r a d i v e r s o s métodos p a r a r e s o l v e r e s t a c l a s s e de problemas porém a q u i pretendemos d i s c u t i r a s u a s o l u ç ã o como um problema de programação zero-um.2 . O Problema Knapsack Unidimensional
O nome do prob.lema, Knapsack, se r e f e r e a uma s i t u a - 9% e m que s e q u e r c a r r e g a r bima mochila que p o s s a s u p o r t a r um peão mSximo. P a r a e n c h e r a mochila s e selecionam v a r i o s i t e n s cada um dos q u a i s possue um v a l o r e um p e s o , O problema c o n s i s - t e em e n c h e r a mochila de t a l forma que s u a capacidade não s e j a e x c e d i d a e o v a l o r t o t a l dos i t e n s , i s t o é, a soma d e t o d o s o s v a l o r e s r e l a t i v o s , s e j a maximizada.
O problema s e r 5 a p r e s e n t a d o como:
x 5 O e i n t e i r o ( j = l , .
.
.
, n ) j-
onde c é O v a l o r d e cada i t e m j j a 6 o peso do i t e m j jb G o peso que a mochila pode s u p o r t a r
Sem p e r d e r g e n e r a l i d a d e pode- se assumir que o s
c j >
O (-j = l ,...,
n ) t b-
> O e a > O . Porém, s e G . = O i m p l ij
-
J-
c a que x = O em t o d a s o l u ç ã o Btima, s e b = O i m p l i c a que a
j
Única s o l u ç ã o v i á v e l 6 x = Q j = 1 . desde que a > 0.
j j
Se algum a = O com c > O , a s o l u ç ã o ótima é i l i m i
j j
-
t a d a desde que
x
p o s s a s e r q u a l q u e r v a l o r i n t e i r o a r b i t r a r i a - jmente g r a n d e ,
O problema que se p r e t e n d e a b o r d a r a q u i é o p r o b l e - ma Knapsack em que s 6 pode ser c a r r e g a d o um elemento de cada i t e m , i s t o 6 , x = l se o elemento é c a r r e g a d o e x = 0 , c a s o
j j
c o n t r a r i o .
O problema Knapsack t e m s i d o e s t u d a d o com muito i n teresse p o r poder r e p r e s e n t a r muitos problemas r e a i s , t a i s co- mo: akocação de r e c u r s o s , s e l e ç ã o de p r o j e t o s , i n v e s t i m e n t o s d e c a p i t a l , problemas de c a r g a , s e l e ç ã o de j o r n a i s e r e v i s t a s , o problema " c u t t i n g â t o c k "
,
e tamb&m a p a r e c e com sub-problema de a l g u n s a I g o r i t m o s de programação i n t e i r a .3 , O Problema Knapsack M u l t i d i m e n s i o n a l
O problema Knapsack m u l t i d i m e n s i o n a l
,
6 -
o problema ~ n a p s a c k d e s c r i t o em ( 2 ) com o u t r a s l i m i t a ç õ e s a d i c i o n a i s a s s i m p o r exemplo, l i m i t a ç ã o de p e s o , volume, l a r g u r a ou com- primento. A s v a r i á v e i s poderão s e r i n t e i r a s , porém assumimos a q u i que e s t a s v a r i á v e i s s õ poderão s e r O ou 1, c o n s i d e r a n d oque não e x i s t e a p o s s i b i l i d a d e d e i n c l u i r mais do que um a r t i
-
Um t i p o de a p l i c a ç ã o p a r a e s t a c l a s s e de problemas
é o problema de a l o c a ç ã o d e c a p i t a l e m que o s melhores p r o j e - t o s de i n v e s t i m e n t o s s ã o s e l e c i o n a d o s s u j e i t o s a l i m i t a ç õ e s d e g a s t o s ou d e s p e s a s em d i v e r s o s p e r í o d o s d e tempo ou a l i m i t a - ç õ e s de v ã r i a s e n t r a d a s ( d e c a p i t a l ) . Em algumas a p l i c a ç õ e s de a l o c a ç ã o de r e c u r s o s onde a s c o n s t a n t e s do segundo membro não s ã o r í g i d a s pode-se a n a l i s a r o problema mediante o método que no ~ a p i t u l o III ser5 a p r e s e n t a d o .
O modelo pode ser d e s c r i t o como segue: n Maximizar 2 = 1 c . x j = i I j s u j e i t o a n o < x . $ 1
-
3 x i n t e i r o j Sendo c a r e c e i t a d e v i d o2
i n c l u s ã o do p r o j e t o j, j a - . 6 a q u a n t i d a d e de r e c u r s o r e q u e r i d o p e l o p r o j e 11 b;. a q u a n t i d a d e de r e c u r s o d i s p o n í v e l p a r a s e r gas-
1t o no p e r í o d o i
x j = 1 s e o p r o j e t o é a c e i t o
x j = O s e o p r o j e t o é r e j e i t a d o
Se assome também que o s a i j s ã o não n e g a t i v o s 4 . O Problema de locação de Recursos
O problema d e a l o c a ç ã o de r e c u r s o s s e r e l a c i o n a com a a v a l i a ç ã o de uma v a r i e d a d e de p r o j e t o s de i n v e s t i m e n t o eseuob
j e t i v o é s e l e c i o n a r o s melhores de um c o n j u n t o de p r o j e t o s sob a condição de t e r d i s p o n i b i l i d a d e de r e c u r s o s l i m i t a d o s .
O problema poder5 s e r e s t a b e l e c i d o p a r a um p e r í o d o ou p a r a v á r i o s p e r í o d o s de planejamento. E x i s t e uma grande v 2 r i e d a d e de formulações de problemas d e a i o c a ç ã o de r e c u r s o s . T.al - vez a f o n t e p r i n c i p a l d e s t a s d i v e r s a s formulações é a d e f i n i ç ã o da func$oobjetivo, dado que e m g e r a l e s t e problema não é muito
d e t e r m i n í s t i c o . Alguns p e s q u i s a d o r e s acham que a u t i l i z a ç ã o do r e t o r n o e s p e r a d o não é s u f i c i e n t e como um c r i t é r i o o b j e t i v o da - do que i g n o r a a d i s p e r s ã o e m t o r n o da média.
O modelo 6 formulado da s e g u i n t e forma: n Maximizar E ( z ) = C E ( c . ) x . j = i I j s u j e i t o a
a
L: ~ ( a x ~ ~E ( b i ) ) i = O:, 1;2,... , m j = i j-
onde : x = 1 se o j-ésimo p r o j e t o é a c e i t o e x = O s e o j j j-ésimo p r o j e t o é r e j e i t a d o .c é uma v a r i á v e l a l e a t ó r i a que r e p r e s e n t a o v a l o r a j
-
t u a 1 do j-ésimo p r o j e t o de i n v e s t i m e n t o e E ( c . ) é 7 s e u v a l o r e s p e r a d o . a . é a v a r i á v e l a l e a t ó r i a que r e p r e s e n t a o c u s t o do ' i jj-ésimo p r o j e t o -d e i n v e s t i m e n t o no i- ésimo peczo do e E ( a i j ) é s e u v a l o r e s p e r a d o .
bi é a v a r i á v e l a l e a t ó r i a r e p r e s e n t a n d o o v a l o r d i s - p o n l v e l no i- ésimo p e r í o d o p a r a a l o c a ç ã o dos pro-
j e t o s de i n v e s t i m e n t o e E ( b i ) é s e u v a l o r esperado. Se assume que a s funções de densidade das v a r i á v e i s a l e a t ó r i a s podem s e r a v a l i a d a s .
O modelo também poderá ser formulado s u b s t i t u i n d o c a - da v a r i á v e l a l e a t ó r i a p o r s e u v a l o r e s p e r a d o .
5 . Métodos de Solução p a r a o Problema Knapsack
O número de s o l u ç õ e s p a r a a c l a s s e d e problemas a p r e
-
s e n t a d o s nos i t e n s ( 2 ) , ( 3 ) e ( 4 ) e da ordem de 2 n , onden o número de v a r i á v e i s do problema.
Nesse c a s o a u t i l i z a ç ã o do esquema enumerativo das s o l u ç 6 e s puro e s i m p l e s , p a r a s e l e c i o n a r a melhor s o l u ç ã o s e t o r n a i n v i á v e l . E x i s t e na l i t e r a t u r a uma grande q u a n t i d a d e de métodos que resolvem: e s t e s problemas de forma e f i c i e n t e . E s t e s métodos foram d e s e n v o l v i d o s u t i l i z a n d o programação dinâmica, t é c - n i c a s de "braneh and bound", enumeração i m p l í c i t a , p l a n o s de c o r t e , t é c n i c a s h e u r i s t i c a s e o s que u t i l i z a m d u a l i d a d e em programação i n t e i r a e e n t r e o s q u a i s s e enquadra o metodo que
15
Podemos c l a s s i f i c a r o s métodos p a r a r e s o l v e r o p r o b l e
-
ma Knapsack e m 2 g r a n d e s g r u p o s , a q u e l e s que r e s o l v e m o problemaKnapsack u n i d i m e n s i o n a l , e o s que resolvem o problema . Knapsack
m u l t i d i m e n s i o n a l . Ainda d e n t r o d e s t a s duas c l a s s e s e x i s t e m OS
métodos q u e consideram a s v a r i á v e i s i n t e i r a s ( x . 2 - > O e i n t e i r a ) e a q u e l e s em q u e a s v a r i á v e i s s ó podem a s s u m i r v a l o r e s z e r o ou um.
P a r t i c u l a r m e n t e desenvolveremos um método que r e s o l v e r á o p r o b l g
ma Knapsack m u l t i d i m e n s i o n a l com v a r i á v e i s zero-um, sendo q u e o
método p o d e r á r e s o l v e r também o problema Knapsack unidimensimai,
D e n t r e o s métodos que u t i l i z a m a s t é c n i c a s acima i n d i
-
c a d a s podem c i t a r :programação dinâmica: Weingartner e N e s s [98']
,
S h a p i-
r o e Wagner r 9 31, S h a p i r o 1901 e Nemhauser e Ullman [ 7 8 ] .numeração
I m p l í c i t a : P e t e r s e n [ 8 3 ] , Mao e W a l l i n f o r d[ 7 41, P i e r c e [ 8 2 ] e ~ a b o t [ 2 0 ] .
~ é c n i s a s d e "Elranch and Bound" : K o l e s a r [67
]
, e Green- b e r e Hegerich [ 4 71.P l a n o s de c o r t e : K i a n f a r [6 41.
~ e u r ~ s t i c o s : Magazine, Nernhauser e T r o t t e r [73
1,
Hu e Lenard [57]
e B a l a s e M a r t i nb]
.
Dualidade: Nauss [ 7 61, Legendre e Minoux [703; Maculan,
Vaca Obando e V i l l a r e s [7 21.
O u t r o s métodos : S e n j u e Toyoda [92
1 ,
Toyoda [96]
e S o y s t e r , Lev e S l i v k a [ 8 61.6 . ~ e d u ç ã o de um Problema M u l t i d i m e n s i o n a l num Problema Unidimen - s i o n a l
Um problema Knapsack m u l t i d i m e n s i o n a l pode s e r r e d u z i - do a um problema Knapsack e q u i v a l e n t e com uma r e s t r i ç ã o . como s e poderá v e r p o s t e r i o r m e n t e , a p r o c u r a da s o l u ç ã o de um p r o b l e
-
ma com uma r e s t r i ç ã o s e t o r n a mais f á c i l , r a z ã o p e l a que em a 1-
guns problemas poderá ser u t i l i z a d o e s t e t i p o de t r a n s f o r m a ç ã o .Consideremos o c o n j u n t o de r e s t r i ç õ e s x i n t e i r o j = 1,
...,
n j onde a i j f b . e u s ã o p o s i t i v o s e i n t e i r o s . 1 j O problema c o n s i s t e em e n c o n t r a r v a l o r e s wl,...
,
w m t a i s que t o d a s o l u ç ã o n ã o - n e g a t i v a e i n t e i r a p a r a o c o n j u n t o de x i n t e i r o j monde a . = C W a ( j 1,
. .
.
,
n ) e b = , Z wibi é uma s o l u
-J i=l i i j .-J =1
-
ção p a r a ( 3 )
.
Dado que a s r e s t r i ç õ e s ( 3 ) implicam em ( 4 ),
t o d a s o l u ç ã o i n t e i r a n ã o - n e g a t i v a p a r a ( 3 ) é uma s o l u ç ã o p a r a ( 4 ) . Po - rém p a r a v a l o r e s a r b i t r á r i o s dos w i r o conjunto-:de i n t e i r o s não-n e g a t i v o s X= ( x l ,
.
. .
,
x ) que s a t i s f a z e m ( 4 1 é g e r a l m e n t e maior nExemplo 1
-
Balas1111
O problema Minimizar z = 5x 1 7x2+
10x3+
3x4+
x 5 s u j e i t o a-
X1+
3x2-
5x3-
x 4+
4x5 i- x 6 =-
2 ( i ) (iii) x > 0 e i n t e i r o ( j = 6 , 7 , 8 ) j-
possue como s o l u ç õ e s v i á v e i s ( 0 , 1 , 1 , 0 , 0 ) e ( 1 , 1 , 1 , 0 , 0 , ) . Se s e-
lecionamos a r b i t r a r i a m e n t e o s v a l o r e s w 1 = w 2 = w 3 = 1 a s t r ê sequações somadas fornecem a equação
que possue como s o l u ç õ e s v i á v e i s a s d u a s a n t e r i o r e s mais o u t r a s
5 que s ã o ( 0 , 0 , 1 , 0 , 0 ) , 0 , 1 , 1 0 , l l ( 1 , 0 , 1 , 0 t 0 ) e
( ~ 1 1 t l t ~ r O )
Existem na l i t e r a t u r a um g r a n d e número d e t r a b a l h o s
r e l a t i v o s
2
agregação d e r e s t r i ç õ e s . Alguns d e s t e s mêtodoscom-
binam d u a s r e s t r i ç õ e s em uma que l o g o combinam com a t e r c e i r ae a s s i m sucessivamente a t é que t o d a s a s r e s t r i ç õ e s sejam combi
-
nadas.Um t r a b a l h o p i o n e i r o n e s t e s e n t i d o é o d e Mathews (a> que com seu Teorema mostra como a d i c i o n a r d u a s r e s t r i ç õ e s d e
t a l forma que o c o n j u n t o d e s o l u ç õ e s i n t e i r a s n ã o - n e g a t i v a s n ã o
aumente. I s t o p e r m i t e r e d u z i r q u a l q u e r c o n j u n t o d e m r e s t r i
-
ç õ e s a uma Única r e s t r i ç ã o .(1) P a r a m a i o r e s d e t a l h e s v e r S a l k i n r851
Teorema de Mathews (1)
Considere o sistema de duas equações lineares (2 n = ' 1
-
j=l ( i (ii) Os coeficientes a (i = 1 , 2, j = 1,...
,
n) são es i j-
tritamente positivos e inteiros.
se existem valores não-negativos xl,
...,
x n satisfazem (i) e (ii) logoa /a2
2
bl ao menos para um j (l<j<n)11
- -
se
w
é qualquer inteiro positivo tal que wr
b2 máximo {al j/a21
3
logo o conjunto de soluções de (i) e (ii)
6
o que a equação( 3 ) foi observado que o Teorema
Posteriormente ,
que
mesmo
de
Mathews pode ser utilizado para agregar um sistema de equações
como as de (3) pela utilização das condições
(ii)
'
que Mathews indica também como aplicação do Teorema, onde as du
-
as equações são substituidas por i e i
'
.
Isto é, as duas primeiras equações do sistema ( 3 ) são substituidas por (i) e(ii)e logo são agregadas. A equação resultante será a primeira equa
-
ção do novo sistema, substituindo às duas primeiras, agora o sis-
tema possue uma equação a menos. O processo se repete até obteruma equação só.
(2) O símbolo 2 significa que Si toma o valor do somatório
U t i l i z a n d o o problema do exemplo 1 é o b t i d a a r e s t r i -
ção e q u i v a l e n t e a o s i s t e m a
O c o n j u n t o de s o l u ç õ e s v i á v e i s d e s t a equação é ( 0 t 1.1
1
I 0 I 0 )( 1 I l I L I O f O )
A t r a n s f o r m a ç ã o de um s i s t e m a de equações numa equa
-
ção s ó possue o i n c o v e n i e n t e que o s c o e f i c i e n t e s crescem na s u a ordem de grandeza o que m u i t a s v e z e s impede u t i l i z a r o computa d o r devido a s u a capacidade l i m i t a d a p a r a armazenar v a l o r e s i n t e i r o s e s p e c i a l m e n t e . Devido a e s t a d i f i c u l d a d e a l g u n s t r a b a l h o s t e m s i d o p u b l i c a d o s v i s a n d o a t r a n s f o r m a ç ã o com c o e f i c i e n t e s menores. Porém i s t o tem s i d o conseguido a c u s t a s de c ~ l c u l o s a d i c i o n a i s n a t r a n s f o r m a ç ã o .Glover ( 3 ) a p r e s e n t a um método de reduç.ão agregando a s r e s t r i ç õ e s de duas em duas
Teorema de Glover
Considere o s i s t e m a de duas equações
n.
-
S1 = L a l j x j = bl ( i ) j =i n S 2 z 1 a x = b 2 2 j j ( i i ) j = londe t o d o s o s c o e f i c i e n t e s (ai j , hi) s ã o i n t e i r o s e ao menos um dos bi é d i f e r e n t e de z e r o . Sejam w e w i n t e i r o s d i f e r e n t e s de
1 2
z e r o e primos e n t r e s i . Se e x i s t e ao menos m a s o l u ç ã o i n t e i r a não- negativa p a r a ( i ) e ( l i ) , l o g o t o d a s o l u ç ã o i n t e i r a não-nega
-
t i v a p a r a
wlS1
+
w2S2 = wlbl+
w2b2 ( i i i )é uma soluçãoi k n t e i r a não n e g a t i v a p a r a ( i ) e ( i i ) e inversamen
-
t e , dado que p a r a j = l , ...
,
n. ( i v ) é uma d e s i g u a l d a d e e s t r i t a p a r a j em J.
onde J é q u a l q u e r c o n j u n t o não v a z i o de{ I ,
....
n l t a l q u e t o-
d a s a s s o l u ç õ e s n ã o - n e g a t i v a s p a r a ( i i i ) s a t i s f a z e m x > O p a r a j ao menos um j em J , . . U t i l i z a n d o a redução de Glover o c o n j u n t o de r e s t r i -ções do Exemplo 1 tem como e q u i v a l e n t e a r e s t r i ç ã o que segue
O c ~ n j u n t o de s o l u ç õ e s v i á v e i s d a r e s t r i ç ã o 6 também ( O , ~ J , 0 J O l e ~ ~ . l , l ~ O , O ) .
6 . 1 . 1 . ~ é t o d o de Kendall e Z i o n t s
Num t r a b a l h o mais r e c e n t e , Kendall e Z i o n t s [63.]apre-
sentam d o i s metodos d e t r a n s f o r m a ç ã o que reduzem s tamanho dos c o e f i c i e n t e s da r e s t r i ç ã o e q u i v a l e n t e .
Sejam duas r e s t r i ç õ e s
( i )
x inteiro. j
Se define uma função
n
para qualquer conjunto de valores x inteiros e O < x . < u
.
O vej - I j
-
tor X é uma solução para a i-éslma restrição se e somente se gi (x) = O.
Um conjunto de multiplicadores wl e
w
gera uma 2equação
(iii)
Somente são de interesse os multiplicadores para
os quais a equação (iii) implica que
Expressando (iii) em outra forma temos
e utilizando os limites n
é um conjunto de multiplicadores.
O Teorema 3 fornece um conjunto de multiplicado-
Teorema 3 . (Xendall e Z i o n t s [ 6 3 ]
1
.
S e O < x.
< u.
e i n t e i r o s , a s r e s t r i ç 6 e s-
I -
I s ã o e q u i v a l e n t e s a se o s m u l t i p l i c a d o r e s wi s a t i s t a z e m a s s e g u i n t e s condições: a1 P a r a q u a l q u e r v a l o r da s o l u q ã o i n t e i r a O - < x j m < u j r j = l r e O e n g 2 ( x ) . não é d i v i s í v e l p o r wl e g l ( x ) . não é d i v i s i v e l p o r w2h) wl e
w2
S ~ Oprimos e n t r e s i(o
maior d i v i s o r comum é um)p o r t a n t o wlgl(.xl
+
w2g2(xl
= OP a r a p r o v a r que (-vai1 i m p l i c a ( v i ) e ( v ) , e s c r e v e - s e
P o r . d e f i n i ç ã o o membro da e s q u e r d a da equação é i n - t e l r o , consequentemente B membro d a d i r e i t a é i n t e i r o . P e l a con
-
d i ç ã o
(bl
g2(xl/wl
e gl Cx)/w2 szo i n t e i r o s . Porém i s t o con- t r a d i z a condição [ a ) , p o r t a n t o gl (x) = g2 ( x ) = 0 .Em principio o Teorema 3 pode ser utilizado junto com
a condição de que:
g l M
#
(-W2/wl) g2 (x) (viii)a menos que g (x) e g (x): sejam zero. Assim o Teorema junto com
1 2
(viii) fornecem uma sis temãtica de enumeração para encontrar bons multiplicadores, Para um conjunto de multiplicadores primos en- tre si, poderemos primeiro ver se todas as soluções satisfazem a condição (.a) do Teorema 3. Se a condição (a) não é satisfeita,os multiplicadores serão validos se podemos mostrar que (viii)
e
Alguns métodos propostos para calcular os multipãica- dores wl e w2, utilizam valores primos entre si fora dos interva
-
10s especificados pelos limites superior e inferior de cada equa ção. Esses métodos também satisfazem as condições [a) e (b).Kendall e Zionts [ 6 3 ] propõem que multiplicadores me
-
nores que aqueles gerados por outros metodos podem ser encontra- dos eficientemente mediante a obtenção de valores de g (x)1 e
g2(x) que não está0 entre os limites de gl(x) e g2(x) especifica -
dos para cada equaçao. Estes multiplicadores wl e w2 serão váli- dos dado que satisfazem as condiç6es [a) e (b)
.
Q primeiro método proposto consiste em escolher OS
não sejam i n t e i r o s e
w
ew
sejam primos e n t r e s i1 2
O segundo método c o n s i s t e em a ) Enumerar uns poucos v a l o r e s de
gi(.x)- = bi
-
C a .x p a r a O < x < uj
-
j - jj = l
i n i c i a n d o com a solução, x = u s e a i j < O e x = O em c a s o con
j j j
t r á r i o , assim que gi (x) d e c r e s c e e s t r i t a m e n t e e n a s e q u ê n c i a não s ã o o m i t i d o s v a l o r e s . ~ambem a enumeração pode i n i c i a r a p a r t i r do l i m i t e i n f e r i o r
O s p r i m e i r o s v a l o r e s s ã o f a c i l m e n t e enumeráveis por- que incrementamos ou diminuimos a v a r i á v e l c u j o / a i j ] é mínimo e assim s u c e s s i v a m e n t e , u t i l i z a n d o um esquema ordenado l e x i c o - g r a f icamente.
b l Se e s c o l h e wl maior que o.menor v a l o r de
g2(x)
enumerado ew2
maior que o menor v a l o r de gl (x) enumerado, wl# q u a l q u e r g2(.x).w2#
q u a l q u e r g l ( x ) >wl
ew2
são primos e n t r e s i , eUtilizando o segundo método e as restrições do Exem- plo 1 calculamos wl e w 2 para as duas primeiras restrições.
De (a) calculamos alguns valores de g 1 (x) e g 2 (x) .Os
primeiros valores de g
(x)
e g (x) serãoP
2os valores seguintes são calculados diminuindo o
1
ai1
mínimo ao primeiro valor de gi (x).
de onde w2 > 1, por& por (.b) deverá ser w 2 > 5 / 2 , isto é w 2 = 3
e
w1
> 2, porem por (b) deverá ser wl > 8/2 e wl#
de qualquer g2 ( x ) ~ r entãow
= 9. Temos que 3 e 9 não são primos,então w2 = 6;1
novamente 9 e 6 não são primos. Finalmente w2 = 7 e w1 = 9 sa- tisfazem todas as condições,
Multiplicando a eqiaaçao (.i) por 9, a equação (ii)por
(-7). e somando temos a equaçgo (.i) seguinte
Enumerando valores para g3(x) e g (x) temos
1
'
os valores de
wl,
e w j serão w = 2 e .,w = 13 e a equação re2 6
s u l t a n t e s e r á
10x1-17x - 7 4 ~ +23x +57x5+18x6+14x7+13xg =
-
4 92 3 4
É n e c e s s á r i o o b s e r v a r que a ordem e m que a s r e s t r i - ç õ e s s ã o combinadas f o r n e c e r e s u l t a d o s d i f e r e n t e s podendo f o r - n e c e r c o e f i c i e n t e s maiores ou menores de acordo com a combina- çao e s c o l h i d a , a q u i pode-se recomendar a n e c e s s i d a d e de um e s
-
t u d o p r é v i o a fim de o b t e r v a l o r e s menores p a r a o s c o e f i c i e n - t e s .6.2. Dif i.culdades e v a n t a g e n s
Todos o s metodos p r o p o s t o s a t é a g o r a ~ p a r a r e d u z i x um problema Knapsaek m u l t i d i m e n s i o n a l a um ~ n i d i m e n s i o n a l ~ p o s s u e m a mesma desvantagem : a ordem d e grandeza dos c o e f i c i e n t e s r e - s u l t a n t e s aumenta enormemente, e que p o r ser i n t e i r o s poderão
-
a c a r r e t a r d i f i c u l d a d e s em s u a manipulação quando i n t r o d u z i d o s no computador, p a r a c á l c u l o d a s o l u ç ã o .E n t r e a s v a n t a g e n s que e s t a s t r a n s f o r m a ç õ e s propor- cionam,temos que é m i t o mais f a c i l r e s a l v e r um problema comma r e s t r i ç % , a c r e s c e n t a n d o - s e o f a t o d e que a memoria do computa- d o r , n e c e s s á r i a p a r a armazenar e s s e s c o e f i c i e n t e s s e r á r e d u z i d ai em comparação
5
que se n e c e s s i t a r i a c a s o s e q u e i r a r e s o l v e r o problema o r i g i n a l . ~amb&m,não é n e c e s s á r i o c o n s i d e r a r a função o b . j e t i v o se nas somente na e t a p a de s o l u ç ã o do problema.1. I n t r o d u ç ã o
s e r 2 a p r e s e n t a d o n e s t e c a p a t u l o um procedimento p a r a r e s o l v e r o problema de programação zero-um, mediante a sto2ugão de um programa m e s t r e que s e r 2 o b t i d o a p a r t i r do à e s e n v a ~ v i m e n
-
t o de d u a l i d a d e em progrmaç" i n t e i r a .AS i d é i a s u t i l i z a d a s p a r a a c o n s t r u ç ã o d e d u a l i d d d e
e m programação i n t e i r a s:go d e r i v a d a s da t e o r i a de d u a l i d a d e e m programação matemática e que é a p l i c á v e l a q u a l q u e r problema d e o t i m i z a ç ã o d e f i n i d o num e s p a ç o v e t o r i a l , dimensionalrnente f i n i t o ,
A s e g u i r apresentaremos a l g u n s r e s u l t a d o s b & i c s ã d a t e o r i a de d u a l i d a d e e m programação não l i n e a r baseados nos t r a -
b a l h o s de Varaiya [97], G e o f f r i o n r421 e Zanwill [ L O ~ ] . S e j a a problema prima1 de programação rnatemztica Max f ( x )
s u j e i t o a
onqe gi: R" -t R, i=l,
. . .
,m, s ã o funções convexasf:
Rn
-t R, é função côncavan X um s u b c o n j u n t o convexo de R
,
e b,
um v e t o r com m componentesS e j a v(b). = s u p ( f (x) Ix E: X , g(x)< - b}
s e X *
e
uma S O P U Ç ~ O Qtima de (1) v(_b*) = f (_x*).
Consideremos também o prohlema s e g u i n t e , S e j a U + E e u - > OMaximizar f ( x )
-
u ' { g ( x )-
b} s u j e i t o a X E X e d e f i n i n d o o problema s u j e i t o a s e r á o d u a l de (1).
S e j a z * = i n f ' {a(-uZI
u - > 0 1 Geralmente o c o n j u n t o X e m U) ê i g u a l a R ~ . porém a l gumas vezes.e
p o s d ' v e l i n c l u i r algumas d a s r e s t r i ç õ e s e m X,asãim4
o c á l c u l o de z(_u)_ p o r ( 2 ) e a s o l u ç ã ~ do problema d u a l (-3) e
mais s i m p l e s .
A segui.r o Lema 1 m o s t r a que a f u n ç a o c u s t o do p r s b l e
-
ma dua2 6 convexa e o Lema 2 m o s t r a que s v a l o r ótimo d o p r o b l e - ma d u a l 6 sempre um l i m i t e s u p e r i o r p a r a o v a l o r ótimo do primal.m
Lema 1. A f u n ç ã o z : R+ ->.R C) { + -J,$
6
uma f u n ç ã o convexa. Ondem m
R+={u E R [ u > 0 }
Lema 2 . ( D u a l i d a d e f r a c a ) , Se x v i á v e l p a r a (-L)., i s t o
e ,
s a t i s - f a z g ( x ) c b - e x & X r e se u > 0 , tem-se que -f ( x ) - < s u p {f ( x )
I
x
E X , gCx) - < b1 - < i n f { a ( u ) I u > o I < z ( u ) - -( 4 )
O problema b á s i c o da T e o r i a d a D u a l i d a d e é d e t e r m i n a r c o n d i ç õ e s s o b a s q u a i s
2 9
~ e f i n i ç ã o : Se d i z que um p a r (x*,, u*)
,
X*EX e u*>O - s a-
t i s f a z as condições de o t i r n a l i d a d e s e :x* é uma s o l u ç ã o ótima de ( 2 ) com u = u* ( 5 ) x* é v i á v e l p a r a (1)
,
i s t o é, gi (x*) - < bi ( 6 ) u* = 0,quando g i ( x * ) < b j r o que e q u i v a l e a u R ( g ( x * ) - b ) = O ( 7 )1
u*
t5
chamado um v e t o r de preços 6timo s e e x i s t e X * ~ X t a l que Cx*,u*L s a t i s f a z a s sondiqões de s t i a n a l i d a d e .Teorema 1. ( s u f i c i ~ n c i a ) , S e (_x*,u*) s a t i s f a z a s condiçges de o t i
-
malidade, a soluç5ox*
uma s o l u ç ã o 8 t i m a p a r a o p r i m a l , e u*6 uma soLução 8 t i m a p a r a o d u a l e
2 . Dualidade em ~ ~ o g r a m a ç ~ o I n t e i r a
Da t e o r i a de d u a l i d a d e em programação matematica pode
-
mos d e r i v a r algumas i d é i a s p a r a o problema de programação i n t e i - r a e n e s t e caso, p a r t i c u l a r m e n t e p a r a programação zero-um.S e j a o problema prima1 Maximi z a r cx
c . 6 um v e t o r bi.nha com n componentes,
x
6 um v e t s r c o l u n a com n componentes,A é uma m a t r i z com rn l i n h a s e n c o l u n a s , um v e t o r c o l m a com m componentes
A p a r t i r d e ( - 8 ) s e d e f i n e o u t r o problema
s u j e i t o a
x
s
C O , ~ ) ~onde u é um v e t o r l i n h a com m componentes não- negativas ( u
-
> 0),
ou s e u e q u i v a l e n t e :z(-ul = max Isx
-
u (AX-
b) l x a {0,1)"} ( 9 7'
e n t ã o o problema Minimizar z
(u)_
s u j e i t o a u 3 O -sers
o dbiai .- d e (8)- Dos r e s u l t a d o s o b t i d o s p o r E v e s e t t [25] podemos ex- t r a i r o s e g u i n t e teorema.Teorema 2; Considerando o problema C 8 ) , se x* 6 a s o l u q ã o 6 t i m a do problema
(9)-,
e n t ã o x*e
tambgrn s o l u ç ã o ótima do problema s e b,
s u b s t i t u S d o p ~ r A x * . P o r t a n t o s e u 6 c a l c u l a d o de modo que p a m a s o 1 i i ç ã ~ Qtima x * , b = A x * , o problema ( 8 ) h x* como s o l ução ótima.
x* f o r n e c e Q v a l o r rnZximo de GX
-
u (_Ax-
h).,então
assim p a r a t o d o x E (0. l
l n
t a n t o x* .é s o l u ç ã o 6tima do problema Maximizar cx
s u j e i t o a
A x Ax*
Q problema (-8)- p o d e r s s e r r e s o l v i d o mediante a i n c l u
-
s ã o d a s r e s t r i ç 6 e s n a função o b j e t i v o . Porém s e l e c i o n a r u > O-
que s a t i s f a ç a m Ij = Ax* s e t o r n a d i f i c i . 1 e em mui.tos c a s o s e s s e s va-l o r e s d e u poderão riso e x i s t i r , assim v a l o r e s de u > O - p a r a o s q u a i s Bx* se aproxima de podem s e r u t i l i z a d o s , e n t k x* f o r n e
cera uma s o l u ç ã o próxima d a 6 t i m a e que pode s e r c o n s i d e r a d a co
-
mo uma "boa" s o % u ç % ~ . Um o u t r o problema c o n s i s t e ~ e m como a v a l i - a r os- u > 0 .-
Um procedimento g e r a l c o n ç i s t i r â em c a l c u l a r umve
-
t o r u > O-
e p o s t e r i o r m e n t e c a l c u h r x * e Ax*, s e e s t e v a l o r e s -t a
prsxiano d e b o p r o c e s s o p a r a , em c a s o c o n t r a r i o o u t r o v e t o r u - > O s e r á s e l e c i o n a d o e assim p o r d i a n t e a t é e n c o n t r a r v a l o r e s de Ax* . a c e i t ã v e i s ou c o n c l u i r que e s t e s n a s existem,3; Propriedades- doa Prob.Pemas Prima% e Dual
m
Propriedade 1. A funçzo z: R+ +R é uma função con- vexa, onde R 6 o c o n j u n t o dos nGmeros r e a i s e
+
= [uaRmI
u > o }-
t a l que z ( u ) = máximo [cx
-
u(Ax-
b)I
x d 0 , l ) " l ~ e m s n s t r ação1
o
a
S e j a u" e u q u a i s q u e r , tal que u ,u E ,R: 151 - > O e
o
1= max ' {cx -Xu (AX-b)
-
( 1 - h ) u ( ~ x - b ) +hcx-Xcx)P r o p r i e d a d e 2 . S e x é uma s o l u ç k v i á v e l de ( 8 ) , i s t o
5,
x s a t i s f a z &c< - b e x s { ~ , l j ~ , e s e M > O , e n t ã o c x < z ( u ) . -~ e m o n s t r a ç ã o
-e.
Dado que Ax
-
b - -í O e u-
> 0 , temos que u (Ax-b) - < O e cx - < ax-
u(.Ax-bJpara t o d o s o s x v i á v e i s de (-1) e t o d o s o s u - > O,l o g o
o que i m p l i c a que c x
-
< 2(u)
Da p r o p r i e d a d e 2 pode-se c o n c b u i r que:
max { c x l ~ x - < b ,
x~
{ ~ , l ) " } < - min { z ( u ) lu - > 0 1 , (11)e n t ã o se x* f o r ótimo d e C81 e u * f o r Ótimo de (-10) tem-se CM* - < z ( u * )
P o r t a n t o é i n t e r e s s a n t e r e s o l v e r o problema ( 1 0 ) p a r a q u e s e p o s s a c a l c u l a r m a c o t a s u p e r i o r d e cx em ( 8 ) , d e s s a f o r
-
ma s e pode t e r uma i d & i a do v a l o r de cx, p a r a um x v i a v e 1 de(-8)-em r e l a ç a o a s e u ótimo. Podem s e r determinadas s o l u ç 6 e s pró- ximas da 8 t i m a , c o n s i d e r a d a s "boas" p a r a um c e r t o t i p o de pro-
4 . ~ o n s i d e r a q õ e s Sobre a s s o l u ç õ e s Geradas
A s e g u i r s e r ã o f e i t a s algumas c o n s i d e r a ç õ e s , em ter- mos de programação l i n e a r , s o b r e a s s o l u ç õ e s g e r a d a s p e l o meto
-
do D.ual de Decomposiçao em s u a l a . F a s e . S e j a o Problema P max C c.x
j=a
I j s u j e i t o a n O metodo k a l de ~ e c o m p o s i ç ~ o na s u a I a . F a s e pode p r o d u z i r s o l u ç 6 e s Qtimaã p a r a o problema (-8) somente se e s t a s s o l u ç õ e s s s o p o n t o s extremos de um c o n j u n t o convexo de qyaçÓes l i n e a r e s .A s s i m P pode s e r r e s o l v i d o u t i l i z a n d o o método Sim- p l e x e (-8). poder5 ser r e s o l v i d o u t i l i z a n d o o método Dual de D e
-
composição (_Ia. F a s e ) . Porem p a r a um v e t o r b dado, s e no pro-blema P não é o b t i d a uma s o l u ç ã o i n t e i r a , não poderá s e r o b t i - da ma s o l u ç ã o ótima p a r a C8) u t i l i z a n d o o método Dual de D e -
composição. I s t o e; as ú n i c a s s o l u ç õ e s i n t e i r a s q u e podem s e r achadas u t i l i z a n d o o método Bual de Decomposição s a o o s p o n t o s extremos d~ c o n j u n t o convexo do problema P . ~ ã o s e r i a recomen- dada a u t i l i z a ç ã o do método de ~ e c o m p o s i ~ ã o c a s o s e q u e l - r a a c h a r uma s o l u ç ã o Qtima com um b especifico. Porém se é d e
-
s e j a d o o b t e r uma s o l u ç ã o ou s o l u ç õ e s õ t i m a s p a r am b
em t o r n o de h , o metodo 6 recomendado.Considerem- se a s c o n d i ç õ e s d e o t i m a l i d a d e primal-dud p a r a o problema P. Sejam ai ( i = 1 , a s v a r i á v e i s duabS
n que correspondem à s r e s t r i ç ó e s L a .
.
x.
c bi,
e y.
( j =l,
.
.
:;R) j = l J-I 7 - I a s v a r i a v e i s d u a i s que correspondem 2s r e s t r i ç õ e s O - < x j - < 1, E n-
t ã o Q problema d u a l d e P, s e r á s u j e i t o a mTeorema 3 . A s s o l u q õ e s ó t i m a s d e (-8) que possam ser g e r a d a s m e
-
d i a n t e o mêtodo Bual de ~ecomposbçãcs (.Ia, F a s e ) coincidem r coma s s o l u ç õ e s t o t a l m e n t e i n t e i r a s d e P
se1
g e r a uma so1uç% ó t i m a5
p a r a o problema (-8) com b =5,
E n-
t ã o
5
é uma soluq,Go v i g v e l p a r a P e s a t i s f a z a s c o n d i ç õ e s ( 1 3 ) n: e (-14)-. S e j a f3 =c
-
C uiaije j j i=l P o r t a n t o e x i s t e u . 1- > O t a l que n X a .Ç: = bi j p a r a ui>O, e j = i T, a . . X . c bi p a r a ui = O j=l 11 3 -S e e s c o l h e um ai = u t a l que a condição ( 1 7 ) e a i - -
c o n d i ç ã o ( ~ e o r e m a das f o l g a s complementares)
sejam s a t i s f e i t a s , e n t ã o d e (-161 ternos
S e j a a condição (Teorema d a s f o l g a s complementares)
Tendo Y j = max cO B - 1 -3
s ã o s a t i s f e i t a s
P o r t a n t s a s:slução t o t a l m e n t e i n t e i r a
2
uma s o l u - qão ó t i m a de P .Agora, suponha que e x i s t e m a s o l u ç ã o Qtima t o t a l m e n
-
t e I n t e i r a x* p a r a o problema I?, e s s a s o l u ç ã o e s t a r 5 a s s o c i a d a com um determfnado ai e y j . S e j asuponhamos que x: = Q, e n t ã o p o r ( 2 1 ) , temos que y = O , e de
3 j
( 1 6 ) temos que Yi =B e de ( 1 8 ) s e tem
B
> O . Da c o n d i ç ã o ( l 3 )n j j -
temos que a x* < b e p a r a u i l O s e tem de ( 1 9 ) que n - j = l i J - i
aijx; = bi. P o r t a n t o x* pode s e r g e r a d a p e l o métddo B.ual de j = l
I% composição
.m
~ t a g o r a mostramos como t r a n s f o r m a r o problema é (8) e m um problema i r r e s t r i t o (-9) onde a s r e s t r i ç õ e s
sãs
i n c l u f d a s n a função o b j e t i v o , porem nada f ~ i d i t o a i n d a s o b r e a forma de c a l c u l a r u p a r a o b t e r o máximo da função z ( - u ) .O Teorema 2 g a r a n t e que q u a l q u e r máximo da função i r r e s t r i t a c9)_ n e c e s s a r i a m e n t e uma s o l u ç ã o do problema de
ma
-
ximo r e s t r i t o p a r a A x - <Ax*. 5 . 1 , S o l u ç 6 e s5
-
v i á v e i s Em a l g u n s c a s o s o s v a l o r e s de u > O que f i z e r e m - Ax-
h < - O poderão não e x i s t i r e n e s t e c a s o e x i s t i r ã o v a l o r e s d eu
p a r a o s q u a i ç Ax* s e aproximará de b ; x* 6 c o n s i d e r a d a en-
tão uma "boa" s o l u ç ã o e e s t a s s e l u ç õ e s s e r a o chamadas de
c-vi5
-
v e i s .<
6 wi e s c a l a r<
> O e é d e f i n i d o a r b i t r a r i a m e n t e . A s s i muma s o l u ç a o s e r 5
c
-
v i a v e & s e s a t i s i a z . Ax*-
b - <c
b.Um o u t r o problema p a r a a c h a r a s s $ u ç ~ a Stima d e ( 9 )