Определение переменных ILP при преобразовании формулировки задачи Matlab в формулировку на основе решателя - PullRequest
2 голосов
/ 14 мая 2019

Я раскручиваю ILP, используя для этого инструменты Matlab.Они имеют как традиционную формулировку "на основе решателя" (SB) , так и формулировку "на основе проблемы" (PB) на более высоком уровне абстракции.

Разницамежду SB и PB то, что для PB пользователю не нужно беспокоиться о том, какие проблемные переменные отображаются на элементы вектора-столбца переменных ILP. задача оптимизации объект принимает функцию оптимизации и ограничения равенства / неравенства в символической форме, а методы класса обрабатывают учет вектора столбцов проблемных переменных, коэффициентов функции оптимизации и матриц и связанных с нимиRHS для ограничений по равенству и неравенству.

Можно фактически изучить аналог SB для формулировки PB, используя prob2struct для преобразования из PB в SB.К сожалению, неясно, как prob2struct решает, какие переменные PB соответствуют каким элементам вектора-столбца переменных.

Я попытался найти объект задачи оптимизации в формулировке PB, чтобы увидеть, содержит ли он его.собственные подробности внутренней формулировки SB (независимо от того, совпадают ли они с prob2struct) или, по крайней мере, отображение переменных.Я не смог найти такие подробности.

Для prob2struct, существует ли надежное правило, позволяющее нам узнать, какие символические переменные PB отображаются на какие элементы в векторном столбце переменных SB?

1 Ответ

3 голосов
/ 14 мая 2019

Попробуйте функцию varindex .Он был представлен в R2019a.

...