1stopt簡單應(yīng)用教程幻燈片_第1頁
1stopt簡單應(yīng)用教程幻燈片_第2頁
1stopt簡單應(yīng)用教程幻燈片_第3頁
1stopt簡單應(yīng)用教程幻燈片_第4頁
1stopt簡單應(yīng)用教程幻燈片_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、2,1,1stopt 使用簡介,2,2,第1章 1stopt 概述,2,3,1stOpt 是七維高科有限公司(7D-Soft High Technology Inc.)獨(dú)立開發(fā),擁有完全自主知識產(chǎn)權(quán)的一套數(shù)學(xué)優(yōu)化分析綜合工具軟件包。 在非線性回歸,曲線擬合,非線性復(fù)雜模型參數(shù)估算求解,線性/非線性規(guī)劃等領(lǐng)域傲視群雄,首屈一指,居世界領(lǐng)先地位。,概述,2,4,1.1 1stOpt 應(yīng)用范圍,1) 模型自動優(yōu)化率定 2) 參數(shù)估算 3) 任意模型公式線性,非線性擬合,回歸 4) 非線性連立方程組求解 5) 常微分方程及方程組,初值及邊值問題 6) 任意維函數(shù),隱函數(shù)極值求解 7) 隱函數(shù)根求解,作

2、圖,求極值 8) 線性,非線性及整數(shù)規(guī)劃 9) 組合優(yōu)化問題 10) 高級計算器,概述,2,5,1.2 1stOpt 特長,1) 功能強(qiáng)勁,是目前唯一能以任何初始值而求得美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)非線性回歸測試題集最優(yōu)解的軟件包。 2) 可廣泛用于水文水資源及其它工程模型優(yōu)化計算。內(nèi)鑲VB 及Pascal 語言,可幫助描述處理復(fù)雜模型。 3) 可連接由任何語言(C+, Fortran, Basic, Pascal)編譯而成的外部目標(biāo)函數(shù)動態(tài)連接庫或命令行可執(zhí)行文件。 4) 非線性曲線擬合可處理任意類型模型公式,任意多數(shù)目的待求參數(shù)及變量,批量數(shù)據(jù)擬合、權(quán)重擬合、帶約束擬合、缺失變量擬

3、合。,概述,2,6,1.3 1stOpt 特長,5) 模型自動率定時可同時處理多個數(shù)據(jù)文件。 6) 可非常容易處理一些特殊的參數(shù),如降雨徑流模型中的流域初期土壤含水量。 7) 可同時處理多個輸出量。 8) 實(shí)時顯示計算結(jié)果。 9) 可直接讀存 Excel,CSV 等格式文件。 10) 界面簡單友好,使用方便。 11) 自帶有上百個實(shí)例,覆蓋范圍包括幾乎所有優(yōu)化方面。通過不同類型實(shí)例,用戶可輕松掌握1stOpt 的用法。,概述,2,7,1.4 1stopt界面,文件瀏覽窗口,代碼本,算法設(shè)置,結(jié)果顯示,代碼本表格,屬性編輯器,概述,2,8,1.5 1stOpt 應(yīng)用的優(yōu)化算法,1) 通用全局優(yōu)化

4、算法(Universal Global Optimization - UGO) 2) 下山単體法 (Simplex Method - SM) 3) 差分進(jìn)化法 (Differential Evolution - DE) 4) 最大繼承法 (Max Inherit Optimization - MIO) 5) 遺傳算法 (Genetic Algorithms - GA) 6) 模擬退火 (Simulated Annealing - SA) 7) 離子群法 (Particle Swarm Optimization - PSO) 8) 自組織群移法 (Self-Organizing Migratin

5、g Algorithms - SOMA) 9) 禁忌搜索法 (Tabu Search - TS) 10) 單純線性規(guī)劃法 (Simplex Linear Program),概述,2,9,核心優(yōu)化算法,除去簡單易用的界面,其計算核心是基于七維高科有限公司科研人員十?dāng)?shù)年的革命性研究成果 【通用全局優(yōu)化算法】(Universal Global Optimization - UGO)。 該算法之最大特點(diǎn)是克服了當(dāng)今世界上在優(yōu)化計算領(lǐng)域中使用迭代法必須給出合適初始值的難題,即用戶勿需給出參數(shù)初始值,而由1stOpt 隨機(jī)給出,通過其獨(dú)特的全局優(yōu)化算法,最終找出最優(yōu)解。,概述,2,10,優(yōu)化算法設(shè)定,非線

