Ortools - VRP Разрешить нарушение ограничения

Возможно ли в модели vrp ortool допустить нарушение ограничения (иногда называемого мягким ограничение)? Например. Скажем, каждый маршрут должен собирать минимальный объем x в каком-либо устройстве, могу ли я настроить или-инструменты так, чтобы он также возвращал мне туры, если это ограничение не всегда выполняется?

Глядя на раздел штрафов, создается впечатление, что при настройке с помощью addDisjunction or-tools отказаться от посещения, если это делает решение возможным. Однако проблема, которая стоит передо мной, прямо противоположная: визит не следует прерывать, а вместо этого должно быть нарушено ограничение, подвергшееся некоторому штрафу.


person k88    schedule 23.03.2020    source источник


Ответы (1)


Вы должны создать измерение «Объем» и использовать на конечном узле:

void RoutingDimension::SetCumulVarSoftLowerBound(int64 index, int64 lower_bound, int64 coefficient);

ссылка:

person Mizux    schedule 23.03.2020