(3.3)-第三章 規(guī)劃模型數(shù)學(xué)建模_第1頁
(3.3)-第三章 規(guī)劃模型數(shù)學(xué)建模_第2頁
(3.3)-第三章 規(guī)劃模型數(shù)學(xué)建模_第3頁
(3.3)-第三章 規(guī)劃模型數(shù)學(xué)建模_第4頁
(3.3)-第三章 規(guī)劃模型數(shù)學(xué)建模_第5頁
已閱讀5頁,還剩181頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三章規(guī)劃模型11.線性規(guī)劃模型2.運輸問題3.指派問題4.動態(tài)規(guī)劃5.非線性規(guī)劃6.多目標(biāo)規(guī)劃第一節(jié)1.線性規(guī)劃問題及其標(biāo)準型線性規(guī)劃模型2.非標(biāo)準問題的轉(zhuǎn)化4.案例分析5.蒙特卡洛相關(guān)方法的介紹2.Matlab優(yōu)化工具第一章23一、線性規(guī)劃問題及其標(biāo)準型線性規(guī)劃問題的提出:設(shè)某工廠使用機床甲、乙生產(chǎn)A、B兩種產(chǎn)品,每生產(chǎn)A一噸需使用設(shè)備甲6小時,設(shè)備乙2小時,可得利潤300元,每生產(chǎn)B一噸需使用設(shè)備甲6小時,設(shè)備乙3小時,可得利潤400元。設(shè)備甲每天至多可工作20小時,設(shè)備乙每天至多可工作12小時。問每天應(yīng)當(dāng)生產(chǎn)A、B各多少噸,才能使總利潤最大?

4解:設(shè)該廠每天生產(chǎn)產(chǎn)品A、B的產(chǎn)量分別為(噸)和(噸),所得到的總利潤為z(元)。(1)確定目標(biāo)函數(shù):由題意知生產(chǎn)一噸A可得利潤300元,生產(chǎn)一噸B可得利潤400元,則總利潤為:(2)確定約束條件:(i)生產(chǎn)時間約束:

(ii)產(chǎn)品產(chǎn)量不能為負數(shù)

可建立數(shù)學(xué)模型為:

目標(biāo)函數(shù):

約束條件:5

由此可得出線性規(guī)劃問題的定義為:1.定義線性規(guī)劃問題是在一組線性約束條件的限制下,求一線性目標(biāo)函數(shù)最大或最小的問題.

線性規(guī)劃問題是數(shù)學(xué)規(guī)劃的重要分支,其特征就是在滿足一組線性約束和變量非負的條件下,求多變量線性函數(shù)值(最大值或最小值).這一特征決定了左右兩邊的線性規(guī)劃模型可以化為相同的標(biāo)準形式,這樣就可以采用固定的方法求解.62.標(biāo)準形式目標(biāo)函數(shù)均為非負值.約束條件7若令線性規(guī)劃問題的標(biāo)準形式可寫為:目標(biāo)函數(shù)約束條件8二、非標(biāo)準形問題的轉(zhuǎn)換1.目標(biāo)函數(shù)求極小值,即為,等價于求2.當(dāng)右端的項時,只需將等式兩端同以,則等式右端項.3.約束條件為不等式.當(dāng)約束條件為時,如可以令則此約束條件就成為

4.取值為無約束的變量.若的取值無約束,則令,其中.5.當(dāng)時,就令,即有.9三、線性規(guī)劃問題中的Matlab求解8線性規(guī)劃的目標(biāo)函數(shù)和約束函數(shù)標(biāo)準形式可寫為:其中f,x,b,beq,lb,ub為向量,A,Aeq為矩陣。函數(shù)linprog格式:[x,fval,exitflag]=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)11

注:X表示返回決策向量的取值,fval表示返回目標(biāo)的最優(yōu)解,exitflag>0表示函數(shù)收斂于解x,

exitflag=0表示超過函數(shù)估計值或迭代的最大數(shù)字,options為指定優(yōu)化參數(shù)選項。四、案例分析12例1:一貿(mào)易公司專門經(jīng)營某種雜糧的批發(fā)業(yè)務(wù).公司現(xiàn)有庫容量5000噸的倉庫.1月1日,公司擁有庫存1000噸雜糧,并有資金20000元.估計第一季度雜糧價格如下表所示,如果買進的雜糧當(dāng)月到貨,但需到下月才能賣出,且規(guī)定“貨到付款”。公司希望季度末庫存為2000噸,問應(yīng)當(dāng)采取什么樣的買進和賣出政策,才能使三個月總的獲利最大?進貨價/元出貨價/元一月2.853.10二月3.053.25三月2.902.95

問題分析

(1)確定決策變量:要確定每個月買進多少,賣出多少,故設(shè):

一、二、三月買進的雜糧噸數(shù)分別為分別為

一、二、三月賣出雜糧的噸數(shù)分別為

13(2)確定目標(biāo)函數(shù):(3)確定約束條件:依題意,共有四類約束即存貨約束、庫容約束、資金約束、期末庫存約束。

②庫容約束:由于庫容為5000噸,那么每個月的存貨數(shù)量不能超過5000噸,不妨設(shè)貿(mào)易公司每個月都在月底進貨,或者是當(dāng)月在將雜糧賣出以后再進貨,這樣就會減少庫存容量,這個假設(shè)是合理的.那么庫存容量約束為

14①存貨約束:由于當(dāng)月買進的雜糧只能在下月出售,故每個月賣出的雜糧不能超過上個月末的存貨量,即得到存貨約束為15③資金約束:貿(mào)易公司的資金除了初始的以外,每個月都要出售雜糧回收資金,在回收資金以后,再進雜糧,每個月進雜糧的數(shù)量不能超過其擁有資金能購買的雜糧數(shù)量,即得資金約束為:

④季末庫存:題中要求季末的庫存為2000噸,得到關(guān)系式:

16顯然,每個月出售的雜糧數(shù)和買進的雜糧數(shù)不能為負,即:綜上所述,該公司的雜糧采購與銷售計劃的線性規(guī)劃數(shù)學(xué)模型即為17用Matlab編寫程序如下:

clearclc

f=[-2.85,-3.05,-2.9,3.1,3.25,2.95];

f=f’;f=-f;%價值向量,并轉(zhuǎn)化為求最小值時對應(yīng)的價值向量

