现有五个广告投放渠道:日间电视、夜间电视、网络媒体、平面媒体和户外广告,每个渠道的效果、费用及限制如下表
录入上述数据,并增加“各媒体使用次数”列
在Excel中设置目标函数
由前面的分析可知,目标函数为E2:E6与F2:F6区域两列数组对应元素的乘积之和,在C10单元格中输入“=SUMPRODUCT(E2:E6,F2:F6)”
设置约束条件
将之前的约束条件表达式设置在Excel中(写公式时前面不要忘了加“=”号)
加载Excel的规划求解模块
选择“文件”->“选项”->“加载项”->“转到”,勾选“规划求解加载项”,单击确定。
这样数据菜单下就出现了“规划求解”模块
在Excel规划求解模块中设置决策变量和目标函数选择“数据”->“规划求解”,设置如下
设置约束条件
选择“遵守约束”后的“添加”,分别设置6个约束条件
约束条件1设置:
约束条件2设置:
约束条件3设置:
约束条件4设置:
约束条件5设置:
约束条件6设置:
设置完成
6. 最终求解结果
三、Python完成线性规划的求解打开windows终端,输入Jupyter Notebook,打开Jupyter工具
在Jupyter的web网页中创建Python文本
现在就可以填写代码了
完整代码如下
import numpy as npfrom scipy import optimize as opx1=(0,14)x2=(0,8)x3=(0,40)x4=(0,5)x5=(0,50)c=np.array([600,800,500,400,300])A_ub=np.array([[1000,2000,0,0,0],[-1,-1,0,0,0],[1000,2000,400,1000,100],[-2000,-4000,-3000,-5000,-600]])B_ub=np.array([30000,-20,40000,-100000])res=op.linprog(c,A_ub,B_ub,bounds=(x1,x2,x3,x4,x5))res
结果如下
以上是内存溢出为你收集整理的用Excel和Python编程完成线性规划问题的求解全部内容,希望文章能够帮你解决用Excel和Python编程完成线性规划问题的求解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)