河工大2020年数学建模复赛题目

投资方案最优化的数学模型
摘要:
本文解决的是在未来13年内最优化的投资方案问题,通过对于提供的数据分析,我们建立了三个最优化模型,定量描述了不同约束条件下的投资方案最优方法。
对于问题一,在考虑收益率以及缴纳税率,以最后获得收益的最大值作为目标函数,以最初的投资下限以及产品的风险等级投资到期年限作为约束条件,建立了单目标最优化模型。然后利用lingo编程得出机构在2033年末可以获得利润1914.286万美元。
对于问题二,相对于问题一增加了重复投资,在考虑收益率以及缴纳税率,以2033年获得收益的最大值作为目标函数,以最初的投资下限以及产品的风险等级投资到期年限作为约束条件,包括对于可重复投资年限的考虑,建立单目标最优化模型。然后利用lingo编程求出该机构在2033年可获得的最大利润是4318.194万美元。
对于问题三,相对于问题二从2021年开始进行捐助,可重复投资,在考虑收益率以及缴纳税率,以每年获得收益的最大值作为目标函数,以最初的投资下限以及产品的风险等级投资到期年限作为约束条件,包括对于可重复投资次数的考虑,建立单目标最优化模型。然后利用lingo编程求出该机构在每年可捐助的最大金额是236.615万美元。
关键词:线性规划、投资决策、最优化问题

1.问题重述
1.1问题背景
2020 年,新冠肺炎全球蔓延,严重影响了世界福祉。为刺激经济发展,M 国计划发行各类代号为“拯救地球”的国家紧急债券(SEB)。债券到期年限有 2、 3、4、5、9、11 年等六种,债券每年初发行,发行时间为 2021-2032年。债券每年末兑现,兑现有效截止时间为 2033 年。债券服务范围涵盖医药健康、交通运输、装备制造、国民福利四大领域。债券到期后,允许债 券购买者所在的地方政府收取税率不等的税收。
未来教育基金会(以下称 FFE)计划在 2033 年前(含 2033 年)向 M 国部分高等院校捐助一笔经费以帮助贫困学生。为了增加捐助金额,FFE 将现有的 8000 万美元资金进行债券投资。为谨慎起见,FFE 委托风险机构对各类债券进行了风险等级评估。同时,FFE 还制定了投资要求:①医药健康债券购买金额不得少于债券购买总金额的20%,其余每个行业的债券购买总金额不得少于债券购买总金额的 10%;②所购债券的平均风险等级不得低于 2.5,等级数字越大,风险越低;③要求所购买的债券的平均到期年限不超过6 年;④要求捐助活动结 束后 FFE 继续保留 8000 万美元资金。
1.2需要解决的问题

  1. 若 SEB 债券投资只允许在第一年初进行,那这些投资将分别在第 2、3、4、5、9、11 年收回本金和收益。请问,这8000 万美元资金如何分配,使得 8 个产品的总收益达到最大。
  2. 假定可以进行重复投资,即当债券到期后,只要在 2033 年前(包含 2033 年)能够回收本金和收益就可以进行再次投资。请你帮助 FFE 拟定一个 2021-2032 年的投资债券详细方案,使得2033年末的一次性捐款金额达到最大。
  3. FFE 改变捐助方式,计划从2021 开始,在未来13年内每年年初向 M 国部分高等院校捐助一笔每年金额固定的经费。允许重复投资。请你再次帮助 FFE 拟定一个 2021-2033 年的投资债券详细方案,使得每年捐助的金额达到最大。
    2.问题分析
    对于问题一,只在2021年初进行投资,到2033年获得收益,所有投资到期之后即回收不再进行重复的投资。所以收益应该等于投资额乘收益率减去缴纳税收作为目标函数,结合风险等级以及到期年限投资下限进行约束条件,构成简单的线性规划,求解最大值,进行线性规划的求解。
    对于问题二,各个投资周期不同就可以重复投资,投资周期是2、9、3、11、4、9、2、5,那么项目1和项目7在年初投资到第二年年末可以回收本利,项目2项目6在年初投资在第九年年末才可以回收本利,项目3年初投资第三年年末才可以回收本利,项目4年初投资,第11年年末才可以回收本利,项目5在第四年年末回收本利,项目8在第5年年末才可以回收本利,作为约束条件,以第13年年末所得最大收益为目标函数,建立一个单目标线性最优规划模型。
    对于问题三,在问题2的基础上,对于资金最开始的分配有一部分投入到捐助中,第一年年初捐助进行投资之后仍然有资金剩余支持第二年的资金捐助,之后进行投资,都要保证每年都有捐助并且每年的捐助金额达到最大。本题中,以每年的最大收益作为目标函数,结合问题一二的约束条件以及包括捐助之后仍然持有8000万元美金等作为约束条件进行建模分析,仍然建立单一目标线性规划模型。
    3.基本假设
    ①假设投资期间收益率以及税率稳定不变。
    ②假设投资期间风险等级基本稳定不变。
    ③假设产品投资时不考虑相互影响。
    4.符号说明
    符号 符号说明
    ∑ 求和
    i 投资项目 i=1,2,3,4,5,6,7,8
    j 投资时间 j=1,2,3,4,5,6,7,8,9,10,11,12,13
    x_i 项目i投资额占总投资额比例
    x_ij 项目i在第j年投资额所占的总投资额的比例
    p_i 项目i的收益率
    q_i 项目i的税收率
    W_j 第j年年末到期时获得本利的总金额
    Z 总收益
    Z_j 全部项目第j年末获得的总收益
    Z_ij 项目i在第j年末获得收益
    M_j 第j年年初可用于投资和捐助的总金额
    T_0 最初投资本金
    T_j 第j年年初对所有项目投资的总金额
    d 每年年初捐助的固定金额
    a_i 项目i的投资风险等级
    b_i 项目i的投资到期年限
    5.模型建立与求解
    5.1问题一的模型建立与求解
    5.1.1确定目标函数
    该模型是为了解决机构在13年末的投资取得最大收益的问题。为解决此问题,我们将第13年的最大收益作为目标函数(单位:万元)。
    max Z=x_ip_i(1-q_i )T_0 i=1,2,3,4,5,6,7,8
    5.1.2确定约束条件
    (1)对于这8个产品,在第一年年初全部投资,结合风险等级不小于2.5,
    ∑▒〖x_i
    a_i 〗≥2.5 i=1,2,3,4,5,6,7,8
    (2)对于八个产品,投资到期年限小于等于6年。
    ∑▒〖x_i*b_i≤6〗 i=1,2,3,4,5,6,7,8
    (3)对于八个产品,投资医药健康债券购买金额不得少于债券购买总金额的20%,其余每个行业的债券购买总金额不得少于债券购买总金额的 10%.
    x_1+x_2≥0.2
    x_3+x_4≥0.1
    x_5+x_6≥0.1
    x_7+x_8≥0.1

