class PlatEMOProblem(Problem):
def __init__(self, name, obj_num, var_types, lb, ub, **kwargs):
super().__init__(**kwargs)
self.name = name # 问题名称
self.obj_num = obj_num # 目标函数个数
self.var_types = var_types # 变量类型列表
self.lb = lb # 变量下界列表
self.ub = ub # 变量上界列表
def get_name(self):
return self.name
def get_number_of_objectives(self):
return self.obj_num
def get_number_of_variables(self):
return len(self.var_types)
def get_bounds(self):
return self.lb, self.ub
def get_variable_bounds(self, var_id):
return self.lb[var_id], self.ub[var_id]
def evaluate(self, solutions):
for solution in solutions:
# 在这里实现PlatEMO问题的目标函数
pass
问题的创建及定义