1、2以为初始点,求解问题 Min S.t. 3若则停,得近似解;否则令回2.求满足从出发,求改变约束极值方法输出结果二、算法框图三、算法程序clcm=zeros(1,50);a=zeros(1,50);b=zeros(1,50);f0=zeros(1,50);syms x1 x2 e;m(1)=1;c=0.2;a(1)=2;b(1)=-3;f=x12+x22-e*(1/(2*x1+x2-2)+1/(1-x1);f0(1)=15; fx1=diff(f,x1); fx2=diff(f,x2fx1x1=diff(fx1,fx1x2=diff(fx1,fx2x1=diff(fx2,fx2x2=diff
2、(fx2,for k=1:100x1=a(k);x2=b(k);e=m(k);for n=1:f1=subs(fx1);f2=subs(fx2);f11=subs(fx1x1);f12=subs(fx1x2);f21=subs(fx2x1);f22=subs(fx2x2);if(double(sqrt(f12+f22)=0.002)a(k+1)=double(x1);b(k+1)=double(x2);f0(k+1)=double(subs(f); break; else X=x1 x2-inv(f11 f12;f21 f22)*f1 f2; x1=X(1,1);x2=X(2,1);endif
3、(double(sqrt(a(k+1)-a(k)2+(b(k+1)-b(k)2)=0.001)&(double(abs(f0(k+1)-f0(k)/f0(k)=0.001) a(k+1) b(k+1) k f0(k+1)break;elsem(k+1)=c*m(k);4、算法实现例1. 利用内点法求解 s.t 解:改变算法中f=x12+x22-e*(1/(2*x1+x2-2)+1/(1-x1); 回车完成结果复制粘贴代码,回车出现结果例2. 利用内点法求解 解:改变算法中f=x12-x22-e*(1/(x1+x2-3)+1/(-x1);例3. 利用内点法求解 改变算法中f=2*x12-x22-e*(1/(x1+4*x2)+1/(x2-x1);例4. 利用内点法求解改变算法中f=3*x12+x22-e*(1/(2*x1+x2)+1/(x2-x1);