用Matlab求解优化问题_第1页
用Matlab求解优化问题_第2页
用Matlab求解优化问题_第3页
用Matlab求解优化问题_第4页
用Matlab求解优化问题_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用MATLAB优化工具箱解线性规划MINZCXBAXTS1、模型命令XLINPROG(C,A,B)2、模型BEQXMINTSZ命令XLINPROG(C,A,B,AEQ,BEQ)注意若没有不等式存在,则令A,B若没有等式约束,则令AEQ,BEQ3、模型VUBXLBEQAMINTSCZ命令1XLINPROG(C,A,B,AEQ,BEQ,VLB,VUB)2XLINPROG(C,A,B,AEQ,BEQ,VLB,VUB,X0)注意1若没有等式约束,则令AEQ,BEQ2其中X0表示初始点4、命令X,FVALLINPROG返回最优解及处的目标函数值FVAL例1MAX6543210720804XXXZ83TS524908036X,21JXJ解编写M文件小XXGH1M如下C0402803207206406A001001001003003003002000050000020000500000300008B850700100900AEQBEQVLB000000VUBX,FVALLINPROGC,A,B,AEQ,BEQ,VLB,VUB例232146MINXZ10TS5023X解编写M文件XXGH2M如下C634A010B50AEQ111BEQ120VLB30,0,20VUBX,FVALLINPROGC,A,B,AEQ,BEQ,VLB,VUB例3(任务分配问题)某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低解设在甲车床上加工工件1、2、3的数量分别为X1、X2、X3,在乙车床上加工工件1、2、3的数量分别为X4、X5、X6。可建立以下线性规划模型6542809MINXXXZ6,21,09035846535241IXXTSI编写M文件XXGH3M如下F1391011128A04111000000051213单位工件所需加工台时数单位工件的加工费用车床类型工件1工件2工件3工件1工件2工件3可用台时数甲041101391080乙051213112890B800900AEQ100100010010001001BEQ400600500VLBZEROS6,1VUBX,FVALLINPROGF,A,B,AEQ,BEQ,VLB,VUB例4某厂每日8小时的产量不低于1800件。为了进行质量控制,计划聘请两种不同水平的检验员。一级检验员的标准为速度25件/小时,正确率98,计时工资4元/小时;二级检验员的标准为速度15小时/件,正确率95,计时工资3元/小时。检验员每错检一次,工厂要损失2元。为使总检验费用最省,该工厂应聘一级、二级检验员各几名解设需要一级和二级检验员的人数分别为X1、X2人,则应付检验员的工资为因检验员错检而造成的损失为故目标函数为约束条件为线性规划模型编写M文件XXGH4M如下C4036A53B45AEQBEQ21214384XX21218525X2121213640843MINXXZ0,185212X21364MINXZ0,5921XTSVLBZEROS2,1VUB915调用LINPROG函数X,FVALLINPROGC,A,B,AEQ,BEQ,VLB,VUB结果为X9000000000FVAL360即只需聘用9个一级检验员。MATLAB优化工具箱简介1MATLAB求解优化问题的主要函数2优化函数的输入变量使用优化函数或优化工具箱中其它优化函数时,输入变量见下表3优化函数的输出变量下表类型模型基本函数名一元函数极小MINF(X)STX10,则X为解否则,X不是最终解,它只是迭代制止时优化过程的值所有优化函数FVAL解X处的目标函数值LINPROG,QUADPROG,FGOALTAIN,FMCNFMINMAXLSQCURVEFTLSQOL,FMINBDEXITFLAG描述退出条件EXITFLAG0,表目标函数收敛于解X处表已达到函数评价或迭代的最大次数EXITFLAG0,且A11A12;同理,P2B2A21X1A22X2,B2,A21,A2202成本与产量成负指数关系甲的成本随其产量的增长而降低,且有一个渐进值,可以假设为负指数关系,即,111CRCERQX同理,0222模型建立总利润为ZX1,X2P1Q1X1P2Q2X2若根据大量的统计数据,求出系数B1100,A111,A1201,B2280,A2102,A222,R130,10015,C120,R2100,2002,C230,则问题转化为无约束优化问题求甲,乙两个牌号的产量X1,X2,使总利润Z最大为简化模型,先忽略成本,并令A120,A210,问题转化为求Z1B1A11X1X1B2A22X2X2的极值显然其解为X1B1/2A1150,X2B2/2A2270,我们把它作为原问题的初始值模型求解1建立M文件FUNMFUNCTIONFFUNXY1100X101X230EXP0015X120X1Y228002X12X2100EXP002X230X2FY1Y22输入命令X050,70XFMINUNCFUN,X0,ZFUNX3计算结果X239025,624977,Z64135E003即甲的产量为239025,乙的产量为624977,最大利润为64135非线性规划1、二次规划用MATLAB软件求解,其输入格式如下1XQUADPROGH,C,A,B2XQUADPROGH,C,A,B,AEQ,BEQ3XQUADPROGH,C,A,B,AEQ,BEQ,VLB,VUB4XQUADPROGH,C,A,B,AEQ,BEQ,VLB,VUB,X0标准型为MINZ2XTHCTXSTAXBBEQVLBXVUB5XQUADPROGH,C,A,B,AEQ,BEQ,VLB,VUB,X0,OPTIONS6X,FVALQUAPROG7X,FVAL,EXITFLAGQUAPROG8X,FVAL,EXITFLAG,OUTPUTQUAPROG例1MINFX1,X22X16X2X122X1X22X22STX1X22X12X22X10,X201、写成标准形式21212161,MINXXXZT2120XST2、输入命令H1112C26A1112B22AEQBEQVLB00VUBX,ZQUADPROGH,C,A,B,AEQ,BEQ,VLB,VUB3、运算结果为X0666713333Z82222一般非线性规划标准型为MINFXSTAXBGXBEQXA0CEQX0VLBXVUB其中X为N维变元向量,GX与CEQX均为非线性函数组成的向量,其它变量的含义与线性规划、二次规划中相同用MATLAB求解上述问题,基本步骤分三步1首先建立M文件FUNM,定义目标函数F(X)FUNCTIONFFUNXFFX2若约束条件中有非线性约束GX或CEQX0,则建立M文件0NONLCONM定义函数GX与CEQXFUNCTIONG,CEQNONLCONXGCEQ3建立主程序非线性规划求解的函数是FMINCON,命令的基本格式如下1XFMINCONFUN,X0,A,B2XFMINCONFUN,X0,A,B,AEQ,BEQ3XFMINCONFUN,X0,A,B,AEQ,BEQ,VLB,VUB4XFMINCONFUN,X0,A,B,AEQ,BEQ,VLB,VUB,NONLCON5XFMINCONFUN,X0,A,B,AEQ,BEQ,VLB,VUB,NONLCON,OPTIONS6X,FVALFMINCON7X,FVAL,EXITFLAGFMINCON8X,FVAL,EXITFLAG,OUTPUTFMINCON注意1FMINCON函数提供了大型优化算法和中型优化算法。默认时,若在FUN函数中提供了梯度(OPTIONS参数的GRADOBJ设置为ON),并且只有上下界存在或只有等式约束,FMINCON函数将选择大型算法。当既有等式约束又有梯度约束时,使用中型算法。2FMINCON函数的中型算法使用的是序列二次规划法。在每一步迭代中求解二次规划子问题,并用BFGS法更新拉格朗日HESSIAN矩阵。3FMINCON函数可能会给出局部最优解,这与初值X0的选取有关。例22121MINXXFST0,546321X1、写成标准形式ST0546321X20212MINXF2、先建立M文件FUN3MFUNCTIONFFUN3XFX12X21/2X121/2X223、再建立主程序YOUH2MX011A2314B65AEQBEQVLB00VUBX,FVALFMINCONFUN3,X0,A,B,AEQ,BEQ,VLB,VUB4、运算结果为X0764710588FVAL20294例30151242MIN2211XXTSXEFX1先建立M文件FUN4M,定义目标函数FUNCTIONFFUN4XFEXPX14X122X224X1X22X212再建立M文件MYCONM定义非线性约束FUNCTIONG,CEQMYCONXGX1X215X1X2X1X2X1X2103主程序YOUH3M为X011ABAEQ11BEQ0VLBVUBX,FVALFMINCONFUN4,X0,A,B,AEQ,BEQ,VLB,VUB,MYCON3运算结果为X1225012250FVAL18951例4资金使用问题设有400万元资金,要求4年内使用完,若在一年内使用资金X万元,则可得效益万元效益不能再使用,当年不用的资金可存入银行,年利率为10试制定出资金的X使用计划,以使4年效益之和为最大设变量表示第I年所使用的资金数,则有IX4,321,04532840MA43214321IXXXTSXXZI1先建立M文件FUN44M,定义目标函数FUNCTIONFFUN44XFSQRTX1SQRTX2SQRTX3S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论