1stopt简单应用教程-文档资料_第1页
1stopt简单应用教程-文档资料_第2页
1stopt简单应用教程-文档资料_第3页
1stopt简单应用教程-文档资料_第4页
1stopt简单应用教程-文档资料_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、3/6/202211stopt 使用简介3/6/20222第1章 1stopt 概述3/6/20223v1stOpt 是七维高科有限公司(7D-Soft High Technology Inc.)独立开发,拥有完全自主知识产权的一套数学优化分析综合工具软件包。v在非线性回归,曲线拟合,非线性复杂模型参数估算求解,线性/非线性规划等领域傲视群雄,首屈一指,居世界领先地位。 概述概述3/6/202241.1 1stOpt 应用范围v1) 模型自动优化率定 v2) 参数估算v3) 任意模型公式线性,非线性拟合,回归v4) 非线性连立方程组求解v5) 常微分方程及方程组,初值及边值问题v6) 任意维函

2、数,隐函数极值求解v7) 隐函数根求解,作图,求极值v8) 线性,非线性及整数规划v9) 组合优化问题v10) 高级计算器概述概述3/6/202251.2 1stOpt 特长v1) 功能强劲,是目前唯一能以任何初始值而求得美国国家标准与技术研究院(NIST)非线性回归测试题集最优解的软件包。v2) 可广泛用于水文水资源及其它工程模型优化计算。内镶VB 及Pascal 语言,可帮助描述处理复杂模型。v3) 可连接由任何语言(C+, Fortran, Basic, Pascal)编译而成的外部目标函数动态连接库或命令行可执行文件。v4) 非线性曲线拟合可处理任意类型模型公式,任意多数目的待求参数及

3、变量,批量数据拟合、权重拟合、带约束拟合、缺失变量拟合。概述概述3/6/202261.3 1stOpt 特长v5) 模型自动率定时可同时处理多个数据文件。v6) 可非常容易处理一些特殊的参数,如降雨径流模型中的流域初期土壤含水量。v7) 可同时处理多个输出量。v8) 实时显示计算结果。v9) 可直接读存 Excel,CSV 等格式文件。v10) 界面简单友好,使用方便。v11) 自带有上百个实例,覆盖范围包括几乎所有优化方面。通过不同类型实例,用户可轻松掌握1stOpt 的用法。概述概述3/6/202271.4 1stopt界面界面文件浏览窗口文件浏览窗口代码本代码本算法设置算法设置结果显示结

4、果显示代码本表格代码本表格属性编辑器属性编辑器概述概述3/6/202281.5 1stOpt 应用的优化算法应用的优化算法v1) 通用全局优化算法(Universal Global Optimization - UGO)v2) 下山単体法 (Simplex Method - SM) v3) 差分进化法 (Differential Evolution - DE)v4) 最大继承法 (Max Inherit Optimization - MIO)v5) 遗传算法 (Genetic Algorithms - GA)v6) 模拟退火 (Simulated Annealing - SA)v7) 离子群法

5、 (Particle Swarm Optimization - PSO)v8) 自组织群移法 (Self-Organizing Migrating Algorithms - SOMA)v9) 禁忌搜索法 (Tabu Search - TS)v10) 单纯线性规划法 (Simplex Linear Program)概述概述3/6/20229核心优化算法核心优化算法v除去简单易用的界面,其计算核心是基于七维高科有限公司科研人员十数年的革命性研究成果v【通用全局优化算法】(Universal Global Optimization - UGO)。v该算法之最大特点是克服了当今世界上在优化计算领域中使

6、用迭代法必须给出合适初始值的难题,即用户勿需给出参数初始值,而由1stOpt 随机给出,通过其独特的全局优化算法,最终找出最优解。 概述概述3/6/202210优化算法设定优化算法设定v非线性回归、曲线拟合问题、方程及方程组求解、无约束函数优化:1) 通用全局优化算法2) 下山単体法 + 通用全局优化算法3) 差分进化法4) 最大继承法v有约束函数优化问题:1) 下山単体法 + 通用全局优化算法2) 差分进化法3) 通用全局优化算法4) 最大继承法概述概述3/6/202211v线性规划问题:1) 单纯线性规划法 2) 下 山 単 体 法 + 通用全局优化算法3) 差分进化法v优化组合问题:1)

7、 最大继承法2) 禁忌搜索法3) 模拟退火4) 遗传算法优化算法设定优化算法设定概述概述3/6/202212对对90以上的问题,缺省优化设置均可满足要求。以上的问题,缺省优化设置均可满足要求。优化算法设定窗口优化算法设定窗口概述概述3/6/2022131.6 1stopt编程的主要关键词编程的主要关键词v有定义参数以及参数取值范围;v定义变量、定义常量、定义函数;v定义数据文件、定义优化方法;v定义求和、求积、循环符;v画函数图、画参数方程函数图等。v详见使用手册P4P5。v 1stOpt 支持几十种的数学函数,详见P6P8。概述概述3/6/2022141.7 1stOpt 快捷组合键v关键字

