簡體   English   中英

如何在C ++中創建IloModel和IloObjective對象指針的數組?

[英]How to create an array of IloModel and IloObjective object pointers in c++?

我正在編寫一種分解算法,包括場景子問題。 我需要使用模型指針來創建子問題優化模型。 然后,隨着算法的進行,需要修改每個子問題的目標函數系數。 我需要使用指針來避免每次從頭開始創建子問題模型。 我應該怎么做? 我可以用這個嗎:

 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();

非常感謝

使用std :: vector來保存指針的集合。 它更易於使用和理解。 例如:

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

然后,您可以像這樣填充它:

models.push_back(new IloModel);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM