In order to minimize the functional (7), the Real Ant Colony Optimization algorithm [16] is being used. The inspiration for the algorithm was the swarming behavior of ants in nature. In the presented algorithm, the role of the solutions are being played by the pheromone spots in the number of L. At the beginning those spots are randomly placed in the considered region. Next, they are being sorted by the quality and certain probabilities are being assigned to them. The better the solution is, the higher the probability of choosing it is. This way we create the set of solutions. In every iteration each of M ants construct one new solution (new pheromone spot) using the probability density function (Gauss function). First the ant chooses with the certain probability the solution that will be transformed. This probability is dependent on the parameter q of the algorithm. If value of q is small then the choice of the best solution is preferred and the higher the value of q is, the more similar to each other the probabilities of choosing any solution are. When the solution is chosen then the ant samples its neighborhood using the Gauss function with the parameters and , where is dependent on the parameter . This parameter is responsible for the disappearance of the pheromone trace. The smaller value of is, the faster the algorithm converges to its best solution at the expense of further exploration of the region. Then, the set of solutions is updated with the new solutions—the new and previous solutions are being sorted by quality and the M of the worst solutions get rejected. Moreover, the algorithm was adapted for parallel computing. Mathematical fundaments and results concerning the convergence of the different versions of the ACO algorithm are included in [24,25,26,27]. Based on the analysis of the papers of various authors, see for example [28,29,30,31,32], as well as on the computation carried out by us (for example [7,17,20,22,31]) we come to the conclusion that using the artificial intelligence algorithms (ACO, RACO, RACO, IRM, etc.) in most cases does not require the application of the explicit regulatory procedures. There is no mathematical proof for that, only the empirical data. For the examples presented in the paper we have known the exact solutions so we could compare the approximate solutions with them. The reconstruction errors of the reconstructed parameters generally do not exceed the input data errors. They are slightly larger in some cases. It follows that the results obtained for the disturbed input data remain stable. In order to describe the algorithm we are introducing the notation
We will present the consecutive steps of the algorithm.
Initialization of the algorithm
Setting the input parameters of the algorithm: .
Generating L solutions playing the role of the pheromone spots. Assigning them to the set (initial archive).
Computing the values of the objective function for all of the pheromone spots (parallel computing) and sorting the archive from the best solution to the worst.
Iteration process
Assigning the probabilities to the pheromone spots according to the pattern:
where weights are related to the solution number l and are expressed by the formula:
The ant randomly chooses the th solution with the probability .
The ant transforms the j-th coordinate () of the th solution by sampling the neighborhood using the probability density function (in this case the Gauss function):
where .
Steps 5–6 are being repeated by every ant. We get M new solutions (pheromone spots) by that.
Partition of the new solutions into the groups. Computing the value of the objective function for the new solutions (parallel computing).
Adding the new solutions to the archive , sorting them by the quality and rejecting the M worst solutions.
The steps 3–9 are being repeated I times.
Knowing the values of the parameters and I we can determine the number of the objective function calls during the algorithm execution. This number is . The Figure 1 presents the block diagram of the RealACO algorithm.
The block diagram of the Real Ant Colony Algorithm.
Do you have any questions about this protocol?
Post your question to gather feedback from the community. We will also invite the authors of this article to respond.