2014-11-15 57 views
0

假設我的旅行推銷員可以忽略一些節點,只要他在一定時間範圍內完成訪問他選擇的節點。他的目標是最大化所訪問節點的收益(例如來自這些節點的總銷售額)。OptaPlanner是否負責使用可選節點的TSPTW(或V​​RPTW)?

我想我們不需要一個總的時間窗口約束,因爲我們已經有每個ndoe的可用性窗口。所以基本上這個問題歸結爲TSPTW,可能會忽略節點。它在文獻中被稱爲通用TSP(GTSP),OptaPlanner是否有一些旋鈕來模擬這一點?

感謝 楊

回答

2

添加一個虛擬錨(車輛在VRP),其獲得未採摘的所有節點。 調整分數規則以忽略該錨鏈(VRP中的車輛)中的節點的硬和軟約束。那麼Vehicle.isDummy() == true。添加一個約束,以確保虛擬鏈上的節點還有另外的成本(並且因此激勵不要使虛擬鏈的所有部分都成爲其一部分)。

+0

謝謝傑弗裏。我嘗試了這種方法,它基本上可行。但有一些問題,我在https://github.com/yangyangyyy/tsp_problem/wiki中記錄了它們 –

相關問題