Нелинейная целевая функция MATLAB

У меня есть модель OR с линейными ограничениями и нелинейной целевой функцией. Неужели с "линпрогом" это решить нельзя? Если да, то есть ли какие-либо методы линеаризации целевых функций, например, путем добавления некоторых ограничений к модели? Спасибо за вашу помощь.


person Morianta    schedule 15.08.2014    source источник
comment
Если у вас есть Matlab и вы можете использовать любую из его функций, вам следует посмотреть fmincon, который минимизирует нелинейные целевые функции при линейных и нелинейных ограничениях.   -  person Etienne Pellegrini    schedule 16.08.2014
comment
Большое спасибо; Думаю, этот набор инструментов решает мою проблему.   -  person Morianta    schedule 16.08.2014
comment
Пожалуйста! Я сделал правильный ответ, так что вы можете принять его и закрыть этот вопрос! Удачного кодирования!   -  person Etienne Pellegrini    schedule 16.08.2014


Ответы (2)


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

Линеаризация - это линейная аппроксимация нелинейной системы, которая действует в небольшом регионе вокруг рабочей точки.

Например, вы можете использовать аппроксимацию функции для линеаризации. Аппроксимация Тейлора является одним из методов. Линеаризация функции - это член первого порядка ее разложения Тейлора вокруг интересующей точки. Существуют и другие методы.

В Matlab есть документ с описанием основных методов и функций линеаризации, которые вы может проверить.

Если вы поддержите вопрос с помощью кода, люди в SO могут больше помочь с проблемой.

person NKN    schedule 15.08.2014

Если у вас есть Matlab и вы можете использовать любую из функций панели инструментов оптимизации, вам следует посмотреть fmincon, который минимизирует нелинейные целевые функции при линейных и нелинейных ограничениях.

person Etienne Pellegrini    schedule 16.08.2014