
- •I. Задачи линейного программирования
- •1.1. Алгоритм
- •1.2. Обобщение
- •2. Графический метод
- •2.1. Теоретическое введение
- •2.2. Методика решения задач лп графическим методом
- •II. Нелинейное программирование
- •1. Метод Фибоначчи
- •1.1. Постановка задачи
- •1.2. Стратегия поиска.
- •1.3. Алгоритм
- •2. Метод золотого сечения
- •2.1. Описание метода
- •2.2. Алгоритм
- •2.3. Формализация
II. Нелинейное программирование
Нелинейное программирование— случай математического программирования, в котором целевой функцией или ограничением является нелинейная функция
Задача нелинейного программирования ставится как задача нахождения оптимума определенной целевой функции F(x1,… xn) при выполнении условий
gi(x1,…xn) ≥ 0
где xi, i=1, . . . , n — параметры, gi, j=1, . . . ,s — ограничения,n — количество параметров, s — количество ограничений.
В отличие от задачи линейного программирования, в задаче программирования нелинейного оптимум не обязательно лежит на границе области, определенной ограничениями.
1. Метод Фибоначчи
1.1. Постановка задачи
Требуется
найти безусловный минимум функции f(x)
одной переменной, т.е. такую точку
,
что
.
В методе Фибоначчи реализована стратегия, обеспечивающая максимальное гарантированное сокращение интервала неопределенности при заданном количестве вычислений функции. Эта стратегия опирается на числа Фибоначчи.
Определение.
Числа Фибоначчи
определяются следующим образом:
.
Последовательность чисел Фибоначчи
имеет вид 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,…
.
1.2. Стратегия поиска.
Метод относится к последовательным стратегиям. Задается начальный интервал неопределенности и количество N вычислений функции. Алгоритм основан на анализе величин функции в двух точках. Точки вычисления функции находятся с использованием последовательности из N+1 чисел Фибоначчи. Как и в методе золотого сечения, на первой итерации требуется два вычисления функции, а на каждой последующей итерации, требуется только одно новое вычисление функции. Поиск заканчивается, когда длина текущего интервала неопределенности оказывается меньше установленной величины.
1.3. Алгоритм
Шаг
1. Задать
начальный интервал
неопределенности
,
], допустимую длину конечного интервала
l > 0 и константу различимости
.
Шаг
2. Найти
количество N вычислений функции как
наименьшее целое число, при котором
удовлетворяется условие
,
и числа
Фибоначчи
.
Шаг
3. Положить
k=0.
Шаг
4. Вычислить
значения :
.
Шаг
5. Вычислить
,
.
Шаг
6. Сравнить
с
а)
если
,
положить
Перейти
к шагу 7;
б)
если
>
,
положить
.
Шаг
7. Проверить
условие окончания и в случае необходимости
сделать заключительное N-е вычисление
функции для получения решения:
а)
если
,
положить k=k+1 и перейти к шагу 5;
б)
если
k=N-3, то всегда
,
т.е. отсутствует точка нового вычисления
функции. В этом случае полагают:
.
В точках
вычисляют
значения функции и находят границы
конечного интервала
неопределенности:
Если
,
положить
Если
,
положить
Поиск
завершен и
.
В качестве приближения можно взять
середину этого интервала
.
Сходимость.
Для
метода Фибоначчи характеристика
относительного уменьшения начального
интервала
неопределенности
находится по формуле
,
где N - количество вычислений функции.
2. Метод золотого сечения
Метод золотого сечения — метод поиска значений действительно- значной функции на заданном отрезке. В основе метода лежит принцип деления в пропорциях золотого сечения. Наиболее широко известен как метод поиска экстремума в решении задач оптимизации