geatpy icon indicating copy to clipboard operation
geatpy copied to clipboard

如何重启优化

Open abc-hy opened this issue 2 years ago • 9 comments

开发者您好: 想请教一下您:这个优化算法如何重启呢?如果计算机停了,如何接着上一次的运算继续运算呢? 谢谢。

abc-hy avatar Jul 06 '21 23:07 abc-hy

看moea_demo5

geatpy-dev avatar Jul 07 '21 10:07 geatpy-dev

https://github.com/geatpy-dev/geatpy/tree/master/geatpy/demo/moea_demo/moea_demo5 是这个吗?我看了,但并没有找到哪里有明确提到如何接着上一次的运算继续计算的。 请问能具体一些吗?

On Wed, Jul 7, 2021 at 5:17 AM geatpy @.***> wrote:

看moea_demo5

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/geatpy-dev/geatpy/issues/203#issuecomment-875481050, or unsubscribe https://github.com/notifications/unsubscribe-auth/APF2ZCW5T54SEGRKAX2PMYTTWQSS3ANCNFSM475QZBTQ .

abc-hy avatar Jul 07 '21 15:07 abc-hy

[image: image.png] 这个demo5的main.py里面,先得出一个prophetPop,然后把prophetPop放入到27行的run里面,以上一次运算得到最优值所需要的参数,开始新的运算。 在我的代码里,是产生一个Bestindiv的tuple,运算完成后会保存至文件夹里,有好几个文件,那我下一次想接着这一次结束的参数接着运算的话,如何把这几个文件都读取进来赋到myAlgorithm.run()里呢? [image: image.png] 还是说只需要把上一次得到最小值所对应的参数,读取进来,然后赋到myAlgorithm.run()里就可以了? 也就是之前的Phen这个excel里的值。 谢谢。

On Wed, Jul 7, 2021 at 10:10 AM Haiying Yang @.***> wrote:

https://github.com/geatpy-dev/geatpy/tree/master/geatpy/demo/moea_demo/moea_demo5 是这个吗?我看了,但并没有找到哪里有明确提到如何接着上一次的运算继续计算的。 请问能具体一些吗?

On Wed, Jul 7, 2021 at 5:17 AM geatpy @.***> wrote:

看moea_demo5

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/geatpy-dev/geatpy/issues/203#issuecomment-875481050, or unsubscribe https://github.com/notifications/unsubscribe-auth/APF2ZCW5T54SEGRKAX2PMYTTWQSS3ANCNFSM475QZBTQ .

abc-hy avatar Jul 07 '21 16:07 abc-hy

接续运行前,用numpy把数据文件读取然后赋值给一个种群对象的Chrom等属性,就可以把它作为先验种群用于接着进化优化了。

geatpy-dev avatar Jul 18 '21 10:07 geatpy-dev

https://github.com/geatpy-dev/geatpy/blob/master/geatpy/Population.py 我按照这个population.py的第52行,依次在我的main.py相对应的代码处给需要赋值的chrom, phen,等属性附上之前运行结束所得到的值,但是发现,新的优化并不是从我之前赋给它的值开始的,这是怎么回事呢?我使用的优化是:soea_SEGA_templet,就是增强的遗传算法,这个算法产生的phen是最优值的决策变量,既然我赋值了,那新的应该从这个决策变量开始,但是从我的结果来看,里面并没有再次计算之前的Phen的情况,而是从其他的决策变量开始了,这是为什么呢?我这样初始化是对的吗?

abc-hy avatar Aug 24 '21 17:08 abc-hy

附件是我的restart文件,点击main.py即可运行。我在main.py中的14到37行,将之前一次优化所得到的参数读取,并通过第37行,赋值给新的Population。但是得出来的重新开始的优化并不是从我之前赋给它的那个参数开始的。想请教一下,这是什么问题呢?还需要怎么操作才能使新的优化从之前结束的优化所得到的参数重新开始呢? 非常感谢。

On Sun, Jul 18, 2021 at 5:57 AM geatpy @.***> wrote:

接续运行前,用numpy把数据文件读取然后赋值给一个种群对象的Chrom等属性,就可以把它作为先验种群用于接着进化优化了。

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/geatpy-dev/geatpy/issues/203#issuecomment-882038067, or unsubscribe https://github.com/notifications/unsubscribe-auth/APF2ZCWTMHRMSAOX2L6H7XDTYKXSFANCNFSM475QZBTQ .

abc-hy avatar Aug 25 '21 15:08 abc-hy

此问题你可以通过单步调试解决。

geatpy-dev avatar Aug 26 '21 02:08 geatpy-dev

请问楼主解决该问题没?能否分享一下?我也遇到同样的问题

xiaoxiaomu772233 avatar Jun 15 '22 09:06 xiaoxiaomu772233

Thank you. Your email is received and will be handled as soon as possible

zeroraiser avatar Jun 15 '22 09:06 zeroraiser