ampl

    1熱度

    1回答

    我遇到了一個問題,我沒有找到任何解決方案來閱讀AMPL文檔的集合。 我想要建模的是一個城市,比如說Kir,例如必須有來自另一個城市的9次交付,比如Sto。但是,這些交貨必須在某些特定的碼頭抵達Kir,每個碼頭每天只需少量時間(約2分鐘)。原始節點也必須如此。從Sto的路線必須從特定的終端指定(所以路徑可以在結果中「跟隨」)。 我已經開始使用集合中「set K in K」操作進行建模,但是這要求V必

    1熱度

    2回答

    我有一些用AMPL和GAMS編寫的優化問題。我在Matlab中有一個算法。如何用Matlab中的算法解決這些問題? 我已經閱讀過有關GAMS的GDXMRW接口,但據我所知它只能在Matlab & GAMS之間交換數據?那麼是否有必要在GAMS中執行梯度,導數等的所有計算,然後將這些結果提供給Matlab? 也許有人知道如何連接這個?

    1熱度

    1回答

    我打算進行優化,但我得到一個我找不到原因的錯誤。編譯器抱怨服務時間,startlimit和endlimit不是無效的。特別是編譯器在約束TimeConstraint中抱怨servicetime ['ORIGINS']沒有值。 約束的問題是: subject to TimeConstraint {k in H}: sum{i in UNI, j in UNI} servicetime[i]*x[i,

    1熱度

    1回答

    我正在嘗試解決glpsol的最小化問題。我有真實世界的數據,我一直在努力包含這些數據。我曾嘗試使用-d數據data.dat文件沒有成功,比我都試過重寫所有的數據到PARAM值包括,但我得到一個錯誤: data.dat:7: oh[0] already defined 我的代碼: param n:=23; param m_mascobe; param m_oh; param m_protein

    1熱度

    1回答

    我有兩套A和B,集合B取決於集合A; set A; set B{A}; 在我的數據庫中,我有兩個表 - A_Table與主鍵a_id和表B_Table複合鍵b_id和a_id(外鍵)。我試圖從B_Table表中讀取數據使用這個腳本設置B: table B_Table IN "ODBC" (ConnectionStr) "B_Table": [b ~ b_id, a ~ a_id],

    1熱度

    1回答

    我在林業行業進行了優化,其中一組公司C可以從收穫區域集合I的一些分類集合A中扣除某些木材。參數x [I, J,V,T,C,A]變量代表從收穫區域I到鋸木廠J在時間T使用車輛V的流量,用於公司C與分類A. 我遇到的麻煩是每個鋸木廠必須遵守最小需求,d_minus。這樣做是: # The total flow into a node at time period t must exceed the m

    1熱度

    1回答

    對於這個擴展代碼,當我嘗試運行這個mod文件時,我總是收到語法錯誤。我不太清楚自己出錯的地方,因爲我已經寫下了正確的等式。 我該如何解決這個問題? var P> = 0; var Q> = 0; var R> = 0; var S> = 0; var T> = 0; var U> = 0; var V> = 0; 最大化成本:4 * P + 5 * Q + 1 * R + 3 * S-5 * T

    1熱度

    1回答

    我有AMPL問題做了隨機規劃, 目前我有三個場景,每一個解決方案之前分配的概率。 for { t in 1..SIZE-1 by 2} { let Demand := DemandSeq[t]; let Resources := ResourcesSeq[t]; # change probability of each stage if StateSeq

    1熱度

    1回答

    選擇數據我有兩組分別是: set s1 := 0 1 5 6 ; set s2 := 3 4 8 9 ; 我需要有其選擇從這些集合象下面的行中的數據的約束: subject to sym1{i in 0..3 , j in 0..3 : i=j } : x[0,s1[i],0] = x[1,s1[j],0]; 它裝置從S1和S2選擇數據應該是這樣的: x[0,0,0] = x[1,3,0

    1熱度

    1回答

    在AMPL中,我有一組應該存儲一些相似值的集合。但我有一個「重複號碼」錯誤。 有沒有辦法做到這一點? 解決這個問題最簡單的方法是什麼? 該組爲: set A; data: set A:= 1 1 2; 謝謝