声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1057|回复: 1

[编程技巧] [求助]多目标优化里的RANK排序程序该怎么写(使用MATLAB)

[复制链接]
发表于 2010-2-24 15:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
有哪位MATLAB的高手会写多目标优化里的RANK排序呢
假设我有两个目标(f1, f2)

然后我有以下6个结果A(16,10) C(10,8) D(4,15) F(7,11) H(19,5) J(9,3)
我要找出它的"最好的解"(目标望小)


第一步是要找出每个解的RANK (目标望小)

假设J跟C比较,J的f1是9 比C的10小(所以J赢),接着J的f2是3 也比C的8小(所以J又赢了),代表J是比C还要好的因为它的f1.f2都比C还小,因此C的RANK是[ 2 ] (因为它输给J,排第二名)

然后J跟D比较,J的f1是9比D的4大(所以D赢),但是J的f2是3又比D的15小(所以D输了),因为J跟D比较起来互有大小的关系所以无法判定输赢故称[平手],因此J跟D的RANK都是[ 1 ] (因为它们没有f1,f2皆输的结果所以排第一名)

而A的f1,f2又都比C的f1,f2大 所以A的RANK是[ 3 ] (因为它输给C又输给J所以是第三名)

而H虽然看起来跟A平手,但因为H也跟C平手而且输给J所以RANK必须跟C一样是[ 2 ]而不是3

最后从上面那些可以看出DFJ 它们的RANK都是1,CH是2,A是3


这方法便是所谓的Multi-objective Genetic Algorithm (MOGA)

但我MATLAB一直写不出来
麻烦高手帮忙了 感谢
回复
分享到:

使用道具 举报

发表于 2010-3-2 23:54 | 显示全部楼层
本版规则:6)求助完整格式:出错代码和出错提示
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-30 21:26 , Processed in 0.066449 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表