ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: многомСрная оптимизация ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π₯ΡƒΠΊΠ° ΠΈ ДТивса

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π°ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘Ρ‹Π»Π° написана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Ρ‘ ΠΈΠ·ΡƒΡ‡Π΅Π½Π° функция. ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈ: ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ оптимизация дТивс Ρ€ΠΎΠ·Π΅Π½Π±Ρ€ΠΎΠΊ. Найти ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π₯ΡƒΠΊΠ° ΠΈ Π”Тивса с Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΌ шагом: ВСория ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ планирования ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ". Func:=((y.one+h*d.one)-2)*((y.one+h*d.one)-2)*((y.one+h*d.one)-2)*((y.one+h*d.one)-2)+. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,. ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: многомСрная оптимизация ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π₯ΡƒΠΊΠ° ΠΈ ДТивса (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠžΠ‘ΠšΠžΠ’Π‘ΠšΠ˜Π™ ΠΠ’Π˜ΠΠ¦Π˜ΠžΠΠΠ«Π™ ИНБВИВУВ

(ΠΠΠ¦Π˜ΠžΠΠΠ›Π¬ΠΠ«Π™ Π˜Π‘Π‘Π›Π•Π”ΠžΠ’ΠΠ’Π•Π›Π¬Π‘ΠšΠ˜Π™ Π£ΠΠ˜Π’Π•Π Π‘Π˜Π’Π•Π’) ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π·Π° ΠΊΡƒΡ€Ρ:

«Π’Сория ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ планирования ΠΈ управлСния»

ΠΊΠ°Ρ„Π΅Π΄Ρ€Ρ‹ 302

Π’Π΅ΠΌΠ°

«ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: многомСрная оптимизация ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π₯ΡƒΠΊΠ° ΠΈ Π”Тивса»

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π° студСнтка

Π³Ρ€ΡƒΠΏΠΏΡ‹ 03−323:

Π•ΠΆΠΎΠ²Π° О.Π‘.

ΠŸΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ:

ΠšΡ€Π°ΡΠΎΠ²ΡΠΊΠ°Ρ М.А.

Москва

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

Найти ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π₯ΡƒΠΊΠ° ΠΈ Π”Тивса с Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΌ шагом:

MIN F1(x)= (Π₯1-4)4 +(X1-3 X2)2,

с Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ X0=(1;0)

ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Π²ΠΎΠ΄ точности .

ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈ: ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ оптимизация дТивс Ρ€ΠΎΠ·Π΅Π½Π±Ρ€ΠΎΠΊ

1. НахоТдСниС экстрСмума Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ F1(X) ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… значСниях Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ;

2. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ экстрСмума Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… значСниях точности (=0.01, =0.1, =0.001);

Алгоритм ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° (1;0)

1) ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° X0 = [1;0]

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΅ = 0.1

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (3,8826;1,3109)

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 0,269 660 220 874 356

Кол-Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 3

2) Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΅ = 0.01

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (4,0037;1,3344)

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 1,4 801 924 616 0121E-7

Кол-Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 3

3) Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΅ = 0.001

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (3,9957;1,3321)

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 6,387 997 156 7203E-7

Кол-Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 3

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° (-2;2)

1) Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΅ = 0.1

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (3,7289;1,2470)

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 0,554 697 770 081 615

Кол-Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 5

2) Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΅ = 0.01

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (3,9867;1,3287)

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 2,1 760 924 199 8115E-7

Кол-Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 6

3) Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΅ = 0.001

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (3,9907;1,3305)

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 5,7 392 449 263 5677E-7

Кол-Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 7

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° (4;2)

1) Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΅ = 0.1

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (4,5855;1,5198)

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 0,118 199 132 492 491

Кол-Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 2

2) Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΅ = 0.01

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (4,5914;1,5296)

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 0,122 304 388 908 469

Кол-Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 2

3) Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΅ = 0.001

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° (4,0108;1,3372)

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 6,237 550 527 5578E-7

Кол-Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 5

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

unit Xuk;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids;

type

