Comments (4)
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.
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.
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.
OK, I see. Thank you so much.
from mealpy.
Related Issues (20)
- Dynamic constraints HOT 2
- [BUG]: The implementation of 'HS' (OriginalHS) lead to an error when solving the Bukin's functions family HOT 1
- Requesting Squirrel search algorithm HOT 3
- [BUG]: ´IntegerVar´ doesn't correct floating point numbers HOT 1
- [BUG]: Walrus optimisation algorithm missing equations of feeding step HOT 1
- [BUG]: NotImplementedError in mealpy.swarm_based.AVOA.OriginalAVOA.solve
- Request for Addition of Algorithms to Mealpy Library HOT 2
- Mealpy + Neural Network (Optimize Neural Network Hyper-parameter) with K-Fold HOT 1
- [BUG]: Problem with negative fitness
- [BUG]: Issue in the documentation of the Mealpy library HOT 1
- [BUG]: Base GWO's code in the documentation is incorrect HOT 1
- [FEAT]: integer instead of float HOT 1
- [FEAT]:
- Want to increase the non-dominated sorting for multi-objectives
- In this example, we use SMA optimize to optimize the hyper-parameters of SVC model.[BUG]: HOT 4
- [BUG]: In your examples ->pytorch->linear_regression.py,exists a bug.
- [FEAT]: Explicit objective function evaluation limitation HOT 1
- [FEAT]: add start point to algorithms HOT 2
- [BUG]: HOT 1
- [BUG]: Type Error in example code HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mealpy.