Equipment Manufactring Technology No.3,2011
基于VB外点惩罚函数法的实现
殷晓飞1,任晓丹2
(1.呼和浩特职业学院机电工程学院,内蒙古呼和浩特010051;
2.内蒙古机电职业技术学院电气工程系,内蒙古呼和浩特010070)
摘要:外点惩罚函数法是机械优化设计中一种常用来解决有约束问题求解的重要方法。基于VisualBasic6.0平台编写程序,设计实现外点惩罚函数法并进行实例验证,运用该程序可以满足在机械设计中的优化需要,从而缩短设计周期,保证设计参数的最优解。
关键词:外点惩罚函数法;VB;机械;设计;实现中图分类号:TH123
文献标识码:A
文章编号:1672-545X(2011)03-0064-03
机械优化设计方法,是现代机械设计过程中寻
求最优化设计的一种重要手段,它将数学规划理论、计算机技术和机械设计理论与方法结合在一起,以解决在机械设计中最优化的设计问题,提高机械设备的可靠性,减小体积,降低成本等。在机械优化设计过程中,优化算法种类很多,针对求解问题的性质、规模及解题思路和策略不同,设计人员需要寻找合适的算法,满足机械设计方案的要求。
外点惩罚函数法,具有收敛速度快的优点,在设计中经常使用。因此,为了方便设计人员使用该方法,利用VB实现外点惩罚函数法的研究,是十分必要的。
1外点惩罚函数法
机械设计优化问题,就是在给定的载荷或环境条件下,在给定的约束范围内,选取设计变量,建立目标函数,并使其获得最优值的一种新的设计方法。常用的优化方法有一维搜索最优化方法、多变量无约束优化方法和约束最优化方法。在实际中遇到的机械设计问题,其设计变量大都受到一定条件的限制,这就需要通过约束最优化方法进行求解。约束最优化方法,主要包括约束随机方向搜索法、复合形法和惩罚函数法。
惩罚函数法根据约束形式和构造的函数及罚因子的不同,又分为内点惩罚函数法、外点惩罚函数法和混合型惩罚函数法3种。
外点惩罚函数法能够同时解决含有等式和不等
式的约束优化问题,而且惩罚函数的构造、初始点的选择没有区域限制,具有收敛速度快的优点,所以经常被采用。
外点惩罚函数法的寻优路线,是从可行域外部逐渐逼近最优点的,其基本思想是根据不同的约束条件,针对等式约束或者是不等式约束,构造一种惩罚函数,将原本有约束寻优问题,转化为一系列的无约束寻优问题。在寻优迭代过程中,如果迭代点不满足约束条件,则根据迭代点的距离约束的程度,给予相对应的惩罚,从而影响惩罚函数的目标函数值;如果迭代点满足约束条件,则迭代点不会受惩罚,迫使一系列无约束的极值点会收敛于原问题的极值点。
由于外点法的迭代过程,在可行域之外进行,惩罚项的作用是迫使迭代点逼近约束边界或等式约束曲面。由惩罚项的形式可知,当迭代点不可行时,惩罚项的值大于零,使得惩罚函数大于原目标函数,这可看成是对迭代点不满足约束条件的一种惩罚。当迭代点离约束边界越远,惩罚项的值越大,这种惩罚越重。当迭代点不断接近约束边界和等式约束曲面时,惩罚项的值减小,且趋近于零,惩罚项的作用逐渐消失,迭代点也就趋近于约束边界上的最优点。
2程序开发
机械优化设计的步骤包括:
(1)建立数学模型,选取设计变量、确定目标函
数和给出约束条件;
(2)采用适当的最优化方法求解数学模型;
2010-12-21收稿日期:
作者简介:殷晓飞(1983—),男,内蒙古乌海人,助教,硕士,主要研究方向为机械设计制造及其自动化。
64
《装备制造技术》2011年第3期
(3)编制优化设计程序;
(4)求解优化结果;
(5)分析优化结果。
VB是一种MicrosoftWindows应用程序的开发工具,采用了“可视化设计”和“面向对象设计”技术,初学者只要掌握几个关键技术,就可以编制优化设计程序。
外点惩罚函数法是将有约束的问题,转换为无约束的问题,因此需要对无约束方法进行选取。无约束的方法采用变量轮换法进行多维搜索,在变量轮换法的一维搜索中采用进退法进行初始区间的确定,再利用黄金分割法求解一维最优值,计算程序框图如图1所示。
给定:X ∈R ,ε,r >0,c>1,n k ←1
(1)
(0)
n
c1=d-0.618*(d-c):m3=f7(x0+c1*s(1),y0+c1*s(2),r)
c2=c+0.618*(d-c):m4=f7(x0+c2*s(1),y0+c2*s(2),r)
DoWhiled-c>=g……
LoopWhileSqr((y-y0)^2+(x-x0)^2)>gIfAbs(8-x0-y0)>mAndz<wThenz=z+1
GoTokk
Else'惩罚结束,输出最优值Text7.Text=x0Text8.Text=y0EndIf
3应用实例
以X
(k-1)
为初始点,用无约束最优化方法(变量
(k )
轮换法、黄金分割法和进退法)求准(X ,r 的极小准(X ,r )=min准(X ,r )
(k )
(k -1)
(k )
(k )
)
‖X -X ‖≤ε?
输出:X *←X (k )f (X *)←f (X )
(*)
在机械设计过程中的许多约束优化问题,建立
的目标函数常可归结为函数f(x)的形式,对其最优化设计的数学模型可简化为
minf (X )g i (X )≥0
r ←cr k ←k +1
(k +1)(k )
h j (X )=0
X =(x 1,x 2,…,x n )
(k )
m
T
结束
转化后的外点惩罚函数的形式为min[0,g i (X )]Σmin准(X ,r )=f (X )+r ΣΣ
i =1
(k )
2
图1计算程序框图
主要部分VB优化程序如下:
……z =1
kk:r=r*v
Fori=1To2'进行二维搜索,变换轮换法x=x0:y=y0'给定初始点x0,y0Ifi=1Thens(1)=1:s(2)=0
EndIf'通过数组选择搜索方向……
'进退法确定初始搜索区间
a1=x0*s(1)+y0*s(2):f1=f7(x0+a1*s(1),y0+a1*s(2),r)
a2=a1+h:f2=f7(x0+a2*s(1),y0+a2*s(2),r)……
'黄金分割法寻求在一维下的最优解
式中,
+r
(k )
Σ[h (X )]
j=1
j 0
u
2
r ———惩罚因子,0<r <r <…<…→+∞min[0,g (X )]Σ,ΣΣΣ[h (X )]
i =1
i
j=1
j
m
2
u
2
1
—分别为对应——
于不等式约束和等式约束函数的惩罚项。
选取文献[1]上的一个例题进行验证。利用外点惩罚函数法求目标函数为
)=x 1+x 2-x 1x 2-10x 1-4x 2+60,minf (X
h (x )=x 1+x 2-8=0
如图2所的最优解。在程序对话框中输入已知参数,
示。观察输出结果,可以得到极值点x 1=5,x 2=3,极值f (x )=17。根据优化结果,发现和理论计算结果一致。
2
2
65
Equipment Manufactring Technology No.3,2011
点惩罚函数,寻优计算程序框图,把有约束问题转化
无约束方法利用变量为无约束问题进行求解。其中,
轮换法进行多维搜索,在变量轮换法的寻优过程中,通过进退法寻找最优初始搜索区间,同时又采用黄金分割法进行一维搜索,寻找最优解。利用VB编程并进行实例验证,能够解决在实际工程中的最优设计问题。
图2优化界面
参考文献:
[1]孙靖民.机械优化设计[M].北京:机械工业出版社,2004.[2]陈秀宁.机械优化设计[M].杭州:浙江大学出版社,2002.[3]孟兆明,常德功.机械最优设计技术[M].北京:化学工业出版社,2002.
[4]明日科技,高春艳,等.VisualBasic应用开发完全手册[K].北京:人民邮电出版社,
2006.
4结束语
外点惩罚函数法在机械优化设计过程中,既可
以解决等式约束优化问题,又可以解决不等式约束
优化问题,是一种很重要的常用的方法。通过建立外
RealizationofExteriorPointPenaltyFunctionMethodbasedonVisualBasic
YINXiao-fei1,RENXiao-dan2
(1.MechanicalandElectricalEngineeringCollege,HohhotVocationalCollege,Hohhot010051,China;2.ElectricalEngineeringDepartment,NeiMongolTechnicalCollegeofMechanicsandElectrics,Hohhot010070,China)Abstract:Theexteriorpointpenaltyfunctionmethodisanimportantmethodoftentosolvetheconstrainedoptimizationprobleminoptimaldesignofmachine.BasedonVisualBasic6.0platform,program,designandimplementexteriorpointpenaltyfunctionmethod,andcarryontheexampleconfirmation.Usetheprogramtomeettheneedsofoptimaldesignofmachine,toshortenthedesigncycleandtoensurethatthedesignparametershavetheoptimalsolution.Keywords:exteriorpointpenaltyfunctionmethod;visualbasic;mechanical;design;realization[***********][***********]1111111111
(上接第63页)
FiniteElementAnalysisoftheVerticalRefuse
CompactorbasedontheANSYSSoftware
HUANGShi-wei,MOZhen-wei,ZHANGXin-xing,DUJian-jun
(SchoolofMechanicalEngineering,GuangxiUniversity,Nanning530004,China)
Abstract:ThispapertakestheFEAsoftwareANSYSasadevelopingplatform,createthefiniteelementanalysismodelofthethree-union-cylinderandtherackwiththehydrodynamicpistonshaftoftheofthekeyequipmentsofthe
verticalrefuseCompactorinANSYSandtakesfiniteelementanalysisonit.Keywords:verticalrefusecompactor;finiteelementanalysis;ANSYS
66
Equipment Manufactring Technology No.3,2011
基于VB外点惩罚函数法的实现
殷晓飞1,任晓丹2
(1.呼和浩特职业学院机电工程学院,内蒙古呼和浩特010051;
2.内蒙古机电职业技术学院电气工程系,内蒙古呼和浩特010070)
摘要:外点惩罚函数法是机械优化设计中一种常用来解决有约束问题求解的重要方法。基于VisualBasic6.0平台编写程序,设计实现外点惩罚函数法并进行实例验证,运用该程序可以满足在机械设计中的优化需要,从而缩短设计周期,保证设计参数的最优解。
关键词:外点惩罚函数法;VB;机械;设计;实现中图分类号:TH123
文献标识码:A
文章编号:1672-545X(2011)03-0064-03
机械优化设计方法,是现代机械设计过程中寻
求最优化设计的一种重要手段,它将数学规划理论、计算机技术和机械设计理论与方法结合在一起,以解决在机械设计中最优化的设计问题,提高机械设备的可靠性,减小体积,降低成本等。在机械优化设计过程中,优化算法种类很多,针对求解问题的性质、规模及解题思路和策略不同,设计人员需要寻找合适的算法,满足机械设计方案的要求。
外点惩罚函数法,具有收敛速度快的优点,在设计中经常使用。因此,为了方便设计人员使用该方法,利用VB实现外点惩罚函数法的研究,是十分必要的。
1外点惩罚函数法
机械设计优化问题,就是在给定的载荷或环境条件下,在给定的约束范围内,选取设计变量,建立目标函数,并使其获得最优值的一种新的设计方法。常用的优化方法有一维搜索最优化方法、多变量无约束优化方法和约束最优化方法。在实际中遇到的机械设计问题,其设计变量大都受到一定条件的限制,这就需要通过约束最优化方法进行求解。约束最优化方法,主要包括约束随机方向搜索法、复合形法和惩罚函数法。
惩罚函数法根据约束形式和构造的函数及罚因子的不同,又分为内点惩罚函数法、外点惩罚函数法和混合型惩罚函数法3种。
外点惩罚函数法能够同时解决含有等式和不等
式的约束优化问题,而且惩罚函数的构造、初始点的选择没有区域限制,具有收敛速度快的优点,所以经常被采用。
外点惩罚函数法的寻优路线,是从可行域外部逐渐逼近最优点的,其基本思想是根据不同的约束条件,针对等式约束或者是不等式约束,构造一种惩罚函数,将原本有约束寻优问题,转化为一系列的无约束寻优问题。在寻优迭代过程中,如果迭代点不满足约束条件,则根据迭代点的距离约束的程度,给予相对应的惩罚,从而影响惩罚函数的目标函数值;如果迭代点满足约束条件,则迭代点不会受惩罚,迫使一系列无约束的极值点会收敛于原问题的极值点。
由于外点法的迭代过程,在可行域之外进行,惩罚项的作用是迫使迭代点逼近约束边界或等式约束曲面。由惩罚项的形式可知,当迭代点不可行时,惩罚项的值大于零,使得惩罚函数大于原目标函数,这可看成是对迭代点不满足约束条件的一种惩罚。当迭代点离约束边界越远,惩罚项的值越大,这种惩罚越重。当迭代点不断接近约束边界和等式约束曲面时,惩罚项的值减小,且趋近于零,惩罚项的作用逐渐消失,迭代点也就趋近于约束边界上的最优点。
2程序开发
机械优化设计的步骤包括:
(1)建立数学模型,选取设计变量、确定目标函
数和给出约束条件;
(2)采用适当的最优化方法求解数学模型;
2010-12-21收稿日期:
作者简介:殷晓飞(1983—),男,内蒙古乌海人,助教,硕士,主要研究方向为机械设计制造及其自动化。
64
《装备制造技术》2011年第3期
(3)编制优化设计程序;
(4)求解优化结果;
(5)分析优化结果。
VB是一种MicrosoftWindows应用程序的开发工具,采用了“可视化设计”和“面向对象设计”技术,初学者只要掌握几个关键技术,就可以编制优化设计程序。
外点惩罚函数法是将有约束的问题,转换为无约束的问题,因此需要对无约束方法进行选取。无约束的方法采用变量轮换法进行多维搜索,在变量轮换法的一维搜索中采用进退法进行初始区间的确定,再利用黄金分割法求解一维最优值,计算程序框图如图1所示。
给定:X ∈R ,ε,r >0,c>1,n k ←1
(1)
(0)
n
c1=d-0.618*(d-c):m3=f7(x0+c1*s(1),y0+c1*s(2),r)
c2=c+0.618*(d-c):m4=f7(x0+c2*s(1),y0+c2*s(2),r)
DoWhiled-c>=g……
LoopWhileSqr((y-y0)^2+(x-x0)^2)>gIfAbs(8-x0-y0)>mAndz<wThenz=z+1
GoTokk
Else'惩罚结束,输出最优值Text7.Text=x0Text8.Text=y0EndIf
3应用实例
以X
(k-1)
为初始点,用无约束最优化方法(变量
(k )
轮换法、黄金分割法和进退法)求准(X ,r 的极小准(X ,r )=min准(X ,r )
(k )
(k -1)
(k )
(k )
)
‖X -X ‖≤ε?
输出:X *←X (k )f (X *)←f (X )
(*)
在机械设计过程中的许多约束优化问题,建立
的目标函数常可归结为函数f(x)的形式,对其最优化设计的数学模型可简化为
minf (X )g i (X )≥0
r ←cr k ←k +1
(k +1)(k )
h j (X )=0
X =(x 1,x 2,…,x n )
(k )
m
T
结束
转化后的外点惩罚函数的形式为min[0,g i (X )]Σmin准(X ,r )=f (X )+r ΣΣ
i =1
(k )
2
图1计算程序框图
主要部分VB优化程序如下:
……z =1
kk:r=r*v
Fori=1To2'进行二维搜索,变换轮换法x=x0:y=y0'给定初始点x0,y0Ifi=1Thens(1)=1:s(2)=0
EndIf'通过数组选择搜索方向……
'进退法确定初始搜索区间
a1=x0*s(1)+y0*s(2):f1=f7(x0+a1*s(1),y0+a1*s(2),r)
a2=a1+h:f2=f7(x0+a2*s(1),y0+a2*s(2),r)……
'黄金分割法寻求在一维下的最优解
式中,
+r
(k )
Σ[h (X )]
j=1
j 0
u
2
r ———惩罚因子,0<r <r <…<…→+∞min[0,g (X )]Σ,ΣΣΣ[h (X )]
i =1
i
j=1
j
m
2
u
2
1
—分别为对应——
于不等式约束和等式约束函数的惩罚项。
选取文献[1]上的一个例题进行验证。利用外点惩罚函数法求目标函数为
)=x 1+x 2-x 1x 2-10x 1-4x 2+60,minf (X
h (x )=x 1+x 2-8=0
如图2所的最优解。在程序对话框中输入已知参数,
示。观察输出结果,可以得到极值点x 1=5,x 2=3,极值f (x )=17。根据优化结果,发现和理论计算结果一致。
2
2
65
Equipment Manufactring Technology No.3,2011
点惩罚函数,寻优计算程序框图,把有约束问题转化
无约束方法利用变量为无约束问题进行求解。其中,
轮换法进行多维搜索,在变量轮换法的寻优过程中,通过进退法寻找最优初始搜索区间,同时又采用黄金分割法进行一维搜索,寻找最优解。利用VB编程并进行实例验证,能够解决在实际工程中的最优设计问题。
图2优化界面
参考文献:
[1]孙靖民.机械优化设计[M].北京:机械工业出版社,2004.[2]陈秀宁.机械优化设计[M].杭州:浙江大学出版社,2002.[3]孟兆明,常德功.机械最优设计技术[M].北京:化学工业出版社,2002.
[4]明日科技,高春艳,等.VisualBasic应用开发完全手册[K].北京:人民邮电出版社,
2006.
4结束语
外点惩罚函数法在机械优化设计过程中,既可
以解决等式约束优化问题,又可以解决不等式约束
优化问题,是一种很重要的常用的方法。通过建立外
RealizationofExteriorPointPenaltyFunctionMethodbasedonVisualBasic
YINXiao-fei1,RENXiao-dan2
(1.MechanicalandElectricalEngineeringCollege,HohhotVocationalCollege,Hohhot010051,China;2.ElectricalEngineeringDepartment,NeiMongolTechnicalCollegeofMechanicsandElectrics,Hohhot010070,China)Abstract:Theexteriorpointpenaltyfunctionmethodisanimportantmethodoftentosolvetheconstrainedoptimizationprobleminoptimaldesignofmachine.BasedonVisualBasic6.0platform,program,designandimplementexteriorpointpenaltyfunctionmethod,andcarryontheexampleconfirmation.Usetheprogramtomeettheneedsofoptimaldesignofmachine,toshortenthedesigncycleandtoensurethatthedesignparametershavetheoptimalsolution.Keywords:exteriorpointpenaltyfunctionmethod;visualbasic;mechanical;design;realization[***********][***********]1111111111
(上接第63页)
FiniteElementAnalysisoftheVerticalRefuse
CompactorbasedontheANSYSSoftware
HUANGShi-wei,MOZhen-wei,ZHANGXin-xing,DUJian-jun
(SchoolofMechanicalEngineering,GuangxiUniversity,Nanning530004,China)
Abstract:ThispapertakestheFEAsoftwareANSYSasadevelopingplatform,createthefiniteelementanalysismodelofthethree-union-cylinderandtherackwiththehydrodynamicpistonshaftoftheofthekeyequipmentsofthe
verticalrefuseCompactorinANSYSandtakesfiniteelementanalysisonit.Keywords:verticalrefusecompactor;finiteelementanalysis;ANSYS
66