8、快捷输入窗口组合键:在代码本中按“Ctrl+K”窗口弹出后,按顺序输入关键字字母,可快速查找并输入所需关键字v数学函数快捷输入窗口组合键:在代码本中按“Ctrl+M”窗口弹出后,按顺序输入数学函数字母,可快速查找并输入所需数学函数v代码表格、代码本快捷输入窗口组合键:在代码本中按“Ctrl+J”窗口弹出后,可选择所需代码表格或代码本。v恢复上一次执行的代码:在代码本中按“Ctrl+Shift+T”有时或许由于代码输错,或许由于其它不明原因,当输完代码按计算命令时,1stOpt出错而退出,如果先前没有进行保存,该如何恢复刚才输入的代码呢?重新启动1stOpt,开启一新代码本,在代码本中按“Ctr

9、l+Shift+T”即可恢复上一次执行的代码。概述概述3/6/2022151.8 数据处理电子表格数据处理电子表格v1stOpt 附带有类似与Excel 的电子表格,多表单,支持公式,直接输入输出到Excel和文本文件(.txt,.csv),树型表单管理,直观并可分类,可方便用于数据前、后处理。概述概述3/6/2022161.9 1stopt基本语法v每一句代码以;号作结束符。如vParameter a, b, c, d;vConstant p1 = 1, p2 = 4, p3 = 5;v在同一代码本中可写多个不同问题的代码,由关键词“NewDivision”来区分。v可同时开启多个代码编辑本

10、。v一代码文件中还可加入富文本如图,表,公式等,也可把不同格式的文件添付进来。概述概述3/6/2022171.10 执行计算执行计算v因为 1stOpt 的初始值通常是随机产生,一次计算不成功,并非意味下次亦同样不成功,反之亦然。v按快捷键”F9”执行计算,“F10“中止计算。概述概述3/6/202218第2章 1stopt 应用3/6/2022192.1 求任意形式,任意维数,约束或非约束的求任意形式,任意维数,约束或非约束的函数最优值函数最优值应用应用v约束函数即可以是不等式也可以是等式约束函数即可以是不等式也可以是等式。2.1.1 求下列一维函数最小值v函数 f = x sin(x) +

11、 sin(x) v其中,x3 ,3 v1stOpt 代码:vParameter x = -3*pi,3*pi;vMinFunction x*sin(x)+sin(x);v结果:f = -5.7976,x = 4.88083/6/202220v下列代码可以画出图来vParameter x = -3*pi,3*pi,y;vplotfunction ;vfunction y=x*sin(x)+sin(x);应用应用3/6/2022212.1.2 求下列多维函数最小值v其中, X 30,30,n = 20v1stOpt 代码:vConstant n = 20;vParameter x(1:n) = -

