Значение истинности массива с более чем одним элементом неоднозначно. Используйте пакет a.any () или a.all () - утконос - PullRequest
0 голосов
/ 02 марта 2020

Я использую пакет platypus для мультиоптимизации (более конкретно, я хочу использовать алгоритм NSGA2 для генерации решений оптимального парето)

вот мой код

def obj_function(vars):
    now.p2=vars[0]
    now.p3=vars[1]
    var=pd.concat([now.time, now.p2, now.p3], axis=1)
    return[rm_load.predict(var), abs(500-rm_lux.predict(var))] 

    #I use RF model as objective function

problem=Problem(2,2)
problem.types[:]=[Real(0,100),Real(0,100)]
problem.function = obj_function
problem.directions[:] = Problem.MINIMIZE

algorithm=NSGAII(problem)
algorithm.run(1000)

после запуска этот код, я получил это сообщение об ошибке.

ValueError: Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all ()

Возможные решения генерируются после выполнения кода. но недоминируемых решений нет. (из-за той же ошибки)

Поскольку я новичок в python и не могу найти простых и правильных примеров об этом пакете, «Утконос», если есть какие-либо рекомендации по поводу простого пакета для оптимизации нескольких объектов , Было бы здорово.

Спасибо.

...