6.6.7. Нелинейная регрессия
Наконец в Maple 9.5 появились средства для полноценной нелинейной регрессии (реализации метод наименьших квадратов для произвольных приближающих зависимостей). Для этого служит функция:
LSSolve(obj, constr, bd, opts)
LSSolve(opfobj, ineqcon, eqcon, opfbd, opts)
Большинство ее параметров уже описывалось. Исключением является параметр opfobj — список процедур для остатков (разностей) метода наименьших квадратов. Пример применения этой функции для приближения облака заданных точек data нелинейной зависимостью с именем р дан на рис. 6.6.
Рис. 6.6. Пример нелинейной регрессии с помощью функции LSSolve
6.6.8. Маплет-оптимизация с помощью функции Interactive
Функция Interactive служит для организации интерактивной оптимизации в Maplet-окне. Эта функция может задаваться в виде:
Interactive()
Interactive(obj, constr)
В первом случае открывается «пустое» Maplet-окно, а во втором окно с введенной целевой функцией obj и ограничивающими условиями constr. Вид окна с примером квадратичной оптимизации представлен на рис. 6.7.
Рис. 6.7. Пример квадратичной оптимизации в Maplet-окне
В левом верхнем углу окна имеется список классов задач оптимизации. Справа расположены панели для ввода оптимизируемого выражения и ограничивающих условий. Кнопки Edit позволяют вызывать простые окна для редактирования их, а кнопка Solve запускает вычисления, результат которых появляется в окошке Solution. Остальные элементы интерфейса Maplet-окна в особых пояснениях не нуждаются.
6.7. Новые средства Maple 10
6.7.1. Нелинейное программирование с ограничениями в Maple 10
Maple 10 позволяет решать задачи нелинейного программирования с ограничениями с помощью функции
Рис. 6.8. Пример нелинейного программирования с ограничениями
Целевая функция задана значением переменной
6.7.2. Нелинейный метод наименьших квадратов в Maple 10
Большим подспорьем в решении задач нелинейной регрессии стала реализация в Maple 9.5/10 нелинейного метода наименьших квадратов. Для Maple 9.5 эта реализация уже была описана. Рис. 6.9 иллюстрирует применение функции
Рис. 6.9 Пример нелинейной регрессии в Maple
Данные
6.7.3. Глобальная оптимизация и пакет Global Optimization Toolbox
Большинство методов оптимизации способно отыскивать локальные экстремумы. Например, это позволяет функция
Но в Maple 10 есть возможность поиска глобального экстремума с помощью новой функции
Рис. 6.10. Пример глобальной оптимизации многоэкстремальной функции двух переменных
Подлежащая глобальной оптимизации функция представлена значением переменной
6.7.4. Применение ассистента оптимизации Maple 10
Для наглядного решения задач оптимизации можно применить маплет-ассистент оптимизации системы Maple 10. Ограничимся примером оптимизации многоэкстремальной функции одной переменной без ограничений — рис. 6.11. Такой вид окно имеет после ввода оптимизируемой функции с помощью кнопки Edit в области Objective Function. Выбор метода и прочие установки осуществлены по умолчанию (за исключением задания поиска максимума опцией Maximize).
Рис. 6.11. Окно ассистента оптимизации с заданной функцией
Чтобы проверить, что же нашел ассистент оптимизации, желательно построить график функции.