我正在嘗試使用Microsoft Solver Foundation來優化二元決策變量矩陣的問題。這是我的決策矩陣的格式:Microsoft Solver Foundation中的決策矩陣
X[i,j] = { { x11, x12, ..., x1n }, { x21, x22, ..., x2n }, ... { xm1, xm2, ..., xmn }, };
我也有參數的載體,它是依賴於Xij矩陣(該矢量的每個元素是Xij的一列的總和:
Y[i] = { Sum(x11, x21, ..., xm1), Sum(x12, x22, ..., xm2), ..., Sum(x1n, x2n, ..., xmn) }
我知道,我應該與索引決定對象的工作,但我有麻煩這樣做,任何人都可以請幫助我,我知道有索引決策的方法有兩種:。
Decision Xij = new Decision(Domain.Any, "x", Some Set, Some other set);
,也有:
`Decision[,] = new Decsion [i, j];`
有什麼區別?
感謝您的回答。我試過c#數組來定義Decision變量。問題是,在這種情況下,我不能使用索引循環使用模型的靜態函數(例如Model.ForEach)進行決策。我得到這個錯誤:不能隱式地將類型Microsoft.SolverFoundation.Services.Term轉換爲'int' – 2014-09-28 19:36:45
'模型。ForEach'僅適用於索引* Decision *變量。如果你使用數組,你可以簡單地寫一個'for()'循環來計算sum * Term *。這個總和* Term *可以放在一個約束中。 – 2014-09-29 11:34:29