OptaPlanner客户 - 车辆交付限制

时间:2016-01-05 08:57:20

标签: optaplanner

我正在使用OptaPlanner进行车辆路由和调度。我想包括客户车辆限制的概念。

  • 示例1:指定为机械化客户的客户只能 从已指定为机械化的车辆接收交货 (例如带叉车的车辆,液压尾部升降机等)
  • 示例2:客户对其场所有实际限制 只能接受一定规模的车辆交付。

一般而言,一组客户应从一组车辆接收货物。任何不符合标准的车辆都不应考虑交付给这些客户。

我已经搜索了论坛,但没有看到同一场景的任何问题。有人可以帮忙吗?

1 个答案:

答案 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;
    }
}