Problemas de Alocação
● Presença de recursos, normalmente limitados
● Recursos podem ser “gastos” em alguma atividade/objeto
● Objetivo é obter o maior lucro ou menor gasto em uma alocação
Problemas de Alocação
● Problemas do tipo matching
● Problemas do tipo knapsack
Matching
● Existem M recursos disponíveis e N tarefas a ser executadas
● A associação de um recurso i a uma tarefa j possui um custo cij
● Recursos devem estar alocados a exatamente 1 tarefa
● Tarefas devem estar ligadas a exatamente 1 recurso
Matching - Formulação
● Seja x
ij a variável assume 1 se o recurso i está associado à tarefa j, e 0 caso contrário
Matching - Formulação
min∑
i=1 M∑
j=1 N cij xij s. a.∑
i=1 M xij=1, ∀ j∈[1, N ]∑
j=1 N xij=1,∀ i∈[1, M ] x ∈{0,1 }∀ i∈[1, M ] , ∀ j∈[1, N ]Matching
● Solução só é possível quando N e M são iguais
● Em casos onde há disparidade é necessário criar tarefas/recursos artificiais
● Por sua estrutura especial pode ser resolvido como Problema de Fluxo de Custo Mínimo
Matching
● Suponha um problema de matching com 2
recursos e 3 tarefas. O custo de associação é descrito pela matriz abaixo. Determine o melhor emparelhamento possível 1 2 3 1 1 2 3 2 1 2 1 Tarefas Recursos
Modelo De Fluxo
Tarefas recursos 1 2 3 1 2 A s t 0 0 0 0 0 0 1 2 3 1 2 1 k k kProblemas do Tipo Mochila
● Mais conhecido como Knapsack Problem
● Deseja-se arrumar uma mochila, colocando nela alguns itens
● A mochila possui uma capacidade máxima de peso de q unidades
● Seja O o conjunto de objetos candidatos a entrar na mochila, sendo |O|=N
Problemas do Tipo Mochila
● Cada objeto o
i possui um peso wi e um benefício pi
● O valor do benefício muitas vezes é uma questão
abstrata/subjetiva.
● Pode ser entendido como uma constante que
expressa a utilidade/valor do objeto para a situação
● Dependendo da situação (contexto), um objeto pode
Problemas do Tipo Mochila
● Exemplo
● Para uma viagem de férias em uma praia, uma jaqueta teria pouca utilidade
● Já para uma viagem de férias na estação de inverno, para esquiar, levar uma jaqueta faz muito sentido (levar mais do que uma é
Problemas do Tipo Mochila
● Problema conhecido como problema da mochila
0-1
● Para cada objeto o
i, deve-se decidir entre levar
ou não este objeto
● A capacidade da mochila mochila deve ser
respeitada
● O objetivo é maximizar o benefício total na
Problemas da Mochila 0-1:
Formulação
Problemas da Mochila 0-1:
Formulação
● Seja x
i a variável binária associada ao i-ésimo objeto
● x
i assume 1 se o objeto i for colocado na mochila
● x
Problemas da Mochila 0-1
max∑
i=1 N pi xi s. a.∑
i=1 N wi xi≤q xi∈{0,1 }∀ i∈[1, N ]Problema da Mochila Inteira
● Também conhecido como Bounded knapsack Problem
● Existe a possibilidade de levar mais do que uma unidade de cada objeto i
● Cada objeto possui um limite de disponibilidade
bi
● A regra de capacidade da mochila ainda permanece
Problema da Mochila Inteira
● Seja x
i uma variável inteira que representa a quantidade de itens do tipo i colocados na mochila
● x
i assume 0 caso o objeto i NÃO seja colocado na mochila
● Qualquer outro valor de x
i representa a
quantidade de objetos do tipo i colocados na mochila
Problema da Mochila Inteira
max∑
i=1 N pi xi s. a.∑
i=1 N wi xi≤q 0≤ xi≤bi , ∀ i∈{1,... , N } xi∈ℤProblema das Múltiplas Mochilas
● Mais conhecido como Multiple Knapsack Problem
● Existem M mochilas cada uma com sua
respectiva capacidade qj
● Ao associar o item i à mochila j temos o benefício
pi
● Ao associar o item i à mochila j temos
consumimos wi unidades de capacidade da
Problema das Múltiplas Mochilas
● Existe apenas uma única unidade de cada objeto
● Um objeto só pode ser alocado em uma mochila
● Nem todos os objetos precisam ser alocados
● Objetivo: maximizar a soma dos benefícios em todas as mochilas
Problema das Múltiplas Mochilas
● Seja x
ij uma variável binária que representa a associação do objeto i à mochila j
● x
ij assume 1 caso o objeto i seja associado à mochila j
● x
Problema das Múltiplas Mochilas
max∑
i=1 N∑
j=1 M pi xij s. a.∑
i=1 N wi xij≤qj ∀ j∈{1,... , M } xij∈{0,1 }, ∀ i∈{1,... , N }, ∀ j∈{1,... , M }∑
j=1 M xij≤1 ∀ i∈{1,... , N }Problema de Alocação
Generalizada
● Mais conhecido como Generalized Assignment Problem (GAP)
● Similar ao problema da mochila 0-1
● Existem M mochilas cada uma com sua respectiva capacidade qj
● Todos os itens devem ser associados a uma única mochila
Problema de Alocação
Generalizada
● Ao associar o item i à mochila j temos o benefício pij
● Ao associar o item i à mochila j temos
consumimos wij unidades de capacidade da mochila j
Problema de Alocação
Generalizada
● Seja x
ij uma variável binária que representa a associação do objeto i à mochila j
● x
ij assume 1 caso o objeto i seja associado à mochila j
● x
Problema de Alocação
Generalizada
max∑
i=1 N∑
j=1 M pij xij s. a.∑
i=1 N wij xij≤q j ∀ j∈{1,... , M } xij∈{0,1 }, ∀ i∈{1,... , N }, ∀ j∈{1,... , M }∑
j=1 M xij=1 ∀ i∈{1,... , N }Problema Empacotamento
● Mais conhecido como Bin-Packing Problem
● Todas as mochilas tem a mesma capacidade q
● O número de itens e o número de mochilas é o mesmo (N)
Problema Empacotamento
● Todos os objetos precisam estar associados a uma mochila
● Objetos só podem ser alocados a uma única mochila
● O benefício p
i não é mais relevante
● O objetivo é minimizar o número de mochilas utilizadas
Problema Empacotamento
● x
ij variável binária que assume 1 caso o objeto i seja associado à mochila j e 0 caso contrário
● y
j variável binária que assume 1 se a mochila j é utilizada e 0 caso contrário
Problema de Empacotamento
min∑
j=1 N y j s. a.∑
i=1 N wi xij≤qy j , ∀ j∈{1,... , N } xij∈{0,1 }, ∀ i∈{1,... , N }, ∀ j∈{1,... , N }∑
j=1 M xij=1 ∀ i∈{1,... , N } y j∈{0,1}, ∀ j ∈{1,... , N }Exercício 1
● Um colecionador carros quer aumentar o valor de
sua coleção. Para isso ele foi a uma feira de carros antigos decidido a comprar um “avião” de carros
● O avião possui capacidade de 5 toneladas
● O preço e peso de cada carro estão descritos na
tabela a seguir
Exercício 1
Veículo Preço
Unidades monetárias Pesotoneladas
Mustang 69 15 1,2 Corvette 72 12 0,9 Brasília amarela 1 0,8 Lottus 99 11 1,4 Alfa Romeo 87 13 1,3 Ferrari 81 14 1,1 Audi 86 12 1,1 Delorian 84 11 1,2
Exercício 2
● Uma empresa precisa organizar diversas
mercadorias em contêineres para serem despachados
● Cada contêiner tem um custo fixo de uso
● Todas as mercadorias possuem o mesmo destino
● As mercadorias possuem uma densidade
Exercício 2
● Todos os contêineres possuem mesma
capacidade de carga de 20 unidades de peso ● Os pesos de cada mercadoria são conhecidos ● Elabore um modelo matemático que minimize o
custo da operação
Produto Peso p1 10 p2 10 p3 7 p4 14 p5 12
Exercício 3
● Uma padaria precisa decidir quais pedidos vai
atender a cada fornada
● Os pedidos possuem diferentes prioridades:
alguns clientes pagam taxa de urgência, outros são pedidos que foram agendados a bastante tempo
● A padaria conta com 3 fornos de diferente
capacidades. O tempo de forno de todos os produtos é o mesmo
Exercício 3
● Pedidos não atendidos na fornada atual serão atendidos posteriormente, depois de terem
suas prioridades recalculadas
● Monte um modelo matemático que maximize a prioridade dos pedidos feitos a cada fornada
Exercício 3
Forno Capacidade
f1 10
f2 7