In computer science and operations research, the ant colony optimization algorithm (ACO) is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs.
This project solves the problem of mail delivery by robots in a logistics warehouse. Several robots move around the warehouse and transport mails from the point of receipt of the parcel to the point of unloading the parcel.
There is one start point (S) and several finish points (F) on the map, there are obstacles (!) and free movement zones (.).
Example map:
. . . . F . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
F . . ! ! ! . . F
. . . . . . . . .
. . . . . . . . .
. . . . S . . . .
. . . . ! . . . .
For each finishing point, the probability is set that the next parcel is destined for this direction.
The project simulates the operation of such a warehouse and optimizes the total delivery time of all parcels.
cd AntColonyOptimization
mkdir build && cd build
cmake ..
cmake --build .
./aco_project ../examples/map.txt ../examples/target_probs.txt