A=[0,0,0,1,0,0;-1,0,0,1,1,0;-1,-1,0,1,1,1;1,0,0,-1,0,0;1,1,0,-1,-1,0;2.85,0,0,-3.1,0,0;2.85,3.05,0,-3.1,-3.25,0;2.85,3.05,2.9,-3.1,-3.25,-2.95];

b=[1000;1000;1000;4000;4000;20000;20000;20000];%線性不等式約束

aeq=[1,1,1,-1,-1,-1];beq=1000;%線性等式約束

lb=zeros(6,1);%函數(shù)值下限

[x,y]=linprog(f,A,b,aeq,beq,lb);%輸出x中后三項分別代表y1,y2,y3

x=reshape(x,1,6),-y%重新組合矩陣x,取負求得原本的最大值

結(jié)果如下:

x=

1.0e+03*

5.00000.00002.00001.00005.00000.0000

y=

-700.0000

18用Lingo編寫程序如下:

model:

sets:

col/1..6/:c,x,aeq;!x中后三項代表y1,y2,y3;

row/1..8/:b;!不等式約束條件中位于右方的常數(shù)項;

link(row,col):a;!不等式約束條件中的位于左方的x的系數(shù);

endsets

data:

c=-2.85,-3.05,-2.9,3.1,3.25,2.95;

a=0,0,0,1,0,0,-1,0,0,1,1,0,-1,-1,0,1,1,1,1,0,0,-1,0,0,1,1,0,-1,-1,0,2.85,0,0,3.1,0,0,2.81,3.05,0,3.1,3.25,0,2.85,3.05,2.9,3.1,3.25,2.95;

b=1000,1000,1000,4000,4000,20000,20000,20000;

aeq=1,1,1,-1,-1,-1;

enddata

max=@sum(col:c*x);!目標(biāo)方程;

@for(row(i):@sum(col(j):a(i,j)*x(j))<b(i));!不等式約束條件;

@sum(col:aeq*x)=1000;!等式約束條件

@for(col(i):x(i)>=0);!函數(shù)下限約束;

end19

五、蒙特卡洛相關(guān)方法的介紹

20

蒙特卡洛方法也稱為計算機隨機模擬方法,它是基于對大量事件的統(tǒng)計結(jié)果來實現(xiàn)一些確定性問題的計算。使用蒙特卡洛方法必須使用計算機生成相關(guān)分布的隨機數(shù),Matlab給出了生成各種隨機數(shù)的命令。例:與x軸在第一象限圍成一個曲邊三角形。設(shè)計一個隨機實驗,求該圖形面積的近似值。

解:設(shè)計的隨機試驗的思想如下:在矩形區(qū)域[0,12]x[0,9]上產(chǎn)生服從均勻分布的n個隨機點,統(tǒng)計隨機點落在曲邊三角形的頻數(shù),則曲邊三角形的面積近似為上述矩形的面積乘以頻率。

21計算的Maltab程序如下:

clc,clearx=unifrnd(0,12,[1,10000000]);y=unifrnd(0,9,[1,10000000]);Pinshu=sum(y<x.^2&x<=3)+sum(y<12-x&x>=3);Area_appr=12*9*pinshu/10^7運行結(jié)果在49.5附近,由于是隨機模擬,因此每次的結(jié)果都是不一樣的。第二節(jié)1.平衡運輸問題2.不平衡運輸問題運輸問題

第一章

3.有轉(zhuǎn)運的情形22一、平衡運輸問題1.平衡運輸問題的數(shù)學(xué)模型

有某種物資有

個產(chǎn)地

,生產(chǎn)某種物資,供給個銷地,從第

個產(chǎn)地向第

個銷地運輸每單位物資的運價為,具體見表3.3.

已知產(chǎn)地

的供應(yīng)量為

;銷地

的需求量為

,且總產(chǎn)量等于總銷售量,即

設(shè)產(chǎn)地

運到銷地

的物資為

個單位,求使總運費最小的運輸方案。23表3.3產(chǎn)地Ai

運到銷地Bi

的單位運費表

銷地產(chǎn)地產(chǎn)量銷量24由題意,可建立如下線性規(guī)劃模型25可作如下變換,將原線性規(guī)劃問題化為矩陣形式:26則運輸問題用矩陣形式表示即為:其中,且272.運輸問題具有的一些特點:1、約束條件的系數(shù)矩陣中元素等于0或1;

2、約束調(diào)節(jié)的系數(shù)矩陣的每一列有兩個非0元素;這對應(yīng)于每一個變量在前個約束方程中出現(xiàn)一次,在后個方程中出現(xiàn)一次;

3、所有的約束條件為等式;

4、各產(chǎn)地量之和等于各銷地量之和;283.求解運輸問題的方法——表上作業(yè)法確定初始基可行解最優(yōu)解的判定方案的調(diào)整

最小元素法、伏格爾法閉回路法、位勢法閉回路調(diào)整法29STEP1

確定初始基可行解

最小元素法

最小元素法的基本思想是優(yōu)先滿足單位運價最小的供銷業(yè)務(wù).

首先找出運價最小的,并以最大限度滿足其供銷量為原則確定供銷業(yè)務(wù).同樣的方法反復(fù)進行直到確定了所有的供銷業(yè)務(wù),得到一個完整的調(diào)運方案即初始基本可行解為止.30

銷產(chǎn)B1B2B3B4產(chǎn)量B1B2B3B4A17311310A241928A3974105需求3656201321344653103方案表運價表31例題以此,得到一初始方案:X13=4

,X14=3,

X21=3,X23=1,X32=6,

X34=3(有數(shù)格)X11=X31=X12=X22=X33=X24=0(空格)B1B2B3B4A143A231A363注:(ⅰ)有數(shù)格是基變量,共m+n-1=3+4-1=6個。空格是非基變量,共劃去m+n=7條線;(ⅱ)如果填上一個變量之后能同時劃去兩條線(一行與一列),就須在所劃去的該行或該列填一個0,此0格當(dāng)有數(shù)格對待.初始方案運費Z0=3×1+6×4+4×3+1×2+3×10+3×5=8632STEP2

最優(yōu)解的判定閉回路法

在單純形法中,為了檢驗一個基本可行解是不是最優(yōu)解,需要求出所有非基變量的檢驗數(shù).在運輸問題中,每個空格對應(yīng)一個非基變量.因此,我們需要求出每個空格的檢驗數(shù).由于目標(biāo)要求極小,因此,當(dāng)所有的檢驗數(shù)都大于或等于零時該調(diào)運方案就是最優(yōu)方案.33