(4)每个项目的投资额大于等于0,和为1
x_i≥0 i=1,2,3,4,5,6,7,8
∑▒x_i =1 i=1,2,3,4,5,6,7,8
综上所述,得到问题一的单目标最优化模型:
min Z=-x_ip_i(1-q_i )T_0 i=1,2,3,4,5,6,7,8
T_0=8000
-∑x_i
a_i≤2.5 i=1,2,3,4,5,6,7,8
∑▒〖x_i*b_i≤6〗 i=1,2,3,4,5,6,7,8
-(x_1+x_2 )≤-0.2
s.t. -(x_3+x_4)≤-0.1
-(x_5+x_6)≤-0.1
-(x_7+x_8)≤-0.1
x_i≥0 i=1,2,3,4,5,6,7,8
∑▒x_i =1 i=1,2,3,4,5,6,7,8
模型的求解:
编写相关lingo编程(代码在附录一)进行线性规划问题的求解,求出了分配方案:最大总收益是 1914.3万美元
表一:获得最大收益项目资金分配表
产品 x_1 x_2 x_3 x_4 x_5 x_6 x_7 x_8
投资份额(占比) 0.1714 0.5286 0.1000 0 0.1000 0 0.1000 0

5.2问题二的模型建立与求解
5.2.1确定目标函数
该模型是为了解决如何安排投资和在第13年年末获得最大收益的问题。为解决此问题,我们将第13年年末所得收益最大值作为目标函数。该机构第一年可以对所有项目进行投资,所以第一年8000万美金全部用于投资,到第二年年末有项目回收本利之后再利用该资金对一部分项目再次投资,所以建立了如下:
max M_13-T_0
M_j=M_(j-1)-T_(j-1)+Z_(j-1) ;j年年初的可用=上一年剩余-上一年用于投资+ j-1年收益
j-1年的收益: Z_(j-1)=∑▒〖T_j 〖×x〗i×p_i×〖(1-q〗i 〗)&&j-1≥a_i i=1,2,3,4…8
5.2.2确定约束条件
(1)对于这8个产品,在第一年年初全部投资,结合风险等级不小于2.5,
∑▒〖x_ia_i 〗≥2.5 i=1,2,3,4,5,6,7,8
(2)对于八个产品,投资到期年限小于等于6年。
∑▒〖x_i
b_i≤6〗 i=1,2,3,4,5,6,7,8
(3)对于八个产品,投资医药健康债券购买金额不得少于债券购买总金额的20%,其余每个行业的债券购买总金额不得少于债券购买总金额的 10%
x_1+x_2≥0.2
x_3+x_4≥0.1
x_5+x_6≥0.1
x_7+x_8≥0.1
(4)每个项目的投资额大于等于0,和为1
x_i≥0 i=1,2,3,4,5,6,7,8
∑▒x_i =1 i=1,2,3,4,5,6,7,8
综上建立如下模型:
min⁡〖 -Z_13 〗
M_0=T_0=8000
M_j=M(j-1)-T(j-1)+Z_(j-1) j=1,2,3,4,5,6,7,8,9,10,11,12,13
Z_(j-1)=∑▒〖T_j×x_i×p_i 〗×(1-q_i )&&a_i≤j-1
i是在j-1年到期的项目
-∑x_ia_i≤2.5 i=1,2,3,4,5,6,7,8
∑▒〖x_i
b_i≤6〗 i=1,2,3,4,5,6,7,8
-(x_1+x_2 )≤-0.2
-(x_3+x_4 )≤-0.1
-(x_5+x_6 )≤-0.1
-(x_7+x_8 )≤-0.1
x_i≥0 i=1,2,3,4,5,6,7,8
∑▒x_i =1 i=1,2,3,4,5,6,7,8
模型的求解,通过上述建立模型与lingo编程(附录一)求解如下:
最大的捐助金额:4318.194万美元
表二:获得2033年最大捐助金额分配表(单位:万美元)
产品
年份 x_1 x_2 x_3 x_4 x_5 x_6 x_7 x_8
1 0 2829 0 0 5171 0 0 0
2 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0
5 0 5755 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0
10 0 0 0 0 1172 0 919 0
11 0 0 1866 0 0 0 0 0
12 1 0 0 0 0 0 947 0
13 0 0 0 0 0 0 0 0

