2016-09-20 51 views
0

我在我的配方中有以下設置和索引。我無法在cplex C++音樂會技術中聲明它。我應該將「Nsd」視爲兩個維數矩陣嗎?關於γ,N(γ)和A(γ)?提前感謝您的幫助。設置和cplex C++音樂會技術指數

N = set of nodes 

A = set of arcs 

s Є N = index used for sources 

d Є N = index used for destinations 

Nsd = set of acceptable paths that connect s and d. 

γ Є Nsd = index used for network paths 

N(γ) = set of nodes along path γ 

A(γ) = set of arcs along path γ 
+0

如果你顯示你的代碼(即你到目前爲止已經嘗試過),你可能會得到更好的反饋。另外,如果您還沒有,則應該仔細閱讀CPLEX附帶的C++示例。 – rkersh

+0

非常感謝您的反饋,但我處於編碼的初始階段。 –

回答

0

像@ rkersh評論說,如果你提供一段代碼,會更好。在任何情況下,如果我理解正確,你不確定如何聲明和使用帶有2個索引的一組變量。

如果這是真的,你可以使用下面的代碼來聲明一個新的類型,將適合代表的變量

typedef IloArray<IloNumVarArray> NumVarMatrix; 

2維矩陣然後聲明變量,你可以使用類似的情況

NumVarMatrix variable_name(env, number_of_rows); 
    for(i = 0; i < number_of_rows; i++) 
     variable_name[i] = IloNumVarArray(env, number_of_columns, 0, 1, ILOINT); // ILOINT or any other type that you see fit 

我建議你看一看示例文件facility.cpp附帶CPLEX所以你可以看到一個完整的工作示例。

cplex附帶有許多其他示例,這些示例非常有用,可幫助您瞭解可以執行的操作和操作方法。

+0

非常感謝您的反饋。我會遵循你的建議 –