①對方案表中每一空格,確定一條由空格出發(fā)的閉回路。

閉回路是由水平或垂直線組成的閉合圖形。閉回路上的頂點除了這個空格外,其余均為有數(shù)格。B1B2B3B4A143A231A363

可以證明,對每一個空格都存在而且唯一存在這樣一條封閉回路。B1B2B3B4A143A231A363B1B2B3B4A143A231A363B1B2B3B4A143A231A363B1B2B3B4A143A231A363B1B2B3B4A143A231A36335②計算出空格的檢驗數(shù)—等于閉回路上由此空格起奇數(shù)頂點運價與偶數(shù)頂點運價負值的代數(shù)和。B1B2B3B4A143A231A363

11=3-1+2-3=1

22=9-2+3–10+5–4=1

31=7-5+10–3+2–1=10

12=11-10+5-4=2

24=8–10+3–2=-1

33=10-5+10-3=1236③當(dāng)所有空格檢驗數(shù)

σij≥0則當(dāng)前方案是最優(yōu)的,若尚有空格檢驗數(shù)小于零,表明當(dāng)前方案尚有待調(diào)整。

若所有的空格檢驗數(shù)都大于等于零,表明任何一個空格處調(diào)運1單位都會引起總成本的上升,這表明當(dāng)前方案不能再改進,即定為最優(yōu)方案。

σij具有確切的經(jīng)濟意義,它表示由往增運1單位時,引起的總運輸成本的變化數(shù)。

B1B2B3B4A143A231A36337STEP3

方案的調(diào)整

若在檢驗數(shù)上有某空格的檢驗數(shù)為負,則可改進方案,降低成本。調(diào)整的方法是從具有負檢驗數(shù)的空格出發(fā)(有多個負檢驗數(shù)時,選擇絕對值大的一個),沿它的閉回路進行調(diào)整,即在保持方案可行的條件下,盡量增加空格上的運量。閉回路調(diào)整法38

從σij

為最小負值的空格出發(fā).對其閉回路上的奇數(shù)頂點運量增加θ,偶數(shù)頂點的運量減少θ(這才能保證新的平衡),其中調(diào)整量θ為該空格閉回路中偶數(shù)頂點的最小值.B1B2B3B4A143A231A363注:若閉回路的偶數(shù)頂點中同時有兩個格以上運量為θ,則調(diào)整后其中一個變空格,其余填0。(保證基變量個數(shù)不變)B1B2B3B4A152A231A363

24

=-1,作x24

的閉回路,調(diào)整數(shù)=1,調(diào)整得39再用閉回路法或位勢法求各空格的檢驗數(shù),B1B2B3B4A152A231A363x13=5,x14=2,x21=3,x24=1,x32=6,x34=3,其余的xij=0總運費為f=5×3+2×10+3×1+1×8+6×4+3×5=85銷產(chǎn)B1B2B3B4A102A221A3912表中的所有檢驗數(shù)都非負,故上表中的解為最優(yōu)解.檢驗數(shù)表方案表401、產(chǎn)量大于銷量

對于產(chǎn)大于銷問題

,可得到下列運輸問題的模型:二、不平衡運輸問題41

可增加一個假想的銷地

,其銷量為:

某個產(chǎn)地

運到這個假想銷地

的物資量

,實際上就意味著將這些物資在原產(chǎn)地貯存,其相應(yīng)的運價

,轉(zhuǎn)化為產(chǎn)銷平衡的問題,其數(shù)學(xué)模型為:42

對于銷大于產(chǎn)問題

可增加一個假想的產(chǎn)地,其產(chǎn)量為:其相應(yīng)的運費為

,上述不平衡問題就轉(zhuǎn)化為平衡的問題:

2、銷量大于產(chǎn)量43三、有轉(zhuǎn)運的情形1.有轉(zhuǎn)運問題的描述如果某產(chǎn)品從生產(chǎn)地先運到某中間站,或者是先運到另外一個產(chǎn)地,或者是先運到另外一個銷地,然后再運往目的地,這樣的情形應(yīng)該如何處理呢?這就是有轉(zhuǎn)運的情形。442.轉(zhuǎn)運問題的解決方法

解決這類問題,我們首先要將其化為無轉(zhuǎn)運的運輸問題。

假設(shè)有個產(chǎn)地

個銷地,另外還有

個中轉(zhuǎn)地,這

個地點既可以作為產(chǎn)地也可以作為銷地。我們假設(shè):

:第個地點的產(chǎn)量;:第個地點的銷量;:第個地點的轉(zhuǎn)運費;:由地點運到地點的產(chǎn)品量;:由地點到地點的單位運價.45

將產(chǎn)地、銷地、中轉(zhuǎn)地同時編號,產(chǎn)地在前,銷地排第二,中轉(zhuǎn)地在后,則有為了方便,我們只考慮平衡運輸問題,即則有轉(zhuǎn)運的運輸問題可以被認為:(1)產(chǎn)地

可以看成為一個銷售量為的銷地,產(chǎn)量為

的產(chǎn)地;(2)銷地

可以看成是一個產(chǎn)量為的產(chǎn)地,銷售量為

的銷地;(3)中轉(zhuǎn)站可以看成是一個產(chǎn)量和銷量都為的產(chǎn)地和銷地。46因此,得到的數(shù)學(xué)模型為:47四.案例分析

某種產(chǎn)品有三個產(chǎn)地銷售到四個地點,由各產(chǎn)地運到各銷售地的運價表3.4,問如何調(diào)運才能使運價最???

銷量產(chǎn)地產(chǎn)量412411162103910851622銷量8141214481、符號定義:為運往的運費,為運往的供應(yīng)量為地的產(chǎn)量,為地的銷量48492、模型的建立50sets:Sale/1..4/:d;Position/1..3/:e;link(position,sale):G,x;!G為3*4的矩陣;endsetsdata:G=412411210398516;d=8,14,12,14;e=16,10,22;enddatamin=@sum(link:G*x);!目標(biāo)函數(shù);@for(Sale(j):@sum(position(i):x(i,j))=d(j));!銷量條件;@for(Position(i):@sum(sale(j):x(i,j))=e(i));!產(chǎn)量條件;@for(link(i,j):x(i,j)>=0);@for(link:@gin(x));!限制X為整數(shù)end3、模型的求解①利用所給數(shù)據(jù),將這一模型輸入Lingo:②利用所給數(shù)據(jù),將這一模型輸入Matlab:clearclcc=[4,12,4,11;2,10,3,9;8,5,1,6];c=c';c=c(:);%取c的轉(zhuǎn)置;c取矩陣內(nèi)所有數(shù)值A(chǔ)eq=zeros(7,12);%將a賦值為7*12的零矩陣%fori=1:3Aeq(i,4*i-3:4*i)=1;Aeq(i+3,i:4:12)=1;Aeq(7,4:4:12)=1;%等式系數(shù)向量endbeq=[16;10;22;8;14;12;14];lb=zeros(12,1);intcon=1:12;%lu取12*1的零矩陣;intcon從1取到12%[x,y]=intlinprog(c,intcon,[],[],Aeq,beq,lb;[]);x=reshape(x,[1,12]),y%重新調(diào)整矩陣的行數(shù)、列數(shù)%51結(jié)果為x=

