线性规划实验报告
- 格式:doc
- 大小:113.50 KB
- 文档页数:5
一、线性规划——单纯形法程序设计1.实验目的:(1)使学生在程序设计方面得到进一步的训练;,掌握Matlab (C或VB)语言进行程序设计中一些常用方法。
(2)使学生对线性规划的单纯形法有更深的理解.2.问题述本实验主要编写一般线性规划问题的计算程序:Mins.t.x引入松弛变量将其化为一般标准型线性规划问题:Mins.t. Ax=b;xA为m*n的矩阵,有m个约束,n个变量。
求解上述线性规划采用单纯形算法,初始可行基由引入的m个人工变量对应的单位阵组成,并采用大M算法3.算法描述(1)将引入的人工变量对应的单位阵作为初始可行基,则原线性规划问题构造出下面的新线性规划问题:(2)通过判别数计算公式可求出n+m个变量的判别数,若全部判别数,则得到一个最优基本可行解,运算结束;否则,转到下一步(3)找出判别数为负的最小判别数,其对应的变量为入基变量,记下标为k,然后看其对应的列向量,若中的所有元,则原线性规划无最优解,否则,转下一步 (4)计算,则为离基变量,然后对A 进行初等变换,计算 ,();,();lj lj lj ij ij ik lk lk l l l i i ik lk lkljj j klk a a a a a a i l a a b b b b b a i l a a a a σσσ==-≠==-≠=- (5)用入基变量与出基变量对应的列向量、判别、对应的系数均对换,则可用计算机编程循环以上步骤直至得出结果4.计算程序(matlab )程序保存为linpro.m文件5.算例验证⎪⎪⎩⎪⎪⎨⎧=≥=+++≤+--≤-------=4,...,2,1,010012.008.01.015.0min 432143243214321j x x x x x x x x x x x x x x x x z j在窗口输入:Aeq=[1 -1 -1 -1 1 0;0 -1 -1 1 0 1;1 1 1 1 0 0];b=[0;0;1];c0=[-0.15 -0.1 -0.08 -0.12 0 0];linpro(Aeq,b,c0)1000010000-0.1300说明通过三次迭代找到最优解为-0.13.用Matlab 求解线性规划的命令linprog 的计算结果:f = [-0.15;-0.1;-0.08;-0.12];A = [1 -1 -1 -10 -1 -1 1];b = [0; 0];Aeq=[1 1 1 1];beq=[1];lb = zeros(4,1);然后调用linprog 函数:[x,fval] = linprog(f,A,b,Aeq,beq,lb);x =0.50000.25000.00000.2500fval =-0.1300最优值为-0.13,与上面的结果一致,说明程序正确。
商学院课程实验报告课程名称 运筹学 专业班级 金融工程班 姓 名 指导教师 成 绩2018年 9 月 20日学号:表2 所需营业员统计表星期一二三四五六日需要人数300 300350400480600 5503.建立线性规划模型设x j(j=1,2,…,7)为休息2天后星期一到星期日开始上班的营业员数量,则这个问题的线性规划问题模型为minZ=x1+x2+x3+x4+x5+x6+x7{x1+x4+x5+x6+x7≥300 x1+x2+x5+x6+x7≥300 x1+x2+x3+x6+x7≥350 x1+x2+x3+x4+x7≥400 x1+x2+x3+x4+x5≥480x2+x3+x4+x5+x6≥600x3+x4+x5+x6+x7≥550x≥0,j=1,2,…,7(二)操作步骤1.将WinQSB安装文件复制到本地硬盘,在WinQSB文件夹中双击setup.exe。
图1 WinQSB文件夹2.指定安装软件的目标目录,安装过程中输入用户名和单位名称(任意输入),安装完毕之后,WinQSB菜单自动生成在系统程序中,熟悉软件子菜单内容和功能,掌握操作命令。
图2 目标目录3.启动线性规划和整数规划程序。
点击开始→程序→WinQSB→Linear and Lnteger Programming,屏幕显示如图3所示的线性规划和整数规划界面。
图3 线性规划4.建立新问题或打开磁盘中已有文件。
按图3所示操作建立或打开一个LP问题,或点击File→New Problem建立新问题。
点击File→Load Problem打开磁盘中的数据文件,点击File→New Problem,出现图4所示的问题选项输入界面。
图4 建立新问题5.输入数据。
在选择数据输入格式时,选择Spreadsheet Matrix Form则以电子表格形式输入变量系统矩阵和右端常数矩阵,是固定格式,如图5所示。
选择Normal Model Form则以自由格式输入标准模型。
一、实验目的通过本次实验,了解线性规划的基本原理和方法,掌握线性规划模型的建立和求解过程,提高解决实际问题的能力。
二、实验内容1. 线性规划模型的建立2. 利用Lingo软件进行线性规划模型的求解3. 分析求解结果,进行灵敏度分析三、实验步骤1. 建立线性规划模型以某公司生产问题为例,建立线性规划模型。
设该公司有三种产品A、B、C,每种产品分别需要原材料X1、X2、X3,且原材料的价格分别为p1、p2、p3。
公司拥有一定的生产设备,每种产品的生产需要消耗一定的设备时间,设备时间的价格为p4。
设A、B、C产品的生产量分别为x1、x2、x3,原材料消耗量分别为y1、y2、y3,设备使用量分别为z1、z2、z3。
目标函数:最大化利润Z = p1x1 + p2x2 + p3x3 - p4(z1 + z2 + z3)约束条件:(1)原材料消耗限制:y1 ≤ 10x1,y2 ≤ 8x2,y3 ≤ 5x3(2)设备使用限制:z1 ≤ 6x1,z2 ≤ 4x2,z3 ≤ 3x3(3)非负限制:x1 ≥ 0,x2 ≥ 0,x3 ≥ 0,y1 ≥ 0,y2 ≥ 0,y3 ≥ 0,z1 ≥ 0,z2 ≥ 0,z3 ≥ 02. 利用Lingo软件进行线性规划模型的求解打开Lingo软件,按照以下步骤输入模型:① 在“Model”菜单中选择“Enter Model”;② 输入目标函数:@max = p1x1 + p2x2 + p3x3 - p4(z1 + z2 + z3);③ 输入约束条件:@and(y1 <= 10x1, y2 <= 8x2, y3 <= 5x3);@and(z1 <= 6x1, z2 <= 4x2, z3 <= 3x3);@and(x1 >= 0, x2 >= 0, x3 >= 0, y1 >= 0, y2 >= 0, y3 >= 0, z1 >= 0, z2 >= 0, z3 >= 0);④ 在“Model”菜单中选择“Solve”进行求解。
实验名称: 第三章线性规划一、实验内容与要求用linprog语句求解各种线性规划问题,对生产实际中的问题,进行预测.二、实验软件MATLAB7.0三、实验内容:1、某鸡场有1000只鸡,用动物饲料和谷物混合喂养.每天每只鸡平均食混合饲料0.5KG,其中动物饲料所占比例不能少于20%。
动物饲料每千克0。
30元,谷物饲料每千克0.18元,饲料公司每周仅保证供应谷物饲料6000KG,问饲料怎样混合,才能使成本最低?程序:C=[150 90];A=[1 1];B=[12/7];Aeq=[0 1];beq=[0,8];vlb=[0。
2 0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)实验结果:2、某工厂用A1、A2两台机床加工B1、B2、B3三种不同零件。
已知在一个生产周期内A1只能工作80机时;A2只能工作100机时。
一个生产周期内计划加工B1为70件、B2为50件、把为20件。
两台机床加工每个零件的时间和加工每个零件的成本,分别如下列各表所示:加工每个零件时间表(单位:机时/个)加工每个零件成本表(单位:元/个)问怎样安排两台机床一个周期的加工任务,才能使加工成本最低?程序:C=[2;3;5;3;3;6];A=[1 2 3 0 0 00 0 0 1 1 3—1 0 0 —1 0 00 -2 0 0 —1 00 0 -2 0 0 —3];B=[80;100;—70;—50;-20];Aeq=[];beq=[];vlb=[0;0;0;0;0;7];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)实验结果:四、实验体会。
2012——2013学年第二学期实验报告课程名称:数学建模实验项目:求解线性规划问题实验类别:综合性□设计性□√验证性□专业班级:姓名: xxx 学号:xxxxxxxxxxxxxxxx 实验地点:实验时间:指导教师:成绩:一.实验目的(1)用MATLAB 求解线性规划问题,并对结果进行分析 (2)对实际问题建立数学模型 (3)熟悉相关软件的操作二.实验内容已知某工厂计划生产I ,II ,III 三种产品,各产品需要在A 、B 、C 设备上加工,有关数据如下:问:如何发挥生产能力,使生产盈利最大?三. 模型建立解 设计划生产I ,II ,III 三种产品产量为x1,x2,x3最大盈利为z 建立如下线性模型:123123123123123max 32 2.982103001058400..21310420,,0z x x x x x x x x x s t x x x x x x =++++≤⎧⎪++≤⎪⎨++≤⎪⎪≥⎩四. 模型求解(含经调试后正确的源程序)编写M 文件如下:c = [-3,-2,-2.9];A = [8,2,10;10,5,8;2,13,10]; b = [300;400;420]; vlb = [0;0;0]; vub=[];[x,fval] = linprog(c,A,b,[],[],vlb,vub)五.结果分析x =22.5333 23.2000 7.3333fval =-135.2667由结果可知,I,II,III三种产品分别生产22,23,7时,有最大盈利135.六.实验总结本次实验主要是熟悉用MATLAB软件解决线性规划问题,对实际问题进行分析并建立数学模型,然后编程继而模型求解。
线性规划在实际生活中有重要应用,所以此类方法应该掌握。
《线性规划综合性实验》报告一、实验目的与要求掌握线性规划建模的方法以及至少掌握一种线性规划软件的使用,提高应用线性规划方法解决实际问题的实践动手能力。
通过实验,更深入、直观地理解和掌握线性规划的基本概念及基本理论和方法。
要求能对一般的线性规划问题建立正确的线性规划数学模型,掌握运筹学软件包WinQSB中Linear and Integer Programming模块的操作方法与步骤,能对求解结果进行简单的应用分析。
二、实验内容与步骤1.确定线性规划问题(写出线性规划问题)2.建立线性规划模型(写出线性规划数学模型)3.用WinQSB中Linear and Integer Programming模块求解线性规划模型(写出求解的具体步骤)4.对求解结果进行应用分析(指出最优方案并作出一定的分析)三、实验题目、实验具体步骤及实验结论(一)线性规划问题某集团摩托车公司产品年度生产计划的优化研究1)问题的提出某集团摩托车公司是生产各种类型摩托车的专业厂家,有30多年从事摩托车生产的丰富经验。
近年来,随着国内摩托车行业的发展,市场竞争日趋激烈,该集团原有的优势逐渐丧失,摩托车公司的生存和发展面临严峻的挑战。
为此公司决策层决心顺应市场,狠抓管理,挖潜创新,从市场调查入手,紧密结合公司实际,运用科学方法对其进行优化组合,制定出1999年度总体经济效益最优的生产计划方案。
2)市场调查与生产状况分析1998年,受东南亚金融风暴的影响,国内摩托车市场出现疲软,供给远大于需求,该集团的摩托车生产经营也出现开工不足、库存增加和资金周转困难等问题。
该集团共有三个专业厂,分别生产轻便摩托车、普通两轮车和三轮摩托车三大系列产品。
在市场调查的基础上,从企业实际出发普遍下调整车出厂价和目标利润率,有关数据如下表1资金占用情况如下表2由于发动机改型生产的限制,改型车M3和M6两种车1999年的生产量预测数分别为20000辆和22000辆。
实验报告一、实验名称:线性规划问题二、实验目的:通过本实验,能掌握Spreadsheet方法,会熟练应用Spreedsheet建模与求解方法。
在Excel(或其他)背景下就所需解决的问题进行描述与展平,然后建立线性规划模型,并用Excel的命令与功能进行运算与分析。
三、实验设备计算机、Excel 四、实验内容1、线性规划其中,目标函数为求总利润的最大值。
B11=SUMPRODUCT(B6:C6,B9:C9);B14=SUMPRODUCT(B3:C3,$B$9:$C$9); B15=SUMPRODUCT(B4:C4,$B$9:$C$9); B16=SUMPRODUCT(B5:C5,$B$9:$C$9); D14=D3; D15=D4; D16=D5; 用规划求解工具求解:目标单元格为B11,求最大值,可变单元格为$B$9:$C$9,约束条件为B14:B16<=D14:D16。
在【选项】菜单中选择“采用线性模型”“假定非负”。
即可进行求解得结果,即确定产品A的产量为20,产品B的产量为24,可实现最大总利润为428。
2、灵敏度分析在【可变单元格】表中:在【可变单元格】表中:“终值”表示最优解,即产品A 产量为20,产品B 产量为24。
“递减成本”表示产品的边际收入与按影子价格折算的边际成本的差,当递减成本小于0时,表示不应该安排该产品的生产,在表中的情况反映了产品A 产品、B 都进行生产,因为在产品A 与产品B 产量增加的同时利润也是在增加的。
产量增加的同时利润也是在增加的。
“目标式系数”是在目标函数中变量的系数,也是产品A 与产品B 的单位利润。
的单位利润。
“允许的增量”“允许的增量”和“允许的减量”表示在不改变最优解结构的前提下,和“允许的减量”表示在不改变最优解结构的前提下,和“允许的减量”表示在不改变最优解结构的前提下,单个目标系数可变的单个目标系数可变的上下限。
也就是说,在目标函数中,产品A 的价值系数在(3.6,9.6】内,产品B 的价值系数不变,或者产品A 的价值不变,产品B 的价值系数在【23.3,8.75】内,最有的生产方案依旧为产品A 产量为20,产品B 产量为24,以达到最大利润。
实验八 线性规划的基本原理和解法姓名:芦琛璘 班级:化33 学号:2013011934实验目的:1、学会用MATLAB工具箱或者LINGO求解线性规划的方法;2、学习建立联系实际问题的线性规划模型;实验内容:【问题1】某银行经理计划用一笔资金进行证券投资,可供购进的证券以及其信用等级,到期年限、收益如下表所示,按照规定,市政证券的收益可以免税,其他证券的收益需按50%的税率纳税,此外还有以下限制:①政府及代办机构的证券总共至少要购进400万元;②所购证券的平均信用等级不超过1.4(信用等级数字越小,信用程度越高);③所购证券的平均到期年限不超过5年。
证券名称 证券种类 信用等级 到期年限/年 到期税前收益/%A 市政 2 9 4.3B 代办机构 2 15 5.4C 政府 1 4 5.0D 政府 1 3 4.4E 市政 5 2 4.5试问:①若该经理有1000万元资金,应如何投资?②如果能够以2.75%的利率借到不超过100万元资金,该经理应如何操作?并考虑利率在什么范围内变化时,投资方案不改变?③在1000万元资金情况下,若证券A的税前收益增加为4.5%,投资应否改变?若证券C的税前收益减少为4.8%,投资应否改变?【模型建立】设该经理向A,B,C,D,E五种证券分别投资了XA,XB.XC,XD,XE(万元),收益为Z万元,则原问题可以描述为:MAX Z XA∗0.043 XB∗0.027 XC∗0.025 XD∗0.022 XE∗0.045;XA XB XC XD XE 1000;XB XC XD 400;XA∗2 XB∗2 XC∗1 XD∗1 XE∗5 / XA XB XC XD XE 1.4;XA∗9 XB∗15 XC∗4 XD∗3 XE∗2 / XA XB XC XD XE 5;【模型求解】(1)根据题目中所给的数据,利用LINGO编写程序如下:MAX=XA*0.043+XB*0.027+XC*0.025+XD*0.022+XE*0.045;XA+XB+XC+XD+XE<=1000;XB+XC+XD>=400;(XA*2+XB*2+XC*1+XD*1+XE*5)/(XA+XB+XC+XD+XE)<=1.4;(XA*9+XB*15+XC*4+XD*3+XE*2)/(XA+XB+XC+XD+XE)<=5;【结果如下】Local optimal solution found.Objective value: 29.83636Infeasibilities: 0.000000Extended solver steps: 5Total solver iterations: 81Elapsed runtime seconds: 0.35Model Class: NLPTotal variables: 5Nonlinear variables: 5Integer variables: 0Total constraints: 5Nonlinear constraints: 2Total nonzeros: 23Nonlinear nonzeros: 10Variable Value Reduced Cost XA 218.1818 0.000000XB 0.000000 0.3018182E-01 XC 736.3636 0.000000XD 0.000000 0.6363636E-03 XE 45.45455 0.000000Row Slack or Surplus Dual Price1 29.83636 1.0000002 0.000000 0.2983636E-013 336.3636 0.0000004 0.000000 6.1818185 0.000000 2.363636即当该经理有1000万元资金时,应分别向A,B,C,D,E证券投资:XA 218.1818XB 0.000000XC 736.3636XD 0.000000XE 45.45455此时最大利润 .(2) 设该经理向A,B,C,D,E五种证券分别投资了XA,XB.XC,XD,XE(万元),收益为Z万元,则原问题可以描述为:MAX Z XA∗0.043 XB∗0.027 XC∗0.025 XD∗0.022 XE∗0.045 100∗0.0275 XB XC XD XE 100;XB XC XD 400;XA∗2 XB∗2 XC∗1 XD∗1 XE∗5 / XA XB XC XD XE 1.4;XA∗9 XB∗15 XC∗4 XD∗3 XE∗2 / XA XB XC XD XE 5;用LINGO编写如下程序:MAX=XA*0.043+XB*0.027+XC*0.025+XD*0.022+XE*0.045-100*0.0275;XA+XB+XC+XD+XE<=1100;XB+XC+XD>=400;(XA*2+XB*2+XC*1+XD*1+XE*5)/(XA+XB+XC+XD+XE)<=1.4;(XA*9+XB*15+XC*4+XD*3+XE*2)/(XA+XB+XC+XD+XE)<=5;【结果如下】Local optimal solution found.Objective value: 30.07000Infeasibilities: 0.000000Extended solver steps: 5Total solver iterations: 72Elapsed runtime seconds: 0.33Model Class: NLPTotal variables: 5Nonlinear variables: 5Integer variables: 0Total constraints: 5Nonlinear constraints: 2Total nonzeros: 23Nonlinear nonzeros: 10Variable Value Reduced Cost XA 240.0000 0.000000XB 0.000000 0.3018182E-01 XC 810.0000 0.000000XD 0.000000 0.6363636E-03 XE 50.00000 0.000000Row Slack or Surplus Dual Price1 30.07000 1.0000002 0.000000 0.2983636E-013 410.0000 0.0000004 0.000000 6.8000005 0.000000 2.600000即应分别向A,B,C,D,E证券投资:XA 240XB 0.000000XC 810XD 0.000000XE 50此时最大利润 .(3) 设该经理向A,B,C,D,E五种证券分别投资了XA,XB.XC,XD,XE(万元),收益为Z万元,则原问题可以描述为MAX Z XA∗0.045 XB∗0.027 XC∗0.025 XD∗0.022 XE∗0.045;XA XB XC XD XE 1000;XB XC XD 400;XA∗2 XB∗2 XC∗1 XD∗1 XE∗5 / XA XB XC XD XE 1.4;XA∗9 XB∗15 XC∗4 XD∗3 XE∗2 / XA XB XC XD XE 5;用LINGO编写如下程序:MAX=XA*0.045+XB*0.027+XC*0.025+XD*0.022+XE*0.045;XA+XB+XC+XD+XE<=1000;XB+XC+XD>=400;(XA*2+XB*2+XC*1+XD*1+XE*5)/(XA+XB+XC+XD+XE)<=1.4;(XA*9+XB*15+XC*4+XD*3+XE*2)/(XA+XB+XC+XD+XE)<=5;【结果如下】Local optimal solution found.Objective value: 30.27273Infeasibilities: 0.000000Extended solver steps: 5Total solver iterations: 81Elapsed runtime seconds: 0.31Model Class: NLPTotal variables: 5Nonlinear variables: 5Integer variables: 0Total constraints: 5Nonlinear constraints: 2Total nonzeros: 23Nonlinear nonzeros: 10Variable Value Reduced Cost XA 218.1818 0.000000XB 0.000000 0.3436364E-01 XC 736.3636 0.000000XD 0.000000 0.2727273E-03 XE 45.45455 0.000000Row Slack or Surplus Dual Price1 30.27273 1.0000002 0.000000 0.3027273E-013 336.3636 0.0000004 0.000000 6.3636365 0.000000 2.727273即应分别向A,B,C,D,E证券投资:XA 218.1818XB 0.000000XC 736.3636XD 0.000000XE 45.45455投资不变但是总的收益增加,Z=30.27273,相应的减少费用和松弛变量有变化。
课内实验报告
课程名:运筹学
任课教师:邢光军
专业:信息管理与信息系统学号:B09110810
姓名:陈倩宇
2010/2011学年第 2 学期
南京邮电大学经济与管理学院
,7。
目标是要求售货人员的总数最少。
因为所以只要计算出连续休息两天的售货员人数,这里可以把连续休息两天的售货员按照开始休息的时间分成7,x ,即有如下数学模型:1min z x =+
点击求解后,可得
上表说明:整数规划问题有最优解,且最优解为
126,2,max 10x x z === 。
下表是例1用Excell 工作表求解的求解结果,表中说明,为保证售货人员充分休息,售货人员每周工作五天,休息两天,并要求休息的两天是连续的,最少需配备的售货人员36人,星期一开始上班的12人,星期三开始上班的11人,星期五开始上班的5人,星期六开始上班的3人,星期日开始上班的5人.
3 结果分析
在实际应用中,最终我们得出的对于售货人员作息时间的安排,能够达到既满足工作需要,又使总共配备售货人员最少,即用最少的人力资源成本获取最大的利益。
由此我们可以发现诸如此类有关如何合理安排的问题,利用Excel进行求解既简便又快捷,表中数据可根据用户要求自行设置,在合理安排产品的生产决策上,对于研究如何合理使用企业各项经济资源,以及研究如何统筹安排,对人、财、物等现有资源进行优化组合,实现最大效能上都可以使用。
能有效地提高组织及决策的速度及准确性,并且Excel办公软件的普遍性优点使之更适合促进科学决策的信息化水平。
成绩评定:
该生对待本次实验的态度□认真□良好□一般□比较差。
本次实验的过程情况□很好□较好□一般□比较差
对实验结果的分析□很好□良好□一般□比较差
文档书写符合规范程度□很好□良好□一般□比较差
综合意见:
成绩指导教师签名日期
实验背景:某商场是个中型的百货商场,它对售货人员的需求经过统计分析如表1所示。
息的两天是连续的,问应该如何安排售货人员的作息,既满足了工作需要,又使配备的售货人员人数最少?。