how to solve triple-objective optimization problems