0

次の CVRPTW 問題があり、OptaPlanner で適切な解決策を見つけようとしています。時刻は hh:mm:ss 形式です。

私のDRLファイルはこんな感じです。さらに、準備完了時間前の到着に関連する厳しい制約も定義しました。私のソルバー構成は次のようになりますが、終了タグが異なります。

<termination>
    <terminationCompositionStyle>OR</terminationCompositionStyle>
    <maximumSecondsSpend>10</maximumSecondsSpend>
    <scoreAttained>0hard/-750000soft</scoreAttained>
</termination>

これは問題のステートメントです:

PROBLEM STATEMENT:
CustID  ReadyTIME   DueTIME     ServiceDUR  DEMAND
1       20:38:18    20:44:18    00:05:00    2   
2       20:20:53    20:26:53    00:05:00    4   
3       20:51:39    20:57:39    00:05:00    3   
4       20:20:18    20:26:18    00:05:00    6   
5       20:34:15    20:40:15    00:05:00    5   
6       20:21:40    20:27:40    00:05:00    10  

10 個のアイテムと 1 つのデポを収容できる 2 台の車両があります。

これが解決策です (車両ごとにグループ化され、到着時間によって並べ替えられた顧客):

Vehicle 1   Capacity 10 - from Depot [1]
[6]     D: 10   Ar.T: 20:21:40  Prev.D: 00:02:21    Next.D: --:--:--

Vehicle 2   Capacity 10 - from Depot [1]
[4]     D: 6    Ar.T: 20:20:18  Prev.D: 00:01:08    Next.D: 00:02:21
[2]     D: 4    Ar.T: 20:27:42  Prev.D: 00:02:24    Next.D: 00:03:38
[5]     D: 5    Ar.T: 20:36:03  Prev.D: 00:03:21    Next.D: 00:02:09
[1]     D: 2    Ar.T: 20:43:26  Prev.D: 00:02:23    Next.D: 00:07:23
[3]     D: 3    Ar.T: 20:55:40  Prev.D: 00:07:14    Next.D: --:--:--

(D = デマンド、Ar.T = 到着時間、Prev.D = 前の場所からの距離、Next.D の次の場所からの距離)

ご覧のとおり、車両 2 は 6+4+5+2+3=20 個のアイテムを輸送する必要があり、これは容量を超えています。構成の容量に関連する厳しい制約がある場合に、ソルバーがこのソリューションを提案する理由がわかりません。

私のルールを考えると、これは受け入れられる解決策ではありません。何か不足していますか?ソルバーが解を提供しない状況はありませんか? 「ソルバーが失敗した」終了が考えられますか?

4

1 に答える 1