Você está na página 1de 8

1

The Problem of the Compartmentalized Knapsack:


A Proposal of Three New Heuristics
Matheus Henrique Pimenta Zanon, Fabio Sakuray, and Robinson Samuel Vieira Hoto

Resumo—The problem of the compartmentalized knapsack w −capacidades, selecionando um número variável para cada
is classified as NP-Hard and has several models, both for classe de itens do PMC.
linear and non-linear cases. The development of new heuristics Outras heurísticas que não utilizam soluções propri-
for a resolution in a runtime usefull to applications becomes
necessary. In this work, three new heuristics are proposed, etárias em seu desenvolvimento, tais como a Z −
using the particularity of the linear model proposed by Inarejos melhores compartimentos/W − capacidades apresentadas em
(2015), which are considered only pk compartments available [7], [9] são os principais trabalhos da literatura para a resolu-
for each class, being pk X, pk GU LOSO e pk M T Comp, the ção do PMC. Na heurística Z-melhores compartimentos, são
latter is based on the algorithm of Martello and Totti (1991). considerados os Z melhores compartimentos para cada classe
The heuristic pk M T Comp presents solutions close to optimum
value, being a promising method in solving the problem of de itens na resolução do PMC, já na heurística w−capacidade,
the compartmentalized knapsack, when compared with other para cada classe de itens são calculados o melhor comparti-
heuristics recognized in the literature. mento para w capacidades diferentes.
Index Terms—Compartmentalized Knapsack Problem, Heuris- Entretanto, as heurísticas disponíveis na literatura apresen-
tic, Optimization tam as seguintes limitações: (i) empregam métodos limitados
a uma certa quantidade de itens e (ii) utilizam soluções
proprietárias.
I. I NTRODUÇÃO O objetivo desse trabalho é apresentar soluções heurísticas
para o PMC que solucionem instâncias com um elevado nú-
IVERSOS problemas podem ser modelados como uma
D “mochila compartimentada”, como por exemplo pro-
blemas de corte e empacotamento [1]. Em alguns casos, o
mero de itens a disposição, não utilizando soluções proprietá-
rias em sua resolução. Para o desenvolvimento das heurísticas
deste artigo é utilizado o modelo linear proposto por Inarejos
processo de corte ocorre em várias etapas, sendo necessário
[4]. A linearidade do modelo e da equivalência entre os
a incorporação destas etapas em sua modelagem matemática.
modelos linear e não-linear foi provada em [4]. Além desta
Outros exemplos da aplicação do PMC podem ser acessadas
introdução, este artigo está organizado da seguinte forma: a
em [1]–[3]. Existem diversos modelos matemáticos para o
seção II apresentará as heurísticas propostas, na seção III serão
PMC, como apresentados em [1], [4]–[6].
apresentadas as simulações numéricas e uma discussão sobre
O problema da mochila compartimentada (PMC) é uma
as simulações e na seção IV serão apresentadas as conclusões.
variação do problema da mochila clássica [1]. Enquanto o
problema da mochila clássico consiste em selecionar um
subconjunto de itens que maximize a utilidade total da mochila II. H EURÍSTICAS D ESENVOLVIDAS
de modo que o somatório dos tamanhos dos itens não seja Os métodos em busca de soluções viáveis e de modo
superior à capacidade física da mochila. O PMC consiste na eficiente computacionalmente são definidos como heurísticas.
criação de compartimentos de capacidades desconhecidas no Na elaboração de algumas heurísticas não são considerados
interior da mochila, entretanto os compartimentos são limita- todos os compartimentos viáveis, considerando apenas um
dos inferiormente e superiormente por valores conhecidos. A conjunto de todas as possibilidades. Novos critérios para a
solução para o PMC consiste em maximizar a utilidade total seleção dos melhores compartimentos é objeto de estudo em
da mochila [1], [4], [5], [7], considerando a utilidade (ui ) e Leão et al. [9]
largura (li ) associada a cada item do tipo i. Para a elaboração das heurísticas propostas é utilizado
Algumas das heurísticas presentes na literatura como pro- fortemente o fato da quantidade de compartimentos a serem
q
postas por [2] e [8] utilizam soluções proprietárias para a X
resolução dos subproblemas gerados no desenvolvimento das criados no modelo linear não ser superior a pk .
k=1
heurísticas. Com utilização deste tipo de solução não é possível Além da utilização do modelo linear de Inarejos [4], tam-
ter acesso a metodologia utilizada para a determinação da solu- bém é utilizado a elaboração dos compartimentos viáveis,
ção. Em [2], a heurística definida como pk Strong Capacities, baseado em Hoto [1], [6]. O valor de pk é escolhido para
cria um número variável de compartimentos para cada classe, a seleção dos compartimentos viáveis.
definido como pk , com o objetivo de aperfeiçoar a heurística As três heurísticas propostas compartilham de um mesmo
estágio inicial, no qual são definidos todos os compartimentos
M. H. Pimenta-Zanon (matheus.pimenta@outlook.com), F. Sakuray (saku-
ray@uel.br), R. S. V. Hoto (hoto@uel.br) are with the Universidade Estadual viáveis e também para cada compartimento é associado uma
de Londrina, Londrina, Paraná, Brasil. utilidade inicial.
2

