21

Multidisciplinary Optimization

Multidisciplinary design optimization (MDO) involves solving optimization problems spanning across disciplines. Many real-world problems involve complicatedinteractions between several disciplines, and optimizing disciplines individually
may not lead to an optimal solution. This chapter discusses a variety of techniques for taking advantage of the structure of MDO problems to reduce theeffort required for finding good designs.1

21.1 Disciplinary Analyses
There are many different disciplinary analyses that might factor into a design. For
example, the design of a rocket might involve analysis from disciplines suchas structures, aerodynamics, and controls. The different disciplines have theirown analytical tools, such as finite element analysis. Often these disciplinary
analyses tend to be quite sophisticated and computationally expensive. In addition, disciplinary analyses are often tightly coupled with each other, where one
discipline may require the output of another’s disciplinary analysis. Resolving
these interdependencies can be nontrivial.
In an MDO setting, we still have a set of design variables as before, but we also
keep track of the outputs, or response variables, of each disciplinary analysis.2 We
write the response variables of the ith disciplinary analysis as y(i) . In general, theith disciplinary analysis Fi can depend on the design variables or the response
variables from any other discipline:y(i) ← Fi x, y(1) , . . . , y(i−1) , y(i+1) , . . . , y(m)(21.1)
where m is the total number of disciplines. The inputs to a computational fluid
dynamics analysis for an aircraft may include the deflections of the wing, which

An extensive survey is provided
by J. R. R. A. Martins and A. B.
Lambe, “Multidisciplinary Design
Optimization: A Survey of Architectures,” AIAA Journal, vol. 51,
no. 9, pp. 2049–2075, 2013. Further discussion can be found in J.
Sobieszczanski-Sobieski, A. Morris, and M. van Tooren, Multidisciplinary Design Optimization Supported by Knowledge Based Engineering. Wiley, 2015. See also N. M.
Alexandrov and M. Y. Hussaini,eds., Multidisciplinary Design Optimization: State of the Art. SIAM,
1997.
1

2
A disciplinary analysis can provide inputs for other disciplines,
the objective function, or the constraints. In addition, it can also provide gradient information for the
optimizer.

388 c ha p te r 21. mu l ti d i sc i p l i n a ry op ti mi z a ti oncome from a structural analysis that requires the forces from computational fluid
dynamics. An important part of formulating MDO problems is taking into accountsuch dependencies between analyses.
In order to make reasoning about disciplinary analyses easier, we introduce
the concept of an assignment. An assignment A is a set of variable names andtheir corresponding values relevant to a multidisciplinary design optimization
problem. To access a variable v, we write A[v].
A disciplinary analysis is a function that takes an assignment and uses thedesign point and response variables from other analyses to overwrite the response
variable for its discipline:
A′ ← Fi (A)(21.2)
where Fi (A) updates y(i) in A to produce A′ .
Assignments can be represented in code using dictionaries.3 Each variable
is assigned a name of type String. Variables are not restricted to floating-point
numbers but can include other objects, such as vectors. Example 21.1 shows animplementation using a dictionary.
Consider an optimization with one design variable x and two disciplines.
Suppose the first disciplinary analysis F1 computes a response variabley(1) = f 1 ( x, y(2) ) and the second disciplinary analysis F2 computes a response variable y(2) = f 2 ( x, y(1) ).
This problem can be implemented as:

3
A dictionary, also called an associative array, is a common data
structure that allows indexing bykeys rather than integers. See appendix A.1.7.

Example 21.1. Basic code syntax forthe assignment-based representation of multidisciplinary design optimization problems.

function F1(A)A["y1"] = f1(A["x"], A["y2"])
return A
endfunction F2(A)A["y2"] = f2(A["x"], A["y1"])
return A
end

The assignment may be initialized with guesses for y(1) and y(2) , and aknown input for x. For example:
A = Dict("x"=>1, "y1"=>2, "y2"=>3)© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

21. 2. i n te rd i sc i p l i n a ry c omp a ti bi l i ty 389

21.2

Interdisciplinary Compatibility

Evaluating the objective function value and feasibility of a design point x requires obtaining values for the response variables that satisfy interdisciplinary
compatibility, which means that the response variables must be consistent withthe disciplinary analyses. Interdisciplinary compatibility holds for a particularassignment if the assignment is unchanged under all disciplinary analyses:
Fi (A) = A for i ∈ {1, . . . , m}

(21.3)

Running any analysis will produce the same values. Finding an assignment thatsatisfies interdisciplinary compatibility is called a multidisciplinary analysis.
System optimization for a single discipline requires an optimizer to selectdesign variables and query the disciplinary analysis in order to evaluate theconstraints and the objective function, as shown in figure 21.1. Single-discipline
optimization does not require that we consider disciplinary coupling.
Optimizer
minimizef (x, y)x

