qq_46484277 2022-07-19 23:15 采纳率: 50%
浏览 95

fgoalattain函数的权重问题

fgoalattain函数中默认第一目标值和第二目标值是同等重要的吗

还有为啥权重为啥是根据第一目标值和第二目标值定的昂
不太懂



a=[-1,-1,0,0;0,0,-1,-1;3,0,2,0;0,3,0,2];%约束条件
b=[-30 -30 120 48]';
c1=[-100 -90 -80 -70];%fgoalattain函数以最小优化为目的,所以目标函数的数值目标(也就是下边的goal)是≤的时候,系数为+,目标函数是≥的时候,系数为-
c2=[0 3 0 2];
fun=@(x)[c1;c2]*x  %匿名函数定义目标向量

[x1,g1]=linprog(c1,a,b,[],[],zeros(4,1))%求第一个目标函数的目标值
[x2,g2]=linprog(c2,a,b,[],[],zeros(4,1))%求第二个目标函数的目标值

g3=[g1;g2];
[x,fval]=fgoalattain(fun,rand(4,1),g3,abs(g3),a,b,[],[],zeros(4,1))
%结果 x1=19.0652 x2=10.9348 x3=31.4023 x4=0 第一目标值为5402.8 第二目标值为32.8
   
  • 写回答

1条回答 默认 最新

  • Wayne_Fine Matlab领域优质创作者 2022-07-20 11:13
    关注

    权重可以自定义设置,为[1,1]的时候就是同等重要,权重设置不同,结果可能也不同。
    fgoalattain详细用法参考官方文档:https://ww2.mathworks.cn/help/optim/ug/fgoalattain.html

    评论

报告相同问题?

问题事件

  • 创建了问题 7月19日

悬赏问题

  • ¥15 如何扩大AIS数据容量
  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?