Класс объектов Matlab optimproblem
позволяет пользователям определять задачи Integer Linear Program (ILP), используя символические переменные. Это названо «проблемной» формулировкой . Внутренние методы заботятся о настройке детальной формулировки ILP, собирая массивы коэффициентов и матрицы для целевой функции, ограничений равенства и ограничений неравенства. В Matlab эти детали называются «структурой» для «основанной на решателе» формулировки .
Пользователи могут видеть порядок, в котором optimproblem.Variables
взяты при настройке формулировки на основе решателя, используя prob2struct
для явного преобразования объекта optimizationproblem
в структуру на основе решателя. В разделе Алгоритмы страницы prob2struct
переменные берутся в том порядке, в котором они появляются в свойстве optimizationproblem.Variables
.
Мне не удалось найти то, что определяет этот порядок. Есть ли способ контролировать порядок, может быть, даже изменить его при необходимости? Это позволило бы управлять порядком скалярных переменных в архетипической постановке задачи ILP, то есть формулировкой на основе решателя.
Спасибо.
Причина этого вопроса
Я использую Matlab в качестве среды для прототипирования и, возможно, полагаюсь на то, что другие будут разрабатывать на основе прототипа, возможно, вызывая другие решающие механизмы. Неконтролируемое упорядочение переменных затрудняет сравнение, особенно если разработка имеет детерминистический способ размещения переменных. Отсюда мое желание контролировать порядок переменных. Если это невозможно, было бы неплохо узнать. Тогда я бы знал, чтобы полностью обратить свое внимание на смягчение проблемы разнородно упорядоченных переменных.