- •Введение
- •Лабораторная работа I одномерная оптимизация
- •Постановка задачи
- •Краткие общие сведения Метод Пассивного поиска
- •Метод Фибоначчи
- •Метод золотого сечения
- •Порядок проведения лабораторной работы
- •Краткие общие сидения
- •Порядок проведения лабораторной работы
- •Порядок проведения лабораторной работы
- •Требования к отчету
- •Тексты исходных задач Вариант I
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Лабораторная работа 5 транспортная задача
- •Постановка задачи
- •Краткие общие сведения
- •Порядок проведения лабораторной работы
- •Краткие общие сведения
- •Порядок проведения лабораторной работы
- •Требования к отчету
- •Контрольные вопросы
- •Содержание
- •197376, Санкт-Петербург, ул. Проф. Попова, 5
Метод Фибоначчи
Этот метод применяется, если известно точное количество испытаний n, и при выборе значения xk к-го испытания можно использовать информацию о значениях ƒ(x1),..., ƒ(xk-1)(k>=2). После каждого испытания интервал неопределенности сокращается. При этом используется следующий факт: если α<B и ƒ(α)>=ƒ(c), ƒ(B)>=ƒ(c), то на интервале [α,B] находится точка локально- го минимума непрерывной функции ƒ.
- 5 -
Здесь потребуются числа Фибоначчи, удовлетворяющие равенствам:
F1=F2=1,
Fn+2=Fn+Fn+1.
Нетрудно
убедиться, что
.
Определим α1=0, B1=1, x1=Fn-1/Fn+1, x2=Fn/Fn+1.
Если ƒ(x1)≥ƒ(x2), то положим α2=x1, B2=B1;
Если ƒ(x1)<ƒ(x2), то положим α2=α1, B2=X2.
Для n ≥ k ≥ 2:
Yk+1 = αk + Fn-k / Fn+1,
Zk+1 = αk + Fn-k+1 / Fn+1.
В одной из этих точек значение ƒ на K-м шаге уже вычислено. Другую точку обозначим xk+1. Если ƒ(Yk+1)≤ƒ(Zk+1), то по- ложим αk+1=αk, Bk+1=Zk+1; если ƒ(Yk+1)>ƒ(Zk+1), то положим αk+1=Yk+1, Bk+1=Bk. Точка локального минимума лежит в интервале [αk, Bk] при всех k≥1, при этом Bk+1-αk+1=Fn-k+2/Fn+1. Последняя точка xn выбирается равной Yn+ε или Zn-ε, в за- висимости от того, в какой из этих точек вычислено значение ƒ. Здесь 0<ε<1/Fn+1. Тогда длина заключительного интервала неопределенности равна 1/Fn+1+ε. Можно доказать, что для лю- бого алгоритма за n испытаний получить заключительный интервал неопределенности для любой (наихудшей для этого алгоритма) функции ƒ, меньший, чем 1/Fn+1, невозможно.
Метод золотого сечения
Нетрудно заметить, что в методе Фибоначчи
Отметим, что
при n → ∞
- 6 -
Поэтому при больших n
|
(1.2) |
Выбирая значения xk так же, как и в методе Фибоначчи, за исключением замены формулы (1.1) на (1.2), получаем почти такую же последовательность точек {x1,...,xn} с той разницей, что в (1.2) правая часть не зависит от n. Полученный метод называется методом золотого сечения (эти сечения указаны в (1.2)) и применяется в том случае, если число n заранее неизвестно. Отметим, что
и
при больших заданных n
метод золотого
сечения хуже метода
Фибоначчи, в
= 1.1708...раз.
Порядок проведения лабораторной работы
Работа выполняется в диалоговом режиме.
Номер варианта, сообщаемый в ответ на запрос, задает некото-рую конкретную функцию, минимум которой необходимо найти, и количество допустимых испытаний.
Аналитическое представление этой функции студенту неизвестно. Задача студента заключается в том, чтобы для каждого из описанных выше методов:
а) последовательно указать точки вычисления функции (для метода пассивного поиска точки должны быть упорядочены в порядке возрастания);
б) указать длину , и границы заключительного интервала неопре-деленности.
В помощь студенту на экран выводится следующая информация:
- для метода пассивного поиска: при неверно введенном значе-нии xk выводится сообщение об этом, после чего ввод должен быть повторен;
- для методов Фибоначчи и золотого сечения выводится график со значениями функций в уже выбранных точках; ниже графика выво-дятся сами точки в порядке указания; при неверном выборе очеред-ной точки выводится соответствующее сообщение, после чего ввод должен быть повторен.
- 7 -
Требования к отчету
Отчет должен содержать:
а) постановку решаемой задачи;
б) последовательность выбранных для испытаний точек и обоснование такого выбора;
в) длину и границы заключительного интервала неопределеннос-ти;
г) ответы на контрольные вопросы.
Контрольные вопросы
1. В чем отличия в постановке задач, решаемых методами пассивного поиска, золотого сечения и методом Фибоначчи?
2. Как оценить скорость изменения интервала неопределенности в методах одномерной минимизации?
3. Чему равен выигрыш от использования метода золотого сечения по сравнению с методом пассивного поиска при n = 10?
Лабораторная работа 2
МНОГОМЕРНАЯ МИНИМИЗАЦИЯ
Цель работы. Исследование алгоритмов безусловной минимизации гладких функций нескольких переменных.
Постановка задачи
Для заданной функции ƒ(x1,...,xn) найти ее точку минимума x* с заданной точностью ε. Для поиска минимума воспользоваться различными методами минимизации, описываемыми ниже.
Краткие общие сведения. Градиентный метод с постоянным шагом
Общая схема метода следующая:
по заданному значению x0 - вектору начального приближения -вычисляются последовательно значения x1,x2,... по формуле:
- 8 -
где
- вектор частных произ-
водных функции
ƒ1 по координатам х1,
..., x2,
вычисленный в
точке
.
Метод наискорейшего спуска
Отличие этого метода от градиентного метода с постоянным ша-гом заключается в способе вычисления параметра αk на k -м шаге алгоритма:
xk+1 = xk – αk ∙ grad ƒ(xk),
αk = argmin { ƒ( xk – α ∙ grad ƒ(xk)) : α > 0 }
Т.е. на каждом шаге используется дополнительная процедура одномерной минимизации (поиска точки локального минимума функции одного аргумента).
Метод Ньютона-Рафсона
Этот метод используется для вычисления точки локального минимума функции и переменных, обладающей третьими производными по всем переменным. Последовательность { x1, x2, ...} приближений к стационарной точке строится по формуле:
где
-
n x n
- матрица Гессе
функции ƒ в точке xk.
Порядок проведения лабораторной работы
Работа осуществляется в диалоговом режиме с помощью программы. Описанные выше методы исследуются на примере задачи минимизации квадратичной функции двух переменных ƒ(x) = ƒ( x1, x2):
ƒ(x) = XTAX + BTX + C.
- 9 -
Параметры минимизируемой функции - 2х2 - матрица А, 2-вектор В и скаляр С - задаются студентом по указанию преподавателя.
В задачу студента входят:
а) определение начального вектора x0 и величины шага α, при котором значения ƒ(x1), ƒ(x2), ..., определенные градиентным методом с постоянным шагом, убывают;
б) проведение минимизации заданной функции методами наискорейшего спуска и Ньютона-Рафсона;
в) сравнение результатов, полученных различными методами. В помощь студенту по окончании работы программы в соответствии с одним из методов на экран выводится таблица точек хk и значений ƒ(xk).
Требования к отчету
Отчет должен содержать:
а) постановку решаемой задачи;
б) результаты проведенной минимизации;
в) выводы относительно факторов, влияющих на сходимость последовательностей приближений к минимуму скорость такой сходимости;
г) ответы на контрольные вопросы.
Контрольные вопросы
1. В каких случаях следует применять метод наискорейшего спуска, метод Ньютона, градиентный метод с постоянным шагом?
2. Какова скорость сходимости градиентных методов и метода Ньютона?
3. Для каких из рассматриваемых методов сходимость зависит от выбора начального приближения?
Лабораторная работа 3 СИМПЛЕКСНЫЙ МЕТОД
Цель работы. Изучение симплексного метода решения задач линейного программирования.
- 10 -
Постановка задачи
Рассматривается следующая задача, получившая название задачи линейного программирования.
Найти минимум линейной функции ƒ n аргументов:
ƒ = c1x1 + c2x2 + ... + cnxn,
где Сi - постоянные коэффициенты, на множестве, заданном набором линейных ограничений:
α11x1 + α12x2 + ... + α1nxn ≥ B1
...
αm1x1 + αm2x2 + ... + αmnxn ≥ Bm
x1 ≥ 0, ..., xn ≥ 0,
где αij, Bi - постоянные коэффициенты.
Пусть
А =
- m*n
- матрица, а
-
векторы,
тогда ограничения записываются следующим образом:
где неравенства понимаются покоординатно.
Целевая функция ƒ может быть представлена в виде скалярного
произведения ƒ = (C, X).
Множество
называется допустимым
Х-многогранником.
Оптимальной
точкой задачи линейного программирования
называется такая точка X*,
что
и (C, X*)
≤ (C, X)
для всех
.
Известно, что среди оптимальных точек
содержится хотя бы одна крайняя точка
X.
