数学建模讲座之四-利用Matlab求解线性规划问题

上传人:汽*** 文档编号:586541856 上传时间:2024-09-04 格式:PPT 页数:18 大小:308.32KB
返回 下载 相关 举报
数学建模讲座之四-利用Matlab求解线性规划问题_第1页
第1页 / 共18页
数学建模讲座之四-利用Matlab求解线性规划问题_第2页
第2页 / 共18页
数学建模讲座之四-利用Matlab求解线性规划问题_第3页
第3页 / 共18页
数学建模讲座之四-利用Matlab求解线性规划问题_第4页
第4页 / 共18页
数学建模讲座之四-利用Matlab求解线性规划问题_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《数学建模讲座之四-利用Matlab求解线性规划问题》由会员分享,可在线阅读,更多相关《数学建模讲座之四-利用Matlab求解线性规划问题(18页珍藏版)》请在金锄头文库上搜索。

1、利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技河北科技大学大学9/4/20249/4/2024第第1 1页页利用Matlab求解线性规划问题 利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第2 2页页o线性规划是一种优化方法,Matlab优化工具箱中有现成函数linprog对如下式描述的LP问题求解: min f(x) s.t .(约束条件): Ax=b (等式约束条件): Aeqx=beq lb=x=ub利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科

2、技大学9/4/20249/4/2024第第3 3页页linprog函数的调用格式如下:函数的调用格式如下:ox=linprog(f,A,b)ox=linprog(f,A,b,Aeq,beq)ox=linprog(f,A,b,Aeq,beq,lb,ub)ox=linprog(f,A,b,Aeq,beq,lb,ub,x0)ox=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)ox,fval=linprog()ox, fval, exitflag=linprog()ox, fval, exitflag, output=linprog()ox, fval, exitfla

3、g, output, lambda=linprog() 利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第4 4页页其中:其中:ox=linprog(f,A,b)返回值x为最优解向量。ox=linprog(f,A,b,Aeq,beq) 作有等式约束的问题。若没有不等式约束,则令A= 、b= 。ox=linprog(f,A,b,Aeq,beq,lb,ub,x0,options) 中lb ,ub为变量x的下界和上界,x0为初值点,options为指定优化参数进行最小化。 利用利用MatlabMatlab求解线性规划问题求解

4、线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第5 5页页oOptions的参数描述:的参数描述:Display显示水平。 选择off 不显示输出;选择Iter显示每一 步迭代过程的输出;选择final 显示最终结果。利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第6 6页页ox,fval=linprog() 左端 fval 返回解x处的目标函数值。利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第7 7页页x,fv

5、al,exitflag,output,lambda=linprog(f,A,b, Aeq,beq,lb,ub,x0) 的输出部分:oexitflag 描述函数计算的退出条件:若为正值,表示目标函数收敛于解x处;若为负值,表示目标函数不收敛;若为零值,表示已经达到函数评价或迭代的最大次数。ooutput 返回优化信息:output.iterations表示迭代次数;output.algorithm表示所采用的算法;outprt.funcCount表示函数评价次数。olambda 返回x处的拉格朗日乘子。它有以下属性:olambda.lower-lambda的下界;olambda.upper-la

6、mbda的上界;olambda.ineqlin-lambda的线性不等式;olambda.eqlin-lambda的线性等式。利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第8 8页页o下面通过具体的例子来说明:o例如:某农场I、II、III等耕地的面积分别为100 hm2、300 hm2和200 hm2,计划种植水稻、大豆和玉米,要求三种作物的最低收获量分别为190000kg、130000kg和350000kg。I、II、III等耕地种植三种作物的单产如表5.1.4所示。若三种作物的售价分别为水稻1.20元/kg,

7、大豆1.50元/kg,玉米0.80元/kg。那么,(1)如何制订种植计划,才能使总产量最大?(2)如何制订种植计划,才能使总产值最大?利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第9 9页页表1不同等级耕地种植不同作物的单产(单位:kg / hm2)I等耕地II等耕地III等耕地水稻11 0009 5009 000大豆8 0006 8006 000玉米14 00012 00010 000利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第10

8、10页页o首先根据题意建立线性规划模型(决策变量设置如表2所示,表中xij 表示第种作物在第j等级的耕地上的种植面积。):表2 作物计划种植面积(单位:hm2)I等耕地II等耕地III等耕地水稻x11x12x13大豆x22x21x23玉米x31x32x33利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第1111页页o约束方程如下: 耕地面积约束:最低收获量约束: 利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第1212页页o非负约束: 利用

9、利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第1313页页o(1)追求总产量最大,目标函数为:利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第1414页页o(2)追求总产值最大,目标函数为:利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第1515页页o根据求解函数linprog中的参数含义,列出系数矩阵,目标函数系数矩阵,以及约束条件等。o这些参数中没有的设为空。譬

10、如,利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第1616页页o(1)当追求总产量最大时,只要将参数of=-11000 9500 9000 8000 6800 6000 14000 12000 -10000;oA=1.0000 0.0000 0.0000 1.0000 0.0000 0.0000 1.0000 0.0000 0.0000; 0.0000 1.0000 0.0000 0.0000 1.0000 0.0000 0.0000 1.0000 0.0000; 0.0000 0.0000 1.0000 0.00

11、00 0.0000 1.0000 0.0000 0.0000 1.0000; -11000.0000 0.0000 0.0000 -9500.0000 0.0000 0.0000 -9000.0000 0.0000 0.0000; 0.0000 -8000.0000 0.0000 0.0000 -6800.0000 0.0000 0.0000 -6000.0000 0.0000; 0.0000 0.0000 -14000.0000 0.0000 0.0000 -12000.0000 0.0000 0.0000 -10000.0000;ob=100 300 200 -190000 -130000

12、 -350000;olb=0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 ; 代入求解函数 ,即可求得结果。利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第1717页页o(2)当追求总产值最大时,将参数of=-13200 11400 10800 12000 10200 9000 11200 9600 -8000;oA=1.0000 0.0000 0.0000 1.0000 0.0000 0.0000 1.0000 0.0000 0.0000

13、; 0.0000 1.0000 0.0000 0.0000 1.0000 0.0000 0.0000 1.0000 0.0000; 0.0000 0.0000 1.0000 0.0000 0.0000 1.0000 0.0000 0.0000 1.0000; -11000.0000 0.0000 0.0000 -9500.0000 0.0000 0.0000 -9000.0000 0.0000 0.0000; 0.0000 -8000.0000 0.0000 0.0000 -6800.0000 0.0000 0.0000 -6000.0000 0.0000; 0.0000 0.0000 -14

14、000.0000 0.0000 0.0000 -12000.0000 0.0000 0.0000 -10000.0000;ob=100 300 200 -190000 -130000 -350000;olb=0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 ; 代入求解函数 ,即可得到求解结果。 利用利用MatlabMatlab求解线性规划问题求解线性规划问题 河北科技大学河北科技大学9/4/20249/4/2024第第1818页页o线性规划,还有其他的几种调用函数形式,可在Matlab帮助中查找LP或者LINPROG的帮助说明。oHelp LINPROG

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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