00124800201408y=244第三節(jié)

第一章指派問題1.指派問題的數(shù)學(xué)模型2.指派問題的匈牙利算法3.一般指派問題4.整數(shù)規(guī)劃52一、指派問題的數(shù)學(xué)模型

設(shè)有

個人被分配去完成

項工作,每人完成一項工作.因各人的專長不同,每個人去完成同一項工作所花費的時間也不相同.設(shè)

是第

個人完成第

項工作所花費的時間,現(xiàn)在應(yīng)當(dāng)如何分配他們的工作,才能使完成任務(wù)所花費的總時間最少,這就是指派問題或分派問題。

53為指派問題的系數(shù)矩陣.其中稱矩陣為建數(shù)學(xué)模型,我們引入變量,若指派第

人完成第項工作,則否則

,其中

.,54于是指派問題的數(shù)學(xué)模型為上述模型中若將條件改為

型就是一個特殊的運輸問題:是的一個特殊運輸問題.,則模55二、指派問題的匈牙利算法定理1

將系數(shù)矩陣中的某一行(列)中的每一個元素都減去常數(shù),得到一個新矩陣.若以為系數(shù)矩陣的指派問題的最優(yōu)解為,則原指派問題的最優(yōu)解也為,且對任意的可行解都有56證明設(shè)從的第行減去元素,得到由于對任意的可行解都有,故有57由于是以為系數(shù)矩陣的指派問題的最優(yōu)解,所以對于任意的可行解都有即故從而為原問題的最優(yōu)解.58定理2

將系數(shù)矩陣的第行各元素減去,第列各元素減去常數(shù)常數(shù)得到一個新矩陣,即,若,中有個不同行不同列的零元素,即有且的一個排列使.取矩陣,其中,其余的,則就是以為系數(shù)矩陣的指派問題的最優(yōu)解,也是原指派問題的最優(yōu)解.59證明

由已知條件可知而對于任意的可行解

,由于

,故另明顯地有故為新指派問題的最優(yōu)解,根據(jù)定理一,它也是原指派問題的最優(yōu)解.60

根據(jù)定理1和定理2,我們將指派問題的匈牙利算法表述如下:(1)變換系數(shù)矩陣.先將系數(shù)矩陣的每一行的所有元素都減無本行中的最小元素,然后將每一列的所有元素都減去本列中的最小元素.這樣所得的變換矩陣的每一行每一列至少有一個“0”元素,而且沒有負元素.61

(2)在變換后的系數(shù)矩陣中確定獨立的“0”元素

(即不同行不同列的“0”元素).若某行(或某列)

只有一個“0”元素,則對此“0”元素畫

把位于此“0”元素的同行同列的其他“0”元素劃去

(記為,同時).若遇到所有的行列中的“0”元素都不只

一個,我們?nèi)我膺x取一個“0”元素加,同時劃

去其同行同列的其他“0”元素,如此反復(fù)進行,直到62

所有的“0”元素都被畫上

或者是劃去為止.畫上的“0”元素就是矩陣中獨立的“0”元素.如果獨立的“0”元素有

個,則令解矩陣中與獨立“0”元素對應(yīng)的位置上的變量取1,其他變量取0,此對應(yīng)的指派方案總費用為0,從而一定是最優(yōu)解.如獨立的“0”元素少于

列中沒有畫

的“0”元素,采取如下的步驟進行變換:個,即至少有一行或者一63①對沒有的行打;②對有的行中的所在的列打;③對有的列中的所在的行打;④重復(fù)②③的步驟,直到不能再打為止;64

(3)繼續(xù)變換矩陣.找出未被直線覆蓋的元素中的最小元素,令打

的行中的所有元素都減去這個最小

元素,打

的列元素都加上這個最小元素.則原先選⑤將沒有打的行和已經(jīng)打的列畫直線,這樣所得的直線集合就是覆蓋住矩陣中所有“0”元素的最小條數(shù)直線集合.中的“0”元素不變,而未被直線覆蓋的元素中至少有一個元素已經(jīng)變?yōu)椤?”元素,且新矩陣的指派問題與原指派問題有相同的最優(yōu)解.反復(fù)上面的步驟,直到找出個獨立的“0”元素為止.例6求下面系數(shù)矩陣對應(yīng)的指派問題的最優(yōu)解.

解我們將第一行減去7,第二行減去6,第三行減去7,第四行減去6,第五行減去4,就得到行列式

.65則上面矩陣中的第一、二、四行和第一列被直線覆蓋,未被直線覆蓋的行列中的最小元素是2,故將第三、五行的元素減去2,第一列的元素加上2,得到

故得到相應(yīng)的解為,

其他的,661.最大化指派問題若目標(biāo)函數(shù)是求最大不是求最小,設(shè)三、一般指派問題令,則以

為系數(shù)矩陣的最小化指派問題就與原問題同解.,2.人與事的數(shù)目不等

若人多于事或者是事多于人,則添上相應(yīng)數(shù)目的虛擬“事”或者是虛擬“人”,使得人與事的數(shù)目相等,67不過人做虛擬的事或者是虛擬的人做事的費用都為0.3.一個人可以做幾件事若一個人可以做幾件事,則將該人化為相同的幾個人,這幾個人做事的費用也完全相同.4.某事一定不能由某人來做某事一定不能由某人來做,可取此人做該事時的費用是一個足夠大的數(shù).68案例分析

背包問題背包問題是近年來運籌學(xué)界研究的熱點問題,在材料切割、貨物裝載、預(yù)算控制、戰(zhàn)略計劃、信息加密等問題中有著廣泛的應(yīng)用。一般的背包問題是假設(shè)一個背包有一個最大承重限制,設(shè)承重量為有件物品可供選擇,每個物品的重量分別是每件物品的價值是若在不超過背包承重限制的條件下,在這件物品種中選擇哪些裝入背包中才能使背包中的所有物品價值最大?69

