Reputation: 13
I am new to OpenMDAO and MDO in general. I enjoy using OpenMDAO and would like to know more about it. Currently I am reading about MDO architectures. What is the MDO architecture when I run a problem 'normally' in Openmdao. Would I be correct if I assume it is monolithic AAO (since it calculates the total derivative and solves the problem from there) ? I ask this because I read about the MAUD architecture (described in this paper) which confused me. Can this be considered as one of the classification of MDO architectures (since it does provide a mathematical and algorithmic framework) or is it just a pure computational architecture ?
Finally would it make sense compare different MDO architectures (like MDF,CO,ATC,..) by implementing it in OpenMDAO for a large scale design problem ? I understand that OpenMDAO is focused on monolithic architecture. So would it be a fair to compare a monolithic with a distributed architecture in OpenMDAO ? Also does the MDO architecture bench marking results (in this paper) from OpenMDAO V1 still apply for the current version OpenMDAO V2 (i.e after the incorporation of ideas from MAUD architecture) ?
Thank you.
Upvotes: 1
Views: 375
Reputation: 5710
You asked three questions. Im going to answer them separately (and rephrase them a bit):
1) What kind of MDO architecture are you using when you solve a problem (the normal way) in OpenMDAO ?
If you take a look at the Martins and Lamb paper on architectures you see they divide them up into monolithic and distributed classes. When you use OpenMDAO, you are almost always applying some form of a monolithic optimization architecture. In practice many people end up applying something that looks a lot like MDF because they have solvers in their models, but I've also commonly seen MDF/IDF hybrids, SAND, and even AAO aspects to problems.
Broadly Id say that the flexibility of the OpenMDAO allow you to re-factor your model such that any particular equality constraint could either be handled by a solver (MDF like), by a compatibility constraint (IDF like), or directly as an equality constraint by the optimizer (SAND like) means that users have the flexibility to construct hybrid forms of various monolithic architectures.
It is possible to implement distributed architectures with OpenMDAO, by using nested instances of the OpenMDAO Problem class for the sub-problems within a top level model. This isn't trivial, but it is possible. This approach often has one major challenge: The top level optimization problem will require derivatives across the sub-problems, which is something that OpenMDAO actually can't provide (because it requires computing post-optimality sensitivities which is non-trivial and outside the scope of MAUD)
2) What is the relationship of MAUD to MDO Architectures?
These two concepts are separate things that have relevant to each other but are in no way the same thing.
3) Is the prior benchmarking of architectures done in OpenMDAO still valid?
In my opinion, the benchmarking done in the OpenMDAO based paper you cited, which is backed up by this other paper from Tedford and Martins that did not use OpenMDAO at all, but I think is also relevant. I don't personally expect the answers to change significantly if you attempted new problems. These two papers seem to agree that monolithic architectures (AAO, SAND, MDF, IDF) are the best performing, and most consistent over all.
There are some cases where the distributed architectures perform well, and a group from Europe has had some good success with them for specific problems. Check out this paper from Gazaix et al. as an example.
So if you are really interested in architectures, I would suggest that you might find a way to generate specific classes of problems that do well under different architectures and then to provide such a classification in a paper. If successful, this could be a good resource for future researchers/practitioners who need to decide which architecture to use. However, my opinion is that in the vast majority of cases monolithic architectures are going to perform the best. I suspect you'll have trouble getting distributed architectures to perform well in a broad set of cases. The Gazaix paper proves it's certainly possible to get useful results from a distributed MDO architecture, but it doesn't prove that it would be faster than an equivalent monolithic formulation.
Upvotes: 6