整數(shù)規(guī)劃和多目標(biāo)規(guī)劃模型.doc_第1頁
整數(shù)規(guī)劃和多目標(biāo)規(guī)劃模型.doc_第2頁
整數(shù)規(guī)劃和多目標(biāo)規(guī)劃模型.doc_第3頁
整數(shù)規(guī)劃和多目標(biāo)規(guī)劃模型.doc_第4頁
整數(shù)規(guī)劃和多目標(biāo)規(guī)劃模型.doc_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 整數(shù)規(guī)劃的 MATLAB 求解方法(一)用 MATLAB求解一般混合整數(shù)規(guī)劃問題由于 MATLAB優(yōu)化工具箱中并未提供求解純整數(shù)規(guī)劃和混合整數(shù)規(guī)劃的函數(shù),因而需要自行根據(jù)需要和設(shè)定相關(guān)的算法來實現(xiàn)?,F(xiàn)在有許多用戶發(fā)布的工具箱可以解決該類問題。這里我們給出開羅大學(xué)的Sherif和 Tawfik在MATLABCentral 上發(fā)布的一個用于求解一般混合整數(shù)規(guī)劃的程序,在此命名為 intprog ,在原程序的基礎(chǔ)上做了簡單的修改,將其選擇分枝變量的算法由自然序改造成分枝變量選擇原則中的一種,即:選擇與整數(shù)值相差最大的非整數(shù)變量首先進(jìn)行分枝。 intprog 函數(shù)的調(diào)用格式如下:x,fval,ex

2、itflag=intprog(c,A,b,Aeq,beq,lb,ub,M,TolXInteger)該函數(shù)解決的整數(shù)規(guī)劃問題為:minfcT xs.t .AxbAeq xbeqlbxubxi0(i1,2, , n)x j 取整數(shù)( jM)在上述標(biāo)準(zhǔn)問題中,假設(shè)x 為 n 維設(shè)計變量,且問題具有不等式約束m1 個,等式約束 m2 個,那么: c 、 x 均為 n 維列向量, b 為 m1 維列向量, beq 為 m2 維列向量, A 為 m1 n 維矩陣, Aeq 為 m2 n 維矩陣。在該函數(shù)中,輸入?yún)?shù)有c,A,b,A eq,beq,lb,ub,M 和 TolXInteger 。其中 c 為目

3、標(biāo)函數(shù)所對應(yīng)設(shè)計變量的系數(shù),A 為不等式約束條件方程組構(gòu)成的系數(shù)矩陣,b 為不等式約束條件方程組右邊的值構(gòu)成的向量。Aeq 為等式約束方程組構(gòu)成的系數(shù)矩陣, beq 為等式約束條件方程組右邊的值構(gòu)成的向量。lb 和 ub 為設(shè)計變量對應(yīng)的上界和下界。 M 為具有整數(shù)約束條件限制的設(shè)計變量的序號,例如問題中設(shè)計變量為x1, x2 , x6 ,要求x2, x3 和 x6 為整數(shù),則M=2;3;6;若要求全為整數(shù),則M=1:6 ,或者M(jìn)=1;2;3;4;5;6。 TolXInteger為判定整數(shù)的誤差限,即若某數(shù)x 和最鄰近整數(shù)相差小于該誤差限,則認(rèn)為x 即為該整數(shù)。在該函數(shù)中,輸出參數(shù)有x, fv

