1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phương pháp điểm trong và ứng dụng9

18 287 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phương Pháp Điểm Trong Và Ứng Dụng
Trường học University of Science and Technology
Chuyên ngành Mathematics
Thể loại Luận văn
Năm xuất bản 2023
Thành phố Hanoi
Định dạng
Số trang 18
Dung lượng 2,22 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Luận văn thạc sĩ toán học: Phương pháp điểm trong và ứng dụng

Trang 1

-57-

Phu Luc Một số thuật toán điểm trong giải bài toán quy hoạch tuyến tính ở dạng chính tắc

*%##%sk+okseksks+okkse£E+e£'Thuật toán tỷ lệ affine **** FFE EEREERRRAER ERE EERE

function[X,dem]=main(A,b,c)

x=timnghiemxuatphat(A,c,b);

[X,dem]=hamchinh2(A,c,x);

FCIAC ICI I AOR ICR ICR I CR Cf aC fe ak Fe fe fe € << C

function[x,y]=kiemtra(s,x,y)

%Xx,s la vec to cot

epsi=0.000001;

a=length(x);

T=ones(1,a);

X=diag(x);

hl=I*X*s;

h2=-X*X*s;

J=0;

for i=1:length(s)

if s(i)>=0

J=i*l;

bQ)=s();

end

end

bị

k1=length(b);

k2=length(s);

if(kl == k2)&(hl<epsi)

fprintf{(Nghiem hien hanh da toi uu.\n')

fprinf(x= %g',X);

fprinf(%g',y);

elseif (h2>=0)

fprinfCMuc tieu toi uu la am vo cuc)

else

return

end

SOIC đc Ác do CAC ACCA ECACC ACA CACC A A CACC OE

Trang 2

function[x,T]=kiemtra2(x)

j=0;

b=0;

k=0.01;

:length(x)

J=l+l;

if (x(i)==0)I(x(i)<k)

Tels

for

break

else

b0)=x@);

end

end

b2=length(x);

if(length(b)==b2)

T=0;

end

2 Re c dị eof fe fe 2 fe 2k a Re 2 28 ok eo oe oc os ac os ae ok ae ok ake akc ae ae

function[y,s]=nghiemdoingau(A,x,c)

%x.¢ la vecto cot

X=diag(x);

yl=A*X*X*A';

y2=inv(y);

y3=A*X*X*%c;

y=y2"y3;

s=c-A'*y;

33K oe eo He A fe oR RC AC Rk ae ake 2 fe di k dể c eo ak a ae a ae

function[x2]=timnghiemxuatphat(A,c,b) M=1000;

[m,n]=size(A);

x=ones(n+1,1);

e=ones(n,1);

Al=b-A*e;

for i=1:(n+1)

if (i<=n)

cl(,1)=cŒ,1);

else

c1(,1)=M;

end

Trang 3

- 59 -

end

c1;%vec to c khi them thanh phan

for i=1:m

for j=1:(n+1)

if j<=n

A2(,=AG,)s

else

A2(i,J=ALG,1)5

end

end

end

A2;%Matran A khi them thanh phan

(x1,d]=hamchinh2(A2,cl,x);

for i=1:(n+1)

if (i<=n)

x2(,1)=x1(,1);

end

end

x2;

3X đc đc 4444444444444 "huật toán Gidm the SERRE RR RAR AAA AAA ARR

function[x2,y2,s2]=nghiemtoiuu(A,c,b)

MI=100;

M2=200;

[m,n]=size(A);

e=ones(n,1);

for i=1:(n+2)

if (i<=n)

el (i,1)=c(i,1);

end

if i==n+1

cl(,1)=MI;

end

ifi==n+2

cl(i,1)=0;

end

end

cl%vec to c khi them thanh phan

%tim b gach

A2=b-A*e;

Trang 4

:(m+l)

for j=1:(n+2)

if (j<=n)&&(i<=m)

A30j)=AG¡j);

end

if G==n+1)&&(i<=m)

A3(i,jJ=A2(i, 1)s

end

if G==n+2)&&(i<=m)

if ==m+1)&&(j<=n)

A3G,)=VG,D;

end

m+1)&&(j==n+1)

A3(i,j)=0;

end

ifG==m+1)&&(j==n+2)

A3G,)=1;

end

end

end

A3;%Matran A khi them thanh phan

for i=1:(n+2)

if (i<=n)

x(i,1)=1;

end

ifi==n+l

x(Œ,I)=l;

end

ifi==n+2

x(,1)=M2-(e-c)'*e;

yG,1)=0;

end

Trang 5

we§T x

if i==m+1

yd,1)=-1;