Um compartimento é definido como viável se existe uma


combinação linear inteira não negativa dos pesos dos itens da X
classe associada, que é igual a capacidade do compartimento Maximizar Uj = ui aij (1)
em questão. i∈Nk
X
Sujeito a: li aij ≤ wj (2)
Propriedade 1: Considere o compartimento j da classe k de i∈Nk
k
capacidade wj > lmin e os pesos associados a essa classe Nk . X
aij ≤ F2 (3)
Se existe algum item r ∈ Nk tal que o compartimento i∈Nk

de capacidade wj − lr é viável, então o compartimento de aij ≥ 0 e inteiro, i ∈ Nk (4)


capacidade wj é viável.
Logo após a obtenção das melhores utilidades associadas
Da hipótese de que wj − lr é viável, segue
Demonstração: X a cada um dos pk compartimentos viáveis de cada classe k,
que wj − lr = li ai , disto tem-se wj = lr (ar + 1) + os dados Uj e Wj serão os novos valores para a resolução do
X i∈Nk problema de programação inteira dado abaixo, o qual resultará
li iai o que prova a propriedade.  a solução viável para o PMC. Wk são os índices associados a
i∈Nk cada compartimento viável.
i6=r

Após a geração dos compartimentos viáveis, eles são or- X


Uj Uj+1 Maximizar Z = Ui yij (5)
denados por ordem decrescente de eficiência > i∈Wk
Wj Wj+1 X
e são selecionados os pk compartimentos mais eficientes. O Sujeito a: Wi yij ≤ L (6)
algoritmo do processo inicial é dado no Algoritmo 1. i∈Wk
X
yij ≤ F1 (7)
i∈Wk

Algoritmo 1 Obtenção dos Compartimentos Viáveis e Utili- yij ≥ 0 e inteiro, i ∈ Wk (8)


dades iniciais
As próximas subseções apresentação o detalhamento das
Require: li , ui , lmax e lmin
heurísticas propostas neste artigo que são: pk X, pk GU LOSO
Ensure: W e U
e pk M T Comp.
1: Seja CLk conjunto de todos as larguras disponíveis para
a classe k.
2: Inicialização: Para cada classe k realize: A. Heurística pk X
3: Organize as larguras dos itens em ordem crescente.
Para obter uma solução viável para o PMC, a heurística
4: while wj ≤ lmax do
denominada como pk X utiliza o software FICO R Xpress com
5: if wj ∈ CL then
seu pacote de otimização FICO R Xpress Optimizer.
6: wj ∈ C
O pacote de otimização é do tipo “proprietário”, isto é, de
7: utj = uj
propriedade do desenvolvedor do software, não sendo possível
8: wj = wj + 1
o detalhamento dos procedimentos internos adotados pela
9: end if
função maximize do pacote de otimização. A heurística pk X
10: if wj − li ∈ CL then
utiliza a função maximize para a resolução dos subproble-
11: C = C ∪ wj
mas: (1) - (4) e (5) - (8). A heurística é apresentada pelo
12: i=i+1
Algoritmo 2:
13: utj = uj + uti
14: wj = wj + 1
Algoritmo 2 Heurística pk X
15: end if
Require: li , Wj , Uj , ui , lmax , lmin , L, q, pk e n
16: end while
Ensure: xj e Z
17: for all wj ∈ [lmin , lmax ] do
1: for all k em 1, . . . , q do
18: Wk = ∪wj
2: Ordene as larguras dos itens em ordem crescente.
19: Uk = ∪utj
3: Crie os compartimentos viáveis executando-se o algo-
20: end for
ritmo 1.
4: Determine a eficiência de cada compartimento viável.
5: Selecione os pk compartimentos mais eficientes.
6: Resolva o problema (1) - (4) através da função maxi-
Após a geração de todos os compartimentos viáveis, é
mize.
formulado um problema de mochila restrito para a obtenção
7: end for
das melhores utilidades associadas a cada compartimento
8: Resolva o problema (5) - (8) através da função maximize.
construído. A forma de obtenção destes valores ótimos das
utilidades é obtida através da resolução do problema (1) - (4):
3

($ % )
B. Heurística pk GU LOSO L̂
a adaptação são inseridos y = min , F , onde F
Em busca de um menor tempo de execução é desenvolvida a lj
heurística denominada pk GU LOSO, a qual não utiliza pacote representa a faca em uso no momento da execução do método.
proprietário de software para a resolução do PMC. Para a implementação do algoritmo MTU1 foi utilizada a
Para a resolução do PMC a heurística pk GU LOSO, utiliza linguagem de programação C, utilizando o modelo de máquina
o método guloso que consiste em inserir o maior número de de estados finitos, com o objetivo de eliminar as chamadas
itens de maior eficiência no interior da mochila, caso ainda goto do código original. Também foi possível a utilização de
seja possível a inserção de mais itens, é disposto o próximo multithreading na implementação da heurística pk M T Comp,
item de maior eficiência no seu interior,
 assim
 sucessivamente. para cada classe do PMC é atribuída uma thread executada
