收藏 分销(赏)

1stopt简单应用教程.ppt

上传人:天**** 文档编号:2092472 上传时间:2024-05-15 格式:PPT 页数:45 大小:589KB
下载 相关 举报
1stopt简单应用教程.ppt_第1页
第1页 / 共45页
1stopt简单应用教程.ppt_第2页
第2页 / 共45页
1stopt简单应用教程.ppt_第3页
第3页 / 共45页
1stopt简单应用教程.ppt_第4页
第4页 / 共45页
1stopt简单应用教程.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

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

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

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

4、器概述概述5/13/20247.1.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)离子群法(Particle Swarm Optimization-PSO)v8)自组织群移法(Se

5、lf-Organizing Migrating Algorithms-SOMA)v9)禁忌搜索法(Tabu Search-TS)v10)单纯线性规划法(Simplex Linear Program)概述概述5/13/20248.核心优化算法核心优化算法v除去简单易用的界面,其计算核心是基于七维高科有限公司科研人员十数年的革命性研究成果v【通用全局优化算法】(Universal Global Optimization-UGO)。v该算法之最大特点是克服了当今世界上在优化计算领域中使用迭代法必须给出合适初始值的难题,即用户勿需给出参数初始值,而由1stOpt 随机给出,通过其独特的全局优化算法,最

6、终找出最优解。概述概述5/13/20249.优化算法设定优化算法设定v非线性回归、曲线拟合问题、方程及方程组求解、无约束函数优化:1)通用全局优化算法2)下山単体法+通用全局优化算法3)差分进化法4)最大继承法v有约束函数优化问题:1)下山単体法 +通用全局优化算法2)差分进化法3)通用全局优化算法4)最大继承法概述概述5/13/202410.v线性规划问题:1)单纯线性规划法 2)下 山 単 体 法 +通用全局优化算法3)差分进化法v优化组合问题:1)最大继承法2)禁忌搜索法3)模拟退火4)遗传算法优化算法设定优化算法设定概述概述5/13/202411.对对90以上的问题,缺省优化设置均可满

7、足要求。以上的问题,缺省优化设置均可满足要求。优化算法设定窗口优化算法设定窗口概述概述5/13/202412.1.6 1stopt编程的主要关键词编程的主要关键词v有定义参数以及参数取值范围;v定义变量、定义常量、定义函数;v定义数据文件、定义优化方法;v定义求和、求积、循环符;v画函数图、画参数方程函数图等。v详见使用手册P4P5。v 1stOpt 支持几十种的数学函数,详见P6P8。概述概述5/13/202413.1.7 1stOpt 快捷组合键v关键字快捷输入窗口组合键:在代码本中按“Ctrl+K”窗口弹出后,按顺序输入关键字字母,可快速查找并输入所需关键字v数学函数快捷输入窗口组合键:

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

9、有类似与Excel 的电子表格,多表单,支持公式,直接输入输出到Excel和文本文件(.txt,.csv),树型表单管理,直观并可分类,可方便用于数据前、后处理。概述概述5/13/202415.1.9 1stopt基本语法v每一句代码以;号作结束符。如vParameter a,b,c,d;vConstant p1=1,p2=4,p3=5;v在同一代码本中可写多个不同问题的代码,由关键词“NewDivision”来区分。v可同时开启多个代码编辑本。v一代码文件中还可加入富文本如图,表,公式等,也可把不同格式的文件添付进来。概述概述5/13/202416.1.10 执行计算执行计算v因为 1stO

10、pt 的初始值通常是随机产生,一次计算不成功,并非意味下次亦同样不成功,反之亦然。v按快捷键”F9”执行计算,“F10“中止计算。概述概述5/13/202417.第2章 1stopt 应用5/13/202418.2.1 求任意形式,任意维数,约束或非约束的求任意形式,任意维数,约束或非约束的函数最优值函数最优值应用应用v约束函数即可以是不等式也可以是等式约束函数即可以是不等式也可以是等式。2.1.1 求下列一维函数最小值v函数 f=x sin(x)+sin(x)v其中,x3,3 v1stOpt 代码:vParameter x=-3*pi,3*pi;vMinFunction x*sin(x)+s

