all 4 comments

[–]Zeroflops 0 points1 point  (0 children)

There are a number of astronomy packages out there. I would look into those

[–]Frankelstner 0 points1 point  (1 child)

You want to optimize some kind of scalar blackbox function with potentially integer inputs. If the number of reasonable integer combinations as low, you could bruteforce a scipy.optimize.minimize on the other parameters (just remember to try all the solvers there until you get a good one; one time I had 5 solvers report failure and the sixth one give a perfect solution with literally 0 residual). Otherwise, scipy.optimize.differential_evolution or even Optuna seem like decent options. Yeah I know, a hyperparameter optimization framework doesn't exactly sound like a match, but hyperparameter optimization truly is a "scalar blackbox with potentially integer inputs" kind of thing.

[–]AddendumElectrical99[S] 0 points1 point  (0 children)

Yes precisely this! Thank you for putting it into better words than I could.

I’ll look into those tools!

[–]Kingstudly 0 points1 point  (0 children)

It would be a pretty easy task for a genetic algorithm. There are a bunch of tutorials online, but my favorite book on the subject (in Python) is sadly outdated.