|
楼主 |
发表于 2005-8-15 15:41
|
显示全部楼层
2.非线性最优化
在实际研究工作和生产实践中存在大量非线性最优化问题, 把它们完全简化成线性问题来处理是不妥当的.随着科学技术和计算机的发展, 这些实际问题具有这样一些特点.一是问题的变量比较多, 因为问题涉及的因素越来越多; 二是问题的规模越来越大;三是问题越来越复杂, 问题的非线性程度越来越高. 这类问题通常描述成在一组非线性约束条件下寻求某一非线性目标函数的最小或最大值。
非线性规划的一个重要理论是1951年Kuhn-Tucker最优条件(简称KT条件)的建立.此后的50年代主要是对梯度法和牛顿法的研究.以Davidon(1959), Fletcher和Powell(1963)提出的DFP方法为起点, 60年代是研究拟牛顿方法活跃时期, 同时对共轭梯度法也有较好的研究. 在1970年由Broyden,Fletcher,Goldfarb 和Shanno从不同的角度共同提出的BFGS方法是目前为止最有效的拟牛顿方法. 由于Broyden, Dennis 和More的工作使得拟牛顿方法的理论变得很完善. 70年代是非线性规划飞速发展时期, 约束变尺度(SQP)方法(Han和Powell为代表)和Lagrange乘子法(代表人物是Powell 和Hestenes)是这一时期主要研究成果.计算机的飞速发展使非线性规划的研究如虎添翼.80年代开始研究信赖域法、稀疏 拟牛顿法、大规模问题的方法和并行计算, 90年代研究解非线性规划问题的内点法和有限储存法. 可以毫不夸张的说, 这半个世纪是最优化发展的黄金时期.
与线性规划相比,非线性规划软件还不够完善. 但是已有大量解非线性规划问题的软件, 其中有相当一部分可从互联网上免费下载.BTN是利用线搜索技术的块截断牛顿方法解无约束问题的软件,近似牛顿方向是通过块共轭梯度法解牛顿方程得到. 块状结构比较方便对线性代数方程和函数计算进行并行化处理. BTN有两个版本: 简本和用户版本. 简本不需并行化技术, 而用户版本允许多种复杂运算, 包含并行化处理. 此软件可以通过
ftp://netlib2.cs.utk.edu/opt获得。BQPD是Fletcher研制的解二次规划的软件, 所使用的基本方法是零空间积极集法. DONLP2是Spellucci研制的用SQP方法解一般非线性约束问题的软件,适合解小规模优化问题, 可以从网址ftp://netlib2.cs.utk.edu/opt/donlp2/
上免费下载。HOOKE是解无约束最优化问题的一个直接方法的软件,可以通过 ftp://netlib2.cs.utk.edu/opt/hooke.c
获得。LANCELOT是由Conn,Gould和Toint研制的解大规模最优化问题的软件包,适合解无约束最优化、非线性最小二乘、边界约束最优化和一般约束最优化问题.这个软件的基本思想是利用增广Lagrange函数来处理约束条件, 在每步迭代中解一个边界约束优化子问题, 其所用的方法结合信赖域和投影梯度等技术.MINPACK是美国Argonne国家实验室研制的软件包,适合求解非线性方程组和非线性最小二乘问题, 所用的基本方法是阻尼最小二乘法, 此软件可以从网上图书馆获得. PROC NLP是SAS软件公司研制的SAS商业软件中OR模块的一个程序,这个程序适合解无约束最优化、非线性最小二乘、线性约束最优化、二次规划和一般约束最优化问题.TENMIN是Schnabel等研制的解中小规模问题(n<100n<100)的张量方法软件。在互联网上能访问到的解非线性最优化问题的软件还有:CONOPT(非线性规划),DOT(优化设计工具箱),Excel and Quattro Pro Solvers(线性,整数和非线性规划),FSQP(非线性规划和极小极大问题),GRG2(非线性规划), LBFGS(有限储存法),LINDO(线性、二次和混合整数规划),LSSOL(最小二乘和二次规划),MINOS(线性和非线性规划),NLPJOB(非线性多目标规划), OPTPACK(约束和无约束最优化),PETS(解非线性方程组和无约束问题的并行算法),QPOPT(线性和二次规划),SQOPT(大规模线性和凸二次规划),SNOPT(大规模线性、二次和非线性规划),SPRNLP(稀疏最小二乘,稀疏和稠密非线性规划),SYSFIT(非线性方程组的参数估计),TENSOLVE(非线性方程组和最小二乘), VE10(非线性最小二乘)等. |
|