Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лекция 14. Нелинейное программирование.




13.1. Нелинейное программирование - раздел теории оптимизации (теории экстремальных задач), посвященный исследованию и решению задач минимизации (максимизации), в которых целевая функция и ограничения не являются линейными. К нелинейному программированию относят квадратичное, дробное, выпуклое, дискретное, целочисленное и геометрическое программирование.

В общем виде задачу нелинейного программирования можно сформулировать так:

F (х) min (max) (1)

при условии

g(x) ≤ 0, (2)

где х - вектор искомых переменных; F (х) - целевая числовая функция; g(x) - вектор-функция системы ограничений.

При этом могут быть разные случаи: целевая функция - нелинейная, а ограничения - линейны; целевая функция - линейная, а ограничения (хотя бы одно из них) - нелинейные; целевая функция и ограничения нелинейные. Задачи условной оптимизации нелинейного программирования бывают двух типов: когда в ограничениях (2) имеют место а) знаки равенства б) знаки неравенства.

Решение задачи нелинейного программирования (поиск глобального минимума или максимума) состоит в отыскании таких значений переменных, подчиненных системе ограничений, при которых достигает минимума или максимума данная целевая функция.

При решении некоторых нелинейных задач иногда удается использовать линейную теорию. Для этого вводят допущение, что на том или ином участке целевая функция возрастает или убывает пропорционально изменению переменных. Такой подход называется методом кусочно-линейных приближений.

Нелинейные задачи с ограничениями в форме равенств нередко решаются с помощью введения функции Лагранжа.

Функция Лагранжа для функции имеет вид:

,

где - вектор множителей Лагранжа.

Среди большого числа вычислительных алгоритмов нелинейного программирования значительное место занимают различные варианты градиентных методов (метод проекции градиента, метод условного градиента и т. п.), методы штрафных функций, методы барьерных функций, метод модифицированных функций Лагранжа и др.

Универсального метода, позволяющего находить наиболее эффективным способом решение любой нелинейной задачи, не существует. Поэтому для каждой конкретной задачи, учитывая ее специфику, подбирают тот или иной наиболее подходящий метод (и алгоритм) решения.

Постановки задач нелинейного программирования. Задачи нелинейного программирования на практике возникают довольно часто, например, когда затраты растут непропорционально количеству закупленных или произведенных товаров. Хорошо известно, что чем больше партия закупаемого товара, тем меньше стоимость единицы продукта. Любому покупателю знакомо понятие розничных и оптовых цен. Рассмотрим конкретный пример, иллюстрирующий данную ситуацию.

Планирование производства продукции. На действующем предприятии планируется организовать выпуск новых видов продукции. Для организации производства необходимо приобретать сырье, стоимость которого колеблется в зависимости от спроса. Цены на готовую продукцию предприятия предполагаются стабильными.

Итак, необходимо провести исследования о производстве двух видов изделий, для которых планируется приобретение сырья, цена которого зависит от объема закупаемой партии и спроса на рынке на сырье данного типа. Цены же на продукцию предприятия утверждены с учетом реальной обстановки и должны сохраняться неизменными. Объемы производства предстоит определить исходя из анализа сырьевой проблемы и ограниченности производственных ресурсов.

Пусть х 1, х 2 - объемы производимой продукции 1-го и 2-го видов, с 1, с2 - цена единицы продукции 1-го и 2-го видов соответственно. Затраты на приобретение и доставку сырья представляют собой нелинейную функцию, зависящую от объема закупаемого товара, f 1(x 1), f 2(x 2). Таким образом, экономическая рентабельность планируемых мероприятий оценивается формулой

(3)

Предприятие для производства новых видов продукции может выделить лишь часть своих мощностей, что накладывает дополнительные ограничения на максимальный объем выпуска новых видов изделий. Устанавливаются также лимиты на стоимость основных фондов (эксплуатация зданий, снабжение электроэнергией, амортизационные отчисления) в объеме b 1, и стоимость производственных процессов (вспомогательные материалы, заработная плата, накладные расходы и др.) в объеме b 2 Известно, что изготовление единицы продукции первого вида требует а 11 затрат из основных фондов и а 12трудовых затрат, а единицы продукции второго вида затрат в размере а 21 и а 22 соответственно. Учет этих факторов приводит к условиям

(4)

Теперь можно сформулировать задачу: определить такие х1, х2, которые бы обеспечивали максимум функционала

(5)

при ограничениях

(6)

x1 ,x2≤0.

Таким образом сформулирована задача, в которой целевая функция является нелинейной.