6、性回歸、曲線擬合問題、方程及方程組求解、無約束函數(shù)優(yōu)化: 1) 通用全局優(yōu)化算法 2) 下山単體法 + 通用全局優(yōu)化算法 3) 差分進(jìn)化法 4) 最大繼承法 有約束函數(shù)優(yōu)化問題: 1) 下山単體法 + 通用全局優(yōu)化算法 2) 差分進(jìn)化法 3) 通用全局優(yōu)化算法 4) 最大繼承法 ,概述,2,11,線性規(guī)劃問題: 1) 單純線性規(guī)劃法 2) 下 山 単 體 法 + 通用全局優(yōu)化算法 3) 差分進(jìn)化法 優(yōu)化組合問題: 1) 最大繼承法 2) 禁忌搜索法 3) 模擬退火 4) 遺傳算法,優(yōu)化算法設(shè)定,概述,2,12,對90以上的問題,缺省優(yōu)化設(shè)置均可滿足要求。,優(yōu)化算法設(shè)定窗口,概述,2,13,1.

7、6 1stopt編程的主要關(guān)鍵詞,有定義參數(shù)以及參數(shù)取值范圍; 定義變量、定義常量、定義函數(shù); 定義數(shù)據(jù)文件、定義優(yōu)化方法; 定義求和、求積、循環(huán)符; 畫函數(shù)圖、畫參數(shù)方程函數(shù)圖等。 詳見使用手冊P4P5。 1stOpt 支持幾十種的數(shù)學(xué)函數(shù),詳見P6P8。,概述,2,14,1.7 1stOpt 快捷組合鍵,關(guān)鍵字快捷輸入窗口組合鍵:在代碼本中按“Ctrl+K” 窗口彈出后,按順序輸入關(guān)鍵字字母,可快速查找并輸入所需關(guān)鍵字 數(shù)學(xué)函數(shù)快捷輸入窗口組合鍵:在代碼本中按“Ctrl+M” 窗口彈出后,按順序輸入數(shù)學(xué)函數(shù)字母,可快速查找并輸入所需數(shù)學(xué)函數(shù) 代碼表格、代碼本快捷輸入窗口組合鍵:在代碼本中按

8、“Ctrl+J” 窗口彈出后,可選擇所需代碼表格或代碼本。 恢復(fù)上一次執(zhí)行的代碼:在代碼本中按“Ctrl+Shift+T” 有時或許由于代碼輸錯,或許由于其它不明原因,當(dāng)輸完代碼按計算命令時,1stOpt出錯而退出,如果先前沒有進(jìn)行保存,該如何恢復(fù)剛才輸入的代碼呢?重新啟動1stOpt,開啟一新代碼本,在代碼本中按“Ctrl+Shift+T”即可恢復(fù)上一次執(zhí)行的代碼。,概述,2,15,1.8 數(shù)據(jù)處理電子表格,1stOpt 附帶有類似與Excel 的電子表格,多表單,支持公式,直接輸入輸出到Excel和文本文件(.txt,.csv),樹型表單管理,直觀并可分類,可方便用于數(shù)據(jù)前、后處理。,概述

