七维高科有限公司综合优化软件包1stOpt使用手册第一篇1stOpt简介1.1:概要1stOpt是七维高科有限公司(7D-SoftHighTechnologyInc.)独立开发,拥有完全自主知识产权的一套数学优化分析综合工具软件包。在非线性回归,曲线拟合,非线性复杂模型参数估算求解,线性/非线性规划等领域傲视群雄,首屈一指,居世界领先地位。除去简单易用的界面,其计算核心是基于七维高科有限公司科研人员十数年的革命性研究成果【通用全局优化算法】(UniversalGlobalOptimization-UGO),该算法之最大特点是克服了当今世界上在优化计算领域中使用迭代法必须给出合适初始值的难题,即用户勿需给出参数初始值,而由1stOpt随机给出,通过其独特的全局优化算法,最终找出最优解。以非线性回归为例,目前世界上在该领域最有名的软件工具包诸如Matlab,OriginPro,SAS,SPSS,DataFit,GraphPad等,均需用户提供适当的参数初始值以便计算能够收敛并找到最优解。如果设定的参数初始值不当则计算难以收敛,其结果是无法求得正确结果。而在实际应用当中,对大多数用户来说,给出(猜出)恰当的初始值是件相当困难的事,特别是在参数量较多的情况下,更无异于是场噩梦。而1stOpt凭借其超强的寻优,容错能力,在大多数情况下(大于90%),从任一随机初始值开始,都能求得正确结果。1.2:国内外类似软件概况数据综合分析领域,国外软件无疑占绝对统治地位。在非线性曲线拟合,参数优化方面,名声大,应用广的有诸如OriginPro,Matlab,SAS,SPSS,DataFit,GraphPad,TableCurve2D,TableCurve3D等。无论这些软件界面,历史,名声如何,最常用算法有麦夸特法(Levenberg-Marquardt)或简面体爬山法(SimplexMethod)等,均可归属于局部最优法。因而如何有效地确定参数初始值始终是难以克服的瓶颈,由于此,一些实际问题可能永远无法获得正解。国内方面,因无自己独特有效的技术理论与方法,虽有个别分析软件面市,与上述国外类似产品相比,功能相差甚远,即使在国内也无竞争优势,在国际上就更无声影了。而1stOpt凭借自己革命性的算法理论,在非线性拟合,参数估算等优化领域强于目前世界上任何已知软件包,其英文版已远销美国,德国,法国,英国,芬兰,瑞典,荷兰,南非,澳大利亚,新西兰,土耳其等国。1七维高科有限公司1.3:1stOpt应用的优化算法最优化算法包括:1)Levenberg-Marquardt法(LM)+通用全局优化算法(UniversalGlobalOptimization-UGO)2)Quasi-Newton法(BFGS)+通用全局优化算法(UniversalGlobalOptimization-UGO)3)遗传算法(GeneticAlgorithms-GA)4)摸拟退火(SimulatedAnnealing-SA)5)下山単体法(SimplexMethod-SM)+通用全局优化算法(UniversalGlobalOptimization-UGO)6)离子群法(ParticleSwarmOptimization-PSO)7)最大继承法(MaxInheritOptimization-MIO)8)差分进化法(DifferentialEvolution-DE)9)自组织群移法(Self-OrganizingMigratingAlgorithms-SOMA)10)共扼梯度法(Conjugate-GradientMethod-CGM)+通用全局优化算法(UniversalGlobalOptimization-UGO)11)包维尔法(PowellOptimization-PO)+通用全局优化算法(UniversalGlobalOptimization-UGO)12)禁忌搜索法(TabuSearch-TS)13)单纯线性规划法(SimplexLinearProgram)1.4:1stOpt应用范围1)模型自动优化率定2)参数估算3)任意模型公式线性,非线性拟合,回归4)非线性连立方程组求解5)任意维函数,隐函数极值求解6)隐函数根求解,作图,求极值7)线性,非线性及整数规划8)组合优化问题9)高级计算器1.5:1stOpt特长1)功能强劲,是目前唯一能以任何初始值而求得美国国家标准与技术研究院(NIST:NationalInstituteofStandardsandTechnology)非线性回归测试题集最优解的软件包。2)可广泛用于水文水资源及其它工程模型优化计算。内镶VB及Pascal语言,可帮助描述处理复杂模型。3)可连接由任何语言(C++,Fortran,Basic,Pascal…)编译而成的外部目标函数动态连接库或命令行可执行文件。4)非线性曲线拟合可处理任意类型模型公式,任意多数目的待求参数及变量5)模型自动率定时可同时处理多个数据文件6)可非常容易处理一些特殊的参数,如降雨径流模型中的流域初期土壤含水量7)可同时处理多个输出量8)实时显示计算结果9)可直接读存Excel,CSV等格式文件2七维高科有限公司10)界面简单友好,使用方便11)自带有上百个实例,覆盖范围包括几乎所有优化方面。通过不同类型实例,用户可轻松掌握1stOpt的用法。1.6:1stOpt关键词表.1:主要关键词关键词名意义及示例Parameter定义参数例:定义a,b,c,d四个参数:Parametera,b,c,d;例:定义a1,a2,a3,a4,a5,a6,a7,a8,a9,a10十个参数:Parametera1,a2,a3,a4,a5,a6,a7,a8,a9,a10;也可简写为:Parametera(1:10);例:定义参数a,其取值范围在【-1,1】,初始值为0.5Parametera=0.5[-1,1];例:定义参数a为整数,其取值范围在【-100,100】Parametera[-100,100,0];Variable定义变量例:定义x,y,z三个变量:Variablex,y,z;Function定义函数例:两变量曲线拟合:Functiony=a+b*exp(c–x);例:两变量函数优化:Function(x+((2-x)*(2+y))^2)*sin(x*y);Constant定义常量例:两变量曲线拟合:Functiony=a+b*exp(c–x);例:两变量函数优化:Function(x+((2-x)*(2+y))^2)*sin(x*y);ConstStr定义常字符串量例:两变量曲线拟合:Functiony=a*(c-x)^2+b*exp((c–x)^4);可写为:ConstStrB=(c-x)^2Functiony=a*B+b*exp(B^2);VarConstant定义变常量,详情见2.4节VarParameter定义变参数,详情见2.4节Data定义数据开始DataFile定义数据文件NewDivision定义新得代码块StartProgram编程模式开始EndProgram编程模式结束Maximum求最大值Minimum求最小值PlotFunction画函数图Algorithms定义优化方法3七维高科有限公司Exclusive定义问题为排它问题,如TSP问题StartRange定义初始值范围SharedModel定义共享参数问题DataSet定义常数EndDataSet结束定义常数MinFunction最小值求优MaxFunction最大值求优PlotParaFunction画参数方程函数图Title定义代码块名1stOpt还有两个特殊定义符:求和定义:如(1sin(1)niiixx=)⋅+∑,在1stOpt中表达为:Sum(i=1:n)(x[i]*sin(x[i]+1))求积定义:如(1sin(1)niiixx=)⋅+∏,在1stOpt中表达为:Prod(i=1:n)(x[i]*sin(x[i]+1))1.7:1stOpt界面1.7.1:主界面文件游览窗口电子表格代码页关键词快捷窗口图.11stOpt主画面关键词快捷窗口由组合键“Ctrl+K”弹出,可帮助用户准确快速输入关键词。在同一代码本中可写多个不同问题的代码,由关键词“NewDivision”来区分。可同时开启多个代码编辑本。同一代码文件中还可加入富文本如图,表,公式等,也可把不同格式的文件添付进来。4七维高科有限公司1.7.2:数据处理电子表格1stFit电子表格类似与Excel,多表单,支持公式,直接输入输出到Excel,文本文件(.txt,.csv),树型表单管理,直观并可分类,可方便用于数据前,后处理。图.21stOpt电子表格1.7.3:输入代码每一句代码以‘;’号作结束符。如Parametera,b,c,d;Constantp1=1,p2=4,p3=5;对曲线拟合,对二维,缺省自变量名为x,因变量名为y;对三维或多维,缺省自变量名为x1,x2,x3…,因变量名为y。如下两段代码效果等同,右边代码中无需再定义变量和参数,将由1stOpt自动识别。代码1代码2Variablesx,y;Parametersa,b,c,d;Functiony=a-b*exp(-c*x^d);Data;0.050.130.150.130.250.190.350.34Functiony=a-b*exp(-c*x^d);Data;0.050.130.150.130.250.190.350.34对函数优化,如参数没有范围限制,也可省去参数定义,下列左右两段代码效果等同代码1代码2Parametersx,y;Minimum=True;Functionexp(sin(50*x))+sin(60*exp(y))+sin(70*sin(x))+sin(sin(80*y))-sin(10*(x+y))+(x^2+y^2)/4;MinFunctionexp(sin(50*x))+sin(60*exp(y))sin(70*sin(x))+sin(sin(80*y))-sin(10*(x+y))+(x^2+y^2)/4;5七维高科有限公司1.7.4:执行计算因为1stOpt的初始值通常是随机产生,一次计算不成功,并非意味下次亦同样不成功,反之亦然。按快捷键”F9”执行计算,“F10“中止计算。1.7.5:优化算法设定在1stOpt中,共有13种有化算法。不同的问题该选用何种算法?一般而言:非线性回归,曲线拟合问题:1)Levenberg-Marquardt法(LM)+通用全局优化算法(UniversalGlobalOptimization-UGO)2)BFGS+通用全局优化算法(UniversalGlobalOptimization-UGO)3)下山単体法(SimplexMethod-SM)+通用全局优化算法(UniversalGlobalOptimization-UGO)4)差分进化法5)最大继承法函数优化,方程求根问题:1)下山単体法(SimplexMethod-SM)+通用全局优化算法(UniversalGlobalOptimization-UGO)2)BFGS+通用全局优化算法(UniversalGlobalOptimization-UGO)3)差分进化法4)最大继承法线性规划问题:1)单纯线性规划法(SimplexLinearProgram-SLP)2)下山単体法(StandardSimplexMethod-SM)+通用全局优化算法(UniversalGlobalOptimization-UGO)3)差分进化法优化组合问题:1)最大继承法2)禁忌搜索法3)模拟退火4)遗传算法6七维高科有限公司图.3优化算法设置对90%以上的问题,缺省优化设置均可满足要求。对个别较为复杂的问题,可适当改变参数,方法如下表.2:表.2:优化参数修改方法算法参数改变Levenberg-Marquardt法(LM)+通用全局优化算法Quasi-Newto