
- •Курсовая работа
- •Введение
- •I. Задачи линейного программирования
- •1.1.Графическое решение задач линейного программирования
- •1.2. Решение задач линейного программирования симплекс-методом
- •1.3. Транспортная задача
- •Пример решения задачи по закреплению группы потребителей за несколькими поставщиками.
- •1.4. Задача о назначениях
- •Пример решения задачи о назначениях венгерским методом.
- •1.5. Задача о ранце
- •Пример решения задачи о ранце методом ветвей и границ.
- •II. Модели нелинейного программирования.
- •1 Подраздел метод «золотого сечения»
- •Пример решения задачи нелинейного программирования методом «золотого сечения».
- •2 Подраздел методы спуска
- •Метод покоординатного спуска
- •Градиентные методы
- •Пример решения задачи нелинейного программирования методами спуска: методом покоординатного спуска и градиентным методом.
- •Заключение.
II. Модели нелинейного программирования.
1. Экономическая и геометрическая интерпретация задачи нелинейного программирования.
Если целевая функция или ограничения содержат хотя бы одну нелинейную функцию, то такая задача называется задачей нелинейного программирования.
В общем виде задача НЛП состоит в определении максимума (минимума) функции
F(x1, x2, …,xn)
при условии, что её переменные удовлетворяют следующим ограничениям
g i(x1, x2, …, xn) ≤ bi (i = 1, …, k);
gi(x1, x2, …, xn) = bi (i = k+1, …, m);
где F и gi – некоторые известные функции n переменных; bi – заданные числа.
Рассмотрим численные методы решений задач нелинейного программирования. Следует отметить, что не существует универсального метода, способного решать любые задачи НП, каждую задачу НП приходится решать конкретно. Поэтому рассмотрим наиболее распространенные. Но вначале введем понятие унимодальной функции.
Унимодальной функцией на [a;b] называется функция, имеющая на этом отрезке единственную точку глобального минимума. При этом слева от этой точки функция является строго убывающей, а справа - строго возрастающей.
Унимодальная
функция имеет важное свойство. Если
,
то
<
,
если
,
то x
1 Подраздел метод «золотого сечения»
Рассмотрим
задачу оптимизации для унимодальной
функции на отрезке [a;b].
В принципе простейшим методом решения
является методика перебора всех значений
целевой функции на заданном интервале.
В условиях применения средств
вычислительной техники такая идея
представляется не очень-то и абсурдной,
но все-таки достаточно трудоемкой.
Поэтому, если идею перебора значений
целевой функции в целом оставить, но
уточнить алгоритм выбора точек, в которых
необходимо осуществить вычисление
целевой функции. Одним из таких алгоритмов
и является метод «золотого сечения».
Для этого значение целевой функции
вычисляется в произвольных точках x
.
Возможно
Так как функция унимодальна, то согласно
ее свойству экстремум ее будет находиться
на отрезке [a;x
,
а во втором случае
.
Таким образом, произошло сужение
интервала поиска экстремума и следующую
точку необходимо брать внутри укороченного
интервала.
Выбор
точек
должен осуществляться по определенному
алгоритму, то есть они должны делить
рассматриваемый интервал в пропорции,
называемой золотым сечением отрезка.
Золотым
сечением отрезка называется точка,
отстоящая на расстоянии
длины от одного из ее концов. Опишем
алгоритм.
ШАГ 0. Вычисляются координаты точек, осуществляющих золотое сечение исходного отрезка:
(2.1)
Вычисляются
значения целевой функции в этих точках,
то есть
ШАГ
k
(
Cравниваем
значения
(2.2)
и, используя эти числа , вычисляем
координату симметричной точки (слева
от имеющейся)
(2.3)
Если
же
то следует принять a
(2.4) и вычисляем координату симметричной
точки (справа от имеющейся)
(2.5) и значение
.
Итерация
продолжается до тех пор, пока длина
k=1-го
отрезка
(2.6) не достигнет заранее заданной
точности вычислений. Затем выбирают
наименьшее из чисел
Это и будет приближенный минимум.
На 0-ом шаге значение целевой функции вычисляется дважды, а на каждом последующем только по одному разу.