5.3问题三的模型建立与求解
5.3.1确定目标函数
每年年初捐助一笔固定的资金,所以确定目标函数是每年年初捐助的资金的最大值
max d
M_j=M_(j-1)-T_(j-1)-d+Z_(j-1);j年年初的可用=上一年剩余-上一年用于投资-捐助+j-1年收益
j-1年的收益: Z_(j-1)=∑▒〖T_j 〖×x〗i×p_i×〖(1-q〗i 〗)&&j-1≥a_i i=1,2,3,4…8
5.3.2确定约束条件
(1)对于这8个产品,在第一年年初全部投资,结合风险等级不小于2.5,
∑▒〖x_ia_i 〗≥2.5 i=1,2,3,4,5,6,7,8
(2)对于八个产品,投资到期年限小于等于6年。
∑▒〖x_i
b_i≤6〗 i=1,2,3,4,5,6,7,8
(3)对于八个产品,投资医药健康债券购买金额不得少于债券购买总金额的20%,其余每个行业的债券购买总金额不得少于债券购买总金额的 10%
x_1+x_2≥0.2
x_3+x_4≥0.1
x_5+x_6≥0.1
x_7+x_8≥0.1
(4)每个项目的投资额大于等于0,和为1
x_i≥0 i=1,2,3,4,5,6,7,8
(5)最终捐助之后资金应该持有8000万美元
M_13-d+Z_13≥T_00
综上建立数学模型:
min⁡〖 -d〗
M_0=T_0=8000
M_j=M(j-1)-T(j-1)-d+Z_(j-1) j=2,3,4,5,6,7,8,9,10,11,12,13
Z_(j-1)=∑▒〖T_j×x_i×p_i 〗×(1-q_i )&&a_i≤j-1
i是在j-1年到期的项目
-∑x_ia_i≤2.5 i=1,2,3,4,5,6,7,8
∑▒〖x_i
b_i≤6〗 i=1,2,3,4,5,6,7,8
-(x_1+x_2 )≤-0.2
-(x_3+x_4 )≤-0.1
-(x_5+x_6 )≤-0.1
-(x_7+x_8 )≤-0.1
x_i≥0 i=1,2,3,4,5,6,7,8
∑▒x_i =1 i=1,2,3,4,5,6,7,8
M_13-d+Z_13≥T_0
模型的求解,通过上述建立模型与lingo编程(附录一)求解如下:
最大利润是236.615万美元
各个项目投资总额是:
表三:获得每年最大捐助金额的资金分配(单位:万美元)
产品 x_1 x_2 x_3 x_4 x_5 x_6 x_7 x_8
年份
1 0 599 5486 0 794 0 240 407
2 0 0 0 0 0 0 0 0
3 0 0 0 0 6 0 0 5
4 0 5599 0 0 0 2 0 0
5 0 0 0 0 424 0 223 0
6 0 0 0 0 0 0 224 0
7 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0
9 0 0 0 0 235 0 0 0
10 0 0 3 0 0 0 230 0
11 0 0 0 0 0 0 132 0
12 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0

