Você está na página 1de 10

A pesquisa Operacional e os Recursos Renovveis

4 a 7 de novembro de 2003, Natal-RN

UMA HEURSTICA GRASP PARA O PROBLEMA DA MOCHILA


QUADRTICA 0-1
Rodrigo Tavares Nogueira, DSc.
Universidade Estcio de S - Campos dos Goytacazes, Av. 28 de Maro, 423
nogueirart@bol.com.br
Geraldo Galdino de Paula Jr., DSc.
Universidade Estadual do Norte Fluminense, Av. Alberto Lamego, 2000
galdino@uenf.br
Carlos Leonardo Ramos Pvoa, MSc.
Universidade Estadual do Norte Fluminense, Av. Alberto Lamego, 2000
l_povoa@zipmail.com.br
Resumo
Este trabalho considera o problema da mochila quadrtica 0-1 (QKP). Por tratar-se de um
problema NP-Hard sugere-se uma heurstica GRASP para resolv-lo em sua formulao QKP1.
O algoritmo sugerido (HGQKP1) de complexidade O(n2), foi bem testado com a utilizao de
instncias geradas aleatoriamente. Os bons resultados obtidos pelo algoritmo o tornam passvel
de utilizao como solver de problemas de grande porte ou como fornecedor de bounds
para mtodos exatos enumerativos
Palavras-chave: mochila quadrtica 0-1, heurstica GRASP.
Abstract
This paper considers the 0-1 quadratic knapsack problem (QKP). Because the problem is NPhard a GRASP heuristic is suggested to solve it in its formulation QKP1. The suggested
algorithm, with complexity O(n2), was well tested with the utilization of randomly generated
instances. The good outcomes observed make it suitable to be utilized as a solver in huge real
problems or as a supplier of bounds for exact enumerative methods.
Keywords: 0-1 quadratic knapsack, GRASP heuristic.
1. Introduo.
A existncia de um hiato entre pesquisa e prtica, no campo das cincias
administrativas, tem sido objeto de muitos estudos. Em programao inteira e otimizao
combinatria, esse hiato tem resultado, em sua maioria, das diferentes nfases que
pesquisadores e prticos tm colocado em mtodos exatos de otimizao e mtodos
heursticos de soluo. Os termos entre aspas no tm sentido pejorativo. Enquanto os
pesquisadores, ao longo do tempo, concentraram seus esforos em mtodos exatos de
otimizao, os prticos foram forados a recorrer a heursticas para a obteno de solues
viveis para problemas reais, em geral de grande porte. Felizmente, esse hiato tem diminudo
sensivelmente, principalmente com o advento da teoria da complexidade ou da moderna teoria
da cincia de computao (Karp,1986). Os prticos passaram a levar mais a srio os mtodos
exatos de otimizao, principalmente porque estes melhoraram seus desempenhos at o ponto
em que podem ser bem sucedidos na soluo de problemas reais. Analogamente, os
pesquisadores passaram a olhar com mais respeito os mtodos heursticos, desde que se
cristalizou a impresso de que os problemas de otimizao combinatria, em sua maioria, so
extremamente difceis de serem resolvidos (Cook, 1971) e, por isso mesmo, suas solues para
determinadas instncias requerem a utilizao de heursticas.
Inmeros problemas reais podem ser formulados como problemas de programao
inteira, como exemplos, entre outros, problemas de empacotamento, alocao de tarefas,
oramento ou alocao de recursos financeiros e seleo de portflios. Como problemas de
programao inteira so, de modo geral, computacionalmente intratveis, ou seja, no podem

