0

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

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

非常感谢,

4

1 回答 1

0

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

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

然后你可以像这样填充它:

models.push_back(new IloModel);
于 2015-10-09T16:15:30.537 回答