У меня есть модель OR с линейными ограничениями и нелинейной целевой функцией. Неужели с "линпрогом" это решить нельзя? Если да, то есть ли какие-либо методы линеаризации целевых функций, например, путем добавления некоторых ограничений к модели? Спасибо за вашу помощь.
Нелинейная целевая функция MATLAB
Ответы (2)
linprog решает задачи линейного программирования, и целевая функция должна быть линейной. Нелинейные целевые функции можно линеаризовать с помощью метода математической линеаризации.
Например, вы можете использовать аппроксимацию функции для линеаризации. Аппроксимация Тейлора является одним из методов. Линеаризация функции - это член первого порядка ее разложения Тейлора вокруг интересующей точки. Существуют и другие методы.
В Matlab есть документ с описанием основных методов и функций линеаризации, которые вы может проверить.
Если вы поддержите вопрос с помощью кода, люди в SO могут больше помочь с проблемой.
Если у вас есть Matlab и вы можете использовать любую из функций панели инструментов оптимизации, вам следует посмотреть fmincon, который минимизирует нелинейные целевые функции при линейных и нелинейных ограничениях.