12、30,30;vMinFunction Sum(i = 1:n-1) (3*(Cos(2*xi) + Sin(2*xi+1) + Sqrt(xi+12 + xi2);v结果:f = -51.7695)2sin()2(cos(3(212111iiniiixxxxf例如:函数例如:函数应用应用v1stopt还可求隐函数的最优值、针状函数的全局最优等。还可求隐函数的最优值、针状函数的全局最优等。3/6/2022222.1.3 线性规划问题线性规划问题v1stOpt 算法中含有专门的线性算法单纯性算法,可高效求解线性规划问题。不同于Lingo 等优化软件包,在1stOpt 中,各待求参数的缺省设置范围是

13、正负无穷。v线性规划实例-132132xxxMax目标函数0,31832153321321321321xxxxxxxxxxxxSt应用应用3/6/202223v1stOpt 代码:vParameter x(1:3)0,;vMaxFunction 2*x1+3*x2+x3;vx1+3*x2+x3 = 15;v2*x1+3*x2-x3 = 18;vx1-x2+x3 = 3;v= 结果 =v迭代数: 125v计算用时(时:分:秒:毫秒): 00:00:01:78v计算中止原因: 达到收敛判定标准v优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法v函数表达式: 2*x

14、1+3*x2+x3v目标函数值(最大): 19.9999998856399vx1: 4.99999988563987vx2: 3.00000005515308vx3: 0.999999948900893应用应用3/6/2022242.1.4 非线性规划问题非线性规划问题v非线性混合整数规划问题实例-1321212322221125 . 0)sin(5 . 1xxxxxxxxxxMin目标函数为整数为实数,321321,101020202020.xxxxxxSt 1stOpt 代码: Parameters x1-20,20,x2-20,20,x3-10,10,0; MinFunction 1.5

15、*(x1-sin(x1- x2)2+0.5*x22+x32-x1*x2-2*x1+x2*x3; 结果:目标函数值(最小): -10.961821657691x1: 4.99963280998717x2: 9.73414801760973x3: -5应用应用3/6/2022252.1.5 排列组合优化问题排列组合优化问题v1stOpt 亦可用与解决组合优化问题。自行开发的最大继承法(MIO)在解决该类问题时,比其它诸如遗传算法,模拟退火及禁忌算法等表现更优。vTSP 问题:是非常著名的组合优化问题:有个城市,从某一城市出发,每个城市访问一次,最后回到起始城市,试求最短距离的访问路线。v具体实例见

16、使用手册P21P24.应用应用3/6/2022262.2 非线性拟合v1stOpt1stOpt的非线性拟合功能强于目前任何已知软件包,如著名的的非线性拟合功能强于目前任何已知软件包,如著名的SPSSSPSS,SASSAS,MatlabMatlab,OriginOrigin,SystatSystat,DataFitDataFit等。其最大特点是,在绝大多等。其最大特点是,在绝大多数情况下,不需要使用者提供数情况下,不需要使用者提供( (猜测猜测) )任何初始值,仅依靠自身的全局搜任何初始值,仅依靠自身的全局搜索能力,从任意随机值出发,既可求得最优解。索能力,从任意随机值出发,既可求得最优解。v美

17、国国家标准与技术研究院(美国国家标准与技术研究院(NISTNIST)提供有一套)提供有一套27 27 道非线性拟合测试道非线性拟合测试题,世界上几乎所有著名的数据分析软件包都以能通过该套测试题集为题,世界上几乎所有著名的数据分析软件包都以能通过该套测试题集为验证标准。验证标准。v经对比测试,经对比测试,1stOpt1stOpt是目前唯一不依赖使用是目前唯一不依赖使用NISTNIST提供的初始值,而能以提供的初始值,而能以任意随机初始值就可求得全部最优解的软件包任意随机初始值就可求得全部最优解的软件包( (如果使用如果使用NISTNIST提供的初提供的初始值,则更可轻易求得最优解始值,则更可轻易

18、求得最优解) )。v由于在实际应用当中,选择确定合理的初始值组是一件非常困难的事,由于在实际应用当中,选择确定合理的初始值组是一件非常困难的事,尤其是在参数量比较多的情况下。从此意义而言,尤其是在参数量比较多的情况下。从此意义而言,1stOpt1stOpt的实用能力达的实用能力达业界领先水平。业界领先水平。应用应用3/6/202227v1stOpt 1stOpt 的曲线拟合均为自定义拟合。的曲线拟合均为自定义拟合。v“Function”Function”、“Data/RowData/DataFile”Data/RowData/DataFile”为必须的两个为必须的两个关键字;可选择关键字有关键

19、字;可选择关键字有“Variable”Variable”、”Parameter”Parameter”、“QuickReg”QuickReg”等。等。v对二维曲线拟合,缺省自变量名为对二维曲线拟合,缺省自变量名为x x,因变量名为,因变量名为y y;v对三维有两种缺省方式,一为自变量名为对三维有两种缺省方式,一为自变量名为x1 x1 和和x2x2,因变量,因变量名为名为y y,第二种为自变量名为,第二种为自变量名为x x 和和y y,因变量名为,因变量名为z z;v对多维,缺省自变量名为对多维,缺省自变量名为x1x1,x2, x3,x2, x3,因变量名为因变量名为y;y;v当数据较长,为了节省

20、代码本空间,可考虑将数据以行的形当数据较长,为了节省代码本空间,可考虑将数据以行的形式给出,即用关键字式给出,即用关键字“RowData”RowData”取代取代“Data”Data”,同时数据,同时数据形式亦做相应改动,每行数据以形式亦做相应改动,每行数据以“;”;”号结束。号结束。应用应用3/6/202228v数据也可存为文件形式,用关键字“DataFile”调用,文件格式包括标准文本格式和Excel文件格式。如Excel 数据如下图 并存为“c:test1.xls”,调用形式如下。vVariable x,y;vFunction y = b1*(x2+x*b2)/(x2+x*b3+b4);

21、vDataFile C:test1.xlsSheet1B4:C14;v注意使用“DataFile”时,关键字“Variable”不能省略。应用应用3/6/202229v共享模式拟合;v缺少变量值的特殊拟合;v批处理拟合;v权重拟合;v带约束拟合;v带积分的拟合;v最小一乘及其它特殊拟合;v隐函数拟合;v公式自动搜索拟合;v设定拟合初始取值范围;应用应用1stopt可完成以下方式的拟合3/6/202230公式自动搜索例v1stOpt 代码vData;v15 0.489v30 0.427v45 0.373v60 0.327v75 0.285v90 0.250v105 0.218v120 0.191

22、v135 0.167v495 0.005点击点击“开始开始”,可得到具有最优拟合的函数式。如下页所,可得到具有最优拟合的函数式。如下页所示。示。应用应用3/6/202231应用应用3/6/2022322.3 方程及方程组求解方程及方程组求解v1stOpt 可求解任意形式的线性、非线性方程或方程组,其关键字是“Function”2.3.1 一般方程组求解例如:例如:1stopt代码代码Parameter x, y, z;Function (x-0.3)yz+x/y/z-x*y*sin(z)+(x+y-z)cos(x-1) = 1; (y-0.2)zx+y/z/x-y*z*sin(x)+(y+z-

23、x)cos(y-2) = 2; (z-0.1)xy+z/x/y-z*x*sin(y)+(z+x-y)cos(z-3) = 3;应用应用= 结果 =x: 0.793906344084337y: 0.902585377881761z: 1.216223676539833/6/2022331stopt还可完成v2.3.2 循环方程求解v2.3.3 循环递归方程求解v2.3.4 整数方程求解应用应用3/6/2022342.4 常微分方程数值求解v2.4.1 常微分方程初值问题v2.4.2 隐式常微分方程及方程组v2.4.3 变系数常微分方程v2.4.4 高阶常微分方程及方程组v2.4.5 常微分方程边

24、值问题应用应用3/6/2022352.5 其它应用v2.5.1 隐函数作图v2.5.2 参数函数作图v2.5.3 作为高级计算器使用v其它应用应用3/6/202236第3章 1stOpt 的编程模式3/6/202237v1stOpt 的快捷模式直观、简单、明了、易于掌握,可以解决大部分优化问题。v但对于一些复杂的问题,如目标函数或约束函数无法用简单的表达式来表述计算,而是通过复杂的逻辑判断、循环运算等来表达计算,快捷模式则无能为力,此时可用1stOpt 的编程模式来解决。v1stOpt 直接支持Basic 和Pascal 两种语言。从理论上来说,编程模式可以处理解决全部快捷模式下的问题。3/6

25、/202238编程模式的主要关键字:v1) StartProgram :定义编程模式的起始行v “StartProgram Basic”表示用Basic 语言v “StartProgram Pascal”或“StartProgram”表示用Pascal 语言v2) EndProgram:定义编程模式的终止行v在“StartProgram”和“EndProgram”间按标准的Delphi/Pascal 或Basic 语言编写。v3) ObjectiveResult:定义目标函数,仅可有一次。v4) ConstrainedResult:定义约束函数,可有多个。3/6/2022393.3 运输问题v

26、有三节铁路货车车厢,其最大允许载重量均为分別位 7,9,19 吨,现欲用这三节车厢运输16 个箱子。下表列出了这些箱子的重量w=3.4,0.6,0.8,1.7,1.6,0.5,1.3,2.1,2.5,3.1,1.4,1.3,3.3,0.9,2.5,2.5,单位为吨。应如何将箱子分配到各个车厢上,使装载量最大的车厢的装载量最小?同时每节车厢实际载重均不超过最大允许载重。v这类问题无法用快捷模式求解,只能用编程模式解决。3/6/202240Basic 代码:vAlgorithm = SM230;vConstant w=3.4,0.6,0.8,1.7,1.6,0.5,1.3,2.1,2.5,3.1,

27、1.4,1.3,3.3,0.9,2.5,2.5;vConstant c=7,9,19;vIntParameter p(16)=1,3;vPassParameter v(3);vMinimum;vStartProgram Basic;vSub MainModelvdim i as integervdim ww(3) as doublevfor i = 1 to 3vww(i) = 0vnextvfor i = 1 to 16vif p(i) = 1 thenvww(1) = ww(1) + w(i)velseif p(i) = 2 thenvww(2) = ww(2) + w(i)velseif

28、 p(i) = 3 thenvww(3) = ww(3) + w(i)vend ifvnextvfor i = 1 to 3vv(i) = ww(i)vnextvObjectiveResult = ww(3)vConstrainedResult = for(i=1:3)(ww(i) = c(i)vEnd SubvEndProgram;3/6/202241Pascal 代码:vAlgorithm = SM230;vConstant w=3.4,0.6,0.8,1.7,1.6,0.5,1.3,2.1,2.5,3.1,1.4,1.3,3.3,0.9,2.5,2.5;vConstant c=7,9,19;vIntParameter p(16)=1,3;vPassParameter v(3);vMinimum;vStartProgram Pascal;vProcedure MainModel;vvar i: integer;vww: array1.3 of double;vBeginvfor i := 1 to 3 dovwwi := 0;vfor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论