Я кодирую алгоритм декомпозиции, включая подзадачи сценария. Мне нужно использовать указатель модели для создания моделей оптимизации подзадач. Затем необходимо изменить коэффициент целевой функции каждой подзадачи в процессе работы алгоритма. Мне нужно использовать указатели, чтобы избежать создания моделей подзадач каждый раз с нуля. Как мне это сделать? Могу ли я использовать это:
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<IloModel*> models(numberOfScenarios);
Тогда вы можете заполнить его так:
models.push_back(new IloModel);
Других решений пока нет …