6.模型的评价与推广
6.1模型的优点
模型简单,求解简单,主要运用线性规划。
建立模型最优化问题,可以化为最优子结构,同时建立的模型在一定程度上可将债券组合投资的问题更好的解决,获得更大的利益。
6.2模型的缺点
由于在代码中为了简便运算我们仅仅用的整数,导致精确度不够。
模型是在一定的理想条件下建立起来的,具有自身的局限性。比如,关于国库券的发行,每年大致月份可能相同,但在具体哪个月哪一天则具有很大随机性;同时,能购买到国库券或者购买到的数量是按理想情况来考虑的,可能与实际不相符,误差较大
6.3模型的推广
可以在此基础上,增加其他的限定条件,比如可以表明在第未来某几年中可以重复投资,以后就不能继续投资。或者可以控制这四类债券的投资的比例,使得投资向哪几个方面倾斜。

7.参考文献:
[1]赵伟.谈最优化方法在数学建模中的应用[J].数学学习与研究,2020(02):16.
[2]义欣.基于Matlab和Lingo的线性规划问题求解过程对比分析[J].科技视界,2019(17):94-96.
[3]王爱玲.概率统计数学模型在投资决策中的应用[J].科技信息,2012(09):153-154.
https://www.docin.com/p-1911324295.html数学建模-投资决策
https://blog.csdn.net/weixin_44587573/article/details/106959859 csdn博客lingo

8.附录一
lingo代码:
问题一:
model:
max=(4.45x1+39.89x2+6.4x3+41.016x4+11.295x5+35.982x6+3.115x7+13.139x8)80;
x1+x2+x3+x4+x5+x6+x7+x8=1;
x1+x2>=0.2;
x3+x4>=0.1;
x5+x6>=0.1;
x7+x8>=0.1;
x1>=0;
x2>=0;
x3>=0;
x4>=0;
x5>=0;
x6>=0;
x7>=0;
x8>=0;
5
x1+5x2+2x3+2x4+3x5+3x6+1x7+1x8>=2.5;
2
x1+9x2+3x3+11x4+4x5+9x6+2x7+5*x8<=6;
End

问题二:
Model:
sets:
i1/1…13/:M,shengyu;
i2/1…8/:b,a,shouyilv,shuilv,x;
i3(i1,i2):y,shouyi;
endsets

