VRP 停顿查询

VRP standstill query

VRP 中停顿的目的是什么?我试图理解 VRP 示例中的以下规则。什么是previousStandstill?

rule "distanceToPreviousStandstill"
    when
        $customer : Customer(previousStandstill != null, $distanceFromPreviousStandstill : distanceFromPreviousStandstill)
    then
        scoreHolder.addSoftConstraintMatch(kcontext, - $distanceFromPreviousStandstill);
end

previousStandstill 是车辆或其他客户。

例如。 ROUTE = VEHICLE(depot) -> 客户 A -> 客户 B -> 客户 C​​ -> 客户 D

客户 B 的上一个停顿是客户 A

客户 A 的上一个停滞状态是车辆

车辆位置与站点位置相同

因此此规则为路线中除从客户 D 到车辆的最后部分以外的所有距离添加软分数