首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pygmo包抛出了一个我无法理解的错误。我想知道是不是由于我的成本函数中的scipy命令

pygmo包抛出了一个我无法理解的错误。我想知道是不是由于我的成本函数中的scipy命令
EN

Stack Overflow用户
提问于 2019-08-07 18:13:25
回答 1查看 66关注 0票数 0

我正在尝试使用pygmo进行优化。我正面临来自pygmo包的错误。它基本上是一个向量优化。当我初始化填充时,我得到了以下错误:"TypeError:没有注册的转换器能够从类型为numpy.ndarray的C++对象中生成类型为double的Pythonr值“

我试图从我的函数中删除scipy命令,但是我的函数抛出了错误。

代码语言:javascript
复制
    class square_fit:
def fitness(self,rect_length):
    sq_area = rect_width*rect_length
    pulse_area =sc.integrate.simps(vge_reg, dx=0.1)
    rmse = pulse_area-sq_area
    return [sq_area,pulse_area,rmse]
def get_bounds(self):
    return ([2.5],[3.633])

algo = pg.algorithm(uda = pg.nlopt('auglag'))
algo.extract(pg.nlopt).local_optimizer = pg.nlopt('var2')
algo.set_verbosity(200)
pop = pg.population(prob = square_fit(), size = 1) # error happens
pop.problem.c_tol = [1E-6] * 6
pop = algo.evolve(pop)

我想知道我是否可以通过在我的成本函数中包含来自其他python包的命令,比如numpy或scipy,在pygmo中进行优化。什么是c++rvalue ?哪个变量称为numpy.ndarray

EN

回答 1

Stack Overflow用户

发布于 2019-09-19 12:57:17

我找到了这个错误的原因。您只需要定义由适应度函数返回的变量的返回类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57392039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档