gtoschome 发表于 2010-2-24 15:57

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

有哪位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一直写不出来
麻烦高手帮忙了 感谢

ChaChing 发表于 2010-3-2 23:54

本版规则:6)求助完整格式:出错代码和出错提示
页: [1]
查看完整版本: [求助]多目标优化里的RANK排序程序该怎么写(使用MATLAB)