Методы решения задач нелинейного программирования

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

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

Но это Методы решения задач нелинейного программирования приближение неприемлемо для реальных задач и нередко не отражает ее принципиальных особенностей. К примеру, в случае невыпуклых задач, где встречается более 1-го локального экстре­мума, линейная постановка может привести к тому, что будет найден только один из локальных экстремумов, при всем этом нередко пропадает гло­бальный Методы решения задач нелинейного программирования экстремум.

Нелинейные задачки рационального проектирования строй конструкций делятся на две главные группы:

1) задачки бесспорной оптимизации, в каких на управляемые переменные (х1, х2, ..., хn), которым соответствует малое значение мотивированной функции F (х1, х2, ..., хn), не накладывается никаких ограничений;

2) задачки условной оптимизации, в каких на управляемые переменные (х1, х2, ..., хn), которым Методы решения задач нелинейного программирования соответствует малое значение мотивированной функции F (х1, х2, ..., хn), накладываются ограничения, задаваемые в виде равенств и неравенств.

Считается, что большая часть задач проектирования бесспорной оптимизации проще, чем задачки условной оптимизации. Потому, одним из методов решения задачки условной оптимизации является ее преобразование к задачке бесспорной оптимизации.

Способы решения задач бесспорной оптимизации можно Методы решения задач нелинейного программирования поделить на две группы:

1) способы прямого поиска, в каких рассчитываются только значения мотивированной функции;

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

Разглядим несколько способов решения задач нелинейного программирования.

Способ прямого поиска

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

Вероятен другой вариант способа поиска, когда аргументы по очереди меняются на какую-то величину ±Δх и определяется новое улучшенное Методы решения задач нелинейного программирования значение мотивированной функции. Процесс повторяется до того времени, пока всякое изменение переменных не приводит к ухудшению значения мотивированной функции.

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

Градиентные способы

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

Градиентные способы минимизации мотивированной функции заключается в движении от точки хk к точке хk+1 в направлении антиградиента. Градиент функции определяется как вектор – столбец из личных производных

∂F(xk)

∂ x1

F(xk) =
∂F(xk)

∂ x2 (162)

………

∂F(xk)

∂ xn

Движение из точки хk в Методы решения задач нелинейного программирования направлении антиградиента в последующую точку хk+1 осуществляется по последующей схеме

хk+1 = хk – λ * F(xk) (163)

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

Способ штрафных функций

Способ штрафных функций применяется при решении задач, для которых оптимизация мотивированной функции при Методы решения задач нелинейного программирования наличии ограничений является более трудозатратной, чем без ограничений. Но в данном случае ограничения в виде функции «штрафа» добавляются к мотивированной функции.

Пусть требуется минимизировать функцию F(x) при ограничениях fi(x) ≤0, i = 1,2,…,m.

По способу штрафных функций задачка сводится к минимизации другой функции

S(x,ℓ) = F(x) + Fℓ [ℓ, f1(x), f2(x Методы решения задач нелинейного программирования),…, fm(x)], (164)

где Fℓ - штраф, являющийся функцией ℓ и функций, задающих

ограничения f1(x), f2(x),…, fm(x);

ℓ – набор штрафных характеристик

Штрафная функция подбирается таким макаром, чтоб она могла бы препятствовать выходу за границы области допустимых решений и, с другой стороны, чтоб не имела существенного воздействия на итог решения. Другими Методы решения задач нелинейного программирования словами в итоге экстремумы функции F(x) и S(x,ℓ) должны совпадать.

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

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

Разглядим некие типы штрафов.

Квадратичный штраф употребляется для учета ограничений - равенств и определяется выражением:

Fℓ = ℓ { fi (x)}2. (165)

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

Логарифмический штраф. Другим обширно применяемым типом штрафа является логарифмический штраф, который определяется выражением:

Fℓ = - ℓ ln { fi (x)}. (166)

Этот штраф положителен при всех x, таких, что 0 < fi (x) < 1, и отрицателен при fi (x) > 1. В этом Методы решения задач нелинейного программирования случае вводится искусственная дискриминация точек допустимой области: внутренним точкам отдается предпочтение перед граничными.

Итерацию начинают из допустимой исходной точки при положительном исходном значении ℓ (к примеру, ℓ =10 либо ℓ =100). После решения каждой подзадачи бесспорной минимизации параметр ℓ миниатюризируется и в пределе стремится к нулю. Не следует для более резвого решения задачки брать штрафной параметр близким к Методы решения задач нелинейного программирования нулю, к примеру ℓ =0,1, потому что существует предел штрафного параметра для каждой штрафной функции, при котором его уменьшение не улучшает решение и процесс вычислений останавливается.

Пример. Отыскать минимум функции F(x) = (x1-6)2 + (x2-8)2 (167)

при ограничении f(x) = 5 - x1 – x2 ≥ 0. (168)

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

Штрафная функция Методы решения задач нелинейного программирования имеет вид (164)

S(x,ℓ)= F(x) + Fℓ [ℓ, f(x)] = (x1-6)2 + (x2-8)2 + ℓ ln(5 - x1 – x2), (169)

где Fℓ = ℓ ln(5 - x1 – x2) – логарифмический штраф (166)

Условия стационарности принимают вид

∂ S(x,ℓ)/ ∂ x1 = 2(x1 – 6) + ℓ /(5 - x1 – x2) = 0 (170)

∂ S(x,ℓ)/ ∂ x2 = 2(x2 – 8) + ℓ /(5 - x1 – x2) = 0 (171)

Откуда следует, что x1 = x2 – 2. (172)

Тогда получим 2(x2 – 8) + ℓ /(7 - 2x2 ) = 0 (173)

и приходим к уравнению 2x Методы решения задач нелинейного программирования22 – 23x2 + 56 – (ℓ /2) = 0, (174)

в каком один из корней дает координату стационарной точки

х1 = (23/4) – (1/4)√(81+4 ℓ) (175)

2-ой корень соответствует недопустимой точке и должен быть отброшен.

В пределе ℓ = 0, отсюда получаем Lim x2(ℓ) = 3,5 (176)

ℓ→0

Беря во внимание (172), определяем 1-ое неведомое

x1 = x2 – 2 = 3,5 -2 = 1,5 (177)

Подставим значения неведомых x1, x2 в выражение начальной функции (167) и определим ее минимум

F(x Методы решения задач нелинейного программирования)min = (x1-6)2 + (x2-8)2 = (1,5 – 4)2+(3,5 – 4)2 = 92,5 (178)

Получено четкое решение. Но, получить четкое решение удается не всегда и требуется численное решение с внедрением метода способа штрафных функций [1].


metodi-truda-i-metodi-poznaniyaxxxvi-programma-kulturi-321-chitat-voennij-kommunizm-i-gosudarstvennij-kapitalizm.html
metodi-ucheta-vvp-po-dobavlennoj-stoimosti-po-potoku-rashodov-po-potoku-dohodov.html
metodi-ucheta-zatrat-na-proizvodstvo-i-kalkulirovaniya-sebestoimosti-produkcii-pozakaznij-poperedelnij-normativnij-i-poprocessnij-metodi.html