I use a lot of parameter optimization and inverse problems in my daily work. For this purpose, I recently programmed a software called
IdentiPy, based on the openopt framework/package of python. Here's some more info on the package if someone is interested.
Cross posted from Computational
Materials science group.In spirit of Guru's post, here's some information about the
openopt framework/package for Python.
Openopt is a generic optimization toolbox for the python programming language. It includes several solvers (both own and 3rd party solvers) like N.Z Shor's r-algorithm. Some third party optimization routines which openopt interfaces include deterministic methods like the SQP method, COBYLA simplex method among others. It has a unified syntax to call any of these routines.
Additional parts of the software include the Funcdesigner and the Derapproximator, the latter one extremely helpful is calculating derivatives through automatic differentiation.
Where could material scientists use optimization routines/toolboxes? Although one could visualize a lot of uses, the most common of them is in the determination of material parameters for a constitutive model. Briefly, this is done by formulating the inverse problem through the difference in the actual and model responses, commonly as a least square function. This fitness function is then minimized using suitable optimization routines.
My experience working with python in general, and openopt in particular have been very encouraging. Python reduces my programming effort - so my LOC are drastically reduced. I recently programmed a complete software for parameter identification from Abaqus simulations - took me less than 2 weeks (including debugging).
Some more links:
Wiki entry on openoptSolvers supported by openopt
You need to be a member of Materialia Indica to add comments!
Join Materialia Indica