欢迎来到天天文库
浏览记录
ID:17949439
大小:67.00 KB
页数:5页
时间:2018-09-11
《线性规划论文线性规划论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、线性规划论文线性规划论文金融投资类线性规划及其数学模型的MATLAB求解摘要:线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法,研究线性约束条件下线性目标函数的极值问题的数学理论和方法。本文讨论了在企业的各项管理活动如计划、生产、运输、技术等方面各种限制条件的组合选择出最为合理的一般计算方法。重在通过MATLAB程序设计来实现,建立线性规划模型求得最佳结果。 关键词:MATLAB线性规划编程 线性规划主要用于解决生活、生产中的资源利用、人力调配、生产
2、安排等问题,它是一种重要的数学模型。简单的线性规划指的是目标函数含两个自变量的线性规划,其最优解可以用数形结合方法求出。涉及更多个变量的线性规划问题不能用初等方法解决整数规划是从1958年由R.E.戈莫里提出割平面法之后形成独立分支的,30多年来发展出很多方法解决各种问题。从约束条件的构成又可细分为线性,二次和非线性的整数规划。 MATLAB自身并没有提供整数线性规划的函数,但可以使用荷兰Eindhoven科技大学MichelBerkelaer等人开发的LP_Solve包中的MATLAB支持的mex文件。此程序可求
3、解多达30000个变量,50000个约束条件的整数线性规划问题,经编译后该函数的调用格式为 [x,how]=ipslv_mex(A,B,f,intlist,Xm,xm,ctype) 其中,B,B表示线性等式和不等式约束。和最优化工具箱所提供的函数不同,这里不要求用多个矩阵分别表示等式和不等式,而可以使用这两个矩阵表不等式、大于式和小于式。 如我们在对线性规划 求解中可以看出,其目标函数可以用其系数向量f=[-2,-1,-4,-3,-1]T来表示,另外,由于没有等式约束,故可以定义Aep和Bep为空矩阵。由给出
4、的数学问题还可以看出,x的下界可以定义为xm=[0,0,3.32,0.678,2.57]T,且对上界没有限制,故可以将其写成空矩阵 此分析可以给出如下的MATLAB命令来求解线性规划问题,并立即得出结果为x=[19.785,0,3.32,11.385,2.57]T,fopt=-89.5750。 从运算结果来看,由于key值为1,故求解是成功的。以上只用了5步就得出了线性规划问题的解,可见LP_Solve数据包能较轻松地实现多变量线性规划整数解的问题。 对于小规模问题,可以考采用穷举算法。人为假定xM的各个元素均
5、为20,当然可以采用逐个求取函数值,得出和前面一致的结果。 如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。对于非线性整数规划问题要比整数线性规划问题更复杂,在实际应用中往往还会遇到整数或混合规划问题,基于该领域的常用算法是分支定界(branchandbound)算法。 通过下面实例归纳出线性规划数学模型的一般形式,最后通过MATLAB来实现其最优解。 (投资的收益和风险) 问题提出市场上有n种资产si(i=1,2,3…n)可以选择,现用数额为M的相当大的资金作一个时期的投资。这n种
6、资产在这一时期内购买si的平均收益率为γi,风险损失率为Qi,投资越分散,总的风险越小,总体风险可用投资的si中最大的一个风险来度量。 购买si时要付交易费,(费率pi),当购买额不超过给定值ui时,交易费按购买ui计算。另外,假定同期银行存款利率是r0,既无交易费又无风险(r0=5%)。 已知n=4时相关数据如下: 试给该公司设计一种投资组合方案,即用给定达到资金M,有选择地购买若干种资产或存银行生息,使净收益尽可能大,使总体风险尽可能小。 首先,我们做如下符号规定: si:第i种投资项目(如股票,债券)
7、 ri,pi,qi:分别为si的平均收益率,风险损失率,交易费率 ui:si的交易定额r0:同期银行利率 xi:投资项目si的资金a:投资风险度 Q:总体收益△Q:总体收益的增量 要使净收益尽可能大,总体风险尽可能小,这是一个多目标规划模型。对此我们首先建立一个初步模型。在实际投资中,投资者承受风险的程度不一样,若给定风险一个界限a,使最大的一个风险qixi/M≤a可找到相应的投资方案。这样把多目标规划变成一个目标的线性规划。 因此我们固定风险水平,优化收益,对模型做出简化并对其进行简化: 我们从a=0
8、开始,以步长△a=0.001进行循环搜索,编制程序如下: a=0; while(1.1-a)>1 c=[-0.05-0.27-0.19-0.185-0.185]; Aeq=[11.011.021.0451.065];beq=[1]; A=[00.025000;000.01500;0000.0550;00000.026]; b=[a;
此文档下载收益归作者所有