线性规划问题Matlab求解

您所在的位置:网站首页 模糊线性规划如何求解 线性规划问题Matlab求解

线性规划问题Matlab求解

#线性规划问题Matlab求解| 来源: 网络整理| 查看: 265

线性规划问题Matlab求解 来源:用户分享 时间:2023/2/5 4:57:37 本文由晴栀 分享 下载这篇文档手机版 说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:fanwen365或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

用MATLAB优化工具箱解线性规划 命令:x=linprog(c,A,b)

命令:x=linprog(c,A,b,Aeq,beq)

注意:若没有不等式: 存在,则令A=[ ],b=[ ]. 若没有等式约束, 则令Aeq=[ ], beq=[ ]. 命令:[1] x=linprog(c,A,b,Aeq,beq, VLB,VUB)

[2] x=linprog(c,A,b,Aeq,beq, VLB,VUB, X0) 注意:[1] 若没有等式约束, 则令Aeq=[ ], beq=[ ]. [2]其中X0表示初始点 4、命令:[x,fval]=linprog(…)

返回最优解x及x处的目标函数值fval. 例1 解 编写M文件小如下: c=[ ];

A=[ ; 0 0 0 0;0 0 0 0;0 0 0 0 ]; b=[850;700;100;900]; Aeq=[]; beq=[]; vlb=[0;0;0;0;0;0]; vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) 例2 解: 编写M文件如下: c=[6 3 4]; A=[0 1 0]; b=[50]; Aeq=[1 1 1]; beq=[120]; vlb=[30,0,20];

vub=[];

[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub

例3 (任务分配问题)某车间有甲、乙两台机床,可用于加工三种工件。 假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、 600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工 费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使 加工费用最低

解 设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上 加工工件1、2、3的数量分别为x4、x5、x6。可建立以下线性规划模型: 编写M文件如下: f = [13 9 10 11 12 8]; A = [ 1 0 0 0 0 0 0 ]; b = [800; 900]; Aeq=[1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1]; beq=[400 600 500]; vlb = zeros(6,1); vub=[];

[x,fval] = linprog(f,A,b,Aeq,beq,vlb,vub)

例4.某厂每日8小时的产量不低于1800件。为了进行质量控制,计划聘请两种不同水平的检验员。一级检验员的标准为:速度25件/小时,正确率98%,计时工资4元/小时;二级检验员的标准为:速度15小时/件,正确率95%,计时工资3元/小时。检验员每错检一次,工厂要损失2元。为使总检验费用最省,该工厂应聘一级、二级检验员各几名 解 设需要一级和二级检验员的人数分别为x1、x2人, 编写M文件如下:

c = [40;36]; A=[-5 -3]; b=[-45]; Aeq=[]; beq=[]; vlb = zeros(2,1); vub=[9;15]; %调用linprog函数:

[x,fval] = linprog(c,A,b,Aeq,beq,vlb,vub) 结果为: x = fval =360

即只需聘用9个一级检验员。 4.控制参数options的设置

Options中常用的几个参数的名称、含义、取值如下:

(1) Display: 显示水平.取值为’off’时,不显示输出; 取值为’iter’时,显示每次迭代的信息;取值为’final’时,显示最终结果.默认值为’final’.

(2) MaxFunEvals: 允许进行函数评价的最大次数,取值为正整数. (3) MaxIter: 允许进行迭代的最大次数,取值为正整数

控制参数options可以通过函数optimset创建或修改。命令的格式如下: (1) options=optimset(‘optimfun’)

创建一个含有所有参数名,并与优化函数optimfun相关的默认值的选项结构options. (2)options=optimset(‘param1’,value1,’param2’,value2,...)

创建一个名称为options的优化选项参数,其中指定的参数具有指定值,所有未指定的参数取默认值. (3)options=optimset(oldops,‘param1’,value1,’param2’, value2,...)

创建名称为oldops的参数的拷贝,用指定的参数值修改oldops中相应的参数. 例:opts=optimset(‘Display’,’iter’,’TolFun’,1e-8)

该语句创建一个称为opts的优化选项结构,其中显示参数设为’iter’, TolFun参数设为1e-8. 用Matlab解无约束优化问题 一元函数无约束优化问题

常用格式如下:

(1)x= fminbnd (fun,x1,x2)

(2)x= fminbnd (fun,x1,x2 ,options) (3)[x,fval]= fminbnd(...) (4)[x,fval,exitflag]= fminbnd(...) (5)[x,fval,exitflag,output]= fminbnd(...)

其中(3)、(4)、(5)的等式右边可选用(1)或(2)的等式右边。

函数fminbnd的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解。 例1 求 在0

f='2*exp(-x).*sin(x)';

fplot(f,[0,8]); %作图语句 [xmin,ymin]=fminbnd (f, 0,8) f1='-2*exp(-x).*sin(x)'; [xmax,ymax]=fminbnd (f1, 0,8) 运行结果:

xmin = ymin = xmax = ymax =

例2 对边长为3米的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大

先编写M文件如下: function f=fun0(x) f=-(3-2*x).^2*x; 主程序为:

[x,fval]=fminbnd('fun0',0,; xmax=x fmax=-fval

运算结果为: xmax = ,fmax =.即剪掉的正方形的边长为米时水槽的容积最大,最大容积为2立方米. 2、多元函数无约束优化问题 标准型为:min F(X) 命令格式为:

(1)x= fminunc(fun,X0 );或x=fminsearch(fun,X0 ) (2)x= fminunc(fun,X0 ,options); 或x=fminsearch(fun,X0 ,options) (3)[x,fval]= fminunc(...); 或[x,fval]= fminsearch(...) (4)[x,fval,exitflag]= fminunc(...); 或[x,fval,exitflag]= fminsearch

(5)[x,fval,exitflag,output]= fminunc(...); 或[x,fval,exitflag,output]= fminsearch(...) 说明:

fminsearch是用单纯形法寻优. fminunc的算法见以下几点说明:

[1] fminunc为无约束优化提供了大型优化和中型优化算法。由options中的参数LargeScale控制:

1

搜索更多关于: 线性规划问题Matlab求解 的文档 线性规划问题Matlab求解.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载这篇word文档 本文链接:https://www.cmpx.com.cn/c6q6ep64dwc2b61z97l7x8uhsm07tfq016z0_1.html(转载请注明文章来源)

相关推荐:

线性规划问题Matlab求解高中主题班会优秀活动方案详细版_1【施工现场临时用电安全技术规范最新范文】现场临时用电安全技术规范《幼儿园教师专业标准》(试行)医学检验专业毕业生质量调查与分析广东省木质家具制造行业挥发性有机化合物排放系数使用指南仓管转正申请书范文车辆运输管理制度柱塞式喷油泵工作原理2011年考研英语二真题及答案解析房地产楼盘产品推介会执行方案学生谈话记录 [实用参考]宫斗职位表大全2021届高考数学考点与题型全归纳(文科)第四章 第七节 正弦定理和余弦定理(二最新申论万能八条 X62W万能铣床电气控制系统的PLC改造最新智能建筑系统试运行记录2018高考真题英语全国1卷含答案最新国家开放大学电大本科《学前教育原理》单项选择题题库及答案(试卷号:0893)科技素养与高新技术(19秋)形考作业4


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3