线性/非线性规划问题求解

线性/非线性规划问题求解

用Excel和python编程完成线性规划问题的求解。

线性规划的基本思想
为求决策变量,需要将目标函数、约束条件表达为决策变量的函数式。若约束条件和目标函数都是线性的,即表示约束条件的数学式子是线性等式或线性不等式,表示问题最优化指标的目标函数都是线性函数,则该问题是线性规划问题。

Excel完成线性规划问题的求解

  1. 建立数据源

在这里插入图片描述

  1. 写出资源配置三要素
    设日间电视、夜间电视、网络媒体、平面媒体、户外广告的使用次数依次为x1,x2,x3,x4,x5,咨询电话量为L,则5种媒体资源配置的三要素如下。
    (1)决策变量:x1,x2,x3,x4,x5.
    (2)目标函数(s.t.):咨询电话量L=600x1+800x2+500x3+400x4+300x5最大化
    (3)所满足的约束条件:
  • 电视广告费用不超过3万元,1000x1+2000x2<=30000.
  • 电视广告次数至少进行20次,x1+x2>=20.
  • 广告总费用不超过4万元,1000x1+2000x2+400x3+1000x4+100x5<=40000。
  • 被告知人数至少10万人/次:2000x1+4000x2+3000x3+5000x4+600x5>=100000
  • 各媒体使用次数不超过次数限量:x1<=14;x2<=8;x3<=40;x4<=5,x5<=50
  • 各媒体使用次数均为正整数。
  1. 在Excel中设置目标函数
    在这里插入图片描述

  2. 在Excel中设置约束条件
    在这里插入图片描述

  3. 加载Ecxcel的规划求解模块
    (1)文件–选项在这里插入图片描述
    (2)
    (3)选择规划求解模块
    在这里插入图片描述

  4. 在Excel规划求解模块中设置约束条件
    (1)添加一个约束条件
    在这里插入图片描述
    (2)约束条件添加结果
    在这里插入图片描述

  5. 结果
    (1)讲求得的结果输出到表在这里插入图片描述

  6. 得出规划求解结果
    在这里插入图片描述

使用python完成线性规划问题的求解

试试scipy模块下的scipy.optimize.linprog函数来跑数据。
调用该函数需要注意的点:

这个函数只做“最小化”的优化,如果要做“最大化”,在目标函数上取负值就行,本文中的例子就是要找“最大值”;

等式和不等式两类约束条件是分开的,分别对应两组参数A,b(注意下标的含义);

这里的不等式要求<=,如果约束条件中出现>=则在两边乘以-1以调换方向;

注意在矩阵A中补齐参数为0的情况,比如一共5个决策变量,有个约束条件是-x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值