Кусочно-линейное ограничение в CPLEX API для MATLAB

Я (почти) новичок в CPLEX и оптимизации. Я пытаюсь настроить задачу оптимизации в Matlab, используя недавно добавленную функцию CPLEX (12.7.1), которая позволяет определять кусочно-линейные (PWL) ограничения. Однако мне не понятно, как это сделать в Matlab. Документация по этому вопросу довольно скудная. У IBM есть только один пример (transport.m), который определяет кусочно-линейное ограничение как комбинацию линейных равенств и SOS типа 2. Однако в действительности это не использует недавно добавленную функцию для непосредственного указания кусочно-линейной функции. И процедура в matlab может стать довольно громоздкой по мере увеличения числа переменных и кусочных ограничений. Вы знаете, есть ли способ выразить это по-другому, в Matlab?

Спасибо

1 ответ

Решение

Новая поддержка кусочно-линейных ограничений, о которой вы упомянули, была анонсирована здесь (в версии 12.7.0). MATLAB API не был включен в этот список. Если для вас важно иметь функциональность непосредственно в MATLAB, вы можете добавить запрос на нее в Сообществе IBM RFE. А пока вам нужно использовать один из других API (C, C++, Java, .NET, Python).

Вы можете вызвать другой исполняемый файл из MATLAB, используя системную команду. С другой стороны, помимо того, что требуется немного больше работы, ваша текущая техника должна быть в порядке.

Другие вопросы по тегам