end

end

if i==n+1

s(i,1)=M1;

end

ifi==n+2

sq,1)=l;

end

end

§S;

{[x1,y1,s1]=main(A3,x,y,s,c 1);

for i=1:(n+2)

if (i<=n)

x2(,1)=x1(,1);

end

end

x2

for i=1:(m+1)

if (i<=m)

y24,1)=y1,1);

end

end

y2;

for k=1:(n+2)

if (k<=n)

s2(k,1)=s1(k,1);

end

end

s2;

FICCI ACI AICI ICICI a A I a AC a GIR I OR Ia a a

function[x,y3,s]=main(A,x,y,s,c)

K=kt(x,s);

ep=0.00000001;

Trang 6

while K>=ep

[D,U]=huong(A,x,s);

[x,y,s]=up(x,s,y,D,A,U),

K=kt(x,s);

end

yl=pinv(A’);

y2=c-s;

y3=y1*y2;

34OXEICOIECE XE CÁ 4X 4 đo ACE AR ACR SACI ACHR ACI ACHE function[D,U]=huong(A,x,s)

[m,n]=size(A);

q=n+sqrt(n);

Ro=0.28537;

X=diag(x);

A2=A*X;

A3=inv(A*X*X*A');

Al=A2*A3*A2;

UI=X%s;

U2=q/(s'*x);

e=ones(n,1);

T=eye(n);

U3=(U1*U2)-e;

U=(-A1)*(U3);

U4=norm(U);

D=-Ro*X*(U/U4);

Ee fe fe fee Re ake oe eo fe ake 2 2k eo a a a aa ak a aK a

function[x,y,s]=up(x,s,y,D,A,U)

[m,n]=size(A);

e=ones(n,1);

X=diag(x);

to=0.479056;

q=n+sqrt(n);

ul=norm(U);

K=inv(A*X*X*A‘);

if ul>=to

else

X=x;

s=((s'*x)/q)*(inv(X))*(U+e);

Trang 7

-63-

yayt(K*A*X*(X*s-(((s'*x)/q)*e)));

end

FCIAC CIC IGICICI AGI AIO GR ICI II sÉ S‡ Ác 2% a

function[K]=kt(x,s)

K=s*x;

3⁄4eletetetexexesete+etctct©+£Thuật toán theo đường trung tâm gỐC ***#**#*###########e4exexese+ function[x,y,s]=capnhat(A,x,d,y,c)

s=c-A'*y;

x=x+d;

y=y;

S4 đc đc các CACR ACC ACCA AC ACACIA A CAC A

function[d,y]=doanNT(A,x,c,muy)

%c.x la vec to cot

[m,n]=size(A);

X=diag(x);

T=eye(n);

e=ones(n,1);

AI=A*X*X*A;

A2=inv(AI);

d4=X*X*A'*A2*A;

dI=(-d4);

d3=(X*X*c)*(1/muy);

d2=(X*e-d3);

d=d1*d2;

y=A2*A*(X*X*c-muy*X*e);

SRC ACR A ACCRA ACCC RR CR A A AC RR A CCE đc

function[x,y,s]=hchinh(A,x,y,s,c,muy)

Epsi=0.000001;

%muy=2;

K=kt(s,x);

while K>=Epsi

muy=0.92* muy;

[d,y]=doanNT(A,x,c,muy);

[x,y,s]=capnhat(A,x,d,y,c);

K=kt(s,x);

end

JESSE SI CSIC IGIO SIO ISIS ICICI IIIA IR

function[K]=kt(x,s)

Kes'*x;

JSS CSI CASIO ISIC ISIC SIO ICR ICICI AAA AIR

Trang 8

function[x3,y2,s2]=nghiemxuatphat(A,c,b) M=100 ;

[m,n]=size(A);

% bai toan nhan tao goc

x=ones(n+2,1);

e=ones(n,1);

for i=1:(n+2)

if (i<=n)

el(i,1)=c(i,1);

end

ifi==n+l

cl(,1)=M;

end

if i==n+2

cl(i,1)=0;

end

end

cl;%vec to c khi them thanh phan

%im b gách

for i=l:m

for j=1:n

if A(i,j)<0

ALGj=-AGj)s

else

A1G,)=AG)s

end

end

end

Al;

for i=l:m

for j=l:n

U2=max(A1(i,j));

end

end

U2;

bl=max(abs(b));

c2=max(abs(©));

Ul=max(bl,c2);

U7=max(U2,U1);

U=U7;

Trang 9

-65-

%U=100

rl=(m*U)^m ;

12=(n+2)/(n*r1);

r3=(n*r1)/(n+2);

b2=r2*b;

%b2 chinh la b gach

A2=b2-A*e;

for i=1:(m+1)

for j=1:(n+2)

if §<=n)&&(i<=m)

Dg,j)=Adj);

end

==n+l)&&(<=m)

Dúq,j)=A2(,1;

end

if G==n+2)&&(i<=m)

Dúj)=0;

