在微分进化优化算法中,如果我有一些好的起点,是否可以设置初始参数?
例如,假设我知道最好的x是[0.1, 0.5,0.3],那么可以在scipy.differential_evolution中添加它吗?
发布于 2018-09-01 09:54:04
scipy.optimize.differential_evolution函数有两个可以使用的参数:
bounds : sequence
变量的界。(min, max)对x中的每个元素,定义func的优化参数的下界和上界。切你可以试试:
界= (0.0,0.2),(0.4,0.6),(0.2,0.4) >>>结果= differential_evolution(my_func,界)
init关键字执行哪种类型的人口初始化:
init : str or array-like, optional
指定执行哪种类型的人口初始化。应包括下列其中一项:- ‘latinhypercube’
- ‘random’
- array specifying the initial population. The array should have shape `(M, len(x))`, where `len(x)` is the number of parameters. `init` is clipped to bounds before use.切
例如,可以使用数组来指定一个总体子集,以便在已知存在解决方案的位置创建大量的初始猜测,从而减少收敛时间。
https://stackoverflow.com/questions/51470343
复制相似问题