subject to[x, y] ∈ X

yxDisciplinary
Analysis

Figure 21.1. Optimization diagram
for a single discipline. Gradients
may or may not be computed.

System optimization for multiple disciplines can introduce dependencies, inwhich case coupling becomes an issue. A diagram for two coupled disciplines isgiven in figure 21.2. Applying conventional optimization to this problem is lessstraightforward because interdisciplinary compatibility must be established.

Optimizer
minimizex

subject to

Disciplinary
Analysis 1xf (x, y(1) , y(2) )y(1)[x, y(1) , y(2) ] ∈ X

x
y(2)

y(1)

Figure 21.2. Optimization diagram
for a two-discipline analysis withinterdisciplinary coupling.

y(2)Disciplinary
Analysis 2© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

390 c ha p te r 21. mu l ti d i sc i p l i n a ry op ti mi z a ti on

If a multidisciplinary analysis does not have a dependency cycle,4 then solving
for interdisciplinary compatibility is straightforward. We say discipline i depends
on discipline j if i requires any of j’s outputs. This dependency relation can beused to form a dependency graph, where each node corresponds to a discipline andan edge j → i is included if discipline i depends on j. Figure 21.3 shows examples
of dependency graphs involving two disciplines with and without cycles.
Structural Analysis

Structural Analysis

Cost Forecast

Aerodynamics Analysis

An acyclic dependency graph. An evaluation
ordering can be specified such that the required
inputs for each discipline are available frompreviously evaluated disciplines.

A cyclic dependency graph. The structural
analysis depends on the aerodynamics analysis
and vice versa.

If the dependency graph has no cycles, then there always exists an order of
evaluation that, if followed, ensures that the necessary disciplinary analyses areevaluated before the disciplinary analyses that depend on them. Such an ordering
is called a topological ordering and can be found using a topological sorting method
such as Kahn’s algorithm.5 The reordering of analyses is illustrated in figure 21.4.
If the dependency graph has cycles, then no topological ordering exists. To
address cycles, we can use the Gauss-Seidel method (algorithm 21.1), which attempts to resolve the multidisciplinary analysis by iterating until convergence.6
The Gauss-Seidel algorithm is sensitive to the ordering of the disciplines as illustrated by example 21.2. A poor ordering can prevent or slow convergence. The
best orderings are those with minimal feedback connections.7
It can be advantageous to merge disciplines into a new disciplinary analysis—
to group conceptually related analyses, simultaneously evaluate tightly coupledanalyses, or more efficiently apply some of the architectures discussed in thischapter. Disciplinary analyses can be merged to form a new analysis whose
response variables consist of the response variables of the merged disciplines.
The form of the new analysis depends on the disciplinary interdependencies. If

A dependency cycle arises when
disciplines depend on each other.

4

Figure 21.3. Cyclic and acyclic dependency graphs.

5A. B. Kahn, “Topological Sortingof Large Networks,” Communications of the ACM, vol. 5, no. 11,
pp. 558–562, 1962.

The Gauss-Seidel algorithm canalso be written to execute analyses
in parallel.

67
In some cases, disciplines canbe separated into different clusters that are independent of eachother. Each connected cluster canbe solved using its own, smaller
multidisciplinary analysis.

© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

21. 2. i n te rd i sc i p l i n a ry c omp a ti bi l i ty 391

Figure 21.4. A topological sort canbe used to reorder the disciplinary
analyses to remove feedback connections.

function gauss_seidel!(Fs, A; k_max=100, ϵ=1e-4)
k, converged = 0, false
while !converged && k ≤ k_max
k += 1
A_old = deepcopy(A)for F in Fs
F(A)end
converged = all(isapprox(A[v], A_old[v], rtol=ϵ)for v in keys(A))
endreturn (A, converged)
end

Algorithm 21.1. The Gauss-Seidel
algorithm for conducting a multidisciplinary analysis. Here, Fs is avector of disciplinary analysis functions that take and modify an assignment, A. There are two optional
arguments: the maximum numberof iterations k_max and the relative
error tolerance ϵ. The method returns the modified assignment andwhether it converged.

© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

392 c ha p te r 21. mu l ti d i sc i p l i n a ry op ti mi z a ti on

Consider a multidisciplinary design optimization problem with one design
variable x and three disciplines, each with one response variable:y(1) ← F1 ( x, y(2) , y(3) ) = y(2) − x

Example 21.2. An example that illustrates the importance of choosing an appropriate ordering whenrunning a multidisciplinary analysis.