背包問題中如果每種物品的數(shù)量不是一一件,而是大于1的整數(shù)件,這種背包問題叫多重背包問題。多重背包問題中的決策變量不再是0-1整數(shù)變量而是小于等于的非負整數(shù)變量,其模型可描述如下:70clearclcP[-p1,-p2,-p3,-p4,...,-pn];%目標(biāo)系數(shù)矩陣,標(biāo)準形式Intcon=1:n;%整數(shù)約束變量位置A=[w1,w2,w3,w4,...,wn];%約束條件矩陣B=W;lb=zeros(n,1);%變量xi大于等于0[x,y]=intlinprog(P,intcon,A,B,[],[],lb,[]);%xi最大約束值未知,ub為空X=reshape(x,n,1),y=-y將這一模型輸入Matlab:71四、整數(shù)規(guī)劃

1.定義:數(shù)學(xué)規(guī)劃中的變量(部分或全部)限制為整數(shù)時,稱為整數(shù)規(guī)劃。若在線性規(guī)劃模型中,變量限制為整數(shù),則稱為整數(shù)線性規(guī)劃。目前所流行的求解整數(shù)規(guī)劃的方法,往往只適用于整數(shù)線性規(guī)劃。目前還沒有一種方法能有效地求解一切整數(shù)規(guī)劃。

2.分類:如不加特殊說明,則一般指整數(shù)線性規(guī)劃。整數(shù)線性規(guī)劃模型大致可分為兩類:72

(1)變量全限制為整數(shù)時,稱純(完全)整數(shù)規(guī)劃。(2)變量部分限制為整數(shù)時,稱混合整數(shù)規(guī)劃。3.特點:(1)原線性規(guī)劃有最優(yōu)解,當(dāng)自變量限制為整數(shù)后,其整數(shù)規(guī)劃解出現(xiàn)下述情況。①原線性規(guī)劃最優(yōu)解全是整數(shù),則整數(shù)規(guī)劃最優(yōu)解與線性規(guī)劃最優(yōu)解一致。②整數(shù)規(guī)劃無可行解。③有可行解(當(dāng)然就存在最優(yōu)解),但最優(yōu)解值變差。(2)整數(shù)規(guī)劃最優(yōu)解不能按照實數(shù)最優(yōu)解簡單取整而獲得。73案例分析

問題某班準備從

名游泳隊員中選擇

人組成接

力隊,參加學(xué)校的混合冰接力比賽.名隊員

種泳姿的百米平均成績?nèi)绫?/p>

所示,問應(yīng)如何選拔隊員組成接力隊如果最近隊員丁的蛙泳成績有較大退步,只有;而隊員戊經(jīng)過艱苦訓(xùn)練自由泳成績有所進步,達到,組成接力隊的方案是否應(yīng)該調(diào)整例混合泳接力隊的選拔74

表1

名隊員種泳姿的百米平均成績

甲乙丙丁戊蝶泳1’06’’857’’21’18’’1’10’’1’07’’4仰泳1’15’’61’06’’1’07’’81’14’’21’11’’蛙泳1’27’’1’06’’41’24’’61’09’’61’23’’8自由泳58’’653’’59’’457’’21’02’’4

問題分析從名隊員中選出人組成接力隊,每人一種泳姿,且人的泳姿各不相同,使接力隊的成績最好.容易想到的是窮舉法,組成接力隊的方案共有種,逐計算并作比較,即可找出最優(yōu)方案.75顯然這不是解決這類問題的好辦法,隨著問題規(guī)模

的變大,窮舉法的計算量將是無法接受的.可以用變量表示一個隊員是否人選接力隊,從

而建立這個問題的規(guī)劃模型,借助現(xiàn)成的數(shù)學(xué)軟件求解.

模型的建立與求解記甲乙丙丁戊分別為隊員記蝶泳仰泳、蛙泳、自由泳分別為泳姿.記隊員i的第

j種泳姿的百米最好成績?yōu)?即有7666.857.2787067.475.66667.574.2718766.484.669.683.858.65359.457.262.4引入變量,若選擇隊員參加泳姿的否則記根據(jù)組成接力隊的應(yīng)滿足兩個約束條件:1.每個人最多只能入選種泳姿之一,即對于應(yīng)有比賽,記要求,772.每種泳姿必須有

人而且只能有

人入選,即對應(yīng)有當(dāng)隊員入選泳姿時,表示他的成績,否則.于是接力隊的成績可表示為

此為該問題的目標(biāo)函數(shù).78綜上,這個問題的規(guī)劃模型可寫作79利用所給數(shù)據(jù),將這一模型輸入Matlab:c=[66.8,75.6,87,58.6;57.2,66,66.4,53;78,67.8,84.6,59.4;70,74.2,69.6,57.2;67.4,71,83.8,62.4];c=c‘;%轉(zhuǎn)置成與x對應(yīng)的系數(shù)c=c(:);intcon=1:20;%變量總數(shù)a=zeros(5,20);%先分配空間,再賦對應(yīng)值fori=1:5%開始對每一行賦值a(i,(i-1)*4+1:i*4)=1;%根據(jù)約束條件列出矩陣系數(shù)endb=ones(5,1);aeq=zeros(4,20);fori=1:4aeq(i,i:4:20)=1;%根據(jù)約束條件列出矩陣系數(shù)endbeq=ones(4,1);lb=zeros(20,1);%整數(shù)變量范圍0、1ub=ones(20,1);[x,z]=intlinprog(c,intcon,a,b,aeq,beq,lb,ub);80LP:

Optimal

objective

value

is

253.20000

x=reshape(x,4,5),z%此時x列代表人,行數(shù)代表事情

01000001000001010000

求得結(jié)果為,其他變量為

,即應(yīng)當(dāng)選派甲乙丙丁四人組成接力對,分別參

加自由泳、蝶泳、仰泳、蛙泳比賽.成績?yōu)?1將這一模型輸入Lingo,其程序為

:model:sets:model:sets:person/1..5/;position/1..4/;link(person,position):c,x;endsetsdata:c=66.8,75.6,87,58.6,57.2,66,66.4,53,78,67.8,84.6,59.470,74.2,69.6,57.2,67.4,71,83.8,62.4;82/176輸出結(jié)果如下:Globaloptimalsolutionfound.Objectivevalue:253.2000Objectivebound:253.2000Infeasibilities:0.000000Extendedsolversteps:0Totalsolveriterations:083/176enddata

