我正在使用OptaPlanner
进行车辆路由和调度。我想包括客户车辆限制的概念。
一般而言,一组客户应从一组车辆接收货物。任何不符合标准的车辆都不应考虑交付给这些客户。
我已经搜索了论坛,但没有看到同一场景的任何问题。有人可以帮忙吗?
答案 0 :(得分:1)
添加硬约束,例如在DRL中
when
Customer(vehicleOk == false)
then
... // penalize hard score
end
带有如下所示的类:
class Customer {
private boolean needsMech;
private Vehicle vehicle; // Anchor shadow variable
...
public boolean isVehicleOk() {
if (needsMech && !vehicle.isMech()) {
return false;
}
if (...) { // size limitation
return false;
}
return true;
}
}