11、in(x);v结果:f=-5.7976,x=4.88085/13/202419.v下列代码可以画出图来vParameter x=-3*pi,3*pi,y;vplotfunction;vfunction y=x*sin(x)+sin(x);应用应用5/13/202420.2.1.2 求下列多维函数最小值v其中,X 30,30,n=20v1stOpt 代码:vConstant n=20;vParameter x(1:n)=-30,30;vMinFunction Sum(i=1:n-1)(3*(Cos(2*xi)+Sin(2*xi+1)+Sqrt(xi+12+xi2);v结果:f=-51.7695例

12、如:函数例如:函数应用应用v1stopt还可求隐函数的最优值、针状函数的全局最优等。还可求隐函数的最优值、针状函数的全局最优等。5/13/202421.2.1.3 线性规划问题线性规划问题v1stOpt 算法中含有专门的线性算法单纯性算法,可高效求解线性规划问题。不同于Lingo 等优化软件包,在1stOpt 中,各待求参数的缺省设置范围是正负无穷。v线性规划实例-1应用应用5/13/202422.v1stOpt 代码: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=

13、3;v=结果=v迭代数:125v计算用时(时:分:秒:毫秒):00:00:01:78v计算中止原因:达到收敛判定标准v优化算法:麦夸特法(Levenberg-Marquardt)+通用全局优化法v函数表达式:2*x1+3*x2+x3v目标函数值(最大):19.9999998856399vx1:4.99999988563987vx2:3.00000005515308vx3:0.999999948900893应用应用5/13/202423.2.1.4 非线性规划问题非线性规划问题v非线性混合整数规划问题实例-1 1stOpt 代码:Parameters x1-20,20,x2-20,20,x3-1

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

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

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

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

18、的两个关键字;可选择关键字有关键字;可选择关键字有“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,因变量名为因变量名

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

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

21、250v105 0.218v120 0.191v135 0.167v495 0.005点击点击“开始开始”,可得到具有最优拟合的函数式。如下页所示。,可得到具有最优拟合的函数式。如下页所示。应用应用5/13/202430.应用应用5/13/202431.2.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

22、/z/x-y*z*sin(x)+(y+z-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.216223676539835/13/202432.1stopt还可完成v2.3.2 循环方程求解v2.3.3 循环递归方程求解v2.3.4 整数方程求解应用应用5/13/202433.2.4 常微分方程数值求解v2.4.1 常微分方程初值问题v2.4.2 隐式常微分方程及方程组v2.4.3 变系数常微分方程v2.4.4 高阶常微分方程及方

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

24、式可以处理解决全部快捷模式下的问题。5/13/202437.编程模式的主要关键字:v1)StartProgram:定义编程模式的起始行v “StartProgram Basic”表示用Basic 语言v “StartProgram Pascal”或“StartProgram”表示用Pascal 语言v2)EndProgram:定义编程模式的终止行v在“StartProgram”和“EndProgram”间按标准的Delphi/Pascal 或Basic 语言编写。v3)ObjectiveResult:定义目标函数,仅可有一次。v4)ConstrainedResult:定义约束函数,可有多个。5

25、/13/202438.3.3 运输问题v有三节铁路货车车厢,其最大允许载重量均为分別位 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这类问题无法用快捷模式求解,只能用编程模式解决。5/13/202439.Basic 代码:vAlgorithm=SM230;vConstant w=3.4,0.6,0.8,1.7,1.6,

26、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 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)velsei

27、f 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;5/13/202440.Pascal 代码: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

28、 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 i:=1 to 16 dovif pi=1 then ww1:=ww1+wivelse if pi=2 then ww2:=ww2+wivelse if pi=3 then ww3:=ww3+wi;vfor i:=1 to 3 dovvi:=wwi;vObjectiveResult:=w

29、w3;vConstrainedResult:=for(i=1:3)(wwi=ci);vEnd;vEndProgram5/13/202441.第4章 1stOpt 调用外部程序5/13/202442.v1stOpt 已经有了快捷和编程两种模式,可以处理绝大多数优化问题。v然而对于一些非常复杂的工程优化问题,即使编程模式也无法满足要求,或这些优化问题已经由其它程序语言编写,较难改写成1stOpt 编程模式支持的两种语言Basic 和Pascal,这时就需要1stOpt 具有混合编程的能力,即1stOpt 提供优化算法而外部程序则提供目标函数和约束函数的计算。v自3.0版本起,1stOpt 已具有完

30、全混合编程能力,用户可用高级语言如C+、Fortran、Delphi/Pascal、Basic 或其它任何支持Window 标准动态库(.dll)或命令行执行文件(.exe)的编程语言编写任意复杂的优化问题,然后由1stOpt 调用。5/13/202443.v1stOpt 主要通过两种方式调用外部编译的程序,一是通过动态库(.dll)文件,二是通过命令行执行文件(.exe)。v在效率上第一种调用方式要远远高于第二种方式,因此推荐使用动态库调用方式。v1stOpt 自带有一外部程序编辑器(IDE),可用于编写、编译外部高级程序语言以生成可供1stOpt 调用的动态库文件(Dll 文件),该IDE 含有Delphi、FreeBasic、C+、Visual Fortran、PowerBasic 和Gun Fortran 动态库模板,可方便用户创建动态库文件。v外部程序的调用方式和IDE的使用在1stopt使用手册中详细介绍。5/13/202444.v这里仅对1stopt的功能和应用作简要介绍。v深入的应用需要同学们课后参考1stopt使用手册继续学习和上机练习。5/13/202445.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服