Разработка математической модели и оптимизации процесса производства аммиака
Дипломная работа - Химия
Другие дипломы по предмету Химия
В°тем границы поиска сужаются ещё больше - до восьмой части массива и так далее, до тех пор, пока не найдётся элемент массива равный числу "X" или пока не останутся два элемента массива, один больше числа "X", а другой меньше.
Рисунок 3.10-Условия и поиск экстремумов с помощью метода дихотомии
3.3 Описание численного метода оптимизации
Один из методов нахождения минимума функции f(x) состоит в многократном вычислении функции и поиске локального минимума. Для уменьшения количества вычислений функции важно иметь хорошую стратегию, чтобы определить, где вычислять функцию f(x). Одним из наиболее эффективных методов является поиск методом золотого сечения, который так назван из-за отношения, используемого при выборе точек.
Пусть [0; 1] - начальный интервал. Если 0,5 < r < 1, то 0 < 1 - r < 0,5 и интервал делится на три подынтервала: [0,1 - r], [1 - r; r] и [r; 1] В процессе решения используется либо сжатие вправо и получение нового интервала [0;r], либо сжатие влево и получение интервала [1 - r, 1] Затем эти новые подинтервалы делятся на три подинтервала в таком же соотношении, как и интервал [0; 1].
Рисунок 3.11- Интервалы, которые используются при поиске методом золотого сечения
Требуется так выбрать r, чтобы одна из старых точек была в правильном положении относительно нового интервала, как показано на рис 4.1. Из этого следует, что отношение (1 -r):r такое же, как и r: 1 Следовательно, r удовлетворяет уравнению 1 - r = r2, которое можно записать в виде квадратного уравнения r2 + r - 1 = 0 Решение r, удовлетворяющее неравенству 0,5 < r < 1, равно г = ( - 1) /2.
Функция f(x) должна удовлетворять особым условиям, которые гарантируют существование истинного минимума на интервале, чтобы можно было использовать поиск минимума функции f(х) методом золотого сечения
Функция f(x) является унимодальной на интервале I = [a, b], если существует такое единственное число pI, что
f(х) убывает на [а,р]
f(x) возрастает на [р,b].
Если известно, что функция f(x) унимодальна на интервале [а,b], то можно заменить интервал подинтервалом, на котором функция f(x) принимает минимальное значение Для поиска методом золотого сечения требуется, чтобы использовались две внутренние точки, с = а + (1 - r)(b - а) и d = а + r(b - а), где r является золотым сечением, о котором упоминалось выше Эти точки удовлетворяют неравенству а < с < d < b. Условие, что функция f(x) унимодальна, гарантирует, что значения функции f(с) и f(d) меньше, чем mах{f(а),f(b)} Рассмотрим два случая.
Если f(с) < f(d), то минимум должен находиться на подинтервале [a; d] Заменяем b на d и продолжаем поиск на новом подинтервале. Если f(d) < f(с), то минимум должен находиться на подинтервале [с; b]. Заменяем а на с и продолжаем поиск. В следующем примере метод нахождения корня сравнивается с поиском методом золотого сечения. Сравниваем на каждом шаге значения функции f(с) и f(d) и принимаем решение продолжать поиск на интервале [a;d] или [с;b].
Рис. 3.12 - Процесс решения для поиска методом золотого сечения
4. Решение задачи оптимизации на основе моделирования на ЭВМ
.1 Разработка алгоритма и блок-схемы задачи
В качестве метода оптимизации используем метод золотого сечения. Данный метод основан на делении отрезка на котором находят экстремум пополам. Он позволяет сузить данный отрезок и количество вычислений в два раза по сравнению с методом дихотомии. Алгоритм расчета следующий:
1)определяется коэффициент деления отрезка
(4.1)
2)вычисляются величины аргумента
(4.2)
(4.3)
3)вычисляются соответствующие значения функций F(x1), F(x2);
4)проверяется условие: x2-x1<?, если выполняется, то вычисляется xm=(x1+x2)/2 и F(xm), если не выполняется, то переходим к пункту 5;
)проверяется условие: F(x1)<F(x2), если выполняется, то принимается a=x1 и переходим к пункту 2, если не выполняется, принимаем b=x2 и переходим к пункту 2.
Блок-схема метода золотого сечения представлена на рисунке 4.1.
4.2 Разработка программы и анализ результатов моделирования
4.2.1 Оптимизация выхода аммиака от температуры
В качестве критерия оптимизации выбираем оптимизацию выхода аммиака от температуры., clear=(sqrt(5)-1)/2 % вычисление коэффициента деления отрезка
a=723;=1020;=0.1;=1.0e+003;= -2.6165;= 0.0136;=a+(1-r)*(b-a)=A1+A2*x1+A3*x1.^2=a+r*(b-a)=A1+A2*x2+A3*x2.^2x1-x2<s=(x1+x2)/2=A1+A2*xm+A3*xm.^2if F1<F2=x1=x2=a+r*(b-a);=A1+A2*x2+A3*x2.^2
%Результаты расчетов:=0.6180= 836.4439= 8.3265e+003= 906.5561=9.8051e+003 = 871.5000 % оптимальное значение температуры
Fm =9.0491e+003 % оптимальное значение выхода аммиака
Оптимальное значение температуры 871оС
4.2.2 Оптимизация выхода аммиака от давления
В качестве критерия оптимизации выбираем оптимизацию выхода аммиака от давления.
clc, clear
r=(sqrt(5)-1)/2 % вычисление коэффициента деления отрезка
a=25;=30.8;=0.01;=31.9385;= -1.2462;= 0.0211;=a+(1-r)*(b-a)=A1+A2*x1+A3*x1.^2=a+r*(b-a)=A1+A2*x2+A3*x2.^2x1-x2<s=(x1+x2)/2=A1+A2*xm+A3*xm.^2if F1<F2=x1=x2=a+(1-r)*(b-a);=A1+A2*x1+A3*x1.^2=a+r*(b-a);2=A1+A2*x2+A3*x2.^2
end
%Результаты расчетов:
r =0.6180
x1 = 27.2154
F1 =13.6510
x2 =28.5846
F2 =13.5567
xm = 27.9000 % оптимальное значение давления;
Fm = 13.5940 % оптимальное значение выхода аммиака .
Отимальное значение давления 27.9 МПа
4.2.3 Оптимизация выхода аммиака от соотношения реагирующих компонентов
В качестве критерия оптимизации выбираем оптимизацию выхода аммиака от соотношения реагирующих компонентов.
clc, clear
r=(sqrt(5)-1)/2 % вычисление коэффициента деления отрезка
a=2.7;=3.3;=0.01;=48.8362;=-25.8143;= 4.6667;=a+(1-r)*(b-a)=A1+A2*x1+A3*x1.^2=a+r*(b-a)=A1+A2*x2+A3*x2.^2x1-x2<s=(x1+x2)/2=A1+A2*xm+A3*xm.^2if