摘要:银行经理**投资计划安排是否合理,直接影响着银行及其客户所获得的收益。本文针对**投资问题问题建立了线性规划模型,制定了一套最优投资方案,使得投资获得最大效益,就投资总金额和各类**税前收益利率变化对收益的影响作了全面计划。
针对问题一,文中设定了5个决策变量,用来表示第a,b……d类**的投资金额,以获得最大收益为目标,满足题中所规定的约束条件,建立了线性规划模型,利用c语言编程实现单纯形法的求解,得,从而得到了满足条件的投资方案。
针对问题二,文中就投资总金额变化对收益的影响,利用影子**进行解释,从而确定了在借贷情况下引起的投资总额变化的最佳投资方案。
针对问题三,文中就各类**税前收益利率变化对收益的影响,采用直接修改目标函数相应参数,并通过软件很容易的检验出是否要根据各类**税前收益利率的变化而改变投资计划。
在模型的检验中,针对模型中引入的人工变量,确保了其从基变量中换出。
关键词:线性规划模型,单纯形法,大m法。
一.问题重述。
某银行经理计划用一笔资金进行有价**投资,可供购进的**以及其信用等级、到期年限、收益如下表所示。按照规定,市政**的收益可以免税,其他**的收益需按50%的税率纳税。此外还有以下限制:
1) **及其代办机构的**至少要购进400万元;
2) 所购**的平均信用等级不超过1.4;
3) 所购**的平均到期年限不超过5年。
1) 若该经理有1000万元资金,应如何投资?
2) 如果能够以2.75%的利率借到不超过100万元资金,该经理应如何操作?
3) 在1000万元资金情况下,若**a的税前收益增加为4.5%,投资应否改变?若**c的税前收益减少为4.8%,投资应否改变?
二.符号说明。
--**投资a,b,c,d,e的金额(单位:百万元)
--引入松弛变量,剩余标量,人工变量(单位:百万元)
--投资的总收益(单位:百万元)
三.分析问题。
银行经理要想获得最大收益,就需要制定一个合理的方案来进行不同**种类的投资,本文对此展开分析。这个优化问题的目标是使投资投资的总收益最大,要作的决策是投资计划,即对a,b,c,d,e中哪几类**进行投资,投资多少金额,决策受到4个条件的限制:资金总额、**及其代办机构的投资额度、**的平均信用等级、**的平均到期年限。
四.模型假设。
短时间内资金总额、各**的信用等级、到期年限、到期税前收益等不随时间变化。该银行经理对各个**的投资以获得最大收益为目的。
五.模型建立。
决策变量:对a,b,c,d,e类**的投资金额分别为。
目标函数:除市政收益可以免税外,其他几类**收益均为投资金额与税前收益的乘积,即:
约束条件:资金总额。
**及其代办机构的投资额度。
**的平均信用等级 :
整理得: **的平均到期年限:
整理得: 非负约束。
六.模型求解:
(1)易看出此问题的模型为典型的线性规划问题,选择单纯形法进行求解。
首先引入松弛变量,剩余标量,人工变量,将数学模型转化成标准形式:
构建初始单纯性表如下。
表(一)其中按照大m法,可取任意大常数,不妨令之为1000。
使用c语言编程实现单纯性算法,并使用表中数据对程序赋初值如下:
经程序运算后输出结果如下。
表(二)最优解:z=0.298,此时。
2)目标函数可以看作“效益”,成为紧约束的“资源”,“效益”必然增长,“效益”增量可以看作“资源”的潜在价值,即影子**。由于,资金每增加100万元,“效益“为0.0298百万元,而借贷利率为2.
75%,所以应借贷。
将所建模型的约束条件中资金总额所对应式子改为。
后,对模型再次求解,结果为。
z=0.3282
所以:税后收益为:z-0.0275=0.3007(百万元)
3)目标函数的系数发生变化,采用直接求解法;
若**a的税前收益增加为4.5%,其他因素不变:
目标函数变化为:
改变单纯性表中相应系数求解得:
故,投资不做变化。
若**c的税前收益减少为4.8%,其他因素不变:
目标函数变化为:
改变单纯性表中相应系数求解得:
故,投资应做的相应变化。
七.模型分析及检验。
针对模型中引入的人工变量,确保了其从基变量中换出,在每次求解所得结果中,的值一直为0。故,模型的建立与求解是可行的。
八.模型推广及改进。
本模型的建立为解决变量较少的线性规划问题提供了一个合理的方案,可以应用于其他类似的线性规划问题。由此可见,模型的应用非常广泛,对于实际问题,具有很强的适应性,如可以推广到库存材料的利用问题、产销不平衡的运输问题、材料的订购与运输问题和最低成本问题等规划问题上。
九.参考文献。
1] 姜启源,谢金星,叶俊,数学模型(第三版),北京:高等教育出版社,2024年。
2]运筹学,北京:清华大学出版社,2024年。
附录:程序源**:
#include<>
#define m 5
#define n 11
float max(float a,int n);
int k,l;
void main()
float a[m][n]=,初始化单纯形表。
float cb[m],x[n],z[n],cj[n];/z[m]为检验数准备,jj[m],cj[n]是检验数。
int jj[m],i,j;
int s,p,t=0;
float maxcj,z=0.0;
for(i=1;ix[i]=0.0;
for(j=1;j}
if(s==1)
jj[p]=j;
//确定初始基变量,并标识基变量位置
for(i=1;ifor(j=0;jx[j]=0.0;
for(i=1;ix[jj[i]]=a[i][0];
for(j=1;j//为寻找出基变量的检验数做准备。
for(j=1;j// 检验数。
maxcj=max(cj,n);
printfn");
printf("输入的单纯形表如下:");
for(i=0;i //输出初始化单纯形表。
printfn");
while(maxcj>0)
float r,alk;
r=1000.0;
for(i=1;iif(a[i][k]>0)
if(r>a[i][0]/a[i][k])
r=a[i][0]/a[i][k];
l=i;else if(r==a[i][0]/a[i][k])
if(jj[l] l=i;
else;if(r==1000.0)
printf("此问题无解!")
t=1;break;}
jj[l]=k;
alk=a[l][k];
for(j=0;ja[l][j]=a[l][j]/alk;
for(i=1;i if(i!=l)
for(j=0;j if(j!=k)
a[i][j]=a[i][j]-a[l][j]/a[l][k]*a[i][k];
for(i=1;i if(i!=l)
a[i][k]=0.0;
for(i=1;i cb[i]=a[0][jj[i]];基变量的价值系数。
for(j=0;j x[j]=0.0;
for(i=1;i x[jj[i]]=a[i][0];
for(j=1;j//为寻找出基变量的检验数做准备。
for(j=1;j//输出初始化单纯形表。
printf("满足最优解时,x的取值如下:")
printf("");
for(i=1;iprintf("x[%d]=%6.3f,",i,x[i]);printf("");输出一个基本可行解矩阵。
建模小作业
学院 物理与电子学院年级 2010级学号 0000000 姓名 木木 编号 39号。1 问题的提出。医疗保障制度额度的分配。某集团下设两个子公司 子公司a 子公司b。各子公司财务分配分别独立核算。每个子公司都都实施了对雇员的医疗保障计划,各子公司各自承担雇员的全部医疗费用。过去的统计数据表明,每个子...
数学建模小作业
姓名1 廉文秀学号 200904745 姓名2 沙吾列学号 200903952 姓名3 索海娟学号 200903951 专业 车辆工程。班级 094 指导老师 张仲荣。2012年 5 月 22 日。人口统计模型。一 摘要。该模型主要统计城市人口统计模型,知某城市1990年人。口密度近似为p r p ...
数学建模小作业
兰州交通大学。学院 机电工程学院。班级 车辆093 学号 200903812 姓名 刘键。学号 200903813 姓名 杨海斌。学号 200903814 姓名 彭福泰。学号 200903815 姓名 程二永。学号 200903816 姓名 屈辉。高尔夫球座的体积。一,摘要。今天微积分不仅是研究函数...