y(2) ← F2 ( x, y(1) , y(3) ) = sin(y(1) + y(3) )y(3) ← F3 ( x, y(1) , y(2) ) = cos( x + y(1) + y(2) )The disciplinary analyses can be implemented as:function F1(A)A["y1"] = A["y2"] - A["x"]return A
endfunction F2(A)A["y2"] = sin(A["y1"] + A["y3"])
return A
endfunction F3(A)A["y3"] = cos(A["x"] + A["y2"] + A["y1"])
return A
end

Consider running a multidisciplinary analysis for x = 1, having initialized
our assignment with all 1’s:
A = Dict("x"=>1, "y1"=>1, "y2"=>1, "y3"=>1)

Running the Gauss-Seidel algorithm with the ordering F1 , F2 , F3 converges,
but running with F1 , F3 , F2 does not.
1

y (1)

0

y (2)
y (3)

−1
−2
1
0

−1
−2

0

5

10

15

20

iteration© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

21. 3. a rc hi te c tu re s 393

the merged disciplines are acyclic then an ordering exists in which the analyses
can be serially executed. If the merged disciplines are cyclic, then the new analysis
must internally run a multidisciplinary analysis to achieve compatibility.

21.3

Architectures

Multidisciplinary design optimization problems can be written:
minimizef (A)subject toA∈Xx(21.4)Fi (A) = A for each discipline i ∈ {1, . . . , m}where the objective function f and feasible set X depend on both the design andresponse variables. The design variables in the assignment are specified by the
optimizer. The condition Fi (A) = A ensures that the ith discipline is consistent
with the values in A. This last condition enforces interdisciplinary compatibility.
There are several challenges associated with optimizing multidisciplinary
problems. The interdependence of disciplinary analyses causes the orderingof analyses to matter and often makes parallelization difficult or impossible.
There is a trade-off between an optimizer that directly controls all variables
and incorporating suboptimizers8 that leverage discipline-specific expertise to
optimize values locally. In addition, there is a trade-off between the expense of
running disciplinary analyses and the expense of globally optimizing too many
variables. Finally, every architecture must enforce interdisciplinary compatibility
in the final solution.
The remainder of this chapter discusses a variety of different optimization architectures for addressing these challenges. These architectures are demonstratedusing the hypothetical ride-sharing problem introduced in example 21.3.

21.4

A suboptimizer is an optimization
routine called within another optimization routine.
8

Multidisciplinary Design Feasible

The multidisciplinary design feasible architecture structures the MDO problem suchthat standard optimization algorithms can be directly applied to optimize thedesign variables. A multidisciplinary design analysis is run for any given design
point to obtain compatible response values.
© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

394 c ha p te r 21. mu l ti d i sc i p l i n a ry op ti mi z a ti on

Consider a ride-sharing company developing a self-driving fleet. This hypothetical company is simultaneously designing the vehicle, its sensor package,a routing strategy, and a pricing scheme. These portions of the design arereferred to as v, s, r, and p, respectively, each of which contains numerous
design variables. The vehicle, for instance, may include parameters governing the structural geometry, engine and drive train, battery capacity, andpassenger capacity.
The objective of the ride-sharing company is to maximize profit. The
profit depends on a large-scale simulation of the routing algorithm andpassenger demand, which, in turn, depends on response variables from anautonomy analysis of the vehicle and its sensor package. Several analyses
extract additional information. The performance of the routing algorithm
depends on the demand generated by the pricing scheme and the demand
generated by the pricing scheme depends on performance of the routing
algorithm. The vehicle range and fuel efficiency depends on the weight, drag,and power consumption of the sensor package. The sensor package requires
vehicle geometry and performance information to meet the necessary safety
requirements. A dependency diagram is presented below.

Example 21.3. A ride-sharing problem used throughout this chapter
to demonstrate optimization architectures.

Vehicle Analysis
Sensor Analysis
Autonomy Analysis
Routing Analysis
Demand Analysis
Profit Analysis© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

21. 4 . mu l ti d i sc i p l i n a ry d e si g n fe a si bl e 395

Optimizer
minimizef (A)update x

subject toA∈Xupdate y(1) , . . . , y(m)xminimizex

subject to



(1)

(m)



f x, y , . . . , yhix, y(1) , . . . , y(m) ∈ X

Multidisciplinary
Analysisminimizef (MDA(x))

subject to

MDA(x) ∈ X

xFigure 21.5. The multidisciplinary
design feasible architecture. The
optimizer chooses design points x,
and the multidisciplinary analysis
computes a consistent assignment
A. The structure is similar to thatof single-discipline optimization.
Figure 21.6.
Formulating an
MDO problem into a typicaloptimization problem using
multidisciplinary design analyses, where MDA(x) returns amultidisciplinary
compatible
assignment.

