Você está na página 1de 1

Provavelmente, George B.

Dantzig foi o primeira a mencionar o Problema da Mochila em


um artigo publicado em 1957 com o título ¨Discrete-Variable Extremum Problems”, onde
exemplifica o problema da seguinte forma: uma pessoa está planejando uma viagem e
decidiu não carregar mais que 70 libras de diferentes itens, tais como roupas de cama, latas
de comida, etc. Cada objeto tem um determinado peso e um valor de utilidade, sendo que o
objetivo da pessoa é organizar os objetos na mochila de forma que consiga levar aqueles
que serão mais úteis.

O Problema da Mochila é um problema de otimização combinatória e é classificado como


problema NP completo, quando ainda não possui nenhum algoritmo de tempo polinomial já
descoberto capaz de solucioná-lo; nem mesmo ninguém ainda foi capaz de provar que não
pode existir nenhum algoritmo de tempo polinomial para qualquer um deles. [Dasgupta,
Papadimitriou e Vazirani 2006] relatam que, provavelmente nenhuma das versões desse
problema tem um algoritmo polinomial. Entretanto, usando programação dinâmica, elas
podem ser resolvidas em tempo O(nW), o que é razoável quando W é pequeno, mas não é
polinomial, pois o tamanho da entrada é proporcional a log W em vez de W. Esta questão
foi um dos mais profundos e surpreendentes problemas de pesquisa da ciência de
computação teórica desde 1971 quando foi proposto pela primeira vez.

Este modelo é usado para resolver problemas nas áreas de investimento de capital, corte e
empacotamento, carregamento de veículos, orçamento dentre outros.

[Martello e Toth 1990] descrevem algumas variações do Problema da Mochila:

Mochila Limitada: Cada tipo de item que pode ser incluído na mochila tem sua quantidade
limitada.

Mochila Ilimitada: Cada tipo de item tem quantidade infinita.

Mochila de Múltipla Escolha: Nesse problema, dado um conjunto de classes que contém
itens, é necessário escolher exatamente um item de cada classe.

Soma do Subconjunto: Ocorre quando no Problema da Mochila 0/1 o valor de cada item
disponível é igual ao seu peso.

Mochila Múltipla 0/1: Neste problema, existem várias mochilas, cada qual com sua
capacidade definida. Os pesos dos itens e seus valores são os mesmos para todas as
mochilas, sendo necessário incluir uma restrição adicional que evite a inclusão de um
mesmo produto em mais de uma mochila.

Mochila Multidimensional 0/1: Neste problema um pagamento é exigido a cada item


adquirido e existe uma limitação no capital disponível para as aquisições, ou seja, deseja-se
levar o maior valor possível atendendo a disponibilidade de orçamento.

Neste artigo iremos usar o problema da mochila Inteira com repetições, aplicado ao setor de
transporte de cargas. O objetivo é selecionar os objetos que irão compor a carga de forma
que seja possível alcançar o maior valor possível. Serão apresentadas duas soluções com
abordagens diferentes para o problema. O primeiro é usando a algoritmos gulosos e o
segundo programação dinâmica.

Você também pode gostar