问题遇到的现象和发生背景
多目标算法优化测试,测试schaffer函数时,对目标函数的定义上出现
TypeError: unsupported operand type(s) for /: 'int' and 'list'
问题相关代码,请勿粘贴截图
原函数Minimize={█(f_1 (x)={█(-x,x≤1@x-2,1<x<3@4-x,3<x≤4@x-4,x>4)┤@f_2 (x)=(x-5)^2 )┤
-5≤x≤10
def evalVars(self, Vars):
interval0 = [1 if (i<=1) else 0 for i in Vars]
interval1 = [1 if (i>1 and i<3) else 0 for i in Vars]
interval2 = [1 if (i>3 and i<=4) else 0 for i in Vars]
interval3 = [1 if (i>4) else 0 for i in Vars]
f1 = -Vars *interval0 + (Vars-2)*interval1 + (4-Vars)*interval2
+(Vars-4)*interval3
f2 = (Vars-5)**2
f = np.hstack([f1,f2])
return f
运行结果及报错内容
File D:\anaconda\lib\site-packages\geatpy\algorithms\moeas\nsga3\moea_NSGA3_templet.py:52 in init
self.mutOper = ea.Mutpolyn(Pm=1 / self.problem.Dim, DisI=20) # 生成多项式变异算子对象
TypeError: unsupported operand type(s) for /: 'int' and 'list'
我的解答思路和尝试过的方法
不知道怎么改了,这应该是python语法的问题,数据格式不对,但是我不知道怎么改