An architecture diagram is given in figure 21.5. It consists of two blocks, theoptimizer and the multidisciplinary analysis. The optimizer is the method used
for selecting design points with the goal of minimizing the objective function. The
optimizer calls the multidisciplinary analysis block by passing it a design point
x and receives a compatible assignment A. If interdisciplinary compatibility is
not possible, the multidisciplinary analysis block informs the optimizer and suchdesign points are treated as infeasible. Figure 21.6 shows how an MDO problem
can be transformed into a typical optimization problem using multidisciplinary
design analyses.
The primary advantages of the multidisciplinary design feasible architecture
are its conceptual simplicity and that it is guaranteed to maintain interdisciplinary
compatibility at each step in the optimization. Its name reflects the fact thatmultidisciplinary design analyses are run at every design evaluation, ensuringthat the system-level optimizer only considers feasible designs.
The primary disadvantage is that multidisciplinary design analyses are expensive to run, typically requiring several iterations over all analyses. Iterative
Gauss-Seidel methods may be slow to converge or may not converge at all, depending on the initialization of the response variables and the ordering of thedisciplinary analyses.
Lumping the analyses together makes it necessary for all local variables—
typically only relevant to a particular discipline—to be considered by the analysis
as a whole. Many practical problems have a very large number of local design
variables, such as mesh control points in aerodynamics, element dimensions in
structures, component placements in electrical engineering, and neural network© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

396 c ha p te r 21. mu l ti d i sc i p l i n a ry op ti mi z a ti on

weights in machine learning. Multidisciplinary design feasible optimization requires that the system optimizer specify all of these values across all disciplines
while satisfying all constraints.
The multidisciplinary design feasible architecture is applied to the ride-sharing
problem in example 21.4.
The multidisciplinary design feasible architecture can be applied to the ridesharing problem. The architectural diagram is shown below.
Optimizerminimize f v, s, r, p, y(v) , y(s) , y( a) , y(r) , y(d) , y( p)v,s,r,phisubject to v, s, r, p, y(v) , y(s) , y( a) , y(r) , y(d) , y( p) ∈ X
update y(v) , y(s) , y( a) , y(r) , y(d) , y( p)Example 21.4. The multidisciplinary design feasible architecture
applied to the ride-sharing problem. A multidisciplinary analysis
over all response variables must becompleted for every candidate design point. This tends to be very
computationally intensive.

update v, s, r, p

Multidisciplinary Analysis

21.5 Sequential Optimization
The sequential optimization architecture (figure 21.7) is an architecture that canleverage discipline-specific tools and experience to optimize subproblems but
can lead to suboptimal solutions. This architecture is included to demonstrate
the limitations of a naive approach and to serve as a baseline against which otherarchitectures can be compared.
A subproblem is an optimization procedure conducted at every iteration of an
overarching optimization process. Sometimes design variables can be removed
from the outer optimization procedure, the system-level optimizer, and can be more
efficiently optimized in subproblems.
The design variables for the ith discipline can be partitioned according tox(i) = [xg , xℓ ], where xg are global design variables shared with other disciplines
(i )

(i )

(i )

and xℓ are local design variables used only by the associated disciplinary subproblem.9 The response variables can be similarly partitioned into the global response(i )variables yg and the local response variables yℓ . Disciplinary autonomy is
(i )

(i )

The vehicle subproblem in the
ride-sharing problem may include
global design variables such as thevehicle capacity and range that affect other disciplines but may also
include local design variables suchas the seating configuration that do
not impact other disciplines.
9© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

21. 5 . se q u e n ti a l op ti mi z a ti on 397

Figure 21.7. The sequential optimization architecture. Each subproblem is represented by a blue
block and optimizes a particulardiscipline on a local objective function.

update xg

minimize f (A) subject to A ∈ X
xg

update xℓ(1)minimize f 1 (A) subject to [x

(1)

(1)
xℓ

,y

(1)

] ∈ X1

update y(1)update xℓ(2)minimize f 2 (A) subject to [x
(2)
xℓ

(2)

,y

(2)

] ∈ X2..

update y(2)update xℓ(m)minimize f m (A) subject to [x(m) , y(m) ] ∈ Xm(m)xℓ

update y(m)Disciplinary
Analysis 1

Disciplinary
Analysis 2

Disciplinary
Analysis m© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

398 c ha p te r 21. mu l ti d i sc i p l i n a ry op ti mi z a ti onachieved by optimizing the local variables in their own disciplinary optimizers. A
local objective function f i must be chosen such that optimizing it also benefits theglobal objective. A top-level optimizer is responsible for optimizing the global
design variables xg with respect to the original objective function. An instantiation of xg is evaluated through sequential optimizations; each subproblem is
optimized one after the other, passing its results to the next subproblem until all
have been evaluated.
Sequential optimization takes advantage of the locality of disciplines; thatmany variables are unique to a particular discipline and do not need to be sharedacross discipline boundaries. Sequential optimization harnesses each discipline’s
proficiency at solving its discipline-specific problem. The subproblem optimizers
have complete control over their discipline-specific design variables to meet local
design objectives and constraints.
Except in special cases, sequential optimization does not lead to an optimal
solution of the original problem for the same reason that Gauss-Seidel is notguaranteed to converge. The solution is sensitive to the local objective functions,and finding suitable local objective functions is often a challenge. Sequential optimization does not support parallel execution, and interdisciplinary compatibility
is enforced through iteration and does not always converge.
Example 21.5 applies sequential optimization to the ride-sharing problem.