data:
b= 5 5 2 2 3 3 1 1;
a=2 9 3 11 4 9 2 5;
shouyilv=4.45 39.89 8.0 51.27 12.55 39.89 4.45 18.77;
shuilv=0 0 0.20 0.20 0.10 0.10 0.30 0.30;
enddata

max=M(13)+@sum(i2(j):shouyi(14-a(j),j))-M(1);
@for(i3(i,j):@gin(y(i,j)));
@for(i3(i,j)|i#gt#14-a(j)#and#i#lt#14:y(i,j)=0);
@for( i2(j):x(j)=@sum(i1(i):y(i,j)) );
@for(i3(i,j):shouyi(i,j)=y(i,j)(1+shouyilv(j)/100(1-shuilv(j))) );

M(1)=8000;
@for(i1(i):M(i)=@sum(i2(j):y(i,j))+ shengyu(i)) ;
@for(i1(i)|i#gt#1:M(i)=@sum(i3(ii,ij)|ii#eq#i-a(ij)#and#ii#gt#0:shouyi(ii,ij)) + shengyu(i-1) );!参考的是博客中关于到期与不到期投资的处理;

T=@sum(i2(j):x(j));
x(1)+x(2)>=T0.2;
x(4)+x(3)>=T
0.1;
x(5)+x(6)>=T0.1;
x(7)+x(8)>=T
0.1;
x(1)>=0;
x(2)>=0;
x(3)>=0;
x(4)>=0;
x(5)>=0;
x(6)>=0;
x(7)>=0;
x(8)>=0;
@sum(i2(i):x(i)b(i))>=T2.5;
@sum(i2(i):x(i)a(i))<=T6;
M(13)+@sum(i2(j):shouyi(14-a(j),j))>8000;

end

问题三:
model:
sets: !设置相关变量;
i1/1…13/:M,shengyu;
!M,每年年初没有捐款和投资时的资金;shengyu,每年年初剩余的没有投资的资金;
i2/1…8/:b,a,shouyilv,shuilv,x;
i3(i1,i2):y,shouyi;
endsets

data: !给变量赋值;
b=5 5 2 2 3 3 1 1;
a=2 9 3 11 4 9 2 5;
shouyilv=4.45 39.89 8 51.27 12.55 39.89 4.45 18.77;
shuilv=0 0 0.20 0.20 0.10 0.10 0.30 0.30;
enddata

max=d;!设置d为每年捐赠的资金;

@for(i3(i,j):@gin(y(i,j)));
@for(i3(i,j)|i#gt#13-a(j)#and#i#lt#14:y(i,j)=0);
@for( i2(j):x(j)=@sum(i1(i):y(i,j)) );

@for(i3(i,j):shouyi(i,j)=y(i,j)(1+shouyilv(j)/100(1-shuilv(j))) );
M(1)=8000;
@for(i1(i):M(i)=@sum(i2(j):y(i,j))+ shengyu(i)+d) ;
@for(i1(i)|i#gt#1:M(i)=@sum(i3(ii,ij)|ii#eq#i-a(ij)#and#ii#gt#0:shouyi(ii,ij)) + shengyu(i-1) );!这里是借鉴csdn博客,主要是为了防止到期之前将未到期的放进M(i)中继续投资;
T=@sum(i2(j):x(j));
x(1)+x(2)>=T0.2;
x(4)+x(3)>=T
0.1;
x(7)+x(8)>=T0.1;
x(5)+x(6)>=T
0.1;
x(1)>=0;
x(2)>=0;
x(3)>=0;
x(4)>=0;
x(5)>=0;
x(6)>=0;
x(7)>=0;
x(8)>=0;
@sum(i2(i):x(i)b(i))>=T2.5;
@sum(i2(i):x(i)a(i))<=T6;
M(13)-d+@sum(i2(j):shouyi(14-a(j),j))>8000;
end

有关于投资最优化的模型求解相关推荐

  1. 深度学习方法:受限玻尔兹曼机RBM(三)模型求解,Gibbs sampling

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 接下来重点讲一下RBM模型求解 ...

  2. SPSS Modeler基础操作与模型求解

    SPSS Modeler简介 IBM SPSS Modeler前身是英国ISL公司开发的一款数据挖掘工具产品,1998年被SPSS公司收购,并重新整合开发. 由于SPSS Modeler拥有丰富的数据 ...

  3. 地震波作用下单自由度体系的 Bouc-Wen-Baber-Noori滞回模型求解

    1 前言 相信有不少小伙伴刚接触Bouc-Wen模型的时候跟笔者一样,一头雾水.虽然网上提供了较多的经典Bouc-Wen滞回模型算法,但大部分仅提供简要的程序,但并未详细介绍Bouc-Wen滞回模型的 ...

  4. 数学建模中的lp造船模型求解

    *** 1. 数学建模中的lp如何造船使费用最小模型求解以及LINGO的初始用法 先看问题: 例 SAILCO公司需要决定下四个季度的帆船生产量.下四个季度的帆船需求量分别是40条,60条,75条,2 ...

  5. 数学建模专栏 | 第五篇:MATLAB优化模型求解方法(上):标准模型

    最优化赛题是数学建模大赛中最常见的问题类型之一.一般说来,凡是寻求最大.最小.最远.最近.最经济.最丰富.最高效.最耗时的目标,都可以划入优化问题的范畴.MATLAB 优化工具箱和全局优化工具箱对多个 ...

  6. 最优化导论(part1)--求解原问题的对偶问题

    学习笔记,仅供参考,有错必纠 文章目录 最优化导论 原问题与对偶问题 对称形式的对偶 非对称形式的对偶 例题 最优化导论 原问题与对偶问题 每个线性规划问题都有一个与之对应的对偶问题,对偶问题是以原问 ...

  7. 光轴会聚模型求解世界坐标点流程与公式理解

    光轴会聚模型下,由左右像片像素坐标值,求解世界坐标点流程: 左.右两摄像机共线方程的矩阵形式: 上面公式的逆推导流程,首先将有关u1,v1,u2,v2的项移到等式的左边,再将无关u1,v1,u2,v2 ...

  8. 用决策树模型求解回归问题(regression tree)

    How do decision trees for regression work? 决策树模型既可以求解分类问题(对应的就是 classification tree),也即对应的目标值是类别型数据, ...

  9. 含隐变量模型求解——EM算法

    1 EM算法的引入 1.1 EM算法 1.2 EM算法的导出 2 EM算法的收敛性 3EM算法在高斯混合模型的应用 3.1 高斯混合模型Gaussian misture model 3.2 GMM中参 ...

最新文章

  1. linux cp无法创建一般文件夹,cp: 无法创建普通文件 : 文件已存在
  2. 委托(一个主窗体统计多个从窗体的按钮单击的次数)
  3. ckplayer php,ckplayer 网页视频播放插件
  4. Android使用百度地图定位
  5. 16 大常考算法知识点,你掌握了吗?
  6. 【CKEditor】下载历史版本4.8.x
  7. 【Qt】QBoxLayout类详解
  8. 关于 Blazor Server Side 的一些杂项, 感想
  9. 微软把UWP定位成业务线应用程序开发平台
  10. idea连接sqlserver及数据库操作
  11. 如何查看windows xp系统的位数?
  12. java+web提交sumbit,jsp怎么让submit不提交
  13. @query传参_前端框架vue中query和params传参
  14. 万网域名转向指定URL地址
  15. Qt 解决窗口在多个显示器上显示位置设置问题
  16. Python--基础语法知识
  17. 根键hkey_classes_root的作用
  18. DFS分布式文件存储系统
  19. 教你自动识别快递公司,过滤重复单号,查询物流信息
  20. 数据挖掘中的数据预处理方法总结

热门文章

  1. STM32单片机裸机程序-高级实现实时性处理方法
  2. 2013互联网公司找工作--大牛总结(ZJU)
  3. 【视频学习】VALSE短教程《因果发现与因果性学习》 蔡瑞初教授
  4. 【Microsoft Office】无法在所选的更新通道上安装此产品
  5. mysql数据库被勒索删库怎么办
  6. vue的mounted和created方法的执行
  7. 百度智能云开物凭什么在“双跨”新增名单中排名榜首?
  8. 使用CreateJS制作动画
  9. Epub 阅读器 - iOS
  10. 区块链会计案例_会计中区块链的特征 区块链会计应用案例