Минимальное изменение функции 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Минимальное изменение функции



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

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

Поэтому необходимо заранее выбирать, как будет завершен процесс поиска экстремума.

Поиск экстремума функции нескольких переменных. Если функция вычисляется от нескольких переменных, то для поиска ее минимума используется (после приблизительной оценки начальных приближений переменных в предполагаемом минимуме) команда [ x, y ]= fminsearch (имяФункции, векторНачальныхПриближенийПеременных).

Минимум функции нескольких переменных z=f(x1, x2, …, xn) осуществляет встроенная функция [X,Z]=fminsearch(name, x0, options) где:

· name имя М-функции вычисляющей z=f(x1, x2, …, xn),

· х0 вектор из n элементов, содержащих координаты точки начального приближения,

· options параметры управляющие ходом решения,

· Х вектор из n элементов, содержащий значения переменных, при которых функция z=f(x1, x2, …, xn) минимальна,

· Z это и есть минимальное значение функции.

Например, [X, Z]=fminsearch(@extr, [3 2]); где @extr обращение к М-функции extr, вычисляющей значение интересующей нас функции z=x12+x22-6x2-2x1+11, причем заданы начальные приближения [3 2] для х1 и х2 соответственно. В результате получим значения переменных в точке минимума и значение функции в минимуме.

>> [x,y]=fminsearch(@extr,[2 3]) x = 1.0000 3.0000 y = 1.0000 function z=extr(x) z=x(1)^2+x(2)^2-6*x(2)-2*x(1)+11; end  

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

Пусть функция L (x 1, x 2, x 3, x 4)= x 1 + x 2 + x 3 - x 4 и надо найти ее максимум и соответствующие ее максимуму значения переменных.

Пусть даны ограничения в виде неравенств. x 1 ≥0, x 2 ≥0, x 3 ≥0, x 4 ≥0.

Пусть также даны еще ограничения в виде неравенств.

3 x 1 - x 2 ≤7, x 2 -2 x 3 ≤-1, 4 x 3 - x 4 ≤3, 5 x 1 +2 x 4 ≥14.

Для решения задачи линейного программирования (нахождения минимума) используется функция [ x, L, f ]= linprog (c, A, b, A 1, b 1, Lx, Rx) где x вектор значений переменных, полученный в качестве ответа;

L значение функции в минимуме;

f параметр, характеризующий вычислительный процесс (если он ноль то решение приостановлено после достижения максимального числа итераций, если положителен то все нормально решено, если отрицателен то решения не найдено);

c функция цели представленная в виде вектора коэффициентов (в нашем случае [1 1 1 -1]), но так как нам нужен максимум,

а функция [ x, L, f ]= linprog (c, A, b, A 1, b 1, Lx, Rx) ищет минимум, то в выражении для функции поменяем знак, поэтому вектор коэффициентов будет [-1 -1 -1 1];