21.6 Individual Discipline Feasible
The individual discipline feasible (IDF) architecture removes the need to run expensive multidisciplinary design analyses and allows disciplinary analyses tobe executed in parallel. It loses the guarantee that interdisciplinary compatibility is maintained throughout its execution, with eventual agreement enforced
through equality constraints in the optimizer. Compatibility is not enforced in
multidisciplinary analyses but rather by the optimizer itself.
IDF introduces coupling variables to the design space. For each discipline, anadditional vector c(i) is added to the optimization problem to act as aliases forthe response variables y(i) . The response variables are unknown until they arecomputed by their respective domain analyses; inclusion of the coupling variables allows the optimizer to provide these estimates to multiple disciplines
simultaneously when running analyses in parallel. Equality between the cou© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

21. 6 . i n d i vi d u a l d i sc i p l i n e fe a si bl e 399

The sequential optimization architecture can optimize some variables locally.
Figure 21.8 shows the result of applying sequential optimization to the ridesharing problem.
The design variables for the vehicle, sensor system, routing algorithm, andpricing scheme are split into local discipline-specific variables and top-levelglobal variables. For example, the vehicle subproblem can optimize local
vehicle parameters vℓ such as drive train components, whereas parameterslike vehicle capacity that are used by other analyses are controlled globallyin vg .
The tight coupling between the vehicle and sensor systems is poorly handled by the sequential optimization architecture. While changes made by
the vehicle subproblem are immediately addressed by the sensor subproblem, the effect of the sensor subproblem on the vehicle subproblem is notaddressed until the next iteration.
Not all analyses require their own subproblems. The profit analysis is
assumed not to have any local design variables and can thus be executedwithout needing a subproblem block.

Example 21.5. Sequential optimization for the ride-sharing problem.

© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

400 c ha p te r 21. mu l ti d i sc i p l i n a ry op ti mi z a ti on

update vg , sg , rg , pg

minimize f (A) subject to A ∈ X
vg ,sg ,rg ,pg

minimize f v (A) subject to [vℓ , y(v) ] ∈ Xvvℓminimize f s (A) subject to [sℓ , y] ∈ Xs( a)aℓminimize f r (A) subject to [rℓ , y
rℓ

(r )

update y(v)update sℓ(s)sℓminimize f a (A) subject to [aℓ , yupdate vℓupdate y(s)update aℓ] ∈ Xaupdate y( a)update rℓ] ∈ Xrminimize f d (A) subject to [dℓ , y(d) ] ∈ Xddℓupdate y(r)update dℓupdate y(d)VehicleAnalysis

SensorAnalysisAutonomy
Analysis

Routing
Analysis

DemandAnalysis

ProfitAnalysis

Figure 21.8. The sequential optimization architecture applied to
the ride-sharing problem.
© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

21. 6 . i n d i vi d u a l d i sc i p l i n e fe a si bl e 401

pling and response variables is typically reached through iteration. Equality is an
optimization constraint, c(i) = y(i) , for each discipline.
Figure 21.9 shows the general IDF architecture. The system-level optimizer
operates on the coupling variables and uses these to populate an assignment thatis copied to the disciplinary analysis in each iteration:

A[x, y(1) , . . . , y(m) ] ← [x, c(1) , . . . , c(m) ]minimizef (x, c(1) , . . . , c(m) )subject to[x, c(1) , . . . , c(m) ] ∈ X

x,c(1) ,...,c(m)(21.5)

c(i) = y(i) for i ∈ {1, . . . , m}copy of A

Disciplinary
Analysis 1

update y(1)copy of A

Disciplinary
Analysis 2

update y(2)copy of A

Disciplinary
Analysis m

update y(m)..

Despite the added freedom to execute analyses in parallel, IDF suffers fromthe shortcoming that it cannot leverage domain-specific optimization proceduresin the same way as sequential optimization as optimization is top-level only. Furthermore, the optimizer must satisfy additional equality constraints and has morevariables to optimize. IDF can have difficulties with gradient-based optimization
since the chosen search direction must take constraints into account as shown infigure 21.10. Changes in the design variables must not cause the coupling variables to become infeasible with respect to the disciplinary analyses. Evaluating
the gradients of the objective and constraint function is very costly when thedisciplinary analyses are expensive.
The individual discipline feasible architecture is applied to the ride-sharing
problem in figure 21.11.

