Describe the bug
The Returns of archipelago.get_champions_x() are the values of the first [float]*N rather than the real champions_x(). More specifically, in the return values of each island when using archipelago, the returned x on each dimension has become the returned result on the first dimension.
Expected behavior
The correct best_x is 2 arrays consisting the returned champion x of each island, but the now the returned best_x is like
[
array([6.15449866, 6.15449866, 6.15449866, 6.15449866, 6.15449866,
6.15449866, 6.15449866, 6.15449866, 6.15449866, 6.15449866,
6.15449866, 6.15449866]),
array([-0.83298348, -0.83298348, -0.83298348, -0.83298348, -0.83298348,
-0.83298348, -0.83298348, -0.83298348, -0.83298348, -0.83298348,
-0.83298348, -0.83298348])
]
Describe the bug The Returns of archipelago.get_champions_x() are the values of the first [float]*N rather than the real champions_x(). More specifically, in the return values of each island when using archipelago, the returned x on each dimension has become the returned result on the first dimension.
To Reproduce [env params] OS: Ubuntu 22 python = "3.10" numpy = "2.0.0" pygmo-plugins-nonfree = "^0.24" pygmo = "2.19.5"
[my running code] archi = pygmo.archipelago(n=2, algo=algo, prob=prob, pop_size=5, seed=10) archi.evolve() archi.wait() best_x = archi.get_champions_x()
Expected behavior The correct best_x is 2 arrays consisting the returned champion x of each island, but the now the returned best_x is like
[ array([6.15449866, 6.15449866, 6.15449866, 6.15449866, 6.15449866, 6.15449866, 6.15449866, 6.15449866, 6.15449866, 6.15449866, 6.15449866, 6.15449866]), array([-0.83298348, -0.83298348, -0.83298348, -0.83298348, -0.83298348, -0.83298348, -0.83298348, -0.83298348, -0.83298348, -0.83298348, -0.83298348, -0.83298348]) ]