min=@sum(link:c*x);(目標(biāo)函數(shù))

@for(person(i):@sum(position(j):x(i,j))<=1;);(約束條件)

@for(position(i):@sum(person(j):x(j,i))=1;);

@for(link:@bin(x));

End

84討論考慮到丁、戊最近的狀態(tài),c43由原來的69.6s變?yōu)?5.2s,c54由原來的62.4s變?yōu)?7.5s,討論對結(jié)果的影響,對于整數(shù)規(guī)劃模型一般沒有與線性規(guī)劃相類似的理論,于是我們用c43,c54的新數(shù)據(jù)重新輸人模型即可求解得到:x21=x32=x43=x54=1,其他變量為0,成績?yōu)?57.7s=4'17"7.即應(yīng)當(dāng)選派乙丙丁戊4人組成接力隊,分別參加蝶泳、仰泳、蛙泳、自由泳的比賽.

第四節(jié)動態(tài)規(guī)劃

第一章1.基本概念和基本理論2.基本方程3.基本思想4.基本步驟5.基本應(yīng)用85A35495431571584644242697512引例

最短路線問題如圖,給定一個線路網(wǎng)絡(luò),兩點之間連線上的數(shù)字表示兩點之間的距離(或費用),試求一條由A到F的鋪管線路,使總距離為最短(或總費用最少)。861.基本概念和基本理論

動態(tài)規(guī)劃是數(shù)學(xué)規(guī)劃的一個分支,是用來解決多階段決策過程的最優(yōu)化問題的一種方法。主要涉及以下八個基本概念:(1)階段:將所給的問題根據(jù)時間或者是空間劃分成若干個相互聯(lián)系的階段,以便按次序去求解。k表示階段變量,n表示總的階段數(shù)。

引例可以分為五個階段,k分別等于1、2、3、4和587狀態(tài)具有無后效性引例中S2可取三個值,B1、B2、B3(2)狀態(tài):各階段開始時的客觀狀況,稱為狀態(tài)。它既是前一階段的一個終點,也是這一階段的一個起點。描述狀態(tài)的變量稱為狀態(tài)變量,常用表示第k階段的狀態(tài)變量。狀態(tài)變量的取值集合稱為狀態(tài)集合,用

表示。

88(3)決策:當(dāng)階段和狀態(tài)決定以后,從該狀態(tài)到下狀態(tài)的某狀態(tài)的選擇稱為決策.描述決策的變量稱為決策變量,用或是來表示第k階段處于狀態(tài)時的決策變量.決策變量的取值范圍稱為允許決策集合,記為或者是,.引例中,在第二階段,若從B1出發(fā),則可作兩種不同的決策,而其允許決策集合為UK(B1)={C1,C2},若選取的點為C2,則u2(B1)=C2(4)策略:策略是一個按順序排列的決策組成的集合。由每段的決策按順序排列組成的決策函數(shù)序列,稱為k子過程策略,記為

。當(dāng)k等于1時,此決策函數(shù)序列稱為全過程的一個策略,簡稱為策略。使問題得到最優(yōu)解的策略稱為最優(yōu)策略。

89(6)效用函數(shù):在狀態(tài)時所采用決策所得的效用

稱為效用函數(shù)。(7)目標(biāo)函數(shù):用于衡量所選定策略優(yōu)劣的函數(shù),又叫指標(biāo)函數(shù)。(5)狀態(tài)轉(zhuǎn)移方程:描述狀態(tài)轉(zhuǎn)移規(guī)律的函數(shù)稱為狀態(tài)轉(zhuǎn)移方程。用來表示狀態(tài)轉(zhuǎn)移方程。例如引例中,vk(sk,uk)表示在第k階段由點sk至點sk+1=uk(sk)的距離

90(8)最優(yōu)化原理:一個過程的最優(yōu)化策略具有的性質(zhì),無論初始狀態(tài)與初始決策如何,對于先前決策所形成的狀態(tài)而言,其以后的決策也應(yīng)當(dāng)構(gòu)成最優(yōu)策略。

對于要構(gòu)成動態(tài)規(guī)劃模型的指標(biāo)函數(shù),應(yīng)具有可分離性,且滿足遞推關(guān)系。即

可以表示為

的函數(shù):可分離性

在實際問題中,很多指標(biāo)都滿足這個性質(zhì)。常見的指標(biāo)函數(shù):

91A35495431571584644242697512

如果一條路線是最短路線,那么從這條路線任一點開始到終點的子路線,也必是最短路線。由此性質(zhì),尋找最短路徑的方法,就是從最后一段開始,用從后往前逐步遞推的方法,求出各點到G點的最短路徑,最后求得A到F的最短路線。所以,動態(tài)規(guī)劃的方法是從終點逐段向始點方向?qū)ふ易疃搪肪€的一種方法。92k=1,表示第一階段:S1={A};k=2,表示第二階段:S2={B1,B2,B3};k=3,表示第三階段:S3={C1,C2,C3};k=4,表示第四階段:S4={D1,D2,D3};k=5,表示第五階段:S5={E1,E2};首先

k=5,第五階段時,最優(yōu)路徑為E1→F

93

k=4,第四階段時,最優(yōu)路徑為D1→E2最優(yōu)路徑為D2→E1最優(yōu)路徑為D3→E2

94以上述方法依算出第三、二、一階段的最優(yōu)路徑。經(jīng)過回溯得到從A到F的最短路徑為:總長度為14.

由此可以看出,在求解的各階段,都利用了第k段和第k+1段的如下關(guān)系:第二個式子為臨界條件。

95引例程序:

clearclc

q=cell(6,3);%設(shè)置單元矩陣,存儲最短路上的點

v=zeros(6,3);

fork=5:-1:1

forx=1:3;

[v,path]=objF_1(k,x,v);%求最短路程;并存儲在V中

q=tranF_1(k,x,path,q);%求最短路徑,存儲在q中

end

end

y=find(v==min(v(1,:)));%找到第一階段對應(yīng)的最短路時的狀態(tài)

road=q{1,y};%找到最終的最短路徑

shortline=min(v(1,:));%找到最短路程

road,shortline

96functionu=DecisF_1(k,x)%u為輸出在k階x狀態(tài)下的決策向量