Figure 21.9. The individual discipline feasible architecture allows
disciplinary analyses to be run inparallel. This chapter assumes thatdisciplinary analyses mutate their
inputs, so copies of the system level
optimizer’s assignment are passed
to each disciplinary analysis.

x2

x1
Figure 21.10. The search direction
for a point on a constraint boundary must lead into the feasible set.

© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

402 c ha p te r 21. mu l ti d i sc i p l i n a ry op ti mi z a ti onf (v, s, r, p, c(v) , c(s) , c( a) , c(r) , c(d) , c( p) )minimizev,s,r,p,c(v) ,c(s) ,c( a) ,c(r) ,c(d) ,c( p)subject tohiv, s, r, p, c(v) , c(s) , c( a) , c(r) , c(d) , c( p) ∈ X
hic( v ) , c( s ) , c( a ) , c(r ) , c( d ) , c( p ) = [ y( v ) , y( s ) , y( a ) , y(r ) , y( d ) , y( p ) ]copy of A

Vehicle Analysis

copy of A

Sensor Analysis

copy of A

Autonomy Analysis

copy of A

Routing Analysis

copy of A

Demand Analysis

copy of A

Profit Analysis

update y(v)update y(s)update y( a)update y(r)update y(d)update y( p)Figure 21.11. The individual discipline feasible architecture applied
to the ride-sharing problem. The
individual design feasible architecture allows for parallel execution ofanalyses, but the system-level optimizer must optimize a large number of variables.

© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

21. 7. c ol l a bora ti ve op ti mi z a ti on

21.7

403

Collaborative Optimization

The collaborative optimization architecture (figure 21.12) breaks a problem into
disciplinary subproblems that have full control over their local design variables
and discipline-specific constraints. Subproblems can be solved using disciplinespecific tools and can be optimized in parallel.
The ith subproblem has the form:
minimizef i ( x( i ) , y( i ) )subject to[ x( i ) , y( i ) ] ∈ X i

x( i )(21.6)

with x(i) containing a subset of the design variables x and response variables y(i) .
The constraint ensures that the solution satisfies discipline-specific constraints.
Interdisciplinary compatibility requires that the global variables xg and yg
agree between all disciplines. We define a set of coupling variables A g that includes variables corresponding to all design and response variables that are global
(i )

(i )

in at least one subproblem. Agreement is enforced by constraining each xg and(i )yg to match its corresponding coupling variables:
(i )

(i )

and

(i )

x g = A g [x g ]

(i )

(i )

y g = A g [y g ](21.7)

where A g [xg ] and A g [yg ] are the coupling variables corresponding to the global
design and response variables in the ith discipline. This constraint is enforced
using the subproblem objective function:
(i )

(i )

(i )

(i )

f i = x g − A g [x g ]

2
2

(i )

(i )

+ y g − A g [y g ]22(21.8)

Each subproblem thus seeks feasible solutions that minimally deviate from thecoupling variables.
The subproblems are managed by a system-level optimizer that is responsible
for optimizing the coupling variables A g to minimize the objective function. Evaluating an instance of the coupling variables requires running each disciplinary
subproblem, typically in parallel.
Disciplinary subproblems may deviate from the coupling variables during
the optimization process. This discrepancy occurs when two or more disciplines
disagree on a variable or when subproblem constraints prevent matching thetarget values set by the system-level optimizer. The top-level constraint that f i = 0
for each discipline ensures that coupling is eventually attained.
© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

404 c ha p te r 21. mu l ti d i sc i p l i n a ry op ti mi z a ti on

minimize f (A g ) subject to f i = 0 for i ∈ {1, . . . , m}Ag

f1

minimize
x(1)

(1)

(1)

f 1 = x g − A g [x g ]Agsubject to[xf2

minimizef 2 = x g − A g [x g ]

x(2)

(1)

,y

(1)

(2)

..

Ag

subject to[xfm

minimizef m = xg

subject to[ x( m ) , y( m ) ] ∈ X m

x( m )

Ag

,y

(2)

2

(1)

(1)

+ y g − A g [y g ]22] ∈ X1

(2)

(2)

2

] ∈ X2(m)(m)− A g [x g ]

2
2

2
2

(2)

(2)

+ y g − A g [y g ]

(m)

+ yg

