管理运筹学实验一详解
- 格式:ppt
- 大小:6.65 MB
- 文档页数:63
Lingo软件实验报告一、实验内容:1)用lingo软件解决线性规划问题;2)熟悉lingo软件的相关操作。
3)对线性规划问题建立目标函数,罗列对应的表达式约束条件,并且对各变量设定实际的非负约束,考虑到lingo软件能方便地输入数据,并且有内置建模语言,提供内部处理函数,能很方便地处理一系列约束条件解出目标函数的最值,所以采用lingo软件解决线性规划问题。
4)对目标规划问题进行多目标处理,添加正负偏差变量罗列对应的表达式约束条件,并且对欲达到目标顺序添加优先等级,建立目标函数,利用lingo软件能能很方便地处理一系列约束条件解出目标函数的最值,采用lingo软件解决线性规划问题。
二、实验设备:计算机三、使用软件:lingo软件四、软件特点与优势:可以简单地表示模型,能方便地输入数据和选择输出。
五、举例计算:1,线性规划A: 营养套餐问题:根据生物营养学理论,要维持人体正常的生理健康需求,一个成年人每天需要从食物中获取3000cal热量,55g蛋白质和800mg钙。
假定市场上可供选择的食品有猪肉、鸡蛋、大米和白菜,这些食品每千克所含热量和营养成分,以及市场价格见下表。
问如何选购才能满足营养的前提下,使购买食品的总费用最小?解:为了建立该问题的数学模型,假设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+2x41000x1+800x2+900x3+200x4>=300050x1+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的大米可以满足目标函数的要求。
运筹学实验指导书-CAL-FENGHAI.-(YICAI)-Company One1实验一、线性规划综合性实验一、实验目的与要求:使学生掌握线性规划建模的方法以及至少掌握一种线性规划软件的使用,提高学生应用线性规划方法解决实际问题的实践动手能力。
通过实验,使学生更深入、直观地理解和掌握线性规划的基本概念及基本理论和方法。
要求学生能对一般的线性规划问题建立正确的线性规划数学模型,掌握运筹学软件包线性规划模块的操作方法与步骤,能对求解结果进行简单的应用分析。
二、实验内容与步骤:1.选择合适的线性规划问题学生可根据自己的建模能力,从本实验指导书提供的参考选题中或从其它途径选择合适的线性规划问题。
2.建立线性规划数学模型学生针对所选的线性规划问题,运用线性规划建模的方法,建立恰当的线性规划数学模型。
3.用运筹学软件求解线性规划数学模型学生应用运筹学软件包线性规划模块对已建好的线性规划数学模型进行求解。
4.对求解结果进行应用分析学生对求解结果进行简单的应用分析。
三、实验例题:(一)线性规划问题某集团摩托车公司产品年度生产计划的优化研究1)问题的提出某集团摩托车公司是生产各种类型摩托车的专业厂家,有30多年从事摩托车生产的丰富经验。
近年来,随着国内摩托车行业的发展,市场竞争日趋激烈,该集团原有的优势逐渐丧失,摩托车公司的生存和发展面临严峻的挑战。
为此公司决策层决心顺应市场,狠抓管理,挖潜创新,从市场调查入手,紧密结合公司实际,运用科学方法对其进行优化组合,制定出1999年度总体经济效益最优的生产计划方案。
2)市场调查与生产状况分析1998年,受东南亚金融风暴的影响,国内摩托车市场出现疲软,供给远大于需求,该集团的摩托车生产经营也出现开工不足、库存增加和资金周转困难等问题。
该集团共有三个专业厂,分别生产轻便摩托车、普通两轮车和三轮摩托车三大系列产品。
20000辆和22000辆。
为1600万元。
根据以上情况,该公司应如何制定1999年度总体经济效益最优的生产计划方案(二)线性规划建模设X j表示生产M j型摩托车的数量(j=1,2,…,9),则总利润最大的摩托车产品生产计划数学模型为:MaxZ=×+×+×+×+×+×+×+×+×=++++++++满足 X1+X2+X3≤50000 (1)X4+X5+X6≤60000 (2)X7+X8+X9≤10000 (3)++++++++≤4000×5 (4)X3≤20000 (5)X6≤22000 (6)×(X1+X2+X3)+×(X4+X5+X6)+×3(X7+X8+X9)≤3000 (7)++++++++≤1600(8)X j≥0(j=1,2,3,4…9)模型说明:约束(1)、(2)、(3)分别表示三种系列摩托车的最大生产能力限制;约束(4)表示摩托车的生产受流动资金的限制;约束(5)和(6)表示M3和M6两种车产量受发动机供应量限制;约束 (7)表示未销售的产量受库存能力的限制;约束(8)表示未销售产品占用资金的限制。
运筹学实验报告一实验一:线性规划【例l】某制药厂用甲、乙两台机器生产A、B两种药物。
每种药物要经过两道工序,在甲机器上搅拌,在乙机器上包装。
生产每千克药物所需的加工时间以及机器1周可用于加工的总时间如下表1所示。
已知生产每千克药物A的利润是30元,B是25元,问应如何安排1周的生产计划才能使工厂获利最大?表 1 两种药物在各机器上所需加工时间及各机器可用于加工的总时间(1)写出数学模型,建立新问题、输入选项(电子表格、变量取非负连续)、输入数据、存盘、求解模型、结果存盘、观察结果。
(2)将电子表格格式转换成标准模型。
(3)将结果复制到Excel或Word文档中。
(4)分析结果。
解:(1)从已知条件写出该问题的数学模型:max Z=30x1+25x2;2x1+4x2<=40;3x1+2x2<=30;x1>=0,x2>=0.建立新问题、输入选项(电子表格、变量取非负连续)、输入数据、存盘、求解模型、结果存盘、观察结果:求解模型过程Simplex Tableau -- Iteration 1X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioSlack_C1 0 2.0000 4.0000 1.0000 0 40.0000 20.0000Slack_C2 0 3.0000 2.0000 0 1.0000 30.0000 10.0000C(j)-Z(j) 30.0000 25.0000 0 0 0Simplex Tableau -- Iteration 1X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioSlack_C1 0 2.0000 4.0000 1.0000 0 40.0000 20.0000Slack_C2 0 3.0000 2.0000 0 1.0000 30.0000 10.0000C(j)-Z(j) 30.0000 25.0000 0 0 0Simplex Tableau -- Iteration 3X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioX2 25.0000 0 1.0000 0.3750 -0.2500 7.5000X1 30.0000 1.0000 0 -0.2500 0.5000 5.0000C(j)-Z(j) 0 0 -1.8750 -8.7500 337.5000(2)将电子表格格式转换成标准模型。
湖北科技学院管理运筹学实验报告年级 10级专业工商管理学生姓名学号指导教师吴睿经济与管理学院工商管理系2012年3月《管理运筹学》实验报告(一)实验时间:实验地点:经管院实验室专业班级:10工管姓名:学号:成绩:【实验内容】线性规划问题的计算机求解【实验目的】1、掌握线性规划问题的计算机求解方法;2、通过“管理运筹学”软件(2.5版)等教学软件的应用,深化和拓展学生对线性规划理论知识的认识,提高学生的科学素养,培养学生利用计算机技术解决实际问题的能力。
【实验要求】1、记录实验结果、填写实验结论、保存实验输出结果,课后打印上交;2、填写实验报告按时保质保量上交。
【实验过程】(一)安装并了解“管理运筹学”2.0版软件(参阅教材P434的附录说明);(二)实验分组及内容安排A组(学号为单号者用):1、第二章例1中(P10、28)若单位产品Ⅰ可获利80元,单位产品Ⅱ可获利20元,其他条件不变,则用计算机软件求得目标函数最优值为,最优解为X1= ,X2= 。
2、第二章例2中(P16、32)若A,B两种原料至少为450吨,而公司共有650个加工工时,其他条件不变,则用计算机软件求得目标函数最优值为,最优解为X1= ,X2= ;约束条件1、2、3的对偶价格分别为、、。
3、第二章习题第8题(1)中(参见P26、35)若某公司准备把160万元投资到基金A和B,而其他条件不变,则用计算机软件求得此时总的投资风险指数为,购买基金A和B的数量分别为和。
4、请用计算机软件求解第四章习题6(P59)中的问题。
可求得应该每天安排生产雏鸡饲料、蛋鸡饲料、肉鸡饲料各吨、吨、吨,所获最大利润为百元。
B组(学号为双号者用):1、第二章例1中(P10、28)若原料A的资源限制为500kg,原料B的资源限制为200kg,其他条件不变,则用计算机软件求得目标函数最优值为,最优解为X1= ,X2= 。
2、第二章例2中(P16、32)若每吨原料A的价格为1万元,每吨原料B的价格为4万元,其他条件不变,则用计算机软件求得目标函数最优值为,最优解为X1= ,X2= ;约束条件1、2、3的对偶价格分别为、、。
实验报告项目名称所属课程名称运筹学项目类型实验(实训)日期3月18号班级学号姓名指导教师浙江财经学院教务处制一、实验概述(一)实验目的掌握使用Excel软件求解线性规划问题。
(二)实验要求用Excel软件完成案例求解并进行结果分析。
(三)实验工具Excel软件二、实验内容案例营养配餐问题♦有A、B两种食品,含有每天必须的营养成分C、D,每天至少需要营养成分C和D 分别为2和3个单位。
食品A、B的成分和单价如下表,试做花钱最少的食谱,并求其费用。
(一)线性规划模型♦1、确定决策变量:设A、B两种食品每天的购买量分别为x1,x2单位。
♦2、确定目标函数:min W=0.9x1+0.8x2♦3、确定约束条件:成分C约束:x1+2x2 ≥2成分D约束:3x1+x2 ≥3x1 ≥0,x2 ≥0(二)电子表格模型A购买量0.8B购买量0.6目标函数 1.2成分C约束 2成分D约束 3A购买量0.8B购买量0.6(三)结果分析Microsoft Excel 11.0 运算结果报告工作表[Book1.xls]Sheet1报告的建立: 2012/3/18 18:51:54目标单元格(最小值)单元格名字初值终值$B$5目标函数0 1.2可变单元格单元格名字初值终值$B$2A购买量00.8 $B$3B购买量00.6约束单元格名字单元格值公式状态型数值$B$7成分C约束2$B$7>=2到达限制值$B$8成分D约束3$B$8>=3到达限制值$B$10B购买量0.6$B$10>=0未到限制值0.6$B$9A购买量0.8$B$9>=0未到限制值0.8分析:由上表可知:目标函数的最小值为1.2,当产品A的购买量为0.8,产品B的购买量为0.6时取得最小值。
取得最小值时成分C的含量与成分D的含量均达到最低要求。
Microsoft Excel 11.0 极限值报告工作表 [Book1.xls]极限值报告 1报告的建立: 2012/3/18 18:54:24目标式单元格名字值$B$5 目标函数 1.2变量下限目标式上限目标式单元格名字值极限结果极限结果$B$2 A购买量0.8 0.8 1.2 #N/A #N/A$B$3 B购买量0.6 0.6 1.2 #N/A #N/A分析:有该表可知:产品A购买量下极限为0.8单位,取下极限时目标函数结果为1.2,上极限为无穷大,目标值也为无穷大;产品B购买量下极限为0.6单位,取下极限时目标函数结果为1.2,上极限为无穷大,目标值也为无穷大。
运筹学实验一-图文实验报告项目名称生产计划优化研究所属课程名称运筹学项目类型求解线性规划问题实验(实训)日期班级学号姓名指导教师浙江财经学院教务处制一、实验概述(一)实验目的安装E某cel软件“规划求解”加载宏,用E某cel软件求解线性规划问题。
(二)实验内容(1)建立电子表格模型:输入数据、给单元格命名、输入公式等;(2)使用E某cel软件中的规划求解功能求解模型;(3)结果分析;(4)在Word文档中书写实验报告,包括线性规划模型、电子表格模型和结果分析等。
(三)实验工具E某cel软件二、案例分析案例生产计划优化研究某柴油机厂年度产品生产计划的优化研究。
某柴油机厂是我国生产中小功率柴油机的重点骨干企业之一。
主要产品有2105柴油机、某2105柴油机、某4105柴油机、某4110柴油机、某6105柴油机、某6110柴油机。
柴油机生产过程主要分成三大类:热处理、机加工、总装。
与产品生产有关的主要因素有单位产品的产值、生产能力、原材料供应量及生产需求情况等。
每种产品的单位产值如表1所示。
各产品的单位产值序号123456产品型号及名称2105柴油机某2105柴油机某4105柴油机某4110柴油机某6105柴油机某6110柴油机单位产值(元)5400650012000140001850020000为简化问题,根据一定时期的产量与所需工时,测算了每件产品所需的热处理、机加工、总装工时,如表2所示。
单位产品所需工时序号123产品型号及名称2105柴油机某2105柴油机某4105柴油机热处理10.5811.0329.11机加工14.587.0523.96总装17.0815029.37456某4110柴油机某6105柴油机某6110柴油机32.2637.6340.8427.729.3640.4333.3855.153.5同时,全厂所能提供的总工时如表3所示。
各工序所能提供的工时工序名称全年提供总工时4所示。
原材料最大供应量原材料名称最大供应量生铁(吨)1562焦炭(吨)951废钢(吨)钢材(吨)530350热处理120000机加工95000总装180000产品原材料主要是生铁、焦炭、废钢、钢材四大类资源。
实验一:规划求解操作(线性规划问题)一、实验目的在Excel 软件中加载规划求解工具,使用Excel 软件求解线性规划问题。
二、实验内容1. 在Excel 软件中,加载“规划求解”工具。
2. 在Excel 窗体上输入问题的数据及计算公式。
3. 使用规划求解进行分析,找出线性规划问题的最优解。
4. 对结果进行简单分析。
某营养师建议一位缺铁质与维生素B 的病人,应在一段时间内摄取至少2400mg 的铁质、2100mg 的维生素B1与1500mg 的维生素B2。
现在考虑A, B 两个牌子的维生素,A 牌的维生素每颗含40mg 铁质、10mg 维生素B1与5mg 维生素B2;B 牌的维生素每颗含10mg 铁质,以及各15mg 的维生素B1与B2。
已知A 牌维生素每颗6元,B 牌每颗为8元。
试问在满足营养师建议的情况下,A 与B 两种厂牌的维生素各应服用多少才能使花费的费用最少?1212121212min 684010240010152100 .5151500,0z x x x x x x s t x x x x =++≥⎧⎪+≥⎪⎨+≥⎪⎪≥⎩ 三、实验步骤1. 加载规划求解工具,如图1-1a~图1-1c 。
2. 在窗体上输入问题数据及模块,服用量可先输入任意数值,如图1-2。
3. 输入目标函数和约束的计算公式,如图1-3。
4. 打开规划求解工具,如图1-4。
5. 完成规划求解的参数设定,如图1-5a~图1-5d。
6. 找出线性规划问题的最优解,如图1-6a与图1-6b。
图1-1a 加载规划求解工具图1-1b 加载规划求解工具图1-1c 加载规划求解工具图1-2 输入问题数据与模块图1-3 输入公式图1-4 打开规划求解工具图1-5a 参数设定图1-5b 参数设定图1-5c 参数设定图1-5d 参数设定图1-6 找出线性规划问题的最优解图1-6b 线性规划问题的敏感性报告。
运筹学实验报告一、实验目的:通过实验熟悉单纯形法的原理,掌握matlab循环语句的应用,提高编程的能力和技巧,体会matlab在进行数学求解方面的方便快捷。
二、实验环境:Matlab2012b,计算机三、实验内容(包含参数取值情况):构造单纯形算法解决线性规划问题Min z=cxs.t. Ax=bxj>=0,j=1,…,n函数功能如下:function[S,val]=danchun(A1,C,N)其中,S为最优值,Val为最优解,A1为标准形式LP问题的约束矩阵及最后一列为资源向量(注:资源向量要大于零),A1=[A+b];C是目标函数的系数向量,C=c;N为初始基的下标(注:请按照顺序输入,若没有初始基则定义N=[])。
先输入A1,C,N三个必要参数,然后调用danchun(A1,C,N)进行求解。
在此函数中,首先判断N的长度是否为空,若为空,则flag=1,进入初始解问题的迭代求值,添加辅助问题,构建单纯形表,求g所对应的RHS值,若其>0,则返回该问题无解,若其=0,则返回A1,C,N三个参数,继续构造单纯形表求解。
A1为经过变换后的系数及资源向量,C为单纯形表的第一行,N为经过辅助问题求解之后的基的下标。
否则,直接构建单纯形表,对该问题进行求解,此时flag=2,多次迭代后找到解。
另外,若在大于零的检验数所对应的系数均小于零时,会显示“此问题无界”。
若找到最优解和最优值时,会输出“val”和“S=”以及具体数值。
四、源程序(在matlab中输入edit后回车,写在.M文件中,并保存为danchun.M)function[S,val]=danchun(A1,C,N)if(length(N)==0)gN=zeros(1,length(A1(:,1)));gC=[-C,gN,0];%原文题的检验数的矩阵G=[zeros(1,length(C)),-ones(1,length(gN)),0];val=zeros(1,length(C));%val为最优解;for i=(length(C)+1):length(C)+length(A1(:,1))%生成基变量gN(i-length(C))=i;endNn=gN;%%%%%%%ll=zeros(1,length(N));%比值最小原则%生成除了最上端两行的表的矩阵gb=A1(:,length(C)+1);A1(:,length(C)+1)=[];l=zeros(length(gN),length(gN));gA=[A1,l,gb];for i=1:length(gb)gA(i,gN(i))=1;endfor i=1:length(gN)%J为基本可行基所对应的检验数J(i)=G(gN(i));endfor i=1:length(gN)%找到基本可行基的检验数,将其赋值为0 if(J(i)~=0)G=G-(J(i)/gA(i,gN(i)))*gA(i,:);endendflag=1;elseflag=2;A=A1;Z=[-C,0];%单纯形表的第一行val=zeros(1,length(C));%val为最优解;ll=zeros(1,length(N));%比值最小原则end%%初始解问题while flag==1for i=1:length(gN)%J为基本可行基所对应的G的检验数J(i)=G(gN(i));JZ(i)=Z(gN(i));%JZ为基本可行基所对应的Z的检验数endfor i=1:length(gN)%找到基本可行基的检验数,将其赋值为0 if(J(i)~=0)G=G-(J(i)/gA(i,gN(i)))*gA(i,:);Z=Z-(JZ(i)/gA(i,gN(i)))*gA(i,:);endG1=G;%G1为检验数G1(:,length(G1))=[];D=max(G1);%找到检验数的最大值if(D<=0)%检验数都小于0if(G(length(G))>=1)disp('此情况无解');flag=0;elseif(G(length(G))>=0)for i=1:length(gN)if(max(gN)<=length(A1(1,:)));flag=2;for j=1:length(Nn)a=Nn(1);gA(:,a)=[];Z(a)=[];endA=gA;N=gN;break;endendendendelse%检验数大于0for i=1:length(G)if(G(i)==D)%找到最大的那个检验数所对应的元素for j=1:length(gN)if(gA(j,i)>0)ll(j)=gA(j,length(G))/gA(j,i);%求比值elsell(j)=10000;endendd=min(ll);for k=1:length(ll)%找到进基和离基if(ll(k)==d)gN(k)=i;gA(k,:)=gA(k,:)/gA(k,i);for m=1:k-1gA(m,:)=-(gA(m,i)/gA(k,i))*gA(k,:)+gA(m,:);endfor n=k+1:length(ll)gA(n,:)=-(gA(n,i)/gA(k,i))*gA(k,:)+gA(n,:);endbreak;endendendendendendwhile(flag==2)for i=1:length(N)%J为基本可行基所对应的检验数J(i)=Z(N(i));endfor i=1:length(N)%找到基本可行基的检验数,将其赋值为0if(J(i)~=0)Z=Z-(J(i)/A(i,N(i)))*A(i,:);endendZ1=Z;%Z1为检验数Z1(:,length(Z1))=[];D=max(Z1);%找到检验数的最大值if(D<=0)%检验数都小于0disp('已找到最优解和最优值')for i=1:length(N)val(N(i))=A(i,length(Z));endS=Z(length(Z));disp('val');disp(val);flag=0;else%检验数大于0for i=1:length(Z)if(Z(i)==D)%找到最大的那个检验数所对应的元素for j=1:length(N)if(A(j,i)>0)ll(j)=A(j,length(Z))/A(j,i);%求比值elsell(j)=10000;endendd=min(ll);if(d==10000)disp('此问题无界')flag=0;break;endfor k=1:length(ll)%找到进基和离基if(ll(k)==d)N(k)=i;A(k,:)=A(k,:)/A(k,i);for m=1:k-1A(m,:)=-(A(m,i)/A(k,i))*A(k,:)+A(m,:);endfor n=k+1:length(ll)A(n,:)=-(A(n,i)/A(k,i))*A(k,:)+A(n,:);endbreakendendendendendend五、运行结果与数据测试参考例题:例1:Min z=3x1+x2+x3+x4s.t. -2x1+2x2+x3=43x1+2x+x4=6Xj>=0,j=1,2,3,4在workspace中写入,形式如下:>> A=[-2 2 1 0 43 1 0 1 6]A =-2 2 1 0 43 1 0 1 6>> C=[3 1 1 1]C =3 1 1 1>> N=[3 4]N =3 4>> danchun(A,C,N)已找到最优解和最优值val0 2 0 4ans =6例2:初始解问题Min z=5x1+21x3s.t. x1-x2+6x3-x4=2x1+x2+2x3-x5=1xj>=0,j=1,…,5在workspace中写入,形式如下:>> A=[1 -1 6 -1 0 21 12 0 -1 1]A =1 -1 6 -1 0 21 12 0 -1 1 >> C=[5 0 21 0 0]C =5 0 21 0 0>> N=[]N =[]>> danchun(A,C,N)已找到最优解和最优值val0.5000 0 0.2500 0 0ans =7.7500六、求解实际问题(即解决附件中的实验题目)实验题目列出下列问题的数学模型,并用你自己的单纯形算法程序进行计算,最后给出计算结果。