Problemas de Alocac¸˜ao
Resumo. Este material foi proposto como ac¸˜ao emergencial devido a pande-mia de Covid-19. Portanto pode conter erros devido ao curto prazo para sua montagem/revis˜ao.
1. Introduc¸˜ao
Esta texto apesenta a uma s´erie de problemas do tipo alocac¸˜ao. Este tipo de problema normalmente envolve a adiminstrac¸˜ao do uso de recursos limitados, de forma a minimizar gastos ou maximizar algum tipo de lucro ou benef´ıcio.
S˜ao apresentados quatro grandes problemas: Designac¸˜ao, Mochila, Alocac¸˜ao Ge-neralizada e Empacotamento. Devido `a relevˆancia do Problema da Mochila na literatura, tamb´em s˜ao apresentados algumas de suas variantes.
2. Problemas de Designac¸˜ao
o Problema de Designac¸˜ao (PD), mais conhecido como Matching Problem (MP), consis-tem em dado um conjunto de tarefas T , sendo n = |T |, e um conjunto de recursos R, sendo m =|R|, associar cada recurso a exatamento uma tarefa, de modo que cada tarefa tamb´em esteja associada a um ´unico recurso, minimizando os custos para tais associac¸˜oes. Este tipo de problema pode ser usado para designar pessoas a tarefas (em func¸˜ao da dificuldade), m´aquinas para localizac¸˜oes (em func¸˜ao do custo de deslocamento),
As definic¸˜oes matem´aticas e uma poss´ıvel formulac¸˜ao para o PD s˜ao mostradas a seguir.
• T ´e o conjunto de tarefas, sendo n = |T |. • R ´e o conjunto de recursos, sendo m = |R|. • cij o custo de associar o recurso i `a tarefa j.
As segintes vari´aveis s˜ao definidas
• xij =
{
1, se o recurso i ´e associado `a tarefa j 0, caso contr´ario M in n ∑ j=1 m ∑ i=1 cij xij (1) m ∑ i=1 xij = 1,∀j = 1, ..., n, (2) n ∑ j=1 xij = 1,∀i = 1, ..., m, (3) xij ∈ {0, 1}, ∀i = 1, ..., m, ∀j = 1, ..., n. (4)
Devido `a sua estrutura, este problema s´o pode ser resolvido quando n = m. Quando estes valores divergem, ´e necess´ario criar um recurso/tarefa artificial com cus-tos de associac¸˜ao alcus-tos.
Deviso a esta estrutura, este problema pode ser resolvido via Problema de Fluxo de Custo M´ınimo.
3. Problemas do tipo Mochila
De acordo com [Martello and Toth 1990] o Problema da Mochila (PM), mais conhecido como Knapsack Problem (KP), ´e apresentado da seguinte forma. Suponha que um vi-ajante tenha que carregar ou encher sua mochila selecionando itens ou objetos visando maximar o “conforto” em sua viagem. Cada objeto possui um peso pi e a mochila tem
capacidade c. Cada objeto i tamb´em possui um benef´ıcio bi, que ´e a medida do “conforto”
associado ao objeto. A formulac¸˜ao deste problema ´e feita enumerando os objetos i de 1 at´e m atrav´es do vetor de vari´aveis bin´arias xi(i = 1, ..., m).
Alguns fatores s˜ao assumidos para o problema [Shamakhai 2017]:
1. Pesos e benef´ıcios dos objetos e capacidade da mochila s˜ao positivos inteiros; 2. Devido `a relac¸˜ao entre os pesos e a capacidade, os valores de pi ( peso individual
de cada objeto) n˜ao podem ser maiores que a capacidade da mochila;
3. O somat´orio dos pesos dos objetos deve ser necessariamente maior que a capaci-dade da mochila.
Esta vers˜ao mais simples do problema tamb´em ´e conhecida como problema da mochila “0-1”, onde o termo “0-1” citado se deve ao fato de o item selecionado deve ficar fora da mochila ou colocado integralmente na mochila, ou seja, o item n˜ao pode ser fracionado, o que implica em n˜ao h´a a possibilidadde de dividir o objeto mesmo que haja espac¸o na mochila para colocar partes dele[Lagoudakis 1996].
• xi =
{
1, se o objeto i ´e utilizado (posto na mochila) 0, caso contr´ario
E as seguintes definic¸˜oes.
• O ´e o conjunto de objetos.
• bi ´e uma medida de conforto dado para o objeto i denominado “benef´ıcio”. • pi ´e o peso do objeto i.
• c ´e a capacidade da mochila.
´
E importante mencionar que os valores de bi, pi, c e o conjunto O s˜ao dados de
entrada do problema.
A soluc¸˜ao do problema consiste em selecionar os objetos, usando o vetor bin´ario
x, de modo que a restric¸˜ao de capacidade seja respeitada e o somat´orio dos benef´ıcios
dentro da mochila seja maximizado.
A func¸˜ao objetivo (5) ´e de maximizac¸˜ao do conforto do viajante e tem a seguinte formulac¸˜ao.
M ax m ∑ i=1 bixi (5) m ∑ i=1 pixi ≤ c, (6) xi ∈ {0, 1}, ∀i = 1, ..., m. (7)
A restric¸˜ao (6) garante o limite de capacidade da mochila. J´a o conjunto de restric¸˜oes (7) tratam da integralidade e n˜ao negatividade das vari´aveis. Note que, ape-sar do conjunto (7) estar apresentado em uma ´unica linha, existe um∀i = 1, ..., m em sua express˜ao, o que indica que na verdade esta linha ´e uma forma gen´erica de descrever m express˜oes.
Variantes do Problema da Mochilaforam estudados mais intensamente ap´os o trabalho de Danzig [Dantzig 1957]. Em [Kellerer et al. 2004] s˜ao mostradas diversas variantes do problema. Este trabalho apresenta algumas destas variac¸˜oes contudo, a fam´ılia de problemas ´e muito ampla e apenas as variac¸˜oes mais relevantes ser˜ao expostas. Para obter mais informac¸˜oes recomenda-se consultar [Martello and Toth 1990] al´em de [Kellerer et al. 2004] e [Wilbaut et al. 2007].
3.1. Problema da Mochila Inteira
Esta variante implica que existe mais de uma unidade de cada objeto i. O n´umero de unidades de cada objeto pode ser limitado ou n˜ao, dependendo da aplicac¸˜ao.
Para ambas as vers˜oes, a vari´avel de decis˜ao, que antes era bin´aria agora ´e inteira, e pode ser definida como segue:
• xi =
{
0, caso o objeto n˜ao seja colocado na mochila
k ∈ Z∗+, onde k representa quantos objetos do tipo i est˜ao na mochila
Para a vers˜ao n˜ao capacitada, pode-se usar a seguinte formulac¸˜ao:
M ax m ∑ i=1 bixi (8) m ∑ i=1 pixi ≤ c, (9) xi ≥ 0, ∀i = 1, ..., m, (10) xi ∈ Z, ∀i = 1, ..., m. (11)
J´a para a vers˜ao capacitada, ´e necess´ario definir o limite li, que corresponde ao
n´umero m´aximo de objetos do tipo i dispon´ıveis para a inserc¸˜ao.
Uma poss´ıvel formulac¸˜ao para a vers˜ao capacitada pode ser vista a seguir:
M ax m
∑
i=1
m ∑ i=1 pixi ≤ c, (13) 0≤ xi ≤ li,∀i = 1, ..., m, (14) xi ∈ Z, ∀i = 1, ..., m. (15)
3.2. O Problema das M ´ultiplas Mochilas
Uma das variantes de interesse do PM ´e chamado Problema das M´ultiplas Mochilas (PMM), e tem por definic¸˜ao selecionar um subconjunto de objetos de tamanho m´aximo m e distribu´ı-los em n mochilas de modo a maximizar o benef´ıcio total do conjunto selecio-nado, desde que a soma dos pesos dos objetos associados a cada mochila j n˜ao ultrapasse a capacidade cj.
Segundo [Khuri et al. 1994] no PM cada objeto i possui uma ´unica decis˜ao as-sociada (xi), sendo um caso unidimensional. Para o caso de mais de uma mochila cada
objeto i pode ser atribu´ıdo a uma mochila j, gerando-se um problema com vari´avel bidi-mensional (xij) de forma que um objeto i est´a associado a uma mochila j.
Segue a formulac¸˜ao do PMM, onde:
• xij =
{
1, se o objeto i ´e associado a mochila j 0, caso contr´ario
• m ´e o n´umero de objetos. • n ´e o n´umero de mochilas. • bi ´e o benef´ıcio do objeto i. • pi ´e o peso do objeto i.
• cj ´e a capacidade da mochila j.
M ax n ∑ j=1 m ∑ i=1 bi xij (16) S.a. m ∑ i=1 xij pi ≤ cj,∀j = 1, ..., n (17) n ∑ j=1 xij ≤ 1, ∀i = 1, ..., m (18) xij ∈ {0, 1}, ∀i = 1, ..., m, ∀j = 1, ..., n (19)
A func¸˜ao objetivo (16) visa associar cada objeto i a uma mochila j de forma a maximizar o benef´ıcio total. As restric¸˜oes (17) garantem que o somat´orio dos pesos dos objetos na mochila j n˜ao ultrapasse de capacidade cj da mochila. As restric¸˜oes (18)
garantem que um objeto i s´o pode estar alocado a no m´aximo uma mochila j e em (19) est˜ao as restric¸˜oes de integralidade e n˜ao negatividade.
Em [Lopes et al. 2003] cita-se o PMM como problema de otimizac¸˜ao combi-nat´oria, cujo vasto espac¸o de busca tem representac¸˜ao matem´atica EB = n.2m sendo
n o n´umero de mochilas, m o n´umero de objetos o qual gera uma func¸˜ao exponencial de
base 2. Pelo fato de o PM j´a ser da classe de problemas NP-Dif´ıcil, aumentando o n´umero de mochilas este problema torna-se ainda mais dif´ıcil de resolver. Em contra partida no caso n = 1 volta-se ao cl´assico Problema da Mochila 0-1 mencionado na Sec¸˜ao 3.
Segundo [Wang and Xing 2009] ´e poss´ıvel aproximar a resoluc¸˜ao do PMM, resol-vendo v´arios PM. Ou seja, resolresol-vendo um Problema da Mochila por vez. Contudo, esta estrat´egia introduz uma perda de rendimento quando comparada `a estrat´egia de resoluc¸˜ao que considera todas as mochilas simultaneamente. De acordo com os valores apresen-tados, a perda de eficiˆencia pode chegar a 25% quando as capacidades das mochilas s˜ao iguais.
Como exemplo, pode-se utilizar a seguinte instˆancia criada com quatro itens na Tabela 1 e duas mochilas de capacidade 10. A estrat´egia de resoluc¸˜ao individual para cada mochila busca inserir os itens em uma das mochilas e, posteriormente, tenta inserir os itens que sobraram na segunda mochila.
Tabela 1. Inst ˆancia de teste para comparac¸ ˜ao de soluc¸ ˜ao do PM e PMM
Item 1 2 3 4
Peso 4 4 6 6
Benef´ıcio 5 5 3 3
Como cada problema resolvido individualmente n˜ao compreende os pr´oximos cen´arios, eles s˜ao resolvidos de modo a otimizar o m´aximo poss´ıvel para cada mochila, ignorando o fato de que outros problemas da mochila ser˜ao resolvidos posteriormente. Ent˜ao, s˜ao selecionados os itens um e dois, de forma que o benef´ıcio totalizado seja 10, portanto, o maior valor poss´ıvel para uma mochila individualmente. A capacidade utili-zada neste caso totaliza 8. Restam para a resoluc¸˜ao do segundo Problema da Mochila os itens 3 e 4. Os dois itens juntos ultrapassam a capacidade da mochila ficando portanto apenas a possibilidade de selec¸˜ao de um deles. A Tabela 2 apresenta a soluc¸˜ao com valor da func¸˜ao objetivo totalizando treze (10 da primeira mochila e 3 da segunda).
Tabela 2. Selec¸ ˜ao de itens para cada mochila n vezes maximizando o benef´ıcio.
Mochila1 Mochila2
Item Peso Benef´ıcio Item Peso Benef´ıcio
1 4 5 3 ou 4 6 3
2 4 5
Total 8 10 Total 6 3
Na Tabela 3 est´a contido o resultado do PMM, que resolve o problema para as duas mochilas simultaneamente. Note que a soluc¸˜ao final perde um pouco na primeira mochila, mas com isso cria a oportunidade de levar todos os objetos, fazendo com que a eficiencia perdida ( dada por 1− z/z∗, sendo z a func¸˜ao objetivo total alcanc¸ada pela resoluc¸˜ao individual dos m´ultiplos PM e z∗ a func¸˜ao objetivo do PMM), para este caso espec´ıfico, seja de 18, 75%.
Tabela 3. Selec¸ ˜ao de itens para PMM uma vez maximizando o benef´ıcio.
Mochila1 Mochila2
Item Peso Benef´ıcio Item Peso Benef´ıcio
1 4 5 2 4 5
3 6 3 4 6 3
Total 10 8 Total 10 8
4. Problema de Alocac¸˜ao Generalizada
O Problema de Alocac¸˜ao Generalizada (PAG), mais conhecido como Generalized
As-signment Problem (GAP), consiste em realizar a distribuic¸˜ao de objetos entre multiplas
mochilas, visando maximizar o benef´ıcio total alcanc¸ado, respeitando a capacidade das mochilas. Cada objeto s´o pode estar prente em uma ´unica mochila A principal diferenc¸a entre este problema e o problema das m´ultiplas mochilas s˜ao a existencia de diferentes benef´ıcios bij e pesos pij para a associac¸˜ao entre objetos e mochilas, indicando que
al-guns objetos trazem mais benef´ıcio quando colocados em algumas mochilas e que alal-guns objetos consomem mais recursos quando colocados em algumas mochilas.
A seguir s˜ao apresentados as definic¸˜oes referentes ao problema e uma poss´ıvel formulac¸˜ao.
• xij =
{
1, se o objeto i ´e associado `a mochila j 0, caso contr´ario
E as seguintes definic¸˜oes.
• O ´e o conjunto de objetos, sendo m = |O| . • K ´e o conjunto de mochilas, sendo n = |K|. • bij benef´ıcio de se associar o objeto i `a mochila j. • pij peso do objeto i na mochila j.
• cj capacidade da mochila j. M ax n ∑ j=1 m ∑ i=1 bijxij (20) m ∑ i=1 pijxij ≤ cj,∀j = 1, ..., n, (21) n ∑ j=1 xij = 1,∀i = 1, ..., m, (22) xij ∈ {0, 1}, ∀i = 1, ..., m, ∀j = 1, ..., n. (23)
Em sua vers˜ao cl´assica, o GAP exige que todos os objetos sejam colocados em alguma mochila, por isso as restric¸˜oes 22 iguala a soma das vari´aveis xij a 1. Contudo, h´a
vers˜oes do problema em que o conjunto de mochilas n˜ao ´e suficiente para acomodar todos os itens e neste caso as restric¸˜oes 22 devem ser adaptadas para refletir tal comportamento.
5. Problema de Empacotamento
O Problema de Empacotamento (PE), mais conhecido como Bin-Packing Problem (BPP), consiste em, dado um conjunto de itens O, com m elementos, e um conjunto de mochilas
K, com n elementos, distribuir todos os objetos entre as mochilas de modo que o menor
n´umero poss´ıvel de mochilas seja utilizado. Todas as mochilas tem a mesma capacidade. Cada objeto i possui um peso pi. Todos os objetos devem estar associados a uma ´unica
mochila. Este problema parte do pressuposto de que h´a mochilas suficientes para armaze-nar todos os itens, e por isso, frequentemente os valores de n e m s˜ao considerados iguais. Contudo, desde que soma das capacidades das mochilas seja suficiente para comportar os objetos, nada impede que n e m assumam valores distintos.
As definic¸˜oes e uma poss´ıvel formulac¸˜ao para o BPP s˜ao mostradas a seguir:
• O ´e o conjunto de objetos, sendo m = |O|. • K ´e o conjunto de mochilas, sendo n = |k|. • pi ´e o peso do objeto i.
• c ´e a capacidade das mochilas. • xij =
{
1, se o objeto i ´e associado `a mochila j 0, caso contr´ario
• yj =
{
1, se a mochila j foi utilizada 0, caso contr´ario M ax n ∑ j=1 yj (24) m ∑ i=1 pixij ≤ cyj,∀j = 1, ..., n, (25) n ∑ j=1 xij = 1,∀i = 1, ..., m, (26) xij ∈ {0, 1}, ∀i = 1, ..., m, ∀j = 1, ..., n, (27) yj ∈ {0, 1}, ∀j = 1, ..., n. (28)
Referˆencias
Dantzig, G. B. (1957). Discrete-variable extremum problems. Operations Research, 5(2):266–288.
Kellerer, H., Pferschy, U., and Pisinger, D. (2004). Knapsack Problems. Springer, 1 edition.
Khuri, S., B¨ack, T., and Heitkotter, J. (1994). The zero/one multiple knapsack problem and genetic algorithms.
Lagoudakis, M. G. (1996). The 0–1 knapsack problem an introductory survey.
Lopes, H. S., de Abreu Rodrigues, L. C., and Steiner, M. T. A. (2003). Meta-Heur ˜Astica em Pesquisa Operacional. Omnipax, 1 edition.
Martello, S. and Toth, P. (1990). Knapsack Problems.
Shamakhai, H. A. (2017). The 0 -1 multiple knapsack problem.
Wang, Z. and Xing, W. (2009). A successive approximation algorithm for the multiple knapsack problem. J. Comb. Optim., 17:347–366.
Wilbaut, C., Hanafi, S., and Salhi, S. (2007). A survey of effective heuristics and their ap-plication to a variety of knapsack problems. Ima Journal of Management Mathematics