ВУЗ:
Составители:
81
end
end
else choice(fc,xc)
end
end
else choice(fr,xr)
end;
s1:=0;
s2:=0;
for i:=1 to n+1 do
begin
s1:=s1+f[i];
s2:=s2+sqr(f[i]);
end;
sig:=s2-s1*s1/(n+1);
sig:=sig/(n+1);
writeln(l:3,f[l]:12:8);
for j:=1 to n do
write(xl[j]);
writeln;
until sig<1e-10;
writeln('Минимум найден в точке');
for j:=1 to n do
writeln('x[',j,']=',xl[j]);
writeln;
writeln('Значение минимума
функции',f[l]);
writeln('Количество вычислений
функции=',tev);
readln;
end.
Целевая функция может иметь несколько
минимумов. На рисунке П.3 показана топология функции от
двух переменных, которая имеет два минимума:
глобальный
A и локальный B. Если координаты начальной
вершины многогранника
x
1
j будут выбраны в окрестности
точки B, то велика вероятность, что будет получено
82
неверное решение: многогранник «сползет» в овраг B. Во
избежание подобных ошибок рекомендуется выполнить
несколько расчетов, меняя каждый раз координаты
начальной вершины. Из полученных решений следует
выбрать результат с наименьшим значением целевой
функции.
В процедуре
functmin записана функция
(
)
(
)
2
1
2
12
1100 xxxz −+−=
, координаты точки минимума
которой
x
1
= x
2
=1 при значении z = 0.
35
30
25
20
15
A
B
30
10
Рис. П.3.
end неверное решение: многогранник «сползет» в овраг B. Во end избежание подобных ошибок рекомендуется выполнить else choice(fc,xc) несколько расчетов, меняя каждый раз координаты end начальной вершины. Из полученных решений следует end else choice(fr,xr) выбрать результат с наименьшим значением целевой end; функции. s1:=0; s2:=0; for i:=1 to n+1 do begin s1:=s1+f[i]; s2:=s2+sqr(f[i]); end; 20 30 sig:=s2-s1*s1/(n+1); sig:=sig/(n+1); B writeln(l:3,f[l]:12:8); 25 for j:=1 to n do write(xl[j]); 15 writeln; until sig<1e-10; 30 10 writeln('Минимум найден в точке'); for j:=1 to n do writeln('x[',j,']=',xl[j]); A writeln; writeln('Значение минимума функции',f[l]); 35 writeln('Количество вычислений функции=',tev); readln; end. Целевая функция может иметь несколько Рис. П.3. минимумов. На рисунке П.3 показана топология функции от двух переменных, которая имеет два минимума: глобальный A и локальный B. Если координаты начальной В процедуре functmin записана функция вершины многогранника x1j будут выбраны в окрестности z = 100( x2 − x1 ) + (1 − x1 ) , координаты точки минимума 2 2 точки B, то велика вероятность, что будет получено которой x1 = x2 =1 при значении z = 0. 81 82