geatpy-dev / geatpy

Evolutionary algorithm toolbox and framework with high performance for Python
http://www.geatpy.com
GNU Lesser General Public License v3.0
2.02k stars 726 forks source link

这个最好还是去multiprocessing那我想请问一下开发者,是否采用了差分进化的遗传算法就会默认并行计算。 我想对模型中的一个参数进行优化分析,Python中算一个模型的时间大概是19s左右,我设置种群数量为200,最高进化50代,就算是串行计算一代的计算时间也就是19*200为3800s,可是我感觉采用差分进化法(soea_DE_best_1_L_templet)计算的时间跟传统的遗传算法差不多呀。请问我是哪里没有设置对嘛?边发个issue问一下。 #186

Closed canhuaLiu closed 3 years ago

canhuaLiu commented 3 years ago

这个最好还是去multiprocessing那边发个issue问一下。

Originally posted by @geatpy-dev in https://github.com/geatpy-dev/geatpy/issues/178#issuecomment-786481700

geatpy-dev commented 3 years ago

规模不够大,multiprocessing开了并行不但没效果,可能反而更慢。

canhuaLiu commented 3 years ago

规模不够大,multiprocessing开了并行不但没效果,可能反而更慢。

我想问一下,决策变量是X,中间变量U和A是由X决定的,然后我要求目标函数Y=f(U),同时有限制条件A<=a,a已知。这种虽然目标函数是单目标,但是中间变量有约束,在geatpy中该怎么处理啊。

canhuaLiu commented 3 years ago
        希望您能解答一下我的疑问, 由决策变量生成的中间变量h,目标函数是h的函数,我想让淘汰h<0的个体,这样去约束有问题吗?还是我得用适应度函数去淘汰h<0的值。因为我发现我用这个约束,在下一代还是会出现使得h<0的个体

                            lchdlut

                                ***@***.***

    Signature is customized by Netease Mail Master

        在2021年05月13日 09:33,geatpy 写道: 

规模不够大,multiprocessing开了并行不但没效果,可能反而更慢。

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

[

{

@.***": "http://schema.org",

@.***": "EmailMessage",

"potentialAction": {

@.***": "ViewAction",

"target": "https://github.com/geatpy-dev/geatpy/issues/186#issuecomment-840220226",

"url": "https://github.com/geatpy-dev/geatpy/issues/186#issuecomment-840220226",

"name": "View Issue"

},

"description": "View this Issue on GitHub",

"publisher": {

@.***": "Organization",

"name": "GitHub",

"url": "https://github.com"

}

}

]