国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)學(xué)建模中優(yōu)化問題的計(jì)算機(jī)解法

2014-01-12 08:59張建生
關(guān)鍵詞:數(shù)學(xué)建模

張建生

【摘 要】優(yōu)化問題是數(shù)學(xué)建模中最常見的問題,本文全面系統(tǒng)的闡述各種類型優(yōu)化問題的MATLAB解法,包括無約束優(yōu)化問題、有約束優(yōu)化問題、線性優(yōu)化問題、二次優(yōu)化問題等。

【關(guān)鍵詞】數(shù)學(xué)建模;優(yōu)化問題;計(jì)算機(jī)求解;MATLAB語言

最優(yōu)化問題就是求最大(?。┲祮栴},是數(shù)學(xué)建模中最常見的問題,幾乎每個(gè)建模問題都離不開優(yōu)化。數(shù)學(xué)建模是用來解決實(shí)際問題,而在現(xiàn)實(shí)生產(chǎn)生活中,每個(gè)人、每個(gè)單位都希望自己所從事的事情能達(dá)到最化化。數(shù)學(xué)建模中的優(yōu)化問題主要有四種類型,即無約束的優(yōu)化問題、有約束的優(yōu)化問題、線性優(yōu)化(規(guī)劃)問題和二次化化(規(guī)劃)問題。

一、無約束最優(yōu)化(fminunc)

命令 利用函數(shù)fminunc求無約束函數(shù)最小值

函數(shù) fminunc

格式 :

x = fminunc(fun,x0) %返回給定初始點(diǎn)x0的最小函數(shù)值點(diǎn)

x = fminunc(fun,x0,options) % options為指定優(yōu)化參數(shù)

[x,fval] = fminunc(…) %fval最優(yōu)點(diǎn)x處的函數(shù)值

[x,fval,exitflag] = fminunc(…) % exitflag為終止迭代的條件,與上同。

[x,fval,exitflag,output] = fminunc(…) %output為輸出優(yōu)化信息

二、有約束的最優(yōu)化(fmincon)

有約束的多元函數(shù)的最優(yōu)化的標(biāo)準(zhǔn)形式為:

min f(x)

s.t C(x)<=0

Ceq(x)=0

A*x<=b

Aeq*x=beq

lb<=x<=ub

其中:x、b、beq、lb、ub是向量,A、Aeq為矩陣,C(x)、Ceq(x)是返回向量的函數(shù),f(x)為目標(biāo)函數(shù),f(x)、C(x)、Ceq(x)可以是非線性函數(shù)。函數(shù) fmincon

格式:

x = fmincon(fun,x0,A,b)

x = fmincon(fun,x0,A,b,Aeq,beq)

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)

[x,fval] = fmincon(…)

[x,fval,exitflag] = fmincon(…)

[x,fval,exitflag,output] = fmincon(…)

[x,fval,exitflag,output,lambda] = fmincon(…)

[x,fval,exitflag,output,lambda,grad] = fmincon(…)

參數(shù)說明:fun為目標(biāo)函數(shù),它可用前面的方法定義;

x0為初始值;

A、b滿足線性不等式約束 ,若沒有不等式約束,則取A=[ ],b=[ ];

B、Aeq、beq滿足等式約束 ,若沒有,則取Aeq=[ ],beq=[ ];

C、lb、ub滿足 ,若沒有界,可設(shè)lb=[ ],ub=[ ];

D、nonlcon的作用是通過接受的向量x來計(jì)算非線性不等約束 和等式約束 分別在x處的估計(jì)C和Ceq,通過指定函數(shù)柄來使用,

如: x = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@mycon)

先建立非線性約束函數(shù),并保存為mycon.m:function [C,Ceq] = mycon(x)

C = … % 計(jì)算x處的非線性不等約束 的函數(shù)值。

Ceq = … % 計(jì)算x處的非線性等式約束 的函數(shù)值。

lambda是Lagrange乘子,它體現(xiàn)哪一個(gè)約束有效。

output輸出優(yōu)化信息;

grad表示目標(biāo)函數(shù)在x處的梯度;

hessian表示目標(biāo)函數(shù)在x處的Hessiab值。

三、線性規(guī)劃問題(linprog)

min f(x) x屬于R

s.t: A*x<=b;

Aeq*x=beq;

lb<=x<=ub;

其中f、x、b、beq、lb、ub為向量,A、Aeq為矩陣。

函數(shù) linprog

格式:

x = linprog(f,A,b) %求min f s.t 線性規(guī)劃的最優(yōu)解。

x = linprog(f,A,b,Aeq,beq) %不等式約束 ,若沒有不等式約束 ,則A=[ ],b=[ ]。

x = linprog(f,A,b,Aeq,beq,lb,ub)%指定x的范圍 ,若沒有等式約束 ,則Aeq=[ ],beq=[ ]

x = linprog(f,A,b,Aeq,beq,lb,ub,x0) %設(shè)置初值x0

x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) % options為指定的優(yōu)化參數(shù)

[x,fval] = linprog(…) % 返回目標(biāo)函數(shù)最優(yōu)值,即fval= f

[x,lambda,exitflag] = linprog(…) % lambda為解x的Lagrange乘子。

[x, lambda,fval,exitflag] = linprog(…) % exitflag為終止迭代的錯(cuò)誤條件。

說明:若exitflag>0表示函數(shù)收斂于解x,exitflag=0表示超過函數(shù)估值或迭代的最大數(shù)字,exitflag<0表示函數(shù)不收斂于解x。

四、二次規(guī)劃(quadprog)

標(biāo)準(zhǔn)型為:

Min Z= XTHX+cTX

s.t. AX<=b

VLB≤X≤VUB

用MATLAB軟件求解,其輸入格式如下:

1.x=quadprog(H,C,A,b);

2.x=quadprog(H,C,A,b,Aeq,beq);

3.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB);

4.x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0);

5.x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0,options);

6.[x,fval]=quaprog(...);

7.[x,fval,exitflag]=quaprog(...);

8.[x,fval,exitflag,output]=quaprog(...);

參考文獻(xiàn):

[1]孫祥、徐流美、吳清. MATLAB7.0基礎(chǔ)教程. 清華大學(xué)出版社. 2005年

[2] 林雪松、周婧、林德新. MATLAB7.0應(yīng)用集錦. 機(jī)械工業(yè)出版社. 2006年

[3]邱李華. MATLAB7及工程問題解決方案. 機(jī)械工業(yè)出版社. 2006年

猜你喜歡
數(shù)學(xué)建模
數(shù)學(xué)建模課程教學(xué)現(xiàn)狀分析及對(duì)策研究
基于常微分方程的數(shù)學(xué)建模問題的求解
高職院校將數(shù)學(xué)建模思想融入高等數(shù)學(xué)教學(xué)必要性研究
數(shù)學(xué)建模過程中的模型優(yōu)化算法
在數(shù)學(xué)建模中培養(yǎng)學(xué)生的提問能力
數(shù)學(xué)建模中創(chuàng)造性思維的培養(yǎng)
談數(shù)學(xué)建模時(shí)的問題分析步驟
樹立建模意識(shí) 培養(yǎng)學(xué)生創(chuàng)新思維
最小二乘法基本思想及其應(yīng)用
建模思想在數(shù)學(xué)教學(xué)中的滲透研究