a=[0,0,0,0,0,0,0,0,0;3,0,0,5,0,0,4,0,0;9,4,0,5,3,1,0,5,7;1,8,4,5,4,4,0,6,2;4,6,7,2,9,5,0,0,0;1,2,0,0,0,0,0,0,0];%兩點間的路程

a(find(a==0))=inf;%對不存在的路徑賦予無窮大%

fori=1:3%i為在x狀態(tài)下下一段的對應(yīng)的狀態(tài)

u(i)=a(k,3*x+i-3);%k階段在x狀態(tài)變量向下一階段時狀態(tài)i的決策

end

end

function[v,path]=objF_1(k,x,v)%求得在k階段時x狀態(tài)下的目標(biāo)即指標(biāo)函數(shù)

b=[];

forj=1:3%j為對應(yīng)的上一階段的狀態(tài)

97

u=DecisF_1(k+1,j);%輸出上一階段某一狀態(tài)時的決策向量

b(j)=v(k+1,j)+u(x);%求得上一階段不同狀態(tài)時所得到的當(dāng)前狀態(tài)的路程值

end

v(k,x)=min(b);%求得當(dāng)前狀態(tài)的最短路程

path=find(b==min(b));%記錄最短路程時所經(jīng)過的點

end

functionq=tranF_1(k,x,path,q)%存儲不同階段不同狀態(tài)下最短路程所對應(yīng)的路徑

q{k,x}=[x,q{k+1,path}];

end

結(jié)果如下:road=

12112

shortline=

14982.基本方程根據(jù)最優(yōu)原理,可以得出動態(tài)規(guī)劃遞推方程。設(shè)

表示在k階段,以

為初始狀態(tài)出發(fā)到最終狀態(tài)時所使用最優(yōu)策略所得的最佳效益值,則可以得到遞推方程:式中可取為min或max

993.基本思想可以將動態(tài)規(guī)劃方法的基本思想歸納為三點:(1)動態(tài)規(guī)劃方法的關(guān)鍵在于正確地寫出基本的遞推關(guān)系式和恰當(dāng)?shù)倪吔鐥l件。(2)在多階段決策過程中,動態(tài)規(guī)劃方法既是把當(dāng)前一段和未來各段分開,又把當(dāng)前效益和未來效益結(jié)合起來考慮的一種最優(yōu)化方法。(3)在求整個問題的最優(yōu)策略時,由于初始狀態(tài)是已知的,而每段的決策都是該段狀態(tài)的函數(shù),故最優(yōu)策略所經(jīng)過的各段狀態(tài)便可逐次變換得到,從而確定了最優(yōu)路線。100(1)將問題的過程劃分為恰當(dāng)?shù)碾A段;(2)正確的選擇狀態(tài)變量,使它既能描述過程的演變,又要滿足無后效性;(3)確定決策變量

及每階段的允許決策集合;(4)正確寫出狀態(tài)轉(zhuǎn)移方程;(5)確定階段目標(biāo)函數(shù),建立動態(tài)規(guī)劃基本方程。5.基本應(yīng)用

動態(tài)規(guī)劃的研究對象是多階段決策問題,它廣泛用于經(jīng)濟管理,最優(yōu)路徑,資源分配,庫存管理,排序,生產(chǎn)計劃等問題上。4.基本步驟101例.設(shè)有600萬資金用于四個工廠的擴建。已知每個工廠的利潤增長額同投資額的大小有關(guān),詳細數(shù)據(jù)見表一。問應(yīng)如何確定對這四個工廠的投資額,使工廠總的利潤增長額為最大。

01002003004005006001020426075859020

2545576570733018396178909540284765748085投資額利潤增長額工廠102

把對四個廠的投資依次看成4個階段的決策過程,對第k個工廠投資看作第k個階段的決策,k=1,2,3,4。符號說明

103

01002003004005006000000100028281002000284747200300028476565300400028476574744005000284765748080500600028476574808585600

k=4時,得到下表:表一104

010020030040050060000+0001000+2818+02802000+4718+2839+04703000+6518+4739+2861+0672004000+7418+6539+4761+2878+0893005000+8018+7439+6561+4778+2890+01083006000+8518+8039+7461+6578+4790+2895+0126300

k=3時,得到下表:表二105得到下表:表三

010020030040050060000+0001000+2825+02802000+4725+2845+0531003000+6725+4745+2857+073100或2004000+8925+6745+4757+2865+092100或2005000+10825+8945+6757+4765+2870+01141006000+12625+8045+8957+6765+4770+2873+0134200

k=2時,106

01002003004005006006000+13420+11442+9260+7375+5385+2890+01340或100或200

k=1時,得到下表:表四最優(yōu)解或總利潤最大增長額為134萬元。或或107例題程序:

clcclear

c=[0,20,42,60,75,85,90;0,25,45,57,65,70,73;0,18,39,61,78,90,95;0,28,47,65,74,80,85];

%不同廠不同投資的收益

a=zeros(7,7);x=zeros(4,6);

fork=4:-1:1

fori=7:-1:1

b=0;

forj=1:i

a(i,j)=max(c(k,j)+a(i-j+1,:));

%當(dāng)前狀態(tài)的總投資額及對當(dāng)前廠的不同投資下的最大收益

ifj>1

ifa(i,j)>a(i,j-1)

b=j-1;

%記錄當(dāng)前狀態(tài)下當(dāng)前的投資的最大化投資方案,儲存在b中

end

end

108end

x(k,i)=b;

end

end

[m,n]=find(a==max(max(a)));d=[];

%尋找最終最大收益所在的位置,n為當(dāng)前狀態(tài)對當(dāng)前廠的的投資量

fork=1:4%按照從前往后的不同階段逐階段尋找最大收益投資方案,并儲存在d中

fori=1:3

ifk==1

d(k,i)=n(i,1)-1;

end

ifk>1

m(i,1)=m(i,1)-d(k-1,i);

d(k,i)=x(k,m(i,1));

end

end

end

運行結(jié)果:d=

012

211

332

111109第五節(jié)非線性規(guī)劃

第三章1.非線性規(guī)劃的概念2.無約束非線性規(guī)劃的求解3.約束非線性規(guī)劃的求解4.幾種特殊的非線性規(guī)劃5.案例分析110一、非線性規(guī)劃的概念定義如果目標(biāo)函數(shù)或約束條件中至少有一個是非線性函數(shù)時的最優(yōu)化問題就叫做非線性規(guī)劃問題。

一般形式:

其中是維歐氏空間中的點(向量),而