ser resolvidos de maneira exata por algoritmos em tempo polinomial determinstico, suas
solues ficam comprometidas quanto ao resultado. Este fato motiva a utilizao de algoritmos
heursticos para proverem solues viveis to boas quanto possveis, eventualmente timas,
para os referidos problemas.
Um problema de programao inteira que tem aplicaes em finanas, tanto em
alocao de recursos quanto em seleo de carteira de aes o problema da mochila quadrtica
0-1 (QKP). Uma caracterstica deste problema que ele NP-Hard ( Garey e Johnson, 1979)
e, conseqentemente, para problemas reais de maior porte, solues exatas so
computacionalmente inviveis. Para a obteno de solues viveis que sejam boas, no sentido
de aproximarem-se do timo, faz-se necessria a utilizao de heursticas.
O presente trabalho aborda o problema da mochila quadrtica 0-1 e sugere uma
heurstica GRASP ( greedy randomized adaptive search procedure ), indita, para resolv-lo.
A escolha de um algoritmo GRASP fundamenta-se, principalmente, em sua simplicidade e
engenhosidade de idias e facilidade de codificao, fatores estes que, em absoluto, no
diminuem sua performance.
O Captulo2 apresenta o problema da mochila quadrtica 0-1 (QKP), com suas
caractersticas e formulaes.
O Captulo3 apresenta idias, conceitos essenciais e referncias de utilizao das
heursticas GRASP.
O Captulo 4 prope um algoritmo GRASP para a formulao QKP1 do problema da
mochila quadrtica 0-1 e expe sua complexidade.
O Captulo 5 apresenta e analisa resultados computacionais do algoritmo proposto,
testado para diversas instncias geradas aleatoriamente.
Finalmente, no Captulo 6 (Concluso) so destacados os principais aspectos do
trabalho.
2. O problema da mochila quadrtica 0-1.
Problemas de mochila 0-1 so problemas de programao inteira, onde as variveis so
binrias. O nome mochila decorre da semelhana com o que se faz na prtica quando se
deseja acomodar em uma mochila um certo nmero de itens (roupas, acessrios, etc.).
Problemas de mochila quadrtica 0-1 consistem na otimizao de funes objetivo quadrticas,
sujeitas a restries de mochila. Como referido anteriormente, estes problemas tm aplicaes
em alocaes de recursos financeiros, seleo de projetos independentes e seleo de carteira de
aes. Existem duas formulaes para o problema da mochila quadrtica binria: i) a mais
tradicional (QKP1) consiste na maximizao de uma funo objetivo quadrtica (Z), sujeita a
uma restrio do tipo menor ou igual a uma capacidade; ii) a outra formulao (QKP2) consiste
na minimizao de uma funo objetivo quadrtica (Z), sujeita a uma restrio do tipo maior ou
igual a uma capacidade.
Em sua formulao QKP1 o problema, sob forma de expresso, pode ser visto como:
( QKP1) Maximizar XTQX
s.a.:
a TX b
X {0, 1}n
onde Q = (qij) nxn uma matriz quadrada, suposta definida positiva e seus elementos
correspondem a coeficientes de lucro, a = (ai) +n o vetor dos coeficientes tcnicos
ou de capacidades e b + corresponde capacidade da mochila.

1246

O problema da mochila quadrtica 0-1, principalmente em sua formulao QKP1, tem


