在Optaplanner XML解决方案文件中的到达时间

时间:2016-05-27 14:24:33

标签: optaplanner

我们与Optaplanner有一个棘手的问题。 我们正在开展一个项目,我们需要计算一个优化的车辆路线,该路线考虑了客户希望服务的特定时间。

我们已经能够创建一个vrp文件,就像在Optaplanner的examples文件夹中给出的那样。时隙的小时数以秒为单位进行编码。它在GUI-app中正确加载。

但是,似乎路由问题不可行。当我们不考虑时间段时,我们会得到一个结果。我们查看了XML文件,发现ArrivalTime并不符合到期时间。实际上,我们想知道如何解释XML,找到我们的错误。

<VrpVehicle id="19">
  <id>1</id>
  <capacity>75</capacity>
  <depot class="VrpTimeWindowedDepot" reference="14"/>
  <nextCustomer class="VrpTimeWindowedCustomer" id="20">
    <id>4</id>
    <location class="VrpRoadLocation" reference="11"/>
    <demand>1</demand>
    <previousStandstill class="VrpVehicle" reference="19"/>
    <nextCustomer class="VrpTimeWindowedCustomer" id="21">
      <id>2</id>
      <location class="VrpRoadLocation" reference="7"/>
      <demand>1</demand>
      <previousStandstill class="VrpTimeWindowedCustomer" reference="20"/>
      <vehicle reference="19"/>
      <readyTime>39600</readyTime>
      <dueTime>43200</dueTime>
      <serviceDuration>60</serviceDuration>
      <arrivalTime>3300060</arrivalTime>
    </nextCustomer>

有人熟悉Optaplanner生成的输出吗? 我们如何检索建议的路线以及ArrivalTime的含义是什么?目前,我们认为4-2是车辆19的最佳路线。这是正确的吗?

亲切的问候, MB

1 个答案:

答案 0 :(得分:0)

您对该路线的解释是正确的,尽管它是为客户4提供的车辆1 - > 2并且它不一定是最佳的,而是当前的路线。

示例中的arrivalTime由ArrivalTimeUpdatingVariableListener更新,它使用客户的位置来确定距离。这些距离不能用于您的用例,因为它们的单位不是秒,可能缩放1000倍。

您需要以秒为单位的距离或将秒数缩放到&#39;单位&#39;在示例中用于正确计算到达时间。