Автор: Пользователь скрыл имя, 09 Сентября 2011 в 23:15, курсовая работа
Оптимізація як розділ математики існує досить давно. Оптимізація - це вибір, тобто те, чим постійно доводиться займатися в повсякденному житті. Терміном "оптимізація" в літературі позначають процес або послідовність операцій, що дозволяють отримати поліпшене рішення. Хоч кінцевою метою оптимізації є відшукання найкращого або "оптимального" рішення, звичайно доводиться задовольнятися поліпшенням відомих рішень, а не доведенням їх до досконалості
Зміст 3
Вступ 4
Змістовна постановка задачі 5
Формальна постановка задачі 9
Опис методів розв’язку задачі 10
Метод дихотомії. 10
Методи золотоЗміст 3
Вступ 4
Змістовна постановка задачі 5
Формальна постановка задачі 9
Опис методів розв’язку задачі 10
Метод дихотомії. 10
Методи золотого перетину і Фібоначчі. 10
Опис програми 13
Аналіз контрольного прикладу 17
Висновки 18
Список літературних джерел 19
Додатки 20
e := ib-x;
d := cgold*e;
End;
If Abs(d)>=Epsilom then
u := x+d
Else
u := x+Mysign(Epsilom, d);
case typ of
1: fu := sin(u);
2: fu := cos(u);
3: fu := ln(u);
end;
If fu<=fx then begin
If u>=x then
ia := x
Else
ib := x;
v := w;
fv := fw;
w := x;
fw := fx;
x := u;
fx := fu; end
Else begin
If u<x then
ia := u
Else
ib := u;
if w=x then b1:=true else b1:=false;
if fu<=fw then b2:=true else b2:=false;
If b2 Or b1 then begin
v := w;
fv := fw;
w := u;
fw := fu; end
Else begin
if fu<=fv then b1:=true else b1:=false;
if v=x then b2:=true else b2:=false;
if v=2 then b3:=true else b3:=false;
If b1 Or b2 Or b3 then begin
v := u;
fv := fu;
End
End
End
end; {for}
xmin := x;
Result := fx;
BrentOptimize := Result
End ;
begin
repeat
beg:
clrscr;
TextColor(Green);
TextBackground(Black);
gotoxy(12,1);
write('Kurs work of doslidgennia operacij');
gotoxy(12,6);
writeln('Input your choise: ');
writeln(' 1 - golden section optimize');
writeln(' 2 - Brend method');
writeln(' 3 - Exit');
gotoxy(12,10);
write ('Choise: '); readln(c);
if (c<1) or (c>3) then goto beg;
if c=3 then goto et;
nt:
clrscr;
writeln('Input type of function:');
writeln('1 - sin, 2 - cos, 3 - ln');
write(' function - ');
readln(typ);
if (typ<1) or (typ>3) then goto nt;
writeln('input interval');
write(' a = ');
readln(a);
write(' b = ');
readln(b);
if c=1 then
begin
write('Input count - ');
readln(N);
GoldenSectionOptimize(a,b,N,
writeln('Result is: a - ',a:6:2, ' b - ',b:6:2);
end
else
begin
write('Input epsilom - ');
readln(e);
e:=BrentOptimize(a,b,e,typ,x);
writeln('Result is point ', x:6:2, ' with function value ', e:8:2)
end;
readln
until false;
et:
end.
Информация о работе Методи прямого пошуку для оптимізації унімодальних функцій якості без обмежень