資源描述:
《matlab在目標(biāo)規(guī)劃問題中的應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Matlab在目標(biāo)規(guī)劃問題中的應(yīng)用問題提出:在生活和工作中,人們對(duì)于同一個(gè)問題往往會(huì)提出多個(gè)解決方案,并通過各方面的論證從中提取最佳方案。最優(yōu)化方法就是專門研究如何從多個(gè)方案中科學(xué)合理地提取出最佳方案的科學(xué)。優(yōu)化問題無所不在,最優(yōu)化方法的應(yīng)用和研究也已經(jīng)深入到了生產(chǎn)和科研的各個(gè)領(lǐng)域,如軍事指揮、機(jī)械工程、運(yùn)輸調(diào)度、生產(chǎn)控制、經(jīng)濟(jì)規(guī)劃與管理等,并取得了顯著的經(jīng)濟(jì)效益和社會(huì)效益。這學(xué)期我們系統(tǒng)科學(xué)專業(yè)指揮類學(xué)員開設(shè)運(yùn)籌學(xué)這門課,初步見識(shí)最優(yōu)化方法的魅力。如今最優(yōu)化方法的發(fā)展迅速,已經(jīng)包含有多個(gè)分支,如線性規(guī)劃、整數(shù)規(guī)劃、
2、非線性規(guī)劃、動(dòng)態(tài)規(guī)劃、多目標(biāo)規(guī)劃等。?利用Matlab的優(yōu)化工具箱,可以求解線性規(guī)劃、非線性規(guī)劃和多目標(biāo)規(guī)劃問題。在學(xué)習(xí)運(yùn)籌學(xué)的過程中,我們了解所謂優(yōu)化問題,就是求解如下形式的最優(yōu)解:Minfun(x)Sub.to[C.E.][B.C.]其中fun(x)稱為目標(biāo)函數(shù),“Sub.to”為“subjectto”的縮寫,由其引導(dǎo)的部分稱為約束條件。[C.E.]表示ConditionEquations,即條件方程,可為等式方程,也可為不等式方程。[B.C.]表示BoundaryConditions,即邊界條件,用來約束自變量
3、的求解域,以lb≤x≤ub的形式給出。當(dāng)[C.E.]為空時(shí),此優(yōu)化問題稱為自由優(yōu)化或無約束優(yōu)化問題;當(dāng)[C.E.]不空時(shí),稱為有約束優(yōu)化或強(qiáng)約束優(yōu)化問題。在優(yōu)化問題中,根據(jù)變量、目標(biāo)函數(shù)和約束函數(shù)的不同,可以將問題大致分為:·線性優(yōu)化目標(biāo)函數(shù)和約束函數(shù)均為線性函數(shù)?!ざ蝺?yōu)化目標(biāo)函數(shù)為二次函數(shù),而約束條件為線性方程。線性優(yōu)化和二次優(yōu)化統(tǒng)稱為簡單優(yōu)化?!し蔷€性優(yōu)化目標(biāo)函數(shù)為非二次的非線性函數(shù),或約束條件為非線性方程?!ざ嗄繕?biāo)優(yōu)化目標(biāo)函數(shù)并非一個(gè)時(shí),稱為多目標(biāo)優(yōu)化問題。線性規(guī)劃等最優(yōu)化方法只有一個(gè)目標(biāo)函數(shù),是單目標(biāo)最優(yōu)化
4、方法。但是,在許多實(shí)際工程問題中,往往希望多個(gè)指標(biāo)都達(dá)到最優(yōu)值,所以它有多個(gè)目標(biāo)函數(shù)。這種問題稱為多目標(biāo)最優(yōu)化問題。在運(yùn)籌學(xué)中,這類問題分析較難,而計(jì)算最為繁瑣。多目標(biāo)最優(yōu)化問題的數(shù)學(xué)模型為其中為目標(biāo)函數(shù)向量。此優(yōu)化問題在Matlab中主要由函數(shù)fgoalattain來實(shí)現(xiàn)。數(shù)學(xué)模型:其中,weight,goal,b,beq,lb和ub為向量,A和Aeq為矩陣,c(x),ceq(x)和F(x)為函數(shù),返回向量。F(x),c(x)和ceq(x)可以是非線性函數(shù)。Matlab方法:fgoalattain求解多目標(biāo)達(dá)到問題
5、x=fgoalattain(fun,x0,goal,weight)試圖通過變化x來使目標(biāo)函數(shù)fun達(dá)到goal指定的目標(biāo)。初值為x0,weight參數(shù)指定權(quán)重。x=fgoalattain(fun,x0,goal,weight,A,b)求解目標(biāo)達(dá)到問題,約束條件為線性不等式A*x<=b。x=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq)求解目標(biāo)達(dá)到問題,除提供上面的線性不等式外,還提供線性等式Aeq*x=beq。當(dāng)沒有不等式存在時(shí),設(shè)置A=[]和b=[]。x=fgoalattai
6、n(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub)為設(shè)計(jì)變量x定義下界lb和上界ub集合,這樣始終有l(wèi)b<=x<=ub。x=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon)將目標(biāo)達(dá)到問題歸結(jié)為nonlcon參數(shù)定義的非線性不等式c(x)或非線性等式ceq(x)。fgoalattain優(yōu)化的約束條件為c(x)<=0和ceq(x)=0。若不存在邊界,設(shè)置lb=[]和(或)ub=[]。x=fgoalattain(fun,x0,go
7、al,weight,A,b,Aeq,beq,lb,ub,nonlcon,options)用options中設(shè)置的優(yōu)化參數(shù)進(jìn)行最小化。x=fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2,...)將問題參數(shù)P1,P2等直接傳遞給函數(shù)fun和nonlcon。若不需要參數(shù)A,b,Aeq,beq,lb,ub,nonlcon和options,將它們?cè)O(shè)置為空矩陣。[x,fval]=fgoalattain(...)返回解x處的目標(biāo)函數(shù)值。[
8、x,fval,attainfactor]=fgoalattain(...)返回解x處的目標(biāo)達(dá)到因子。[x,fval,attainfactor,exitflag]=fgoalattain(...)返回exitflag參數(shù),描述計(jì)算的退出條件。[x,fval,attainfactor,exitflag,output]=fgoalattain(...