minz=cXbAXts..1、模型:用MATLAB优化工具箱解线性规划命令:x=linprog(c,A,b)2、模型:minz=cXs.t.AX≤bAeqX=beq命令:x=linprog(c,A,b,Aeq,beq)注意:若没有不等式:AX≤b存在,则令A=[],b=[].若没有等式约束,则令Aeq=[],beq=[].3、模型:minz=cXs.t.AX≤bAeqX=beqVLB≤X≤VUB命令:[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.例1maxz=0.4x1+0.28x2+0.32x3+0.72x4+0.64x5+0.6x6s.t.0.01x1+0.01x2+0.01x3+0.03x4+0.03x5+0.03x6≤8500.02x1+0.05x4≤7000.02x2+0.05x5≤1000.03x3+0.08x6≤900xj≥0j=1,2,⋯6解编写M文件小xxgh1.m如下:c=[-0.4-0.28-0.32-0.72-0.64-0.6];A=[0.010.010.010.030.030.03;0.02000.0500;00.02000.050;000.03000.08];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)例2minz=6x1+3x2+4x3s.t.x1+x2+x3=120x1≥300≤x2≤50x3≥20解:编写M文件xxgh2.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,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?解设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6。可建立以下线性规划模型:minz=13x1+9x2+10x3+11x4+12x5+8x6s.t.{x1+x4=400x2+x5=600x3+x6=5000.4x1+1.1x2+x3≤8000.5x4+1.2x5+1.3x6≤900xi≥0,i=1,2,⋯,6编写M文件xxgh3.m如下:f=[1391011128];A=[0.41.110000000.51.21.3];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元/小时;二级检验员的标准为:速度15小时/件,正确率95%,计时工资3元/小时。检验员每错检一次,工厂要损失2元。为使总检验费用最省,该工厂应聘一级、二级检验员各几名?解设需要一级和二级检验员的人数分别为x1、x2人,则应付检验员的工资为:因检验员错检而造成的损失为:故目标函数为:约束条件为:线性规划模型:编写M文件xxgh4.m如下:c=[40;36];A=[-5-3];8×4×x1+8×3×x2=32x1+24x2(8×25×2%×x1+8×15×5%×x2)×2=8x1+12x2minz=(32x1+24x2)+(8x1+12x2)=40x1+36x2{8×25×x1+8×15×x2≥18008×25×x1≤18008×15×x2≤1800x1≥0,x2≥0minz=40x1+36x2s.t.{5x1+3x2≥45x1≤9x2≤15x1≥0,x2≥0b=[-45];Aeq=[];beq=[];vlb=zeros(2,1);vub=[9;15];%调用linprog函数:[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)结果为:x=9.00000.0000fval=360即只需聘用9个一级检验员。Matlab优化工具箱简介1.MATLAB求解优化问题的主要函数2.优化函数的输入变量使用优化函数或优化工具箱中其它优化函数时,输入变量见下表:3.优化函数的输出变量下表: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...