2. Задачи безусловной и условной оптимизации
Если множество Хd совпадает с Rn, то имеет место задача безусловной оптимизации. В задачах условной оптимизации множество Хd определяется, как правило, системой линейных и нелинейных ограничений (равенств и неравенств). В этом случае имеет место наиболее общий случай конечномерной оптимизационной задачи, называемой общей задачей математического программирования:
f0(X) →min (2.2)
при условиях
fi(X)≥0, i=1, …, p,
fi(X)=0, i=p+1, …, m.
В частных случаях задача (2.2) может не содержать ограничений-равенств или ограничений-неравенств.
Геометрическую интерпретацию задач оптимизации и методов нахождения их решений удобно проводить на примере двумерных задач с отображением целевой функции в виде линий равного уровня (равных значений), а множества Хd - в виде соответствующей области на координатной плоскости (рис.2.1). Пересечение частей плоскости, определяемых неравенствами fi(X)≥0 (заштрихованные части) определяет допустимое множество Хd. Векторы f0(Х) и -f0(Х) - соответственно градиент и антиградиент функции f0(X) в некоторой точке X, показывающие направления наискорейшего возрастания и убывания функции в этой точке.
В зависимости от вида функций f0(Х) и fi(X) выделяют частные случаи задачи (2.2). Если f0(X) и fi(X) - линейные функции, то имеет место задача линейного программирования. Если хотя бы одна из функций f0(X) или fi(X) нелинейна, то задача (2.2) есть задача нелинейного программирования. В том случае, если допустимое множество Хd конечно или счетно и не имеет предельных точек, то имеет место задача дискретного программирования. Частным случаем последней является задача целочисленного программирования, когда все допустимые точки имеют целочисленные координаты.
Приведенная классификация конечномерных задач оптимизации является наиболее общей. Более подробную информацию по этому вопросу можно получить, например, из [13].
Для каждого типа конечномерных оптимизационных задач существуют свои численные методы их решения. Разработанный комплекс лабораторных работ в рамках учебной дисциплины "Оптимизация" предназначен для практического изучения наиболее распространенных методов решения одномерных и многомерных задач безусловной и условной оптимизации.
РЕШЕНИЕ ЗАДАЧИ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ
МЕТОДАМИ ПОКООРДИНАТНОГО СПУСКА И СИМПЛЕКСНЫМ
Методика решения
Методами нулевого порядка называют методы поиска экстремума использующие только значения целевой функции и не требующие вычисления производных. К числу наиболее эффективных методов этой группы относятся модифицированный метод покоординатного спуска Пауэлла и симплексный метод Нелдера-Мида.
Метод покоординатного спуска
Рассмотрим вначале метод покоординатного спуска Гаусса-Зейделя на примере функции двух переменных, линии равного уровня которой изображены на рис.2.6. Из некоторой начальной точки x0=(x10, x20) производится поиск минимума вдоль направления оси х1 с получением точки X0. В этой точке касательная к линии равного уровня параллельна оси х1. Затем из точки X0 производится поиск минимума вдоль направления оси х2 с получением точки x1. Следующие итерации выполняются аналогично. Для минимизации функции f0(x) вдоль осевых направлений может быть использован любой из методов одномерной минимизации. Для локализации отрезка, содержащего точку минимума в осевом направлении, может быть использована, например, следующая процедура. Обозначим через у1 значение х10, а через y2 - значение x10+, где>0. Вычислим значения f0(у1,х20), f0(у2,х20).
Пусть, например, f0(y1, x20) >f0(y2, x20). Тогда следует вычислять значения f0(yi,х20), yi=yi-1 + , i= 3, 4,… до тех пор, пока не будет найдена такая точка уi, что f0(yi,x20) f0(yi-1,x20). В этом случае отрезком локализации минимума функции f0 вдоль направления оси х1, проходящего через точку Х0, будет являться отрезок [yi-2,yi]. При этом можно выбирать =const или ,i>0. В том случае, если f0(y1, x02) f0(y2,x02), то y1=y2, и процедура локализации отрезка выполняется подобно описанной выше. В этом случае отрезком локализации будет являться отрезок [yi , yi-2].
Аналогичным образом определяется отрезок локализации функции f0 вдоль направления оси х2.
Критерием окончания поиска является выполнение условия:
Для минимизации функций многих переменных М.Пауэлл предложил использовать следующую модификацию метода Гаусса-Зейделя. После получения точки локальным поиском вдоль координатных осей выполняется поиск вдоль направления, соединяющего точки Х0 и (рис. 2.7) с получением точкиX1, т.е. Х1=X0+h0(), где h0 вычисляется из условия того, что точка Х1 является точкой минимума функции f0 вдоль направления
S0=,т.е. h0 =argmin(f0(X°+hS°)
Значение h0 отыскивается любым из методов одномерной минимизации. Для локализации отрезка [h’ ,h” ], содержащего минимум по h, необходимо использование процедуры локализации, описанной выше. При этом очевидно, что в точке Х0 h0=0, в точке h0=1.
Следующие итерации выполняются аналогично.
Симплексный метод
Множество (n+1)-й равноудаленной точки в n-мерном пространстве называется правильным симплексом. В случае n=2 правильным симплексом является равносторонний треугольник. Идея симплексного метода состоит в сравнении значений функции в (n+1) вершинах симплекса и перемещении его в направлении наилучшей точки. Симплексный метод, допускающий как правильные, так и неправильные симплексы, является одним из самых эффективных методов нулевого порядка при n 6.
Алгоритм решения задачи симплексным методом может быть представлен в виде следующей последовательности шагов.
1. Задаются n+1 точка Х1, Х2 ,...,Xn+1, являющиеся вершинами начального симплекса.
2. Вычисляются величины f1 =f0(X1), …, fn+1 =f0(Xn+1).
3. Определяются вершины h, g, l, для которых fh - наибольшее значение среди всех fi, i=l,… , n+l; fg - следующее за наибольшим; fl - наименьшее значение.
4. Определяется центр тяжести ХC всех точек, кроме Хh
и вычисляется значение целевой функции f0 в точке ХC – fC.
5. Выполняется операция отражения точки Хh относительно точки XC с коэффициентом отражения и получением точкиX0 (рис. 2.8). При этом X0-XC=(XC-Xh), откуда X0=(1+)XC-Xh. Вычисляется значение целевой функции f0, в точке Х0 – f0.
6. Значение f0 сравнивается со значениями f1 и fg. Возможны три случая:
6.1. Если f0 < f1, то направление из точки XC в точку Х0 является наиболее предпочтительным для перемещения. В этом случае выполняется операция растяжения симплекса с коэффициентом растяжения и получением точки Xr. При этом Xr-XC=(X0-XC),
откуда Xr=(1-)XC-X0.
Далее вычисляется значение целевой функции f0 в точке Хr-fr и осуществляется его сравнение со значением f1. Возможны два случая:
6.1.1. Если fr < f1, то точка Хh перемещается в точку Хr, образуя новый симплекс, текущая итерация заканчивается и выполняется переход к шагу 10 для проверки критерия останова.
6.1.2. Если fr f1, то точка Xr отбрасывается, т.к. перемещение было выполнено слишком далеко. В этом случае точка Хh перемещается в точку Х0, образуя новый симплекс, текущая итерация заканчивается и выполняется переход к шагу 10 для проверки критерия останова.
Рис.2.8. Операция отражения и растяжения симплекса
6.2. Если f1< f0 fg_, то Х0 является не самой плохой точкой. В этом случае точка Хh перемещается в точку Х0 и выполняется переход к шагу 10.
6.3. Если f0 > fg, то выполняется переход к шагу 7.
7. Выполнение операции сжатия симплекса. Возможны два варианта сжатия в зависимости от значений f0 и fh.
7.1. Если f0 < fh, то результатом операции сжатия является точка XS, определяемая из условия
XS-XC=(X0-XC) или XS=X0+(1-)XC
В этом случае точка ХS будет лежать между XC и Х0 (рис.2.9а).
7.2. Если f0 fh, то результатом операции сжатия является точка ХS , определяемая из условия
XS –XC = (Xh-XC) или XS = Xh + ( 1-)XC.
В этом случае точка XS будет лежать между Xh и XC (рис.2.9б). Далее вычисляется значение целевой функции в точке XS – fS.
8. Сравниваются значения fh и fS.
8.1. Если fS< fh, то точка Хh перемещается в точку XS, образуя новый симплекс, текущая итерация заканчивается и выполняется переход к шагу 10.
8.2. Если fS fh, то точки со значением функции, меньшим, чем fh, найти не удалось. В этом случае выполняется переход к шагу 9.
9. Выполнение операции уменьшения размеров симплекса. Размерность симплекса уменьшается относительно точки Xl путем уменьшения в 2 раза расстояний от точки Xl до всех остальных вершин симплекса (рис.2.10). При этом
Xi=Xi + (Xi-X1),
i ≠ 1.
Затем вычисляются значения fi=f0(Хi), i=l,..., n+l, и выполняется переход к шагу 10.
Проверка критерия останова. Процесс поиска прекращается, если по завершении очередной k-й итерации выполняется условие
, где/(n+1) и
Если условие не выполняется, то осуществляется переход к шагу 3.
В качестве значений коэффициентов отражения, растяжения и сжатия рекомендуется использовать: Для формирования начального симплекса задается точка Х1 , остальные точки вычисляются по формулам:
X2= X1+kE1, X3= X2+kE2,..., Xn+1 =Xn+ kEn, где
Ej=(e1,e2, …, ej, …, en) – вектор, у которого ej=1, а остальные элементы равны 0, j=1,…, n, k - произвольная длина шага.
РЕШЕНИЕ ЗАДАЧИ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ МЕТОДАМИ
НАИСКОРЕЙШЕГО СПУСКА И СОПРЯЖЕННЫХ ГРАДИЕНТОВ
Методика решения
Методы наискорейшего, спуска и сопряженных градиентов относятся к методам первого порядка. Методами первого порядка называют методы поиска экстремума, использующие для нахождения решения информацию как о значениях целевой функции, так и о значениях ее первых производных.
Метод наискорейшего спуска
В методе наискорейшего спуска используется свойство градиента функции в точке указывать направление наибыстрейшего возрастания (в направлении антиградиента - убывания) функции вточке.
Рассмотрим использование метода наискорейшего спуска для минимизации функции двух переменных f0(х1, x2). Пусть в качестве начального приближения выбрана некоторая точка Х0= (). Каждая итерация при поиске минимума методом наискорейшего спуска состоит из двух этапов. На первом этапе в точке Х0 вычисляются значения частных производных по переменным х1, x2, которые определяют направление градиента функции f0(X) в этой точке. На втором этапе определяется следующая точка Х1 как X1=X0+h0S0, где S0 = - антиградиент функции f0 в точке X0, h0 - неизвестное значение коэффициента h.
Значение h0 вычисляется из условия того, что точка Х1 является точкой минимума функции f0(X) вдоль направления антиградиента, т.е.
h0 =argmin f0(X0 +hS0).
Для поиска значения h0 допускается использовать любой из методов одномерной минимизации. Для локализации отрезка, содержащего значение h0, следует использовать процедуру, рассмотренную в лабораторной работе 2.2.
Для произвольных k-й итерации и функции n переменных следующее приближение Хk+1 к точке минимума Х вычисляется как
.
Поиск заканчивается при выполнении следующего условия:
(2.3)
где - заранее заданное положительное число.
Для приближенного вычисления частных производных целевой функции f0(Х) по переменным хi , i=l, ..., n, в точке Хk используется разностная схема:
где - малое приращение по переменным хi, i=1,..., n.
Геометрическая иллюстрация работы метода наискорейшего спуска приведена на рис.2.11.
Метод сопряженных градиентов
Функция n переменных, приводимая к виду
, (2.4)
называется квадратичной функцией. В векторной форме записи функцию f0( X) можно представить в виде
f0 (X)=
где Х=(х1, x2 , . . . , хn ) - вектор-строка; - вектор-столбец; T- символ транспонирования; A=(aij ), i, j=l,..., n – симметричная матрица размера nn ; B=(bi), i=1,…, n - постоянный вектор размера n, с - константа.
Для квадратичных функций
Идея метода сопряженных градиентов основана на стремлении минимизировать квадратичную функцию за конечное число шагов. Для этого требуется найти направления S0, S1, . . . , Sn-1 такие, что последовательность n одномерных минимизаций вдоль этих направлений приводит к отысканию минимума функции (2.5) при любом начальном приближении X0.
Указанным свойством обладает система взаимно сопряженных относительно матрицы вторых производных А векторов. Два вектора Sk и Sk+1 называются сопряженными (относительно матрицы A), eсли они отличны от нуля и для них выполняется условие
(Sk)A(Sk+1)T=0.
Векторы S0,S1,…, Sk называются взаимно сопряженными, если все они отличны от нуля и для любых i, j=0,. . . , k и i≠j выполняется условие
(Si)A(Sj)T=0 .
Частным случаем сопряженности векторов Sk и Sk+1 является случай их ортогональности (перпендикулярности), когда матрица А представляет собой единичную матрицу.
В методе сопряженных градиентов система взаимно сопряженных направлений строится по правилу
где коэффициент определяется из условия сопряженности векторовSk и Sk-1, т.е.
(Sk-1)A(Sk)T=0
(Sk-1)A(.
Проведя несложные преобразования, получим выражение для вычисления при минимизации квадратичных функций:
(2.6)
Для произвольной k-й итерации следующее приближение Хk+1 к точке минимума Х* определяется из условия того, что точка Хk+1 является точкой минимума функции f0(X) вдоль направления, определяемого вектором Sk, т.е.
Xk+1=Xk +hkSk, .
Локализация отрезка (h’, h”) содержащего значение hk, и поиск значения hk выполняются с использованием тех же процедур, что и в методе наискорейшего спуска.
Для вычисления удобнее пользоваться другим выражением, в котором отсутствует матрица вторых производных А:
(2.7)
В таком виде оно может быть использовано как для минимизации квадратичных, так и неквадратичных функций, у которых значения вторых производных в точках Хk, k=0,1,…, не являются неизменными.
Таким образом, для минимизации квадратичных функций метод сопряженных градиентов является конечно-шаговым и позволяет найти решение не более, чем за n итераций. Для минимизации неквадратичных функций метод перестает быть конечно-шаговым, получаемые им направления S0, S1, ..., не являются, вообще говоря, взаимно сопряженными относительно какой-либо матрицы. В этом случае в качестве критерия окончания поиска используется условие (2.3). Геометрическая иллюстрация метода сопряженных градиентов приведена на рис.2.12.
- Билет 1
- 2.Геометрические преобразования в трехмерной графике. Матрицы преобразования.
- Трехмерные аффинные преобразования
- 3. Составить электрическую схему автоматизированного рабочего места инженера на базе пэвм
- Билет 2
- Билет 3
- 2. Понятие телеобработки. Терминальная и системная телеобработка
- 1. 1 Основные положения телеобработки данных
- 1. 2 Системная телеобработка данных
- 1. 3 Сетевая телеобработка данных
- Билет 4
- 2.2. Структура и состав экспертной системы
- Структура базы знаний
- Механизм логического вывода.
- Модуль извлечения знаний.
- Система объяснения
- Билет 5
- 1. Целочисленные задачи и методы их решения.
- 2. Открытые вычислительные сетевые структуры. Эталонная модель
- 3. Записать алгоритм решения системы линейных уравнений методом итераций
- 2. Открытые вычислительные сетевые структуры. Эталонная модель
- Эталонная модель osi
- Уровень 1, физический
- Уровень 2, канальный
- Уровень 3, сетевой
- Протоколы ieee 802
- 3. Записать алгоритм решения системы линейных уравнений методом итераций
- Билет 6
- 2. Окна в компьютерной графике. Алгоритмы преобразования координат при выделении, отсечении элементов изображения.
- 3. Как определить информацию о памяти (размер озу ...)
- Билет 7
- 1. Понятие структурной организации эвм
- 2. Проекции в трехмерной графике. Их математическое описание. Камера наблюдения.
- Билет 8
- Основные подходы к разработке по. Методы программирования и структура по.
- Билет 9
- 2. Принципы построения и функционирования эвм. Принцип программного управления.
- 3. Алгоритм определения скорости передачи с нгмд на нжмд
- Билет 10
- 1. Организация диалога в сапр
- 2. Видеоконтроллеры, их стандарты для пэвм типа ibm pc.
- 3. Текстуры в машинной графике.
- 3. Текстуры в машинной графике.
- 2. Афинное
- Билет 11
- 3. Реалистичная графика. Обратная трассировка луча.
- Билет 12
- 2. Цвет в машинной графике. Аппроксимация полутонами.
- Алгоритм упорядоченного возбуждения
- 3. Представить алгоритм определения тактовой частоты цп
- Билет 13
- 1. Структурное программирование при разработке программы.
- 2. Понятие критерия оптимального проектирования и его связь с варьируемыми переменными через уравнения математической модели. Постановка задачи оптимального проектирования.
- 3. Представить алгоритм определения быстродействия нгмд в режиме записи данных.
- 2. Понятие критерия оптимального проектирования и его связь с варьируемыми переменными через уравнения математической модели. Постановка задачи оптимального проектирования.
- 3. Представить алгоритм определения быстродействия нгмд в режиме записи данных.
- Билет 14
- 3. Таблицы истинности, совершенные нормальные формы представления булевых функций
- Бинарные функции
- 2. Задачи безусловной и условной оптимизации
- 2. Классификация центральных процессоров Intel и соответствующих локальных и системных шин пэвм типа ibm pc
- 3. Реалистичная графика. Обратная трассировка луча.
- Билет 16
- Построение с использованием отношений
- Построение с использованием преобразований
- 3.Составить алгоритм поиска экстремума функции двух переменных
- Билет 17
- 1.Методы представления знаний в экспертных системах
- 2.4.2 Искусственный нейрон
- 2.Устройства автоматизированного считывания графической информации (сканеры). Конструкция и основные характеристики.
- 3. Составьте программу для определения скорости передачи информации по сети одной эвм к другой.
- Билет 18
- 1. Системно-сетевая телеобработка
- 2. Тестирование программ.
- Билет 19
- 3. Графические форматы. Bmp, gif и jpeg.
- 1. Понятие алгоритма. Свойства. Способы записи.
- 2. Построение реалистичных изображений. Алгоритм построения теней в машинной графике.
- 3. Представить алгоритм определения быстродействия нгмд в режиме чтения данных.
- Билет №21
- 3. Приоритетные методы удаления скрытых поверхностей. Bsp – деревья.
- Билет 22
- 2.Методы проверки работоспособности объектов на этапе проектирования: "наихудшего случая" и имитационного моделирования
- 1. Метод наихудшего случая
- 2. Метод имитационного моделирования
- Билет 23
- 1. Функциональные узлы последовательностного типа: регистры, триггеры, счетчики.
- 2. Назначение, классификация математических моделей и методы их построения. Проверка адекватности математических моделей
- 3. Алгоритмы сжатия графических данных.
- Асинхронный rs – триггер.
- Синхронный rs–триггер.
- Синхронный д-триггер
- Счетный т-триггер.
- Двухступенчатые триггеры.
- Счетчики.
- Классификация счетчиков.
- Регистры
- 2. Назначение, классификация математических моделей и методы их построения. Проверка адекватности математических моделей.
- Билет 24
- 1. Математические модели процессов теплопереноса.
- 1 Вариант
- 2 Вариант-
- 2.Интерполяционные кривые в машинной графике.
- Билет 25
- 1. Трансляторы. Виды. Состав.
- 2. Технические средства диалога машинной графики (световое перо, мышь, шар, джойстик). Конструкция основные характеристики
- 3. Записать алгоритм решения нелинейного уравнения методом Ньютона.
- Билет 26
- 1. Автоматизация методов управления, вариантного, адаптивного и нового планирования в астпп.
- 2. Модели гидродинамики
- 3. Записать алгоритм поиска экстремума функции Розенброка овражным методом.
- Автоматизация метода вариантного планирования
- Автоматизация метода адаптивного планирования тпп
- Автоматизация метода нового планирования тпп
- Оптимизация проектирования сборочных процессов
- 1.Модель гидродинамики идеальной смешение:
- 3. Гидродинамические диффузионные модели.
- 4.Гидродинамическая модель ячеечного типа.
- 3. Записать алгоритм поиска экстремума функции Розенброка овражным методом.
- Билет 27
- Общая интерпретация реляционных операций
- Билет 28
- 1.Понятие языков программирования и их классификация. Жизненный цикл программы.
- 2.Реляционная модель данных. Сравнение с иерархической и сетевой моделями.
- 3.Написать алгоритм вычисления определенного интеграла методом трапеций.
- 2. Реляционная модель данных. Сравнение с иерархической и сетевой моделями.
- 3.Написать алгоритм вычисления определенного интеграла методом трапеций.
- Билет 29
- 2. Декомпозиция отношений. Первая, вторая и третья нормальные формы.
- 3. Записать алгоритм поиска экстремума функции
- Билет 30
- 2. Декомпозиция отношений. Первая, вторая и третья нормальные формы.
- 3. Написать алгоритм вычисления определенного интеграла методом трапеций.
- Билет 31
- Выбор компонентов