Associate Professor Tsung-Che Chiang

Department of Computer Science and Information Engineering
National Taiwan Normal University

Tel: +886-2-77346692    Fax: +886-2-29322378    Email


¡@
¡@

Tsung-Che Chiang, nsga3cpp: A C++ implementation of NSGA-III, 2014.

Validation & Issues

v1.2 (2016/1/1)

  • After the modification, now the results for solving DTLZ with more than 5 objectives are somewhat acceptable. :)

¡@ M = 8 (best/median/worst IGD in 20 runs) M = 10 (best/median/worst IGD in 20 runs)
¡@ official nsga3cpp official nsga3cpp
DTLZ1 2.044´10-3
3.979
´10-3
8.721
´10-3
3.454´10-3
5.279
´10-3
4.290
´10-2
2.215´10-3
3.462
´10-3
6.869
´10-3
2.257´10-3
4.235
´10-3
2.744
´10-2
DTLZ2 1.371´10-2
1.571
´10-2
1.811
´10-2
1.540´10-2
1.740
´10-2
2.002
´10-2
1.350´10-2
1.528
´10-2
1.697
´10-2
1.384´10-2
1.727
´10-2
2.004
´10-2
DTLZ3 1.244´10-2
2.375
´10-2
9.649
´10-2
1.564´10-2
3.014
´10-2
1.386
´10-1
8.849´10-3
1.188
´10-2
2.083
´10-2
2.014´10-2
3.092
´10-2
4.817
´10-2
DTLZ4 5.079´10-3
7.054
´10-3
6.051
´10-1
3.406´10-3
4.345
´10-3
5.496
´10-3
5.694´10-3
6.337
´10-3
1.076
´10-1
3.633´10-3
4.601
´10-3
5.301
´10-3

v.1.1 (2014/8)

  • Again, please note the nsga3cpp is an *unofficial* implementation of NSGA-III. Here is the comparison between the results of nsga3cpp and the original NSGA-III paper.

    ¡@ M = 3 (best/median/worst IGD in 20 runs) M = 5 (best/median/worst IGD in 20 runs)
    ¡@ official nsga3cpp official nsga3cpp
    DTLZ1 4.880´10-4
    1.308
    ´10-3
    4.880
    ´10-3
    7.5910-4
    2.845
    ´10-3
    2.053
    ´10-2
    5.116´10-4
    9.799
    ´10-4
    1.979
    ´10-3
    7.718´10-4
    2.050
    ´10-3
    4.733
    ´10-2
    DTLZ2 1.262´10-3
    1.357
    ´10-3
    2.114
    ´10-3
    1.585´10-3
    2.731
    ´10-3
    6.911
    ´10-3
    4.254´10-3
    4.982
    ´10-3
    5.862
    ´10-3
    4.701´10-3
    6.299
    ´10-3
    1.547
    ´10-2
    DTLZ3 9.751´10-4
    4.007
    ´10-3
    6.665
    ´10-3
    1.374´10-3
    4.757
    ´10-3
    1.129
    ´10-2
    3.086´10-3
    5.960
    ´10-3
    1.196
    ´10-2
    3.462´10-3
    9.447
    ´10-3
    1.040
    ´10-1
    DTLZ4 2.915´10-4
    5.970
    ´10-4
    4.286
    ´10-1
    2.447´10-4
    5.778
    ´10-4
    5.330
    ´10-1
    9.849´10-4
    1.255
    ´10-3
    1.721
    ´10-3
    4.305´10-4
    7.294
    ´10-4
    1.108
    ´10-3

    For solving 3- and 5-objective DTLZ problems, nsga3cpp can provide similar IGD performance with the official implementation in most cases. In some cases, the worst-case IGD of nsga3cpp is not so good.

    For problems with 8 and higher objectives, nsga3cpp performs very bad. By some analysis and observations, I think that the bad performance is caused by the situation in which the hyperplane cannot be constructed due to duplicate extreme points. Currently nsga3cpp uses a very simple way to deal with the problem. (You can check the code in ConstructHyperplane() in alg_environmental_selection.cpp.) I do appreciate if you are willing to share with me how to deal with this problem better.

    ¡@

¡@

¡@ ¡@
¡@

¡@

¡@