數(shù)學(xué)模型第一次討論作業(yè)
問題:
某部門現(xiàn)有資金10萬元,五年內(nèi)有以下投資
項(xiàng)目供選擇:
項(xiàng)目A:從第一年到第四年每年初投資,次年末收回本金且獲利15%;
項(xiàng)目B:第三年初投資,第五年末收回本金且獲利25%,最大投資額為4萬元;
項(xiàng)目C:第二年初投資,第五年末收回本金且獲利40%,最大投資額為3萬元;
項(xiàng)目D:每年初投資,年末收回本金且獲利6%;
問如何確定投資策略使第五年末本息總額最大?
問題分析:
用表示第i年對第j個(gè)項(xiàng)目的投資金額
要使第五年年末本息總額最大,應(yīng)當(dāng)在每年將所有可用資金都用于投資,以確保資金的充分利用,由于項(xiàng)目投資均發(fā)生在年初,故以下只討論年初的投資情況:
第一年:
第二年:手上資金(即第一年年末收回資金)為,全部用來對可投資項(xiàng)目投資,則有=
第三年:同理,有=
第四年:=
第五年:=
第五年年末本息和為(即第五年所能收回的所有資金)
建立模型:
=
=
=
=,求解模型:
Lingo解法:
可編寫lingo程序如下:
model:
max=1.06*x54+1.15*x41+1.25*x32+1.4*x23;!目標(biāo)函數(shù);
x11+x14=10;!以下約束條件表示每年資金全部用于投資;
1.06*x14=x21+x23+x24;
1.15*x11+1.06*x24=x31+x32+x34;
1.15*x21+1.06*x34=x41+x44;
1.15*x31+1.06*x44=x54;
x23<=3;!限制B,C項(xiàng)目的最大投資額;
x32<=4;
end
運(yùn)行結(jié)果如下:
Global
optimal
solution
found.Objective
value:
14.37500
Infeasibilities:
0.000000
Total
solver
iterations:
Variable
Value
Reduced
Cost
X54
0.000000
0.000000
X41
4.500000
0.000000
X32
4.000000
0.000000
X23
3.000000
0.000000
X11
7.169811
0.000000
X14
2.830189
0.000000
X21
0.000000
0.000000
X24
0.000000
0.3036000E-01
X31
0.000000
0.000000
X34
4.245283
0.000000
X44
0.000000
0.2640000E-01
Row
Slack
or
Surplus
Dual
Price
14.37500
1.000000
0.000000
1.401850
0.000000
-1.322500
0.000000
-1.219000
0.000000
-1.150000
0.000000
-1.060000
0.000000
0.7750000E-01
0.000000
0.3100000E-01
所得最優(yōu)值為14.375萬元,對應(yīng)的最優(yōu)解為:
x11=7.169811,x14=2.830189,x23=3,x32=4,x34=4.245283,x41=4.5,其余值為0
即第一年對A項(xiàng)目投資7.169811萬元,對D項(xiàng)目投資2.830189萬元;第二年對C項(xiàng)目投資3萬元;第三年對B項(xiàng)目投資4萬元,對D項(xiàng)目投資4.245283萬元;第四年對A項(xiàng)目投資4.5萬元。
Lindo解法:
可編寫lindo程序如下:
max
1.06x54+1.15x41+1.25x32+1.4x23
st
x11+x14=10
1.06x14-x21-x23-x24=0
1.15x11+1.06x24-x31-x32-x34=0
1.15x21+1.06x34-x41-x44=0
1.15x31+1.06x44-x54=0
x23<=3
x32<=4
輸出結(jié)果如下:
LP
OPTIMUM
FOUND
AT
STEP
OBJECTIVE
FUNCTION
VALUE
1)
14.37500
VARIABLE
VALUE
REDUCED
COST
X54
0.000000
0.000000
X41
4.500000
0.000000
X32
4.000000
0.000000
X23
3.000000
0.000000
X11
7.169811
0.000000
X14
2.830189
0.000000
X21
0.000000
0.000000
X24
0.000000
0.030360
X31
0.000000
0.000000
X34
4.245283
0.000000
X44
0.000000
0.026400
ROW
SLACK
OR
SURPLUS
DUAL
PRICES
2)
0.000000
1.401850
3)
0.000000
-1.322500
4)
0.000000
-1.219000
5)
0.000000
-1.150000
6)
0.000000
-1.060000
7)
0.000000
0.077500
8)
0.000000
0.031000
NO.ITERATIONS=
所得最優(yōu)值為14.375萬元,對應(yīng)的最優(yōu)解為:
x11=7.169811,x14=2.830189,x23=3,x32=4,x34=4.245283,x41=4.5,其余值為0
即第一年對A項(xiàng)目投資7.169811萬元,對D項(xiàng)目投資2.830189萬元;第二年對C項(xiàng)目投資3萬元;第三年對B項(xiàng)目投資4萬元,對D項(xiàng)目投資4.245283萬元;第四年對A項(xiàng)目投資4.5萬元。
Matlab解法:
Way1可編寫matlab程序如下:
f=[0
0
0
0
0
0
1.4
0
0
1.25
0
0
1.15
0
0
0
0
0
0
1.06];
Aeq=[1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0;
0
0
0
1.06
0
0
0
0
0
0
0
0
0
0
0
0
0;
1.15
0
0
0
0
0
0
1.06
0
0
0
0
0
0
0
0
0;
0
0
0
0
1.15
0
0
0
0
0
0
1.06
0
0
0
0
0
0;
0
0
0
0
0
0
0
0
1.15
0
0
0
0
0
0
1.06
0
0
0
-1];
beq=[10;0;0;0;0];
A=[0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0;
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0];
b=[3;4];
lb=zeros(20,1);
[x,fval]=linprog(-f,A,b,Aeq,beq,lb,[])
運(yùn)行結(jié)果如下:
Optimization
terminated.x
=
6.5508
0
0
3.4492
0.6561
0
3.0000
0.0000
2.0066
4.0000
0
1.5268
2.3730
0
0
0.0000
0
0
0
2.3076
fval
=
-14.3750
所得最優(yōu)值為14.375萬元,對應(yīng)的最優(yōu)解為:x11=6.5508,x14=3.4492,x21=0.6561,x23=3,x31=2.0066,x32=4,x34=1.5268,x41=2.3730,x54=2.3076,其余值為0。
Way2可編寫matlab程序如下:
f=[0?0?0?0?0?0-1.4?0?0-1.25?0?0-1.15?0?0?0?0?0?0-1.06];
A=[];
b=[];
Aeq=[1?0?0?1?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0;...0?0?0?1.06-1?0-1-1?0?0?0?0?0?0?0?0?0?0?0?0;...1.15?0?0?0?0?0?0?1.06-1-1?0-1?0?0?0?0?0?0?0?0;...0?0?0?0?1.15?0?0?0?0?0?0?1.06-1?0?0-1?0?0?0?0;...0?0?0?0?0?0?0?0?1.15?0?0?0?0?0?0?1.06?0?0?0-1];
beq=[10;0;0;0;0];
lb=[0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0];
ub=[inf?inf?inf?inf?inf?inf?3?inf?inf?4?inf?inf?inf?inf?inf?inf?inf?inf?inf?inf];
[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub)
運(yùn)行結(jié)果如下:
Optimization?terminated.x?=
6.5113
0
0
3.4887
0.6980
0
3.0000
0.0000
2.0003
4.0000
0
1.4877
2.3797
0
0
0.0000
0
0
0
2.3004
fval?=
-14.3750
所得最優(yōu)值為14.375萬元,對應(yīng)的最優(yōu)解為:x11=6.5113,x14=3.4887,x21=0.6980,x23=3,x31=2.0003,x32=4,x34=1.4877,x41=2.3797,x54=2.3004,其余值為0。
討論:利用matlab,lingo及l(fā)indo程序分別求解上述模型后,發(fā)現(xiàn)取到相同最優(yōu)值情況下,matlab的最優(yōu)解不同于lingo和lindo,該問題可能存在多個(gè)最優(yōu)解?
經(jīng)嘗試已排除變量設(shè)置數(shù)量差異,軟件版本差異及計(jì)算機(jī)系統(tǒng)差異的原因,可能是軟件求解原理或近似導(dǎo)致,或者該問題本身最優(yōu)解不唯一。