我正在编写一个包含场景子问题的分解算法。我需要使用模型指针来创建子问题优化模型。然后,随着算法的进行,需要修改每个子问题的目标函数系数。我需要使用指针来避免每次从头开始创建子问题模型。我该怎么办?我可以用这个:
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();
非常感谢,
答案 0 :(得分:0)
使用std::vector来保存指针集合。它更容易使用和理解。例如:
uniqueid
然后你就可以这样填写:
std::vector<IloModel*> models(numberOfScenarios);