Alguma formulação SAT / SMT do VRP / VRPTW (TSP, Job-Shop-Scheduling)?

9

Gostaria de saber se existem abordagens que formulam um problema de roteamento de veículo com Windows de tempo ( VRPTW ) (como um problema de decisão) como uma instância de SAT / SMT? (alternativa: TSP)

Por exemplo:
"Existe uma solução válida para visitar todos os clientes dentro de suas janelas de tempo com n = 10 veículos?"

Esse problema de decisão pode ser útil para uma primeira etapa, minimizando o número de veículos usados.

Eu não tenho nenhuma experiência com SMT, mas espero que seja necessário se quisermos lidar com coordenadas / horas como números reais.

Normalmente, todas as formulações de TSP / VRP são feitas no domínio de programação de número misto, mas eu me pergunto se uma formulação sat / smt poderia ser competitiva (em termos de resolução de tempo na prática) para o problema de decisão acima.

Então, o que você acha:

  • você conhece alguma referência?
  • você acha que uma abordagem sat / smt poderia ser competitiva?
  • mais alguma coisa que você queira mencionar?

Obrigado por toda a sua contribuição.

Sascha

Edit : Como eu mencionei o TSP como um problema mais comum no TCS relacionado ao VRPTW, também devo mencionar o problema de Job Shop Scheduling , que é o outro "problema parcial" no VRPTW. Talvez os pesquisadores desse campo tenham tentado algo com o SAT / SMT.

Sascha
fonte

Respostas:

4

O grande problema que vejo com uma formulação SAT para VRPTW é que você precisa discretizar o tempo para impor as restrições da janela de tempo (a menos que você codifique aritmética como circuitos booleanos que eu nunca vi fazer, mas que vale a pena tentar). Isso significa que o número de variáveis ​​se torna muito maior à medida que a janela de tempo aumenta, afetando o desempenho.

Uma formulação SMT (Sat Modulo Theory), no entanto, não teria um problema semelhante, acho que já que você tem um propagador para as restrições da janela de tempo que retornariam restrições redundantes ao solucionador SAT para incorporar quando você ramifica.

Embora eu não conheça nenhum trabalho usando formulações SAT para VRPTW, sei que Peter Stuckey, em seu artigo sobre a geração Lazy Clause, usou uma abordagem quase exatamente como a SMT para resolver o Job Shop Scheduling e parecia obter bons resultados para isso.

Optar
fonte