4、al 和 exitflag 。其中 x 為整數(shù)規(guī)劃問題的最優(yōu)解向量, fval 為整數(shù)規(guī)劃問題的目標(biāo)函數(shù)在最優(yōu)解向量x 處的函數(shù)值, exitflag為函數(shù)計算終止時的狀態(tài)指示變量。例 1 求解整數(shù)規(guī)劃問題:maxfx1x2s.t.4x12 x214 x12 x2112 x21x1 , x20,且取整數(shù)值算法:c=-1;-1;A=-4 2;4 2;0 -2;b=-1;11;-1;lb=0;0;M=1;2;% 均要求為整數(shù)變量Tol=1e-8;% 判斷是否整數(shù)的誤差限x,fval=linprog(c,A,b,lb,)% 求解原問題松弛線性規(guī)劃x1,fval1=intprog(c,A,b,lb,M

5、,Tol)% 求最優(yōu)解整數(shù)解結(jié)果:x =% 松弛線性規(guī)劃問題的最優(yōu)解1.50002.5000fval =-4.0000x1 =% 整數(shù)規(guī)劃的最優(yōu)解21fval2 =-3.0000(二)用 MATLAB求解 0-1 規(guī)劃問題在 MATLAB優(yōu)化工具箱中,提供了專門用于求解0-1 規(guī)劃問題的函數(shù)bintprog ,其算法基礎(chǔ)即為分枝界定法,在MATLAB中調(diào)用 bintprog 函數(shù)求解0-1 規(guī)劃時,需要遵循MATLAB中對 0-1 規(guī)劃標(biāo)準(zhǔn)性的要求。0-1 規(guī)劃問題的 MATLAB標(biāo)準(zhǔn)型minfcT xs.t.AxbAeq xbeqx0,1在上述模型中,目標(biāo)函數(shù)f 需要極小化,以及需要滿足的約

6、束條件,不等式約束一定要化為形式為 “ ”。假設(shè) x 為 n 維設(shè)計變量,且問題具有不等式約束m1 個,等式約束 m2 個,那么:c 、 x 均為 n 維列向量, b 為 m1 維列向量, beq 為 m2 維列向量, A 為 m1n 維矩陣,Aeq 為 m2n 維矩陣。如果不滿足標(biāo)準(zhǔn)型的要求,則需要對原問題進(jìn)行轉(zhuǎn)化,化為標(biāo)準(zhǔn)型之后才能使用相關(guān)函數(shù),標(biāo)準(zhǔn)化的方法和線性規(guī)劃中的類似。0-1 規(guī)劃問題的 MATLAB求解函數(shù)MATLAB優(yōu)化工具箱中求解0-1 規(guī)劃問題的命令為bintprogbintprog 的調(diào)用格式x = bintprog(f)x = bintprog(f,A,b)x = bi

7、ntprog(f,A,b,Aeq,beq)x = bintprog(f,A,b,Aeq,beq,x0)x = bintprog(f,A,b,Aeq,Beq,x0,options)x,fval = bintprog(.)x,fval,exitflag = bintprog(.)x,fval,exitflag,output = bintprog(.)命令詳解1)x = bintprog(f)該函數(shù)調(diào)用格式求解如下形式的0-1 規(guī)劃問題minfcT xs.t.x 0,12)x = bintprog(c,A,b)該函數(shù)調(diào)用格式求解如下形式的0-1 規(guī)劃問題minfcT xs.t.Axbx 0,13)x

8、 = bintprog (c,A,b,Aeq,beq)該函數(shù)調(diào)用格式求解如下形式的0-1 規(guī)劃問題:minfcT xs.t.AxbAeq xbeqx0,14)x = bintprog (c,A,b,Aeq,beq,x0)該函數(shù)調(diào)用格式求解如下形式的0-1 規(guī)劃問題minfcT xs.t.Ax bAeq xbeqx0,1在前一個調(diào)用格式的基礎(chǔ)上同時設(shè)置求解算法的初始解為x0,如果初始解x0 不在 0-1 規(guī)劃問題的可行域中,算法將采用默認(rèn)的初始解5)x = bintprog (c,A,b,Aeq,beq,x0,options)用 options 指定的優(yōu)化參數(shù)進(jìn)行最小化??梢允褂胦ptimset

9、 來設(shè)置這些參數(shù)上面的函數(shù)調(diào)用格式僅設(shè)置了最優(yōu)解這一輸出參數(shù),如果需要更多的輸出參數(shù),則可以參照下面的調(diào)用格式:x,fval = bintprog(.)在優(yōu)化計算結(jié)束之時返回整數(shù)規(guī)劃問題在解x 處的目標(biāo)函數(shù)值fvalx,fval,exitflag = bintprog(.)在優(yōu)化計算結(jié)束之時返回exitflag 值,描述函數(shù)計算的退出條件。x,fval,exitflag,output = bintprog(.)在優(yōu)化計算結(jié)束之時返回結(jié)構(gòu)變量output例 2:求解 0-1 規(guī)劃問題nnmaxfi 1j 1Eij xij20123326ns.t.xij1i1,2,n22152923j1E1331

