課程推薦:6 線性規(guī)劃模型基本原理與編程實現(xiàn)_嗶哩嗶哩_bilibili
目錄
一、線性規(guī)劃的實例與定義
1.1 線性規(guī)劃的實例
1.2 線性規(guī)劃的定義
1.3 最優(yōu)解
1.4 線性規(guī)劃的Mathlab標準形式
1.5 使用linprog函數(shù)
二、線性規(guī)劃模型建模實戰(zhàn)與代碼
2.1 問題提出
2.2 基本假設(shè)
2.3 模型的分析與建立?
2.3.1 模型分析
2.3.2 建立模型
2.3.3 多目標線性規(guī)劃模型轉(zhuǎn)化為單目標線性規(guī)劃模型——制定界限
2.3.4 求解
在人們的生產(chǎn)實踐中,經(jīng)常會遇到如何利用現(xiàn)有資源來安排生產(chǎn),以取得最大經(jīng)濟效益的問題。此類問題構(gòu)成了運籌學(xué)的一個重要分支:數(shù)學(xué)規(guī)劃。而線性規(guī)劃(Linear Programming 簡記LP)則是數(shù)學(xué)規(guī)劃的一個重要分支。
一、線性規(guī)劃的實例與定義
1.1 線性規(guī)劃的實例
例:某機床廠生產(chǎn)甲、乙兩種機床,每臺銷售后的利潤分別為4千元與3千元。生產(chǎn)甲機床需用A、B機器加工,加工時間分別為每臺 2小時和1小時;生產(chǎn)乙機床需用A、B、C三種機器加工,加工時間為每臺各一小時。若每天可用于加工的機器時數(shù)分別為A機器10小時、B機器8小時和C機器7小時,問該廠應(yīng)生產(chǎn)甲、乙機床各幾臺,才能使總利潤最大?
上述問題的數(shù)學(xué)模型:設(shè)該廠生產(chǎn)x1臺甲機床和x2乙機床時總利潤z最大,則x1,x2應(yīng)滿足:
以上便是一個線性規(guī)劃問題的數(shù)學(xué)模型,其中變量x1,x2稱之為決策變量,(1.1)式被稱為問題的目標函數(shù),(1.2)中的幾個不等式是問題的約束條件,記為s.t.(即subject to)。
1.2 線性規(guī)劃的定義
目標函數(shù)及約束條件均為線性函數(shù),故被稱為線性規(guī)劃問題。線性規(guī)劃問題是在一組線性約束條件的限制下,求一線性目標函數(shù)最大或最小的問題。
1.3 最優(yōu)解
滿足約束條件的解x=[x,,L ,xI',稱為線性規(guī)劃問題的可行解,而使目標函數(shù)達到最大值的可行解叫最優(yōu)解。
1.4 線性規(guī)劃的Mathlab標準形式
線性規(guī)劃的目標函數(shù)可以是求最大值,也可以是求最小值,約束條件的不等號可以是小于號也可以是大于號。為了避免這種形式多樣性帶來的不便,Matlab中規(guī)定線性規(guī)劃的標準形式:
其中c和x為n維列向量,A、Aeq為適當(dāng)維數(shù)的矩陣,b、beq為適當(dāng)維數(shù)的列向量。
Matlab中求解線性規(guī)劃的命令為:
Matlab中的linprog函數(shù)是一個線性規(guī)劃求解器,可以用于求解線性規(guī)劃問題。使用條件:滿足Mathlab線性規(guī)劃標準形式。
[x,fval] = linprog(c,A,b)
[x,fval] = linprog(c,A,b,Aeq,beq)
[x,fval] = linprog(c,A,b,Aeq,beq,lb,ub)
其中,x返回的是決策向量的取值,fval返回的是目標函數(shù)的最優(yōu)值,c為價值向量,A,b對應(yīng)的是線性不等式約束,Aeq,beq對應(yīng)的是線性等式約束,lb和ub分別對應(yīng)的是決策向量的下界向量和上界向量。
1.5 使用linprog函數(shù)
求解的Matlab程序如下:
f=[-2;-3;5];
a=[-2,5,-1;1,3,1]; b=[-10;12];
aeq=[1,1,1];
beq=7;
[x,y]=linprog(f,a,b,aeq,beq,zeros(3,1));
x, y=-y
1. 目標函數(shù)中求max時,將目標函數(shù)的系數(shù)全部取反,即可看作求min,代入linprog函數(shù),求得目標函數(shù)的最優(yōu)值再取反回來,便得到了求max時目標函數(shù)的最優(yōu)值(y)。這時,決策向量(x)的取值正對應(yīng)著求max時目標函數(shù)的最優(yōu)值,所以不變。
2. 約束條件中的不等號為大于號時,系數(shù)全部取反,代入linprog函數(shù)即可。
二、線性規(guī)劃模型建模實戰(zhàn)與代碼
2.1 問題提出
??????? 市場上有n種資產(chǎn) (i= 1,2,L ,n)可以選擇,現(xiàn)用數(shù)額為M的相當(dāng)大的資金作一個時期的投資。這n種資產(chǎn)在這一時期內(nèi)購買 的平均收益率為,風(fēng)險損失率為,投資越分散,總的風(fēng)險越少,總體風(fēng)險可用投資的中最大的一個風(fēng)險來度量。
????????購買 時要付交易費,費率為,當(dāng)購買額不超過給定值時,交易費按購買計算。另外,假定同期銀行存款利率是,既無交易費又無風(fēng)險(= 5%)。
????????已知n=4時相關(guān)數(shù)據(jù)如表1.1。
????????試給該公司設(shè)計一種投資組合方案,即用給定資金M,有選擇地購買若干種資產(chǎn)或存銀行生息,使凈收益盡可能大,使總體風(fēng)險盡可能小。
2.2 基本假設(shè)
- (1)投資數(shù)額M相當(dāng)大,為了便于計算,假設(shè)M=1。
- (2)投資越分散,總的風(fēng)險越小。
- (3)總體風(fēng)險用投資項目中最大的一個風(fēng)險來度量。
- (4)n+1 種 資產(chǎn)之間是相互獨立的。其中s0表示存入銀行的資產(chǎn)。
- (5)在投資的這一時期內(nèi),,,為定值,不受意外因素影響。
- (6)凈收益和總體風(fēng)險只受,,影響,不受其它因素干擾。
2.3 模型的分析與建立?
2.3.1 模型分析
- 1. 首先,我們要明確兩個目標,即收益最大和風(fēng)險最小,因此這是一個多目標規(guī)劃模型。
- 2. 總體風(fēng)險用所投資的 中最大的一個風(fēng)險來衡量,即
????????????????????????????????????????????????????????
- 3. 購買 (i= 1,L ,n) 所付交易費是一個分段函數(shù),即
而所給的定值 (單位:元)相對總投資M很小,更小可以忽略不計,這樣購買 的凈收益可以簡化為。
2.3.2 建立模型
其中, 表示投資項目 的資金,i= 0,1,…,n;x0表示存入銀行的資產(chǎn)。約束條件表示總資金投入必須等于M,投資項目 的資金必須大于等于0。
2.3.3 多目標線性規(guī)劃模型轉(zhuǎn)化為單目標線性規(guī)劃模型——制定界限
方案一:固定風(fēng)險水平,優(yōu)化收益
在實際投資中,投資者承受風(fēng)險的程度不一樣, 若給定風(fēng)險一個界限a,使最大的一個風(fēng)險,可找到相應(yīng)的投資方案。這樣把多目標規(guī)劃變成一個目標的線性規(guī)劃。
方案二:固定盈利水平,極小化最大風(fēng)險
給定收益一個界限k。
方案三:設(shè)置投資偏好系數(shù)
投資者在權(quán)衡資產(chǎn)風(fēng)險和預(yù)期收益兩方面時,希望選擇一個令自己滿意的投資組合。因此對風(fēng)險、收益分別賦予權(quán)重s (0<s≤1)和1-s,s稱為投資偏好系數(shù)。
2.3.4 求解
模型一:
由于a是任意給定的風(fēng)險度,沒有一個確定的準則,不同的投資者有不同的風(fēng)險度。我們從a= 0開始,以步長 = 0.001進行循環(huán)搜索,編制程序如下:
clc,clear
a=0;hold on
while a<0.05
c=[-0.05,-0.27,-0.19,-0.185,-0.185];
A=[zeros(4,1 ),diag([0.025,0.015,0.055,0.026])];
b=a*ones(4,1);
Aeq=[1,1.01,1.02,1.045,1.065];
beq=1; LB= zeros(5,1);
[x,Q]=linprog(C,A,b,Aeq,beq,LB);
Q=-Q; plot(a,Q,'*k');
a=a+0.001;
end
xlabel('a'),ylabel('Q')
文章來源:http://www.zghlxwxcb.cn/news/detail-650496.html
可以看出,在a=0.006附近有一個轉(zhuǎn)折點,在這一點左邊,風(fēng)險增加很少時,利潤增長很快。在這一點右邊,風(fēng)險增加很大時,利潤增長很緩慢,所以對于風(fēng)險和收益沒有特殊偏好的投資者來說,應(yīng)該選擇曲線的轉(zhuǎn)折點作為最優(yōu)投資組合,所對應(yīng)投資方案為風(fēng)險度a= 0.006,收益Q=0.2019,x0=0,x1= 0.24,x1= 0.4,x3= 0.1091,x4= 0.2212。文章來源地址http://www.zghlxwxcb.cn/news/detail-650496.html
到了這里,關(guān)于數(shù)學(xué)建模(二)線性規(guī)劃的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!