应用lingo和matlab软件求解线性规划

上传人:第*** 文档编号:49594254 上传时间:2018-07-31 格式:PPT 页数:26 大小:773KB
返回 下载 相关 举报
应用lingo和matlab软件求解线性规划_第1页
第1页 / 共26页
应用lingo和matlab软件求解线性规划_第2页
第2页 / 共26页
应用lingo和matlab软件求解线性规划_第3页
第3页 / 共26页
应用lingo和matlab软件求解线性规划_第4页
第4页 / 共26页
应用lingo和matlab软件求解线性规划_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《应用lingo和matlab软件求解线性规划》由会员分享,可在线阅读,更多相关《应用lingo和matlab软件求解线性规划(26页珍藏版)》请在金锄头文库上搜索。

1、应用LINGO、MATLAB软件求解线性规划一、LINGO使用简介LINGO软件是美国的LINDO系统公司(Lindo System Inc)开发的一套用于求解最优化问题的软件包。LINGO除了能用于求解线性规划和二次规划外,还可以用于非线性规划 求解以及一些线性和非线性方程(组)的求解等。LINGO软件的最大特色在于它允许优化模型中的决策变量为整数,而 且执行速度快。LINGO内置了一种建立最优化模型的语言, 可以简便地表达大规模问题,利用LINGO高效的求解器可快 速求解并分析结果,这里简单介绍LINGO的使用方法。LINGO可以求解线性规划、二次规划、非线性规划、整数规划、图论及网络优化

2、和排队论模型中的最优化问题等。一个LINGO程序一般会包含集合段、数据输入段、优化目标和约束段、初始段和数据预处理段等部分,每一部分有其独特的 作用和语法规则,读者可以通过查阅相关的参考书或者LINGO 的HELP文件详细了解,这里就不展开介绍了。LINGO的主要功能特色为: 1、既能求解线性规划问题,也有较强的求解非线性规划问题的能力; 2、输入模型简练直观; 3、运算速度快、计算能力强; 4、内置建模语言,提供几十个内部函数,从而能以较少语句,较直观的方式描述大规模的优化模型; 5、将集合的概念引入编程语言,很容易将实际问题转换为 LINGO模型;并且能方便地与Excel、数据库等其他软件

3、交换数据。LINGO的语法规定: (1)求目标函数的最大值或最小值分别用MAX=或 MIN=来表示; (2)每个语句必须以分号“;”结束,每行可以有许多语句, 语句可以跨行; (3)变量名称必须以字母(AZ)开头,由字母、数字(09)和 下划线所组成,长度不超过32个字符,不区分大小写; (4)可以给语句加上标号,例如 OBJMAX=200*X1+300*X2; (5)以惊叹号“!”开头,以分号“;”结束的语句是注释语句 ; (6)如果对变量的取值范围没有作特殊说明,则默认所有决 策变量都非负; (7)LINGO模型以语句“MODEL:”开头,以“END”结束 ,对于比较简单的模型,这两个语句

4、可以省略。在LINGO的MODEL窗口内输入如下模型: model: max=2*x1+3*x2; x1+2*x260; 0.1*x1+0.05*x2+0.02*x3+0.2*x4+0.05*x53; 0.05*x1+0.1*x2+0.02*x3+0.2*x4+0.08*x58; X1+x2+x3+x4+x552;例1.2 用LINGO求解如下问题求解输出结果如下: Global optimal solution found at iteration: 4 Objective value: 22.40000 Variable Value Reduced Cost X1 0.000000 0.7

5、000000 X2 12.00000 0.000000 X3 0.000000 0.6166667 X4 30.00000 0.000000 X5 10.00000 0.000000 Row Slack or Surplus Dual Price 1 22.40000 -1.000000 2 0.000000 -0.5833333 3 4.100000 0.000000 4 0.000000 -4.166667 5 0.000000 0.8833333(1.1) 1.2 应用MATLAB求解线性规划 MATLAB(MATrix LABoratory)的基本含义是矩阵实验 室,它是由美国Math

6、Works公司研制开发的一套高性能的 集数值计算、信息处理、图形显示等于一体的可视化数学 工具软件。它是建立在向量、数组和矩阵基础之上的,除 了基本的数值计算、数据处理、图形显示等功能之外,还 包含功能强大的多个“工具箱”,如优化工具箱( optimization toolbox)、统计工具箱、样条函数工具箱和 数据拟合工具箱等都是优化计算的有力工具。在这里仅介 绍用MATLAB6.5优化工具箱求解线性规划问题。 一般线性规划问题的数学模型为 其中C是目标函数的系数行向量(常数), X 是n维列 向量(决策变量),A, A1是常数矩阵,b,b1是常数 向量,lb,ub是n维列向量分别表示决策变

7、量X的下界 与上界。 在Matlab优化工具箱(Optimization Toolbox)中, 求解线性规划的程序如下:x,fval,exitflag,output,lambda = linprog (c, A,b,Aeq,beq,lb,ub,x0,options),具体说明见下页。说明: (1)A是不等式约束的系数矩阵,b是相应的常数列向 量,若没有不等式约束,则均用 代替; (2) Aeq是等式约束的系数矩阵,beq是相应的常数列 向量,若没有等式约束,则均用代替; (3)如果某个变量无下界,则用-inf表示;如果某个变 量无上界,则用inf表示,若决策变量 无下界,则 lb用代替;若决策