L em um núcleo do processador. O método MTU1 não resolve
Matematicamente, o valor de x1 = e a partir de x2 são
  l1 problemas em que o número de itens disponíveis é superior a
 j−1
X  250000 itens, com o objetivo de eliminar essa limitação será
L −
 
li xi  utilizado o algoritmo MTU2.
 
i=1 O segundo algoritmo de Martello e Toth [11] a ser utilizado
inseridos   itens para cada xj . Desta maneira é
 
 lj  é denominado MTU2, é utilizado para a resolução de exempla-
 
res grandes, como por exemplo 250000 itens disponíveis para
realizado apenas uma única vez, formando apenas um “ramo” a seleção da mochila. O algoritmo MTU2 utiliza o MTU1
da árvore de enumeração. internamente para a resolução do “problema central”, o qual
O algoritmo 3 detalha a heurística pk GU LOSO. são utilizados somente os itens de maior eficiência.
O algoritmo detalhado e exemplos, podem ser acessados em
Algoritmo 3 Heurística pk GU LOSO [11]. A seguir é apresentado o algoritmo 4, o qual detalha a
Require: li , Wj , Uj , ui , lmax , lmin , L, q, pk e n heurística pk M T Comp.
Ensure: xj e Z
1: for all k em 1, . . . , q do Algoritmo 4 Heurística pk M T Comp
2: Ordene as larguras dos itens em ordem crescente. Require: li , Wj , Uj , ui , lmax , lmin , L, q, pk e n
3: Crie os compartimentos viáveis executando-se o algo- Ensure: xj e Z
ritmo 1. 1: for all k em 1, . . . , q do
4: Determine a eficiência de cada compartimento viável. 2: Ordene as larguras dos itens em ordem crescente.
5: Selecione os pk compartimentos mais eficientes. 3: Crie os compartimentos viáveis executando-se o algo-
6: Resolva o problema (1) - (4) através do método guloso. ritmo 1.
7: end for 4: Determine a eficiência de cada compartimento viável.
8: Resolva o problema (5) - (8) através do método guloso. 5: Selecione os pk compartimentos mais eficientes.
6: Resolva o problema (1) - (4) através do algoritmo
MTU2.
7: end for
C. Heurística pk M T Comp
8: Resolva o problema (5) - (8) através do algoritmo MTU2.
A heurística pk M T Comp é baseada no algoritmo de re-
solução exata de Martello e Toth [10]. Este algoritmo é
A próxima seção apresentará as simulações numéricas e
modificado para a inclusão da restrição das facas do modelo
análise das heurísticas.
linear proposto por Inarejos [4].
Foram utilizados dois algoritmos de Martello e Toth [11],
o primeiro é um método de branch and bound e o segundo III. S IMULAÇÕES E D ISCUSSÃO
utiliza o que é denominado como “problema central”. Para as simulações do modelo linear e da heurística pk X
O primeiro algoritmo de Martello e Toth [11] que foi foi utilizado a solução do software FICO R Xpress para
utilizado é denominado como MTU1, o qual consiste em um arquitetura 64 bits.
método de branch and bound onde a árvore de enumeração im- Para a implementação, execução e experimentos computa-
plícita possui n+1 níveis de busca. Para a construção da árvore cionais das heurísticas pk GU LOSO e pk M T Comp e para
de enumeração os itens devem estar em ordem decrescente o ordenador dos itens e classes por eficiência, foi utilizada a
de eficiência. Por se tratar de um método branch and bound linguagem de programação C e o compilador gcc.
em cada nó visitado é realizada uma análise em relação a O hardware utilizado em todas as simulações e experimen-
melhor solução, caso seja inferior, este nó é encerrado e volta- tos computacionais é composto por um processador Intel R
se ao início de um novo ramo. O detalhamento do algoritmo InsideTM Xeon R CPU W3520, 8 GB de RAM, sistema
juntamente com sua visualização explícita pode ser acessada operacional Microsoft Windows R Server 2012 R2 Standard,
em [11]. que encontra-se no laboratório de simulação do Departamento
A modificação do método, para a inclusão das facas ocorre de Matemática da Universidade Estadual de Londrina (UEL).
na etapa em que são inseridos os itens no interior
$ % da mochila, Os dados para realizar as simulações foram organizados em
L̂ cinco classes com tamanhos definidos em q = 5, 10, 20, 50 e
no algoritmo original serão inseridos y = itens, com
lj 100; com cinco subcategorias por classe, que representam a
4

Tabela I
S UB - CATEGORIAS (S ETS ) PARA S IMULAÇÕES

Categorias (q) Tabela II