9、,2,16,1.9 1stopt基本語法,每一句代碼以;號作結(jié)束符。如 Parameter a, b, c, d; Constant p1 = 1, p2 = 4, p3 = 5; 在同一代碼本中可寫多個不同問題的代碼,由關(guān)鍵詞“NewDivision”來區(qū)分。 可同時開啟多個代碼編輯本。 一代碼文件中還可加入富文本如圖,表,公式等,也可把不同格式的文件添付進(jìn)來。,概述,2,17,1.10 執(zhí)行計算,因為 1stOpt 的初始值通常是隨機(jī)產(chǎn)生,一次計算不成功,并非意味下次亦同樣不成功,反之亦然。 按快捷鍵”F9”執(zhí)行計算,“F10“中止計算。,概述,2,18,第2章 1stopt 應(yīng)用,2,1

10、9,2.1 求任意形式,任意維數(shù),約束或非約束的函數(shù)最優(yōu)值,應(yīng)用,約束函數(shù)即可以是不等式也可以是等式。,2.1.1 求下列一維函數(shù)最小值,函數(shù) f = x sin(x) + sin(x) 其中,x3 ,3 1stOpt 代碼: Parameter x = -3*pi,3*pi; MinFunction x*sin(x)+sin(x); 結(jié)果:f = -5.7976,x = 4.8808,2,20,下列代碼可以畫出圖來 Parameter x = -3*pi,3*pi,y; plotfunction ; function y=x*sin(x)+sin(x);,應(yīng)用,2,21,2.1.2 求下列多

