plasmo-dev / Plasmo.jl

A Platform for Scalable Modeling and Optimization
Other
150 stars 21 forks source link

Advantages of Plasmo #26

Closed bistrulli closed 1 year ago

bistrulli commented 3 years ago

Hi, first of all forgive me if the question is trivial. I recently read the paper "Scalable nonlinear programming framework for parameter estimation in dynamic biological system models" which makes use of Plasmo in the context of parameters estimation in dynamical systems. What is not completely clear to me is whether the advantage of using a modeling approach based on Plasmo is evident only in the case in which PIPS-NLP is used as a solver or if there is a speedup even in the case of IPOPT.

jalving commented 3 years ago

Apologies for taking awhile to address this question.

Your understanding is mostly correct. For that paper, Plasmo is used to communicate the model structure to enable the use of PIPS-NLP which results in parallel speedups (using the PIPS-NLP schur decomposition strategy). When using IPOPT with Plasmo, the problem is converted and solved same way JuMP would solve it in serial (although Plasmo does provide a nice modular way to build the model).

Technically, Plasmo could be used to parallelize function and derivative computations for Ipopt. This is what is done in MadNLP.jl as described in this paper. We are currently working towards adding this capability to Plasmo directly.

odow commented 1 year ago

Cann be closed?