§18运用目标达到法求解多目标规划.doc

§18运用目标达到法求解多目标规划.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§18运用目标达到法求解多目标规划

§18. 运用目标达到法求解多目标规划 用目标达到法求解多目标规划的计算过程,可以通过调用Matlab软件系统优化工具箱中fgoalattain函数。Matlab的优化工具箱中,fgoalattain函数用于解决此类问题。 minγ F(x)-weight ·γ≤goal c(x) ≤0 ceq(x)=0 A x≤b Aeq x=beq lb≤x≤ub 其中,x,weight,goal,b,beq,lb和ub为向量A和Aeq为矩阵c(x),ceq(x)和F(x)为函数 x=fgoalattain(F,x0,goal,weight) x=fgoalattain(F,x0,goal,weight,A,b) x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq) x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub) x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon) x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options) x=fgoalattain(F,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2) [x,fval]=fgoalattain(?) [x,fval,attainfactor]=fgoalattain(?) [x,fval,attainfactor,exitflag,output]=fgoalattain(?) [x,fval,attainfactor,exitflag,output,lambda]=fgoalattain(?) 说明:F为目标函数;x0为初值;goal为F达到的指定目标;weight为参数指定权重;A、b为线性不等式约束的矩阵与向量;Aeq、beq为等式约束的矩阵与向量;lb、ub为变量x的上、下界向量;nonlcon为定义非线性不等式约束函数c(x)和等式约束函数ceq(x);options中设置优化参数。 x返回最优解;fval返回解x处的目标函数值;attainfactor返回解x处的目标达到因子;exitflag描述计算的退出条件;output返回包含优化信息的输出参数;lambda返回包含拉格朗日乘子的参数。 例1:A和B,其生产费用分别为元/和元/。两种产品元/元/。AB产品每月的最大生产能力为5和市场这两种产品总量的每月不少于。试问如何安排生产计划,满足市场需,投资最。问题和表示,它们分别代表A、B产品表示生产A、B两种产品的总投资费用(单位:元);表示生产A、B两种产品获得的总利润(单位:元)。那么,该多目标问题和,使: 而且满足: 求解程序如下: ① 编辑目标函数M文件ff12.m function f=ff12(x) f(1)=2*x(1)+4800*x(2); f(2)=-3600*x(1)–6500*x(2); ② 按给定目标取: goal=[30000,-45000]; weight=[30000,-45000]; ③ 给出: x0=[2,2]; A=[1 0; 0 1;-1 -1]; b=[5,8,-9]; lb=zeros(2,1); ④ 调用fgoalattain 函数: [x,fval,attainfactor,exitflag]=fgoalattain(@ff12,x0,goal,weight,A,b,[],[],lb,[]) 运行后,输出结果为: x = 5 4 fval = 29700 -44000 attainfactor = -0.0100 exitflag = 1 例2: 某企业拟用1000万元投资于A、B两个项目的技术改造。设、分别表示分配给A、B项目的投资(万元)。据估计,投资项目A、B的年收益分别为投资的60%和70%;但投资风险损失,与总投资和单项投资均有关系:。据市场调查显示, A项目的投资前景好于B项目,因此希望A项目的投资额不小B项目。试问应该如何在A、B两个项目之间分配投资,才能既使年利润最大,又使风险损失为最小? 该问题、,使: 而且满足: 求解程序如下: ① 首先编辑目标函数M文件ff13.m function f=ff13(x) f(1)=*x(1)-0.7*x(2); f(2)=0.001*x(1)^2+0.002*x(2)^2+0.001*x(1)*x(2); ② 按给定目标取

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档