Python中的一种进化计算算法CPIE。

cpie的Python项目详细描述


消费物价指数

Python中基于聚类的有前途的个体封闭体(CPIE)。在

CPIE是一种进化计算算法,它的目标是搜索最佳参数,使黑盒函数,尤其是UV函数最小化。
UV函数有U-valley,它占用很大的搜索空间,但只包含局部最优;V-valley占用较小的搜索空间,但包含全局最优。
e、 g.双球体:f(x)=最小值((x-2)^2+0.1,10*(x+2)^2)

安装

$ pip install cpie

CPIE依赖于numpy,因此如果需要请安装numpy。在

用法示例

首先,您可以导入CPIE模块,如下所示。在

^{pr2}$

然后,你需要准备最小化的目标函数。在

defsphere(x):returnsum(xi*xiforxiinx)defobjective_func(x):returnmin(sphere(x-2)+0.1,10*sphere(x+2))

你可以像下面这样最小化目标函数。在

dimension=2bounds_min=[-10.0]*dimensionbounds_max=[10.0]*dimensioncpie=CPie(bounds_min,bounds_max,Ns=7*dimension)foriinrange(2000):solution=cpie.sample()f_value=objective_func(solution)cpie.update(f_value)cpie.print()

“bounds_min”和“bounds_max”表示搜索空间。
CPIE从搜索空间中单一采样的Ns解开始优化。在

经过优化循环后,可以得到优化解。在

print("global best x",cpie.best.x)print("global best f",cpie.best.f)

CPIE是小生境算法,所以你也可以从每种模式中得到最佳的解决方案。在

bests=cpie.get_bests()fori,binenumerate(bests):print("mode",i," f",b.f)

示例_主.py显示完整的示例代码。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
正在从节点解密字符串。Java中的js?   java未来超时和IO超时   java apache camel多播以异步方式执行聚合   java需要710次尝试在Android和Raspberry Pi之间建立socket连接   在Java中使用“+,”循环绘制形状   java安卓:如何计算两点之间的距离   java多线程Hello World   刷新后缓存共享变量的java Freemarker模板   java我试图通过迭代用整数填充数组,但我得到了ArrayIndexOutOfBoundsException   JNI C++到java 32位图像的不正确显示   java哪个更快:克隆还是使用流?   java cache2k和Generic T不能很好地结合在一起   java如何在读取文件之前更新文件内容?   java如何在GWT中从JSNI方法调用JSNI方法   将MySQL类型文本映射到Java Hibernate的类型   java如何按长度对字符串排序   java RecyclerView:在滚动期间不断更改数据