Lingo 实现线性规划求解模型

求点赞关注

如果觉得这篇文章对你有帮助请点赞收藏加关注啊,真的很谢谢大家!大家可以进入我的CSDN主页查看其它文章,都是我在进行课后题目与课程设计时遇到的一些问题,如果你正在学习人工智能,一定会有所收获,并且可以在我的GitHub仓库主页下载相关代码,后续我也会根据需求不断完善。

lazyn的CSDN_blog_codel

同时如果想要系统化的学习人工智能,可以进入下面的网站进行学习

通俗易懂,风趣幽默的人工智能学习网站-床长人工智能教程

作为人工智能专业的学生,我认为该网站的课程设置足够专业与完整,由浅入深,基本涵盖了当前人工智能的热门领域并且在不断完善,目录简洁明了,大家可以对照目录进行查漏补缺,作为读者,我发现课程内容通俗易懂,风趣幽默,可以激发大家的学习兴趣。

目的

通过实现数学建模教材 P103 课后习题为例介绍如何使用 Lingo 软件设计线性规划求解模型。

习题

某银行经理计划用一笔资金进行有价证券的投资,可供购进的证券以及其信用等级、到期年限、收益如表1所示。按照规定,市政证券的收益可以免税,其他证券的收益需按50%的税率纳税、此外还有以下限制:
(1)政府及代办机构的证券总共至少要购进400万元;
(2)所购证券的平均信用等级不超过1.4(信用等级数字越小,信用程度越高);
(3)所购证券的平均到期年限不超过5年。

表1证券信息
证券名称证券种类信用等级到期年限到期税前收益/%
A市政294.3
B代办机构2155.4
C政府145.0
D政府134.4
E市政524.5

(1)若该经理有1000万元资金,应如何投资?
(2)如果能够以2.75%的利率借到不超过100万元资金,该经理应如何操作?
(3)在1000万元资金情况下,若证券 A 的税前收益增加为4.5%,投资应否改变?若证券 C 的税前收益减少为4.8%,投资应否改变?

解答

问题(1)

