Метод штрафных функций.
Рассмотрим задачу определения максимального значения вогнутой функции f(x1, x2, ..., xn) при условиях gi(x1, x2, ..., xn)bi (i=1, ..., m), xj0 (j=1, ..., n), где gi(x1, x2, ..., xn) — выпуклые функции.
Вместо того, чтобы непосредственно решать эту задачу, находят максимальное значение функции F(x1, x2, ..., xn)=fi(x1, x2, ..., xn)+H(x1, x2, ..., xn), являющейся суммой целевой функции задачи, и некоторой функции H(x1, x2, ..., xn),определяемой системой ограничений и называемой штрафной функцией.
Штрафную функцию можно построить различными способами. Наиболее часто она имеет вид
где
а i>0 — некоторые постоянные числа, представляющие собой весовые коэффициенты.
Используя штрафную функцию, последовательно переходят от одной точки к другой до тех пор, пока не получат приемлемое решение. При этом координаты последующей точки находят по формуле
(3.21)
Из последнего соотношения следует, что если предыдущая точка находится в ОДР исходной задачи, то второе слагаемое в квадратных скобках равно нулю и переход к последующей точке определяется только градиентом целевой функции. Если же указанная точка не принадлежит ОДР, то за счет данного слагаемого на последующих итерациях достигается возвращение в ОДР. При этом чем меньше i, тем быстрее находится приемлемое решение, однако точность определения его снижается. Поэтому итерационный процесс обычно начинают при сравнительно малых значениях i и, продолжая его, эти значения постепенно увеличивают.
Итак, процесс нахождения решения задачи выпуклого программирования методом штрафных функций включает следующие этапы:
1. Определяют исходное допустимое решение.
2. Выбирают шаг вычислений.
3. Находят по всем переменным частные производные от целевой функции и функций, определяющих ОДР задачи.
4. По формуле (3.21) находят координаты точки, определяющей возможное новое решение задачи.
5. Проверяют, удовлетворяют ли координаты найденной точки системе ограничений задачи. Если нет, то переходят к следующему этапу. Если координаты найденной точки определяют допустимое решение задачи, то исследуют необходимость перехода к последующему допустимому решению. В случае такой необходимости переходят к этапу 2, в противном случае найдено приемлемое решение исходной задачи.
6. Устанавливают значения весовых коэффициентов и переходят к этапу 4.
П р и м е р 2. Найти максимальное значение функции
(3.22)
при условиях
(3.23)
(3.24)
Р е ш е н и е. Целевая функция данной задачи представляет собой отрицательно-определенную квадратичную форму и, значит, вогнута. В то же время ОДР задачи, определяемая ограничениями (3.23) — (3.24), — выпуклая. Следовательно, задача (3.22) — (3.24) является задачей выпуклого программирования. Для нахождения ее решения применим метод штрафных функций. Прежде чем это сделать, построим ОДР задачи и линии уровня, определяемые целевой функцией (3.22). Этими линиями служат окружности с центром в точке (0; 0). Точка касания одной из этих окружностей ОДР и является искомой точкой максимального значения целевой функции.
Положим X0 =(6, 7). Возьмем =0, 1, обозначим через
g (x1, x2)=18–(x1–7)2–(x2–7)2
и определим частные производные от функций f (x1, x2) и g (x1, x2) по переменным x1 и x2:
Теперь, используя формулу (3.21), приступаем к построению последовательности точек, одна из которых определит приемлемое решение.
1 итерация. Так как точка X0 =(6, 7) принадлежит ОДР задачи, то второе слагаемое в квадратных скобках формулы (3.21) равно нулю. Значит, координаты следующей точки X1 вычисляем по формулам
Проверим теперь, принадлежит ли эта точка ОДР задачи. Для этого найдем g (X1)=18–4,84–1,96=11,2. Так как g (X1)>0, то X1 принадлежит ОДР. В этой точке f (X1)=–54,4.
2 итерация. Находим
f (X2)=–34,816.
Проверяя таким образом остальные точки, на 12 итерации имеем:
Сравнивая значения целевой функции, найденные в точках, полученных после 10 и 12 итераций, видно, что они с точностью до 10-1 совпадают. Это говорит о близости точки, найденной на последней итерации, к точке максимального значения целевой функции. Такой же вывод можно сделать, если исследовать векторы-градиенты функций f (X) и g (X) в точке X(12). В этой точке
Вычислим отношения одноименных координат векторов:
–8,01/5,99–1,337;
–8,016/5,984 –1,339.
Как видно, они почти равны между собой. Это означает, что векторы и практически коллинеарные. Так как к тому же точка X(12) находится вблизи границы ОДР (поскольку , то и можно считать приемлемым решением задачи. Это решение при необходимости можно уточнить дальнейшими шагами до полной коллинеарности градиентов целевой и ограничительной функций. Последовательность точек, получаемых во время нахождения решения задачи, наглядно иллюстрируется рис. (3.2).
- Математические методы системного анализа и теория принятия решений Методическое пособие
- 1. Теория принятия решений 4
- 2. Линейное программирование 9
- 3. Нелинейное программирование 42
- 4. Игровые методы обоснования решений 51
- 5. Задачи распознавания образов 62
- Предисловие
- 1. Теория принятия решений
- 1.1. Задачи, связанные с принятием решений Проблема оптимальности.
- Основные понятия и принципы исследования операций.
- Примеры задач исследования операций.
- 1.2. Математические модели операций Искусство моделирования.
- 1.3. Разновидности задач исследования операций и подходов к их решению Прямые и обратные задачи исследования операций.
- Пример выбора решения при определенности: линейное программирование.
- Проблема выбора решений в условиях неопределенности.
- Выбор решения по многим критериям.
- «Системный подход».
- 2. Линейное программирование
- 2.1. Краткое представление о математическом программировании Предмет математического программирования.
- Краткая классификация методов математического программирования.
- 2.2. Примеры экономических задач линейного программирования Понятие линейного программирования.
- Задача о наилучшем использовании ресурсов.
- Задача о выборе оптимальных технологий.
- Задача о смесях.
- Задача о раскрое материалов.
- Транспортная задача.
- 2.3. Линейные векторные пространства Основные понятия линейного векторного пространства.
- Решение систем линейных уравнений методом Гаусса.
- Реализация метода исключения неизвестных в среде Excel.
- Различные схемы реализации метода Гаусса.
- Опорные решения системы линейных уравнений.
- 2.4. Формы записи задачи линейного программирования Основные виды записи злп.
- Каноническая форма представления задачи линейного программирования.
- Переход к канонической форме.
- 2.5. Геометрическая интерпретация задачи линейного программирования Определение выпуклой области.
- Геометрическая интерпретация.
- 2.6. Свойства решений задачи линейного программирования Свойства основной задачи линейного программирования.
- Графический метод решения задачи линейного программирования.
- 2.7. Симплексный метод Идея симплекс-метода.
- Теоретические обоснования симплекс-метода.
- Переход к нехудшему опорному плану.
- Зацикливание.
- Алгоритм симплекс-метода.
- 2.8. Двойственность в линейном программировании Прямая и двойственная задача.
- Связь между решениями прямой и двойственной задач.
- Геометрическая интерпретация двойственных задач.
- 2.9. Метод искусственного базиса Идея и реализация метода искусственного базиса.
- 3. Нелинейное программирование
- 3.1. Общая задача нелинейного программирования Постановка задачи.
- Примеры задач нелинейного программирования (экономические).
- Геометрическая интерпретация задачи нелинейного программирования.
- 3.2. Выпуклое программирование Постановка задачи выпуклого программирования.
- 3.3. Классические методы оптимизации Метод прямого перебора.
- Классический метод дифференциальных исчислений.
- 3.4. Метод множителей лагранжа
- 3.5. Градиентные методы решения задач нелинейного программирования Общая идея методов.
- Метод Франка-Вулфа.
- Метод штрафных функций.
- 4. Игровые методы обоснования решений
- 4.1. Предмет и задачи теории игр Основные понятия.
- Классификация выборов решений.
- Антагонистические матричные игры.
- Чистые и смешанные стратегии и их свойства.
- 4.2. Методы решения конечных игр Упрощение матричной игры.
- Решение матричной игры размерностью 22.
- Графическое решение матричной игры.
- Сведение задач теории игр к задачам линейного программирования.
- 4.3. Задачи теории статистических решений Игры с природой.
- Критерии принятия решений.
- 5. Задачи распознавания образов
- 5.1. Общая постановка задачи распознавания образов и их классификация Проблема распознавания.
- Обсуждение задачи опознавания.
- Язык распознавания образов.
- Априорные предположения — это записанные специальным образом, накопленные знания специалистов.
- Общая постановка задачи.
- Геометрическая интерпретация задачи распознавания.
- Классификация задач распознавания.
- 5.2. Подготовка и анализ исходных данных Общая схема решения задачи.
- Общая схема постановки и решения задачи Анализ данных с целью выбора постановки и метода решения
- 5.3. Методы опознавания образов Основные этапы процесса опознавания образов.
- Методы создания системы признаков.
- Признаковое пространство.
- Сокращение размерности исходного описания.
- Методы построения решающего правила.
- 5.4. Меры и метрики Понятие о сходстве.
- Меры сходства и метрики.
- Примеры функций мер сходства.
- 5.5. Детерминированно-статистический подход к познаванию образов Основные этапы детерминированно-статистического подхода.
- Получение исходного описания.
- Создание системы признаков.
- Сокращение размерности исходного описания.
- Нахождение решающего правила (метод эталонов).
- Коррекция решающего правила.
- 5.6. Детерминированный метод построения решающего правила (метод эталонов) Идея метода эталонов.
- Минимизация числа эталонов.
- Габаритные эталоны.
- Применение метода эталонов к частично пересекающимся образам.
- Дополнительная минимизация числа признаков.
- Квадратичный дискриминантный анализ.
- Распознавание с отказами.
- 5.8. Алгоритм голотип-1 Назначение
- Постановка задачи
- Метод решения задачи.
- Условия применимости.
- Условия применимости.
- 5.10. Алгоритм направление опробования Назначение
- Постановка задачи.
- Метод решения задачи.
- Условия применимости.
- Транспортная задача Математическая постановка.
- Постановка задачи.
- Теоретическое введение.
- Методы нахождения опорного плана транспортной задачи.
- Определение оптимального плана транспортной задачи.
- Заключение.
- Целочисленное программирование Постановки задач, приводящие к требованию целочисленности.
- Постановка задачи.
- Методы отсечения.
- Алгоритм Гомори.
- Первый алгоритм р. Гомори решения полностью целочисленных задач.
- Приближенные методы.
- Заключение.
- Параметрическое программирование Введение.
- Формулировка задачи.
- Теоретическая часть.
- Общая постановка задачи.
- Решение задачи.
- Геометрическая интерпретация задачи.
- Общая постановка задачи.
- Решение задачи.
- Геометрическая интерпретация задачи
- Постановка задачи.
- Решение.
- Геометрическое решение.
- Решение задачи симплекс-методом.
- Результат.
- Некооперативные игры n лиц с ненулевой суммой Введение.
- Теоретическая часть.
- Постановка и решение задачи.
- Заключение.
- Cписок литературы