ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:261.53KB ,
资源ID:6437772      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6437772.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(运筹学实验讲解.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

运筹学实验讲解.docx

1、运筹学实验讲解 Lingo软件实验报告一、实验内容:1)用lingo软件解决线性规划问题;2)熟悉lingo软件的相关操作。3)对线性规划问题建立目标函数,罗列对应的表达式约束条件,并且对各变量设定实际的非负约束,考虑到lingo软件能方便地输入数据,并且有内置建模语言,提供内部处理函数,能很方便地处理一系列约束条件解出目标函数的最值,所以采用lingo软件解决线性规划问题。4)对目标规划问题进行多目标处理,添加正负偏差变量罗列对应的表达式约束条件,并且对欲达到目标顺序添加优先等级,建立目标函数,利用lingo软件能能很方便地处理一系列约束条件解出目标函数的最值,采用lingo软件解决线性规划

2、问题。二、实验设备:计算机三、使用软件:lingo软件四、软件特点与优势:可以简单地表示模型,能方便地输入数据和选择输出。五、举例计算:1,线性规划A: 营养套餐问题:根据生物营养学理论,要维持人体正常的生理健康需求,一个成年人每天需要从食物中获取3000cal热量,55g蛋白质和800mg钙。假定市场上可供选择的食品有猪肉、鸡蛋、大米和白菜,这些食品每千克所含热量和营养成分,以及市场价格见下表。问如何选购才能满足营养的前提下,使购买食品的总费用最小?序号食品名称热量(cal)蛋白质(g)钙(mg)价格 元/kg1猪肉100050400202鸡蛋8006020083大米9002030044白菜

3、200105002解:为了建立该问题的数学模型,假设xj(j=1,2,3,4)分别为猪肉、鸡蛋、大米和白菜每天的购买量,则目标函数为 Minz=20x1+8x2+4x3+2x4表示在满足营养要求的系列约束条件下,确定各种食物的购买量,使每天购买食物的总费用最小。其约束条件是热量需求: 1000x1+800x2+900x3+200x4=3000蛋白质需求: 50x1+60x2+20x3+10x4=55钙需求: 400x1+200x2+300x3+500x4=800决策变量的非负约束:xj=0(j=1,2,3,4)因此,营养配餐问题的数学模型为 Minz=20x1+8x2+4x3+2x4 1000

4、x1+800x2+900x3+200x4=3000 50x1+60x2+20x3+10x4=55400x1+200x2+300x3+500x4=800xj=0(j=1,2,3,4)B: lingo代码: model:min=20*x1+8*x2+4*x3+2*x4;1000*x1+800*x2+900*x3+200*x4=3000;50*x1+60*x2+20*x3+10*x4=55;400*x1+200*x2+300*x3+500*x4=800;ENDC: 结果截屏:D:运行结果分析:由运行结构可知:该线性规划的最值为13.33333,即在变量为非负的情况下,只买3.33kg的大米可以满足目

5、标函数的要求。2,目标规划 A: 设有一纺织厂可生产衣料和窗帘布共两种产品。该厂两班生产,每周的生产时间为80h,无论生产那种产品,该厂每小时的产量都是1km。根据市场预测,每周窗帘布的销售量为70km,而衣料的销售量为45km。工厂有纺纱9000kg,生产1km窗帘布需要纺纱800kg,生产1km衣料需要纺纱500kg。假定窗帘布和衣料的单位利润分别为2.5千元/km和1.5千元/km,上级主管部门对该厂提出了以下4个顺序目标:(1) 尽可能避免开工不足;(2) 尽可能限制每周加班时间不超过10h;(3) 尽可能满足市场需求;(4) 尽可能减少加班时间。目标的惩罚因子各为:5、8、9、2.问