end

1ƒ (==m+1)&&(j<=n)

Dúj)=1;

end

if (i==m+1)&&G==n+1)

DG,)=1;

end

if G==m+1)&&(j==n+2)

DGD=1;

end

end

end

D;%Matran A khi them thanh phan

h=norm(c);

muy=4*(sqrt(h^2+M^2));

for i=1:(m+1)

if (i<=m)

y(i,1)=0;

end

if i: +1

y(,1)=-muy;

end

end

ys

Trang 10

d=c+muy*e;

for i=1:(n+2)

if (i<=n)

s(i,1)=d(i, 1);

end

if i==n+1

s(i, 1)=M+muy;

end

ifi==n+2

s(,1)=muy;

end

end

§

[x1,y1,sI]=hchinh(D,x,y,s,c1,muy);

for i=1:(n+2)

if (i<=n)

x2(i, =x 1(i,1);

end

end

x25

X3=137x2;

for i=1:(m+1)

if (i<=m)

y2,1)=y1đ,1);

end

end

y2;

for k=1:(n+2)

if (k<=n)

s2(k,1)=s1(k,1);

end

end

sy

esto eka a oe

“#Thuật toán đường trung tâm gốc-đối ngẫu***##%##%%#%

function[x,y,s]=chinh(A,b,c,x,y,s)

K=ktra(s,x);

epsi=0.00001;

[m,n]=size(A);

teta=0.5;

E1

Trang 11

-67-