Квадратичное программирование - раздел нелинейного программирования, включающий совокупность методов решения экстремальных задач, в которых целевая функция представляет собой многочлен второй степени, а ограничения - линейные функции.

Задача квадратичного программирования может быть записана в матричной форме следующим образом:

(7)

где х - n -мерный вектор-столбец; х ' - n -мерная вектор-строка; с' - n -мерная вектор-строка; b - m -мерный вектор-столбец; А - матрица размера т × п; D - симметрическая квадратная матрица порядка n;

(8)

Решить задачу квадратичного программирования это значит найти точку , для которой достигается максимум функции

, (9)

где Ώ - множество допустимых планов задачи, определяемое системой ограничений

Ах = b, х > 0. (10)

Если D = 0, то задача сводится к задаче линейного программирования. Если целевая функция задачи квадратичного программирования ограничена сверху, то задача обязательно имеет оптимальное решение, т.е. точку глобального максимума.

Для нахождения глобального максимума общей задачи (1) не существует эффективных вычислительных методов.

В настоящее время развиты методы выпуклого квадратичного программирования - раздела выпуклого программирования, который занимается задачами поиска глобального максимума выпуклой квадратичной функции на многогранном множестве. В этом классе задач доказано, что если матрица D является отрицательно определенной, то целевая функция (7) будет ограничена сверху, и задача (7) будет иметь оптимальное решение, и притом единственное (при условии, что допустимое множество непусто).

Важное место в выпуклом квадратичном программировании занимает двойственная задача.

В соответствии с общим принципом двойственности для задачи (7) двойственная задача имеет вид:

(11)

при условиях

, (12)

где A’ - матрица, транспонированная по отношению к А; с - n -мерный вектор-столбец; λ - m -мерный вектор-столбец.

В линейном случае (при D = 0) определение двойственной задачи (11) - (12) совпадает с принятым в линейном программировании.

Как и в случае линейного программирования в квадратичном программировании имеет место теорема двойственности:

если одна из задач двойственной пары разрешима, то и другая задача также разрешима; причем экстремальные значения обеих задач равны.

Условие Куна-Такера для выпуклой задачи (7) - (8) имеет вид:

Ах = b;

; (13)

.

Таким образом, для того чтобы вектор х° был решением задачи (7) - (8), необходимо и достаточно существование вектора ≥ 0 и вектора λ 0 таких, чтобы система векторов х°, v°, λ 0 удовлетворяла условию (13). Любой (2 n + m)-мерный вектор { х, v, λ. }, который является решением системы (13) при условии х ≥0, v ≥0, будет крайней точкой многогранного множества, т.е. базисным решением системы:

Ах = b;

(14)

С учетом этого условия решение задачи квадратичного программирования сводится к нахождению базисных решений многогранных множеств, что может быть успешно осуществлено симплекс-методом линейного программирования за конечное число шагов.

Кроме общих методов выпуклого программирования специально для задачи выпуклого квадратичного программирования разработано большое количество численных методов, и в том числе конечных. Наиболее употребительными конечными методами являются: симплексный метод Билла, метод сопряженных градиентов, симплексный метод Вулфа. Эффективность того или иного метода существенно зависит от специфики решаемой задачи.

Рассмотрим пример решения задачи нелинейного программирования с ограничениями в виде неравенств. Пусть требуется минимизировать функцию

f (x) =

при ограничениях х1 > 0; х2 > 0; х1 + х2 ≥ 4. Перепишем условие задачи следующим образом:

,

Преобразуем ограничения, добавив в левую часть ослабляющие переменные и изменив знак на равенство:

Далее запишем функцию Лагранжа

. Необходимые условия минимума для данной функции:

Принимая во внимание три последних равенства, можно сделать вывод о том, что либо множители Лагранжа, либо искомые переменные должны быть равны нулю. При этом хотя бы один из множителей Лагранжа должен быть отличен от нуля. Положим

λ1= λ2=0, тогда (поскольку решается задача минимизации) должно выполняться неравенство λ3 > 0, откуда следует 4 – x1 - х2 = 0 или 4 – х1= х2. Подставляем данное выражение для параметра х2 в два первых равенства и решаем их:

Приводя подобные члены, получим

. Перенесем множитель Лагранжа в правую часть:

Решая данную систему, получим

.

Нетрудно проверить, что эти решения являются условиями минимума и функция имеет минимальное значение, равное 44 в точке с координатами (3, 1).

 

 




Поделиться с друзьями:


Дата добавления: 2017-02-01; Просмотров: 396; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.048 сек.