6、该厂应如何安排生产才能使这些目标依序实现? 解:建立该问题的数学模型,设该厂每周生产衣料和窗帘各为x1,x2km,即为决策变量。此外,引进正负偏差变量d,d_.则:生产工时约束: x1+x2+d1_-d1=80加班时间约束: d1+d2_-d2=10窗帘布销售量约束: x1+d3_-d3=70衣料销售量约束: x2+d4_-d4=454个有序目标分别为:P1:minz1=d1_P2: minz2=d2P3: minz3=5d3_+3d4_P4: minz4=d1综上,该问题的目标规划模型为: minz=5d1_ +8d5+9(5d3_+3d4_)+2d1 500x1+800x2=0,di_,d

7、i=0B: lingo编程:model:min=5*d1_+8*d2+45*d3_+27*d4_+2*d1;500*x1+800*x2=0B、MATLAB编程:c=0,0.1,0.2,0.3,0.8aeq= 1 2 0 1 0; 0 0 2 2 1; 3 1 2 0 3 Beq=100 100 100Lb=0 0 0 0 0 0 0Ub=C;结果截图:D:运行结果分析: 由运行结果得到:由计算得到最优下料方案是:按方案下料30根;方案下料10根;方案下料50根。即需要90根原材料可以造100套钢架。4、目标规划 A:某公司分厂用一条生产线生产两种产品A和B,每周生产线运行时间为60h,生产一台

8、A产品需要4h,生产一台B产品需要6h。根据市场预测,A和B产品平均销售量分别为每周9台、8台,它们销售利润分别为12万、18万元。在指定生产计划时,经理考虑下述4项目标:首先,产量不能超过市场预测的销售量;其次,工人加班时间最少;第三,希望总利润最大;最后,要尽可能满足市场需求,当不能满足时,市场认为B产品的重要性啊A产品的2倍。 单目标线性规划模型如下:引入正负偏差变量d+-d-、优先因子P1和权系数Wj,建立目标规划的目标函数如下:P=1000,100,10,1B:MATLAB程序C=0,0,1,1000,2,1000,0,100,10,0;A=;b=;Aeq=1,0,1,-1,0,0,

9、0,0,0,0; 0,1,0,0,1,-1,0,0,0,0; 4,6,0,0,0,0,1,-1,0,0; 12,18,0,0,0,0,0,0,1,-1;beq=9;8;60;252;lb=zeros(1,10);ub=;x , fval , exitflag , output=linprog(c , A , b , Aeq , beq , lb , ub)x=3 8 6 0 0 0 0 0 72 0fval=726exitflag=1C;结果截图:D:运行结果分析: 由运行结果得到:A产品产量每周生产3台,B产品产量每周为8太时可以得到最大利润,最大利润为726万元。5、整数规划 A:有四个人

10、,要指派他们分别完成四项工作,每人做各项工作所消耗的时间如表所示:甲乙丙丁A15192619B18231721C21221623D24181917则怎么分配使他们所用总时间最短。B:MATLAB代码:c=15,18,21,24,19,23,22,18,26,17,16,19,19,21,23,17; a=15,18,21,24,zeros(1,12); zeros(1,4),19,23,22,18,zeros(1,8); zeros(1,8),26,17,16,19,zeros(1,4); zeros(1,12),19,21,23,17; 15,zeros(1,3),19,zeros(1,3)

11、,26,zeros(1,3),19,zeros(1,3);zeros(1,1),18,zeros(1,3),23,zeros(1,3),17,zeros(1,3),21,zeros(1,2); zeros(1,2),21,zeros(1,3),22,zeros(1,3),16,zeros(1,3),23,0; zeros(1,3),24,zeros(1,3),18,zeros(1,3),19,zeros(1,3),17; b=24;23;26;23;26;23;23;24; A=ones(1,4),zeros(1,12);zeros(1,4),ones(1,4),zeros(1,8); zer

