Оптимизация технологических процессов органического синтеза. Бочкарев В.В. - 182 стр.

UptoLike

Составители: 

182
for i:=1 to n do Xopt[i]:=x[i];
end;
{ writeln(SummaSqr,MinSqrF);}
end;
{*****************************************************************}
{*****************************************************************}
Procedure FuncGoldMin(var FGold, xGold:real; NF:integer);
var i: integer;
begin
case NF of
1: begin
for i:=1 to n do x[i]:=Xold[i]+dx[i]*xGold;
BoundaryConditions;
systemUraw; MinSqrFunc;
FGold:=SummaSqr;
end;
end; {end case}
end;
{*****************************************************************}
{*****************************************************************}
Procedure MinimumGold (A, B, E:real; var xGold,FGold:real; NF:integer);
{ "Метод золотого сечения"
Процедура GoldMin производит поиск интервала [X1,X2],
в котором лежит точка минимума функции F(x) }
{F(x) определяется в процедуре FuncGoldMin
А,В - интервал возможного варьирования переменной х
А - нижний предел; В - верхний предел
Е - относительная погрешность вычислений
(относительно интервала А - В) (Х2-Х1)<=Е*(В-А) }
{*****************************************************************}
var interval,t1,t2,xGold0,xGold1,xGold2,xGold3,F0,F1,F2,F3 :real;
begin
{ writeln('MinimumGold begin');}
t1:=0.3819660113; t2:=1 - t1;
xGold0:=A; xGold1:=A + t1*(B - A);
xGold2:=A + t2*(B - A); xGold3:=B;
FuncGoldMin(F1, xGold1, NF);
FuncGoldMin(F2, xGold2, NF);
interval:=xGold3 - xGold1;
While (interval>E*(B-A)) do begin
If F2 < F1 then begin
interval:=xGold3 - xGold1; xGold0:=xGold1;
xGold1:=xGold2; xGold2:=xGold0 + t2*interval; F1:=F2;
FuncGoldMin(F2, xGold2, NF);
end {end then}
else begin
interval:=xGold2 - xGold0; xGold3:=xGold2;
xGold2:=xGold1; xGold1:=xGold0 + t1 * interval; F2:=F1;
FuncGoldMin(F1, xGold1, NF);
end; {end if}
end; {end while}
xGold:=xGold1; FGold:=F1;
{ writeln('MinimumGold end');}
END;
{***************************************************************}
procedure rmatr(n:integer; var a:matrix);
{ Процедура обращения квадратной матрицы A[i,j] методом Жордана }
{ Составитель - Бочкарев В.В. }
var x :array [1..20] of real;
Created with novaPDF Printer (www.novaPDF.com)