5 10 20 50 100 E STATÍSTICA DO MODELO LINEAR
10 5/10 10/10 20/10 50/10 100/10
Itens 50 5/50 10/50 20/50 50/50 100/50
por Linear
Categoria
100 5/100 10/100 20/100 50/100 100/100 Set Sub-Categoria
(n) 1000 5/1000 10/1000 20/1000 50/1000 100/1000 T σ(T )
10000 5/10000 10/10000 20/10000 50/10000 100/10000 A 5/10 217,6535 658,0430
B 5/50 43,7511 420,2747
C 5/100 0,0601 0,0321
D 5/1000 0,1930 0,0443
quantidade de itens disponíveis para cada classe, sendo n = E 5/10000 3,2295 0,1215
10, 50, 100, 1000 e 10000. A Tabela I apresenta um resumo F 10/10 1,5687 9,5373
da organização das classes e itens. A representação através G 10/50 1,5936 15,3062
H 10/100 0,1157 0,0493
de letras ocorre da seguinte maneira a categoria A representa I 10/1000 0,4233 0,0464
5/10, a B é referente a 5/50 e assim sucessivamente. J 10/10000 12,1816 0,2539
Para a criação dos exemplares foram utilizados os seguintes K 20/10 29,9757 181,3964
L 20/50 0,1521 0,2808
dados, baseados em problemas reais de corte de bobinas de M 20/100 18,9978 187,6012
aço em duas etapas [1], para a capacidade total da mochila, N 20/1000 1,0560 0,0962
foi designado L = 1100mm, os valores para as facas 01 e 02, O 20/10000 100,902 0,8131
foram respectivamente F 1 = 7 e F 2 = 12, a capacidade dos P 50/10 0,1070 0,2117
Q 50/50 0,4731 1,1416
compartimentos de cada classe estão limitados entre os valores R 50/100 26,4013 257,8968
Lkmin =154mm e Lkmax =456mm, as larguras dos itens serão S 50/1000 4,8865 0,3422
geradas com valores distribuídos entre 53mm e 230mm, já T 50/10000 1058,958 14,3281
U 100/10 23,7795 235,5939
as utilidades dos itens serão valores entre 1 e 100. Para cada V 100/50 26,6162 257,8439
categoria q/n foram produzidos 100 exemplares utilizando X 100/100 26,6663 252,8972
um gerador aleatório, baseado em Gau and Washer [12], W 100/1000 30,9031 1,3370
resultando em 2500 exemplares. Y 100/10000 5226,72 64,4448
Cada um dos 2500 exemplares foi ordenado através da
eficiência de seus itens. Após a organização inicial dos exem-
plares, foram executadas as simulações para o modelo linear
e as heurísticas pk X, pk GU LOSO e pk M T Comp, após isso
foram elaboradas as Tabelas III, IV e V onde são detalhados
os resultados obtidos, o tempo máximo de execução para cada Tabela III
exemplar foi fixado em 86400 segundos. E STATÍSTICA DA H EURÍSTICA pk X .
A comparação entre os tempos de execução é apenas um
indicativo do comportamento entre os métodos. Cada categoria pk X
Sets
T σ(T ) gap σ(gap) gapmin gapmax
apresenta 100 exemplares, a execução de cada um deles A 1,065 0,042 0,03% 0,24% 0% 2,23%
proporcionou obter o tempo médio de execução por categoria. B 2,691 0,096 0,51% 1,26% 0% 5%
Todas as simulações ocorreram no mesmo equipamento, den- C 3,036 0,455 3,04% 2,98% 0% 11,10%
D 13,172 0,167 0,78% 1,25% 0% 3,99%
tro das mesmas especificações, não ocorrendo nenhum tipo E 8276,237 32,381 0,01% 0,02% 0% 0,11%
de mudanças durante a execução de todos os exemplares, o F 2,679 0,455 0,11% 0,26% 0% 0,98%
equipamento estava dedicado a execução das simulações. G 12,586 0,654 0,84% 1,00% 0% 5,56%
Sobre as Tabelas II, III, IV e V, são apresentadas as H 13,491 0,235 1,98% 2,11% 0% 10,53%
I 40,092 0,367 0,64% 1,18% 0% 3,20%
seguintes informações: T é o tempo médio de execução em J 16624,740 59,062 0,01% 0,01% 0% 0,05%
segundos, σ(T ) é o desvio padrão do tempo de execução em K 14,949 1,953 0,04% 0,36% 0% 3,57%
segundos, gap é o gap médio da heurística em análise, onde o L 71,314 1,649 0,36% 1,04% 0% 3,92%
zlinear − zheuristica M 76,112 0,739 1,19% 1,57% 0% 6,68%
gap é dado por , o gapmin e o gapmax , N 185,208 0,969 0,46% 1,09% 0% 3,13%
zlinear O 34152,200 241,510 0% 0% 0% 0%
são respectivamente o menor e o maior gap obtido entre os
P 202,236 40,218 0,02% 0,08% 0% 0,38%
exemplares executados na análise da heurística. Q 900,150 9,321 0,19% 0,59% 0% 2,31%
A Tabela II apresenta os resultados obtidos através da R 961,270 6,144 0,35% 0,69% 0% 3,25%
resolução dos exemplares pelo modelo linear. S 2420,670 32,676 0,01% 0,06% 0% 0,57%
T * * * * * *
A Tabela III apresenta as estatísticas relacionadas a heurís- U 1560,647 267,478 0,10% 0,74% 0% 6,18%
tica pk X em comparação ao modelo linear. Para os exemplares V 6698,394 53,293 0,06% 0,37% 0% 2,22%
das classes 50/10000, 100/1000 e 100/10000 o tempo de W 7216,887 32,286 0,14% 0,44% 0% 2,84%
X * * * * * *
execução de cada exemplar é superior ao tempo máximo de
Y * * * * * *
86400 segundos, estes resultados estão sendo representados
por ∗.
A Tabela IV detalha os resultados obtidos através da heu-
5

