[英]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.