10、24n21xij1j1,2,n22163223i1或 (,)i 1,2,n; j 1,2, ,nxij 011 2,3,4為了程序的可讀性, 我們用一維下標(biāo)來表示設(shè)計變量,即用 x1 x4 表示 x11 x14 ,用 x5 x8表示 x21 x24 ,用 x9 x12 表示 x31 x34 ,用 x13 x16 表示 x41 x44 ,于是約束條件和目標(biāo)函數(shù)分別為:x1x2x3x41x5x6x7x81x9x10x11x121x13x14x15x161x1x5 x9x131x2x6x10x141x3x7x11x151x4x8x12x161xi0,1(i1,2,16)f E11x1E12 x2E1

11、3 x3E14 x4E21 x5E22 x6E44 x16算法:c=20;12;33;26;22;15;29;23;21;13;31;24;22;16;32;23;Aeq=1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0;0000111100000000;0000000011110000;0000000000001111;1000100010001000;0100010001000100;0010001000100010;0001000100010001;beq=ones(1,8);x,fval=bintprog(c,Aeq,beq);B=reshape(x,4,4); %由于

12、x 是一列元素,為了使結(jié)果更加直觀,故排成與效率矩陣E 相對應(yīng)的形式Bfval結(jié)果:Optimization terminated.ans =0100001010000001fval =85整數(shù)規(guī)劃的應(yīng)用組件配套問題某機械產(chǎn)品需要由三個工廠開工一起生產(chǎn)后組裝完成。每件機械需要4 個組件 1 和 3 個組件 2。生產(chǎn)這兩種組件需要消耗兩種原材料A 和 B。已知這兩種原材料的供應(yīng)量分別為400kg 和 600kg。由于三個工廠的生產(chǎn)條件和擁有設(shè)備工藝條件不同,每個工廠生產(chǎn)組件的能力和原材料的消耗也不盡相同,且每個工廠開工一次都是配套生產(chǎn)一定數(shù)量的組件 1 和組件 2,其具體的數(shù)據(jù)如表所示。表 11

13、-2 各工廠生產(chǎn)能力和消耗原材料的數(shù)據(jù)表每個工廠消耗原材料的數(shù)量 (公斤) 每個工廠各組件的生產(chǎn)能力 (件數(shù))A 材料B 材料組件 1組件 2工廠9786工廠61079工廠4995現(xiàn)在的最優(yōu)化問題是,這三個工廠應(yīng)當(dāng)如何安排生產(chǎn),才能使該產(chǎn)品的配套數(shù)達(dá)到最大?()組件配套問題的建模設(shè) x1、 x2 和 x3 是三個工廠分別開工的次數(shù),將其作為該問題的設(shè)計變量。由于每個工廠開工一次都是配套生產(chǎn),故每次開工消耗的原材料一定,且生產(chǎn)的組件數(shù)也是一定的。在這個假設(shè)的前提之下,我們可以得出該問題的目標(biāo)函數(shù)和約束條件。因為原材料的總量是有限的, 根據(jù)工廠的開工次數(shù), 可得工廠將消耗A 材料 9x1 ,工廠將

14、消耗A 材料 6 x2 ,工廠將消耗A 材料 4x3 ,故有約束條件:9x16x24x3400同理,對于材料 B 的總量約束條件可以表達(dá)為:7x1 10 x29x3 600然后再來分析三個工廠零件生產(chǎn)的情況,三個工廠生產(chǎn)的組件1 的數(shù)量分別為 8x1、7 x2 和 9x3 ,故組件 1 的總數(shù)為: Q18x17x2 9x3同理,組件 2 的總數(shù)為: Q 26 x 19 x 25 x 3下一步是分析目標(biāo)函數(shù),該問題要求的不是生產(chǎn)的各種組件總數(shù)最多,而是要求產(chǎn)品的配套數(shù)量最大,即能組成的機械數(shù)目最多。問題中已經(jīng)給出了該種機械中兩種組件的配比為4:3,故組件1 所能成套的數(shù)目 T1 滿足約束條件:Q