Tabela IV
E STATÍSTICA DA H EURÍSTICA pk GU LOSO.

pk GU LOSO
Sets

10 15 20 25 30
T σ(T ) gap σ(gap) gapmin gapmax
pkX
A 0,0009 0,0035 14,33% 4,34% 1,11% 26,53%
pkGULOSO
B 0,0156 0,0049 10,64% 4,31% 0% 20,33%
pkMTComp
C 0,0241 0,0079 10,77% 6,50% 1,14% 30,59%
D 0,1011 0,0080 14,85% 9,15% 0,51% 30,93%

gap
E 8,4886 0,0154 15,03% 7,47% 0,63% 31,15%
F 0,0036 0,0064 9,74% 5,98% 1,17% 20%
G 0,0314 0,0081 11,13% 6,05% 0% 31,53%
H 0,0506 0,0082 10,64% 6,94% 1,14% 34,33%

5
I 0,2023 0,0058 12,92% 8,98% 0,51% 30,51%

0
J 16,9356 0,0174 15,41% 6,71% 1,38% 31,18%
K 0,0058 0,0073 8,30% 8,71% 0% 27,27%
L 0,0631 0,0099 10,10% 5,26% 0% 37,86% A C E G I K M O Q S U W Y
M 0,1021 0,0126 8,63% 6,53% 0% 24,36%
N 0,4021 0,0081 12,97% 8,55% 0% 30,84% Sets
O 33,9172 0,0235 14,51% 8,89% 1,69% 31,22%
P 0,0150 0,0044 8,06% 8,30% 0% 25,96%
Q 0,1563 0,0162 10,75% 6,61% 0% 34,69% Figura 1. Desempenho das heurísticas - gap.
R 0,2528 0,0215 9,50% 6,25% 0% 30%
S 1,0054 0,0086 14,89% 7,26% 0,40% 31,69%
T 84,6561 0,0599 14,52% 9,83% 1,74% 31,22%
U 0,0297 0,0053 9,11% 7,45% 0% 31,37%
V 0,3148 0,0269 9,58% 5,60% 0% 30%
W 0,4994 0,0298 7,77% 6,54% 0% 25%
X 2,0107 0,0079 16,14% 8,24% 0,41% 32,18% pkX
Y 169,2361 0,0922 13,73% 9,93% 1,74% 31,22% 25000 pkGULOSO
pkMTComp
Time

Tabela V
E STATÍSTICA DA H EURÍSTICA pk M T Comp.
10000

pk M T Comp
Sets
T σ(T ) gap σ(gap) gapmin gapmax
A 0,0018 0,0048 1,21% 1,78% 0% 7,14%
0

B 0,0108 0,0285 1,64% 2,55% 0% 11,42%