motivado o aparecimento de inmeros algoritmos exatos para resolv-lo. Morin e Marsten
(1976) utilizaram um algoritmo recursivo baseado em programao dinmica para gerar uma
famlia completa de solues viveis no dominadas. Gallo, Hammer e Simeone (1980)
propuseram algoritmos exatos, onde limites superiores (upper bounds) so computados pela
utilizao de upper planes (planos superiores), que so funes lineares majoradas das
variveis binrias na funo objetivo, no conjunto das solues viveis. Mathur, Salkin e
Morito (1983) utilizaram procedimento branch and search que inclua um eficiente algoritmo
para encontrar a soluo relaxada (contnua) e uma regra de reduo que computava limites
apertados (tight bounds) , tanto superiores quanto inferiores, para as variveis inteiras.
Hammer e Rader (1996) propuseram um algoritmo heurstico, baseado em linearizao da
funo quadrtica, e um algoritmo branch and bound que determinavam, a cada passo do
procedimento, variveis que poderiam ser fixadas em valores tanto viveis quanto timos para
certos subproblemas, com base em concluses derivadas de relaxao Lagrangeana, relaes de
ordem e emparelhamento de restries. Billionet, Faye e Soutif (1999) desenvolveram
algoritmo branch and bound em que um bom limite superior foi obtido por relaxao
Lagrangeana. Tambm, nesta linha, Caprara, Pisinger e Toth (1999) desenvolveram um
algoritmo branch and bound que utiliza limites superiores apertados, dentro da faixa de 1%
do valor timo, obtidos por relaxao Lagrangeana, e que reporta solues exatas, efetivamente
verificadas, para problemas de at duzentas variveis, o que caracteriza um porte superior aos
normalmente encontrados na literatura.
3. Heursticas GRASP.
Apesar dos esforos dos pesquisadores, QKP1 continua sem soluo exata para
instncias maiores. Por isso, refora-se a idia da utilizao de algoritmos heursticos para a
obteno de solues viveis que sejam prximas do valor timo ou, eventualmente, timas.Em
funo da intratabilidade computacional do problema da mochila quadrtica 0-1, diversas
heursticas tm sido apresentadas para solucion-lo em tempo polinomial, fornecendo boas
solues viveis, eventualmente timas, para instncias maiores. Como abordagens mais
tradicionais destacam-se os algoritmos aproximativos e os gulosos ou mopes.Entre os primeiros
podem ser citados, entre outros, os trabalhos de Hochbaum (1995), apresentando um esquema de
aproximao totalmente polinomial para soluo do problema, de Maurcio e Maculan (1997)
com um mtodo de aproximao por regio de confiana e de Rader e Woeginger (2002) que
tambm apresentaram um esquema de aproximao totalmente polinomial, derivado de um
algoritmo de programao dinmica de complexidade pseudo-polinomial. As heursticas gulosas
ou mopes baseiam-se em uma idia simples, escolhendo a cada passo do algoritmo a melhor
deciso local. Muito embora elas sejam consideradas arbitrariamente ruins para o problema
QKP1(Maurcio, 1991), por sua simplicidade e por fornecerem boas solues continuam sendo
bastante utilizadas.
No obstante a ampla utilizao das heursticas clssicas mencionadas, sabe-se que elas
produzem, a cada rodada do algoritmo, uma nica soluo vivel, que pode ser tima ou no.As
heursticas GRASP (Greedy Randomized Adaptive Search Procedure), cujas idias foram
originalmente desenvolvidas por Feo e Resende (1995) so meta-heursticas bastante adequadas
para implementao em processadores paralelos e surgiram procurando conciliar a simplicidade
conceitual das heursticas gulosas com a limitao destas gerarem a mesma e nica soluo cada
vez que acionadas. A soluo GRASP passa por duas fases: uma fase de construo, baseada em
critrios mopes de deciso, relaxados atravs de um parmetro (), de modo a produzirem um
conjunto de candidatos a integrarem o conjunto soluo, e de escolhas aleatrias desses
candidatos, e, de uma fase de melhoria que consiste em uma busca local, que objetiva melhorar a
soluo mope aleatria construda. Assim, pela aleatoriedade das escolhas, vrias rodadas do
algoritmo resultam em vrias solues, possibilitando a escolha da melhor delas como a soluo
heurstica do problema, o que implica maior probabilidade de se achar a soluo tima. Esta
intuitiva e consistente simplicidade de idias tem sido responsvel pela ampla utilizao de

1247

algoritmos GRASP em inmeros problemas de otimizao combinatria. Heursticas GRASP tm


