Matlab在目标规划问题中的应用.doc_第1页
Matlab在目标规划问题中的应用.doc_第2页
Matlab在目标规划问题中的应用.doc_第3页
Matlab在目标规划问题中的应用.doc_第4页
Matlab在目标规划问题中的应用.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

Matlab在目标规划问题中的应用问题提出:在生活和工作中,人们对于同一个问题往往会提出多个解决方案,并通过各方面的论证从中提取最佳方案。最优化方法就是专门研究如何从多个方案中科学合理地提取出最佳方案的科学。优化问题无所不在,最优化方法的应用和研究也已经深入到了生产和科研的各个领域,如军事指挥、机械工程、运输调度、生产控制、经济规划与管理等,并取得了显著的经济效益和社会效益。这学期我们系统科学专业指挥类学员开设运筹学这门课,初步见识最优化方法的魅力。如今最优化方法的发展迅速,已经包含有多个分支,如线性规划、整数规划、非线性规划、动态规划、多目标规划等。利用Matlab的优化工具箱,可以求解线性规划、非线性规划和多目标规划问题。在学习运筹学的过程中,我们了解所谓优化问题,就是求解如下形式的最优解: Min fun (x) Sub. to C.E. B.C.其中fun (x)称为目标函数,“Sub. to”为“subject to”的缩写,由其引导的部分称为约束条件。C.E.表示Condition Equations,即条件方程,可为等式方程,也可为不等式方程。B.C.表示Boundary Conditions,即边界条件,用来约束自变量的求解域,以lbxub的形式给出。当C.E.为空时,此优化问题称为自由优化或无约束优化问题;当C.E.不空时,称为有约束优化或强约束优化问题。在优化问题中,根据变量、目标函数和约束函数的不同,可以将问题大致分为:线性优化 目标函数和约束函数均为线性函数。二次优化 目标函数为二次函数,而约束条件为线性方程。线性优化和二次优化统称为简单优化。非线性优化 目标函数为非二次的非线性函数,或约束条件为非线性方程。多目标优化 目标函数并非一个时,称为多目标优化问题。线性规划等最优化方法只有一个目标函数,是单目标最优化方法。但是,在许多实际工程问题中,往往希望多个指标都达到最优值,所以它有多个目标函数。这种问题称为多目标最优化问题。在运筹学中,这类问题分析较难,而计算最为繁琐。多目标最优化问题的数学模型为 其中为目标函数向量。此优化问题在Matlab中主要由函数fgoalattain来实现。数学模型: 其中,weight,goal,b,beq,lb和ub为向量,A和Aeq为矩阵,c (x),ceq (x)和F (x)为函数,返回向量。F (x),c (x) 和ceq (x)可以是非线性函数。Matlab方法: fgoalattain 求解多目标达到问题x = fgoalattain(fun,x0,goal,weight) 试图通过变化x来使目标函数fun达到goal指定的目标。初值为x0,weight参数指定权重。x = fgoalattain(fun,x0,goal,weight,A,b) 求解目标达到问题,约束条件为线性不等式A*x = b。x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq) 求解目标达到问题,除提供上面的线性不等式外,还提供线性等式Aeq*x = beq。当没有不等式存在时,设置A= 和b= 。x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub) 为设计变量x定义下界lb和上界ub集合,这样始终有lb = x = ub。x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon) 将目标达到问题归结为nonlcon参数定义的非线性不等式c (x)或非线性等式ceq (x)。fgoalattain优化的约束条件为c(x) goal=20 12; weight=20 12; x0=2 5; A=1 0;0 1; -1 -1; b=5 6 7; b=5 6 -7; lb=zeros(2,1); x,fval,attainfactor,exitflag=fgoalattain(Ex1,x0,goal,weight,A,b, , ,lb, )Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolConActive Constraints: 5 6 7x = 2.9167 4.0833fval = 26.2500 15.7500attainfactor = 0.3125exitflag = 1实例2 某工厂因生产需要欲采购一种原材料,市场上的这种原料有两个等级,甲级单价2元/kg,乙级单价1元/kg。要求所花总费用不超过200元,购得原料总量不少于100kg,其中甲级原料不少于50kg,问如何确定最好的采购方案。解:设x1和x2分别为采购甲级和乙级原料的数量(kg),要求采购总费用尽量少,采购总量尽量多,采购甲级原料尽量多。由题意建立下面的数学模型: min z1 = 2x1+x2 max z2 = x1+x2 max z3 = x1 2x1+x2200 x1+x2100 x150 x1,x20需要编写目标函数的M文件Ex2.m,返回目标计算值:function f=Ex2(x)f(1)=2*x(1)+x(2);f(2)=-x(1)-x(2);f(3)=-x(1);给定目标,权重按目标比例确定,给出初值,在Matlab中实现: goal=200 -100 -50; weight=200 -100 -50; x0=50 50; A=2 1;-1 -1;-1 0; b=200 -100 -50; lb=zeros(2,1); x,fval,attainfactor,exitflag=fgoalattain(Ex2,x0,goal,weight,A,b, , ,lb, )Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolConActive Constraints: 4 7x = 50 50fval = 150 -100 -50attainfactor = 0exitflag = 1所以,最好的采购方案是采购甲级原料和乙级原料各50kg。此时采购总费用为150元,总重量为100kg,甲级原料总重量

温馨提示

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

评论

0/150

提交评论