Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
($ % )
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
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
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 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