我遇到了一個問題,我沒有找到任何解決方案來閱讀AMPL文檔的集合。AMPL:目標城市內的型號終端
我想要建模的是一個城市,比如說Kir,例如必須有來自另一個城市的9次交付,比如Sto。但是,這些交貨必須在某些特定的碼頭抵達Kir,每個碼頭每天只需少量時間(約2分鐘)。原始節點也必須如此。從Sto的路線必須從特定的終端指定(所以路徑可以在結果中「跟隨」)。
我已經開始使用集合中「set K in K」操作進行建模,但是這要求V必須是相同的集合,或者K的子集,其中K是代表「節點」的集合 - Kir ,申通快遞等,V是集終端的「候機樓」的名字,「候機樓」等
我開始檢查實例「設置K尺寸4」定義爲,例如:
set K dimension 4;
data;
set K:=
Sto Kir Terminal1 Terminal2
Bod Kir Terminal3 Terminal2;
其中,集合K表示從哪個城市(例如Sto)開始交貨(例如Kir),其中Sto中的出發終端是Terminal1,並且是Kir的交付終端是Terminal2。這有一個缺點,就是必須手動指定大量的組合(在Kir中大約有22個終端)。我不知道如何對約束進行建模。例如「一個維」的設置,我以前有:
subject to yvar{i in V, j in V}:
sum{k in H} x[i,j,k] <= maxVisits[i,j];
其中V是集城市的孤獨,和H是集汽車,maxVisits表示從城市i到城市deliviries的最高金額如果使用車輛k從i傳遞給j,則x和x是1。我不明白這到底是怎麼進行建模,採用四維集K.
問候,
我一直在思考這個問題,在過去的一個晚上,想知道有關4維集K的實現,我已經理解它有一些不足之處。它將以某種方式禁止該程序找到「新」解決方案,即終端路線的新組合等等,因爲它是相當預先定義的解決方案。嗯...好吧,想一想,我想這是如何指定數據的問題。將definetely嘗試適應我的代碼這個答案!非常感謝您的回答! – Cenderze 2014-10-07 06:48:05