|
Возможна ли разработка приложения на Octave с GUI? |
Решение оптимизационных задач
Изучение оптимизационных задач начнём с обычных задач поиска минимума (максимума) функции одной или нескольких переменных.
10.1 Поиск экстремума функции
Для решения классических оптимизационных задач с ограничениями в Octave можно воспользоваться следующей функцией
, которая предназначена для решения следующей оптимизационной задачи.
Найти минимум функции
при следующих ограничениях
. Функция
при решении задачи оптимизации использует метод квадратичного программирования.
Аргументами функции
являются:
-
— начальное приближение значения
, -
— оптимизируемая функция
, -
и
— функции ограничений
и
, -
и
— верхняя и нижняя границы ограничения
, -
— максимальное количество итераций, используемое при решении оптимизационной задачи, по умолчанию эта величина равна 100, -
— точность
, определяющая окончание вычислений, вычисления прекращаются при достижении точности
.
Функция
возвращает следующие значения:
-
— точка, в которой функция, достигает своего минимального значения, -
— минимальное значение функции, -
— параметр, характеризующий корректность решения оптимизационной задачи, (если функция sqp возвращает значение info = 101, то задача решена правильно), -
— реальное количество итераций при решении задачи.
Рассмотрим несколько примеров использования функции
при решении задач поиска экстремума функции одной переменной без ограничений.
Пример 10.1. Найти минимум функции 
При решении задачи оптимизации с помощью функции sqp необходимо иметь точку начального приближения. Построим график функции
(см. рис. 10.1). Из графика видно, что функция имеет минимум в окрестности точки
. В качестве точки начального приближения выберем
. Решение задачи представлено в листинге 10.1.
function obj = phi(x) obj = x^4+3*x^3-13*x^2-6*x+26; endfunction [x, obj, info, iter]= sqp(-3, @phi) % Результаты решения x =-3.8407 obj =-95.089 info = 101 iter = 5Листинг 10.1. Поиск минимума функции (пример 10.1)
Минимум функции
достигается в точке
, количество итераций равно 5, параметр
свидетельствует о корректном решении задачи поиска минимума 
Рассмотрим пример поиска минимума функции нескольких переменных.