TForm1 = class (TForm)

Edit2: TEdit;

Edit4: TEdit;

Label1: TLabel;

Label2: TLabel;

Label4: TLabel;

ComboBox1: TComboBox;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

StringGrid1: TStringGrid;

Edit1: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Button1: TButton;

Edit3: TEdit;

Label3: TLabel;

Edit5: TEdit;

Edit8: TEdit;

procedure FormCreate (Sender: TObject);

procedure Button1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

type Tper = class (TObject)

private

one:real;

two:real;

end;

procedure schityvanie;

function func (h:real):real;

procedure sechenie (var c: real);

var

Form1: TForm1;

alfa, t1, t2,x1,x2,e, F: real;

k, j, v, q: integer;

x, y, xp, d: Tper;

xstr, ystr, dstr: string;

implementation

{$R *.dfm}

procedure TForm1. FormCreate (Sender: TObject);

begin

ComboBox1.Items.Add ('(x1−2)^4+(x1−2*x2)^2');

ComboBox1.Items.Add ('4*x1+8*x2−2*x12−2*x22');

x:=Tper.Create;

xp:=Tper.Create;

y:=Tper.Create;

d:=Tper.Create;

end;

//считываниС Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

procedure schityvanie;

var

o, s, i, p: integer;

str, str1: string;

flaag:boolean;

begin

str1:='';

x.one:=0;

x.two:=0;

flaag:=true;

for o:=0 to 9 do

for s:=0 to Form1. StringGrid1.RowCount do

Form1.StringGrid1.Cells[o, s]: ='';

o:=0;

Form1.StringGrid1.RowCount:=10;

s:=2;

x.one:=StrToFloat (Form1.Edit2.Text);

x.two:=StrToFloat (Form1.Edit3.Text);

e:=StrToFloat (Form1.Edit4.Text);

j:=1;

Form1.stringgrid1.Cells[0,0]:='K';

Form1.stringgrid1.Cells[1,0]:='Xk/F (Xk)';

Form1.stringgrid1.Cells[2,0]:='j';

Form1.stringgrid1.Cells[3,0]:='dj';

Form1.stringgrid1.Cells[4,0]:='yj';

Form1.stringgrid1.Cells[5,0]:='shag';

Form1.stringgrid1.Cells[6,0]:='yj+1';

Form1.stringgrid1.Cells[7,0]:='d';

Form1.stringgrid1.Cells[8,0]:='shag';

Form1.stringgrid1.Cells[9,0]:='y3+shag*d';

end;

//вычислСниС значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

function func (h:real):real;

begin

If Form1. ComboBox1. Text='(x1−2)^4+(x1−2*x2)^2' then

func:=((y.one+h*d.one)-2)*((y.one+h*d.one)-2)*((y.one+h*d.one)-2)*((y.one+h*d.one)-2)+

((y.one+h*d.one)-2*(y.two+h*d.two))*((y.one+h*d.one)-2*(y.two+h*d.two))

else func:=4*(y.one+h*d.one)+8*(y.two+h*d.two)-2*(y.one+h*d.one)*(y.one+h*d.one)-2*(y.two+h*d.two)*(y.two+h*d.two);

end;

//ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·ΠΎΠ»ΠΎΡ‚ΠΎΠ³ΠΎ сСчСния

procedure sechenie (var c: real);

var

a, b, Fn, Fm, m, n:real;

begin

Fn:=0;

Fm:=0;

a:=StrToFloat (Form1.Edit5.Text);

b:=StrToFloat (Form1.Edit8.Text);

alfa:=0.618;

n:=a+(1-alfa)*(b-a);

m:=a+alfa*(b-a);

Fn:=func (n);

Fm:=func (m);

While (b-a)>=e do

begin

If Fn > Fm then

begin

a:=n;

n:=m;

Fn:=Fm;

m:=a+alfa*(b-a);

Fm:=func (m);

end

else

begin

b:=m;

m:=n;

Fm:=Fn;