sido bastante usadas em problemas de programao inteira, tanto em sua concepo original
quanto em algoritmos GRASP hbridos. Um grande nmero de aplicaes GRASP pode ser visto
em bibliografia GRASP, mantida e freqentemente atualizada por Resende. Mais recentemente,
Ribeiro, Uchoa e Werneck (2001) trataram do problema de Steiner em grafos, utilizando uma
GRASP hbrida, com perturbaes ponderadas, em que a fase de construo GRASP substituda
pela utilizao de diversas heursticas de construo. Resende, Aiex e Ribeiro (2001) estudaram
as distribuies de probabilidade do tempo de soluo at um valor sub-timo alvo em cinco
algoritmos GRASP que apareceram na literatura, para os quais estavam disponveis os cdigos
fonte.
O procedimento GRASP pode ser sintetizado como abaixo:
Para a t-sima rodada, t = 1, 2, ...,T
Incio
Ler ( instncia, );
Enquanto (critrio de parada no satisfeito) faa
Procedimento construir soluo;
Procedimento melhorar soluo;
Fim-enquanto;
Escrever ( melhor soluo );
Fim.
onde, 0 1 o parmetro de relaxao do conjunto das variveis candidatas soluo e
tambm regulador do quo aleatria ou gulosa ser a soluo: valores extremos de implicam,
dependendo da formulao do problema em estudo, solues totalmente aleatrias ou solues
totalmente mopes ou gulosas.
Observe-se que a soluo escolhida para o problema ser a melhor entre as T diferentes
solues.
4. Uma heurstica GRASP para QKP1 (HGQKP1)
Nesta seo prope-se um algoritmo GRASP, indito, para obteno de boas solues
viveis para o problema da mochila quadrtica 0-1 em sua formulao QKP1 (HGQKP1). No
que concerne ao critrio mope de escolha, levando-se em conta a formulao QKP1, percebe-se
que incrementos na funo objetivo ocorrem devidos tanto aos coeficientes de lucro da matriz
Q quanto aos coeficientes tcnicos de a (maior nmero de itens na mochila aumenta o valor
da funo objetivo). Com estas observaes em mente, adotou-se o seguinte critrio mope de
deciso: escolher para candidato a integrar a mochila ou, equivalentemente, a soluo, o
elemento que apresentar a maior razo entre os coeficientes de lucro e os coeficientes
tcnicos.O algoritmo proposto ser apresentado sob forma de pseudocdigo, o que facilita
sobremaneira sua compreenso.
Heurstica GRASP para QKP1 (HGQKP1)

Inicializao
Ler ( n, Q, a, b, );
N: = { 1, 2,..., n};

// entrada de dados da instncia e


// conj.to de ndices das variveis fora

da
I: = ;

soluo
// conj.to de ndices das variveis da

soluo
FO: = 0; VIAB: = 0;
viabilidade
Para j = 1, 2, ..., n faa xjt = 0;

// variveis funo objetivo e


// vetor soluo

1248

Para t = 1, 2,...,T faa

// loop externo das T rodadas

Procedimento construir soluo