设证券 A、B、C、D、E 的购买数值分别为 x1 、x2、x3、x4、x5 万元,根据题目已知限制,建立如下约束条件:
{ x 2 + x 3 + x 4 ≥ 400 2 x 1 + 2 x 2 + x 3 + x 4 + 5 x 5 x 1 + x 2 + x 3 + x 4 + x 5 ≤ 1.4 9 x 1 + 15 x 2 + 4 x 3 + 3 x 4 + 2 x 5 x 1 + x 2 + x 3 + x 4 + x 5 ≤ 5 \left \{\begin{array}{ll}x_2+x_3+x_4\geq400&\\ &\\ \dfrac{2x_1+2x_2+x_3+x_4+5x_5}{x_1+x_2+x_3+x_4+x_5}\le1.4&\\ &\\ \dfrac{9x_1+15x_2+{4x}_3+3x_4+2x_5}{x_1+x_2+x_3+x_4+x_5}\le5 \end{array}\right. x2+x3+x4400x1+x2+x3+x4+x52x1+2x2+x3+x4+5x51.4x1+x2+x3+x4+x59x1+15x2+4x3+3x4+2x55
添加约束条件: x 1 + x 2 + x 3 + x 4 + x 5 = 1000 x_1+x_2+x_3+x_4+x_5=1000 x1+x2+x3+x4+x5=1000
此时收益表示为 ( 4.3 x 1 + 4.5 x 5 + ( 5.4 x 2 + 5.0 x 3 + 4.4 x 4 ) × 0.5 ) 100 \frac{(4.3x_1+4.5x_5+(5.4x_2+5.0x_3+4.4x_4 )×0.5)}{100} 100(4.3x1+4.5x5+(5.4x2+5.0x3+4.4x4)×0.5)
应用 Lingo 软件,输入约束如下图1,运行结果如下图2,根据运行结果可知,证券 A 投资218.18万元,证券 C 投资736.36万元,证券 E 投资45.45万元,证券 B 和 D 不投资,收益为29.84万元。

图1 输入约束条件
图2 运行结果

问题(2)

设借贷 y 万元,添加约束条件: x 1 + x 2 + x 3 + x 4 + x 5 = 1000 + y x_1+x_2+x_3+x_4+x_5=1000+y x1+x2+x3+x4+x5=1000+y
此时收益表示为 ( 4.3 x 1 + 4.5 x 5 + ( 5.4 x 2 + 5.0 x 3 + 4.4 x 4 ) × 0.5 ) 100 − 0.0275 y \frac{(4.3x_1+4.5x_5+(5.4x_2+5.0x_3+4.4x_4 )×0.5)}{100}-0.0275y 100(4.3x1+4.5x5+(5.4x2+5.0x3+4.4x4)×0.5)0.0275y
约束如下图3,运行结果如下图4,易知,y=100时,即全部借贷时收益最大,为30.07万元,此时证券 A 投资240万元,证券 C 投资810万元,证券 E 投资50万元。

图3 输入约束条件
图4 运行结果

问题(3)

添加约束条件: x 1 + x 2 + x 3 + x 4 + x 5 = 1000 x_1+x_2+x_3+x_4+x_5=1000 x1+x2+x3+x4+x5=1000
A 的税前收益增加为4.5%时收益表示为 ( 4.5 x 1 + 4.5 x 5 + ( 5.4 x 2 + 5.0 x 3 + 4.4 x 4 ) × 0.5 ) 100 \frac{(4.5x_1+4.5x_5+(5.4x_2+5.0x_3+4.4x_4 )×0.5)}{100} 100(4.5x1+4.5x5+(5.4x2+5.0x3+4.4x4)×0.5)
Lingo软件运行结果如下图5,易知,A 的税前收益增加为4.5%时投资不发生改变。

图5 运行结果

C 的税前收益减小为4.8%时收益表示为 ( 4.3 x 1 + 4.5 x 5 + ( 5.4 x 2 + 4.8 x 3 + 4.4 x 4 ) × 0.5 ) 100 \frac{(4.3x_1+4.5x_5+(5.4x_2+4.8x_3+4.4x_4 )×0.5)}{100} 100(4.3x1+4.5x5+(5.4x2+4.8x3+4.4x4)×0.5)
Lingo软件运行结果如下图6,易知,C 的税前收益减小为4.8%时,证券 A 投资336万元,证券 D 投资648万元,证券 E 投资16万元,证券 B 和 C 不投资,收益为29.424万元。

图6 运行结果

  • 24
    点赞
  • 173
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
Lindo 和 Lingo 是美国 Lindo 系统公司开发的一套专门用于求解最优化问题的软件包。Lindo 用于求解线性规划和二次规划问题,Lingo 除了具有 Lindo 的全部功能外,还可以用于求解线性规划问题,也可以用于一些线性和非线性方程(组)的求解,等等。Lindo 和 Lingo 软件的最大特色在于可以允许优化模型中的决策变量是整数(即整数规划),而且执行速度很快。   Lingo 实际上还是最优化问题的一种建模语言,包括许多常用的函数可供使用者建立优化模型时调用,并提供与其他数据文件(如文本文件、Excel电子表格文件、数据库文件等)的接口,易于方便地输入、求解和分析大规模最优化问题。   由于这些特点,Lindo系统公司的线性、非线性和整数规划求解程序已经被全世界数千万的公司用来做最大化利润和最小化成本的分析。应用的范围包含生产线规划、运输、财务金融、投资分配、资本预算、混合排程、库存管理、资源配置等等...   Lindo/Lingo 软件作为著名的专业优化软件,其功能比较强、计算效果比较好,与那些包含部分优化功能的非专业软件相比,通常具有明显的优势。此外,Lindo/Lingo 软件使用起来非常简便,很容易学会,在优化软件(尤其是运行于个人电脑上的优化软件)市场占有很大份额,在国外运筹学类的教科书中也被广泛用做教学软件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lazyn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值