n:=a+(1-alfa)*(b-a);

Fn:=func (n);

end;

end;

c:=(a+b)/2;

end;

//ΠΌΠ΅Ρ‚ΠΎΠ΄ Π₯ΡƒΠΊΠ° ΠΈ Π”Тивса

procedure TForm1. Button1Click (Sender: TObject);

var

j, w, num:integer;

Shag, Zfun, per: real;

flag:boolean;

arg:string;

begin

q:=0;

k:=0;

num:=2;

j:=0;

Shag:=0;

schityvanie;

xstr:='['+FloatToStrF (x.one, ffFixed, 7,4)+';'

+ FloatToStrF (x.two, ffFixed, 7,4)+']';

y.one:=x.one;

y.two:=x.two;

Zfun:=func (0);

Form1.stringgrid1.Cells[1,2]: =FloatToStr (Zfun);

ystr:='['+FloatToStrF (x.one, ffFixed, 7,4)+';'

+ FloatToStrF (x.two, ffFixed, 7,4)+']';

flag:=false;

while not flag do

begin

for j:= 1 to num do

begin

w:=j mod 2;

inc (q);

case j of

1:

begin

d.one:=1;

d.two:=0;

end;

2:

begin

d.one:=0;

d.two:=1;

end;

end;

dstr:='['+FloatToStrF (d.one, ffFixed, 2,2)+';'

+ FloatToStrF (d.two, ffFixed, 2,2)+']';

sechenie (Shag);

If w <> 0 then

begin

inc (k);

Form1.stringgrid1.Cells[0,q]: =IntToStr (k);

Form1.stringgrid1.Cells[1,q]:=xstr;

end;

Form1.stringgrid1.Cells[2,q]:=IntToStr (j);

Form1.stringgrid1.Cells[3,q]:=dstr;

Form1.stringgrid1.Cells[4,q]:=ystr;

Form1.stringgrid1.Cells[5,q]:=FloatToStr (Shag);

y.one:=y.one+shag*d.one;

y.two:=y.two+shag*d.two;

ystr:='['+FloatToStrF (y.one, ffFixed, 7,4)+';'

+ FloatToStrF (y.two, ffFixed, 7,4)+']';

Form1.stringgrid1.Cells[6,q]: =ystr;

If q>9 then Form1. StringGrid1.RowCount:=Form1.StringGrid1.RowCount+1;

end;

xp.one:=x.one;

xp.two:=x.two;

x.one:=y.one;

x.two:=y.two;

Per:=sqr ((x.one-xp.one)*(x.one-xp.one)+(x.two-xp.two)*(x.two-xp.two));