C 0,0112 0,0065 2,03% 1,73% 0% 5,82% A C E G I K M O Q S U W Y
D 0,0575 0,0102 1,12% 1,54% 0% 6,12%
E 1,8970 0,2344 1,10% 1,42% 0% 3,84% Sets
F 0,0045 0,0069 1,14% 1,48% 0% 10,20%
G 0,0115 0,0068 1,58% 1,85% 0% 5,56%
H 0,0063 0,0082 1,58% 1,54% 0% 6,15% Figura 2. Desempenho das heurísticas - T .
I 0,0909 0,0112 0,99% 1,25% 0% 3,61%
J 3,4362 0,2815 0,35% 0,63% 0% 3,54%
K 0,0070 0,0075 0,66% 1,77% 0% 6,32%
L 0,0214 0,0070 0,60% 1,24% 0% 5,26% literatura, foram realizadas comparações com a heurística w −
M 0,0350 0,0070 1,28% 1,45% 0% 6,68% capacidades, proposta por Marques [7].
N 0,1624 0,0145 0,99% 1,21% 0% 3,55% A heurística w − capacidades foi elaborada para o caso
O 6,7815 0,3451 0,18% 0,09% 0,05% 0,48%
P 0,0111 0,0290 0,22% 0,73% 0% 4,21% irrestrito da mochila compartimentada, que é adotado neste
Q 0,0487 0,0080 0,41% 0,89% 0% 5,26% artigo, a Tabela VI apresenta os resultados obtidos através
R 0,0792 0,0120 0,66% 1,06% 0% 5,48% das simulações realizadas com a heurística w − capacidade.
S 0,4030 0,0198 0,96% 1,62% 0% 7,39%
T 17,3080 1,6290 0,11% 0,06% 0,05% 0,26%
Para as categorias com n = 1000 e n = 10000 a heurística
U 0,0270 0,0380 0,64% 1,50% 0% 6,90% w − capacidades não obteve soluções, isto ocorre devido
V 0,1028 0,0114 0,33% 0,83% 0% 5,26% sua elaboração com a utilização do método de Gilmore e
W 0,1582 0,0224 0,63% 0,98% 0% 3,28% Gomory [13] para a resolução dos subproblemas internos da
X 0,7968 0,0251 0,96% 1,25% 0% 6,09%
Y 35,0490 2,5510 0,09% 0,05% 0% 0,21% heurística, que resolve problemas com até centenas de itens.
Essas categorias estão representadas por ∗ na Tabela VI. A
comparação entre a heurística w − capacidade e a heurística
rística pk GU LOSO e a Tabela V apresenta as estatísticas pk M T Comp é realizada através das Tabelas V e VI.
relacionadas a heurística pk M T Comp em comparação com As Figuras 3 e 4 mostram o comportamento das heurísticas
o modelo linear proposto por Inarejos [4]. pk M T Comp e w − capacidades em relação ao gap e ao T .
As Figuras 1 e 2 apresentam comportamento das heurísticas
em relação ao gap e ao T . A. Análise das Simulações
Com o objetivo de avaliar o comportamento da heurística A execução dos exemplares de cada categoria forneceu re-
pk M T Comp em relação a outras heurísticas reconhecidas na sultados que permitem analisar com detalhes o comportamento
6

Tabela VI
E STATÍSTICA DA H EURÍSTICA w − capacidades.

w − capacidade
Sets

35
T σ(T ) gap σ(gap) gapmin gapmax
wCapacity
A 0 0 5,32% 7,67% 0% 28,11%
pkMTComp
B 0,0003 0,0020 16,82% 8,58% 0% 30,00%

25
C 0,0321 0,0158 18,76% 4,28% 0,39% 22,73%
D * * * * * *

Time
E * * * * * *

15
F 0 0 4,55% 7,50% 0% 26%
G 0,0010 0,0040 11,40% 9,75% 0% 28,76%
H 0,0202 0,0177 19,02% 3,22% 3,16% 23,00%

5
I * * * * * *

0
J * * * * * *
K 0,0004 0,0020 1,81% 2,26% 0% 8,24%
L 0,0010 0,0040 12,72% 9,88% 0% 30,00% A C E G I K M O Q S U W Y
M 0,0420 0,0370 17,65% 5,32% 1% 22,73%
N * * * * * * Sets
O * * * * * *
P 0,0009 0,0030 2,68% 5,01% 0% 33,68%
Q 0,0050 0,0070 12,09% 9,64% 0% 31,32% Figura 4. Comparação entre as Heurísticas w−capacidades e pk M T Comp
R 0,1067 0,0660 16,86% 6,42% 0% 23% - T.
S * * * * * *
T * * * * * *
U 0,0030 0,0060 3,92% 6,24% 0% 37,27% (ver Figura 2), a heurística pk X demonstra possuir qualidade
V 0,0120 0,0090 11,32% 9,70% 0% 31%
W 0,2170 0,1020 16,40% 6,70% 0% 23%
nas soluções obtidas (ver Figura 1).
X * * * * * * A heurística pk GU LOSO preenche a mochila com os
Y * * * * * * itens de maior eficiência, essa característica possibilita menor
tempo de execução em relação a heurísticas pk X. Por outro
lado, devido a esta característica as soluções apresentam gap
superiores às heurísticas em comparação, pk X e pk M T Comp.
Dos resultados obtidos através dos experimentos realizados
apenas 32% apresentam gap médio inferior a 10%, sendo que
10 15 20 25 30

wCapacity
nenhuma das categorias apresentou gap médio inferior a 5%.
pkMTComp
Outra situação desfavorável a esta heurística são as am-
plitudes dos intervalos gap possuindo intervalos superiores
gap

a 20% em todas as categorias simuladas, outro fator a ser


notado é que em 52% das categorias simuladas, em nenhum
dos 100 exemplares de cada categoria o ótimo foi encontrado
5

como solução, apresentando o pior desempenho em relação


as soluções obtidas em comparação com as heurísticas pk X e
0

