2015-10-09 56 views
0

我正在編碼包括方案子問題的分解算法。我需要使用模型指針來創建子問題優化模型。然後,隨着算法的進行,需要修改每個子問題的目標函數係數。我需要使用指針來避免每次從頭開始創建子問題模型。我應該怎麼做?我可以用這個:如何在C++中創建一個IloModel和IloObjective對象指針的數組?

IloModel** MaxProblemPtr= new(env) IloModel*[numberOfScenarios]; 

IloObjective** MaxObjPtr= new(env) IloObjective*[numberOfScenarios]; 

話,豈不是正確的,以保持指針到實現的實例每個場景子問題,如如下:

IloModel MaxProblem(env); 
*(MaxProblemPtr[scnenarioN])=MaxProblem.getImpl(); 

IloObjective MaxObj=IloAdd(MaxProblem, IloMaximize(env)); 
*(MaxObjPtr[scnenarioN])=MaxObj.getImpl(); 

謝謝你了,

回答

0

使用std::vector到舉行指針的集合。使用和理解起來要容易得多。 e.g:

std::vector<IloModel*> models(numberOfScenarios); 

然後你可以填充它,像這樣:

models.push_back(new IloModel); 
+0

謝謝各位大大的幫助。有效。 –

相關問題