实验1_解线性规划.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实 验 报 告 求解线性规划实验(运筹学与最优化方法,4学时) 班级专业信科1班 姓名洪毓阳 学号201512010107 日期201710/27 一 实验目的 掌握线性规划的求解,会用单纯形法法、大M法解线性规划。 二 实验内容 1 用单纯形法解线性规划: 2 用大M法解线性规划: 3.解下列线性规划,考虑其是哪一种特殊情况。 (1)(无解) (2)(没有边界) (3)(多个最优解) (4) 三 实验步骤(算法)与结果 1 程序代码(Python3.6): from scipy.optimize import linprog c=[-2,-3,0,0,0] Aeq=[[-1,1,1,0,0],[1,2,0,1,0],[3,1,0,0,1]] beq=[2,10,15] x0_bounds=(0,None) x1_bounds=(0,None) x2_bounds=(0,None) x3_bounds=(0,None) x4_bounds=(0,None) result=linprog(c,A_eq=Aeq,b_eq=beq,bounds=(x0_bounds,x1_bounds,x2_bounds,x3_bounds,x4_bounds)) print(result) 输出: 解出最优解为x1=4,x2=3,x3=3,x4=0,x5=0,z的最小值为-17 2, 程序代码(Python3.6): from scipy.optimize import linprog c=[-3,1,2,10000,10000] Aeq=[[3,2,-3,1,0],[1,-2,1,0,1]] beq=[6,4] x0_bounds=(0,None) x1_bounds=(0,None) x2_bounds=(0,None) x3_bounds=(0,None) x4_bounds=(0,None) result=linprog(c,A_eq=Aeq,b_eq=beq,bounds=(x0_bounds,x1_bounds,x2_bounds,x3_bounds,x4_bounds)) print(result) 输出: 令M=10000,解出最优解为x1=3,x2=0,x3=1,x4=0,x5=0,z的最小值为-7 3.(1)程序代码(Python3.6): from scipy.optimize import linprog c=[-50,-40,0,0,0] Aeq=[[3,5,1,0,0],[8,5,0,1,0],[1,1,0,0,-1]] beq=[150,300,50] x0_bounds=(0,None) x1_bounds=(0,20) x2_bounds=(0,None) x3_bounds=(0,None) x4_bounds=(0,None) result=linprog(c,A_eq=Aeq,b_eq=beq,bounds=(x0_bounds,x1_bounds,x2_bounds,x3_bounds,x4_bounds)) print(result) 输出: Status值显示2,即原方程无可行解。 (2)程序代码(Python3.6): from scipy.optimize import linprog c=[-20,-10] x0_bounds=(2,None) x1_bounds=(0,5) result=linprog(c,bounds=(x0_bounds,x1_bounds)) print(result) 输出: Message显示“Optimization failed. The problem appears to be unbounded.”,因此原方程没有边界。 (3)程序代码(Python3.6): from scipy.optimize import linprog c=[-30,-50,0,0] Aeq=[[3,5,1,0,],[8,5,0,1]] beq=[150,300] x0_bounds=(0,None) x1_bounds=(0,20) x2_bounds=(0,None) x3_bounds=(0,None) result=linprog(c,A_eq=Aeq,b_eq=beq,bounds=(x0_bounds,x1_bounds,x2_bounds,x3_bounds)) print(result) 输出: 可以看出,最优解为(30,12,0,0),z的最大值为1500 因为Python只能显示一个最优解,因此不能明显看出原方程有几个最优解,不妨更改约束条件,将x1的范围缩小至0=x1=25(即将代码x0_bounds=(0,None)改为x0_bounds=(0,25)),

文档评论(0)

173****3847 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档