The primary advantages of collaborative optimization stem from its ability
to isolate some design variables into disciplinary subproblems. Collaborative
optimization is readily applicable to real-world multidisciplinary problem solving,as each discipline is typically well segregated, and thus largely unaffected bysmall decisions made in other disciplines. The decentralized formulation allows
traditional discipline optimization methods to be applied, allowing problem
designers to leverage existing tools and methodologies.
Collaborative optimization requires optimizing over the coupling variables,
which includes both design and response variables. Collaborative optimization
does not perform well in problems with high coupling because the additional
coupling variables can outweigh the benefits of local optimization.
Collaborative optimization is a distributed architecture that decomposes a single
optimization problem into a smaller set of optimization problems that have thesame solution when their solutions are combined. Distributed architectures havethe advantage of reduced solving times, as subproblems can be optimized inparallel.
Collaborative optimization is applied to the ride-sharing problem in example 21.6.

(m)− A g [y g ]

2
2

2
2

Figure 21.12. Design architecture
for collaborative optimization.

© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

21. 7. c ol l a bora ti ve op ti mi z a ti on

The collaborative optimization architecture can be applied to the vehicle
routing problem by producing six different disciplinary subproblems. Unfortunately, having six different subproblems requires any variables sharedacross disciplines to be optimized at the global level.
Figure 21.13 shows two disciplinary subproblems obtained by grouping
the vehicle, sensor, and autonomy disciplines into a transport subproblem
and the routing, demand, and profit disciplines into a network subproblem. The disciplines grouped into each subproblem are tightly coupled.
Having only two subproblems significantly reduces the number of global
variables considered by the system-level optimizer because presumably very
few design variables are directly used by both the transport and network
subproblems.
The subproblems are each multidisciplinary optimization problems, themselves amenable to optimization using the techniques covered in this chapter.
We can, for example, use sequential optimization within the transport subproblem. We can also add another instance of collaborative optimization
within the network subproblem.

405

Example 21.6. Applying collaborative optimization to the ridesharing problem.

minimize f (A g ) subject to f transport = f network = 0
Agminimizex(transport)

subject tominimizex(network)

subject to(transport)

f transport = xg

[x(transport),y(transport)(network)

[x

,y

]

2
2

(transport)+ yg(transport)− A g [y g]22] ∈ Xtransport

f network = xg
(network)(transport)− A g [x g(network)(network)− A g [x g] ∈ Xnetwork]

2
2(network)+ yg(network)− A g [y g]22Figure 21.13. The collaborative optimization architecture applied to
the ride-sharing problem. The colored circles correspond to the disciplinary analyses contained withineach subproblem.
© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

406 c ha p te r 21. mu l ti d i sc i p l i n a ry op ti mi z a ti on

21.8 Simultaneous Analysis and Design
The simultaneous analysis and design (SAND) architecture avoids the central challenge of coordinating between multiple disciplinary analyses by having the optimizer conduct the analyses. Instead of running an analysis Fi (A) to obtain aresidual, SAND optimizes both the design and response variables subject to a
constraint Fi (A) = A. The optimizer is responsible for simultaneously optimizing
the design variables and finding the corresponding response variables.
Any disciplinary analysis can be transformed into residual form. The residualri (A) is used to indicate whether an assignment A is compatible with the ith
discipline. If Fi (A) = A, then ri (A) = 0; otherwise, ri (A) 6= 0. We can obtain aresidual form using the disciplinary analysis:ri (A) = Fi (A) − A[y(i) ](21.9)

though this is typically inefficient, as demonstrated in example 21.7.
Consider a disciplinary analysis that solves the equation Ay = x. The analysis
is F (x) = A−1 x, which requires an expensive matrix inversion. We canconstruct a residual form using equation (21.9):
r1 (x, y) = k F (x) − yk = A−1 x − yAlternatively, we can use the original constraint to construct a more efficient
residual form:
r2 (x, y) = kAy − xk

Example 21.7. Evaluating a disciplinary analysis in a residual istypically counter-productive. The
analysis must typically perform additional work to solve the problem
whereas a cleaner residual form
can more efficiently verify whether
the inputs are compatible.

In aerodynamics, these may include the Navier-Stokes equations.
In structural engineering, these
may include the elasticity equations. In electrical engineering,these may include the differential
equations for current flow.

10

The residual form of a discipline consists of the set of disciplinary equations
that are solved by the disciplinary analysis.10 It is often much easier to evaluate aresidual than to run a disciplinary analysis. In SAND, figure 21.14, the analysis
effort is the responsibility of the optimizer.
minimize f (A) subject to A ∈ X , ri (A) = 0 for each disciplineA

SAND can explore regions of the design space that are infeasible with respect
to the residual equations, as shown in figure 21.15. Exploring infeasible regions

Figure 21.14. Simultaneous analysis and design places the entire
burden on the optimizer. It uses
disciplinary residuals rather thandisciplinary analyses.

© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

21. 9. su mma ry