A C E G I K M O Q S U W Y
pk M T Comp.
Por fim, a heurística pk M T Comp dentre as três heurísticas
Sets propostas apresentou resultados que indicam o melhor desem-
penho para os exemplares considerados. O fato desta heu-
rística não depender de softwares proprietários com soluções
Figura 3. Comparação entre as Heurísticas w−capacidades e pk M T Comp
- gap. embarcadas para a resolução dos subproblemas da heurística
é um diferencial quando comparada com a heurística pk X.
A utilização do método de Martello e Toth [10] possibilitou
das três heurísticas propostas. soluções com valores gap baixos, 100% dos valores médios
A heurística pk X mostrou-se, entre as três heurísticas obtidos das categorias ficaram a menos de 5%, sendo que 96%
propostas, a que possui o maior tempo de execução, em alguns dos valores médios obtidos ficaram a menos de 2% da solução
casos apresentando tempos médios superiores a um dia de ótima e o desvio padrão apresenta que 96% dos valores estão
execução para cada exemplar (a Tabela III mostra isso). Em abaixo de 2% (a Tabela V mostra isso).
relação a qualidade das soluções obtidas, 100% das soluções Sobre os intervalos gap obtidos, 92% ficaram abaixo de
das categorias obtidas estavam a menos de 5% do valor ótimo, 10%, indicando variações pequenas dos resultados obtidos.
mostrando soluções confiáveis em relação ao ótimo. Outro Outro fator a ser notado é para categorias com n = 10000,
ponto a ser notado é o baixo desvio padrão das soluções, as quais apresentam melhores indicativos de desempenho das
mostrando que a discrepância entre os valores é baixa. Sobre soluções obtidas.
a amplitude dos intervalos gap obtidos, em 91, 3% dos resul- Em relação ao tempo de execução, os resultados realiza-
tados este intervalo foi inferior a 10%, denotando intervalos dos nestes exemplares indicam um tempo de execução final
pequenos. Apesar do tempo de execução indicar valores altos inferior a heurística pk X e em algumas categorias valores
7

inferiores a heurística pk GU LOSO. pk X e pk GU LOSO o método com a utilização do algoritmo


Como apresentado pelas Tabelas III, IV e V a heurística de Martello e Toth [11], apresenta resultados com o gap
pk M T Comp possui um desempenho superior em relação as menor, resultando em soluções mais próximas ao ótimo sem
heurísticas pk X e pk GU LOSO, com os resultados obtidos a utilização de soluções do tipo proprietárias para a resolução
indicando que é uma heurística promissora entre as três dos subproblemas gerados pela heurística.
desenvolvidas. Quando comparada com a heurística w − capacidades, os
Quando observado o tempo de execução das três heurísti- testes realizados indicam que a heurística pk M T Comp produz
cas (ver Figura 2) os indicadores mostram que a heurística resultados mais próximos ao ótimo, isto é gap inferiores. A
pk M T Comp apresenta tempo de execução inferior as heurís- heurística pk M T Comp é capaz de solucionar categorias com
ticas pk X e pk GU LOSO. um número superior de itens em cada classe, o que não ocorre
A Tabela VI apresenta os resultados obtidos através dos com a heurística w−capacidades, outro ponto é em relação ao
experimentos realizados com a heurística pk M T Comp e gap obtido com a heurística pk M T Comp sendo inferior ao da
w − capacidades que indicam um desempenho superior da heurística w−capacidades. Assim, a execução das simulações
heurística pk M T Comp em relação à solução obtida, produ- numérica e análise dos resultados indicam que a heurística
zindo soluções de menor gap em comparação com a heu- pk M T Comp é superior para a resolução do problema da
rística w − capacidade. Outro ponto em que a heurística mochila compartimentada, quando comparada com a heurística
pk M T Comp é superior a heurística w − capacidades é em w − capacidades.
solucionar exemplares com milhares de itens, algo não reali-
zado pela heurística w −capacidades. A utilização do método AGRADECIMENTOS
de Martello e Toth [10] possibilita a execução de exemplares Agradecemos a FICO por disponibilizar o software Xpress
com milhares de itens, já a heurística w − capacidades ao para a realização das simulações numéricas, a CAPES pelo
utilizar o método de Gilmore e Gomory [13] não é capaz apoio financeiro no desenvolvimento do trabalho.
de solucioná-los. Em relação ao tempo de execução ambas
heurísticas compartilham tempos de execução próximos (ver
R EFERÊNCIAS
Figura 4 ).
[1] Hoto, R. S. V., O Problema da Mochila Compartimentada Aplicado no
As soluções obtidas através da execução da heurística Corte de Bobinas de Aço. Tese de Doutorado, UFRJ, Rio de Janeiro,
w − capacidades apresentam para os exemplares com n = 2001.
10 melhores soluções quando comparadas com as soluções [2] Quiroga-Orozco, J.J., de Carvalho, J. M. V., and Hoto, R. S. V, A Strong
integer linear optimization model to the compartmentalized knapsack
obtidas em exemplares com n = 50 e n = 100, quando problem. International Transactions in Operational Research. (2018)
comparadas as soluções, em exemplares com n = 10 o gap [3] Sobrani, A., Yassine, A., and Shirmohammadi, S. Qoe-driven optimiza-
fica próximo a 5% no caso de 5 classes e abaixo dos 5% de tion for dash service in wireless networks. In 2017 IEEE International
Symposium on Multimedia (ISM) (Dec 2016), pp. 232-237
gap para as categorias 20/10, 50/10 e 100/10. Observando-se [4] Inarejos, O., Hoto, R., Maculan, N., An integer linear optimization model
os resultados obtidos por Marques [7] é possível verificar que to the compartmentalized knapsack problem. International Transactions
quando o número de itens aumenta, são obtidas soluções de in Operational Research,00 (2017) 1-20
[5] Leão, A. A. D. S. Geração de colunas para problemas de cortes em duas
maior gap (ver Figura 3). fases. Dissertação de Mestrado. ICMC – USP, São Carlos, 2009
[6] Hoto, R., Maculan, N., Borssoi, A., A Study of the Compartimentalized
Knapsack Problem with Additional Restrictions. IEEE Latin America,
IV. C ONCLUSÃO v. 8, n. 3, 06 2010.
[7] Marques, F. and Arenales, M. N. The constrained compartmentalized
Este trabalho aborda o problema da mochila compartimen- knapsack problem. Computers and Operations Research 34, 7 (2007),
tada, e apresenta três novas heurísticas para a sua resolução. 2109-2129.
No desenvolvimento de duas heurísticas, utilizou-se a lingua- [8] Cruz, E. P. Uma abordagem heurística linear para mochilas comparti-
mentas restritas . Dissertação – Universidade Estadual de Londrina
gem de programação C, realizando a implementação com o (2010)
método de máquina de estados finitos, como alternativa para a [9] Leão et al. Uma Heurística para o Problema da Mochila Compartimen-
eliminação das chamadas goto do algoritmo MTU1 e MTU2 tada. XL SBPO. João Pessoa, 2008
[10] Martello, S. and Toth, P. An Exact Algotithm for Large Unbounded
inicial, proposto por Martello e Toth [11]. Também fez-se o Knapsack Problems. Operations Research Letters. 9 (1990) 15-20
uso de threads na implementação da heurística pk M T Comp, [11] Martello, S. and Toth, P. Knapsack Problems: Algorithms and Computer
proporcionando uma melhor utilização do recurso computaci- Implementations. John Wiley and Sons, Inc., New York, NY, USA, 1990.
[12] Gau, T., and Washer, G. Cutgen1: A problem generator for the standar
onal e reduzindo o tempo de execução das simulações. one-dimensional cutting stock problem. European Jornal of Operational
Uma modificação foi realizada no algoritmo MTU1, para Research 84, 3 (1995), 572-579
a inclusão das facas que estão presentes no modelo linear [13] Gilmore, P. C and Gomory, R. E. A linear programming approach to
the cutting stock problem – part II. Operations Research (May, 1963).
proposto por Inarejos [4], deixando a modelagem do algoritmo
fiel à realidade, também realizou-se uma modificação no Al-
goritmo de elaboração dos compartimentos viáveis, incluindo
a utilidade associada a cada compartimento em sua criação.
Como contribuições, pode-se destacar a heurística
pk M T Comp, onde os experimentos preliminares indicam
que o método é promissor. O indicativo em relação ao tempo
de execução mostra que quando comparada com as heurísticas
8

