# Ant colony optimization for continuous functions

I am trying to do optimization of a voice activity detection function, which is a function with continuous parameters. This is easily accomplished with genetic algorithms, simulated annealing, and tabu search, but I'm somewhat confused on how to accomplish this with Ant Colony Optimization (ACO).

From what I've read, ACO is mostly used for solving problems that can be formulated as a graph. I've searched for resources relating to multiple parameter function optimization, but the closest thing I found was this article for a single parameter on a continuous function and this long paper with no pseudocode which is contained in this PHD thesis. Are there any resources (websites or books) for accomplishing multiple parameter continuous function optimization with ACO that involve an implementation example?

Alternatively, is the key here to discretize the continuous inputs? If so, what methods exist to do this in a way that works well with ACO?

• Why do you insist on ACO in the first place? What's wrong with something works well, like GA, SA, or TS, as you meantion?
– Juho
Commented Jul 7, 2014 at 17:27
• I'm not familiar with this voice activity detection problem. I'm just curious. As I gathered, it seems to be a decision problem: decide whether the input sound signal contain human speech. So, how do you transform this into optimization problem? What is the function to be optimized? Commented Jul 7, 2014 at 17:57
• @Juho It's for a class project. We are comparing the various adaptive algorithms (GA, SA, or TS) for this problem. Commented Jul 7, 2014 at 18:59
• @Billiska We are tuning the parameters for the Voice Activity Detection function (VAD). The fact that it's for VAD is really just a bit of background and not that important. Commented Jul 7, 2014 at 19:01

## 2 Answers

No, discretizing solution space is not necessary

I read page 14 of paper you provided and then went googling.

I found this 2014 paper: A unified ant colony optimization algorithm for continuous optimization that mentioned a bit of history of ACO on continuous function.

Tracing from that, I think the best paper to begin is this 2008 paper Ant colony optimization for continuous domains coauthored by the original creator of ACO, Marco Dorigo, himself.

Quote from page 76 this paper:

The fundamental idea underlying $ACO_R$ is the shift from using a discrete probability distribution to using a continuous one...

That is instead of remembering pheromone value in discrete boxes, you remember in a form of probability distribution function (PDF) that is parameterized for updates. The moving of the ants (solution points) is also continuous. The ants move random directions across the dimensions of solution space (as opposed to moving from box to box as in the first paper you gave.)

I hope I have answered some of your question and provide some references for further reading without digging too deep in myself.

• @Seanny123 There are very few situations in which posting code here is appropriate. This Stack Exchange is for computer science, not programming. Commented Jul 8, 2014 at 9:46
• Pseudocode is fine if it illustrates the point. Also bear in mind that this site is aimed towards questions and answers, rather than discussion. Commented Jul 8, 2014 at 17:25

As mentioned in the other answer, discretizing the space is certainly not necessary. In this paper, there is a method for optimizing continuous domains in chapter 5. Better yet, there is source code in Appendix E, in Matlab.