Как создать массив указателей объектов IloModel и IloObjective в 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();

Спасибо много,

0

Решение

использование станд :: вектор провести коллекцию указателей. Это намного проще в использовании и понимании. например:

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

Тогда вы можете заполнить его так:

models.push_back(new IloModel);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]