Git Product home page Git Product logo

Comments (3)

1061655504 avatar 1061655504 commented on May 26, 2024

我运行如下代码:
...
[pop_trace, var_trace, times] = ga.sga_real_templet(AIM_M, 'aimfuc',
None, None, FieldDR, problem = 'I', maxormin =1, MAXGEN = 64,
NIND = 32, SUBPOP = 1, GGAP = 0.85, selectStyle = 'sus',
recombinStyle = 'xovdp', recopt = 0.85, pm = 0.2, distribute =
True, drawing = 1)
print('目标函数最大值:',np.max(pop_trace[:, 1])) # 输出目标函数最大值
print("10 win:", heapq.nsmallest(10,pop_trace[:, 1]))
a=np.reshape(pop_trace[:,1], (-1,1))
b=pd.DataFrame(np.hstack((var_trace,a)))
b.to_csv('output/ipga_result.csv')
print(Top_10_lst)
np.save("top10_result.npy",Top_10_lst)
Top_10=pd.DataFrame(Top_10_lst)
Top_10.to_csv('output/top10_result.csv')
print("end!")

  1. 如果在debug状态下跟踪运行, 结果是正常的. 但在正常运行时, 这个学习过程运行了两遍, 并且后面的结果可能全是0, 把第一次的内容冲掉了.
  2. 这个pop_trace[:,0]好像是均值, 和quickstart里面的介绍刚好反了.
  3. 这只是个建议, 未必和你们初衷. 多代训练后, var_trace里只是记录了每代中的最优, 最后信息重复了. 但其实有时希望能够记录整体训练过程中的, 比如top10, 最优.
    我是在aimfuc中加了一点
    def aimfuc(Phen, LegV):
    global Top_10_lst
    ...
    fit_element=...
    not_good=np.max(Top_10_lst[:,41])
    not_good_row=np.argmax(Top_10_lst[:,41])
    if fit_element<not_good:
    Top_10_lst[not_good_row, 0:40]=Phen[i,0:40]
    Top_10_lst[not_good_row, 41]=fit_element

您好!pop_trace是算法模板中的进化记录器,quickstart中实现的是自定义的算法模板,里面的pop_trace相关记录的顺序恰好是和geatpy内置的sga_real_templet算法模板相反的。详见源码:https://github.com/geatpy-dev/geatpy/blob/master/geatpy/source-code/templets/sga_real_templet.py
以及:
https://github.com/geatpy-dev/geatpy/blob/master/geatpy/demo/quickstart_demo/quickstart_demo.py

您可以自由创建算法模板,来实现改进、创新的进化算法。无论是geatpy内置模板,还是demo中的自定义模板,都是提供了一些范例,它们也有局限性,也不是最优的、不是最符合各个人、各个项目的需求的。因此,十分赞同您能够结合自己的需要对算法模板作出修改。您可以直接把自定义的算法模板写在一个文件中,然后import这个文件就可以顺利调用了。

感谢您的反馈!

from geatpy.

zhaosongyi avatar zhaosongyi commented on May 26, 2024

我是一个使用者和收益者. 再次感谢, 不知第一个问题你们有没有碰到过, 也许我自己程序的问题

from geatpy.

1061655504 avatar 1061655504 commented on May 26, 2024

我是一个使用者和收益者. 再次感谢, 不知第一个问题你们有没有碰到过, 也许我自己程序的问题

第一个问题这边无法复现,估测是因为执行脚本的问题,请提供能够运行的完整代码,或添加QQ1061655504,我来帮您看看。

from geatpy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.