C++ implementations of SGA and NSGA-II for solving multi-objective optimization problem. The benchmark function used by default is SCH2.
SGA with naive weighted-sum approach.
g++ -O3 -Werror -Wall -Wextra -Wpedantic -std=c++14 -o sga sga.cpp
NSGA-II is implemented as outlined in the original research paper by K. Deb et al.
g++ -O3 -Werror -Wall -Wextra -Wpedantic -std=c++14 -o nsga nsga.cpp
The problems on the which the algorithms run can be changed by changing the
contents of the SGAIndividual::calc_objs()
and
NSGAIndividual::calc_objs()
functions.