Агрегировать маршруты с определенным элементом ORTools

#python #or-tools

#python #или-инструменты

Вопрос:

Мне интересно, возможно ли агрегировать маршруты с определенным элементом, используя проблему ORTools VRPTWs.

Например, представьте, что у меня есть несколько заказов, в которых некоторые из них являются специальными, что приводит к следующим узлам:

 {A, B, C, D, E} -> common  
{F, G, H} -> special  
 

Поэтому использование наивного решения было бы:

 A -> B -> C -> D -> E  
F -> G -> H
 

Поскольку специальные узлы были объединены вместе.

Но в моем случае я хочу установить штраф за нарушение, где одним из возможных решений было бы:

 A -> F -> B -> G (two special nodes here)  
C -> D  (only common)  
H -> E (special node here)  
 

Обратите внимание, что решатель попытался сгруппировать специальные узлы.

Как я могу добиться такого поведения с помощью ORTools?