带约束的非线性优化问题解法小结
- 格式:docx
- 大小:35.55 KB
- 文档页数:9
非线性约束优化的算法分析1982009,45(19)CoraputerEngineeringandApplications计算机工程与应用非线性约束优化的算法分析郭庆军"2,李慧民,赛云秀zGUOQing-jun,LIHui-min,SAIYun-xiu'1.西安建筑科技大学土木工程学院,西安7100552.西安工业大学建筑工程系,西安7100321.SchoolofCivilEngineering,Xi'anUniversityofArchitectureandTechnology,Xi'a n7100 55,China2.DepartmentofCivilEngineering,Xi'anTechnologicalUniversity,Xi'an710032,China E—mail:g~**************GUOQing--jun.LIHui-mil1.SAIYun—puter EngineeringandApplications,2009,45(19):198-200.Abstract:Thispaperpresentsanewevolutionaryalgorithmforsolvingnonlinearconstrained optimizationproblemsbasedonSocialCognitiveOptimization(SCO).TheSCOisasimplebehavioralmodelbasedonhuman socialcognition,itshowsthatitcangethighqualitysolutionsefficiently,evenonlyonelearningagent,whichmaybeconvenientl yemployedtoexecuterandomandglobalsearch.TheSCOmethodisemployedtoconductnonlinearconstrainedoptimizationp roblems.Theexperimentsbycomparing SCOwithotheralgorithmsonsomefunctionsshowthatitcangethighqualitysolutionsefficie ntly,evenbyonlyonelearningagent.Keywords:SocialCognitiveOptimization(SCO);nonlinearconstrainedoptimization;intel ligentoptimizationalgorithm;socialcogni一"vetheory摘要:针对非线性约束优化问题,运用了一种新的智能优化算法——社会认知优化算法.社会认知优化算法是一种基于社会认知理论的集群智能优化算法,它对目标函数的解析性质没有要求,适合于大规模约束问题处理的优点,使搜索不容易陷入局部最优.将该算法引入非线性约束问题,解决优化问题.通过实例和其他算法进行比较,对比数值实验结果表明,即使只有一个学习主体,该算法能够高效,稳定地得到解决方案,便于求解非线性约束优化问题.关键词:社会认知算法;非线性约束优化;智能优化算法;社会认知理论DOI:10.3778~.issn.1002—8331.2009.19.061文章编号:1002—8331(2009)19~0198—03文献标识码:A中图分类号:TP181引言在生产实践中,经常遇到非线性约束优化问题,该问题可以表述为:)s.t.岛()≤0,i=1,2,…,m():O,j=l,2,'一,Z(1)其中nR是一个紧集,,(),()和()是上的函数,或()为不等式约束,()为等式约束.目前上述问题的求解方法可分为确定性方法和随机性方法两类【jJ.确定性方法,例如可行方向法,约束变尺度法等,往往需要函数的导数信息等,对目标函数和约束函数的连续性和可微性有较强的要求,只能适用于分析性质较好的函数,很难用于一些复杂的工程优化问题.相比之下,随机性方法对函数的要求较低,只需利用函数值.它可用于一般的复杂工程优化问题,适应面宽.智能优化算法是采用较多的随机算法,如遗传算法(GeneticAlgorithm,GA),微粒群算法(ParticleSwarmOptimization,PSO)等是一种仿生随机搜索算法,近年来在约束优化问题中得到了广泛的应用.文献『4]对传统的遗传算法进行了改进,提出一种基于实数编码技术的新型自适应混沌遗传算法,求解复杂非线性约束优化问题.文献【5】通过鱼群算法来研究非线性约束优化问题.文献【6—81将微粒群算法及改进算法引入非线性约束优化中.但是,这些算法实现步骤大都相当繁琐,即使是倍受优化技术领域推崇的遗传算法,也需要复杂的交叉,变异以及选择操作,使得这些优化技术很难满足实际优化需要.本文针对大多数优化技术容易陷于局部最优的弊端,利用一种新的智能优化算法——社会认知算法(SocialCognitiveOptimization,SCO)tgJ基金项目:国家科技攻关计划支撑项目(theNationalScientificandTechnicalSupposingProgramofChinaunderGrantNo.2006BA J02B0803);陕西省科技厅软科学基金资助项目(theSoftScientificResearchProjectofShaanxiProvinceScientificandTechnicalDepartme ntunderGrantNo.2008KR115).作者简介:郭庆军(1978一),男,博士生,副教授,造价工程师,主要研究领域为计算机仿真与项目管理;李慧民(1954一),男,教授,博士生导师,主要研究领域为土木工程建造与管理;赛云秀(1963一),男,教授,博士生导师,主要研究领域为项目管理.收稿日期:2008—09—26修回日期:2008—11-17郭庆军,李慧民,赛云秀:非线性约束优化的算法分析2009.45f19)199来搜索最优解.社会认知优化算法是一种基于社会认知理论(SocialCognitiveTheory)㈣的集群智能优化算法,它对目标函数的解析性质没有要求,适合于大规模的约束问题的处理,不像粒子群算法那样要求初始设定的搜索范围较小,对于一个实际问题当不知道最优解在什么范围时,可以在大范围内搜索,该算法已经表现出了良好的效果.提出利用社会认知算法求解非线性约束优化问题,对比实验结果表明,和其他群体智能算法相比,该算法在搜索成功率和计算效率上有很大的优势,效果良好,可以为非线性约束的优化提供参考.2社会认知优化算法自然系统的进化经历了从简单生物系统到复杂社会系统的进化.而在这样的进化过程中,过去几十年人类已经渐渐学会了将自然选择的原理应用到人工智能系统中,并且极大的发展了这种应用.例如较早以前的集群智能,如蚂蚁群优化算法和粒子群优化算法,这都是基于社会昆虫系统的.一个人可以借助观察他人的行为以及其后果也可以从中得到学习,人类学习是通过观察别人的行为和别人行为的后果,并将其符号化的过程.班杜拉将这种通过观察和模仿他人的行为而获得的学习称为观察学习,这种观察学习是发生在社会之中的,所以也叫做社会学习llU1.这就是人类社会比昆虫系统要智能的多的地方.而且从现实上来看,很显然人类社会比昆虫社会有更高的社会性和智能性.因此,基于人类智能的社会认知理论, 2002年Xie[9,1~提出了社会认知优化算法.社会认知优化算法, 又称为观察学习优化算法(ObservationalLearningOptimization, OLO),是一种基于人类社会认知中的观察学习行为的简单优化算法模型,它可被纳入多主体优化系统(Multi—AgentOpti—mizationSystem,MAOS),是群集智能(SwarmIntelligence,SI)的一种.2.1社会认知算法的基本概念知识点:知识点是位于知识空问(例如搜索空间S)中对位置x和水平(例如适应度)的描述构成的点.库:库是一个包含有一系列知识点的表,这个表是有大小的.学习代理:学习代理是一个行为个体,支配库中的一个知识点.领域搜索:有两个点和:,对的领域搜索就是以作为参考选出一个新的点,对第D维的点:L,2*Rand()(X2,d.---JC1.d)(2)在这里Rand()是一个在(0,1)的随机值,和:是分别定义为参考点和中心点.整个优化过程由一系列学习代理来完成.其原理如图1所示.社会认知理论(人)SCO(代理)符号化能力l库l替代能力模仿选择I.f模仿选择}观察学习I-I观察学习图1社会认知优化原理图由原理图可以看出,社会认知优化中的库对应于社会认知理论中的符号化能力,而对应于替代能力,是用竞争选择来对应模仿选择,然后学习代理通过领域搜索用观察选择的模型来搜索更好的知识点以完成观察学习.2.2社会认知算法的算法步骤假设库中知识点的个数是^,学习代理的数量是,一般选择Ⅳ=3,具体算法步骤如下:步骤1初始化过程(1)在库中随机生成所有的个知识点(包括生成每个知识点的位置和其水平);(2)给每个学习代理随机分配库中的一个知识点,但不允许把一个知识点重复分配给多个学习代理.步骤2替代学习过程对每个学习代理:(1)模仿学习:从库中随机选择两个或者多个知识点(一般选择两个就可以),但这些选出的知识点都不能和学习代理自身的知识点重复,然后基于竞争选择的原则在这几个知识点之间选出一个好的知识点;(2)观察学习:对比选择出来的知识点和代理自身的知识点的水平,选择水平较好的那个点作为中心点,用较差的那个点作为参考点,然后学习代理基于领域搜索的原则根据这两个点移动到一个新的知识点,并且将新的知识点储存在库中.步骤3库更新过程:从库中移去Ⅳr个具有最差的水平的知识点.步骤4重复步骤2~步骤4,直到满足停止条件(例如达到预先确定的迭代次数,或者结果达到预先设定的精度).社会认知优化的参数包括:^,和是学习循环的循环次数.那么函数总的运行次数就是=^+^.r,.社会认知优化的流程图如图2所示.图2社会认知优化流程图在SCO中,由多个主体(agent)进行求解.而它们通过环境(Environment)进行交互.其中每个主体有私有记忆(memory),而环境中也有一个和主体们独立的社会共享库(Library).在每个周期中,每个主体使用他的私有记忆以及参考社会共享库,通过搜索得到的新知识将会被主体用来更新它的私有记忆,并提交已有知识给环境用来最后更新社会共享库.所以主体问的交互实际上是隐式的通过对社会共享库的使用和影响其更新而实现.和遗传算法GA所不同的是,每个主体长期存在于所有周期中,而不会被新个体替换.也就是,SCO模拟多个体的学习周2002009.45(19)ComputerEngineeringandApplications计算机工程与应用期,而GA模拟群体的演化周期.和蚁群算法(AntColony Optimization,ACO)所不同的是,每个主体拥有私有记忆,这个记忆长期存在于所有周期中.在这点上,SCO和PSO类似.私有记忆保证了个体学习(individuallearning)能力,有助于群体中涌现新知识并维护群体知识的差异性.和PSO所不同的是,社会共享库中的知识和主体中的知识相互独立.首先,拿走某个主体,不会影响社会共享库.在这点上,SCO和ACO类似. 减少个体数目不会严重影响算法性能,SCO甚至能在只有一个个体时得到比较稳定的搜索结果.其次,拿走库里面的部分信息,不会影响到主体本身.因此也可以通过调整社会共享库来调节算法性能.3算法测试下面使用两个工程实践中的优化问题来检验SCO算法的有效性.3.1实例ltr21minf(x):(广2)%(x2-1()寻22.'为检查算法的有效性,对以上问题进行了测试,参数设定如下:Ⅳ=350,No=70,1000,最大迭代代数1000,用Java语言编程实现,在硬件环境:CPU:Pentium4,2.79GHz,内存:512MB等和软件环境WindowsXP系统下用JBuilder9.0运行.对上述问题进行40次计算,限于篇幅,给出社会认知算法运行1O次的结果.计算结果如表1.表1社会认知算法运行10次所得到的解问题l的全局最优点(取小数点后五位):X1:O.82068,=0.91032'厂=1.39882.与文献[12】的算法结果进行了比较,其中PSODP算法是将微粒群算法(ParticleSwarmOptimization)和死亡罚函数法(DeathPenalty)相结合来处理约束优化问题, GRG为广义简约梯度法(GeneralizedReducedGradient).表2列出了问题不同算法的最优结果,从实验结果来看,虽然PSODP算法,自适应乘子法,GRG结果优于SCO算法,但约束条件()没有满足,社会认知算法在满足约束函数的条件下,优于Gen,Homaifar的结果.同时还应注意到,该算法结果还存在一定的波动性,还需要进一步探讨.表2问题1不同算法的比较3.2实例2Himmelblau的非线性优化问题:min)=5.3578547x:+0.835689lx】5+37.293239x1—40792.141gz(x)=85.334407+0.0056858x25+0.0006262x1x4-0.0022053x35()=80.51429+0.0071317x23+20.0029955x12—0.00218l3x3f4)g3(x):9.300961+0.0047026x35+0.0012547x13-0.0019085x3x478≤1≤102,33≤2≤45,27≤3,4,5≤45O≤()≤92,90~<g2(x)≤110,20~<g3(x)≤25参数设定和上例相同,得x~=78,xz=33,x3=29.99525602568159,x4=45,x5=36.77581290578819,Optimalvalue=一30665.53867.表3列出了实例2不同算法的最优结果,DE+SAT为差分进化算法和模拟退火策略相结合.从实验结果看,SCO算法较优于其他算法,和其他算法相融合,以及与罚函数结合,可进一步增强算法的通用性.4结束语针对优化技术中易陷入局部最优的缺点,利用一种新的智能优化算法一社会认知算法来搜索最优解.该算法在搜索成功率和计算效率上有较大的优势,是求解非线性约束优化问题的一种好的计算方法.特别是在优化问题中,社会认知优化算法的计算速度比较怏,能够快速满足复杂工程优化的需要,对表3问题2不同算法的比较(下转242页)2422009,45(19)ComputerEn~neenngandApplications计算机工程与应用p*b一≤r<l由引理2知:当p<min(1-r,P)时,ll关于t一致有界.而由于对任意小的正数s,总有P∈(p,Pv+s),由此可知:当P,,A适当小时,lIll有界,从而,Y有界.证毕.5结论鲁棒稳定的自适应控制律的设计是研究的主要问题.在设计中,由于正规化信号的引入,能使建模误差和扰动产生的影响对正规化信号有界;对极点配置控制律中出现的奇异性用投影算法加以消除,为保证闭环系统的鲁棒稳定性,该算法要求对配置的极点进行限制.当受控对象可控时,由于闭环多项式在极点配置算法中是可任意选择的,因此这种要求在设计中不难做到.另外,所进行的仿真实验也表明了该算法的有效性,文中不再赘述.参考文献:[1]LjungL.AprogressreportfromIFAC'stechnicalcommitteeon theory[J].Automatica,1988,24(4):573—583.[2]OrtegaR,TangY.Robustnessofadaptivecontrollers—Asurvey[J1. Automatic,1989,25(5):651—677.[3]EgardtB.Stabilityofadaptivecontrollers[M]//LectureNotesinCon- trolandInformationSciences20.Berlin,Germany:Springer,1979. [4]HallP,HeydeCC.Martingalelimittheoryanditsapplications[M]. NewY ork:AcademicPress,1980.[5]LjungL,SderstrmT.Theoryandpracticeofrecursiveidentification 【M].IS.1.]:MITPress,1987.[6]GoodwinGC,ChanSW.Modalreferenceadaptivecontrolofsys—temshavingpurelydeterministicdisturbances[J].IEEETranson AC,1983,28(8):855—858.[7]EgardtB.Stabilityanalysisofdiscretetimeadaptivecontrolsch—emes[J].IEEETransAC,1980,25(4):710~716.[8】RohrsC,V alavaniL,AthansM,eta1.Robustnessofcontinuous—timeadaptivecontrolalgorithmsinthepresenceofunmodeleddy—namies[J].IEEETransonAC,1985,30(9):881-889.[9]AstromKJ.Analysisofrohrscounter~exampleofadaptivecontrol[C]// Proc22thIEEEConfonDecisionandControl,1983:982—987.[10】GoodwinGC,SinKs.Adaptivefilteringpredictionandcontrol[M]. 【S.1.]:PrenticeHall,1984.[11]LozanoR.Singularity—freeadaptivepoleplacementwithoutresort—ingtopersistencyofexcitationdetailedanalysisforfrstordersystem[J].Automatica,1992,28(1):27—33.【12】LozanoR,ZhaoXiao—hui.Adaptivepoleplacementwithoutexci—tationprobingsignals[J].IEEETransonAC,1994,39:47-58.[13]陈刚.一类不确定非线性系统的鲁棒自适应控制『J1.系统工程理论与实践,2006(12):8O一86.[14]杨昌利,阮荣耀.一类不确定非线性系统的输出反馈鲁棒自适应控制器的设计与分析lJl_控制理论与应用,2002(6):18~25.[15】王光彩,俞辉,袁震东.基于FLS的非线性预测控制[C1//1999中国控制与决策学术年会论文集,1999.[16】陈刚,王树青.控制方向未知的时变非线性系统鲁棒控制[J】l控制与决策,2005,20(12):79—82.[17】HuYM,SanSZ,SuCY.Stabilizationofuncertainnonholonom- icsystemsviatime—varyingslidingmodeeontro[J].IEEETransac—tionsonAutomaticalControl,2004,49(5):757—763.[18]KoshkoueiAJ,ZinoberASI.Adaptiveslidingbackstep-pingof parametricsemi——structurefeedbacksystemswithunmatchedun—- certainty[C]//Proceedingsofthe2000IEEEInternationalWork—shoponV ariableStructureSystems.Brisbane,Australia:IEEEPress,2000:393—402.[19】WuYX,FengY,HuYM.Dynamicaladaptiveslidingmode out—puttrackingcontrolofmobilemanipulators[C]//Proeeedingsof InternationalonMLC.Guangzhou,China:IEEEPress,2005:731—736.(上接200页)实际工作起到现实指导作用,并对目标优化研究提供一定的参考.参考文献:[1】FogelDB.AnintroductiontosimulatedevolutionaryoptimizationfJI. IEEETransactionNeuralNetworks,1994,5(1):3-14.[2]MiehalewiczZ,SchoenauerM.Evolutionaryalgorithmsforconstrained parameteroptimizationproblems[J].EvolutionaryComputation,1996,4(1):1—32.[3]ParsopoulosKE,VrahatisMN.ParticleswalTfloptimizationmethod forconstrainedoptimizationproblems[J].IntelligentTechnologies- TheoryandApplicationsNewTrendsinIntelligentTechnologies, Amsterdam,2002:214—220.【4】袁晓辉,袁艳斌,张勇传,等.一种求解非线性约束优化问题的新方法【J】.华中科技大学:自然科学版,2006,34(4):67—69.f5]郑晓呜,王锡淮,肖健梅.人工鱼群算法的非线性约束优化fJ】.仪器仪表,2006,27(6):484—485.[6]吴茜,郑金华,宋武.改进的粒子群算法求解非线性约束优化问题册.计算机工程与应用,2007,43(24):61—64.[7]张,孟庆春,薛任,等.一种非线性约束优化的微粒群新算法[J1.哈尔滨工业大学,2006,38(10):1716—1718.[8]张酷,薛任.微粒群算法在非线性约束优化中的应用【JJ.计算机工程与应用,2004,40(25):90—92.[9】XieXF,ZhangWJ,Y angZL.Socialcognitiveoptimizationfor nonlinearprogrammingproblems[C]//IntConfonMachineLearning andCybernetics,Beijing,China,2002:779-783.[10】BanduraA.Socialcognitivetheory:Anagentieperspective[J].An—nualReviewofPsychology,2001,5(2):1—26.[11]XieXF,ZhangWJ.Solvingengineeringdesignproblemsbyso—eialcognitiveoptimization[C]//GenetieandEvolutionaryComputa—tionConference,2004:261—262.fl2】吴启迪,汪镭智能微粒群算法研究及应用[M】.南京:江苏教育出版社,2005.[131Koziels,MichalewiczZ.Evolutionaryalgorithms,homomorphous mappings,andconstrainedparameteroptimizationfJ].Evolutionary Computation,1999,7:19—44.[14】吴亮红,王耀南,周少武,等.采用非固定多段映射罚函数的非线性约束优化差分进化算法fJ1.系统工程理论与实践,2007(3):128一】33.。
非线性约束优化问题的数值解法在实际问题中,我们经常会遇到一类非线性约束优化问题,即在一定约束条件下,最小化或最大化一个非线性目标函数。
这类问题的数学模型可以表示为:$$\begin{aligned}\min_{x} \quad & f(x) \\\text{s.t.} \quad & g_i(x) \leq 0, \quad i=1,2,\ldots,m \\& h_j(x) = 0, \quad j=1,2,\ldots,n\end{aligned}$$其中,$x$是决策变量,$f(x)$是目标函数,$g_i(x)$和$h_j(x)$是约束函数。
有时候,这类问题的解析解并不容易求得,因此需要借助数值方法来找到近似解。
本文将介绍几种常用的非线性约束优化问题的数值解法。
一、拉格朗日乘子法拉格朗日乘子法是最基础的非线性约束优化问题求解方法之一。
它将原始问题转化为等价的无约束问题,并通过引入拉格朗日乘子来建立求解函数。
具体而言,我们将原始问题改写成拉格朗日函数的形式:$$L(x,\lambda,\mu) = f(x) + \sum_{i=1}^{m}\lambda_ig_i(x) +\sum_{j=1}^{n}\mu_jh_j(x)$$其中,$\lambda_i$和$\mu_j$是拉格朗日乘子。
然后,我们对拉格朗日函数求取对$x$的梯度,并令其等于零,得到一组等式约束:$$\nabla_x L(x,\lambda,\mu) = \nabla f(x) +\sum_{i=1}^{m}\lambda_i\nabla g_i(x) + \sum_{j=1}^{n}\mu_j\nablah_j(x) = 0$$再加上约束条件 $g_i(x) \leq 0$ 和 $h_j(x) = 0$,我们可以得到原始问题的一组等价条件。
二、内点法内点法是解决非线性约束优化问题的一种有效算法。
该方法通过将约束条件转化为惩罚项,将原问题转化为无约束的目标函数最小化问题。
求解带约束的非线性规划问题罚函数法求解带约束的非线形规划问题的基本思想是:利用问题的目标函数和约束函数构造出带参数的所谓增广目标函数,把约束非线形规划问题转化为一系列无约束非线形规划问题来求解。
增广目标函数由两个部分构成,一部分是原问题的目标函数,另一部分是由约束函数构造出的“惩罚”项,“惩罚”项的作用是对“违规”的点进行“惩罚”。
罚函数法主要有两种形式。
一种称为外部罚函数法,或称外点法,这种方法的迭代点一般在可行域的外部移动,随着迭代次数的增加,“惩罚”的力度也越来越大,从而迫使迭代点向可行域靠近;另一种成为内部罚函数法,或称内点法,它从满足约束条件的可行域的内点开始迭代,并对企图穿越可行域边界的点予以“惩罚”,当迭代点越接近边界,“惩罚”就越大,从而保证迭代点的可行性。
1. 外部罚函数法(外点法)约束非线形规划问题min f(x),s.t. g(x)>=0,其中g (x) = (g 1(x),…,gm(x)),将带约束的规划问题转化为无约束非线形规划问题来求解的一个直观想法是:设法加大不可行点处对应的目标函数值,使不可行点不能成为相应无约束问题的最优解,于是对于可行域 S= { x | g(x) >= 0} 作一惩罚函数P(x) = 0, x∈S;K, else其中K是预先选定的很大的数。
然后构造一个增广目标函数F (x) = f (x) + P (x) ,显然x∈S时,F(x)与f (x)相等,而x S 时,相应的F值很大。
因此以F(x)为目标函数的无约束问题minF x) = f(x) + P (x) (1)的最优解也是原问题(NP)的最优解。
上述P(x)虽然简单,但因它的不连续性导致无约束问题(1)求解的困难。
为此将P(x)修改为带正参数M(称为罚因子)的函数P(x) =M ∑[min (0,gj(x))]²则min F(x,M) = f(x) + M∑[min (0,gj(x))]²的最优解x(M) 为原问题的最优解或近似最优解。
非线性优化问题的求解研究一、引言非线性优化问题是数学和工程学中一个十分重要的课题,它们在现实生活中有着广泛的应用。
例如,在工程和物理学中,需要优化设计和控制系统;在金融学中,需要优化投资组合;在医学中,需要优化药物剂量等。
对于这些问题,我们需要建立数学模型,并且寻找最优解。
因此,如何高效地解决非线性优化问题一直是一个热门的研究领域。
二、非线性优化问题非线性优化问题是指在无约束或有约束条件下,目标函数为非线性函数的问题。
通俗的说,就是在一个复杂的系统中,寻找一个能够达到最优状态的方案。
非线性优化问题包括多元函数非线性规划、不等式约束问题、等式约束问题等。
这些问题的特点在于目标函数或约束条件不能表示为简单的线性形式,需要使用非线性方法进行求解。
三、非线性优化问题的求解方法1. 牛顿法牛顿法被广泛用于求解非线性方程组和最优化问题。
在求解非线性优化问题中,其基本思路是将目标函数在当前点进行泰勒展开,然后求解导数为零的点所对应的下降方向,并对这个方向进行步长的控制,进行迭代。
2. 拟牛顿法拟牛顿法是基于牛顿法的一种算法。
它通过逼近目标函数的海森矩阵或该矩阵的逆矩阵来获得下降方向。
由于在牛顿法中,需要求解复杂的海森矩阵的逆矩阵,因此在实际应用中比较困难。
而拟牛顿法则可以通过近似估算来解决这个问题,在保证解精度的基础上,减少计算时间。
3. 共轭梯度法共轭梯度法主要用于解决对称正定线性方程组。
在非线性优化问题中,共轭梯度法通常被用作拟牛顿法的一个变体,用于求解目标函数梯度的方向。
4. 遗传算法遗传算法是一种基于遗传学的算法,其主要思路是模拟自然界中的进化过程来获得最优解,包括基因的突变、遗传操作等。
在非线性优化问题中,遗传算法被广泛用于寻找最优解的搜索和优化。
四、非线性优化问题的应用非线性优化问题有着广泛的应用。
以下是一些应用案例:1. 金融学:非线性优化问题被用于优化投资组合和资产定价等问题。
2. 工程学:非线性优化问题被用于优化设计和控制系统等问题。
非线性优化与约束优化问题的求解方法非线性优化问题是在目标函数和约束条件中包含非线性项的优化问题。
约束优化问题是在目标函数中加入了一些约束条件的优化问题。
解决这些问题在实际应用中具有重要意义,因此研究非线性优化和约束优化问题的求解方法具有重要的理论和实际意义。
一、非线性优化问题的求解方法非线性优化问题的求解方法有很多,下面介绍几种常见的方法:1. 黄金分割法:黄金分割法是一种简单但有效的搜索方法,它通过不断缩小搜索范围来逼近最优解。
该方法适用于目标函数单峰且连续的情况。
2. 牛顿法:牛顿法利用目标函数的一阶和二阶导数信息来逼近最优解。
该方法收敛速度较快,但在计算高阶导数或者初始点选取不当时可能产生不稳定的结果。
3. 拟牛顿法:拟牛顿法是对牛顿法的改进,它通过逼近目标函数的Hessian矩阵来加快收敛速度。
拟牛顿法可以通过不同的更新策略来选择Broyden-Fletcher-Goldfarb-Shanno(BFGS)方法或者DFP方法。
4. 全局优化方法:全局优化方法适用于非凸优化问题,它通过遍历搜索空间来寻找全局最优解。
全局优化方法包括遗传算法、粒子群优化等。
二、约束优化问题的求解方法约束优化问题的求解方法也有很多,下面介绍几种常见的方法:1. 等式约束问题的拉格朗日乘子法:等式约束问题可以通过引入拉格朗日乘子来转化为无约束优化问题。
通过求解无约束优化问题的驻点,求得原始约束优化问题的解。
2. 不等式约束问题的罚函数法:不等式约束问题可以通过引入罚函数来转化为无约束优化问题。
罚函数法通过将违反约束条件的点处添加罚项,将约束优化问题转化为无约束问题。
3. 逐次二次规划法:逐次二次规划法是一种常用的求解约束优化问题的方法。
该方法通过依次处理逐个约束来逼近最优解,每次处理都会得到一个更小的问题,直至满足所有约束条件。
4. 内点法:内点法是一种有效的求解约束优化问题的方法。
该方法通过向可行域内部逼近,在整个迭代过程中都保持在可行域内部,从而避免了外点法需要不断向可行域逼近的过程。
带非线性约束的机器学习优化算法研究随着人工智能技术的发展,机器学习算法的研究也日益深入。
机器学习最基本的任务是根据输入的数据和模型,对新的数据进行预测和分类。
而机器学习中优化算法则是解决模型训练中的核心问题:如何通过训练数据得到最优的模型参数。
然而,优化算法研究领域仍然存在着一些难点,一个重要的难点是如何解决非线性约束下的优化问题。
一、什么是非线性约束的优化问题非线性约束的优化问题指的是,优化问题中存在着非线性约束条件。
在机器学习中,我们需要基于训练数据训练一个模型,从而得到该模型的参数。
而在实际的应用场景中,模型参数往往会受到一定的约束条件限制,例如:参数的取值范围、参数之间的相关性等。
这些非线性约束条件使得优化问题变得更加复杂,使得传统的优化算法无法有效地解决该问题。
二、传统的优化算法存在的问题在解决非线性约束的优化问题时,最广泛使用的是传统的优化算法,例如:梯度下降、牛顿法、拟牛顿法等。
但是,这些算法存在一些问题,例如:1.收敛速度慢。
由于非线性约束条件的存在,传统优化算法需要不断地调整模型参数,空间搜索的复杂度很高,导致算法收敛的速度非常慢。
2.陷入局部最优解。
传统的优化算法常常会陷入局部最优解,不能保证得到全局最优解,尤其是在非凸约束条件下。
3.对于复杂约束条件的支持不足。
现实中往往需要处理较为复杂的约束条件,例如:参数的取值范围、参数之间的相关性等。
传统的优化算法仅能支持简单的约束条件,对于复杂约束条件支持不足。
三、非线性约束的优化问题研究进展为了解决传统优化算法存在的问题,近年来,研究人员提出了许多新的优化算法,以解决非线性约束的优化问题。
1. 逐步逼近法逐步逼近法是一种不依赖于梯度信息的优化算法,通过逐步减小优化问题的范围,逐步逼近最优解。
这种算法在解决非线性约束条件的问题时,非常有效。
2. 改进型粒子群优化算法改进型粒子群优化算法是一种基于群体智能的优化算法,可以在复杂的非线性约束条件下找到全局最优解。
(1)带约束的非线性优化问题解法小结考虑形式如下的非线性最优化问题(NLP):min f(x)「g j (x )“ jI st 彳 g j (x)=O j L其 中, ^(x 1,x 2...x n )^ R n, f : R n > R , g j :R n > R(j I L) , I 二{1,2,…m }, L ={m 1,m 2...m p}。
上述问题(1)是非线性约束优化问题的最一般模型,它在军事、经济、工程、管理以 及生产工程自动化等方面都有重要的作用。
非线性规划作为一个独立的学科是在上世纪 50年 代才开始形成的。
到70年代,这门学科开始处于兴旺发展时期。
在国际上,这方面的专门性 研究机构、刊物以及书籍犹如雨后春笋般地出现,国际会议召开的次数大大增加。
在我国, 随着电子计算机日益广泛地应用,非线性规划的理论和方法也逐渐地引起很多部门的重视。
关于非线性规划理论和应用方面的学术交流活动也日益频繁,我国的科学工作者在这一领域 也取得了可喜的成绩。
到目前为止,还没有特别有效的方法直接得到最优解,人们普遍采用迭代的方法求解: 首先选择一个初始点,利用当前迭代点的或已产生的迭代点的信息,产生下一个迭代点,一 步一步逼近最优解,进而得到一个迭代点列,这样便构成求解( 1)的迭代算法。
利用间接法求解最优化问题的途径一般有:一是利用目标函数和约束条件构造增广目标 函数,借此将约束最优化问题转化为无约束最优化问题,然后利用求解无约束最优化问题的 方法间接求解新目标函数的局部最优解或稳定点,如人们所熟悉的惩罚函数法和乘子法;另 一种途径是在可行域内使目标函数下降的迭代点法,如可行点法。
此外,近些年来形成的序 列二次规划算法和信赖域法也引起了人们极大的关注。
在文献[1]中,提出了很多解决非线性 规划的算法。
下面将这些算法以及近年来在此基础上改进的算法简单介绍一下。
1. 序列二次规划法序列二次规划法,简称SQ 方法.亦称约束变尺度法。
这类方法最早从1963年 Wilson 的研 究开始,70年代由Har 与Powell 做了奠基性的工作,经过二十几年的发展,目前已形成了一个 理论上比较完整,计算上可行的WE 方法。
它是目前公认的求解约束非线性优化问题的最有效 方法之一,得到广泛的重视及应用。
但这种方法也有其不足之处,即其迭代过程中的每一步 都需要求解一个或多个二次规划的子问题。
一般地,由于二次子规划的求解难以利用原问题 的稀疏性、对称性等良好特性,随着问题规模的扩大,其计算工作量和所需存贮量是非常大 的。
因此,目前的序列二次规划方法一般只适用于中小型问题。
另外,由于大型二次规划问 题的求解通常使用迭代法,所需解的精度越高,花费的时间就越多,稳定性也越差,相对线 性方程组的求解理论来说,二次规划的求解方法是不完善的,这就严重影响了序列二次规划 算法的效率。
针对上述问题,近年来国际上,特别是国内部分研究工作者[2,3,4,5,6]开展了序列线性 方程组(Seque ntial Systems of Lin ear Equatio ns ,简记SSLE)算法的研究,试图用若干同 系数线性方程组代替二次子规划以求得迭代方向,在保证与序列二次规划算法具有相同收敛 性质的情况下,大大减少了每步的计算工作量,提高算法的稳定性。
从目前己有结果来看, 该类算法是有效的,具有很大的潜力,值得开展进一步的研究工作。
下面分别就问题(1)的SQP算法和SSL 算法作一介绍1.1 . SQ 算法在国内外研究学者的共同努力下,SQ 算法的研究工作已经十分丰富,大量文献不断问世,不少成果[7,8,9,10,11]相继出现。
它的一个重要优点就是:如果沿着二次规划子问题的解方 向搜索最终能得到步长为1,那么算法就是超线性收敛的.下面给出一般的SQ 算法的基本步骤[1] .步一:给定初始点x o • R n,选取正定矩阵B o ,令k = 0. 步三:令X k %二兀“d k (九-0).步四:修正B k ,使B k d 正定,令^k 1,返回步三.1.2. SSLE 算法SSL 算法是近年来发展起来的新算法,该算法的基本思想是 :将序列二次规划方法中的一个或多个二次子规划用一个或多个线性方程组来取代,在保持算法具有快速收敛性质的同 时,能充分利用求解线性方程组的一些优点,寻求一些求解非线性最优化问题的新算法。
此 类算法每一步迭代只需求解几个系数矩阵相同的线性方程组,即只需做一次 LU 分解,因此每 一次迭代的计算量要比现有的SQ 算法少得多.数值实验表明,该算法具有迭代时间少,存贮 量小,数值稳定且收敛速度快等优点,特别对大规模非线性规划问题的求解较为有效[12] o 在 与实际相关的许多优化问题中,通常要求算法每一次迭代产生的点都是可行点[13,2,14,15], 而一般来说,SQ 算法产生的点是不可行的,因此SSLEf 法对于求解这类实际问题更具有重要 意义。
由于SSLEf 法是近年来发展起来的新算法,与SQ 算法最新成果相比还有许多工作有待 进一步研究.2. 信赖域算法信赖域方法是一类很新的方法,它和线搜索法并列为目前求解非线性规划问题的两类主 要数值方法.信赖域方法思想新颖,算法可靠,具有很强的收敛性 [16][17][18]. 它不仅能很 快地解决良态问题,而且也能有效地求解病态 (ill-conditioned) 的优化问题.因而对信赖域 方法的研究是近二十年来非线性规划领域的一个重要的研究方向,是当今寻求如何构造新的 优化计算方法的主要途径.信赖域方法的研究起源于Powell 1970年的工作[19],信赖域的大小是通过迭代逐步调节 的.一般来说,如果在当前迭代模型较好地通近原问题, 则信核城可扩大,否则信赖域应缩小. 1982年,国际著名优化专家R.Fletcher 提出了用信赖域法求解复合非光滑优化问题[20].1986 年,袁亚湘和Powell 合作,构造了利用R.Flet.che :光滑罚函数[18]作为价值函数的信赖域方 法[21].这是第一个利用光滑价值函数的信赖域方法.1991年,袁亚湘和J.Nocedal 合作,首创 性地提出了用信赖域方法和传统的线搜索方法相结合来构造新的计算方法,并依次给出了一 个利用信赖域以及回溯(back-tracking) 技巧的求解无约束优化的算法[22].这是综合了两大类方法之优点的一个大胆试探.另外,他在1993年还提出了利用L_精确罚函数处理约束优化的 信赖域方法[23].数学工作者们还提出了另外几种类型的方法,比如 :曲线搜索信赖域算法min 步二:求解子规划Q(X k ,Bj(即sti f (x k )T d -d TB k d 2 g j (xQ '、g j (xQ T d 乞0, j I ),得到d k . g j (xj i g j (xQ Td =0, j • L[24],即它在信赖域范围内采用曲线路径搜索下一个迭代点而得到具有整体收敛性的算法 ; 自适应的信赖域算法[25][26][27],即每次迭代时都充分利用当前迭代点的信息自动产生一 个恰当的信赖域半径,在此区域内,二次模型与目标函数尽可能一致,从而避免了盲目的搜 索尝试,提高了计算效率•目前,已有学者将具有并行性能的遗传算法(GA)用于求信赖域子问 题的解,并建立起一种具有全局随机搜索性能的信赖域遗传算法 [28].下面给出信赖域算法的 一般步骤[29]:Stepl.初始化选取初始点x n ,对称阵B o R n ,最大信赖域半径二0 ;取初始信赖域半径二0 • (0,二),容许误差;_0,参数 "0,1/ 4);置k = 0。
Step2.收敛性检验若|八广12—,则x k为近似最优解,算法停止;否则,求解 k T1 T 捫叫(df+^fk 门+尹恥(*),得到可能的移动量d k ,在求解(*)时,采用 i S.t ||d ||^A k 一种基于共轭梯度法的算法,即 Steilhaug.1) .初始化:取初始最优解d 0 = 0, g 0,初始搜索方向为r 0二-g 0,容许误差M 0, 置 k = 0。
2) .收敛性检验:若||g k 卜:;1,则取近似解d =d k ,算法停止;若||r k |B = (r k )T Br k乞0, 则沿着直线d =d k 十订k求解(*),得到一个满足||d ||2 = A 的近似解,算法停止;其他情形下, 令:k =||g k |2/||r k ||B ,d k1 =d k :k 「k ,若 ||d k『2」,则寻找步长 -0,使得 ||d k r k ||2 八, 并且令近似解d =d^ r k ,算法停止;否则,转3)。
3).迭代改进:令g k 1二g k * k Br k ,若|| g k 1|2 ; ||g 0 ||,则近似解d = d k1,算法停止;k1=-g k1「k r k,置 k 1 > k ,转 2)。
= f(x k )- f(x k d k ) = m k (0) -m k (d k)得到下降量比率。
令新的迭代点和信 匚=ARed k / PRed kStep4.校正矩阵 令f k 1f (x k 1),通过修正矩阵 3. 约束优化问题的可行算法否则,令 \ =||g k 1|£/||g k |2,r Step3.迭代改进"实际下降量 根据丿预期下降量下降量比率 ARed k PRed k 赖域半径分别为x k1 x k+d kx if 4 if'k ; kj ||d ||/4, 和也k 十=* min{2也k ,》}, △if if ,k ::1/4 3/4,||d k |F *。
else B k ,得到新的对称矩阵B k 1 ;置k k ,转Step2.在求解约束优化问题的算法中,可行算法是比较重要的一种。
它的迭代过程是从一个可行点迭代到另一个可行点。
这样的迭代过程一般通过两种策略来实现:由当前可行点产生可行下降方向,求步长,产生下一个可行点,即Zoutendijk可行方向法;还有一种是由当前可行点产生一个中间点,然后通过某种渠道得到一个新的可行点,即投影梯度算法。
3.1. Zoute ndijk 可行方向法Wolfe(1972)用实例说明了对于带线性约束的凸规划问题,Zoutendijk可行方向法产生的迭代点列不一定收敛到最优值点处,为从理论上证明Zoutendijk可行方向法的收敛性,Topkis 和Veinott(1967)对Zoutendijk可行方向法进行修正:在每一步迭代,将所有的约束都考虑进去。
得到了如下的Topkis-Veinott可行方向法来求解(1)。