matlab在目标规划问题中的应用_第1页
matlab在目标规划问题中的应用_第2页
matlab在目标规划问题中的应用_第3页
matlab在目标规划问题中的应用_第4页
matlab在目标规划问题中的应用_第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.不空时,称为有约束优化或强约束优化 问题。 在优化问题中,根据变量、目标函数和约束函数的不同,可以将问题大致 分为: 线性优化 目标函数和约束函数均为线性函数。 二次优化 目标函数为二次函数,而约束条件为线性方程。线性优 化和二次优化统称为简单优化。 非线性优化 目标函数为非二次的非线性函数,或约束条件为非线性 方程。 多目标优化 目标函数并非一个时,称为多目标优化问题。 线性规划等最优化方法只有一个目标函数,是单目标最优化方法。但是, 在许多实际工程问题中,往往希望多个指标都达到最优值,所以它有多个目标 函数。这种问题称为多目标最优化问题。在运筹学中,这类问题分析较难,而 计算最为繁琐。 多目标最优化问题的数学模型为 )(minxFR 1,20miGi xi ,)( ui 其中 为目标函数向量。)(xF 此优化问题在 Matlab 中主要由函数 fgoalattain 来实现。 数学模型: ,minzex goalwiht)(F 0c )(xeq bA uxl 其中 ,weight,goal ,b,beq ,lb 和 ub 为向量, A 和 Aeq 为矩阵,c (x),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 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.TolCon Active Constraints: 5 6 7 x = 2.9167 4.0833 fval = 26.2500 15.7500 attainfactor = 0.3125 exitflag = 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,x 20 需要编写目标函数的 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.TolCon Active Constraints: 4 7 x = 50 50 fval = 150 -100 -50 attainfactor = 0 exitflag = 1 所以,最好的采购方案是采购甲级原料和乙级原料各 50kg。此时采购总费 用为 150 元,总重量为 100kg,甲级原料总重量为 50kg。 后记:Matl

温馨提示

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

最新文档

评论

0/150

提交评论