《【數(shù)學(xué)建模】第5講_無約束優(yōu)化模型》由會(huì)員分享,可在線閱讀,更多相關(guān)《【數(shù)學(xué)建?!康?講_無約束優(yōu)化模型(32頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、無 約 束 優(yōu) 化 模 型數(shù) 學(xué) 建 模 實(shí) 驗(yàn) 內(nèi) 容1. 無 約 束 優(yōu) 化 基 本 思 想 及 基 本 算 法 .4. 實(shí) 驗(yàn) 作 業(yè) .3. 用 MATLAB求 解 無 約 束 優(yōu) 化 問 題 .2. MATLAB優(yōu) 化 工 具 箱 簡 介 . 無 約 束 最 優(yōu) 化 問 題求 解 無 約 束 最 優(yōu) 化 問 題 的 的 基 本 思 想*無 約 束 最 優(yōu) 化 問 題 的 基 本 算 法 返 回 標(biāo) 準(zhǔn) 形 式 :求 解 無 約 束 最 優(yōu) 化 問 題 的 基 本 思 想求 解 的 基 本 思 想 ( 以 二 元 函 數(shù) 為 例 ) 1x 2x1 2( , )f x xO 1x 2xO
2、 53 1 0X 1X2X)( 0Xf )( 1Xf )( 2Xf連續(xù)可微 多 局 部 極 小298.0f 0f 298.0f 唯 一 極 小(全 局 極 小 )2 21 2 1 1 2 2 1 2( , ) 2 2 3f x x x x x x x x 搜 索 過 程 2 2 21 2 2 1 1min ( , ) 100( ) (1 )f x x x x x 最 優(yōu) 點(diǎn) (1 1)初 始 點(diǎn) (-1 1)1x 2x f-1 1 4.00-0.79 0.58 3.39-0.53 0.23 2.60-0.18 0.00 1.500.09 -0.03 0.980.37 0.11 0.470.59
3、 0.33 0.200.80 0.63 0.050.95 0.90 0.0030.99 0.99 1E-4 0.999 0.998 1E-50.9997 0.9998 1E-8 返 回 無 約 束 優(yōu) 化 問 題 的 基 本 算 法 最 速 下 降 法 是 一 種 最 基 本 的 算 法 , 它 在 最 優(yōu) 化 方 法 中 占 有 重 要 地 位 .最 速 下 降 法 的 優(yōu) 點(diǎn) 是 工 作 量 小 , 存 儲(chǔ) 變 量 較 少 ,初 始 點(diǎn) 要 求 不 高 ; 缺 點(diǎn) 是 收 斂慢 , 最 速 下 降 法 適 用 于 尋 優(yōu) 過 程 的 前 期 迭 代 或 作 為 間 插 步 驟 , 當(dāng) 接
4、近 極 值點(diǎn) 時(shí) , 宜 選 用 別 種 收 斂 快 的 算 法 . 1 最 速 下 降 法 ( 共 軛 梯 度 法 ) 算 法 步 驟 : 2 牛 頓 法 算 法 步 驟 : 如 果 f是 對(duì) 稱 正 定 矩 陣 A的 二 次 函 數(shù) , 則 用 牛 頓 法 , 經(jīng) 過 一 次 迭 代就 可 達(dá) 到 最 優(yōu) 點(diǎn) ,如 不 是 二 次 函 數(shù) , 則 牛 頓 法 不 能 一 步 達(dá) 到 極 值 點(diǎn) ,但 由 于 這 種 函 數(shù) 在 極 值 點(diǎn) 附 近 和 二 次 函 數(shù) 很 近 似 ,因 此 牛 頓 法 的 收斂 速 度 還 是 很 快 的 . 牛 頓 法 的 收 斂 速 度 雖 然 較 快
5、, 但 要 求 黑 塞 矩 陣 可 逆 , 要 計(jì)算 二 階 導(dǎo) 數(shù) 和 逆 矩 陣 , 就 加 大 了 計(jì) 算 機(jī) 的 計(jì) 算 量 和 存 儲(chǔ) 量 . 3 擬 牛 頓 法 返 回 MATLAB優(yōu) 化 工 具 箱 簡 介1.MATLAB求 解 優(yōu) 化 問 題 的 主 要 函 數(shù) 2.優(yōu) 化 函 數(shù) 的 輸 入 變 量 使 用 優(yōu) 化 函 數(shù) 或 優(yōu) 化 工 具 箱 中 其 他 優(yōu) 化 函 數(shù) 時(shí) , 輸 入 變 量 見 下 表 : 3.優(yōu) 化 函 數(shù) 的 輸 出 變 量 見 下 表 : 用 MATLAB解 無 約 束 優(yōu) 化 問 題 其 中 等 式 ( 3) 、 ( 4) 、 ( 5) 的 右
6、 邊 可 選 用 ( 1) 或 ( 2)的 等 式 右 邊 . 函 數(shù)fminbnd的 算 法 基 于 黃 金 分 割 法 和 二 次 插 值 法 , 它 要求 目 標(biāo) 函 數(shù) 必 須 是 連 續(xù) 函 數(shù) , 并 可 能 只 給 出 局 部 最 優(yōu) 解 . 常 用 格 式 如 下 :(1)x= fminbnd (fun,x1,x2)(2)x= fminbnd (fun,x1,x2 ,options)(3)x,fval= fminbnd()(4)x,fval,exitflag= fminbnd()(5)x,fval,exitflag,output= fminbnd() 主 程 序 為wliti1
7、.m: f=2*exp(-x).*sin(x); fplot(f,0,8); %作 圖 語 句 xmin,ymin=fminbnd (f, 0,8) f1=-2*exp(-x).*sin (x); xmax,ymax=fminbnd (f1, 0,8) 例 2 有 邊 長 為 3m的 正 方 形 鐵 板 , 在 四 個(gè) 角 剪 去 相 等 的 正 方 形 以制 成 方 形 無 蓋 水 槽 , 問 如 何 剪 法 使 水 槽 的 容 積 最 大 ?解 先 編 寫M文 件fun0.m如 下 : function f=fun0(x) f=-(3-2*x).2*x;主 程 序 為wliti2.m: x
8、,fval=fminbnd(fun0,0,1.5); xmax=x fmax=-fval運(yùn) 算 結(jié) 果 為: xmax = 0.5000,fmax =2.0000.即 剪 掉 的 正 方 形的 邊 長 為 0.5m時(shí) 水 槽 的 容 積 最 大 ,最 大 容 積 為 2m 3. 命 令 格 式 為 :(1)x= fminunc(fun,X0 ) ; 或x=fminsearch(fun,X0 )(2)x= fminunc(fun,X0 ,options) ; 或x=fminsearch(fun,X0 ,options)(3)x,fval= fminunc(.) ; 或x,fval= fminse
9、arch(.)(4)x,fval,exitflag= fminunc(.) ; 或x,fval,exitflag= fminsearch(5)x,fval,exitflag,output= fminunc(.) ; 或x,fval,exitflag,output= fminsearch(.) 2.多 元 函 數(shù) 無 約 束 優(yōu) 化 問 題標(biāo) 準(zhǔn) 型 為 : min ( )F X 例 3 min 1.編 寫M文 件 fun1.m:function f = fun1 (x)f = exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1); 2.輸 入M文 件w
10、liti3.m如 下 : x0 = -1, 1; x=fminunc(fun1,x0); y=fun1(x) 3.運(yùn) 行 結(jié) 果 : x= 0.5000 -1.0000 y = 1.3029e-10 12 21 2 1 2 2( ) (4 2 4 2 1) exf x x x x x x 2. 畫 出Rosenbrock 函 數(shù) 的 等 高 線 圖 ,輸 入 命 令 :contour(x,y,z,20) hold on plot(-1.2,2, o ); text(-1.2,2, start point) plot(1,1, o) text(1,1, solution) 3.用fminsear
11、ch函 數(shù) 求 解輸 入 命 令 :( 不 能 用 函 數(shù) 文 件 形 式 ) f=100*(x(2)-x(1)2)2+(1-x(1)2;x,fval,exitflag,output=fminsearch(f,-1.2 2)運(yùn) 行 結(jié) 果 : x =1.0000 1.0000fval =1.9151e-010exitflag = 1output= iterations: 108 funcCount: 202 algorthm: Nelder-Mead simplex direct search 4.用fminunc 函 數(shù)(1)建 立M文 件fun2.m function f=fun2(x)
12、f=100*(x(2)-x(1)2)2+(1-x(1)2(2)主 程 序wliti44.mX=fminunc(fun2,X0) 例 產(chǎn) 銷 量 的 最 佳 安 排 某 廠 生 產(chǎn) 一 種 產(chǎn) 品 有 甲 、 乙 兩 個(gè) 牌 號(hào) , 討 論 在 產(chǎn) 銷平 衡 的 情 況 下 如 何 確 定 各 自 的 產(chǎn) 量 , 使 總 利 潤 最 大 .所 謂產(chǎn) 銷 平 衡 指 工 廠 的 產(chǎn) 量 等 于 市 場 上 的 銷 量 . 基 本 假 設(shè)1 價(jià) 格 與 銷 量 成 線 性 關(guān) 系2 成 本 與 產(chǎn) 量 成 負(fù) 指 數(shù) 關(guān) 系 模 型 建 立 若 根 據(jù) 大 量 的 統(tǒng) 計(jì) 數(shù) 據(jù) ,求 出 系 數(shù)b
13、1=100,a11=1,a12=0.1,b2=280,a21=0.2,a22=2,r1=30,1=0.015,c1=20, r2=100,2=0.02,c2=30,則問 題 轉(zhuǎn) 化 為 無 約 束 優(yōu) 化 問 題 :求 甲 ,乙 兩 個(gè) 牌 號(hào) 的 產(chǎn) 量 x1, x2, 使 總 利 潤 z最 大 . 為 簡 化 模 型 ,先 忽 略 成 本 ,并 令 a 12=0,a21=0,問 題 轉(zhuǎn) 化 求z1 = ( b1 - a11x1 ) x1 + ( b2 - a22x2 ) x2的 極 值 .顯 然 其 解為 x1 = b1/2a11 = 50, x2 = b2/2a22 = 70,我 們 把
14、 它 作 為 原 問題 的 初 始 值 .總 利 潤 為 : z(x1,x2)=(p1-q1)x1+(p2-q2)x2 模 型 求 解 1.建 立M文 件fun.m: function f = fun (x) y1=(100-x(1)- 0.1*x(2)-(30*exp(-0.015*x(1)+20)*x(1); y2=(280-0.2*x(1)- 2*x(2)-(100*exp(-0.02*x(2)+30)*x(2); f=-y1-y2; 2.輸 入 命 令 : x0=50,70; x=fminunc(fun,x0), z=fun (x) 3.計(jì) 算 結(jié) 果 : x=23.9025, 62.4977, z=6.4135e+003 即 甲 的 產(chǎn) 量 為 23.9025,乙 的 產(chǎn) 量 為 62.4977,最 大 利 潤 為 6413.5.返 回 實(shí) 驗(yàn) 作 業(yè)