- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов
Шрифт:
Интервал:
Закладка:
> с := Vector([-1,4,-2], datatype=float):
bl := Vector([2,3,1], datatype=float):
bu := Vector([5,8,2.5], datatype=float):
LPSolve(с, [], [bl, bu]);
┌ ┌ ┐┐
│ │ 5. ││
│ │ ││
│2.,│ 3. ││
│ │ ││
│ │ ││
└ └2.50000000000000000┘┘
Ряд других подобных примеров применения функции LPSolve можно найти в справке по этой функции.
6.6.4. Квадратичное программирование — QPSolve
Для реализации квадратичного программирования служит функция
QPSolve(obj, constr, bd, opts)
С параметрами, описанными выше для функции LPSolve. Пример реализации квадратичного программирования представлен на рис. 6.5. Здесь оптимизируется выражение -3х²-2y², которое квадратично зависит от переменных x и у. Здесь также интересна техника визуализации квадратичного программирования.
Рис. 6.5. Пример квадратичного программирования
Эта функция также может быть записана в матричной форме:
QPSolve(obj, lc, bd, opts)
Пример применения этой функции дан ниже:
> с := Vector([2, 5.1 , datatype=float):
H := Matrix([[6, 3], [3, 4]], datatype=float):
A := Matrix([[-1,1]], datatype=float):
b := Vector([-2], datatype=float): QPSolve([с, H], [A, b]);
┌ ┌0.46666666666666564┐┐
│-3.5333333333333,│ ││
│ │-1.6000000000000030││
└ └ ┘┘
Ряд подобных примеров можно найти в справке по данной функции.
6.6.5. Нелинейное программирование — NLPSolve
Нелинейное программирование позволяет решать задачи оптимизации при нелинейных зависимостях целевой функции от ее аргументов. Для этого в пакете Optimization имеется функция:
NLPSolve(obj, constr, bd, opts)
NLPSolve(opfobj, ineqcon, eqcon, opfbd, opts)
Ее параметры те же, что и у ранее описанных функций. В связи с этим ограничимся парой примеров ее применения при целевых функциях одной и двух переменных:
> NLESolve(х*ехр(-х), х=0..6, maximize);
[0.367879441171442278, [х=0.99999998943752966]]> NLPSolve(х*y*ехр(-х)*ехр(-y), х=0..6, y=0..6,maximize);
[0.135335283236612674, [х=0.99999999994630706, y=1.00000000003513966]]В оптимизируемых функциях этих примеров присутствует экспоненциальная зависимость, что и указывает на решение задачи нелинейного программирования. Однако следует отметить, что ограничения должны быть линейными — в противном случае возвращается сообщение об ошибке с указанием на необходимость обеспечения линейности ограничивающих условий.
Возможна и матричная форма функции:
NLPSolve(n, р, nc, nlc, lc, bd, opts)
NLPSolve(n, р, lc, bd, opts)
Примеры на ее применение можно найти в справке по функции NLPSolve.
6.6.6. Работа с функцией импорта данных из файлов — ImportMPC
Для импорта данных из файлов служит функция:
ImportMPS(filename [, maxm, maxn, lowbnd, upbnd, opts])
В ней используются следующие параметры:
• filename — имя файла для MPS(X) в виде строки;
• maxm — максимальное число линейных ограничений;
• maxn — максимальное число переменных;
• lowbnd — значение нижней границы для переменных;
• upbnd — значение верхней границы для переменных;
• opts — выражения в виде опций, записываемых в форме option=value, где option один из объектов rhsname, rangename или boundsname, заданный для Import MPS команд.
С деталями применения этой функции можно ознакомиться по справке по ней.
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 позволяет решать задачи нелинейного программирования с ограничениями с помощью функции NPSolve из пакета оптимизации Optimization. Наглядный пример из самоучителя по Maple 10 представлен на рис. 6.8.
Рис. 6.8. Пример нелинейного программирования с ограничениями
Целевая функция задана значением переменной obj, а ограничивающие условия заданы переменной constraints. Решение очевидно и иллюстрируется контурным графиком функции и линиями ограничения.
6.7.2. Нелинейный метод наименьших квадратов в Maple 10
Большим подспорьем в решении задач нелинейной регрессии стала реализация в Maple 9.5/10 нелинейного метода наименьших квадратов. Для Maple 9.5 эта реализация уже была описана. Рис. 6.9 иллюстрирует применение функции LSSolve для выполнения нелинейной регрессии общего вида. Этот пример также взят из самоучителя по Maple 10.
Рис. 6.9 Пример нелинейной регрессии в Maple
Данные data представляют собой ординаты зависимости y(i), где i задается целыми числами, начиная от 1 и до значения, равного числу чисел в векторе данных. Исходная функция задана переменной model. Возвращается значение погрешности и вычисленные параметры регрессионной зависимости. Расчет хорошо иллюстрируется графиком этой зависимости и исходными точками.
6.7.3. Глобальная оптимизация и пакет Global Optimization Toolbox
Большинство методов оптимизации способно отыскивать локальные экстремумы. Например, это позволяет функция NLPSolve из встроенного пакета оптимизации. Меняя точку начального выбора (инициализации) можно найти и глобальный экстремум для простых функций.
Но в Maple 10 есть возможность поиска глобального экстремума с помощью новой функции Global Solve пакета глобальной оптимизации, который можно найти в Интернете на сайте разработчика Maple 10. Пример этого для многоэкстремальной функции двух переменных представлен на рис. 6.10.
Рис. 6.10. Пример глобальной оптимизации многоэкстремальной функции двух переменных
Подлежащая глобальной оптимизации функция представлена значением переменной obj. Ее многоэкстремальный характер обусловлен синусоидальными компонентами. Ограничения заданы переменной constraints.
6.7.4. Применение ассистента оптимизации Maple 10
Для наглядного решения задач оптимизации можно применить маплет-ассистент оптимизации системы Maple 10. Ограничимся примером оптимизации многоэкстремальной функции одной переменной без ограничений — рис. 6.11. Такой вид окно имеет после ввода оптимизируемой функции с помощью кнопки Edit в области Objective Function. Выбор метода и прочие установки осуществлены по умолчанию (за исключением задания поиска максимума опцией Maximize).
Рис. 6.11. Окно ассистента оптимизации с заданной функцией
Чтобы проверить, что же нашел ассистент оптимизации, желательно построить график функции. Для этого достаточно активизировать кнопку Plot в окне рис. 6.11. Будет построен график в области оптимизации. Расширив область графика до значений x от 0 до 6 получим график, представленный на рис. 6.12. Нетрудно заметить, что найден глобальный максимум в точке, отмеченной кружком.