Finding global minimum by using Ant Colony Optimization?
15 views (last 30 days)
Show older comments
Ozge Moral
on 29 Oct 2015
Answered: REMYA R suresh
on 22 Mar 2022
I want to apply Ant Colony Optimization to one variable function for finding a global minimum. But i'm confused how to implement it. Do you have any suggestion about article related this topic?
4 Comments
Adam
on 29 Oct 2015
Edited: Adam
on 29 Oct 2015
Have you read papers on the subject? It's over 10 years since I wrote an ant colony algorithm, but I did it from papers as far as I can remember so there must be a lot more papers since then with details of the general algorithm that could be found via an internet search.
Accepted Answer
Walter Roberson
on 29 Oct 2015
There are ACO implementations in the File Exchange.
However, it can be shown that there is no algorithm that can always find the global minimum of a continuous "black box" function. In the discrete "black box function" case, the only algorithm that can always find the global minimum is to try every representable number in the range.
For functions that are available in analytic form rather than as "black box", analysis is sometimes able to find the global minima.
There are functions over the natural numbers for which it can be shown that knowing the value of the function for all values from 1 to N-1 does not allow you to predict the value of the function on N.
In other words, ACO can never be sure that it has found the global minima, and PSO and GA have the same difficulty.
2 Comments
Walter Roberson
on 29 Oct 2015
One implementation is:
The difficulty I spoke of before still applies: none of these techniques can promise global minima without some analysis from the user to confine their search to the area where the local minima is somehow known to be the global minima
More Answers (1)
See Also
Categories
Find more on Traveling Salesman (TSP) in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!