Контекст: Мне нужно реализовать NSGA-II в python для следующей задачи оптимизации с двумя целями: у меня есть набор элементов, каждый из которых имеет два неограниченных значения: одно для стоимости и другой - за качество обслуживания. Например:
[(item1, cost=0.4, QoS=0.89),(item2, cost=0.67, QoS=0.42),(item3, cost=0.02, QoS=0.53)]
Цель: Цель состоит в том, чтобы применить алгоритм многокритериальной оптимизации (например, NSGA-II), чтобы выбрать наиболее оптимальный элемент (ы), то есть тот (ы) с оптимальной (минимальной) стоимостью и оптимальным (максимальным) QoS. Более того, мы стремимся сравнить различные алгоритмы оптимизации (мы только начинаем с NSGA-II).
Проблема: Я уже проверял библиотеку pymoo: https://pypi.org/project/pymoo/0.1.2/ и моя основная проблема - это определение «проблемы» оптимизации до выполнения алгоритма NSGA-II. Потому что мой ввод - это не целевые функции, а пары значений (стоимость, QoS). Итак, как я могу ввести этот массив пар в алгоритм NSGA-II, чтобы найти оптимальную пару?
Я совершенно не знаком с алгоритмами оптимизации, поэтому, возможно, моя методология неверна, и я уверен, что я что-то упускаю. Приветствуется любая помощь / объяснение.
Заранее спасибо.