- •Введение
- •Часть 1. Линейное программирование
- •1.1. Построение линейных экономико-математических моделей
- •Примеры задач
- •1.2. Формы записи задач линейного программирования
- •1.3. Свойства решений задач линейного программирования
- •1.4. Геометрический смысл и графический метод решения задач линейного программирования
- •1.5. Симплексный метод решения задач линейного программирования
- •1.6. Симплексный метод с искусственым базисом
- •1.7. Элементы теории двойственности
- •А. Симметричная двойственная пара
- •В. Несимметричная двойственная пара
- •1.8. Основные теоремы двойственности
- •1.9. Транспортная задача
- •Алгоритм метода потенциалов
- •1.10. Задача об оптимальных назначениях
- •Часть 2. Нелинейное программирование
- •2.1. Дробно-линейное программирование
- •2.1.1. Постановка задачи
- •Общую задачу дробно-линейного программирования (в дальнейшем длп) обычно записывают в виде:
- •2.1.2. Графическое решение задач длп
- •2.1.3. Симплекс-метод в длп
- •2.2. Общая задача нелинейного программирования. Классификация вычислительных методов
- •Условия (1) и (2), а также
- •По постановке задачи.
- •2. По характерным чертам алгоритмов.
- •2.3. Эффективные методы одномерной минимизации
- •2.4. Графический метод решения задач нелинейного программирования
- •2.5. Методы минимизации для задач без ограничений, использующие производные
- •2.6. Методы минимизации, не использующие производные
- •2.7. Методы решения задач нелинейного программирования с ограничениями
- •2.7.1. Методы линейной аппроксимации
- •2.7.2. Понятие о методах штрафных функций
- •Список использованной литературы:
- •Содержание
- •Часть 1. Линейное программирование 3
- •Часть 2. Нелинейное программирование 47
Часть 2. Нелинейное программирование
Прежде чем рассмотреть вопросы, связанные с общей постановкой задачи нелинейного программирования, остановимся на одном классе задач, методы решения которых очень близки к методам линейного программирования.
2.1. Дробно-линейное программирование
2.1.1. Постановка задачи
Достаточно часто в оптимизационных задачах приходится находить экстремум дробно-линейной целевой функции вида:
(2.1.1)
Примеры
1. Обозначим через хj время работы по j-ой технологии, а через cj и dj – соответственно производственные затраты и выход продукции в единицу времени. Тогда целевая функция Z будет представлять собой себестоимость продукции и, очевидно, уместно поставить задачу ее минимизации.
2. С другой стороны, определим хj аналогично, а cj и dj – соответственно как чистый доход и затраты в единицу времени. Тогда Z будет представлять собой рентабельность производства и ее надо максимизировать.
Общую задачу дробно-линейного программирования (в дальнейшем длп) обычно записывают в виде:
при ограничениях:
(2.1.2)
Очевидно, что, как и в линейном программировании, ограничения любого другого вида могут быть приведены к форме (2.1.2), возможно с применением дополнительных переменных. Достаточно часто рассматривается и так называемая неоднородная дробно-линейная целевая функция:
(2.1.3)
Окончательно, можно сказать, что задача ДЛП – это задача нахождения экстремума дробно-линейной целевой функции на множестве неотрицательных значений независимых переменных при линейных ограничениях. Исходя из этого, можно утверждать, что, как и в задачах линейного программирования (в дальнейшем – ЛП), область допустимых решений L является выпуклым множеством и содержит конечное число крайних точек. Также сохраняются все основные определения теории ЛП: допустимое решение, базисное решение, оптимальное решение.
Для обоснования методов решения задач ДЛП важную роль играют следующие теоремы:
Теорема 1. Дробно-линейная функция Z является монотонной на любом прямолинейном отрезке, принадлежащем области L.
Теорема 2. Дробно-линейная функция Z достигает своего экстремума в крайней точке области L.
Теорема 3. Если функция Z достигает экстремума одновременно в нескольких крайних точках области L, то это же значение она принимает в любой точке, представимой в виде выпуклой линейной комбинации этих крайних точек.
Доказательство этих теорем приведено в книге [1].
2.1.2. Графическое решение задач длп
Так же как и в ЛП, данный метод применим лишь при небольшой размерности задачи и особенно хорошо он иллюстрируется для n = 2.
Сначала рассмотрим однородную задачу ДЛП:
(2.1.4)
Для применения данного метода существенным является предположение о том, что знаменатель (2.1.4) нигде в области L не обращается в нуль. Рассмотрим какую-нибудь линию уровня функции Z = Z0:
(2.1.5)
Выразим отсюда х2 через х1:
Теперь мы видим, что линии уровня Z представляют собой прямые, проходящие через начало координат и имеющие угловой коэффициент:
.
( см. рис. 2.1.1):
Очевидно, k зависит от Z0. Выясним характер этой зависимости при помощи исследования производной:
(2.1.6)
Мы видим, что знаменатель дроби положителен, а числитель не зависит от Z0, следовательно, производная сохраняет постоянный знак в области L, причем этот знак зависит от знака выражения Δ = d1c2 – d2c1. Именно:
– если Δ > 0, то с ростом Z растет и k, или, что аналогично, с ростом k растет и Z;
– с другой стороны, если Δ < 0, то с ростом k Z уменьшается.
На этих соображениях основан графический метод решения задач ДЛП. Предлагается следующий алгоритм:
-
Вычисляем величину Δ и определяем ее знак.
-
Строим область допустимых решений L и произвольную прямую вида х2 = kx1, проходящую через начало координат (линию уровня Z).
-
Если Δ > 0, вращаем построенную прямую вокруг начала координат против часовой стрелки (это соответствует возрастанию k) до соприкосновения с последней крайней точкой области L, в этой точке и будет находиться максимум функции Z.
-
Наоборот, если Δ < 0, вращаем линию уровня вокруг начала координат по часовой стрелке и в последней крайней точке найдем максимум Z.
5. Для нахождения минимума Z действия, описанные в п.п. 3 и 4 производятся «с точностью до наоборот»: при Δ > 0 вращаем линию уровня по часовой стрелке, при Δ < 0 – против.
При этот могут встретиться различные случаи:
Z = Zmin Z = Zmax
Рис. 2.1.3. Область не ограничена, но
оба экстремума существуют (∆ < 0)
Рис. 2.1.4. Область не ограничена, мах
достигается, min асимптотический
(∆ > 0)
Рис. 2.1.5. Область не ограничена,
оба экстремума асимптотические
(∆ < 0)
Рассмотрим теперь неоднородную задачу ДЛП:
(2.1.7)
Посредством линейной замены переменных преобразуем целевую функцию в однородную. Именно, перенесем начало координат в точку (ξ1, ξ2), введя новые переменные y1 и y2 по формулам: х1 = у1 + ξ1, х2 = у2 + ξ2. Тогда
Подберем ξ1 и ξ2 так, чтобы данная функция стала однородной. Для этого решаем систему уравнений:
Из системы находим координаты нового начала координат М = (ξ1, ξ2). Дальнейшие действия аналогичны описанным выше:
-
Вычисляем величину Δ и определяем ее знак.
-
Строим область допустимых решений L и произвольную прямую, проходящую через точку М (линию уровня Z).
-
В зависимости от знака Δ и от необходимого экстремума вращаем эту линию уровня вокруг точки М по тем же правилам, как и в однородном случае.
Замечание: Как и в случае однородной целевой функции проверяем, чтобы ни в одной точке области L знаменатель дроби (2.1.7) не обращался в нуль.
Пример 2.1.1. Рассмотрим следующую задачу ДЛП:
Так как целевая функция неоднородна, находим точку М = (ξ1, ξ2), вокруг которой будем вращать линию уровня. Решаем систему уравнений:
Получаем:
Вычисляем Δ = d1c2 – d2c1 = 1*3 + 1*1 = 4 > 0, значит для нахождения минимума будем вращать разрешающую прямую по часовой стрелке. Строим область L:
Рис. 2.1.6.
Очевидно, вращая линию уровня Z = Z0 вокруг точки М, мы получим решение задачи на минимум в крайней точке области L – точке A = (27/4; 3/4). Эти координаты мы находим, решив систему из уравнений прямых, пересекающихся в этой точке:
х1 – х2 = 6;
х1 + 3х2 = 9. Zmin = .