Current collected state Current
Observed since 20 Oct, 18:20 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
aco
Ant Colony Optimization in Python
Currently works on 2D Cartesian coordinate system
pip install aco
poetry add aco
AntColony(
nodes,
start=None,
ant_count=300,
alpha=0.5,
beta=1.2,
pheromone_evaporation_rate=0.40,
pheromone_constant=1000.0,
iterations=300,
)
import matplotlib.pyplot as plt
import random
from aco import AntColony
plt.style.use("dark_background")
COORDS = (
(20, 52),
(43, 50),
(20, 84),
(70, 65),
(29, 90),
(87, 83),
(73, 23),
)
def random_coord():
r = random.randint(0, len(COORDS))
return r
def plot_nodes(w=12, h=8):
for x, y in COORDS:
plt.plot(x, y, "g.", markersize=15)
plt.axis("off")
fig = plt.gcf()
fig.set_size_inches([w, h])
def plot_all_edges():
paths = ((a, b) for a in COORDS for b in COORDS)
for a, b in paths:
plt.plot((a[0], b[0]), (a[1], b[1]))
plot_nodes()
colony = AntColony(COORDS, ant_count=300, iterations=300)
optimal_nodes = colony.get_path()
for i in range(len(optimal_nodes) - 1):
plt.plot(
(optimal_nodes[i][0], optimal_nodes[i + 1][0]),
(optimal_nodes[i][1], optimal_nodes[i + 1][1]),
)
plt.show()

Download counts and popularity will appear here as the collector receives them.
Declarations describe requirements; they are not a resolved dependency graph.
bdist_wheel · 3.24 KB · Python py3
sdist · 3.47 KB · Python source
Observed since 20 Oct, 18:20 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:186add6ef36fef15bebb65c64be4f9d5c8f3eb00da35b18ad5c02f4e6fd293a8