Comments (4)
Hi @SkyLin1020 ,
Sorry for the late reply. Yes, you are right.
Initially, I thought climbing meant moving from the bottom up, which is why I set the step_size value from (-1 to 0 to 1).
But in reality, it should be able to go both down and up randomly.
Setting the step_size as in swarmHC is commonly used in other algorithms. You should consider using swarmHC instead.
from mealpy.
Hi @SkyLin1020,
HC is a single-based solution (a local search algorithm). It was originally not intended to be included in this library, which primarily focuses on population-based solutions (global search algorithms). However, many people have asked me to implement it, so I had to adapt this algorithm to fit within this library.
The 'pop_size' parameter does not matter for this algorithm. That's why you can see this line of code:
https://github.com/thieu1995/mealpy/blob/master/mealpy/math_based/HC.py#L76
Here, I consider 'self.g_best' as the searching solution for this algorithm.
Additionally, there is no 'step_size' variable in the original algorithm. I introduced this variable to improve the algorithm's results. It's possible that this 'step_size' doesn't provide significant advantages, but if you look at the original HC algorithm in the paper, there is no stored information about the evolution process; it is essentially a random process.
Considering these modifications, I believe it would be more appropriate to rename the class as 'DevHC' to indicate that it's a modified or developed version of the original HC algorithm.
from mealpy.
Hi @SkyLin1020,
HC is a single-based solution (a local search algorithm). It was originally not intended to be included in this library, which primarily focuses on population-based solutions (global search algorithms). However, many people have asked me to implement it, so I had to adapt this algorithm to fit within this library.
The 'pop_size' parameter does not matter for this algorithm. That's why you can see this line of code: https://github.com/thieu1995/mealpy/blob/master/mealpy/math_based/HC.py#L76 Here, I consider 'self.g_best' as the searching solution for this algorithm.
Additionally, there is no 'step_size' variable in the original algorithm. I introduced this variable to improve the algorithm's results. It's possible that this 'step_size' doesn't provide significant advantages, but if you look at the original HC algorithm in the paper, there is no stored information about the evolution process; it is essentially a random process.
Considering these modifications, I believe it would be more appropriate to rename the class as 'DevHC' to indicate that it's a modified or developed version of the original HC algorithm.
Hi @thieu1995 ,
thank you for your reply. I will try swarmHC to solve my problem.
but considering the step_size in OriginalHC, I think it is not reasonable and improved. the step_size goes from -1 to 0 to 1. that means the step_size goes down and then up because the absolute value of step_size matters. with the step_size setting, maybe it can randomly search the space, but it is not a climbing process.,for a climbing process, the step_size may be monotone decreasing like the setting in swarmHC.
Hope this can help. and if I misunderstanding the algorithm, hope you can point it out.
from mealpy.
@SkyLin1020 ,
If there is nothing here I will close this issue now. Feel free to open if needed.
from mealpy.
Related Issues (20)
- 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
- [FEAT]: Ali Baba's and the forty thieves algorithm on VRPTW
- [BUG]: Could not get right problem name HOT 3
- [FEAT]: i think it is better to add introduction to some specified parameters like name="delta" HOT 5
- Question: How can I calculate the population's fitness globally instead of individually? HOT 6
- [BUG]: The Mealpy library exhibits integer boundary and time termination condition errors. HOT 1
- [FEAT]: is removed? [EPO - Emperor Penguin | EPC Emperor Penguin Colony]
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.