惩罚函数的内点法

201-2014 (1) 专业课程实践论文

内点法

一、算法理论

内点法总是从可行域的内点出发,并保持在可行域内进行搜索,因此这种方法适用于只有不等式约束条件的问题

内点法据图计算步骤:

1.给定初x(0)∈intD,允许误差ε〉0,初始参数r1〉0缩小系数β∈(0,1),k=1;

(k-1)2.以x为初始点,求解问题

Min f(x)+rkB(x)

S.t. x∈int D

3.若rkB(x(k))〈ε则停,得近似解x(k);否则令rk+1=βrk,k=k+1回2.

三、算法程序

clc

m=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=x1^2+x2^2-e*(1/(2*x1+x2-2)+1/(1-x1));

f0(1)=15; fx1=diff(f,'x1'); fx2=diff(f,'x2');

fx1x1=diff(fx1,'x1');

fx1x2=diff(fx1,'x2');

fx2x1=diff(fx2,'x1');

fx2x2=diff(fx2,'x2');

for k=1:100

x1=a(k);x2=b(k);e=m(k);

for n=1:100

f1=subs(fx1);

f2=subs(fx2);

f11=subs(fx1x1);

f12=subs(fx1x2);

f21=subs(fx2x1);

f22=subs(fx2x2);

if(double(sqrt(f1^2+f2^2))

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);

end

end