If (per

else

begin

d.one:=x.one-xp.one;

d.two:=x.two-xp.two;

dstr:='['+FloatToStrF (d.one, ffFixed, 7,4)+';'

+ FloatToStrF (d.two, ffFixed, 7,4)+']';

sechenie (Shag);

y.one:=x.one+shag*d.one;

y.two:=x.two+shag*d.two;

ystr:='['+FloatToStrF (y.one, ffFixed, 7,4)+';'

+ FloatToStrF (y.two, ffFixed, 7,4)+']';

xstr:=ystr;

If w = 0 then

begin

Form1.stringgrid1.Cells[7,q]: =dstr;

Form1.stringgrid1.Cells[8,q]:=FloatToStr (Shag);

Form1.stringgrid1.Cells[9,q]:=ystr;

end;

If q>100 then

begin

flag:=true;

ShowMessage (`функция Π½Π΅ ΠΎΠΏΡ‚имизируСтся');

end;

end;

If q>2 then

begin

Zfun:=func (0);

Form1.stringgrid1.Cells[1,q]: =FloatToStr (Zfun);

end;

end;

Form1.Edit1.Text:=FloatToStr (k);

Form1.Edit6.Text:='['+FloatToStrF (x.one, ffFixed, 7,4)+';'

+ FloatToStrF (x.two, ffFixed, 7,4)+']';

Form1.Edit7.Text:=FloatToStr (Zfun);

end;

end.

Π‘Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π₯ΡƒΠΊ ΠΈ Π”Тивс

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Кол-Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° X0 = [1;0]

0.1

[3,8826;1,3109]

0,269 660 220 874 356

0.01

[4,0037;1,3344]

1,4 801 924 616 0121E-7

0.001

[3,9957;1,3321]

6,387 997 156 7203E-8

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° X0 = [-2;2]

0.1

[3,7289;1,2470]

0,554 697 770 081 615

0.01

[3,9867;1,3287]

2,1 760 924 199 8115E-7

0.001

[3,9907;1,3305]

5,7 392 449 263 5677E-7

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° X0 = [4;2]

0.1

[4,5855;1,5198]

0,118 199 132 492 491

0.01

[4,5914;1,5296]

0,122 304 388 908 469

0.001

[4,0108;1,3372]

6,237 550 527 5578E-7

Π ΠΎΠ·Π΅Π½Π±Ρ€ΠΎΠΊ

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°

ΠžΠΏΡ‚. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Кол-Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° X0 = [1;0]

0.1

[3,8825;1,3110]

0,269 660 220 874 298

0.01

[4,0036;1,3345]

1,4 801 924 616 0075E-7

0.001

[3,9956;1,3322]

6,387 997 156 7171E-8

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° X0 = [-2;2]

0.1

[3,7288;1,2471]

0,554 697 770 081 565

0.01

[3,9866;1,3288]

2,1 760 924 199 8102E-7

0.001

[3,9906;1,3306]

5,7 392 449 263 5629E-7

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° X0 = [4;2]

0.1

[4,5854;1,5199]

0,118 199 132 492 464

0.01

[4,5913;1,5297]

0,122 304 388 908 453

0.001

[4,0107;1,3373]

6,237 550 527 5548E-7

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ Ρ…ΠΎΠ΄Π΅ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π» ΠΈΠ·ΡƒΡ‡Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π₯ΡƒΠΊΠ° ΠΈ Π”Тивса с Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΌ шагом.

ΠœΠ΅Ρ‚ΠΎΠ΄ относится ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ поиск ΠΏΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ. Алгоритмы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΎΠΉ поиск, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰Π΅Π³ΠΎ шага. КаТдая итСрация этих Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² состоит ΠΈΠ· Π΄Π²ΡƒΡ… этапов: поиск вдоль ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½Ρ‹Ρ… осСй, ΠΈΠ»ΠΈ, ΠΈΡΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ поиск; поиск ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·Ρ†Ρƒ, ΠΈΠ»ΠΈ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠΉ шаг.

Π‘Ρ‹Π»Π° написана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Ρ‘ ΠΈΠ·ΡƒΡ‡Π΅Π½Π° функция

F (X) = (Π₯1-4)4 +(X1-3X2)2

Для наглядности Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ (основноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ критСрия остановки) ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ°.

Π‘Ρ‹Π»ΠΈ сдСланы ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹:

— ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ увСличиваСтся с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ точности

— ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ увСличиваСтся Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΡΡ‚ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Π­ΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ сравнСниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π₯ΡƒΠΊΠ°-ДТивса ΠΈ Π ΠΎΠ·Π΅Π½Π±Ρ€ΠΎΠΊΠ° ΠΏΠΎ Ρ‡ΠΈΡΠ»Ρƒ вычислСний ΠΈ ΠΏΠΎ Ρ‡ΠΈΡΠ»Ρƒ Π²Ρ‹Π·ΠΎΠ²Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π ΠΎΠ·Π΅Π½Π±Ρ€ΠΎΠΊΠ°. Но Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π ΠΎΠ·Π΅Π½Π±Ρ€ΠΎΠΊΠ° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ ΠΈΠ΄ΡƒΡ‚ Π½Π° ΠΏΠ΅Ρ€Π΅ΡΡ‡Π΅Ρ‚ систСмы ΠΎΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