Автор: Пользователь скрыл имя, 20 Января 2011 в 15:51, курсовая работа
Вибір оптимального рішення або порівняння двох альтернативних розв’язків проводиться за допомогою деякої залежної величини (функції),обумовленої проектними параметрами.Ця велечина називається цвілевою функцією (або критерієм якості).В процесі розв’язку задачі оптимізації повинні бути знайдені такі значення проектних параметрів, при яких цілева функція має мінімум (або максимум).
Введение 3
1. Основные понятия 4
1.1 Определения. 4
1.2 Задачи оптимизации. 5
2. Одномерная оптимизация 6
2.1 Задачи па экстремум. 6
2.2 Методы поиска. 7
2.3 Метод золотого сечения. 8
2.4 Метод Ньютона. 11
3. Многомерные задачи оптимизации 13
3.1 Минимум функции нескольких переменных. 13
3.2 Метод покоординатного спуска. 14
3.3 Метод градиентного спуска. 14
4. Задачи с ограничениями 16
4.1 Линейное Программирование. 16
4.2 Геометрический метод. 17
4.3 Задача о ресурсах. 19
Список Литературы
В результате приходим в точку , значение функции в которой обычно меньше первоначального . Если это условие не выполнено, т. е.значение функции не изменилось либо даже возросло, то нужно уменьшить шаг . В новой точке процедуру повторяем: вычисляем градиент и снова делаем шаг в обратном к нему направлении:
Процесс продолжается до получения наименьшего значения целевой функции. Строго говоря, момент окончания поиска наступит тогда, когда движение из полученной точки с любым шагом приводит к возрастанию значения целевой функции. Если минимум функции достигается внутри рассматриваемой области, то в этой точке градиент равен нулю, что также может служить сигналом об окончании процесса оптимизации. Приближенно момент окончания поиска можно определить аналогично тому, как это делается в других итерационных методах.
Формулы для частных производных можно получить в явном виде лишь в том случае, когда целевая функция задана аналитически. В противном случае эти производные вычисляются с помощью численного дифференцирования:
При использовании градиентного спуска в задачах оптимизации основной объем вычислений приходится обычно па вычисление градиента целевой функций в каждой точке траектории спуска. Поэтому целесообразно уменьшить количество таких точек без ущерба для самого решения. Это достигается в некоторых методах, являющихся модификациями градиентного спуска. Одним из них является метод наискорейшего спуска. Согласно этому методу, после определения в начальной точке направления, противоположного градиенту целевой функция, решают одномерную задачу оптимизации, минимизируя функцию вдоль этого направления. А именно, минимизируется функция
Для минимизации можно использовать один из методов одномерной оптимизации. Можно и просто двигаться в направлении, противоположном градиенту, делая при этом не один шаг, а несколько шагов до тех пор, пока целевая функция не перестанет убывать. В найденной новой точке снова определяют направление спуска (с помощью градиента) и ищут новую точку минимума целевой функции и т. д. В этом методе спуск происходит гораздо более крупными шагами, и градиент функции вычисляется в меньшем числе точек.
Заметим, что сведение многомерной задачи оптимизации к последовательности одномерных задач на каждом шаге оптимизации рассмотрено в п.3.2 для метода покоординатного спуска. Разница состоит в том, что здесь направление одномерной оптимизации определяется градиентом целевой функции, тогда как покоординатный спуск проводится на каждом шаге вдоль одного из координатных направлений.
До сих
пор при рассмотрении задач оптимизации
мы не делали никаких предположений
о характере целевой функции
и виде ограничений. Важным разделом
математического
Стандартная (каноническая) постановка задачи линейного программирования формулируется следующим образом: найти значения переменных, которые
2) являются неотрицательными, т. е.
3) обеспечивают наименьшее
Всякое решение системы уравнений (4.1), удовлетворяющее системе неравенств (4.2), называется допустимым решением. Допустимое решение, которое минимизирует целевую функцию (4.3), называется оптимальным решением.
Областью решения линейного неравенства с двумя переменными
является полуплоскость. Для того чтобы определить, какая из двух полуплоскостей соответствует этому неравенству, нужно привести его к виду или . Тогда искомая полуплоскость в первом случае расположена выше прямой , во втором - ниже нее. Если , то неравенство (4.4) имеет вид ; в этом случае получим либо - правую полуплоскость, либо - левую полуплоскость.
Областью решений системы является пересечение конечного числа полуплоскостей, описываемых каждым отдельным неравенством вида (4.4). Это пересечение представляет собой многоугольную область . Она может быть как ограниченной, так и неограниченной и даже пустой.
Область решений обладает важным свойством выпуклости. Область называется выпуклой, если произвольные две ее точки можно соединить отрезком, целиком принадлежащим данной области.
Опорной прямой называется прямая, которая имеет с областью по крайней мере одну общую точку, при этом вся область расположена но одну сторону от этой прямой.
Аналогично можно дать геометрическую интерпретацию системы неравенств с тремя переменными. В этом случае каждое неравенство описывает полупространство, а вся система — пересечение полупространств, т. е. многогранник, который также обладает свойством выпуклости. Здесь опорная плоскость проходит через вершину, ребро или грань многогранной области.
Основываясь на введенных понятиях, рассмотрим геометрический метод решения задачи линейного программирования. Пусть заданы линейная целевая функция двух независимых переменных, а также некоторая совместная система линейных неравенств, описывающих область решений . Требуется среди допустимых решений найти такое, при котором линейная целевая функция принимает наименьшее значение.
Положим функцию равной некоторому постоянному значению . Это значение достигается в точках прямой, удовлетворяющих уравнению
При параллельном переносе этой прямой в положительном направлении вектора нормали линейная функция будет возрастать, а при переносе прямой в противоположном направлении — убывать.
Действительно, пусть при параллельном переносе точка , принадлежащая прямой (4.5), переходит в точку , принадлежащую новой прямой, т. е. параллельный перенос производится в направлении вектора . Тогда уравнение новой прямой будет иметь вид
Поскольку
Если вектор сонаправлен с вектором , то и , а если направлен противоположно, то .
Предположим, что прямая, записанная в виде (4.5), при параллельном переносе в положительном направлении вектора первый раз встретится с областью допустимых решений в некоторой ее вершине, при этом значение целевой функции равно , и прямая становится опорной. Тогда значение будет минимальным, поскольку дальнейшее движение прямой в том же направлении приведет к увеличению значения .
Если в задаче оптимизации нас интересует максимальное значение целевой функции, то параллельный перенос прямой (4.5) осуществляется в направлении, противоположном , пока она не станет опорной. Тогда вершина многоугольника, через которую проходит опорная прямая, соответствовать максимуму функции . При дальнейшем переносе прямой целевая функция будет убывать.
Таким образом, оптимизация линейной целевой функции на многоугольнике допустимых решений происходит в точках пересечения этого многоугольника с опорными прямыми, соответствующими данной целевой функции. При этом пересечение может быть в одной точке (в вершине многоугольника) либо в бесконечном множестве точек (на ребре многоугольника). В последнем случае имеется бесконечное множество оптимальных решений.
В распоряжении бригады имеются следующие ресурсы: 300 кг металла, 100 м2 стекла, 160 чел.-ч. (человеко-часов) рабочего времени. Бригаде поручено изготовить два наименования изделий: А и Б. Цена одного изделия А -1 тыс. р., для его изготовления необходимо 4 кг металла, 2 м2 стекла и 2 чел.-ч. рабочего времени. Цена одного изделия Б 1,2 тыс. для его изготовления необходимо 5 кг металла, 1 м2 стекла и 3 чел.-ч. рабочего времени. Требуется так спланировать объем выпуска продукции, чтобы ее стоимость была максимальной.
Сначала сформулируем задачу математически. Обозначим через и количество изделий А и Б, которое необходимо запланировать (т.е. это искомые величины). Имеющиеся ресурсы сырья и рабочего времени зададим в виде ограничений-неравенств:
Полная стоимость запланированной к производству продукции выражается формулой
Таким образом, мы имеем задачу линейного программирования, которая состоит в определении оптимальных значений проектных параметров являющихся целыми неотрицательными числами, удовлетворяющих линейным неравенствам (4.6) и дающих максимальное значение линейной целевой функции (4.7).
Вид сформулированной задачи не является каноническим, поскольку условия (4.6) имеют вид неравенств, а не уравнений. Как уже отмечалось выше, такая задача может быть сведена к канонической путем введения дополнительных переменных по количеству ограничений- неравенств (4.6). При этом выбирают эти переменные такими, чтобы при их прибавлении к левым частям соотношений (4.6) неравенства превращались в равенства. Тогда ограничения примут вид
При этом очевидно, что . Заметим, что введение дополнительных неизвестных не повлияло на вид целевой функции (4.7), которая зависит только от параметров . Фактически будут указывать остатки ресурсов, не использованные в производстве. Здесь мы имеем задачу максимизации, т. е. нахождения максимума целевой функции. Если функцию (4.7) взять со знаком минус и принять целевую функцию в виде
то получим задачу минимизации для этой целевой функции.
Примем переменные в качестве базисных и выразим их через свободные переменные из уравнений (4.8). Получим
В качестве опорного решения возьмем такое, которое соответствует пулевым значениям свободных параметров:
Этому решению соответствует нулевое значение целевой функции (4.9):
Исследуя полученное решение, отмечаем, что оно не является оптимальным, поскольку значение целевой функции (4.9) может быть уменьшено по сравнению с (4.11) путем увеличения свободных параметров.
Положим и будем увеличивать переменную до тех пор, пока базисные переменные остаются положительными. Из (4.10) следует, что можно увеличить до значения , поскольку при большем его значении переменная станет отрицательной (отношение 100/(-2) является наименьшим по модулю среди отношений 300/(-4),100/(-2),160/(-2)).
Таким образом, полагая , , получаем новое опорное решение (значения переменных найдем по формулам (4.10)):