繁体   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