Enquanto ( N ) ( VIAB < b ) faa
Incio
c(i)i N : = qii + j I qij + j I qji ;
: = max { c (i ) / ai : i N };
R:= { i N : c ( i ) / ai ;
k: = Random ( R );
xkt : = 1;
VIAB: = VIAB + ak;
FO: = FO + c (k);
I: = I {k}; N: = N {k};
Fim-enquanto;

// determinao do lucro
// critrio mope de escolha
// conjunto das candidatas
// escolha aleatria da varivel
// varivel escolhida para soluo
// atualizao da viabilidade
// atualizao da funo objetivo
// atualizao conjuntos de ndices

Escrever ( xt, FO, I, N, VIAB, b );

// soluo mope aleatria construda

Procedimento melhorar soluo


Ler ( xt, FO, I, N, VIAB, b );
SW: = Verdadeiro;
Enquanto (I ) ( SW ) faa
Incio
cg ( i )iI : = j I qij + j I qji - qii ;
individuais
cg ( l ):= miniI { cg (i ) };
S : = I { l };
cn ( i ) iN : = qii + j S qij + j S qji ;

soluo

// critrios de parada

Z: = N;
Enquanto ( Z ) ( SW ) faa
Incio
cn ( r ): = maxiZ { cn ( i ) };

// soluo construda
// varivel switch do tipo Booleana
// critrio de parada
// determinao dos lucros
das variveis da soluo
// varivel candidata a sair da soluo
// conjunto auxiliar de ndices
// determinao dos lucros
das variveis fora da soluo
// conjunto auxiliar de ndices
// critrio de parada
// varivel candidata a entrar na

Se ( cn ( r ) > cg ( l )) faa
// teste de atratividade
Se ( ar - al + VIAB b ) faa // teste de viabilidade
Incio
xrt : = 1; xlt : = 0
// troca de variveis
FO: = FO cg ( l ) + cn ( r );
// atualizao da funo objetivo
SW: = Falso;
// atualizao de varivel
Fim-se;
Z: = Z { r };
// atualizao conjunto auxiliar
Fim-se;
Fim-enquanto;
I: = I {l}; N: = N {r};
Fim-enquanto;
Escrever ( Xt , FO );

// atualizao conjuntos de ndices


// soluo melhorada

1249

Finalizao
Escolher {Xt} de maior FO;
Fim-para;
Fim.

// escolha da mellhor das T solues

Destacando, no algoritmo, I representa o conjunto de ndices das variveis ativas que


esto na soluo e N o conjunto inicial de ndices das variveis inativas ou que no esto na
soluo. Os conjuntos de ndices S e Z so apenas conjuntos auxiliares. O parmetro , como se
sabe, o parmetro de relaxao do conjunto de variveis candidatas soluo.
A anlise da complexidade de HGQKP1, a seguir, baseia-se nas idias e conceitos
apresentados em Campello e Maculan (1994).
Proposio 1. A complexidade assinttica de HGQKP1 de ordem (n2).
Prova: A complexidade assinttica do algoritmo determinada, preponderantemente,
pela verificao das complexidades dos procedimentos construir soluo e melhorar soluo,
pois nesses procedimentos que ocorre um maior nmero de instrues.
A complexidade do procedimento construir soluo influenciada em maior grau pela
determinao de c( i )i N : = qii + j I qij + j I qji e pela determinao de := max { c (i ) / ai :
i N }. sabido que o mximo de n nmeros pode ser obtido por algoritmo de ordem O (n). A
determinao de c( i )i N envolve uma adio + 2m somas (onde m n a cardinalidade de I) +
1 atribuio. No pior caso a mochila estar cheia. Portanto, simplificadamente, o nmero de
operaes elementares ser de n.(n+1)/2 + 2.n2/2 + 2n, ou 3n2/2 + 5n/2. Considerando-se as
constantes k =4 e n0 = 1, verifica-se que 3n2/2 + 5n/2 4n2, n 1 o que, pela definio de
ordem de complexidade, permite concluir-se que o procedimento construir soluo tem
complexidade de ordem O (n2).
A complexidade do procedimento melhorar soluo, de modo anlogo, influenciada em
maior grau pela determinao de cg ( i )iI := j I qij + j I qji - qii . No pior caso (mochila
cheia), a determinao de cg ( i )iI envolver n.(2n + 1 ) operaes de adio (subtrao) mais
n atribuies. Simplificadamente, 2n2 + 2n operaes. Tomando-se as constantes k = 4 e n0 = 1,
verifica-se que 2n2 + 2n 4n2 , n 1 e, portanto, por definio, o procedimento melhorar
soluo tem complexidade de ordem O (n2).
A complexidade assinttica de HGQKP1, completando a prova, pela regra das somas,
ser de ordem max (O (n2), O (n2)), portanto de ordem O (n2).
5. Testes de validao de HGQKP1.
A heurstica HGQKP1 foi submetida a uma bateria de testes de validao, com a
utilizao de um computador pessoal, com processador Pentium III de 933 MHz e 128 Mb de
memria. As solues heursticas, expressas em termos de valores da funo objetivo (ZH),
foram comparadas, quando possvel, com os valores timos (exatos) da funo objetivo (Z*).
Como fator de avaliao, definiu-se um erro relativo como sendo igual ao quociente da
diferena, em valor absoluto, entre os valores exatos e heursticos da funo objetivo, dividida
pelo valor exato da funo objetivo. Sob forma de relao, tem-se: = Z* - ZH / Z* . No se
considerou o tempo de processamento (t), em segundos, como fator de comparao, embora o
mesmo tenha sido registrado nos testes de HGQKP1. Nas situaes onde no foi possvel a
comparao resultado heurstico x resultado exato, de qualquer modo, foram obtidas solues
heursticas que se pretendem boas, vistos os resultados comparveis.
A opo pela comparao com solues exatas deveu-se a dois fatores principais:
primeiro, pela inteno de avaliar a qualidade da soluo GRASP, em termos de soluo tima e
segundo, pelo desconhecimento da disponibilidade de outras meta-heursticas formuladas
especificamente para resolver QKP1.
Os testes foram realizados para cinco instncias geradas aleatoriamente, por grupos de
50, 100, 150, 200, 250 e 500 variveis binrias, considerando-se, matrizes quadradas (Q), com

1250

densidades () de 25%, 50%, 75% e 100%, e valores do parmetro de relaxao () iguais a


0,4, 0,6 e 0,8. Como se v, os testes foram significativos em quantidade.
O algoritmo HGQKP1 foi bem testado, at o limite de 200 variveis binrias, graas
possibilidade de utilizao de potente algoritmo (exato) branch and bound, desenvolvido por
Caprara, Pisinger e Toth (1999), j referido anteriormente, cujo cdigo foi tornado disponvel
por Pisinger. O limite de 200 variveis imposto por construo do algoritmo exato. Cumpre
observar que a sada deste algoritmo no informa o tempo de processamento. Para fins de
simplificao, considerou-se insolvel a instncia que levava mais de trinta e cinco minutos
(relgio) para apresentar soluo. Para nmeros de variveis superiores a 200, somente
resultados GRASP foram obtidos.
Na gerao das instncias utilizou-se um gerador de instncias aleatrias integrado ao
algoritmo branch and bound e que tambm foi utilizado por HGQKP1. O gerador assume,
para os coeficientes ai do vetor a, distribuio uniforme em determinado intervalo [1; l ], onde l
o limite superior do intervalo. Os valores qij da matriz Q tambm so uniformemente
distribudos no intervalo, com probabilidade igual densidade da matriz. A capacidade b da
mochila calculada como uma mdia dos elementos ai. Como se v, as instncias geradas
dessa maneira so correlacionadas, o que aumenta significativamente o grau de dificuldade de
obteno de solues exatas.Em todos os casos, os dados de entrada so valores inteiros no
negativos ( mochila supermodular). As densidades da matriz tambm devem ser informadas. A
utilizao de instncias aleatrias, em tese, garante a representatividade dos testes.
Considerando-se todos os resultados obtidos, para cada valor de , tomaram-se, tanto
para o erro relativo quanto para o tempo de processamento t, os respectivos valores mdios. A
Tabela 1 mostra o desempenho de HGQKP1, at 200 variveis, considerando-se valores mdios
para (M) e para o tempo de processamento (tM), em segundos, para cada valor de utilizado.
Aqui, cabe a observao de que no foram encontradas solues exatas para trs instncias de
200 variveis testadas, duas delas com densidade de 25 % e uma com densidade de 50 %. Os
valores mdios, para estes casos, somente consideram os resultados realmente obtidos.
Conforme se v, os resultados mdios obtidos foram bastante satisfatrios, em termos
de valores de funo objetivo, destacando-se os alcanados pela utilizao do parmetro de
relaxao com valor igual a 0,8, o qual apresentou erros mdios (M ) inferiores a 1% do valor
timo, exceto no caso particular de uma instncia de 100 variveis binrias, com densidade
igual a 75%, que apresentou erro igual a 0,0575, o que subiu o erro mdio M para cerca de
0,0130 ou 1,3% do valor timo.
De qualquer modo, os resultados para igual a 0,8 foram superiores aos obtidos pelos
outros valores de . Como valores de mais prximos de 1 implicam, para HGQKP1, solues
prximas de uma soluo essencialmente mope, os bons resultados para = 0,8 atestam o bom
critrio mope adotado.
De fato, o critrio mope de escolha (max { c (i ) / ai : i N }, onde c( i )i N := qii + j
q
+

j I qji ) talvez seja o mais adequado por considerar incrementos na funo objetivo tanto
I ij
como funo dos coeficientes de Q quanto dos coeficientes de a.
Tabela 1: Resultados mdios de HGQKP1 para instncias com at 200 variveis.
= 0,4
= 0,6
= 0,8
(s)
(s)
n
t
t
M
M
(%)
M
M
M
50
0,0048
5
0,0008
5,2
O,0000
25
100
0,0078
32
0,0029
31,8
0,0003
150
0,0133
109
0,0061
109,2
0,0013
200
0,0049
302
0,0037
304,7
0,0010
50
0,0105
5
0,0010
5
0,0000
50
100
0,0169
30,8
0,0033
30,8
0,0011
150
0,0081
99,8
0,0035
101,2
0,0007
200
0,0089
277,5
0,0048
279
0,0007

tM (s)
5,2
32,4
110
307,3
5
31
101,6
280,8

1251

75

100

50
100
150
200
50
100
150
200

0,0189
0,0176
0,0124
0,0131
0,0052
0,0036
0,0183
0,0085

4,6
28,2
101,2
242,8
4,6
23,8
92
262,4

0,0003
0,0131
0,0042
0,0077
0,0031
0,0021
0,0015
0,0062

4,8
28,6
102,2
249,6
4,6
24,4
92,4
266,2

0,0000
0,0130
0,0018
0,0038
0,0000
0,0007
0,0011
0,0024

4,8
28,8
103,2
252,2
4,8
24,8
92,4
271,2

A Tabela 2 a seguir mostra os resultados mdios de HGQKP1, tanto em valor de


funo objetivo (ZHM) quanto em tempo de processamento (tM), em segundos, para cada valor de
utilizado, nos casos de 250 e 500 variveis binrias.
Tabela 2: Resultados mdios de HGQKP1 para instncias de 250 e 500 variveis.
(%)
25
50
75
100

n
250
500
250
500
250
500
250
500

= 0,4
ZHM
46.368
835.125
331.574
967.289
358.549
968.625
375.827
1.196.349

tM (s)
651
4.993
634
5.406
639
5.317
645
5.286

= 0,6
ZHM
46.353
835.262
333.170
968.605
358.715
972.071
376.705
1.215.341

tM (s)
654
5.067
636
5.467
642
5.347
649
5.315

= 0,8
ZHM
46.419
835.755
333.677
969.239
359898
972.908
377.637
1.216.984

Os melhores resultados obtidos para as instncias de 250 e 500 variveis binrias


deveram-se, tambm, fixao de igual a 0,8.
Uma observao interessante a de que o tempo de processamento, embora no tenha
sido considerado como relevante na avaliao de HGQKP1, foi maior para valor de densidade
de matriz igual a 25%. Variaes nos valores de tambm implicam modificaes, pequenas, a
propsito, no tempo de processamento.
6. Concluso.
O trabalho apresentado aborda a importncia do problema da mochila quadrtica 0-1
(QKP) que em sua formulao QKP1 tem aplicaes prticas de cunho econmico-financeiro,
principalmente em alocao de recursos e seleo de projetos independentes. Por ser NP-Hard,
e, portanto, computacionalmente, de difcil soluo exata, prope-se uma heurstica GRASP,
HGQKP1, indita, para resolv-lo.
Heursticas GRASP so meta-heursticas de filosofia simples e de fcil assimilao que
se baseiam, em sua primeira fase, em critrios mopes de escolha aleatria das variveis que
faro parte da soluo construda. Em uma segunda fase, a soluo construda passa por um
procedimento de melhoria (busca local). Por seu carter aleatrio, heursticas GRASP so
adequadas ao processamento em paralelo e permitem solues diferentes a cada rodada do
algoritmo.
O algoritmo HGQKP1 foi submetido a um nmero considervel de testes, os quais
revelaram resultados bem favorveis em termos de valores de funes
objetivo,comparativamente aos resultados timos obtidos pela utilizao de um algoritmo exato
branch and bound. Destacam-se os resultados obtidos para valor do parmetro de relaxao

1252

tM (s)
657
5.070
638
5.514
646
5.378
652
5.318

fixado como igual a 0,8, em que todos eles, exceo de um, apresentaram valores heursticos
de funo objetivo a menos de 1% do valor timo, o que confirma a hiptese de que quanto
melhor o critrio guloso adotado, mais prximas so as solues tima e mope ( = 1). Tais
resultados lhe conferem a possibilidade de utilizao tanto como solver de problemas reais
quanto como fornecedor de bounds para mtodos exatos de enumerao.

Referncias Bibliogrficas
BILLIONET, A., FAYE, A., SOUTIF, E. (1999). A new upper-bound for the 0-1
quadratic knapsack problem. European Journal of Operations Research, 112: 664-672.
CAMPELLO, R. E., MACULAN, N. (1994). Algoritmos e heursticas:
desenvolvimento e avaliao de performance. Niteri: EDUFF.
CAPRARA, A., PISINGER, D., TOTH, P. (1999). Exact solution of the quadratic
knapsack problem. Journal of Computing, 11, (2): 125-137.
COOK, S. A. (1971). The complexity of theorem proving procedures. Proc. 3rd
Annual ACM Symposium on the theory of computing. p. 151-158.
FEO, T., RESENDE, M. (1995). Greedy randomized adaptive search procedure.
Journal of Global Optimization, 16: 1-24.
GALL0, G., HAMMER, P. L., SIMEONE, B. (1980). Quadratic knapsack problems.
Mathematical Programming, 12: 132-149.
GAREY, M. R., JOHNSON, D. S. (1979). Computers and intractability: a guide to the
theory of NP completeness. San Francisco, CA.: Freeman.
HAMMER, P. L., RADER, D. J. (1997). Efficient methods for solving quadratic 0-1
knapsack problems. INFOR, 35:170-182.
HOCHBAUM, D. (1995). A nonlinear knapsack problem. Operations Research
Letters, 17: 103-110.
KARP, R. M. (1975). On the computational complexity of combinatorial problems.
Networks, 5: 45-68.
MATHUR, K., SALKIN, H. M., MORITO, S. (1983). A branch and search algorithm
for a class of nonlinear knapsack problems. Operations Research Letters, 2: 155- 160.
MAURICIO, D., MACULAN, N. (1997). A trust region method for zero-one nonlinear
programming. Operations Research, 31: 331-341.
MAURICIO, D. (1991). Mtodos de resoluo para mochila quadrtica. Dissertao de
mestrado, COPPE, UFRJ.
MORIN, T. L., MARSTEN, R. E. (1976). An algorithm for nonlinear knapsack
problems. Management Science, 22: 1147-1157.
RESENDE, M., AIEX, R., RIBEIRO, C. (2001). Probability distribution of solution
time in GRASP: an experimental investigation. www.optimization-online.org.

1253

RADER, D. J., WOEGINGER, G. J.(2002).The quadratic 0-1 knapsack problem with


series-parallel support. Operations Research Letters, 30: 159-166.
RIBEIRO, C., UCHOA, E., WERNECK, R. (2001). An hybrid GRASP with
Perturbations for the Steiner problem in graphs. www.optimization-online.org.

1254