paramm-team / pybamm-param

Parameter optimisation for PyBaMM.
BSD 3-Clause "New" or "Revised" License
38 stars 8 forks source link

Implement Pymoo #63

Open PipGrylls opened 11 months ago

PipGrylls commented 11 months ago

Spinning this out to a new issue so it can be developed independently from nlopt

Also just found out about https://pymoo.org/

Originally posted by @tinosulzer in https://github.com/paramm-team/pybamm-param/issues/30#issuecomment-1453668987

PipGrylls commented 11 months ago

There is some more to be done here but if other people want to have a tinker setting up and solving problems then I think that would be useful.

https://github.com/paramm-team/pybamm-param/commit/15e5610bfc88832cdf8ed83100c6a7a817fc714b

muhammedsogut commented 11 months ago

I tested it on datafit but it takes quite long time. There could be an error for datafit class.

muhammedsogut commented 11 months ago

After my last comment, I tested Pymoo on multi-variable and single-variable datafit examples and it works fine. It's just slow as multi-variable took 3,5 hours and single variable is 30 mins. @PipGrylls Is there a faster option than NSGA? NSGA2 might be slow for a default method.