Recebemos pilhas que contêm "itens" de cores diferentes e uma máquina que pode processar vários itens da mesma cor de uma só vez. Em cada etapa, podemos remover um item da parte superior de cada pilha e colocá-lo em nossa máquina (para que a máquina possa processar no máximo itens em uma única etapa - para que isso aconteça, todas as pilhas devem ter itens da mesma cor em cima). O objetivo é processar todos os itens em um tempo mínimo.n
Exemplo de entrada:
Uma solução possível é um algoritmo ganancioso: em cada etapa, pegue o máximo de itens possível e coloque-os na máquina. Infelizmente, o algoritmo ganancioso não é o ideal - ele produz o seguinte cronograma para a entrada de exemplo:
O cronograma ideal é o seguinte:
Eu pretendo usar alguma forma de pesquisa de espaço de estado, mas talvez haja uma abordagem mais específica e eficiente do problema? Links para a literatura relevante apreciada.