i am performing parameter identification for a non-linear partial differential equation (elasticity) that I solve with finite elements.

My optimization problem is a non-linear least squares data-fitting problem because I want to fit the parameters to measured data, e.g. coming from Digital-Image-Correlation. The residual vector within the optimization is the solution vector (or a subset of it) of the discretized PDE.

At the moment, I use open-source software (MATLAB) to solve the optimization problem, but I feel I have to get more background about optimization in the context of finite element model updating. I rely on interior-point and trust-region methods to solve the optim problem.

For finite elements, I know typical reference books that are common in this field, but for optimization, I do not know many yet. I found books like "Numerical Optimization from Nocedal and Wright", but I do not have the expertice to assess whether this is a common book in numerical optimization or not.

I thought it is useful to reach out to the community with this question since it maybe also helps other people in the future.

  • 2
    $\begingroup$ Nocedal and Wright is a very common and thorough book on the topic. If you already have adjoints/gradients available, then you can use pretty much any gradient-based optimization algorithm. You just need to be sure that your adjoints/gradients are accurate and that your linear solvers are appropriate. $\endgroup$
    – whpowell96
    Nov 25, 2023 at 18:03
  • 1
    $\begingroup$ Perhaps the right thing to search for is "pde constrained optimization". $\endgroup$
    – NNN
    Nov 26, 2023 at 2:49
  • $\begingroup$ MATLAB is pretty much the opposite of "open source software" :-) $\endgroup$ Nov 27, 2023 at 17:36
  • $\begingroup$ @WolfgangBangerth That is 100% correct, do not know why me head connected open source with matlab :-) $\endgroup$
    – Simon
    Nov 28, 2023 at 16:12

1 Answer 1


I've worked on something quite similar for my Ph.D.. And I did not need anything more than a basic understanding of optimization. We used L-BFGS for that article, which works pretty well. Of course, better optimization alogrithms will yield better results, but to get something working, L-BFGS is a good start. The wikipedia page or Numerical Methods in C/C++/Fortran is enough to get you started.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.