muy=(s'*x)/n;

while (K >=epsi)&&(t<=10)

[Dx,Dy,Ds]=doan_Newton(A,x,s,muy);

p=gtnn(x,Dx);

d=gtnn(s,Ds);

[xy,s]=up(x,y,s,Dx,Dy,Ds,p,d);

muy=(1-teta)*muy

K=ktra(s,X);

t=t+l;

end

đã đc đồ Xí 4cd CSIC ACR CAC AC ICR doc doc function[x,y,s,t]=chinh11(A,b,c,x,y,s)

K=ktra(s,x);

epsi=0.0000001;

to=3.186;

[m,n]=size(A);

teta=0.999;

muy=(s'*x)/n;

t=0;

while n*muy >=epsi

muy=(1-teta)*muy;

G=giatri(x,s,muy);

u=0;

while G>=to

[Dy,Dx,Ds]=NT(A,x,s,muy);

p=gtnn(x,Dx);

d=gtnn(s,Ds);

[x,y,s]=up(x,y,s,Dx,Dy,Ds,p,d);

G=giatri(x,s,muy);

u=u+l;

end

t=t+l;

end

EIS ISISISIOISSIO SIO ASIII ACR SACK SCA RICA AA A function[Gi]=giatri(x,s,muy)

%muy=(1-0.99)*muy;

for i=1:length(x)

w1(i)=sqrt(x(i)*s(i)/muy);

end

wl;

for i=1:length(x)

Trang 12

w2(i)=sqrt(muy/(x(i)*s(i)));

end

w2;

Gi=0.5*norm(w1-w2);

TR RC fe Ae Re EE SE dị eo AE FE AE 2 EO AE EAR EE € ĐC

function[P]=gtnn(a,k)

anpha=0.995;

(h,g]=gtnn I (a,k);

if(length(g)==length(k))

PI=I;

end

if (length(h)<=length(k))

if h==

PI=l;

else

hl=-h;

bl=anpha*hl;

b2=min(b1);

P1=min(1,b2);

end

end

P=anpha*P1 ;

FICCI GCC IC ICICI ICICI I CR CR IR I eH 2k a 2k a i ake

function[{h,g]=gtnn1(a,k)

Yanpha=0.5;

%j=0;

t=0;

n=length(k);

h=0;

g=0;

for i=1:

Jj

%j=j+l;

if (k(i)<0)

j=i+l;

h@)=a()/k@);

else

t=t+l;

g(0=kQ);

Trang 13

-69-

end

end

ke oe ko ae ok 2 2 2k ae ok 2 feo eof 2 ke a fe oe ae a ae a ae a ae ai a ak a

function[K]=ktra(s,x)

K=s*x;

S3 E đc Ác đ đc đe đo đe 4cđdcX đcđk

function[Dy,Dx,Ds]=NT(A,x,s,muy)

X=diag(x);

S=diag(s);

SI=inv(S);

[m,n]=size(A);

I=eye(n);

[m,n]=size(A);

e=ones(n, 1);

Al=inv(A*SI*X*A);

Dy=A1*A*S1*(X*S*e-muy*e);

Dx=-S1*(I-X*A'*A1*A*S1)*(X*S*e-muy*e);

Ds=-A'*Dy;

SEAR A ACI AC ACR A CCR RICCO RR

function[x,y,s]=up(x,y,s,Dx,Dy,Ds,p,d)

x=x+p*Dx;

y=y+d*Dy;

s=s++d*Ds;

**Thuat toán theo đường trung tâm gốc-đối ngẫu với hàm chắn tự chính quy#** function[x1,s1,y1]=main(A,b,c,x,y,s,t,k,v)

[m,n]=size(A);

muy=l;

teta=0.999;

ep=0.0000001;

to=3.2;

h=n+1;

jsh*muy;

while j >=ep

muy=(1-teta)*muy;

j=h*muy;

Gi=giatrihamchan(x,s,t,k,muy)

i=l;

while i<=10

Trang 14

% while Gi>=to

[Dy,Dx,Dt,Dv,Ds,Dk]=huongNewton(A,b,c,x,y,s,t,k,v,muy);

[anpha]=dodaibuoc(x,Dx,s,Ds,y,Dy,t,Dt,k,Dk,v,Dv);

[x,y,s,k,v]=capnhat(x,y,s,t,k,v,anpha,Dx,Dy,Ds,Dt,Dk,Dv);

Gi=giatrihamchan(x,s,t,k,muy);

i=i+1; end

end

xl=x/t;

yl=y/t,

sl=s/t;

JOISISOISIS SSIES AISIOI SISO SISSIES AIK AIK

function[x1,y1,s1,t1,k1,v1]=capnhat(x,y,s,t,k,v,anpha,Dx,Dy,Ds,Dt,Dk,Dv) xl=x+anpha*Dx;

yl=y+anpha*Dy;

sI=s+anpha*Ds;

tl=t+anpha*Dt;

kl=k+anpha*Dk;

vl=v+anpha*Dvy;

FICCI CIC ICICIGI A I ICR ICICI HCH ACH Ci aki ak eae

function[anpha]=dodaibuoc(x,Dx,s,Ds,y,Dy,t,Dt, k,Dk,v,Dv)

T1=do(x,Dx);

MI=max(T1);

T2=do(s,Ds);

M2=max(T2);

T3=do(y,Dy);

M3=max(T3);

T4=do(t,Dt);

14=max(T4);

T5=do(v,Dv);

%MS5=mac(T5);

T6=do(k,Dk);

%M6=max(T6);

M7= max(M1,M2);

M8=max(M3,T4);

M9=max(T5,T6);

M10=max(M7,M8);

M11=max(M9,M10);

M12=-M11;

anpha=0.99995*M 12;

GN

DHE RA HCE A THC A ACHE RF TICE RR I ACCES dc

Trang 15

291s

function[b]=do(x,s)

for i=1:length(x)

a(i)=x(i)/s(i);

end

jJ=*l;

ifa@)<0

bQ)=aQ);

else

b(j)=-100;

end

end

Fee fee Re CRC c dị fe fe Re aR ek a fe ae ea ae ake ae ake a aie ake ake ake

function[S]=giatrihamchan(x,s,t,k,muy) for i=1:length(x)

Z@)=xŒ)*s()/muy;

UI@)=sart());

end

Ul;

for i=1:length(x)

Z)=muy/(x()*s());

UQ)=sqrt(z0));

end

U;

U2=sqrt((t*k)/muy);

U3=((U2-1/U2)^2)*0.5;

t=U1;

for i=1:length(t)

T@)=(t)-1/t))*@@)-1⁄t))*0.5;

end

T;

$1=0;

for i=1:length(T)

$1=S1+T(i);

end

S1;

S=S1+U3;

FEO CC CC đc 4E đc dd ICICI I I A ACCC EI RoR

Trang 16

function[Dy,Dx,Dt,Dv,Ds,Dk]=huongNewton(A,b,c,x,y,s,t,k,v,muy) [Rp.Rd,Rg,Beta]=saiso(A,b,c,x,y,s,L,k,V);

[Rtk,Rxs,RIxs]=saiso I(muy,x,s,t,k);

Dv=(R1xs+Rtk)/Beta;

Rp1l=Rp*Dv;

X=diag(x);

S=diag(s);

XI=inv(X);

Rd1=Rd*Dv+X1*Rxs;%sai so voi cong thuc la*Rxs

