Transcript презентацию
Математическое
программирование
{
Подготовили студенты 3го курса:
Антонова А.А
Кухарский А.С
Макарова А.А
Введение
Математическое программирование – это раздел
математики, занимающийся разработкой методов
отыскания экстремальных значений функции, на аргументы
которой наложены ограничения.
Математического программирование делится:
Линейное программирование,
Нелинейное программирование (выпуклое, квадратичное),
Динамическое программирование,
Дискретное и целочисленное программирование,
Стохастическое программирование и др.
Линейное программирование
Типичным представителем задач линейного
программирование является следующая: найти максимум
линейной функции
(1)при условиях
i = 1, 2, ..., m, (2)
j = 1, 2, n, (3)
где cj, aij и bi — заданные величины.
Задачи линейного программирования можно решить при
помощи MatLab.
Linprog решает задачу линейного программирования
Нелинейное программирование
Нелинейное программирование – случай математического
программирования, в котором целевой функцией или
ограничением является нелинейная функция.
Нелинейное программирование включает в себя:
Выпуклое программирование;
Квадратичное программирование.
Выпуклое программирование
Выпуклое программирование – это задача нелинейного
программирования, у которой все функции являются
выпуклыми .
Квадратичное программирование
Квадратичное программирование - особый тип
оптимизационной задачи. Это задача оптимизации
(сведение к минимуму или максимуму ) квадратичной
функции нескольких переменных при линейных
ограничениях на эти переменные.
Целочисленное программирование
Целочисленное программирование – один из наиболее
молодых, перспективных и быстро развивающихся разделов
математического программирования. Можно перечислить
большое количество разнообразных задач планирования
экономики, организации производства, исследования
конфликтных ситуаций, синтеза схем автоматического
регулирования
Целочисленное программирование
Целочисленное программирование – один из наиболее
молодых, перспективных и быстро развивающихся разделов
математического программирования. Можно перечислить
большое количество разнообразных задач планирования
экономики, организации производства, исследования
конфликтных ситуаций, синтеза схем автоматического
регулирования
Включает в себя:
Условную оптимизацию;
Безусловную оптимизацию.
Условная оптимизация
Здесь мы используем функции MatLab fminbnd и fmincon
(Поиск минимума функции одной переменной для
фиксированного интервала когда x, x1 и x2 есть скаляры, а
f(x) - функция, которая возвращает скаляр.
fmincon находит минимум для скалярной функции нескольких
переменных с ограничениями начиная с начального
приближения. В общем случае, эта задача относится к
нелинейной оптимизации с ограничениями или к
нелинейному программированию.
Безусловная оптимизация
Для решения задач в среде MatLab используются функции
fminsearch и fminunc.
Fminunc находит минимум скалярной функции нескольких
переменных, стартуя с некоторой начальной точки. В общем,
задача относится к нелинейной оптимизации без ограничений
Fminsearch находит минимум скалярной функции нескольких
переменных, стартуя с некоторой начальной точки. В общем,
задача относится к нелинейной оптимизации без ограничений
Динамическое программирование
Динамическое программирование — способ решения сложных
задач путём разбиения их на более простые подзадачи.
Методы динамическое программирования являются составной
частью методов, используемых в исследовании операций, и
применяются как в задачах оптимального планирования, так и
при решении различных технических проблем
Динамическое программирование
Динамическое программирование — способ решения сложных
задач путём разбиения их на более простые подзадачи.
Методы динамическое программирования являются составной
частью методов, используемых в исследовании операций, и
применяются как в задачах оптимального планирования, так и
при решении различных технических проблем
Динамическое программирование имеет два приема:
Нисходящее;
Восходящее;
Дискретное программирование
Дискретное программирование— раздел оптимального
программирования, изучающий экстремальные задачи, в
которых на искомые переменные накладывается условие
целочисленности, а область допустимых решений конечна
Способы решения:
Для линейных дискретных задач;
Булевые задачи линейного программирования.
Стохастическое программирование
Стохастическое программирование — раздел
математического программирования, совокупность методов
решения оптимизационных задач вероятностного характера.
Представляется 2-мя элементами:
Последовательный;
Расчетный.
выполняется 2-мя способами:
Обычная задача Л.П;
Закон распределения С.В.
Спасибо за внимание!