Pergunta

Eu tenho $ n $ itens e um bin de tamanho $ B $ unidades. Cada item $ J $ consome $ w_j $ unidades de $ B $ quando colocado na mochila. O item aparece um por um em uma moda on-line. Uma vez que o item $ i $ apareça, devemos colocá-lo na caixa (irrevogavelmente) ou ignorá-lo. O objetivo é maximizar o número de itens colocados na lixeira. (Todas as entradas são inteiros positivos.)

O algoritmo offline é fácil: coloque os itens na ordem $ w_1 \ leq w_2 \ leq \ cdoz \ leq w_n $ até que a caixa esteja cheia. .

Como posso resolver esse problema em uma moda online? Minha abordagem é randomizar as opções: uma vez que o item $ J $ aparece, coloque-o na caixa com probabilidade $ P_J $ < / span> e ignore-o de outra forma.

Foi útil?

Solução

Bem como você já notou, ou pelo menos não mencionou, é fácil ver que não há algoritmo competitivo determinístico para o seu problema.(Contra-denexões só precisam de dois itens, e você pode usar o fato de que o algoritmo é determinístico.)

Sua abordagem que tomar randomização realmente não é suficiente, pois algumas dificuldades não podem ser superadas pela randomização.Mas existem alguns modelos de relaxamento do seu problema.

Alguns desses, e alguns detalhes para a minha resposta podem ser encontrados no papel por Susanne Albers, Arindam Khan e Leon Ladewig nomeados "Melhor algoritmos on-line para mochila e lacuna no modo de ordem aleatória" (ver seção 1.1).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a cs.stackexchange
scroll top