如何在c ++中创建IloModel和IloObjective对象指针的数组?

时间:2015-10-09 16:01:05

标签: c++ pointers cplex rational-team-concert

我正在编写一个包含场景子问题的分解算法。我需要使用模型指针来创建子问题优化模型。然后,随着算法的进行,需要修改每个子问题的目标函数系数。我需要使用指针来避免每次从头开始创建子问题模型。我该怎么办?我可以用这个:

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

非常感谢,

1 个答案:

答案 0 :(得分:0)

使用std::vector来保存指针集合。它更容易使用和理解。例如:

uniqueid

然后你就可以这样填写:

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