Optaplanner VehicleRouting First Pick,Last drop condition

时间:2015-08-20 06:37:38

标签: routing optaplanner

我是optaplanner的新手,我正在寻找一种定义客户性别的方法,并强制执行创建路线时,不会先选择女性客户,也不会最后删除。我正在使用增量求解器和放大器ROAD_DISTANCE xml并尝试在InsertCustomer中减少hardScore并将其重置回retractCustomer中。它似乎不起作用。请帮我解决这个问题。 提前感谢所有的帮助。

1 个答案:

答案 0 :(得分:0)

根据VRP示例,在Customer类中添加此方法:

public boolean isFemaleAndFirstOrLast() {
    return gender == FEMALE
            && (previousStandstill instanceof Vehicle
            || nextStandstill == null);
}

然后添加一个评分规则来惩罚

when
    Customer(femaleAndFirstOrLast == true)
then
    scoreHolder.add...(...);
end