11、維函數(shù)最小值,其中, X 30,30,n = 20 1stOpt 代碼: Constant n = 20; Parameter x(1:n) = -30,30; MinFunction Sum(i = 1:n-1) (3*(Cos(2*xi) + Sin(2*xi+1) + Sqrt(xi+12 + xi2); 結(jié)果:f = -51.7695,例如:函數(shù),應(yīng)用,1stopt還可求隱函數(shù)的最優(yōu)值、針狀函數(shù)的全局最優(yōu)等。,2,22,2.1.3 線性規(guī)劃問題,1stOpt 算法中含有專門的線性算法單純性算法,可高效求解線性規(guī)劃問題。不同于Lingo 等優(yōu)化軟件包,在1stOpt 中,各待求參數(shù)的缺省

12、設(shè)置范圍是正負(fù)無窮。 線性規(guī)劃實(shí)例-1,應(yīng)用,2,23,1stOpt 代碼: Parameter x(1:3)0,; MaxFunction 2*x1+3*x2+x3; x1+3*x2+x3 = 15; 2*x1+3*x2-x3 = 18; x1-x2+x3 = 3; = 結(jié)果 = 迭代數(shù): 125 計算用時(時:分:秒:毫秒): 00:00:01:78 計算中止原因: 達(dá)到收斂判定標(biāo)準(zhǔn) 優(yōu)化算法: 麥夸特法(Levenberg-Marquardt) + 通用全局優(yōu)化法 函數(shù)表達(dá)式: 2*x1+3*x2+x3 目標(biāo)函數(shù)值(最大): 19.9999998856399 x1: 4.99999988

13、563987 x2: 3.00000005515308 x3: 0.999999948900893,應(yīng)用,2,24,2.1.4 非線性規(guī)劃問題,非線性混合整數(shù)規(guī)劃問題實(shí)例-1,1stOpt 代碼: Parameters x1-20,20,x2-20,20,x3-10,10,0; MinFunction 1.5*(x1-sin(x1- x2)2+0.5*x22+x32-x1*x2-2*x1+x2*x3; 結(jié)果:目標(biāo)函數(shù)值(最小): -10.961821657691 x1: 4.99963280998717 x2: 9.73414801760973 x3: -5,應(yīng)用,2,25,2.1.5 排列組

14、合優(yōu)化問題,1stOpt 亦可用與解決組合優(yōu)化問題。自行開發(fā)的最大繼承法(MIO)在解決該類問題時,比其它諸如遺傳算法,模擬退火及禁忌算法等表現(xiàn)更優(yōu)。 TSP 問題:是非常著名的組合優(yōu)化問題:有個城市,從某一城市出發(fā),每個城市訪問一次,最后回到起始城市,試求最短距離的訪問路線。 具體實(shí)例見使用手冊P21P24.,應(yīng)用,2,26,2.2 非線性擬合,1stOpt的非線性擬合功能強(qiáng)于目前任何已知軟件包,如著名的SPSS,SAS,Matlab,Origin,Systat,DataFit等。其最大特點(diǎn)是,在絕大多數(shù)情況下,不需要使用者提供(猜測)任何初始值,僅依靠自身的全局搜索能力,從任意隨機(jī)值出發(fā),

15、既可求得最優(yōu)解。 美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)提供有一套27 道非線性擬合測試題,世界上幾乎所有著名的數(shù)據(jù)分析軟件包都以能通過該套測試題集為驗證標(biāo)準(zhǔn)。 經(jīng)對比測試,1stOpt是目前唯一不依賴使用NIST提供的初始值,而能以任意隨機(jī)初始值就可求得全部最優(yōu)解的軟件包(如果使用NIST提供的初始值,則更可輕易求得最優(yōu)解)。 由于在實(shí)際應(yīng)用當(dāng)中,選擇確定合理的初始值組是一件非常困難的事,尤其是在參數(shù)量比較多的情況下。從此意義而言,1stOpt的實(shí)用能力達(dá)業(yè)界領(lǐng)先水平。,應(yīng)用,2,27,1stOpt 的曲線擬合均為自定義擬合。 “Function”、“Data/RowData/DataFile

16、”為必須的兩個關(guān)鍵字;可選擇關(guān)鍵字有“Variable”、”Parameter”、“QuickReg”等。 對二維曲線擬合,缺省自變量名為x,因變量名為y; 對三維有兩種缺省方式,一為自變量名為x1 和x2,因變量名為y,第二種為自變量名為x 和y,因變量名為z; 對多維,缺省自變量名為x1,x2, x3,因變量名為y; 當(dāng)數(shù)據(jù)較長,為了節(jié)省代碼本空間,可考慮將數(shù)據(jù)以行的形式給出,即用關(guān)鍵字“RowData”取代“Data”,同時數(shù)據(jù)形式亦做相應(yīng)改動,每行數(shù)據(jù)以“;”號結(jié)束。,應(yīng)用,2,28,數(shù)據(jù)也可存為文件形式,用關(guān)鍵字“DataFile”調(diào)用,文件格式包括標(biāo)準(zhǔn)文本格式和Excel文件格式。

17、如Excel 數(shù)據(jù)如下圖 并存為“c:test1.xls”,調(diào)用形式如下。 Variable x,y; Function y = b1*(x2+x*b2)/(x2+x*b3+b4); DataFile C:test1.xlsSheet1B4:C14; 注意使用“DataFile”時,關(guān)鍵字“Variable”不能省略。,應(yīng)用,2,29,共享模式擬合; 缺少變量值的特殊擬合; 批處理擬合; 權(quán)重擬合; 帶約束擬合; 帶積分的擬合; 最小一乘及其它特殊擬合; 隱函數(shù)擬合; 公式自動搜索擬合; 設(shè)定擬合初始取值范圍;,應(yīng)用,1stopt可完成以下方式的擬合,2,30,公式自動搜索例,1stOpt 代

18、碼 Data; 15 0.489 30 0.427 45 0.373 60 0.327 75 0.285 90 0.250 105 0.218 120 0.191 135 0.167 495 0.005,點(diǎn)擊“開始”,可得到具有最優(yōu)擬合的函數(shù)式。如下頁所示。,應(yīng)用,2,31,應(yīng)用,2,32,2.3 方程及方程組求解,1stOpt 可求解任意形式的線性、非線性方程或方程組,其關(guān)鍵字是“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)

19、= 1; (y-0.2)zx+y/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;,應(yīng)用,= 結(jié)果 = x: 0.793906344084337 y: 0.902585377881761 z: 1.21622367653983,2,33,1stopt還可完成,2.3.2 循環(huán)方程求解 2.3.3 循環(huán)遞歸方程求解 2.3.4 整數(shù)方程求解,應(yīng)用,2,34,2.4 常微分方程數(shù)值求解,2.4.1 常微分方程初值問題 2.4.2 隱式常微分方程及方程組 2.4.3 變系數(shù)常微分方程

20、 2.4.4 高階常微分方程及方程組 2.4.5 常微分方程邊值問題,應(yīng)用,2,35,2.5 其它應(yīng)用,2.5.1 隱函數(shù)作圖 2.5.2 參數(shù)函數(shù)作圖 2.5.3 作為高級計算器使用 其它,應(yīng)用,2,36,第3章 1stOpt 的編程模式,2,37,1stOpt 的快捷模式直觀、簡單、明了、易于掌握,可以解決大部分優(yōu)化問題。 但對于一些復(fù)雜的問題,如目標(biāo)函數(shù)或約束函數(shù)無法用簡單的表達(dá)式來表述計算,而是通過復(fù)雜的邏輯判斷、循環(huán)運(yùn)算等來表達(dá)計算,快捷模式則無能為力,此時可用1stOpt 的編程模式來解決。 1stOpt 直接支持Basic 和Pascal 兩種語言。從理論上來說,編程模式可以處理

21、解決全部快捷模式下的問題。,2,38,編程模式的主要關(guān)鍵字:,1) StartProgram :定義編程模式的起始行 “StartProgram Basic”表示用Basic 語言 “StartProgram Pascal”或“StartProgram”表示用Pascal 語言 2) EndProgram:定義編程模式的終止行 在“StartProgram”和“EndProgram”間按標(biāo)準(zhǔn)的Delphi/Pascal 或Basic 語言編寫。 3) ObjectiveResult:定義目標(biāo)函數(shù),僅可有一次。 4) ConstrainedResult:定義約束函數(shù),可有多個。,2,39,3.3