15、18x1 7x2 9x3T144Q26x19x25x3同理,組件 2 所能成套的數(shù)目 T2 滿足約束條件: T233因而,所能組成的成品機械的數(shù)目f 應(yīng)該為 T1 和 T2 中的較小值,即:fmin( T1 ,T2 )那么,我們求解的目標(biāo)即是使得f 能夠盡可能大,可以看出,這種形式并不是有關(guān)設(shè)計變量的線性函數(shù),我們需要對其進(jìn)行轉(zhuǎn)化,此時我們可以令一個人工設(shè)計變量等于目標(biāo)函數(shù)值,則有:x4min( T1,T2 )在該假設(shè)下,一定滿足關(guān)系式:T1x4 且 T2x4結(jié)合約束關(guān)系,對 T1 的約束可以表示為: x4T1Q18x17 x29x344同理,對 T2 的約束可以表示為: x4Q 26x19x

16、2 5x3T233對 T1 的上述關(guān)系進(jìn)行整理,可以得到關(guān)系:8x17 x29 x34x40同理對 T2 也可以得到不等式關(guān)系為:6x1 9x2 5x33x40上面兩個式子即為由組件的配比數(shù)得到的關(guān)于組件數(shù)目的約束條件,此時問題的目標(biāo)就是如何使得x4 取到最大值,由于開工的次數(shù)一定是一個非負(fù)整數(shù),故也是一個約束條件,決定了該問題是一個純整數(shù)規(guī)劃問題。結(jié)合前面給出的原材料約束,可以得到如下的數(shù)學(xué)模型:maxfx4s.t.9x16 x24 x34007 x110 x29x36008x17 x29x34x406x19x25x33x40xi0且取整數(shù)值i1,2,3,4()組件配套問題的求解利用 8.節(jié)

17、中給出的函數(shù)對此問題求解,代碼和運行結(jié)果如下:算法:% 目標(biāo)函數(shù)所對應(yīng)的設(shè)計變量的系數(shù),為轉(zhuǎn)化為極小,故取原目標(biāo)函數(shù)的相反數(shù)f=0;0;0;-1;% 不等式約束A=9640;71090;-8 -7 -9 4;-6 -9 -5 3;b=400;600;0;0;% 邊界約束,由于無上界,故設(shè)置ub=Inf;Inf;Inf;Inf;lb=0;0;0;0;ub=Inf;Inf;Inf;Inf;% 所有變量均為整數(shù)變量,故將所有序號組成向量MM=1;2;3;4;% 判定為整數(shù)的誤差限Tol=1e-8;% 求最優(yōu)解 x 和目標(biāo)函數(shù)值 fval ,并返回狀態(tài)指示x,fval,exitflag=intprog

18、(f,A,b,lb,ub,M,Tol)結(jié)果:x =最優(yōu)解向量x181536141fval =在最優(yōu)解向量x 處,原目標(biāo)函數(shù)值的相反數(shù)-141.000exitflag=算法終止指示變量,說明問題收斂到了最優(yōu)解x1由運行結(jié)果可知,工廠、和需要分別開工18、 15和36 次,這樣所能生產(chǎn)出來的成套的機械為141 件。2 多目標(biāo)規(guī)劃的 MATLAB 求解方法(一)多目標(biāo)規(guī)劃的 MATLAB求解由于多目標(biāo)規(guī)劃中的求解涉及到的方法非常多,故在 MATLAB中可以利用不同的函數(shù)進(jìn)行求解,例如在評價函數(shù)法中我們所得最后的評價函數(shù)為一線性函數(shù),且約束條件也為線性函數(shù),則我們可以利用MATLAB優(yōu)化工具箱中提供的

19、 linprog 函數(shù)進(jìn)行求解,如果我們得到的評價函數(shù)為非線性函數(shù),則可以利用MATLAB優(yōu)化工具箱中提供的fmincon 函數(shù)進(jìn)行求解,如果我們采用最大最小法進(jìn)行求解,則可以利用MATLAB優(yōu)化工具箱中提供的fminimax 函數(shù)進(jìn)行求解。下面我們就結(jié)合理論求解的幾種方法,講解一下典型多目標(biāo)規(guī)劃問題的MATLAB求解方法。例 1利用理想點法求解minf 1 ( x )2 x13 x2minf 2 ( x)5 x13 x 2s.t.3 x12 x 2 12x1x 28x1 , x 20我們首先根據(jù)評價函數(shù)法中的理想點法的理論基礎(chǔ),按照理想點法的求解思路分別對兩個單目標(biāo)規(guī)劃問題P1 , P2 進(jìn)