A, b система ограничений, заданная в матричном виде Ax ≤ b (это в нашей задаче ограничения 3 x 1 - x 2 ≤7, x 2 -2 x 3 ≤-1, 4 x 3 - x 4 ≤3, 5 x 1 +2 x 4 ≥14, но так как 5 x 1 +2 x 4 ≥14 не подходит, то надо поменять знак в этом неравенстве и тогда оно будет -5 x 1 -2 x 4 ≤-14, в таком случае матрица А состоит из коэффициентов (при переменных) в этих неравенствах, а столбец b состоит из правых (не содержащих переменных) частей неравенств;

A 1, b 1 система равенств вида A 1 x = b (в нашей задаче такой системы ограничений нету, но могла бы быть);

Lx, Rx относятся к ограничениям в виде Lx ≤ x ≤ Rx, Lx ≤ x, x ≤ Rx (в нашей задаче есть ограничения вида Lx ≤ x, поэтому вектор Lx будет 0 0 0 0).

При использовании функции linprog в списке аргументов вместо тех, которые не указаны, ставятся пустые квадратные скобки.

function Start_linprog1 c=[-1;-1;-1;1]; A=[3 -1 0 0;0 1 -2 0;0 0 4 -1;-5 0 0 -2]; b=[7;-1;3;-14]; lx=[0;0;0;0]; [x,L,f]=linprog(c,A,b,[],[],lx) end   Optimization terminated x = 2.5882 0.7647 0.8824 0.5294 L = -3.7059 f = 1

Рассмотрим еще пример для тренировки. Пусть дана функция W = x 1 + x 2 +3 x 3 - x 4 и надо найти ее максимум. Пусть даны ограничения в виде неравенств.

x 1 -5 x 2 +4 x 3 ≤5, x 1 -2 x 2 -3 x 3 ≤4, x 1 +6 x 2 +5 x 3 ≤4, x 2 + x 3 ≤1. И пусть есть еще ограничения в виде неравенств. x 1 ≥0, x 2 ≥0, x 3 ≥0, x 4 ≥0.

Решим задачу с помощью функции

[ x, L, f ]= linprog (c, A, b, A 1, b 1, Lx, Rx). Для ее применения нам надо подготовить аргументы функции.

Вектор с коэффициентов функции равен (1 1 3 -1), но так как функция linprog ищет минимум, а нам нужен максимум, то поменяем знак у коэффициентов функции и тогда вектор с будет (-1 -1 -3 1).

Матрица А состоит из коэффициентов при переменных в системе неравенств x 1 -5 x 2 +4 x 3 ≤5, x 1 -2 x 2 -3 x 3 ≤4, x 1 +6 x 2 +5 x 3 ≤4, x 2 + x 3 ≤1.

Так как все они со знаком то ничего менять не требуется.

Вектор b состоит из правых частей этих же неравенств.

Матрица A 1 из системы A 1х= b 1 для нас не актуальна (нет таких условий). Lx, Rx относятся к ограничениям в виде Lx ≤ x ≤ Rx, Lx ≤ x, x ≤ Rx.

У нас есть ограничения в виде неравенств. x 1 ≥0, x 2 ≥0, x 3 ≥0, x 4 ≥0. Тогда вектор Lx =[0; 0; 0; 0]. Что касается остальных типов ограничений, то так как у нас нет таких ограничений, то для нас они не важны.

function Start_linprog_2 c=[-1;-1;-1;1]; A=[1 -5 4 0;1 -2 -3 0;1 6 5 0;0 1 1 0]; b=[5;4;4;1]; lx=[0;0;0;0]; [x,L,f]=linprog(c,A,b,[],[],lx) end   Optimization terminated. x = 4.0000 0.0000 0.0000     0 L = -4.0000 f = 1

Задачи нелинейного программирования. Нелинейная задача отличается от линейной. В ней есть система линейных неравенств Ax ≤ b, система линейных равенств A 1 x = b 1, система ограничений вида lx ≤ x ≤ rx, lx ≤ x, x ≤ rx.

Однако помимо этих уже знакомых (из линейного программирования) условий, есть еще система нелинейных ограничений вида g 1(x)≤0, и система нелинейных равенств g 2(x)=0.

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

[ x, y, f ]= fmincon (F, x 0, A, b, A 1, b 1, Lx, Rx, G), где F это M-функция exNotLinear, G это М-функция exGNotLinear, вычисляющая левые части нелинейных ограничений g 1(x)≤0, g 2(x)=0.

Если какие-то аргументы не определены, то вместо них в вызове функции ставятся квадратные скобки.

Рассмотрим для примера следующую задачу. Пусть дана функция x 1 2 + x 2 2 =1 при условии, что x 1 x 2 =4, x 1 ≥0, x 2 ≥0. Вектор начальных приближений примем равным х0=(0.1, 0.1).

Опишем функции exGNotLinear и exNotLinear.

function y=exNotLinear(x) y=x(1)^2+x(2)^2-1; end   function[g1,g2]=exGNotLinear(x) g1=[]; g2=x(1)*x(2)-4; end

Применим функцию [x, y, f]=fmincon(F, x0, A, b, A1, b1, Lx, Rx, G).

 

function Start_fmincon1 x0=[0.1 0.1]; Lx=[0 0]; [x, y, f]=fmincon(@exNotLinear, x0, [],[],[],[],Lx,[],@exGNotLinear) end x = 2.0000 2.0000 y = 7.0000 f = 1

 

Пример 3

Найти минимум функции

При ограничениях:

В пакете MatLab для определения минимума с начальными приближениями: x 0 = [3.5, 0.2, 3.5] используется функция fmincon, которая записывается

m-файл функции ограничений MatLab имеет вид

Результат

 

 


 

1.6. Понятие условного экстремума

Экстремум функции n переменных

с m ограничениями (условиями) в виде равенств:

называется условным экстремумом.

При решении задач оптимизации ХТП критерий оптимальности

уравнения математического описания

Для такой постановки задачи определения условного экстремума необходимо выполнение условия:

Для определения условного экстремума целесообразно выразить m зависимых переменных через остальные n – m переменных:


Полученные зависимости подставляются в выражение функции       :

 


В полученной функции  переменные

являются независимыми.

Далее обычными методами определяются значения 

т. е. находится экстремум функции

По известным значениям

из соотношений

определяются значения

 

Метод неопределенных множителей Лагранжа

Необходимое условие существования

экстремума функции многих переменных:


В случае условного экстремума не все дифференциалы

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

 

 

Полный дифференциал функции          в точке экстремума равен нулю:

 


поскольку

Умножив обе части последнего выражения на некоторый множитель

   (j=1,…m), просуммировав и сложив с выражением для        , получим:

 

 

или

 

Исключим m зависимых дифференциалов таким выбором

множителей  , чтобы коэффициенты при зависимых дифференциалах обратились в 0:

 


Полученная система из m уравнений позволяет определить m множителей      (если они существуют)

Исключив зависимые дифференциалы, получим:

 

 


со значениями   из предыдущей системы уравнений

Для равенства последнего выражения 0 необходимо, чтобы каждое слагаемое его было равно 0:

 


Объединяя условия равенства 0 зависимых и независимых дифференциалов, получим:

 

 

Одновременно должны выполняться m равенств, соответствующих ограничениям задачи:

Таким образом, для определения экстремума функции Rc ограничениями типа равенств необходимо решить требуемую систему (n+m) последних уравнений относительно (i=1,…n) и  (j=1,…m)

 

Функция Лагранжа Ф

Введя функцию Лагранжа Ф, необходимые условия экстремума которой с производными 

по всем (i=1,…n) и         (j=1,…m)

приводят к требуемой системе

(n+m) уравнений:

Получим требуемую систему

 (n+m) уравнений:

сведя задачу к нахождению

безусловного экстремума

функции Ф.

 

ПРИМЕР 1. Классическая задача.

Определим соотношение между высотой и диаметром цилиндрического сосуда при минимальной его поверхности и заданном объёме.Для этого случая:

 

S – поверхность цилиндра, H – высота цилиндра, d – диаметр цилиндра

V0 – заданный объём цилиндра

 

Записываем функцию Лагранжа:

 

Дифференцируя, получим:

 

 


Решая систему уравнений:

 


получим, что для минимальной поверхности цилиндра должно выполняться соотношение:

 

 

ПРИМЕР 2. Оптимальное распределениепотока сырья между параллельно работающими аппаратами

Пусть общий поток (расход) сырья v, содержащий компонент A, распределяется (рис.1.6.1) между N аппаратами.

Пусть Ri = Ri (vi) есть критерий оптимальности i -го аппарата и является функцией потока vi, проходящего через этот аппарат.

Рис.1.6.1. Распределение между параллельными аппаратами

Свойство аддитивности критерия

оптимальности записывается как:

Ограничение в виде равенства имеет вид:

Функция Лагранжа:

 

Дифференцируя и приравнивая нулю

производные, получим систему (N +1)

уравнений для определения vi (i=1,…n)

и :

 

Отсюда следует, что при оптимальных условиях распределения потока в параллельно работающих аппаратах

должны выполняться равенства:

 

Задача 2

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

Рис.1.6.2. Поток сырья поступает на параллельные реакторы

В качестве критерия оптимальности использовать суммарное количество компонента P в выходном потоке. Исходные данные для расчёта:

число аппаратов N = 3

объёмы аппаратов, соответственно: 0,5, 0,6, 0,7 м 3

расход сырья v = 3 м 3/ час

условия работы аппаратов - изотермические

константы скоростей k 1 = 0,65 1/ час; k 2 = 0,3 1/ час

Решение

Критерий оптимальности

для всей системы есть:

Количество вещества P на выходе из i -го реактора:

Уравнение ограничений на процесс:


При оптимальных условиях должны

 выполняться равенства:


Вычислим значение производной:

Уравнения материального баланса по компонентам A и P для i -го реактора с расходом потока в нем    и его объемом      для реакции


где   , - константы скоростей реакции:

 

Уравнения материального баланса по компонентам A и P для i -го реактора с использованием времени пребывания в реакторе  имеют вид:

 


Из полученной системы уравнений выразим концентрацию компонента P в i – том аппарате через начальную концентрацию компонента A:

 

 

 


Тогда:

Из полученного выражения

следует, что произведение

зависит от времени пребывания,а также из уравнений материальных балансов следует тоже зависимость только от времени пребывания   :

Так как в выражении для рассматриваемой реакции:

оба слагаемых зависят от     а также поскольку:

то будет справедливо:

 

 


и имеем:

Откуда следует:

 

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

 

 


Подставляя исходные данные, получим:


Подставляя исходные данные, получим:

 


Подставляя исходные данные, получим:

 


Откуда находим:

 

ПРИМЕР 3. Оптимизация многостадийных процессов

Рассмотрим многостадийный процесс (рис.1.6.3), состоящий из стадий, каждая из которых описывается системой

конечных уравнений вида:

i – номер стадии, k – номер переменной

Рис.1.6.3. Многостадийный процесс

Каждая стадия представляет собой стационарный одностадийный процесс. Будем полагать, что размерности векторов (n) и (r) одинаковы для всех стадий.

Пусть критерий оптимальности многостадийного процесса задан в виде некоторой функции от выходных

параметров последней стадии:

Уравнения математической модели

могут быть записаны в неявной форме:

 

и могут рассматриваться как уравнения ограничений.

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

выражение для критерия оптимальности:

Составим функцию Лагранжа:

 

При дифференцировании функции Лагранжа по всем переменным получим три типа уравнений:

дифференцирование по:

дифференцирование

по                                 

 

дифференцирование по                           

 

 

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

 

Задача 4

Для заданного числа реакторов в каскаде N = 3 и заданной степени превращения реагента A χ AN = 0,936 реакции первого порядка типа A → P найти такое распределение объёмов реакторов Vi, при котором их суммарный объём V был бы минимальным. Условия работы каскада реакторов изотермические; значение константы скорости k = 0,35 час-1, объёмный расход v = 2 м3/час.

 

Решение

Уравнение, соответствующее

условиям ограничения:

Обозначим долю непревращенного реагента A

на выходе из каскада реакторов:

Тогда для каждого реактора каскада и для всех аппаратов:

 


N – число аппаратов в каскаде

Уравнение ограничений принимает вид:

Выразим критерий оптимальности через

η i, используя уравнения материального

баланса для i -го реактора:

Выразим объём i -го реактора как:

Учитывая, что

получим:

Критерий оптимальности будет иметь вид:

Будем искать такое распределение η i, чтобы V = min

Запишем функцию Лагранжа:

или

 


Необходимые условия оптимальности:

или

 

Поскольку последнее соотношение справедливо для любого номера i, имеем:

Это означает, что:

т.е. распределение η i по всем аппаратам каскада должно быть одинаковым. Из последнего соотношения также следует, что распределение объёмов реакторов должно быть

одинаковым и равным


По условию η 0 = 0,064, тогда

 


 



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 146; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.81.240 (0.146 с.)