if(double(sqrt((a(k+1)-a(k))^2+(b(k+1)-b(k))^2))

a(k+1)

b(k+1)

k

f0(k+1)

break;

else

m(k+1)=c*m(k);

end

end

四、算法实现 例1. 利用内点法求解minx1+x2

s.t 2x1

-x122 +x2-2≤0

+1≤0

解:改变算法中f=x1^2+x2^2-e*(1/(2*x1+x2-2)+1/(1-x1)); 回车完成结果 复制粘贴代码,回车出现结果

min x1-x2

22s.t  x1+x2-3≤0

-x1≤0

解:改变算法中f=x1^2-x2^2-e*(1/(x1+x2-3)+1/(-x1)); 回车完成结果

min 2x1-x2

22s.t  x1+4x2≤0

x2-x1≤0

解:改变算法中f=2*x1^2-x2^2-e*(1/(x1+4*x2)+1/(x2-x1)); 回车完成结果

min 3x1+x2

22s.t  2x1+x2≤0

x2-x1≤0

解:改变算法中f=3*x1^2+x2^2-e*(1/(2*x1+x2)+1/(x2-x1)); 回车完成结果

201-2014 (1) 专业课程实践论文

内点法

一、算法理论

内点法总是从可行域的内点出发,并保持在可行域内进行搜索,因此这种方法适用于只有不等式约束条件的问题

内点法据图计算步骤:

1.给定初x(0)∈intD,允许误差ε〉0,初始参数r1〉0缩小系数β∈(0,1),k=1;

(k-1)2.以x为初始点,求解问题

Min f(x)+rkB(x)

S.t. x∈int D

3.若rkB(x(k))〈ε则停,得近似解x(k);否则令rk+1=βrk,k=k+1回2.

三、算法程序

clc

m=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=x1^2+x2^2-e*(1/(2*x1+x2-2)+1/(1-x1));

f0(1)=15; fx1=diff(f,'x1'); fx2=diff(f,'x2');

fx1x1=diff(fx1,'x1');

fx1x2=diff(fx1,'x2');

fx2x1=diff(fx2,'x1');

fx2x2=diff(fx2,'x2');

for k=1:100

x1=a(k);x2=b(k);e=m(k);

for n=1:100

f1=subs(fx1);

f2=subs(fx2);

f11=subs(fx1x1);

f12=subs(fx1x2);

f21=subs(fx2x1);

f22=subs(fx2x2);

if(double(sqrt(f1^2+f2^2))

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);

end

end

if(double(sqrt((a(k+1)-a(k))^2+(b(k+1)-b(k))^2))

a(k+1)

b(k+1)

k

f0(k+1)

break;

else

m(k+1)=c*m(k);

end

end

四、算法实现 例1. 利用内点法求解minx1+x2

s.t 2x1

-x122 +x2-2≤0

+1≤0

解:改变算法中f=x1^2+x2^2-e*(1/(2*x1+x2-2)+1/(1-x1)); 回车完成结果 复制粘贴代码,回车出现结果

min x1-x2

22s.t  x1+x2-3≤0

-x1≤0

解:改变算法中f=x1^2-x2^2-e*(1/(x1+x2-3)+1/(-x1)); 回车完成结果

min 2x1-x2

22s.t  x1+4x2≤0

x2-x1≤0

解:改变算法中f=2*x1^2-x2^2-e*(1/(x1+4*x2)+1/(x2-x1)); 回车完成结果

min 3x1+x2

22s.t  2x1+x2≤0

x2-x1≤0

解:改变算法中f=3*x1^2+x2^2-e*(1/(2*x1+x2)+1/(x2-x1)); 回车完成结果


相关文章

  • 基于VB外点惩罚函数法的实现
  • Equipment Manufactring Technology No.3,2011 基于VB外点惩罚函数法的实现 殷晓飞1,任晓丹2 (1.呼和浩特职业学院机电工程学院,内蒙古呼和浩特010051: 2.内蒙古机电职业技术学院电气工程系 ...查看


  • 求解非线性规划问题的遗传算法设计与实现
  • 摘 要 非线性规划在工程.管理.经济.科研.军事等方面都有广泛的应用.传统的解决非线性规划问题的方法,如梯度法.罚函数法.拉格朗日乘子法等,稳定性差,对函数初值和函数性态要求较高,且容易陷入局部最优解. 遗传算法是模拟达尔文的遗传选择和自然 ...查看


  • 型钢混凝土矩形截面梁优化设计
  • 第39卷增刊2 20 哈尔滨工业大学学报 JOURNALOFHARBININSTITUTEOF VoL39 Sup・2 07年8月 TECHNOLOGY Aug・2007 型钢混凝土矩形截面梁优化设计 曾 磊,郑山锁,查春光,李磊,邓国专, ...查看


  • 惩罚函数法
  • 惩罚函数法 #include"stdio.h" #include"stdlib.h" #include"math.h" const int kkg=3; double r0; do ...查看


  • 运筹学外点法
  • (一) 实验目的 熟练掌握外点法.内点法原理并可以在matlab 熟练运行. (二) 问题描述 目标函数:z =min x 1+x 2 s.t. –x 21+x 2≥0 x 1≥0 (三) 算法介绍 外点法: 对于混合约束问题 min f( ...查看


  • 优化设计 孙靖民 课后答案第6章习题解答
  • 第六章习题解答 1. 已知约束优化问题: min f (x ) =(x 1-2) 2+(x 2-1) 2 s ⋅t g 1(x ) =x 12-x 2≤0g 2(x ) =x 1+x 2-2≤0 试从第k 次的迭代点x (k ) =[-12 ...查看


  • 修正免疫克隆约束多目标优化算法
  • 软件学报ISSN 1000-9825, CODEN RUXUEW E-mail: [email protected] Journal of Software,2012,23(7):1773−1786 [doi: 10.3724/SP.J.100 ...查看


  • 基于改进遗传算法的汽车混流装配线物料配送路径优化
  • 物流科技2016年第2期 k矛stics Sci-Tech No.2,2016 ・理论研究・ 文章编号:1002-3100(2016)02-0016-05 基于改进遗传算法的汔车混流装配线物料配送路径优化 0删.吼iza60n ofMate ...查看


  • 马尔可夫决策过程实例讲解
  • Machine Learning 16-Reinforcement Learning 之前我们学过3个部分的内容:监督学习.学习理论.半监督学习.现在我们来学习第四部分:自增强学习. 在监督学习中,给定了训练集以及对应的标签y ,算法要做的 ...查看


热门内容