まず、この素晴らしい図書館で呼び出された人のおかげで、OptaPlanner Vehicle Routing - 車両用時間窓
私の制約は以下のとおりです。
- 私は準備ができ起因回を持っている顧客を持っています。
- また、準備が整い、期限が切れている車両。
私はJavaで経験していないと私は、送信側と提供するサンプルプロジェクトを使用してXMLが供給によってOptaPlanner使用するようにしてください。顧客の時間帯については、「VrmTimeWindowedCustomer」を使用していて、問題はありませんでした。車の時間窓の制約のために、私は "VrpTimeWindowedDepot"を使用しようとしました。
私の心の中には:デポがあるとき(ReadyTime)、車両はそのデポから仕事を始め、顧客に行きます。しかし、私は期待していた結果が得られたなかったOptaPlanner私の試みで:
<depotList id="139">
<VrpTimeWindowedDepot id="140">
<id>1</id>
<location class="VrpRoadLocation" reference="3"/>
<readyTime>540000</readyTime>
<dueTime>1020000</dueTime>
</VrpTimeWindowedDepot>
<VrpTimeWindowedDepot id="141">
<id>2</id>
<location class="VrpRoadLocation" reference="5"/>
<readyTime>540000</readyTime>
<dueTime>1020000</dueTime>
</VrpTimeWindowedDepot>
</depotList>
結果は次のとおりです。
顧客の<VrpVehicle id="143">
<id>1</id>
<capacity>100001002</capacity>
<depot class="VrpTimeWindowedDepot" reference="140"/>
<nextCustomer class="VrpTimeWindowedCustomer" id="144">
<id>42</id>
<location class="VrpRoadLocation" reference="85"/>
<demand>206</demand>
<previousStandstill class="VrpVehicle" reference="143"/>
<nextCustomer class="VrpTimeWindowedCustomer" id="146">
...
<vehicle reference="143"/>
<readyTime>0</readyTime>
<dueTime>1440000</dueTime>
<serviceDuration>12000</serviceDuration>
<arrivalTime>22137</arrivalTime>
</nextCustomer>
<vehicle reference="143"/>
<readyTime>0</readyTime>
<dueTime>1440000</dueTime>
<serviceDuration>12000</serviceDuration>
<arrivalTime>8527</arrivalTime>
</nextCustomer>
</VrpVehicle>
ArrivalTimeは、顧客のためにOKですが、その車両のデポReadyTimeよりも小さいです。
ここで間違っていることがわかりませんでした。 私はOptaplanner - availability of VehiclesとOptaPlannerの文書を読んでいます。私の状況のために何をすべきか理解することはできませんでした。
また、drlファイルの構文を理解できず、書き方を説明するドキュメントが見つかりませんでした。
編集 - ジェフリー・デスメットに別の質問
ジェフリー・デスメット、あなたの速いresposeのためにどうもありがとうございました、それが非常に高く評価されています。私はあなたの変更を試みました。デポのReadyTimeに応じて到着時間は現在OKです。しかしデポのDueTimeについては、別の問題がある可能性があります:
<VrpTimeWindowedDepot id="144">
<id>3</id>
<location class="VrpRoadLocation" reference="7"/>
<readyTime>540000</readyTime>
<dueTime>1020000</dueTime>
</VrpTimeWindowedDepot>
このデポからの車両のために訪問される最後の顧客がある:
<nextCustomer class="VrpTimeWindowedCustomer" id="183">
<id>36</id>
<location class="VrpRoadLocation" reference="73"/>
<demand>187</demand>
<previousStandstill class="VrpTimeWindowedCustomer" reference="182"/>
<vehicle reference="146"/>
<readyTime>0</readyTime>
<dueTime>1440000</dueTime>
<serviceDuration>10000</serviceDuration>
<arrivalTime>1082091</arrivalTime>
</nextCustomer>
は、到着時間が102万未満すべきではありませんか? (3台のデポには3台の車両がありますが、その解決策は2台しかありませんでした。)
これをPLANNER-680 JIRAの問題にコメントとして追加しようとしましたが、歌うとログインする。私はこの編集がStackoverflowのフォーマットに従ってOKであることを願っています。
[7.0.0.Beta3用に修正](https://issues.jboss.org/browse/PLANNER-680) –
すごく速いです:)バグ修正コードを追加できますか?または私が7.0.0.Beta3ファイルに到達できる方法はありますか? – Koray
リンクを参照してくださいjira問題。 –