中至少有一個是非線性函數(shù)。記可行域為

。111二、無約束非線性規(guī)劃的求解1.一維搜索法一維搜索法是用來求解單變量最優(yōu)化問題的近似方法。即求解問題:

若,對任何都有,稱為全局最優(yōu)解.

若,對任何都有,稱為局部最優(yōu)解。

的鄰域。112

設(shè)是定義在區(qū)間上的單峰函數(shù),在區(qū)間取兩點,不如假設(shè),則最優(yōu)點必定落在區(qū)間中。

令,即

,令經(jīng)計算,得出λ=0.618

黃金分割就是以0.618的比率逐步縮小搜索區(qū)間,最后得到最優(yōu)點的近似值。黃金分割法:1132.高維無約束問題高維無約束極值問題可以表述為:求解方法有兩類:由于利用到解析函數(shù)的解析性質(zhì),稱為解析法,這類方法中常用到的有梯度法、牛頓法等;因為在迭代過程中僅用到函數(shù),而不用到函數(shù)的解析性質(zhì),稱為直接法。114(1)梯度法(最速下降法)

定義3

若在中的某一開集中有一階連續(xù)的偏導(dǎo)數(shù),稱向量為函數(shù)的梯度。定義4

若在上具有二階連續(xù)偏導(dǎo)數(shù),稱矩陣為的黑賽矩陣梯度方向是函數(shù)增加最快的方向115

定義5多元函數(shù)的泰勒展開式:設(shè)有元函數(shù)在的某鄰域內(nèi)有連續(xù)的二偏導(dǎo)數(shù),則有如下的泰勒展開式:其中

定理3設(shè)具有連續(xù)的一階偏導(dǎo),為的局部極值,則

定理4設(shè)在中有連續(xù)的二階偏導(dǎo)數(shù),且,正定,則為的嚴格局部極小值點.116具體步驟:給定初始點和允許誤差,令k=1.計算,若,則停止迭代,最小點就是;否則,轉(zhuǎn)入③.求,得到極小值,令,用k+1代替k轉(zhuǎn)入②,繼續(xù)迭代.117例

求解解,則,所以繼續(xù)迭代:k123456211得到結(jié)果:取,初始點由得到.令因為118(2)模式搜索法

在每一輪的迭代中采用軸向移動和模式移動相結(jié)合,故稱為模式搜索法.其步驟為:取點作為初始點,允許誤差為

,對每個變量選定搜索步長,其中是第個分量。記,令.②從出發(fā),依此對各分量進行搜索:若,記.否則,若,就記;若,,則記,即119

然后從出發(fā)對第二個分量進行類似的探索.一般地,從出發(fā)對個分量進行探索得到:其中.若,則轉(zhuǎn)入③,否則轉(zhuǎn)入④.③記,則為的下降方向.從出發(fā),沿方向達到點,其中稱為加速系數(shù),我們?nèi)∑錇?,則這稱為模式移動.以代替,轉(zhuǎn)入②.120④檢驗是否有,若滿足,則停止迭代,;否則,令,,以代替,代替,轉(zhuǎn)入②繼續(xù).二、約束非線性規(guī)劃的求解1.罰函數(shù)法121根據(jù)上述問題構(gòu)造函數(shù)其中是一個充分大的正數(shù),稱為罰因子,函數(shù)稱為罰函數(shù)。

從直觀上看,由于很大,當(dāng)時,不可能取得極小值,故只有當(dāng)時,才會取得極小值。這樣約束非線性規(guī)劃問題就可以化為如下無約束非線性規(guī)劃問題:1222.線性逼近法

該方法是將目標(biāo)函數(shù)和約束條件作線性近似,所以稱為線性逼近法,其具體步驟:定理5設(shè)問題的最小點存在,且(1)連續(xù);(2)正數(shù)序列單調(diào)增加且趨于;(3)由上面所定義的函數(shù)存在最小點,且,則是問題的最小點,且.123然后求出最優(yōu)解.①取初始點,精確度及初始步長,置k=1.②將目標(biāo)函數(shù)和約束函數(shù)在處線性化,得線性規(guī)劃問題③若,

,則轉(zhuǎn)入④;否則,取代替轉(zhuǎn)回②.④若,則;否則,用k+1代替k返回②.124三、幾種特殊的非線性規(guī)劃1.正定幾何規(guī)劃(簡單情形)2.正定幾何規(guī)劃(一般情形)其中,,為任意實數(shù).其中中的各項系數(shù)均為正數(shù),為任意的實數(shù).1253.符號幾何規(guī)劃4.二次規(guī)劃其中為1或-1,,為任意的實數(shù).126四、非線性規(guī)劃問題的MATLAB求解

127

1.有約束的一元函數(shù)的最小值

單變量函數(shù)求最小值的標(biāo)準形式為:使用fminbnd函數(shù)求值。函數(shù)fminbnd格式

[x,fval,exitflag,output]=fminbnd('fun',x1,x2,options)參數(shù)說明:

fun為目標(biāo)函數(shù)的表達式字符串或MATLAB自定義函數(shù)炳;

返回自變量x在區(qū)間函數(shù)fun取最小值時x值;128

options為指定優(yōu)化參數(shù);

fval為目標(biāo)函數(shù)的最小值;

exitflag為終止迭代條件;

output為優(yōu)化信息;例計算下面函數(shù)在區(qū)間(-5,5)內(nèi)的最小值和函數(shù)取最小值時x的值.解:>>[x,fval,exitflag,output]=fminbnd('(x^3+x^2-1)/exp(x)+exp(-x)',-5,5)x=-4.9999fval=-1.4840e+041292.無約束多元函數(shù)問題

多元函數(shù)最小值的標(biāo)準形式為,其中x為向量,如,在MATLAB中使用fminsearch求其最小值。

函數(shù)

fminsearch:

格式

[x,fval,exitflag,output]=fminsearch('fun',x0,options)

參數(shù)說明:

x0為初始點,

fun為目標(biāo)函數(shù)的表達式字符串或MATLAB自定義函數(shù)炳

options查optimset

fval為最優(yōu)點的函數(shù)值

exitflag與單變量情形一致

output

與單變量情形一致130

例求的最小值點解:>>X=fminsearch('sin(x(1))+cos(x(2))',[0,0])結(jié)果為

X=-1.57083.1416或在MATLAB編輯器中建立函數(shù)文件

functionf=myfun(x)f=sin(x(1))+cos(x(2);保存為myfun.m,在命令窗口鍵入

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論