Matheus Pimenta Possui graduação em Licen-


ciatura em Matemática (2016) pela Universidade
Tecnológica Federal do Paraná e é Mestrando em
Matemática Aplicada e Computacional (2018) pela
Universidade Estadual de Londrina. Possui expe-
riência em otimização discreta e programação na
linguagem C.

Fabio Sakuray é professor adjunto do Departa-


mento de Computação da UEL desde 1994. Concluiu
o doutorado em 2015 no Programa de Pós-graduação
da Faculdade de Engenharia Elétrica (FEEC) da
Unicamp, sob a orientação do professor Leonardo
de Souza Mendes. Atua na área de Sistemas Opera-
cionais e Sistemas Distribuídos. O trabalho de dou-
toramento trata de controle de buffer para remoção
de jitter em transmissões VoIP. Atua na coordenação
de colegiado do curso de Bacharelado em Ciência da
Computação desde 2016 até o momento.

Robinson Hoto Doutorado em Engenharia de Sis-


temas e Computação pela COPPE na Universidade
Federal do Rio de Janeiro (2001). Atualmente é
Professor Associado da Universidade Estadual de
Londrina (UEL), onde leciona desde 1996. Atua
no Mestrado Acadêmico em Matemática Aplicada
e Computacional (PGMAC) da UEL, onde leciona,
orienta e coordenou. Foi assessor da Área de Mate-
mática, consultor técnico do Conselho Nacional de
Desenvolvimento Científico e Tecnológico (CNPq),
Computação e Estatística da Fundação Araucária de
Apoio ao Desenvolvimento Científico e Tecnológico do Paraná, consultor "ad
hoc"de Revistas Nacionais e Internacionais. Coordenador do Laboratório de
Simulação e Otimização de Sistemas (SimuLab). O Professor Robinson Hoto
é autor dos projetos PET/SESu/MEC e PGMAC/CAPES da Matemática da
UEL. Tem experiência na área de Matemática e aplicações industriais, com
ênfase em Pesquisa Operacional. Atua, principalmente, nos seguintes temas:
Matemática Discreta e Otimização Combinatória; Programação Matemática;
Desenvolvimento de Heurísticas.

Você também pode gostar