2014-12-04 3 views
0

Я хочу оптимизировать функцию с несколькими переменными с помощью функции в MATLAB. Функция требует нижней и верхней границы и выглядит в границах непрерывной области.Паттерны поиска дискретных переменных

Я, однако, имею дискретный набор значений в файле excel и хотел бы, чтобы алгоритм выполнял поиск в этом дискретном домене, а не в непрерывном домене.

Возможно ли это с patternsearch?

ответ

0

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

В генетическом алгоритме переменные, которые являются целыми числами, должны быть объявлены как таковые. Не объявленные переменные по умолчанию непрерывны.

Ознакомьтесь с руководством по Глобальной оптимизации Toolbox для получения информации о том, как он работает: http://it.mathworks.com/help/pdf_doc/gads/gads_tb.pdf.

0

Возможно, я правильно не понимаю ваш вопрос, но если у вас есть (дискретный и конечный) набор значений, почему бы вам не вычислить значение функции в этих точках и не вернуть minium?

0

Короче говоря, нет. Это не то, для чего предназначен patternsearch. Методы оптимизации для дискретных и непрерывных поисковых пространств вполне ожидаемы.

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

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

Смежные вопросы