有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

OptaPlanner中VRP的java Min-Max之旅

我是OptaPlanner的新手,试图根据自己的需要修改现有的VRP示例

我的问题是:我想要无容量限制的VRP,比如示例tutorial/test/tutorial-01-uncapacitated。vrp。在实际实现中,优化器主要只使用一辆车,因为它只考虑最小化总数据量。 我想更改软约束,使最大行程最小化。我的目标是使车辆得到平等的利用

以下是实施的drools软约束:

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

rule "distanceFromLastCustomerToDepot"
when
    $customer : Customer(previousStandstill != null)
    not Customer(previousStandstill == $customer)
then
    Vehicle vehicle = $customer.getVehicle();
    scoreHolder.addSoftConstraintMatch(kcontext, - $customer.getDistanceTo(vehicle));
end

我试图计算每辆车的距离,并为距离最高的车返回一个softconstraint


共 (1) 个答案

  1. # 1 楼答案

    在最小化最大行程后,还需要最小化第二个最大行程,以此类推

    请参阅文档中的“公平性”和“负载平衡”。还有网球的例子