20、行求解:minf 1 ( x)2x1 3x2minf 2 ( x)5x1 3x2s.t.3x12 x2 12s.t.3x12x212P1x1x28, P2x1 x28x1 , x20x1 , x20求解 P1 的 MATLAB的代碼和相應(yīng)的運行結(jié)果為:算法:c=2;-3;A=3 2;1 1;b=12;8lb=0;0x,fval=linprog(c,A,b,lb,)結(jié)果:x =0.00006.0000fval =-18.0000于是可知。當(dāng) x10,6Tf*18時,單目標(biāo)線性規(guī)劃1的最優(yōu)函數(shù)值為1。P求解 P2 的 MATLAB的代碼和相應(yīng)的運行結(jié)果為:算法:c=-5;-3;A=3 2;1 1;

21、b=12;8lb=0;0x,fval=linprog(c,A,b,lb,)結(jié)果:Optimization terminated.x =4.00000.0000fval =-20.0000于是可知,當(dāng) x24,0 T 時,單目標(biāo)線性規(guī)劃P2的最優(yōu)函數(shù)值為 f 2*20 。由 上 述 兩 個 單 目 標(biāo) 線 性 規(guī) 劃 的 求 解 結(jié) 果 可 知 x2x2 , 因 而f1* , f 2*18,20 是一個不可能達(dá)到的理想點,因而我們構(gòu)造如下評價函數(shù):min h f (x)222x122f1 ( x) 18f 2 (x) 203x2 185x13x 20x R構(gòu)造描述該評價函數(shù)的M- 函數(shù)文件 ob

22、jfun.m如下:function f=objfun(x)f=sqrt(2*x(1)-3*x(2)+18)2+(5*x(1)+3*x(2)-20)2);然后用非線性規(guī)劃的方式求解上述問題:算法:A=3 2;1 1;b=12;8;lb=0;0;x0=0;0;x,fval,exitflag=fmincon(objfun,x0,A,b,lb,)結(jié)果:Active inequalities (to within options.TolCon = 1e-006):lowerupperineqlinineqnonlin1x =0.02355.9647fval =1.9941exitflag =5由運行結(jié)果

23、可知在該評價函數(shù)標(biāo)準(zhǔn)之下,問題的最優(yōu)解為:x*0.0235,5.9647 T此時,各目標(biāo)函數(shù)的取值為: f1*17.8471, f 2*18.0118 。它與理想點 f1* , f2*18, 20在評價函數(shù)標(biāo)準(zhǔn)下的最小距離為 1.9941。例 2利用評價函數(shù)中的線性加權(quán)和法求解如下多目標(biāo)規(guī)劃問題:minf 1 ( x)x12x22x32minf 2 ( x)x122x223x32s.t.x1 x2x33x1 , x2 , x30其中權(quán)系數(shù)為10.8, 20.2 。建立線性加權(quán)和法的評價函數(shù)為:min h f (x)1 x12x22x322 x122x223x32將 相 應(yīng) 的 權(quán) 系 數(shù) 代

24、入 上 式 即 整 理 出 目 標(biāo) 函 數(shù)f ( x)為 :f ( x)x121.2x221.4x32于是建立目標(biāo)函數(shù)的M- 函數(shù)文件 objfun.m :function f=objfun(x)f=x(1)2+1.2*x(2)2+1.4*x(3)2;由于目標(biāo)函數(shù)非線性函數(shù)且具有線性等式約束和邊界約束,因而我們調(diào)用MATLAB中求解非線性規(guī)劃的fmincon 函數(shù)對此問題進(jìn)行求解,同時注意如果只考慮第一個目標(biāo)函數(shù),由這種特殊形式,即在設(shè)計變量的和為一定值,需要求其平方和的最小值時,最優(yōu)解必然是當(dāng)這幾個設(shè)計變量的值相等時取得,于是我們可以將這個解設(shè)為問題的初始點,開始迭代。算法:Aeq=1 1

