线性规划论文线性规划论文_第1页
线性规划论文线性规划论文_第2页
线性规划论文线性规划论文_第3页
线性规划论文线性规划论文_第4页
线性规划论文线性规划论文_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

线性规划论文线性规划 论文金融投资类线性规划及其数学模型的 MATLAB 求解摘要:线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法,研究线性约束条件下线性目标函数的极值问题的数学理论和方法。本文讨论了在企业的各项管理活动如计划、生产、运输、技术等方面各种限制条件的组合选择出最为合理的一般计算方法。重在通过 MATLAB 程序设计来实现,建立线性规划模型求得最佳结果。 关键词:MATLAB 线性规划 编程 线性规划主要用于解决生活、生产中的资源利用、人力调配、生产安排等问题,它是一种重要的数学模型。简单的线性规划指的是目标函数含两个自变量的线性规划,其最优解可以用数形结合方法求出。涉及更多个变量的线性规划问题不能用初等方法解决整数规划是从 1958 年由 R.E.戈莫里提出割平面法之后形成独立分支的,30 多年来发展出很多方法解决各种问题。从约束条件的构成又可细分为线性,二次和非线性的整数规划。 MATLAB 自身并没有提供整数线性规划的函数,但可以使用荷兰 Eindhoven科技大学 Michel Berkelaer 等人开发的 LP_Solve 包中的 MATLAB 支持的 mex文件。此程序可求解多达 30000 个变量,50000 个约束条件的整数线性规划问题,经编译后该函数的调用格式为 x,how=ipslv_mex(A,B,f,intlist,Xm,xm,ctype) 其中,B,B 表示线性等式和不等式约束。和最优化工具箱所提供的函数不同,这里不要求用多个矩阵分别表示等式和不等式,而可以使用这两个矩阵表不等式、大于式和小于式。 如我们在对线性规划 求解中可以看出,其目标函数可以用其系数向量 f=-2,-1,-4,-3,-1T来表示,另外,由于没有等式约束,故可以定义 Aep 和 Bep 为空矩阵。由给出的数学问题还可以看出,x 的下界可以定义为 xm=0,0,3.32,0.678,2.57T,且对上界没有限制,故可以将其写成空矩阵 此分析可以给出如下的 MATLAB 命令来求解线性规划问题,并立即得出结果为 x=19.785,0,3.32,11.385,2.57T,fopt=-89.5750。 从运算结果来看,由于 key 值为 1,故求解是成功的。以上只用了 5 步就得出了线性规划问题的解,可见 LP_Solve 数据包能较轻松地实现多变量线性规划整数解的问题。 对于小规模问题,可以考采用穷举算法。人为假定 xM 的各个元素均为20,当然可以采用逐个求取函数值,得出和前面一致的结果。 如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。对于非线性整数规划问题要比整数线性规划问题更复杂,在实际应用中往往还会遇到整数或混合规划问题,基于该领域的常用算法是分支定界(branch and bound)算法。 通过下面实例归纳出线性规划数学模型的一般形式,最后通过 MATLAB 来实现其最优解。 (投资的收益和风险) 问题提出市场上有 n 种资产 si(i=1,2,3n)可以选择,现用数额为M 的相当大的资金作一个时期的投资。这 n 种资产在这一时期内购买 si 的平均收益率为 i,风险损失率为 Qi,投资越分散,总的风险越小,总体风险可用投资的 si 中最大的一个风险来度量。 购买 si 时要付交易费,(费率 pi),当购买额不超过给定值 ui 时,交易费按购买 ui 计算。另外,假定同期银行存款利率是 r0,既无交易费又无风险(r0=5%)。 已知 n=4 时相关数据如下: 试给该公司设计一种投资组合方案,即用给定达到资金 M,有选择地购买若干种资产或存银行生息,使净收益尽可能大,使总体风险尽可能小。 首先,我们做如下符号规定: si:第 i 种投资项目(如股票,债券) ri,pi,qi:分别为 si 的平均收益率,风险损失率,交易费率 ui:si 的交易定额 r0:同期银行利率 xi:投资项目 si 的资金 a:投资风险度 Q:总体收益 Q:总体收益的增量 要使净收益尽可能大,总体风险尽可能小,这是一个多目标规划模型。对此我们首先建立一个初步模型。在实际投资中,投资者承受风险的程度不一样,若给定风险一个界限 a,使最大的一个风险 qixi/Ma 可找到相应的投资方案。这样把多目标规划变成一个目标的线性规划。 因此我们固定风险水平,优化收益,对模型做出简化并对其进行简化: 我们从 a=0 开始,以步长a=0.001 进行循环搜索,编制程序如下: a=0; while(1.1-a)1 c=-0.05 -0.27 -0.19 -0.185 -0.185; Aeq=1 1.01 1.02 1.045 1.065; beq=1; A=0 0.025 0 0 0;0 0 0.015 0 0;0 0 0 0.055 0;0 0 0 0 0.026; b=a;a;a;a; vlb=0,0,0,0,0;vub=; x,val=linprog(c,A,b,Aeq,beq,vlb,vub); a x=x Q=-val plot(a,Q,.),axis(0 0.1 0 0.5),hold on a=a+0.001; end xlabel(a),ylabel(Q) 计算结果如下: a=0.0030 x=0.4949 0.1200 0.2000 0.0545 0.1154 Q=0.1266 a=0.0060 x=0 0.2400 0.4000 0.1091 0.2212 Q=0.2019 a=0.0080 x=0.0000 0.3200 0.5333 0.1271 0.0000 Q=0.2112 a=0.0100 x=0 0.4000 0.58430 0Q=0.2190 a=0.0200 x=0 0.8000 0.18820 0Q=0.2518 a=0.0400 x=0.0000 0.9901 0.0000 0 0Q=0.2673 分析结果可见: 在 a=0.006 附近有一个转折点,在这一点左边,风险增加很少时,利润增长很快。在这一点右边,风险增加很大时,利润增长很缓慢,所以对于风险和收益没有特殊偏好的投资者来说,应该选择曲线的拐点作为最优投资组合,大约是 a*=0.6%,q*=20%, 所对应投资方案为: 对于多变量线性规划问题的求解,常规解法需要设置大量的参数,计算过程繁琐、可操作性差、计算精度不高,而经由 MATLAB 设计的算法可有效地解决这一问题,大大提高了运算效率与精度,在工程、管理、经济、科研、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论