22、 運(yùn)輸問題,有三節(jié)鐵路貨車車廂,其最大允許載重量均為分別位 7,9,19 噸,現(xiàn)欲用這三節(jié)車廂運(yùn)輸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,單位為噸。應(yīng)如何將箱子分配到各個車廂上,使裝載量最大的車廂的裝載量最???同時每節(jié)車廂實(shí)際載重均不超過最大允許載重。 這類問題無法用快捷模式求解,只能用編程模式解決。,2,40,Basic 代碼:,Algorithm = SM230; Constant w=3.4,0.6,0.8,1.7,1.6,0.5,1.3,2.1,2.5,3.

23、1,1.4,1.3,3.3,0.9,2.5,2.5; Constant c=7,9,19; IntParameter p(16)=1,3; PassParameter v(3); Minimum; StartProgram Basic; Sub MainModel dim i as integer dim ww(3) as double for i = 1 to 3 ww(i) = 0 next for i = 1 to 16 if p(i) = 1 then ww(1) = ww(1) + w(i) elseif p(i) = 2 then ww(2) = ww(2) + w(i) else

24、if p(i) = 3 then ww(3) = ww(3) + w(i) end if next for i = 1 to 3 v(i) = ww(i) next ObjectiveResult = ww(3) ConstrainedResult = for(i=1:3)(ww(i) = c(i) End Sub EndProgram;,2,41,Pascal 代碼:,Algorithm = SM230; Constant 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; Constant c=7,9,19; IntParameter p(16)=1,3; PassParameter v(3); Minimum; StartProgram Pascal; Procedure MainModel; var i: integer; ww: array1.3 of double; Begin for i := 1 to 3 do wwi := 0; for i := 1 to 16 do if pi = 1 then ww1 := ww1 + wi else if pi = 2 then ww2 := ww2 + wi else if pi = 3 then

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論