Rgl=Rg*Dv+Rtk/t;

D2=inv(X1*S);

a=-b-A*D2*c;

al=(b-c*D2*A;

G= k/t+(c *D2*c);

Rp12=Rp1-A*D2*Rd1;

Rg12=Rg1+(c'*D2*Rd1);

a3=a/G;

r=Rp12-Rg12*a3;

AI=A*D2*A;

11=pinv(A1)*r ;%gia nghịch dao

12=pinv(A1)*(-a3);

Dy=I1-12*((a1'*11)/(1+a1'*12));

Dt=(Rg12-al'*Dy)/G;

Dx=D2*Rd1+D2*A'*Dy-D2*c*Dt;

Ds=X1*(Rxs-S*Dx);

Dk=(Rtk-k*DUWt;

ĐI RR I CORR ARICA RCA RR a TM dd

functon[Rp, Rd,Rg,Beta]= saiso(A,b,c,x,y,s,t,k,v)

Rp=(A*x-b*0/V;

Rd=(c*t-A'*y-s)/v;

Rg=(-c'*x-k-b'*y)/v;

Beta=x'*s+t*k;

ACR RAH RF AR RA AA lO A OO

function[Rtk,Rxs,R1xs]=saiso1(muy,x,s,t,k)

%ham chan chon co dinh la ham T=((w-1/w)42)/2

%la ham chan tu-chinh quy

for i=1:length(x)

2(i)=(x(i)*s(i))/muy;

Ul(i=sqrt(a(i));

end

Trang 17

“¡no

Ul:

U2=sqrt((t*k)/muy);

W1=hamchan(U1);

W2=hamchan(U2);

Rtk=-muy*(U2*W2);

for i=1:length(UI)

Rxs2(i)=-U 1(i)*W 1(i)*muy;

end

Rxs2;

RXS=Rxs2'*

R1xs=-muy*U1*W1';

Ae He Re A CRC Fee fe Re Re c c dc sự c dị fe ak ae ake ae ake ae ake ak ae ake

function [T2] =hamchan (u)

teu;

for i=1:length(t)

T2 (i) =(t (i) -1/t (i) ) * (1+1/t (i) *2) 7

end

%format long

T2;

3K 3€ dk sc tự ậc c dc Í€d €3 2k csỆ c sự Re eae a ake ae ake akc aie ak ake ae

function{anpha]=CPDgiam(A,b,c,x,y,s,dx,dy,ds,t,m) for i=1:length(x)

k1()=dx()/x();

end

kl;

hl=norm(k1);

for :length(s)

1Q)=ds()/s();

end

1;

k=norm(1);

w=sqrt(h1^2+k^2);

anpha=1/w-1/(w+4*t*t);

HR Re ee ae ok a fee €s eRe 2 sự sự aR a ake ak afc ake ke ak ae ake ae aie a aie

function[T]=CPDchan(x,s,m)

for i=1:length(x)

ul (i)=sqrt((x(i)*s(i))/m);

end

nls

for i=1:length(x)

u2(i)=sqrt(m/(x(i)*s(i)));

Trang 18

end

u2;

T=0.5*norm(ul-u2);

Hee Re Re CR a Hee fe Re ak eR a ak a ae a ae a ea a ae 2K ae

function[Dx,Dy,Ds]=CPDbuoc(A,b,c,x,y,s,m) S=diag(s);

X=diag(x);

SI=inv(S);

for i=1:length(s)

s2(i,1)=1/s(i);

end

s2;

Dy=(nv(A*X*S1I*A'))*(b-m*A*s2);

Ds=-A'*Dy;

Dx=m*s2-x-x*s2'*Ds;

RS A eo Fe oe Ae € sự c dị Ee fe ae Ae fe € d3 s3 s3 s‡

function[x,y,s,dem1,x1,x2]=CPDchinh(A,b,c,x,y,s) [m,n]=size(A);

muy=x'*s/n;

ep=0.0001;

to=3.18671;

dem=0;

dem1=0;

while((n*muy)>ep)

muy=(1-0.999)*muy;

t=CPDchan(x,s,muy);

while (t>=to)

[dx,dy,ds]=CPDbuoc(A,b,c,x,y,s,muy); a=CPDgiam(A,b,c,x,y,s,dx,dy,ds,t,muy); x=x+a*dx;

s=s+a*ds;

y=yta*dy;

t=CPDchan(x,s,muy);

deml=dem1+1;

for i=dem1:dem1

x1(1,)=x(1,1);

x2(1,j)=x(2,1);

end

end

dem=dem+l;

Ngày đăng: 10/04/2013, 11:59

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w