8、变量 无上界,则ub用代替;(4) x0是线性规划的初始解,这种设计仅对中规模算 法有效,通常可以缺省。(5) 输出x是最优解,fval是最优值。 (6) 输出exitflag描述了程序的运行情况,若其值大于 零,表示程序收敛到最优解 ;若其值等于零,表 示计算达到了最大次数;若其值小于零,表示问题 无可行解,或程序运行失败。 (7)输出output表示程序运行的某些信息,如迭代次数 (iterations)、所用算法(algorithm)、共轭梯度 (cgiterations)等。 (8)lambda表示解处的拉格朗日乘子,其中lower, upper,ineqlin,eqlin分别对应于下

9、界、上界、不 等式约束与等式约束。例1.3 用MATLAB解线性规划问题(1.2) 解 Matlab程序如下: c=-2,-1,1; A=1,4,-1;2,-2,1; b=4;12; Aeq=1,1,2; beq=6; lb=0,0,-inf; ub=inf,inf,5; x,z=linprog(c,A,b,Aeq,beq,lb,ub) 运行后得到输出 Optimization terminated successfully. x=4.66670.00000.6667 z=-8.6667例1.4 用MATLAB求解线性规划问题(1.3) 解 首先转化为求最小值问题Matlab程序如下 c=-2

10、,-3,5; A=-2,5,-1; b=-10; Aeq=1,1,1; beq=7; lb=0,0,0; x,z=linprog(c,A,b,Ae q,beq,lb)运行后得到输出 x =6.42860.57140.0000 z =-14.5714 键入s=-z 运行后得到原问题的目标 函数最大值s=14.5714用MATLAB求解例1.2的程序与输出结果为: c=0.2,0.7,0.4,0.3,0.5; A=-0.3,-2,-1,-0.6,-1.8;-0.1,-0.05,-0.02,-0.2,-0.05;-0.05,-0.1,-0.02, -0.2,-0.08;1,1,1,1,1; b=-6

11、0;-3;-8;52; lb=0,0,0,0,0; x,z=linprog(c,A,b,lb)Optimization terminated successfully. x =0.000012.00000.000030.000010.0000 z =22.4000习题 建立下列线性规划问题的数学模型并求解。 (1)某工厂生产A、B、C三种产品,三种产品对于材 料费用、劳动力和电力的单位消耗系数,资源限量和 单位产品价格如表1.1所示。问应如何确定生产计划可 使得总产值达到最大?建立线性规划问题的数学模型 。 表1.1 生产计划问题的数据产品 资资源ABC资资源 限量材料费费用(元)22.543

12、20劳动劳动 力(人天)618640 电电力(度)5510750 单单位价格(百元 )6410(2)某疗养院营养师要为某类病人拟订一周的菜单。可供选择的蔬菜 及其费用和所含营养成分的数量以及这类病人每周所需各种营养成分 的最低数量如表1.2所示。另外,为了口味的需要,规定一周内所用卷 心菜不多于2份,其他蔬菜不多于4份。若病人每周需要14份蔬菜,问 选用每种蔬菜各多少份,可使生活费用最小。建立线性规划问题的数 学模型。 表1.2 食谱问题的数据蔬菜每份蔬菜所含营营养成分费费用 (元/份)铁(mg)磷(mg)VA(单单位 )VC(mg )烟酸(mg)青豆0.451041580.31.5 胡萝萝卜

13、0.4528906530.351.5 花菜1.05502550530.62.4 卷心菜0.42575270.150.6 甜菜0.5221550.251.8 土豆0.57523580.81.0 每周营营养 最低需求量6.0325175002455.0播种计划表亩产量表土地作物作物面积100600700500500800500850 400400150300 土地面积200300500(4)某糖果厂用原料A、B、C加工成三种不同牌号的糖 果甲、乙、丙,已知各种牌号的糖果中A、B、C的含量 ,原料成本,各种原料的每月限制用量,三种牌号糖果 的单位加工费及售价如表1.4所示,问该厂每月应生产这 三种牌

14、号的糖果各多少千克,使该厂获利最大?试建立 这个问题的线性规划数学模型。甲乙丙原料成本 (元/千克)每月限制用量 (千克)A8.002000B6.002500C4.001200加工费 (元/千克)2.01.61.2售价(元)13.611.49表1.4 糖果厂生产计划数据表0.00.51.01.51.92.53.03.54.04.5 1.00.90.71.52.02.43.22.02.73.5 5.05.56.06.67.07.68.59.010.0 1.04.03.62.75.74.66.06.87.3表1.5 随 变化的数据表求拟合以上数据的直线 ,目标为使y的各个观察值同按直线关系所预期的值的绝对偏差总和为最小(即: 误差绝对值之和最小)。建立线性规划问题的数学模型。 (提示:对任意的 ,令: 那么, )

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号