25、1;beq=3;lb=0;0;0;x0=1;1;1;x,fval=fmincon(objfun,x0,Aeq,beq,lb,)結(jié)果:No active inequalities.x =1.17760.98120.8412fval =3.5327x1*1.1776結(jié)果說明,問題的最優(yōu)解為:x*x*20.9812 , f ( x* )3.5327x3*0.8412我們在求解多目標(biāo)規(guī)劃問題時,可以采用評價函數(shù)法中的最大最小法,而MATLAB 也為這種方法提供了專門的求解函數(shù) fminimax ,在講解這方面的例題之前,我們首先介紹一下 MATLAB 優(yōu)化工具箱中所提供的最大最小法的求解函數(shù) fmin

26、imax 。最大最小法問題的MATLAB標(biāo)準(zhǔn)形式為:minmaxf i ( x)xis.t.c(x)0ceq(x)0AxbAeq xbeqlbxub函數(shù) fminimax 的調(diào)用方式和其他的最優(yōu)化函數(shù)類似,其中所涉及的輸入?yún)?shù)和輸出參數(shù)的含義與非線性規(guī)劃的求解函數(shù)fmincon類似,使用方法也基本相同,細(xì)節(jié)問題讀者可以參考MATLAB的幫助文件。例 3 求解最大最小問題:minmaxfi (x)xis.t.f1( x)2 x12x2248x1 40x2 304f 2 ( x)x123x22f 3( x)x13x218f 4 ( x)x1x2f 5( x)x1x28首先建立描述目標(biāo)函數(shù)的M- 函

27、數(shù)文件 objfun.m ,注意到一共有五個目標(biāo)函數(shù),所求目標(biāo)為這五個函數(shù)最大值中的最小值,代碼如下:function f = objfun(x)f(1)= 2*x(1)2+x(2)2-48*x(1)-40*x(2)+304;f(2)= -x(1)2 - 3*x(2)2;f(3)= x(1) + 3*x(2) -18;f(4)= -x(1)- x(2);f(5)= x(1) + x(2) - 8;然后設(shè)置求解的初始點為x0=0;0 ,調(diào)用 fminimax 求解該問題。算法:x0 = 0; 0;x,fval,maxfval = fminimax(objfun,x0)結(jié)果:Local minim

28、um possible. Constraints satisfied.fminimax stopped because the predicted change in the objective functionis less than the default value of the function tolerance and constraintswere satisfied to within the default value of the constraint tolerance.Active inequalities (to within options.TolCon = 1e-

29、006):lowerupperineqlinineqnonlin15x =4.00004.0000fval =0.0000-64.0006-1.9999-8.0000-0.0000maxfval =2.6897e-008上述結(jié)果說明當(dāng)x14, x24 時,目標(biāo)函數(shù)fi (x)i1,2,5 的最大值達(dá)到最小,這一組的函數(shù)值為0.0000,-64.0006,-1.9999,-8.0000,-0.0000,于是最大值為 0。多目標(biāo)規(guī)劃的應(yīng)用投資問題(全國大學(xué)生數(shù)學(xué)建模競賽試題)假設(shè)市場上有 n 種資產(chǎn),比如股票、債券等可以供投資者選擇,某公司有數(shù)額為 M 的一筆相當(dāng)大的資金可用作一個時間的投資。通過

30、財務(wù)人員對Si 種資產(chǎn)進(jìn)行評估,大概可以估算出在這一時期內(nèi)購買資產(chǎn)Si 的平均收益率為ri ,并預(yù)測出購買 Si 的損失率為 qi ??紤]到投資越分散,總的風(fēng)險越小,公司決定當(dāng)用這筆資金購買若干種資產(chǎn)時,總體風(fēng)險可用所投資的Si 中的最大一個風(fēng)險來度量。購買 Si 要付交易費,費率為 pi ,并且當(dāng)購買額不超過給定值 ui時,交易費按購買 ui 計算(不買當(dāng)然無須付費) 。另外,假定同期銀行存款利率是r0 ,且既無交易費又無風(fēng)險 ( r0 5 )。已知 n 4 時的相關(guān)數(shù)據(jù)如下表所示:表 1投資各種資產(chǎn)的參數(shù)值Siri (%)qi (%)pi (%)ui (元)S1282.51103S2211