can allow us to traverse the design space more easily and find solutions in feasible
regions disconnected from the feasible region of the starting design point. SAND
suffers from having to simultaneously optimize a very large number of variables
for which derivatives and other discipline-specific expertise are not available.
Furthermore, SAND gains much of its value from residuals that can be computed
more efficiently than can disciplinary analyses. Use of SAND in real-world applications is often limited by the inability to modify existing disciplinary analysis
code to produce an efficient residual form.
SAND is applied to the ride-sharing problem in example 21.8.
Applying the simultaneous analysis and design architecture to the ridesharing problem requires disciplinary residuals. These can potentially depend on all design and response variables. The architecture requires thatthe optimizer optimize all of the design variables and all of the response
variables.
minimizev,s,r,p,y(v) ,y(s) ,y( a) ,y(r) ,y(d) ,y( p)subject to

407

x2
x(1)

x1
Figure 21.15. SAND can explore regions of the design space that are
infeasible and potentially bridge
the gap between feasible subsets.
Example 21.8. The simultaneous
analysis and design architecture
applied to the ride-sharing problem.


f v, s, r, p, y(v) , y(s) , y( a) , y(r) , y(d) , y( p)hiv, s, r, p, y(v) , y(s) , y( a) , y(r) , y(d) , y( p) ∈ X

rv (v, s, r, p, y(v) , y(s) , y( a) , y(r) , y(d) , y( p) ) = 0
rs (v, s, r, p, y(v) , y(s) , y( a) , y(r) , y(d) , y( p) ) = 0
r a (v, s, r, p, y(v) , y(s) , y( a) , y(r) , y(d) , y( p) ) = 0
rr (v, s, r, p, y(v) , y(s) , y( a) , y(r) , y(d) , y( p) ) = 0rd (v, s, r, p, y(v) , y(s) , y( a) , y(r) , y(d) , y( p) ) = 0
r p (v, s, r, p, y(v) , y(s) , y( a) , y(r) , y(d) , y( p) ) = 0

21.9 Summary• Multidisciplinary design optimization requires reasoning about multiple disciplines and achieving agreement between coupled variables.
• Disciplinary analyses can often be ordered to minimize dependency cycles.
© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

408 c ha p te r 21. mu l ti d i sc i p l i n a ry op ti mi z a ti on• Multidisciplinary design problems can be structured in different architecturesthat take advantage of problem features to improve the optimization process.
• The multidisciplinary design feasible architecture maintains feasibility andcompatibility through the use of slow and potentially nonconvergent multidisciplinary design analyses.
• Sequential optimization allows each discipline to optimize its discipline-specificvariables but does not always yield optimal designs.
• The individual discipline feasible architecture allows parallel execution ofanalyses at the expense of adding coupling variables to the global optimizer.
• Collaborative optimization incorporates suboptimizers that can leverage domain specialization to optimize some variables locally.
• The simultaneous analysis and design architecture replaces design analyses
with residuals, allowing the optimizer to find compatible solutions but cannot
directly use disciplinary solution techniques.

21.10 Exercises
Exercise 21.1. Provide an example of a practical engineering problem that is
multidisciplinary.
Exercise 21.2. Provide an abstract example of a multidisciplinary problem where
the order of the analyses is important.
Exercise 21.3. What is one advantage of the individual discipline feasible architecture over the multidisciplinary design feasible and sequential optimizationarchitectures?
Exercise 21.4. Consider applying multidisciplinary design analysis to minimizing
the weight of a wing whose deformation and loading are computed by separate
disciplines. We will use a simplified version of the problem, representing thewing as a horizontally-mounted pendulum supported by a torsional spring.

© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com

21. 10 . e x e rc i se s 409

k

kθ

θ

ℓ
mgℓ cos(θ )mg

The objective is to minimize the spring stiffness, k, such that the pendulum’s displacement does not exceed a target threshold. The pendulum length ℓ, pendulum
point mass m, and gravitational constant g are fixed.
We use two simplified analyses in place of more sophisticated analyses used tocompute deformations and loadings of aircraft wings. Assuming the pendulum
is rigid, the loading moment M is equal to mgℓ cos(θ ). The torsional spring resists
deformation such that the pendulum’s angular displacement θ is M/k.
Formulate the spring-pendulum problem under the multidisciplinary design
feasible architecture, and then solve it according to that architecture for:m = 1 kg, ℓ = 1 m, g = 9.81 m s−2 , θmax = 10◦
Exercise 21.5. Formulate the spring-pendulum problem under the individual
design feasible architecture.
Exercise 21.6. Formulate the spring-pendulum under the collaborative optimization architecture. Present the two disciplinary optimization problems and thesystem-level optimization problem.

© 2019 Massachusetts Institute of Technology, shared under a Creative Commons CC-BY-NC-ND license.
2022-05-22 00:25:57-07:00, revision 47fd495, comments to bugs@algorithmsbook.com