12、os(1,8), ones(1,4),zeros(1,4);zeros(1,12),ones(1,4); 1,zeros(1,3),1,zeros(1,3),1,zeros(1,3),1,zeros(1,3); 0,1,zeros(1,3),1,zeros(1,3),1,zeros(1,3),1,zeros(1,2); 0,0,1,zeros(1,3),1,zeros(1,3),1,zeros(1,3),1,0; zeros(1,3),1,zeros(1,3),1,zeros(1,3),1,zeros(1,3),1; B=ones(1,8); m=zeros(1,16); Q,W=bintpr

13、og(c,a,b,A,B,m) C;结果截图:D:运行结果分析:由运行结果得到:即甲做工作B,耗时18h;乙做工作A,耗时19h;丙做工作C,耗时16h;丁做工作D,耗时17h;最小总耗时w=70.6、0-1规划 A:求解0-1规划问题的函数bintprog: 对于该0-1规划问题,函数调用形式为x= bintprog(c,A,b,Aeq,beq),求解下列目标函数的最优解。B:MATLAB程序为:C=-3,2,-5;A=1 2 -1;1 4 1;1 1 0;4 0 1;b=2 ;4;3;6;x,fval=bintprog(C,A,b)C:运行结果:D:运行结果分析: 由运行结果得到:x1=1

14、,x2=0,x3=1时,目标函数取最大值为8。六:实验总结 :在使用MATLAB软件做实验的时候,我们小组选择了一道材料使用的线性规划问题、一道关于目标规划的产品生产问题、一道工作指派的整数规划问题和一道实际求解最大值的0-1规划问题。对于实际问题的要求,分别列出约束条件,此外对于目标规划问题列写有正负偏量的有权式,建立相应的数学模型,对于所有式子进行矩阵处理,再根据MATLAB软件的语言要求,编写MATLAB程序,上机运行,得到运行结果。在小组明确分工合作的情况下,一步步得以实现。之后再对运行结果进行实际的分析和讨论,检验结果的实际意义,从而了解MATLAB软件的方便性和丰富性,以便对该软件

15、有一定深入的理解,更好地掌握该软件的使用方法。与lingo软件不同的是,用MATLAB软件处理目标规划问题的时候,不需要从高到低一步步求不同优先级的最值,只需要把数学模型处理成合适的矩阵,然后求解即可。在对选例的处理中,我们也遇到了一些软件操作问题,在修改的过程中得到了一些实用经验,例如:在矩阵的列写当中,不能很合理地处理好对应的关系;在对MATLAB编程的时候,应该注意在语句后面加“;”,使不希望得到的结果隐藏输出等等。在实用MATLAB解决运筹学实际问题时,对于不同的问题我们遇到了不同困惑,就拿现行规划来讲,如果我们用传统编写MATLAB代码解决问题可能很复杂,而且容易出现各种编写错误及调

16、试不成功,我们组依照课件给出的方法,直接将各个参数系数输入表中,解决问题,简单而且用时较少,所以值得我们的思考的问题是在之后解决问题中,我们应该探讨是不是有没有简洁的方法求解。同时在求解证书规划、0-1规划问题上我们也遇到好多问题,最简单的因为刚开始接触MATLAB程序,不清楚它有什么编程要求,导致在边MATLAB程序中出现各种错误,调试过程花费大量的时间,在进一步看MATLAB教程后我们见见熟悉了其编译规则与方法,因而很容易解决了证书规划和0-1规划两题。相比之下前面解决的问题稍微简单点,后面在解决目标规划问题时,因为要考虑到优先因子以及正负偏差变量,所以比较麻烦,编写MATLAB程序需要理解几个新的概念,在系统掌握了解后,最终我们的问题还是解决了。总之,MATLAB软件在对矩阵的数据操作上,用很丰富的数值计算函数,以简单紧凑的语言,方便灵活,能很方便地解决实际问题的求解。如果我们可以很熟悉地运用该软件,它将是未来处理类似问题的一项很强大的工具。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1