Has anyone worked with the Indago Python module? I couldn't find many information on it besides the official documentation (https://indago.readthedocs.io/index.html).
I'm using it to run the Particle Swarm Optimization and couldn't find a way to set discrete ranges to specific parameters of the design vector (x).
For example, consider a design vector (x) with dimension=5. Therefore the vector x would have 5 parameters (I'm I getting this wrong?). If I wanted to set discrete ranges for these 5 parameters, how could I do it?
I worked with the PyGAD module aswell to run the GA and I could do this by using this configuration:
gene_space=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[500, 1000, 1500, 2000, 2500, 3000],
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
[0.1, 0.2, 0.3, 0.4],
[0.6, 0.7, 0.8, 0.9]]
Should I be using the pso.minimize_exhaustive insted of the pso.optimize?
I'm one of Indago developers. Glad to hear you are using it.
Currently Indago only supports continuous optimization (continuous variables). However, your rounding workaround is legit and not so far from Discrete PSO method. However, methods like GA are more suitable for discrete optimization since it is intrinsic to their fundamental idea.
We plan to implement some methods and support discrete or even mixed problems in the future. But not in the near future :)
Regarding different APIs, all features are equally supported regardless of using minimize or optimize, while minimize_exhaustive does meta-optimization (finds most suitable parameters of optimization method for given problem).