31、.52198S3235.54.552S4252.66.540試給該公司設(shè)計一種投資組合方案,即用給定的資金M ,有選擇地購買若干種資產(chǎn)或存銀行生息,使凈收益盡可能大,而總體風(fēng)險盡可能小。()投資問題的建模為了建立數(shù)學(xué)模型,首先對模型進(jìn)行一些必要的假設(shè)及符號說明:(1) 模型的假設(shè) 在一個時期內(nèi)所給出的ri , qi , pi 保持不變。在一個時間內(nèi)所購買的各種資產(chǎn)(如股票、證券等 )不進(jìn)行買賣交易,即在買入后不再賣出。 每種投資是否收益是相互獨立的。 在投資過程中,無論盈利與否必須先付交易費。(2)符號說明M (元):公司現(xiàn)有投資總金額;Si , i0,1, n :欲購買的第 i 種資產(chǎn)種類(

32、其中 i0表示存入銀行):xi , i0,1, n :公司購買 Si 的金額;ri , i0,1,n :公司購買 Si 的平均收益率;qi , i0,1, n :公司購買 Si 的平均損失率;pi , i0,1, n :公司購買 Si 超過 ui 時所付交易費率。下面來建立模型。設(shè)購買Si 的金額為 xi ,所付的交易費 ci ( xi ) ,則0xi0ci ( xi )pi ui0xiui (i1,2, , n)pi xixiuic0 ( x0 ) 0由于投資額 M 相當(dāng)大,所以總可以假定對每個Si 的投資 xiui 。這時上面的大括號公式可簡化為:ci(xi )pi xi (i1,2, n

33、)對 Si 投資的凈收益為: Ri (xi)ri xici ( xi) ripi xi對 Si 的風(fēng)險為: Qi( xi )qi xi對 Si 投資所需資金為投資金額xi 與所需的手續(xù)費 ci ( xi ) 之和,即:f i ( xi )xici (xi )1 pixi當(dāng)購買 Si 的金額為 xi (i0,1,2, n) ,投資組合 x ( x0 , x1 , xn ) 的凈收益總額為:nR(x)Ri ( xi )i0整體風(fēng)險為: Q(x)maxQi (xi )max qi ( xi )1i n1 inn資金約束為:fi(xi )Mi0根據(jù)題目要求,以凈收益總額R( x) 最大,而整體風(fēng)險Q(

34、x) 最小為目標(biāo)建立模型如下:nminripiximax qi xii0ns.t.1pixiMi0xi0, i1,2, n很顯然,這是一個多目標(biāo)規(guī)劃問題。()投資問題的求解在此我們采用主要目標(biāo)法對該問題進(jìn)行求解,即根據(jù)問題的實際情況,確定一個目標(biāo)為主要目標(biāo),而把其余目標(biāo)作為次要目標(biāo),并且根據(jù)經(jīng)驗,選取一定的界限值。這樣就可以把次要目標(biāo)作為約束來處理,于是就將原來的多目標(biāo)問題轉(zhuǎn)化為一個在新的約束下的單目標(biāo)最優(yōu)化問題。在上述例子中如果以收益為主要目標(biāo),則可以固定風(fēng)險水平,給定風(fēng)險一個界限 a ,講問題轉(zhuǎn)化稱為求最大風(fēng)險不超過 a 時的最大收益,即下面的線性規(guī)劃模型:nmaxripixii0s.t.qixiMai1,2, , nni 01pi xiMxi0,i1,2, n( 1)若投資者希望總盈利至少達(dá)到水平 K 以上,則可以在風(fēng)險最小的情況下尋找相應(yīng)的投資組合,從而將原模型轉(zhuǎn)化成為下列的線性規(guī)劃模型進(jìn)行求解:minxmax qiixins.t.ripixiKi0n1pixiMi0xi0, i1,2, n( 2)根據(jù)上面的

溫馨提示

  • 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

提交評論