
- •Курсовая работа
- •Введение
- •I. Задачи линейного программирования
- •1.1.Графическое решение задач линейного программирования
- •1.2. Решение задач линейного программирования симплекс-методом
- •1.3. Транспортная задача
- •Пример решения задачи по закреплению группы потребителей за несколькими поставщиками.
- •1.4. Задача о назначениях
- •Пример решения задачи о назначениях венгерским методом.
- •1.5. Задача о ранце
- •Пример решения задачи о ранце методом ветвей и границ.
- •II. Модели нелинейного программирования.
- •1 Подраздел метод «золотого сечения»
- •Пример решения задачи нелинейного программирования методом «золотого сечения».
- •2 Подраздел методы спуска
- •Метод покоординатного спуска
- •Градиентные методы
- •Пример решения задачи нелинейного программирования методами спуска: методом покоординатного спуска и градиентным методом.
- •Заключение.
2 Подраздел методы спуска
Сущность
методов спуска заключается в построении
последовательности точек
монотонно уменьшающих значение целевой
функции
Сущность
методов спуска заключается в следующем.
Известна точка x
,
тогда выбирается направление спуска
и длина шага вдоль этого направления
Cледующая
точка получается в результате вычислений
по формуле:
Различные
методы спуска различаются методом
выбора шага
и направления спуска
.
При этом существует следующая
классификация. Если для определения
параметров спуска требуется вычисление
только значений целевой функции, то
такие методы называют методами нулевого
порядка. Если кроме вычисления значений
целевой функции требуется вычисление
еще и ее первых производных, то такие
методы получили название методов первого
порядка. Если же необходимо вычислить
и вторые производные, то это методы
второго порядка.
Важнейшей
характеристикой любых методов, в том
числе и методов спуска, является
сходимость. Как правило, сходимость
понимается в том смысле, что метод дает
возможность получить последовательность
значений
,
которая должна сходиться к глобальному
минимуму. Однако точки экстремума могут
составлять целое множество. Например,
в том случае, если целевая функция имеет
график.
В
этом случае алгоритмы позволяют получить
последовательность, которая сама не
является сходящейся, но любая ее
сходящаяся последовательность имеет
в качестве предельной некоторую точку
минимума. В этом случае говорят, что
каждая предельная точка последовательности
является точкой минимума.
Возможен
случай, когда ничего определенного о
сходимости последовательности
сказать
нельзя, однако последовательность
значений целевой функции
cходится
к минимуму. Тогда говорят, что
сходится
по функции.
Есть еще более слабые темпы сходимости, когда последовательность имеет в качестве предела стационарную точку целевой функции.
Сходимость одного и того же метода может быть различной при решении различных задач, это зависит от свойств целевой функции.
Метод покоординатного спуска
Согласно
этому методу, направление спуска
выбирается параллельным координатным
осям. Сначала производится спуск вдоль
оси ОХ
,
затем - вдоль оси ОХ
и т.д.
Алгоритм
строится следующим образом: пусть
-
точка начального приближения, тогда
вычисляют следующее значение
х=
(3.1)
где
e
-
единичный орт, то есть вектор единичной
длины, у которого все координаты, кроме
1 равны 0. Вычисляется значение целевой
функции в этой точке и проверяется
неравенство
f(
.
Если
это неравенство выполняется, то вдоль
оси ОХ
значение функции уменьшилось и поэтому
полагают
,
.
Если неравенство не выполняется, то проверяют неравенство
f(
.
И если оно выполняется, то в качестве
следующего приближения принимают
.
Если
и в этом случае неравенство будет
невыполнимо, тогда считают
.
Второй шаг производят вдоль координатной
линии ОХ
и проверяют справедливость неравенства
f(x
Если
оно выполняется, то полагают
Если
неравенство не выполняется, то проверяют
выполнение неравенства f(x
.
В этом случае, если оно справедливо,
тогда принимают
.
Если несправедливо, то х
.
Таким образом, происходит перебор всех
n
координат. На этом 1-ая операция закончена.
Получена некоторая точка х
,если
,
то аналогично осуществляют вторую
операцию. Если же
,
то величину шага
следует уменьшить, взяв, например,
и в следующей итерации использовать
новое значение шага.
Вычисления
продолжают до тех пор, пока не будет
достигнута некоторая наперед заданная
точность счета, проверяемая с помощью
неравенств
.
Сходимость метода достигается для выпуклых и непрерывно дифференцируемых функций.
Остается
открытым вопрос о выборе начального
приближения х
для решения исходной задачи, так как
неудачный выбор может привести к
расходящемуся процессу.
Рассмотренный метод относится к методам нулевого порядка.
Данный
метод может быть использован и в задачах
с ограничениями на значение x
.
В этом случае не каждой итерации требуется
проверять не только условия допустимости
новой точки х
.
Если хотя бы одно из условий нарушается,
то значения координаты остается прежним.