Code Monkey home page Code Monkey logo

Comments (4)

thieu1995 avatar thieu1995 commented on June 11, 2024

Hi @TianningGao ,

My question is: what kind of problem are you trying to solve? Why would you use meta-heuristic algorithms (MHAs) to solve your problem? Which features of MHA make you think it is beneficial for solving your problem?

The population size (pop_size) limit that I designed here is 10 because it should be the minimum an algorithm needs to solve a problem. If your problem is too big (>1000 dimensions), there is no way you can solve it with a pop_size of 50, or even smaller than 10. If your problem is normal (3-1000 dimensions), using 10 solutions in each generation may be able to solve it. If you want fewer than 10 solutions, you need to increase the number of generations. If your problem is too small (1 or 2 dimensions), why would you use MHAs to solve it? Just use an exact algorithm.

Another reason is that several algorithms divide the population into clusters/groups/teams, and each team should have at least 3 members. Populations smaller than 10 solutions will not work with these algorithms.

Finally, some algorithms use k-way to select the solutions for the next generations. If 50% of 10 solutions is 5, and k_way is 0.4, then there will be 2 solutions to compare and select the best one. That sounds reasonable, right?

I recommend you set pop_size=10, and reduce the number of generations. Like in your example,
epoch=5, pop_size=8 ==> Number of function evalutions can be 5x8=40.
so you can set up like this
epoch=4, pop_size=10 ==> NFE can be 4x10=40.

from mealpy.

TianningGao avatar TianningGao commented on June 11, 2024

I'm trying to tune parameters of a software. The projected black-box function has 53 dimensions.

I'm researching on a new optimization method which restarts a given heuristic algorithm frequently. Currently, our new method would run 32 function evaluations, do something else, then set new starting points and restart optimization from beginning. I want the heuristic algorithm to run for not too few of generations so that I set the pop_size to 8.

Anyway, thank you so much for your explanation and advice. I'll give it a try with less generations.

from mealpy.

thieu1995 avatar thieu1995 commented on June 11, 2024

@TianningGao ,

Your problem has 53 dimensions so there is no way you can obtain good results with a pop_size of 8 and only a few generations. Don't fall into the trap; the results you get are actually just random solutions. You need more generations and a larger pop_size to take advantage of swarm intelligence in each algorithm.

from mealpy.

TianningGao avatar TianningGao commented on June 11, 2024

OK, I see. Thank you so much.

from mealpy.

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.