《线性规划问题Matlab求解》由会员分享,可在线阅读,更多相关《线性规划问题Matlab求解(6页珍藏版)》请在金锄头文库上搜索。
1、用MATLAB优化工具箱解线性规划命令:x=linprog(c,A,b)命令:x=linprog(c,A,b,Aeq,beq)注意:若没有不等式:存在,则令A=,b=.若没有等式约束,则令Aeq=,beq=.命令:1x=linprog(c,A,b,Aeq,beq,VLB,VUB)2x=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=;0000;0000;0000;b=850;700;100;90
2、0;Aeq=;beq=;vlb=0;0;0;0;0;0;vub=;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub)例2解:编写M文件如下:c=634;A=010;b=50;Aeq=111;beq=120;vlb=30,0,20;vub=口;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub例3(任务分配问题)某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足
3、加工工件的要求,又使加工费用最低解设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6o可建立以下线性规划模型:编写M文件如下:f=1391011128;A=1000000;b=800;900;Aeq=100100010010001001;beq=400600500;vlb=zeros(6,1);vub=;x,fval=linprog(f,A,b,Aeq,beq,vlb,vub)例4.某厂每日8小时的产量不低于1800件。为了进行质量控制,计划聘请两种不同水平的检验员。一级检验员的标准为:速度25件/小时,正确率98%,计时工资4
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中常用的几个参数的名称、含义、取值如下:Display:
5、显示水平.取值为of时,不显示输出;取值为ite时,显示每次迭代的信息;取值为fina寸,显示最终结果.默认值为final.MaxFunEvals:允许进行函数评价的最大次数,取值为正整数.(3) MaxIter:允许进行迭代的最大次数,取值为正整数控制参数options可以通过函数optimset创建或修改。命令的格式如下:(1) options=optimset(optimfun)创建一个含有所有参数名,并与优化函数optimfun相关的默认值的选项结构options.(2) options=optimset(paramT,value1,param?,value2,.)创建一个名称为opt
6、ions的优化选项参数,其中指定的参数具有指定值,所有未指定的参数取默认值.(3)options=optimset(oldops,param1,value1,param2,value2,.)创建名称为oldops的参数的拷贝,用指定的参数值修改oldops中相应的参数.例:opts=optimset(Display,iter,-8TolFun,1e该语句创建一个称为opts的优化选项结构,其中显示参数设为iter,ToFun设为1e-8.用Matlab解无约束优化问题一元函数无约束优化问题常用格式如下:(1) x=fminbnd(fun,x1,x2)(2) x=fminbnd(fun,x1,x
7、2,options)(3) x,fval=fminbnd(.)(4) x,fval,exitflag=fminbnd()(5) x,fval,exitflag,output=fminbnd()其中(3)、(4)、(5)的等式右边可选用(1)或(2)的等式右边。函数fminbnd的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解。例1求在0Vx0,且a11a12;同理,p2=b2-a21x1-a22x2,b2,a21,a2202 .成本与产量成负指数关系甲的成本随其产量的增长而降低,且有一个渐进值,可以假设为负指数关系,总利润为:Z(x1,x2)=(p1-q1)x1+(p2-q2)x2若根据大量白统计数据,求出系数b1=100,a11=1,a12=,b2=280,a21=,a22=2,r1=30,入1=,c1=20,r2=100,入则=,c2=30,问题转化为无约束优化问题: