реклама на сайте
подробности

 
 
> Установка параметров оптимизации в MATLAB, как работает функция optimset?
EUrry
сообщение Dec 27 2009, 10:55
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 218
Регистрация: 14-11-06
Из: Н. Новгород
Пользователь №: 22 312



Для оптимизации применяю функцию fmincon с нелинейными ограничениями. При запуске при параметрах по умолчанию выдается сообщение (хотя оптимизация худо-бедно проходит):
Код
In fmincon at 437
  In Optimization at 31
Optimization terminated: no feasible solution found.
  Directional derivative predicts change in objective value less
  than options.TolFun.
Warning: Trust-region-reflective method does not currently solve this type of problem,
using active-set (line search) instead.

В последней строке призыв к смене метода оптимизации Trust-region-reflective method на active-set
Из хелпа: The 'active-set' algorithm is not a large-scale algorithm

Потому делаю установку параметров оптимизации следующим образом:
Код
options = optimset('Algorithm','active-set', 'LargeScale', 'off', 'Display', 'iter');
fmincon('opt_fun', x0, [], [], [], [], low, up, 'opt_con', 'options', f, row);

В результате то же самое сообщение о смене алгоритма. Причем, при опции Display', 'iter', должны отображаться результаты выполнения поитерационно - ничего нет. Более того, ограничения low и up в оптимизационной функции fmincon так же не действуют - случаются "вылеты за ворота" оптимизируемых параметров!!! cranky.gif
Что делать?


--------------------
Все не могут только сеять разумное, доброе, вечное: кому-то надо и пахать!
Природа не терпит пустоты: там, где люди не знают правды, они заполняют пробелы домыслом. © Бернард Шоу
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Leonidos
сообщение Jan 16 2010, 00:03
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 24-01-06
Пользователь №: 13 535



когда мучился с ГА, многие опции настройки удалось понять, только сделав StepIn во все важные функции, попробуейте и можеть многое проясниться. Найдете места где выдаются предупреждения и сможите понять почему это происходит.
Go to the top of the page
 
+Quote Post
EUrry
сообщение Jan 16 2010, 20:22
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 218
Регистрация: 14-11-06
Из: Н. Новгород
Пользователь №: 22 312



Цитата(Leonidos @ Jan 16 2010, 03:03) *
когда мучился с ГА, многие опции настройки удалось понять, только сделав StepIn во все важные функции, попробуейте и можеть многое проясниться. Найдете места где выдаются предупреждения и сможите понять почему это происходит.

Да, можно попробовать и так. Раньше задачки попроще были и как-то без этого справлялся. А вообще перед Новым годом опции всё-таки удалось установить. Как оказалось переменную options в функции fmincon не нужно было заключать в апострофы:
Код
fmincon('opt_fun', x0, [], [], [], [], low, up, 'opt_con', options, f, row);

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


--------------------
Все не могут только сеять разумное, доброе, вечное: кому-то надо и пахать!
Природа не терпит пустоты: там, где люди не знают правды, они заполняют пробелы домыслом. © Бернард Шоу
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 02:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016