Abstract— The Compartmentalized Knapsack Problem has been reported in the literature to generate cutting patterns of problems in two stages. The problem has constrained case, which are considered limits on the number of compartments and items in the knapsack. An exact algorithm that involves the resolution of various knapsacks and heuristics based on upper bound has already been developed. In this paper we present the problem with mathematical models and propose new strategies for resolving the constrained case.
Keywords— Heuristic, knapsack, compartmentalized, column
generation.
I. INTRODUÇÃO
ROBLEMAS da mochila [2, 14, 15, 18] são amplamente estudados devido sua presença em inúmeras aplicações [12]. Existe uma variação do problema clássico denominado problema da mochila compartimentada [7], cuja idéia consiste em construir, no interior de uma mochila de capacidade conhecida, compartimentos de capacidades desconhecidas, porém, limitadas entre um valor mínimo e um valor máximo, cujo objetivo é o de maximizar a utilidade total.
Matematicamente, seja
{
N
1, ...,
N
q}
uma partição do conjunto N dos índices dos itens, em que cada elemento da partição é denominado agrupamento. A utilidade de um item de índicei N
∈
será representada por *i
u
∈
+, e seu pesopor * i
∈
+
. A capacidade da mochila será representada por*
L
∈
+, naturalmente
i N∈
i>
L
e
i<
L
para i∈
N
. A partição{
N
1, ...,
N
q}
induz a partição{ , ...,
V
1V
q}
, em que de índiceV
= ∪ ∪
V
1
V
q e ondeV
s,s
=
1,...,
q
, é o conjunto de índices de compartimentos construídos com itens de índices emN
s, tendo em vista que cada compartimento deve ter itens provenientes de um mesmo agrupamento.Um compartimento de capacidade
L
k,k V
∈
s, é tal que, , onde0
<
L
smin<
L
smax≤
L
são limitantes inteiros,
Este trabalho contou com os apoios financeiros do CNPq e da Dash Optimization que cedeu o Xpress-MP para as simulações.
R. Hoto é Professor Adjunto do Departamento de Matemática da Universidade Estadual de Londrina, Londrina, Paraná, Brasil, hoto@uel.br.
N. Maculan atua no Programa de Engenharia de Sistemas e Computação da COPPE na Universidade Federal do Rio de Janeiro, Rio de Janeiro, Rio de Janeiro, Brasil, maculan@cos.ufrj.br.
A. Borssoi atua na Universidade Tecnológica Federal do Paraná, Londrina, Paraná, Brasil, adrianaborssoi@utfpr.edu.br.
naturalmente min s s i i N∈
≥
L
e maxs i<
L
parai
∈
N
s,1,...,
s
=
q
.Duas variáveis de decisão serão necessárias,
a
ik∈
+ que indicará o número de itens de índicei
∈
N
no compartimento de índicek V
∈
, ey
k∈
+ que indicará o número decompartimentos de índice
k V
∈
na mochila.A restrição física de um compartimento será escrita como
min s max s s k
L
i N i ika
kL
δ
≤
∈
≤
δ
, onde s i ik k i N∈a
=
L
é acapacidade do compartimento e
δ
k,k V
∈
, é uma variável lógica para garantir a viabilidade, cujo valor é 1 se o compartimento foi construído e 0 no caso contrário.A restrição física da mochila será escrita como
1
(
1 i ik)
k k V∈ i N∈a
y
+ +
(
)
q q i ik k k V∈ i N∈a
y
≤
L
.A utilidade de um compartimento de índice
k V
∈
s,1,...,
s
=
q
, será definida comos
k i N i ik
v
=
∈u a
, desta forma o objetivo da mochila será escrito como1
(
1 i ik)
k k V i Nz
=
∈
∈u a
y
+ +
(
)
q q i ik k k V∈ i N∈u a
y
.Finalmente, o modelo de uma mochila compartimentada tem o seguinte o formato [8, 10, 13]:
maximizar 1
(
1 i ik)
k k V i Nz
=
∈
∈u a
y
+ +
(
)
q q i ik k k V∈ i N∈u a
y
(1) sujeito a: 1(
1 i ik)
k k V∈ i N∈a
y
+ +
(
)
q q i ik k k V∈ i N∈a
y
≤
L
(2) min s max s s kL
i N i ika
kL
δ
≤
∈
≤
δ
,k V
∈
s,s
=
1,...,
q
(3) ika
∈
+,y
k∈
+,δ
k∈
{0, 1}
,i
∈
N
ek V
∈
(4) O clássico problema da mochila é, então, um caso particular em que a partição de N é unitária,L
min=
0
eL
max=
L
.Mochilas compartimentadas são comuns em problemas de corte onde o processo de cortagem ocorre em duas ou mais fases [8, 19].
As abordagens formais de mochilas compartimentadas foram apresentadas pela primeira em [7]. Atualmente, as pesquisas se concentram no caso restrito e os resultados mais recentes estão em [10, 13]. Estes estudos atuais indicam que os trabalhos futuros abordarão o caso bidimensional.
R. Hoto, N. Maculan and A. Borssoi
A Study of the Compartimentalized Knapsack
Problem with Additional Restrictions
Abordagens informais podem ser encontradas em [1, 4, 6, 11, 16, 19].
Além da Introdução, este texto encontra-se organizado em Seção II, onde é apresentado o caso restrito do problema com a descrição de heurísticas, Seção III em que é feita uma discussão sobre o uso de Geração de Colunas para o cálculo de limitantes superiores, Seção IV na qual descrevemos os resultados de simulações e Seção V com as conclusões.
II. O CASO RESTRITO
Em aplicações práticas [8, 10] é comum considerar restrições adicionais na compartimentação de uma mochila, dentre as quais destacamos:
i) A quantidade de cada item de índice
i
∈
N
que compõe a mochila deve ser limitada, 1s
q
ik k i s= k V∈
a y
≤
d
.ii) A quantidade de compartimentos na mochila deve ser
limitada, 1 1 s q k s= k V∈
y
≤
F
.iii) A quantidade de itens em cada compartimento
k V
∈
s,1,...,
s
=
q
, deve ser limitada, 2 s iki N∈
a
≤
F
.Assim, o caso restrito de uma mochila compartimentada é escrito como: maximizar 1
(
1 i ik)
k k V i Nz
=
∈
∈u a
y
+ +
(
)
q q i ik k k V∈ i N∈u a
y
(5) sujeito a: 1 s q ik k i s= k V∈a y
≤
d
,i
∈
N
(6) 1(
1 i ik)
k k V∈ i N∈a
y
+ +
(
)
q q i ik k k V∈ i N∈a
y
≤
L
(7) min s max s s kL
i N i ika
kL
δ
≤
∈
≤
δ
,k V
∈
s,s
=
1,...,
q
(8) 1 1 s q k s= k V∈y
≤
F
(9) 2 s ik i N∈a
≤
F
,k V
∈
s,s
=
1,...,
q
(10) ika
∈
+,y
k∈
+,δ
k∈
{0, 1}
,i
∈
N
ek V
∈
(11)A. Algoritmo de Decomposição do Problema.
Para cada
s
=
1,...,
q
, nem todo compartimento de capacidade{
smin,
smin1,...,
smax}
k
L
∈
L
L
+
L
,k V
∈
s, é viável, isto é,s i ik k
i N∈
a
=
L
. Assim, digamos que o número total de compartimentos viáveis que envolvem a resolução de uma mochila compartimentada seja computável. Neste caso, sugerimos decompor o problema em duas etapas [9]: na primeira são resolvidas várias mochilas que irão construir estes compartimentos, na segunda um programa linear inteiro se encarregará de escolher os compartimentos que deverão compor a mochila. Vejamos o algoritmo proposto:1. Para cada compartimento viável de capacidade
L
k,k V
∈
s es
=
1,...,
q
resolva a seguinte mochila de variáveis canalizadas com restrição adicional, que fornecerá a configuração e o valor de utilidadev
k do compartimento:maximizar 1 k i N i ik
v
=
∈u a
(12) sujeito a: (12) s i ik k i N∈a
=
L
(13) 2 s ik i N∈a
≤
F
(14)0
≤
a
ik≤
d
i,a
ik∈
+,i N
∈
s (15)2. Resolva o seguinte PLI e obtenha a compartimentação:
maximizar 1 k k k V
z
=
∈v y
+ +
k V∈qv y
k k (16) sujeito a: (16) 1 ik k k V∈a y
+ +
k V∈qa y
ik k≤
d
i,i N
∈
(17) 1 k k k V∈L y
+ +
q k k k V∈L y
≤
L
(18) 1 k k V∈y
+ +
k V∈qy
k≤
F
1 (19) ky
∈
+,k V
∈
(20) O cálculo das mochilas do Passo 1 pode ser substituído pelo cálculo de limitantes superioresv
k [8, 10], reduzindo muito o tempo de processamento, além disto, a relaxação contínua do PLI do Passo 2 pode ser resolvida pelo Método do Simplex, fornecendo mais uma alternativa de obter um limitante superior [9].B. Heurística de “w” Capacidades.
Uma alternativa proposta por Marques [13] consiste em reduzir o espaço de busca, construindo o melhor compartimento para “w” capacidades pré-definidas. Vejamos:
1. Faça
W
= ∅
ek
=
1
;2. Para
s
=
1,
,
q
;2.2. Faça maxs k
L
=
L
ej
=
1
;2.3. Enquanto
L
k>
L
mins ej
≤
w
faça2.3.1 Resolva o seguinte problema da mochila:
maximizar s k i N i i
v
=
∈u a
sujeito a: s i i k i N∈a
≤
L
2 s i i N∈a
≤
F
0
≤
a
i≤
d
i,a
i∈
+,i
∈
N
s2.3.2. Inclua o índice k do compartimento construído em
W
⊂
V
;2.3.3. Faça
(
)
1
sk i N i i
2.3.4. Faça
j
= +
j
1
ek
= +
k
1
;3. Resolva o seguinte programa linear inteiro:
maximizar k k k W
z
=
∈v y
sujeito a: ik k i k W∈a y
≤
d
,i
∈
N
k k k W∈L y
≤
L
k W∈y
k≤
F
1y
k∈
+,k W
∈
Em [13] os autores discutem o desempenho de outras heurísticas e, segundo eles, a que apresentou melhor performance foi a de “w” capacidades com
w
=
5
. Os autores também relatam terem introduzido um conjunto adicional de compartimentos, sob os quais não se exige que a respectiva capacidade esteja limitada.C. Heurística de “w” Capacidades Modificada.
Em [19] é descrito um problema de corte em bobinas de papel, onde o processo de cortagem ocorre em duas fases. O autor descreve modificações no procedimento de geração de colunas [3, 5], onde o gerador de colunas é uma mochila com objetivo e restrição física não-lineares, semelhante à mochila compartimentada, porém, sem restrições de agrupamentos.
A partir das idéias contidas em [19], desenvolvemos uma heurística para o caso restrito da compartimentação de uma mochila. Nossa heurística combina o primeiro passo da heurística do melhor compartimento para “w” capacidades [13], com um procedimento de realimentação do conjunto de compartimentos, que é baseado no fato de que o número máximo de compartimentos que podem ser construídos na mochila, com itens indexados em
N
s, émin
min{
/
s, max
s{ }}
s i N ip
=
L L
∈d
. Vejamos a heurística: 1. FaçaW
= ∅
ek
=
1
; 2. Paras
=
1,
,
q
; 2.2. Faça smax kL
=
L
ej
=
1
; 2.3. Enquanto mins kL
>
L
ej
≤
w
faça2.3.1 Resolva o seguinte problema da mochila:
maximizar s k i N i i
v
=
∈u a
sujeito a: s i i k i N∈a
≤
L
2 s i i N∈a
≤
F
0
≤
a
i≤
d
i,a
i∈
+,i
∈
N
s2.3.2. Inclua o índice k do compartimento construído em
W
⊂
V
; 2.3.3. Faça(
)
1
s k i N i iL
=
∈
a
−
; 2.3.4. Façaj
= +
j
1
ek
= +
k
1
; 2. Paras
=
1,
,
q
2.1. Faça
min{
/
smin, max
s{ }}
s i N i
p
=
L L
∈d
;2.2. Para
j
=
1,
,
p
s2.2.1. Resolva o seguinte programa linear inteiro:
maximizar s k k i i k W i N
z
=
∈v y
+
j
∈u a
sujeito a: ik k i i k W∈a y
+
ja
≤
d
, i∈
N
s k k i i k W∈L y
+
j
i N∈a
≤
L
min max s s s i i i NL
a
L
δ
≤
∈
≤
δ
(
k W∈y
k)
+
δ
j
≤
F
1 2 s i i N∈a
≤
F
ika
∈
+,y
k∈
+,δ
∈
{0, 1}
, i N∈
ek W
∈
2.2.2. Se um novo compartimento foi construído, então
inclua seu índice em W;
III. COMPARTIMENTAÇÃO E GERAÇÃO DE COLUNAS No passo 1 do Algoritmo de Decomposição, no pior caso serão calculadas max min
1
(
1)
q s s
s=
L
−
L
+
mochilas, tratando-se do número total de compartimentos, que pode ser excessivamente alto. Neste caso, a relaxação contínua do PLI (16)-(20) do passo 2 não pode ser resolvida com o Método do Simplex, mas, pode ser resolvida por Geração de Colunas [3, 5].No intuito de escrever o problema secundário que gerará colunas, digamos que
N
=
{1,..., }
n
e considere que1 2 1 2
( ,
,
,
n,
n,
n)
π
=
π π
π π
+π
+ o vetor dos multiplicadoresSimplex.
A coluna que pretendemos gerar para nosso PLI, tem o seguinte aspecto
(
1,...,
,
,1)
Tk
a
ka
nkL
kα
=
,k V
∈
s. Observe que sei
∈ −
N
N
s, então,a
ik=
0
, desta forma1 s n k i ik i ik i N i
v
u a
u a
∈ ==
=
e o custo relativo associado aα
k será: kv
kπα
−
=πα
k−
v
k= 1 2 1 n i ik n k n k ia
L
v
π
π
+π
+ =+
+
−
= 1 2 1 1 n n i ik n i ik n k i ia
a
v
π
π
+π
+ = =+
+
−
= 1 2 1 1 1 n n n i ik n i ik n i ik i i ia
a
u a
π
π
+π
+ =+
=+
−
=
= 2 1 1(
)
n n i n i i ik iu a
π
+π π
+ =+
+
−
Considerando que o programa linear (16)-(20) do passo 2 é de maximização, sabemos que se
πα
k−
v
k≥
0
para toda coluna de índice k da partição não-básica do Simplex (simbolizaremos porV
N a partição não-básica e porV
B a básica), então a corrente solução é ótima. Assim, caso{
}
min
N k k k V∈πα
−
v
= 2 1 1min
(
)
N n n i n i i ik k V iu a
π
+π π
+ ∈ =
+
+
+
= 2 1 1min min
(
)
s s B q n i n i i ik s k V i N k Vu a
π
+π π
+ = ∈ ∈ ∉
+
+
−
≥ 0, então, a corrente solução será ótima. Por outro lado,2 1 1
min min
(
)
s s B q n i n i i ik s k V i N k Vu a
π
+π π
+ = ∈ ∈ ∉
+
+
−
= 2 1 1min
max
(
)
s s B q n i n i i ik s k V i N k Vu a
π
+π π
+ = ∈ ∈ ∉
−
−
−
+
−
= 2 1 1min max
(
(
)
)
s s B q n i n i i ik s k V i N k Vu a
π
+π π
+ = ∈ ∈ ∉
−
−
+
+
−
= 2 1 1min min
(
)
s s B q n i n i i ik s k V i N k Vu a
π
+π π
+ = ∈ ∈ ∉
+
+
−
= 2min min
1(
1)
s s B q n s k V i i n i ik i N k Vu
a
π
+ = ∈π π
+ ∈ ∉
+
−
−
−
= 2min
1max
(
1)
s s B q n s k V i i n i ik i N k Vu
a
π
+ = ∈π π
+ ∈ ∉
+
−
−
−
Portanto,min
{
}
N k k k V∈πα
−v
≥0 é equivalente a: 1 1min max
(
)
s s B q i i n i ik s k V i N k Vu
π π
+a
= ∈ ∈ ∉
−
−
≤
π
n+2No momento de gerar a coluna
α
k, o índice k do compartimento não é relevante para o processo, assim, o gerador de colunas terá o seguinte aspecto:1 1
min max
(
)
s q i i n i i s i Nu
π π
+a
= ∈
−
−
sujeito a:( ,..., ,
1,1)
T n compa
a L
ser uma coluna que representa um compartimento de capacidadecomp
L
, ondeL
smin≤
L
comp≤
L
smax. Resumindo, na impossibilidade de usar o Método do Simplex para resolver a relaxação contínua do PLI (16)-(20), sugerimos a utilização de Geração de Colunas [3, 5], conforme o procedimento:1. Encontre uma partição inicial
( , )
B N
para a matriz da relaxação contínua do PLI (16)-(20). Note que as colunas deB representam compartimentos iniciais, que podem ser
homogêneos (compostos por apenas um tipo de item).
2. Faça PARE = falso;
3. Enquanto PARE = falso faça
4. Calcule o vetor
π
de multiplicadores Simplex;5. Calcule a solução básica
1 1 2 1
( ,
,
,
, , )
T B ny
=
B
−d d
d L F
;6. Para
s
=
1,
,
q
, gere a coluna( ,..., ,
1,1)
T n compa
a L
α
=
, resolvendo o seguinte problema de mochila:maximizar
(
1)
s s i i n i ik i Nz
u
π π
+a
∈=
−
−
sujeito a: s comp i i i NL
a
∈=
min max s s compL
≤
L
≤
L
2 s i i Na
F
∈≤
ia
∈
+,i
∈
N
s 7. Se{ }
1min
sq=z
s≤
π
n+2, então, PARE = verdade e vá ao passo3 {a corrente solução da relaxação contínua é ótima}, senão vá ao passo 8;
8. Determine a Direção Simplex
λ
=
B
−1α
;9. Se
λ
<
0
, então PARE = verdade e vá ao passo 3 {oproblema não tem solução ótima finita}, senão vá ao passo 10;
10. Determine o índice r da coluna de B a sair da base:
( )
min
( )0,
B r B i i s r iy
y
i
N
λ
λ
λ
=
>
∈
;11. Atualize B e
B
−1; Retorne ao passo 4; IV. SIMULAÇÕESNós efetuamos as simulações, utilizando o solver Xpress-MP [17] num Pentium 4 Hyper-Threading de 3.0 GHz com 2 GB de RAM. Foram gerados exemplares aleatoriamente da seguinte forma: categoria (5/5) com 5 agrupamentos de 5 itens cada, categoria (10/5) com 10 agrupamentos de 5 itens cada, categoria (15/10) com 15 agrupamentos de 10 itens cada e categoria (10/15) com 10 agrupamentos de 15 itens cada.
Os dados dos exemplares foram definidos como: ●
L
=
100.000
; ●L
smin=
10.000
,s
=
1,
,
q
; ●L
smax =15.000
,s
=
1,
,
q
; ●F
1=
12
eF
2=
6
; ●,
[
1 maxs,
2 maxs]
i iu
∈μ
L
μ
L
, distribuídos uniformemente com1,
,
s
=
q
eμ
1<
μ
2, ondeμ
1∈
{0.001,0.05,0.15,0.25}
e2
{0.2,0.3,0.4,0.5,0.6,0.7,0.8}
μ
∈
.Para cada categoria geramos 1040 exemplares, 10 para cada escolha de
μ
1 eμ
2, e para as comparações tomamos as médias dos objetivos destes 10 exemplares. Os objetivos médios das abordagens descritas foram normalizados pelo objetivo médio do PLI (16)-(20) do Passo 2.TABELAI
RESULTADOS PARA A CATEGORIA (5/5)
1
μ
μ
2 “w” cap w=5 “w” cap w=10 “w” cap mod w=5 Geração Colunas 0.001 0.2 93,20% 93,58% 98,38% 102,27% 0.3 93,14% 94,60% 99,06% 102,25% 0.4 94,99% 96,11% 98,81% 102,33% 0.5 95,09% 97,78% 99,89% 102,42% 0.6 95,96% 98,28% 99,72% 102,56% 0.7 96,16% 97,35% 99,35% 102,51% 0.8 96,94% 97,85% 99,97% 102,60% 0.05 0.2 93,45% 97,01% 98,95% 102,68% 0.3 96,00% 97,05% 99,58% 102,47% 0.4 97,75% 98,61% 99,52% 102,24% 0.5 95,46% 97,89% 99,48% 102,05% 0.6 95,94% 97,65% 99,58% 102,79% 0.7 97,03% 98,40% 99,91% 102,45% 0.8 96,43% 97,26% 99,99% 102,70% 0.15 0.3 94,76% 98,58% 99,67% 102,33% 0.4 96,27% 98,91% 99,41% 102,31% 0.5 96,33% 99,38% 99,71% 102,72% 0.6 96,70% 98,84% 99,72% 102,15% 0.7 96,24% 97,85% 99,99% 102,23% 0.8 96,71% 98,16% 99,99% 102,34% 0.25 0.3 99,23% 99,78% 99,99% 102,45% 0.4 97,49% 98,29% 99,59% 102,52% 0.5 98,49% 98,98% 99,96% 102,67% 0.6 98,21% 98,48% 99,99% 102,01% 0.7 96,14% 96,38% 99,99% 102,46% 0.8 99,64% 99,76% 99,99% 102,37% TABELAIIRESULTADOS PARA A CATEGORIA (10/5)
1
μ
μ
2 “w” cap w=5 “w” cap w=10 “w” cap mod w=5 Geração Colunas 0.001 0.2 95,83% 99,28% 99,61% 102,95% 0.3 93,26% 98,53% 99,72% 102,45% 0.4 96,19% 99,38% 99,82% 102,20% 0.5 96,70% 99,77% 99,11% 102,62% 0.6 96,06% 99,12% 99,81% 102,59% 0.7 97,60% 99,48% 99,77% 102,30% 0.8 98,34% 99,50% 99,83% 102,82% 0.05 0.2 93,01% 96,91% 99,09% 102,53% 0.3 93,90% 97,91% 99,26% 102,01% 0.4 95,65% 98,92% 99,85% 102,51% 0.5 97,19% 99,31% 99,62% 102,81% 0.6 97,95% 99,60% 99,61% 102,59% 0.7 97,76% 98,63% 99,76% 102,78% 0.8 98,66% 99,35% 99,87% 102,32% 0.15 0.3 97,14% 98,92% 99,74% 102,45% 0.4 98,04% 99,19% 99,45% 102,01% 0.5 98,39% 99,79% 99,86% 102,19% 0.6 97,91% 99,26% 99,89% 102,13% 0.7 99,12% 99,52% 99,89% 102,82% 0.8 97,46% 99,43% 99,68% 102,16% 0.25 0.3 98,27% 98,69% 99,98% 102,32% 0.4 99,86% 99,95% 99,99% 102,25% 0.5 99,00% 99,57% 99,97% 102,52% 0.6 99,26% 99,79% 99,99% 102,02% 0.7 99,27% 99,31% 99,99% 102,80% 0.8 98,65% 98,81% 99,97% 102,63% TABELAIIIRESULTADOS PARA A CATEGORIA (15/10)
1
μ
μ
2 “w” cap w=5 “w” cap w=10 “w” cap mod w=5 Geração Colunas 0.001 0.2 98,56% 99,93% 99,92% 101,19% 0.3 92,10% 98,72% 99,76% 101,88% 0.4 91,44% 98,43% 99,65% 101,50% 0.5 90,32% 99,04% 99,49% 101,17% 0.6 92,25% 99,04% 99,43% 101,39% 0.7 93,56% 98,92% 99,63% 101,13% 0.8 94,73% 99,43% 99,79% 101,96% 0.05 0.2 87,29% 94,72% 98,72% 101,32% 0.3 87,60% 95,12% 98,67% 101,78% 0.4 90,51% 97,33% 99,24% 101,41% 0.5 93,85% 98,51% 98,67% 101,32% 0.6 93,82% 98,02% 99,11% 101,93% 0.7 94,70% 99,12% 99,50% 101,42% 0.8 94,07% 99,07% 99,67% 101,95% 0.15 0.3 92,49% 98,24% 99,38% 101,63% 0.4 94,57% 97,69% 99,38% 101,87% 0.5 95,89% 98,66% 99,22% 101,15% 0.6 96,36% 99,32% 99,45% 101,34% 0.7 97,45% 99,20% 99,99% 101,59% 0.8 97,60% 99,19% 99,51% 101,61% 0.25 0.3 98,69% 99,69% 99,68% 101,13% 0.4 96,74% 99,74% 98,75% 101,34% 0.5 99,48% 99,71% 99,99% 101,33% 0.6 99,21% 99,95% 99,97% 101,15% 0.7 99,01% 99,73% 99,98% 101,40% 0.8 99,73% 99,99% 99,99% 101,69% TABELAIVRESULTADOS PARA A CATEGORIA (10/15)
1
μ
μ
2 “w” cap w=5 “w” cap w=10 “w” cap mod w=5 Geração Colunas 0.001 0.2 92,03% 98,47% 99,61% 101,57% 0.3 88,75% 97,53% 99,39% 102,90% 0.4 81,80% 95,34% 98,78% 101,61% 0.5 86,72% 97,60% 99,00% 101,63% 0.6 88,39% 95,83% 98,67% 101,68% 0.7 90,40% 95,97% 98,86% 101,69% 0.8 91,28% 97,83% 99,43% 101,74% 0.05 0.2 82,98% 90,98% 98,31% 101,87% 0.3 87,46% 94,22% 98,18% 101,98% 0.4 89,87% 95,22% 97,70% 102,45% 0.5 91,32% 96,42% 98,19% 102,35% 0.6 92,96% 97,02% 99,26% 101,82% 0.7 93,23% 97,93% 98,67% 102,16% 0.8 94,89% 98,41% 99,40% 101,61% 0.15 0.3 89,43% 96,34% 98,82% 101,77% 0.4 93,88% 98,05% 99,18% 101,02% 0.5 94,48% 98,22% 99,11% 101,95% 0.6 96,39% 98,44% 99,32% 101,95% 0.7 96,57% 99,30% 99,81% 101,62% 0.8 96,68% 98,52% 99,45% 101,95% 0.25 0.3 97,41% 99,39% 99,85% 102,16% 0.4 91,28% 97,00% 99,00% 103,07% 0.5 99,32% 99,77% 99,98% 101,35% 0.6 98,43% 99,44% 99,94% 101,44% 0.7 98,49% 99,04% 99,91% 101,83% 0.8 99,44% 99,72% 99,97% 101,26%V. CONCLUSÕES
Neste artigo apresentamos os estudos que efetuamos sobre compartimentação de mochilas que é uma extensão do problema clássico. Fizemos a descrição matemática de uma decomposição do modelo (5)-(11), apresentamos a Heurística de “w” Compartimentos [13] e sugerimos modificações nela para melhorar o gap em relação ao objetivo do PLI (16)-(20), o que foi observado pelos resultados das simulações que efetuamos.
Também apresentamos as contas que nos permitiu calcular limitantes superiores por meio do Método do Simplex ou pela Técnica de Geração de Colunas [3, 5], onde o problema secundário é um min{max}.
Uma sugestão que registramos é a de explorar um
branch-and-price [8] na estratégia de Geração de Colunas, a fim de
obter soluções viáveis do problema.
Outra forma de obter soluções viáveis consiste em utilizar as colunas obtidas durante o processo de geração de colunas para tentar obter uma compartimentação. Isto pode ser feito pela resolução do PLI (16)-(20), porém, num espaço de busca reduzido.
REFERÊNCIAS
[1] J. R. Brown, “The knapsack sharing problem,” Operations Research, 27, 341-355, 1979.
[2] G. B. Dantzig, “Discrete variable extremum problems,” Operations Research, 5, 266-277, 1957.
[3] G. B. Dantzig and P. Wolfe, “Decomposition principle for linear programs,” Operations Research, 101-111, 1959.
[4] Fujimoto, M. and T. Yamada, “An exact algorithm for the knapsack sharing problem with common items,” European Journal of Operational Research, 171, 693-707, 2006.
[5] P. C. Gilmore and R. E. Gomory, “A linear programming approach to the cutting stock problem,” Operations Research, 9(6), 849-859, 1961. [6] M. Hifi and S. Sadfi, “The knapsack sharing problem: an exact
algorithm,” Journal of Combinatorial Optimization, 6, 35-54, 2002. [7] R. Hoto, M. N. Arenales e N. Maculan, “O problema da mochila
compartimentada, ” Relatório Técnico, Departamento de Matemática, Centro de Ciências Exatas, Universidade Estadual de Londrina, Londrina, P.R., Brasil, 1999.
[8] R. Hoto, “O problema da mochila compartimentada aplicado no corte de bobinas de aço,” Tese de Doutoramento, COPPE/UFRJ, Engenharia de Sistemas e Computação, Rio de Janeiro, RJ, Brasil, 2001.
[9] R. Hoto, F. Spolador e F. Marques. Resolvendo Mochilas Compartimentadas Restritas, XXXVII Simpósio Brasileiro de Pesquisa Operacional, 1756-1766, 2005.
[10] R. Hoto, M. N. Arenales and N. Maculan, “The Compartmentalised Knapsack Problem: a case study,” European Journal of Operational Research, 1183-1195, 2007.
[11] R. E. Johnston and L. R. Khan, “Bounds for nested knapsack problems,” European Journal of Operational Research, 81, 154-165, 1995.
[12] E. Y. Lin, “A bibliographical survey on some well-known non-standard knapsack problems,” INFOR 36(4), 274-317, 1998.
[13] F. P. Marques and M. N. Arenales, “The constrained compartmentalised knapsack problem,” Computers & Operations Research, Volume 34 , Issue 7, 2109-2129, 2007.
[14] S. Martello and P. Toth., Knapsack Problems: Algorithms and Computer Implementations, New York, Wiley InterSciences, 1990. [15] D. Pisinger, “Algorithms for knapsack problems,” Ph.D. Thesis,
Department of Computer Science, University of Copenhagen, Copenhagen, Denmark, 1995.
[16] H. Shachnai and T. Tamir, “Polynomial time approximation schemes for class-constrained packing problems.” Journal of Scheduling, 4, 313-338, 2001.
[17] Xpress-Mosel User Guide. Dash Optimization Inc, Englewood Cliffs, USA, 2008.
[18] H. H. Yanasse, N. Y. Soma and N. Maculan, “An algorithm for determining the K-best solutions of the one-dimensional knapsack problem, ” Pesquisa Operacional, v. 20, n. 1, p. 117-134, 2000. [19] E. J. Zak, “Row and column generation technique for a multistage
cutting stock problem,” Computers & Operations Research, 29, 1143-1156, 2002.
Robinson Hoto nasceu em São José do Rio Preto, São
Paulo, Brasil, aos 29 de Agosto de 1969. Graduou-se Bacharel em Matemática na Universidade Estadual Paulista em 1993, Mestre em Matemática Aplicada e Computacional na Universidade de São Paulo em 1996 e Doutor em Engenharia de Sistemas e Computação na Universidade Federal do Rio de Janeiro em 2001. Trabalha no Departamento de Matemática da Universidade Estadual de Londrina, onde é Professor desde 1996 e coordena o Programa de Pós-Graduação em Matematica Aplicada e Computacional. Seus interesses estão relacionados com a Pesquisa Operacional.
Nelson Maculan Filho nasceu em Londrina, Paraná,
Brasil, aos 19 de Março de 1943. Graduou-se em Engenharia de Minas e Metalurgia pela Universidade Federal de Ouro Preto em 1965, Mestre (D.E.A.) em Matemática Estatística na Universite de Paris VI (Pierre et Marie Curie) em 1967, Doutorado em Engenharia de Produção pela Universidade Federal do Rio de Janeiro em 1975 e Diplôme d'Habilitation à Diriger des Recherches (D.H.R.) en Sciences de la Gestion na Université Paris-Dauphine (Paris IX) em 1988. Trabalha como Professor Titular no Programa de Engenharia de Sistemas e Computação da COPPE na Universidade Federal do Rio de Janeiro. Seus interesses são Programação Matemática, Otimização Combinatória, Matemática da Computação, Computação Biológica e Geometria Computacional. O Professor Maculan é um dos precursores da Pesquisa Operacional no Brasil, possui inúmeros prêmios e títulos científicos, como a Medalha da Ordem Nacional do Mérito Científico (Brasil) e Chevalier de l'Ordre National du Mérite (França).
Adriana Borssoi nasceu em Catanduvas, Paraná,
Brasil, ao 1 de Janeiro de 1976. Graduou-se em Matemática (Licenciatura) na Universidade Estadual do Oeste do Paraná em 1997 e Mestre em Educação Matemática na Universidade Estadual de Londrina em 2004. Trabalha na Universidade Tecnológica Federal do Paraná, onde é Professora desde 2006. Seus interesses concentram-se em Modelagem Matemática e Aplicações.