1 Introduction

The lifetime cost of engineering systems are becoming an increasingly large burden to owners and operators and, therefore, an important factor to consider for designers. Optimization has been used in many applications to attempt to address reducing these costs over a systems operational life. Engineers who work on naval platforms are changing their design approach due to rising operational costs. In Stambaugh and Barry (2014) the authors outline large costs the United States Coast Guard is facing maintaining and operating their current ageing fleet. They posit that the economic burden of these costs are becoming the decisive factor that limits a vessel’s service life. Given this state of naval design it is important to utilize the total ownership costs as a design driver. This overall cost includes various categories such as production, operation, and maintenance. These categories are often competing with one another and, therefore, it becomes important to understand their interactions and trade-offs. Unfortunately, gaining this understanding is a difficult task as the design space is difficult to explore with traditional multi-objective optimization algorithms even for simple problems as shown in Temple and Collette (2015). This work aims to allow for a greater understanding of this trade space by developing a new multi-disciplinary optimization framework that is specifically tailored to solve this unique and difficult problem.

When analyzing the trade-offs in different categories of lifetime cost the problem is inherently multi-disciplinary. Operational costs such as fuel consumption are largely governed by hydrodynamics, whereas categories such as production or maintenance incorporate structural analysis. Multi-disciplinary optimization (MDO) has been used to design within this type of coupled, difficult space before. It has been used in the marine design field (Li et al. 2010; Hannapel 2012; Hart and Vlahopoulos 2009) for various applications. There are a wide range of architectures for MDO that approach solving these problems in different ways. A broad line to divide them by is monolithic and distributed architectures (Martins and Lambe 2012). Distributed architectures break the problem into system- and sub-system level problems in order to facilitate finding the coupled solution. Collaborative Optimization (CO) is a distributed multi-disciplinary optimization method that has been utilized heavily in engineering design optimization. Various papers have presented methods of using CO in a multi-objective environment to develop Pareto fronts (Aute and Azarm 2006; Ruiyi et al. 2011; Depince et al. 2005; Gunawan et al. 2003). The distributed nature of CO allows the sub-level problems to exploit the specific nature of their design spaces. The proposed framework will take advantage of this quality and make further enhancements that facilitate understanding trade-offs in lifetime costs.

There is a rich body of optimization work done in different design disciplines for naval systems. Researcher’s have used optimization to reduce the drag on a ship’s hull (Harries et al. 2001; Sariz 2006; Brenner and Sener 2011) and developed search methods to aid in the exploration of the design space (Kuhn et al. 2007; Zalek et al. 2008). Similarly work has been done to optimize ship’s structures’ for objectives such as production cost (Krol 1991; Mermiris et al. 2005; Yang and Hwang 2002) and maintenance (Chung et al. 2006; Junca and Sanchez-Silva 2013; Kim and Frangopol 2011). However understanding the interactions between these different disciplines and using optimization to find trade-offs is unexplored. One of the reasons for this is the mathematical difference between the design spaces. For example, when considering resistance and lifetime maintenance the hydrodynamic discipline is a continuous mathematical space wherein gradient based algorithms can be effectively used. The structural space, however, is often a discrete space with weak minima (Temple and Collette 2013b) that lends itself well to heuristic methods. Another is that the coupling between these disciplines is weaker than in other MDO engineering problems. The authors of this work have found that traditional multi-objective tools are unable to consistently converge to the entire Pareto-front for this type of multi-disciplinary problem. Proposed here is a multi-objective multi-disciplinary optimization framework that uses two enhancements to facilitate solving these unique problems: a novel goal-programming decision making process (DSP) at the discipline level and a new locally-elitist single objective genetic algorithm in non-continuous sub-spaces. By utilizing these two approaches the enhanced MOCO (eMOCO) is able to efficiently and accurately resolve these difficult Pareto-fronts. This can aid designers in understanding these trade-offs in order to ensure that engineering decisions are being made that will minimize the lifetime cost of a vessel.

A multi-objective collaborative optimization (MOCO) framework has the benefit of being able to utilize different types of optimizers at a sub-system level to effectively design within each individual space. In order to take advantage of the distributed architecture of the MOCO it is enhanced using a goal-programming technique at the sub-system level to aid in minimizing local objectives. Goal programming is a decision making process (DSP) that has been used in engineering to give optimization algorithms a sense of the designers intent. It uses a hierarchy of objective functions, that are successively minimized, thus allowing the algorithm to minimize what the designer deems most important first. In the proposed enhanced MOCO (eMOCO) framework the goal programming is used to first minimize the interdisciplinary feasibility, as in a traditional MOCO, and then reduce local objective functions second. This aids in pushing the system level optimizer towards the global Pareto-front, and is specifically useful in solving problems with weak minima or flat regions as the goal-programming at the sub-system level helps push the population through them.

One of the issues that arises when using heuristic algorithms, especially those that are population based, in a distributed MDO architecture is that the computation time can quickly become intractable. To counter this a second enhancement is proposed for the sub-spaces that are discrete or flat in nature: a new variation on the single objective genetic algorithm (SOGA) called a locally-elitist genetic algorithm (LEGA). This LEGA allows the discipline optimizer to solve the sub-system problem in a single execution as opposed to a different one for each solution in the system level population, allowing for the discipline level problem to be solved much faster. These two enhancements can be implemented and used separately, however, they are designed in tandem to be used in solving this specific type of naval design problem. In order to show the framework’s ability to solve the unique type of problem it has been designed for it is first tested on multi-objective and multi-disciplinary test problems followed by a case study in the naval design field.

The subsequent sections of this paper will cover the eMOCO algorithm, then proceed to go over the various test problems used to verify its ability. It will conclude with a case study using a nominal hull form and structure for a standard naval combatant and a discussion of the results.

2 Enhanced MOCO framework (eMOCO)

Goal programming is a decision support process (DSP) that has been used within engineering optimization to handle competing objectives of varying importance. In goal-programming different objectives are satisfied in an order based on their relative importance. This work utilizes lexicographical goal-programming in which each objective is satisfied completely before the optimizer begins working on the next one. This formulation can be expressed as shown in Eq. 1

$$\begin{array}{@{}rcl@{}} \text{minimize: } && F({x}) = [d_{1}^{+},d_{2}^{+}, {\ldots} ,d_{n}^{+}] \\ \text{subject to: } && {g}({x}) \le {0} \\ && f_{i}({x}) + d_{i}^{+} - d_{i}^{-} = b_{i} \ \forall \ i=1,{\ldots} ,n \end{array} $$
(1)

In Eq. 1 each objective, f i is being minimzed towards a goal, b i , according to their respective priority. This manifests in the variables \(d_{i}^{+}\) and \(d_{i}^{-}\), which represent the positive or negative variance from the goal of the objective. In the lexicographical approach to goal-programming the constraints ensure that it does not increase the objective functions that have higher priority (Tamiz et al. 1998).

This work uses goal-programming in a novel approach to allow the sub-system problems to reduce the local objective functions while maintaning the inter-discipline feasibility. This lets them act as a local decision maker, ensuring that solutions passed back to the system-level optimizer represent areas of the design space that are locally optimal. By utilizing this technique, along with the inter-disciplinary feasibility metrics inherent to collaborative optimization, the system-level optimizer can efficiently resolve difficult Pareto-fronts involving sub-spaces of drastically different natures.

Collaborative Optimization (CO) separates a system-level problem and discipline-level ones by introducing copies of coupling and shared design vectors and passing them to the sub-system optimizers (Martins and Lambe 2012). The system-level optimizer then focuses on minimizing the objective vector, f(x); while the sub-system problem then ensures all local constraints are satisfied while minimizing discrepancy between local design variables and the copies sent from the system-level optimizer. The system- and sub-system level problems can be seen in Eqs. 2 and 3:

$$\begin{array}{@{}rcl@{}} \text{minimize: } && {f}({x}) = (f_{0},f_{1},...,f_{N}) \\ \text{with respect to: } && {x} = (x_{0}, \hat{x_{1}},...,\hat{x_{N}},\hat{y}) \\ \text{subject to: } && g_{0}({x}) \ge 0 \\ && \begin{array}{ll} J_{i}^{*} = & ||\hat{x}_{0_{i}} - x_{0}||_{2}^{2} + ||\hat{x}_{i} - x_{i}||_{2}^{2} + \\ & ||\hat{y}_{i} - y_{i}||_{2}^{2} =0 \text{ for }i=1,...,N \end{array} \end{array} $$
(2)
$$\begin{array}{@{}rcl@{}} \text{minimize: } && J_{i} = ||\hat{x}_{0_{i}}-x_{0_{i}}||^{2}_{2} + \\ && ||\hat{x}_{i} - x_{i} ||_{2}^{2} + ||\hat{y}_{i} + y_{i}||_{2}^{2} \\ \text{with respect to: } && \hat{x}_{0_{i}}, x_{i} \\ \text{subject to: } && g_{i}(\hat{x}_{0_{i}}, x_{i}, y_{i}) \ge 0 \end{array} $$
(3)

In Eq. 2 x 0 represents the vector of variables shared between disciplines, x i represent design variables unique to the i th discipline, and y i represents coupling variables from discipline i to a subset of disciplines ji. The coupling variables may be specific design variables themselves or, more often, state vectors that are calculated based on the other design variables. Variables marked with a \(\hat {~}\) represent copies passed between the system and sub-system problems. By having local copies of each variables within the various problems; the algorithms can work in parallel to reduce local objectives and constraints. The inter-disciplinary feasibility function, J i for each discipline ensures that, when the system-level optimizer converges, each discipline agrees on the optimal design vectors.

2.1 Goal programming at the discipline level

Due to the distributed nature of the MOCO architecture it is possible to utilize the sub-system optimizers in the development of the Pareto-fronts. By enhancing the MOCO with the goal-programming DSP outlined above at a sub-system level the local objective function value can be reduced. The sub-system populations passed back to the system level optimizer then represent design vectors that are minimized with respect to their disciplines, facilitating the movement of the Pareto-front towards the optimum. This leads to the revised sub-system problem formulations in Eq. 4:

$$\begin{array}{@{}rcl@{}} \text{minimize: } && {F}({x}) = [d_{i_{J}}^{+}, d_{i_{f_{1}}}^{+},...,d_{i_{f_{N}}}^{+}] \\ \text{with respect to: } && \hat{x}_{0_{i}}, x_{i} \\ \text{subject to: } && g_{i}(\hat{x}_{0_{i}}, x_{i}, y_{i}) \ge 0 \\ && J_{i}(\hat{x}_{0}, x_{i}, y_{i}) + d_{i_{J}}^{-} - d_{i_{J}}^{+} = 0 \\ && f_{i_{1}}(\hat{x}_{0}, x_{i}, y_{i}) + d_{i_{f_{1}}}^{-} - d_{i_{f_{1}}}^{+} = 0 \\ && {\vdots} \\ && f_{i_{N}}(\hat{x}_{0}, x_{i}, y_{i}) + d_{i_{f_{N}}}^{-} - d_{i_{f_{N}}}^{+} = 0 \end{array} $$
(4)

The system level problem remains as shown in Eq. 2. The vector of objective functions is reduced while satisfying any shared constraints; and ensuring that there is inter-disciplinary feasibility. However, at a sub-system level a lexicographical goal-programming approach is used to accomplish two goals:

  1. 1.

    Minimize the discipline infeasibility for the local design variables

  2. 2.

    Reduce any local objective functions

Note that the formulation shown in Eq. 4 assumes the local objective functions are being minimized towards zero; however, this could be changed to reflect the nature of whatever problem is being solved. This means the sub-system problem first minimizes the local J function; then, secondarily, reduces the local objectives. This can aid the system-level optimizer in resolving difficult Pareto-fronts by ensuring that discipline design variables are pushed towards the front. Note that N number of discipline objectives can be minimized during the goal-programming routine. This allows the engineer using the algorithm to set a hierarchy to different objectives, allowing their engineering experience and intuition to play a part in the outcome of the optimizer.

Since the interdisciplinary feasibility functions can be optimized with any type of algorithm, the sub-system problems can utilize optimization techniques tailored to the local objectives. For instance, if the space is discontinuous or multi-modal a gradient-free algorithm such as a genetic algorithm or particle swarm optimizer can be used; however, if it is C 1 continuous a more effective gradient-based method can be used. Thus, the system-level can employ a multi-objective genetic algorithm to resolve the full-Pareto front, yet, the specific nature of each discipline can still be exploited by the sub-system problem to aid the system-level optimizer. This also allows various optimizers to be implemented at a sub-system level at the designers will with relative ease depending on the problem being solved.

2.2 Locally elitist genetic algorithm (LEGA)

In order for the goal-programming enhanced MOCO to effectively optimize non-continuous sub-spaces; a gradient-free algorithm must be utilized at a sub-system level. In current literature sub-system genetic algorithms have been developed for a MOCO framework by using a design-of-experiments method to sample points in the local vicinity around each point in the system-level population. These sample points are then used as the initial population for a single-objective genetic algorithm (SOGA). This means that for every candidate solution in the system-level a full genetic algorithm must be performed. While this approach is conceptually intuitive, it is also computationally expensive. It would be advantageous if a single execution of a genetic algorithm could be done at the sub-system level.

However, each candidate solution in the system-level population will have different values of \(\hat {x_{i}}\), x 0, and \(\hat {y_{i}}\). Since these vectors do not change throughout the discipline-level optimization they will be referred to as static vectors. Since the static vectors are fundamental to i th sub-system’s J i function, the discipline-level problem associated with each candidate solution is actually slightly different. This makes it difficult to use the standards evolutionary operators such as crossover; since each solution represents a slightly different optimization problem based on its location in the design space. The problem lies in that if the standard operators are used the discipline-level SOGA will quickly move each solution to whichever candidate is nearest to the feasible domain, drastically diminishing thel genetic diversity in the population. In order to avoid this the diversity of the static vectors within a population must be maintained throughout the genetic algorithm. This can be done by defining new crossover and selection functions that are elitist locally with respect to solutions with identical static vectors; however, highly non-elitist with respect to the entire population. The crossover function can be seen in Algorithm 1:

figure a

In Algorithm 1 the static vectors from each parent solution are stored in: 𝜃 1 and 𝜃 2. A crossover method is then used to produce two children from the parents; and each candidate child solution is given both parents 𝜃 vectors, producing four unique solutions. All solutions associated with a given 𝜃 vector are then compared; and the winner from these comparisons is added to the child population. This ensures that the a strong-candidate solution corresponding to each static 𝜃 vector is added to the child population; thus helping to preserve genetic diversity with respect to the static vectors.

In order to ensure the diversity of the static vectors remains from each generation to the next; a selection method is also utilized that focuses on maintaining this diversity.

figure b

Algorithm 2 will only ever compare a child candidate solution (the population of which is generated using Algorithm 1) to one of the parent solutions that produced it. Therefore, even if a small number of static variable vectors make up the mating pool, or child pool, the diversity of static vectors will not degenerate from one generation to the next. This creates an algorithm that, from a population perspective, is highly non-elitist; since poor solutions can remain in the population to preserve the diversity of static vectors, however, it is quite elitist locally in improving the solutions attached to each of the static vectors.

The primary reason this must be done is that the discipline level SOGA is seeking to improve the entire system-level population in a single run; meaning that the entire final population must be significant to the system-level optimizer, not only a single optimum solution. While this approach is not as intuitive as designing an entire SOGA run around each system-level individual, it functions well within the MOCO framework and saves significantly on computational effort.

3 Test problems

In order to show the ability of the enhanced MOCO to solve multi-objective and multi-disciplinary engineering problems multiple test cases will be analyzed. First a set of standard multi-objective problems that have been used to test algorithms suchs as the NSGA-II will be used to show the eMOCO’s ability to find the solution to basic multi-objective problems. Then an MDO test problem has been used to show the ability of the eMOCO to solve a multi-disciplinary problem more efficiently than a traditional MOCO.

3.1 Multi-objective test problems

Two mathematical problems are used to show the algorithm’s ability to resolve different Pareto-fronts. These can be seen in Eqs. 5 and 6. They are called CONSTR and TNK respectively. Both of these are taken from Deb et al. (2002) and have been used in the validation of many multi-objective optimization algorithms.

$$\begin{array}{@{}rcl@{}} \text{minimize: } && {f}({x}) = (x_{1}, \frac{1+x_{2}}{x_{1}}) \\ \text{subject to: } && g_{1}({x}) = -x_{2} + 9x_{1} - 1 \ge 0 \\ && g_{2}({x}) = \frac{x_{2} + 9x_{1} - 6}{6} \ge 0 \end{array} $$
(5)
$$\begin{array}{@{}rcl@{}} \text{minimize: } && {f}({x}) = (x_{1}, x_{2}) \\ \text{subject to: } && g_{1}({x}) = {x_{1}^{2}}+{x_{2}^{2}}-1-0.1 \cos(16\arctan(\frac{x_{1}}{x_{2}})) \ge 0 \\ && g_{2}({x}) = \frac{ -\left( x_{1}-0.5\right)^{2} - \left( x_{2}-0.5\right)^{2} + 0.5}{0.5} \ge 0 \end{array} $$
(6)

The problem in Eq. 5 is driven largely by the second objective function and first constraint; whereas the problem in Eq. 6 is clearly driven entirely by the constraints.

In order to test the enhanced MOCO using these problems they were divided into two disciplines each; where x 1 is the discipline variable for the first discipline, x 2 is the discipline variable for the second, and there are no shared variables. Equation 5 can be transformed into the following system-level and sub-system problems:

$$\begin{array}{@{}rcl@{}} && \textbf{System Level:} \\ \text{minimize: } && {f}({x}) = \left( \hat{x_{1}}, \frac{1+\hat{x_{2}}}{\hat{x_{1}}}\right) \\ \text{subject to: } && ||\hat{x_{1}} - x_{1}|^{2}_{2} || + ||\hat{x_{2}} - x_{2}||^{2}_{2} = 0 \end{array} $$
(7)
$$\begin{array}{@{}rcl@{}} &&\textbf{Discipline 1:} \\ \text{minimize: } && F(x) = [d_{1_{J}}^{+}, d_{1_{f}}^{+}] \\ \text{subject to: } && g_{1}(x) = -\hat{x_{2}} + 9x_{1} - 1 \ge 0 \\ && g_{2}(x) = ||\hat{x_{1}} - x_{1} ||^{2}_{2} + d_{1_{J}}^{+} - d_{1_{J}}^{-} = 0 \\ && g_{3}(x) = x_{1} + d_{1_{f}}^{+} - d_{1_{f}}^{-} = 0 \end{array} $$
(8)
$$\begin{array}{@{}rcl@{}} &&\textbf{Discipline 2:} \\ \text{minimize: } && F(x) = [d_{2_{J}}^{+}, d_{2_{f}}^{+}] \\ \text{subject to: } && g_{1}(x) = \frac{x_{2} + 9\hat{x_{1}} - 6}{6} \ge \end{array} $$
(9)
$$\begin{array}{@{}rcl@{}} && g_{2}(x) = ||\hat{x_{2}} - x_{2} ||^{2}_{2} + d_{1_{J}}^{+} - d_{1_{J}}^{-} = 0 \\ && g_{3}(x) =\left( \frac{1+x_{2}}{\hat{x_{1}}}\right) + d_{2_{f}}^{+} - d_{2_{f}}^{-} = 0 \end{array} $$
(10)

By breaking Eq. 5 into Eqs. 78 and 10 it can be solved using the enhanced-MOCO algorithm. The goal-programming is lexicographical in approach; this means that the sub-system optimizers will first minimize the disciplinary infeasibility as much as possible; and then focus on reducing the local objective function; without increasing the value of J i . This allowed the algorithm to ensure the inter-disciplinary infeasibility, and also allow the sub-system optimizers to reduce the objectives specific to their subspaces.

The problem shown in Eq. 6 can be broken down similaraly as seen in Eqs. 1112, and 14.

$$\begin{array}{@{}rcl@{}} && \textbf{System Level:} \\ \text{minimize: } && {f}({x}) = \left( \hat{x_{1}}, \hat{x2}\right) \\ \text{subject to: } && ||\hat{x_{1}} - x_{1}|^{2}_{2} || + ||\hat{x_{2}} - x_{2}||^{2}_{2} = 0 \end{array} $$
(11)
$$\begin{array}{@{}rcl@{}} &&\textbf{Discipline 1:} \\ \text{minimize: } && F(x) = [d_{1_{J}}^{+}, d_{1_{f}}^{+}] \\ \text{subject to: } && g_{1}({x}) = {x_{1}^{2}}+\hat{x_{2}}^{2}-1\\ &&\qquad\quad\,\,\,-0.1 \cos\left( 16\arctan\left( \frac{x_{1}}{\hat{x_{2}}}\right)\right) \ge 0 \\ && g_{2}(x) = ||\hat{x_{1}} - x_{1} ||^{2}_{2} + d_{1_{J}}^{+} - d_{1_{J}}^{-} = 0 \\ && g_{3}(x) = x_{1} + d_{1_{f}}^{+} - d_{1_{f}}^{-} = 0 \end{array} $$
(12)
$$\begin{array}{@{}rcl@{}} &&\textbf{Discipline 2:} \\ \text{minimize: } && F(x) = [d_{2_{J}}^{+}, d_{2_{f}}^{+}] \\ \text{subject to: } && g_{1}(x) = \frac{ -\left( \hat{x_{1}}-0.5\right)^{2} - \left( x_{2}-0.5\right)^{2} + 0.5}{0.5} \ge 0\ge \end{array} $$
(13)
$$\begin{array}{@{}rcl@{}} && g_{2}(x) = ||\hat{x_{2}} - x_{2} ||^{2}_{2} + d_{1_{J}}^{+} - d_{1_{J}}^{-} = 0 \\ && g_{3}(x) =x_{2} + d_{2_{f}}^{+} - d_{2_{f}}^{-} = 0 \end{array} $$
(14)

It is important to note that the division of this problem into two disciplines is arbitrary. This means it is not expected for the enhanced-MOCO to outperform more traditional algorithms, however, it is important that the algorithm is able to resolve these Pareto-fronts.

The Pareto-fronts for these problems using both the enhanced-MOCO and a traditional genetic algorithm (in this case an implementation of the NSGA-II (Deb et al. 2002)) are shown in Figs. 1 and 2. In both cases the system level optimizer evolved the initial population of 50 individuals through 50 generations. Both discipline optimizers used to produce the results are the LEGA presented above; however, similar ones were found using an SQP algorithm at the discipline level.

Fig. 1
figure 1

CONSTR Problem - solved with eMOCO and NSGA-II

Fig. 2
figure 2

TNK Problem - solved with eMOCO and NSGA-II

Figures 1 and 2 show that the eMOCO is able to resolve both pareto fronts as well or better than a traditional NSGA-II. The TNK problem is a constraint-dominated function with a highly non-linear Pareto-front, while the CONSTR problem is objective-dominated in one region and constraint-dominated in another. For both these problems the eMOCO performs well.

3.2 Multi-disciplinary test problem

In order to test the algorithm on an intentionally multi-disciplinary problem a test problem based on one shown in Ruiyi et al. (2011) is used. The problem involves three variables and two disciplines; each of which has a state variable that is passed to the other. An outline of the problem can be seen in Fig. 3.

Fig. 3
figure 3

Basic data flow for the two-discipline example

The problem involves one shared variable, two discipline variables, and two state variables that are passed between the disciplines. The system and discipline formulations are shown in in Eq. 15

$$\begin{array}{@{}rcl@{}} && \textbf{System Level:} \\ \text{minimize: } && f_{1}({x}) = x_{1} + \sqrt{x_{2}} + \frac{{y_{2}^{2}} - {y_{1}^{3}}}{10^{4}} + 150, \\ && f_{2}({x}) = {x_{2}^{2}} + x_{3} + y_{1} + e^{-y1} \\ \text{with respect to: } && x_{1}, \hat{x_{2}}, \hat{x_{3}}, \hat{y_{1}}, \hat{y_{2}} \\ \text{subject to: } && \sum\limits_{i=1}^{3} ||x_{i} - \hat{x_{i}} ||_{2}^{2} + \sum\limits_{i=1}^{2} ||y_{i} - \hat{y_{i}} ||_{2}^{2} = 0 \end{array} $$
(15)
$$\begin{array}{@{}rcl@{}} &&\textbf{Discipline 1:} \\ \text{minimize: } && F({x}) = [d_{1_{J}}^{+}, d_{1_{f}}^{+}] \\ \text{with respect to: } && \hat{x_{1}}, x_{2}, y_{1} \\ \text{subject to: } && \left( \hat{x_{1}}^{2} + x_{2} - 0.2\hat{y_{2}} \right) - y_{1} = 0 \\ && ||x_{1} - \hat{x_{1}}||^{2}_{2} + ||x_{2} - \hat{x_{2}}||_{2}^{2} + {\ldots} \\ && {\dots} ||y_{1} - \hat{y_{1}} ||^{2}_{2} + d_{1_{J}}^{+} + d_{1_{J}}^{-} = 0 \\ && f_{1}({x}) + d_{1_{f}}^{+} - d_{1_{f}}^{-} = 0 \end{array} $$
(16)
$$\begin{array}{@{}rcl@{}} && \textbf{Discipline 2:} \\ \text{minimize: } && F({x}) = [d_{2_{J}}^{+}, d_{2_{f}}^{+}] \\ \text{with respect to: } && \hat{x_{1}}, x_{3}, y_{2} \\ \text{subject to: } && \left( \hat{x_{1}} + x_{3} + \sqrt{\hat{y_{1}}} \right) - y_{2} = 0 \\ && ||x_{1} - \hat{x_{1}} ||^{2}_{2} + ||x_{3} - \hat{x_{3}} ||^{2}_{2} + {\ldots} \\ && {\ldots} ||y_{2} - \hat{y_{2}}||_{2}^{2} + d_{2_{f}}^{+} + d_{2_{f}}^{-} = 0 \\ && f_{2}({x}) + d_{2_{f}}^{+} - d_{2_{f}}^{-} = 0 \end{array} $$
(17)

In Eqs. 15 through 17 x 1 is a shared variable, x 2 is specific to discipline 1 and x 3 is specific to discipline 2. Both disciplines have state variables y 1 and y 2 that are dependent on each other and the entire vector of design variables. The objective function also involve both disciplines and their respective state variables. This is an example problem that is somewhat representative of the naval design situations this algorithm is being developed for. The design vector and, more specifically, the number of state variables are small, yet they are critical to resolving the front.

In order to show the benefit of using the enhanced MOCO this problem will be solved using both a traditional MOCO and the eMOCO.

3.2.1 Convergence measurement

Though the MDO example is more complex than the problems shown in the previous section, it is still mathematically simple enough that both the enhanced MOCO and a traditional one can solve it. Thus, it is necessary to have a measurement of convergence in order to analyze the speed at which they solve the problem. Measuring the speed of convergence in a multi-objective problem is not as straight forward or standardized as in single-objective optimization, however, different approaches have been proposed. In Collette and Siarry (2005) a convergence speed metric was proposed based on a threshold frontier. In this metric a true Pareto front is offset by a vector, v as seen in Fig. 4.

Fig. 4
figure 4

An example of a true Pareto front and threshold front

In the metric proposed in Collette and Siarry (2005) convergence is measured as the portion of a population that falls between the true Pareto front and threshold front at a given generation. This work proposes a similar metric to compare the convergence of the two different MOCO algorithms. A metric such as the threshold front is useful, however, it is possible to report unrealistic convergences where a candidate population is clustered in a small portion of the Pareto-front. Therefore a metric is proposed that combines a threshold measurement with a Pareto-span metric. The convergence at the i th generation, denoted as \(\hat {e}(i) \in (0,1)\), is calculated using Eq. 18.

$$ \hat{e}(i) = \frac{1}{2} \left( \frac{W_{TH}\left( S_{i}\right)}{|S_{i}|} + \frac{f_{F_{1}}(x)_{max}-f_{i_{1}}(x)_{min}}{f_{F_{1}}(x)_{max}-f_{F_{1}}(x)_{min}}\right) $$
(18)

In Eq. 18 W T H (S) is the number of individuals in the i th solution set that fall under the threshold front and |S i | is the size of the i th solution set. f F (X) is the threshold (or ‘true’) Pareto front, and f i (x) is the Pareto frontier during the i th generation. The maximum value \(\hat {e}(i)\) can take is 1.0. Both the eMOCO and traditional MOCO are run until the Pareto front reaches a convergence value of 0.95.

The first term in this metric measures the amount of the population below the threshold frontier, where the second term measures the span of the current front relative to the final one. By utilizing both these concepts a more complete picture of convergence can be determined.

The Pareto front found using a traditional MOCO (tMOCO) and the eMOCO can be seen in Fig. 5. A population size of 200 was used for all runs.

Fig. 5
figure 5

The results for th MDO test problem for both the traditional and enhanced MOCO

Figure 5 shows that both algorithms converge to the same Pareto front. This is expected as the problem is a relatively straight-forward MDO example. However, it is important to examine the speed at which both algorithms converge. In order to compare the two algorithms 100 runs of each were done and the average generations to convergence was examined. These values can be seen in Table 1.

Table 1 Average generations to converge for the traditional (t M O C O) and enhanced (e M O C O) MOCO over 100 samples

In order to ensure the validity of the mean shift seen in Table 1 Welch’s T-Test was performed and the null hypothesis was rejected with a p-value of 0.00653, showing that the two samples of test runs are statistically different. Table 1 shows that the enhanced MOCO is able to consistently solve the test problem in less generations than the traditional one. In fact, it shows that even on this simple example problem the enhanced MOCO is able to converge in 27 % less generations than a traditional one over 100 sample runs. This represents a substantial increase in speed; especially for engineering problems where objective calculation can be computationally expensive.

The eMOCO is able to converge to the final Pareto front faster than the traditional MOCO due to its ability to avoid clustering in easier to resolve areas of the front. This is a result of the addition of goal-programming to the sub-system problem. With goal programming, the disciplines are also pushing resolve the Pareto front from a local perspective. This increases the quality of the return points at the system level, allowing a more evenly spaces and better resolved front to emerge. Figures 6 through 11 show this improved front by contrasting the Pareto fronts for the eMOCO and traditional MOCO at generations 20, 30, and 50 of the algorithm.

Fig. 6
figure 6

Generation 20 for the enhanced MOCO

Fig. 7
figure 7

Generation 30 for the enhanced MOCO

Fig. 8
figure 8

Generation 50 for the enhanced MOCO

Fig. 9
figure 9

Generation 20 for the traditional MOCO

Fig. 10
figure 10

Generation 30 for the traditional MOCO

Fig. 11
figure 11

Generation 50 for the traditional MOCO

Figures 6 and through 11 highlight this by showing how clustering is avoided by utilizing the goal-programming approach. Figure 9 show that the traditional MOCO clusters in areas of the Pareto front that are easier to resolve before slowly spreading out to fill out the entire optimal front. Conversely, Figures 6 through 8 show that the enhanced MOCO is able to initially develop a Pareto front with much less clustering. The reduction in clustering allows the new algorithm to fill in the entire font faster while avoiding the pitfalls of clustering in an evolutionary algorithm. Clustering reduction also allows portions of the Pareto front that may be more difficult to resolve to be found earlier in the algorithm. Previous results have shown that for the lifetime naval cost algorithm, finding the full extent of the Pareto front can be a challenge for the optimizer (Temple and Collette 2015). Thus, when designers are seeking to visualize the entire tradespace, the enhanced MOCO helps to ensure that the full Pareto front is returned.

4 Naval design case study

In order to show the ability of the enhanced MOCO to develop the trade-spaces between different facets of lifetime cost a nominal DTMB-5145 is optimized for both resistance and production. A simplified version of the structure found in Ashe et al. (2009) and hull form found in Benedetti et al. (2007) are used. This is the type of problem that the resistance-production trade-space represents; as these two objectives are competing and coupled, however, the coupling is small between the objectives themselves. It is also a relationship representing the cost during two drastically different phases of the vessel’s life (production and operation); this is difficult to understand intuitively, making it a good test case for this framework.

4.1 Resistance calculation

The resistance experienced by a ship’s hull, R T , can be considered the sum of a wave component, R W , and a frictional component, R F . The frictional component is often estimated using one of many frictional lines, that are a function of the length-based Reynolds number. The wave resistance is more difficult to analyze and is often estimated using either a simple regression or high fidelity CFD programs. In this work resistance is calculated using a combination of thin ship theory and the ITTC-57 friction line.

Thin ship theory, using Michell’s integral, is an effective way to estimate the hull’s wave resistance. Other work, Maki et al. (2008), Tuck (1989), and Tuck and Lazauskas (2008), has shown that the estimate is acceptable to understand the basic trends in resistance; which is the accuracy needed for the early-stage optimization work being done here. It can also do this relatively fast, allowing the optimization framework to avoid the costly use of higher fidelity estimates such as CFD. Thin ship theory uses Eq. 19 to calculate the wave resistance at speed U.

$$ R_{w} = \pi \rho U^{2} {\int}_{\frac{-\pi}{2}}^{\frac{\pi}{2}} |A(\theta)| \cos^{3} (\theta) \text{d}\theta $$
(19)

In this equation ρ is the density of salt water, 𝜃 is the heading angle of waves in the vessel’s wake, and |A(𝜃)| is known as the ’complex wave amplitude function. This can be calculated using Eq. 20.

$$ |A(\theta)| = \frac{2}{\pi} \nu \sec^{3} (\theta) \iint_{cp} \frac{\partial \eta}{\partial x} e^{\nu \sec^{2} (\theta) (z+ix \cos (\theta))} \text{d}z \text{d}x $$
(20)

This is an integral along the centerplane of the vessel based on the derivative of the slope of the hull in the longitudinal coordinate, \(\frac {\partial \eta }{\partial x}\), and a given wave heading angle. The variable ν is calculated based on the forward speed of the vessel and the acceleration due to gravity, g, using Eq. 21. This value is the theoretical critical wave number of the ship’s wake in infinitely deep water.

$$ \nu = \frac{g}{U^{2}} $$
(21)

By integrating just over the ship’s centerplane the theory assumes a long, thin vessel. While this is an approximation for most naval vessels, it is sufficiently accurate to understand trends in the naval design space during the early stages of a ship’s design.

The total resistance can be considered a sum of the wave resistance and frictional resistance. In order to estimate the frictional resistance the ITTC friction line, calculated as a function of Reynolds number as seen in Eq. 22, is used. This frictional line was developed in the 1957 international towing tank conference and is widely used by naval architects as an estimate for the frictional resistance a ship experiences.

$$ C_{F, ITTC-57} = \frac{0.075}{(\log_{10} (R_{n}-2))^{2}} $$
(22)

Equation 22 calculates the coefficient of friction which can be used to determine the frictional resistance using Eq. 23.

$$ R_{f} = \frac{1}{2} C_{F, ITTC-57} \rho S_{W} $$
(23)

Where S W is the wetted surface area of the vessel.

Using these equations to estimate the wave and frictional resistance a value for total resistance at the vessel’s design speed can be calculated.

4.2 Production cost

The production cost is estimates using costing equations from Rahman and Caldwell (1995) where the estimated cost to produce a structure, C P , is calculated using Eq. 24.

$$ C_{P} = \sum\limits_{i=1}^{n} \sum\limits_{j=1}^{9} C_{j_{i}} $$
(24)

In Eq. 24 \(C_{j_{i}}\) is the cost of the j t h construction component for the i t h panel in the structure. The nine different components of construction that are used are as follows:

$$\begin{array}{@{}rcl@{}} C_{1} &= & \text{ cost of materials for hull plates} \\ C_{2} &= & \text{ cost of materials for longitudinal stiffeners} \\ C_{3} &= & \text{ cost of materials for longitudinal frames} \\ C_{4} &= & \text{ cost of welding for longitudinal stiffeners} \\ C_{5} &= & \text{ cost of welding for transverse frames} \\ C_{6} &= & \text{ cost of intersections between longitudinal } \\ && \text{ stiffeners and transverse frames} \\ C_{7} &= & \text{ cost of preparation of brackets and joints} \\ C_{8} &= & \text{ cost of electricity and electrodes} \\ C_{9} &= & \text{ fabrication cost of longitudinal } \\ && \text{ stiffeners and transverse frames} \end{array} $$

C 1,C 2, and C 3 are computed from the total weight of each material present in the structure, multiplied by a cost per pound for the material. C 4 and C 5 are calculated based on the total meters of welding required to fabricate the structure, and a cost per meter of weld. C 6 and C 7 scale with the total number of intersections between stiffeners running orthogonally, such intersections require careful fit-up and bracketing. A fixed cost per intersection is assumed. C 8 and C 9 address welding consumables and additional costs if custom profiles are used in place of standard steel mill stock. As many of these variables vary over time, shipyard location and shipyard automation level, approximate values for western shipyards in the late 2000’s were used. The resulting costs were then normalized by a reference design, and the final Pareto fronts presented as a percentage of the reference design cost. Further details and complete equations for the calculation of each of these components can be found in the original paper introducing the method (Rahman and Caldwell 1995).

4.3 Optimization

The two objective functions shown here are prime examples of design spaces whose nature differ significantly. Various researchers have used fast gradient-based optimizers to reduce drag as calculated by Michell’s integral successfully and efficiently. However, the production cost is non-smooth due to the nature of the ship’s structure. This makes it well suited for an evolutionary based optimizer such as the genetic algorithm. Therefore; developing trade-spaces between these two objectives lends itself well to the enhanced MOCO presented in this work.

The optimization will take advantage of a transformation method developed in Temple and Collette (2012) to alter the shape of the vessel. The transformation method defines a spline across the centerplane of the vessel dictated by control points \(\hat {T}_{l_{1}},...,\hat {T}_{l_{n}}\). This splines sets distances to move stations defined in the table of offsets longitudinally fore and aft. The scantlings are defined using a structural discretization based on stiffened panels within various functional locations of the hull. This optimization method is developed and presented in Temple and Collette (2013a).

This leads to the following multi-disciplinary problem being developed.

$$\begin{array}{@{}rcl@{}} && \mathbf{System Level:} \\ \text{minimize: } && {f}({x}) = \left( R_{L}({x}), C_{P}({x}) \right) \\ \text{with respect to: } && \hat{x}_{H} = \hat{T_{l}}_{1},...\hat{T_{l}}_{N} \\ && \hat{{x}}_{S} = (t_{p}, t_{w}, t_{f}, h_{w}, b_{f})_{i} \text{ for } i=1 \text{ to } n_{f} \\ \text{subject to: } && \sum\limits_{i=1}^{N} ||x_{H_{i}} - \hat{x_{H_{i}}} ||_{2}^{2} + \sum\limits_{j=2}^{5} \sum\limits_{i=1}^{n_{f}} ||x_{S_{j_{i}}} - \\ && \hat{x_{S_{j_{i}}}}||_{2}^{2} = 0 \end{array} $$
(25)
$$\begin{array}{@{}rcl@{}} &&\mathbf{Hydro Discipline:} \\ \text{minimize: } && F({x}) = [d_{H_{J}}^{+}, d_{H_{f}}^{+}] \\ \text{with respect to: } && T_{l_{1}},...,T_{l_{N}} \\ \text{subject to: } && | T_{new} - T| \le 2 \\ && \sum\limits_{i=1}^{N} ||x_{1_{i}} - \hat{x_{1_{i}}} ||_{2}^{2} + d_{H_{J}}^{+} + d_{H_{J}}^{-} = 0 \\ && R_{T}({x_{H}}) + d_{H_{f}}^{+} - d_{H_{f}}^{-} = 0 \end{array} $$
(26)
$$\begin{array}{@{}rcl@{}} && \mathbf{Structure Discipline:} \\ \text{minimize: } && F({x}) = [d_{S_{J}}^{+}, d_{S_{f}}^{+}] \\ \text{with respect to: } && (t_{p}, t_{w}, t_{f}, h_{w}, b_{f})_{i} \text{ for } i=1 \text{ to } n_{f} \\ \text{subject to: } && W_{S} - 1.5W_{S_{I}} \ge 0 \\ && S_{M_{V}} - S_{M_{V_{I}}} \le 0 \\ && U_{cs_{p}} - U_{cs_{p_{I}}} \le 0 \ \forall\ p \\ && SM_{p} - SM_{p_{I}} \le 0 \ \forall\ p \\ && d(x_{i},x_{j}) < 0.06 \ \forall\ j, i \\ && \sum\limits_{j=2}^{5} \sum\limits_{i=1}^{n_{f}} ||x_{2_{j_{i}}} - \hat{x_{2_{j_{i}}}}||_{2}^{2} + \ldots \\ &&{\ldots} d_{S_{J}}^{+} + d_{S_{J}}^{-} = 0 \\ && C_{P}({x_{S}}) + d_{S_{f}}^{+} - d_{S_{f}}^{-} = 0 \end{array} $$
(27)

In this formulation the system level optimizer is minimizing production steelwork cost and the resistance at the vessel’s design speed while ensuring that interdisciplinary feasibility is maintained. To transform the shape of the hull the method developed in Temple and Collette (2012) is used. This method defines a transformation vector across the centerplane of the vessel defined by the set of N control points, \({T_{l}}= \{T_{l_{1}},...,T_{l_{N}}\}\). This transformation vector is used to represent a function, f T (x), gives the optimizer a distance to perturb stations of the vessel’s hull. A station of a ship’s hull is a cross sectional slice taken in the transverse direction at a given point on its longitudinal axis. Thus, the optimizer will take cross sectional slices through the ship’s hull at given points along its centerline axis and move those stations by the distance dictated by f T (x). The movement of these stations will create a transformed hull form. The optimizer can change the control points that dictate the shape of f T (x) and, through this, control the shape of the transformed vessel.

The hydrodynamic discipline problem is minimizing the difference between its design variables and the corresponding system level variables as a primary goal and the resistance as a secondary one. As the ship’s hull is transformed the displacement remains constant and, thus, the draft is altered. This discipline constraint ensures that the draft does not change more than 2 meters.

The ship’s structure is controlled by altering the scantlings of the stiffened panels that comprise it. The structure is initially decomposed into ‘functional locations’ that represent regions of the structure that have similar stress regions based on their location in the ship. These locations are then broken down into individual panels composed of a plate and number of stiffeners. The optimizer can control the thickness of the plate, t p , the thickness of the stiffener web, t w , and the thickness of the stiffener flange, t f . It can also control the height and breadth of the flange, h w and b w . These scantlings can be altered for each panel within each of the n f functional locations defined for the ship’s structure. Since each functional location witnesses similar stress ranges, all the panels within a given location are identical for the purpose of this work.

The constraints satisfied here are that the weight does not increase more than 50 % and that the section modulus of the entire structure is not reduced. Additionally for each stiffened panel, the ultimate compressive strength of panel and its section modulus in bending must also not be reduced. This discipline also ensures that the the components of the different panels do not come within 6m m of each other. The section modulus of the entire vessel and the corresponding panel ultimate compressive strength, UCS, are used together as an estimate of the global strength of the vessel. The UCS of each panel is calculated based on a regression of physical panel collapse tests developed by Paik and Duran (2004). This approach uses non-dimensional elastic column and plate slenderness ratios as has been shown suitable for marine-type panels.

The hydrodynamic discipline uses an SQP (sequential quadratic programming) optimizer included in the Python-based optimization suite pyOpt (Perez et al. 2012) This algorithm is a gradient based optimizer that is effective at minimizing functions that are C 1 continuous with well defined minima. The structural discipline uses the LEGA described in Section 2.2. This algorithm has been specifically designed for sub-problems such as this that are not continuous and may be multi-modal in objective space with weak minima. It is also designed to minimize computation time by only requiring one run for an entire population.

To demonstrate the ability of the enhanced MOCO to develop these Pareto fronts in the naval design space a nominal DTMB5145 naval combatant is used as the initial design. The hull form can be found in Benedetti et al. (2007) and a bodyplan is shown in Fig. 12. A nominal midship structure used is taken from Ashe et al. (2009) and can see in Fig. 13. For this example the transformation vector, T l will be controlled by 5 points and the structure is broken down into 7 functional locations. This means there are 40 design variables at the system level. This type of problem can be time consuming to solve, even when using a simplified version such as presented here. Due to this the eMOCO has been designed to allow for parallelization across multiple cores in Python. While formal computational timing of multiple replicate runs was not made, this example shown here represented close to 1500 hours of CPU time across 200 cores.

Fig. 12
figure 12

Bodyplan for nominal naval combatant

Fig. 13
figure 13

Internal structure for nominal combatant

In order to test the ability of the eMOCO to find lifetime cost trade-offs in the naval design space it will be used, along with a traditional optimization method to find a Pareto-front between steelwork production cost and resistance. The lower resistance will lead to less operational costs, and historically has been the driver behind most naval design optimization. However, by considering multiple cost aspects the designer can focus on reducing total ownership costs from both a structural and hydrodynamic perspective. This is similar in complexity to the problem presented in Temple and Collette (2015), albeit with a structural production metric. In the aforementioned work a traditional optimization algorithm was unable to find the complete Pareto front, and specifically struggled to resolve the resistance portion.

4.4 Results

The Pareto front found using both the enhanced MOCO and an NSGA-II can be seen in Fig. 14. In order to produce the results the system level optimizer evolved 200 individuals over 200 generations. This was sufficient time for each Pareto-front to converge to a point where it was no longer advancing through objective space.

Fig. 14
figure 14

Pareto front for nominal naval combatant

In this figure both objectives are normalized by their respective values for the initial hull. As can be seen both optimizers are able to produce fronts with design solutions that dominate the original design with respect to both objective functions. However, the results here show a similar trend as the author’s previous work - namely, that traditional optimization routines cannot resolve the full front.

Even for this highly simplified test case for the enhanced MOCO the MOGA is only able to resolve the production end of the Pareto front, showing no solutions along the resistance side of the front. This is in line with the results found in Temple and Collette (2015). Meanwhile, the eMOCO is able to resolve solutions in both respective regions. The ability of the eMOCO to ensure that clustering does not reduce the integrity of the Pareto front shown in Figs. 6 through 11 is evident here as well. The NSGA-II has clustered in a small, and relatively insignificant, portion of the Pareto front, while the eMOCO is able to fully resolve the small ‘knee’ region. This gives the designer a better understanding of the design space and ensures that the information garnered from the Pareto-front is truly aiding them in reducing lifetime ownership costs. Given that the purpose of this type of optimization is to understand trends in the design space, capturing that space is critical. When only small portions of it are resolved it valuable information can be missed. For instance: the ends of the Pareto front (the portions missed by traditional optimization) are examined in Figs. 15 through 17.

Fig. 15
figure 15

Hull form for vessel with highest resistance

Fig. 16
figure 16

Structure for vessel with highest resistance

Fig. 17
figure 17

Hull form for vessel with highest production cost

From Fig. 15 it can be seen that in the structure that is cheapest to produce structure the bulbous bow of the original vessel is simplified. Along the Pareto front - as the knee is approached - the bulbous bow becomes wider and the stern shallower - reducing the overall resistance. This can be seen in Figs. 17 and 18 where the resistance is minimized. Along the edges of the Pareto front between these points and the ’knee’ the evolution of these trends can be seen,. It is this information that it is critical to the engineer - as understanding the trends in both the hydrodynamic and structural space and, specifically, how they influence each other is vital to reducing the overall ownership costs. These differences in the converged Pareto-front are due to the eMOCO’s goal-programming implemenation that allow the discipline-level optimizer to locally reduce their objective functions in areas of the design space that are problematic for the system-level. There are regions of the objective space with large flat areas or weak minima that are difficult to move a population through when the larger, multi-disciplinary problem is being considered. By allowing the discipline level optimizers, that are focused on a problem that is smaller in scope, to nudge the population through these areas, the system-level is able to converge to a better final Pareto-front. This shows that the enhancements developed for the eMOCO allow it to overcome the specific difficulties of the early-stage naval design problem.

Fig. 18
figure 18

Structure for vessel with highest production cost

As more information about the vessel becomes known and the design phase is completed only small portions of this front, for example the area in the ‘knee’, will be important. Future work could look at further accelerating the optimization process by focusing in on this region and not resolving the entire front. In the current work, the entire front is significant as it indicates both topology of the trade space - a very narrow knee region, and the penalty that would be paid by optimizing for one objective in isolation. Additionally, the front is better resolved than the MOGA front as noted, which shows the increased power of the proposed algorithm. The proposed enhanced collaborative optimization framework is able to resolve these Pareto-fronts and reveal this information.

5 Conclusion

The impact of lifetime ownership cost is becoming increasingly important to the operators and owners of large naval vessels. The cost to maintain a vessel and keep her operational is becoming a limiting factor in its possible service life. This makes it desirable to design new vessels with the aim to reduce these costs to ensure they can continue to operator as they need to. To do this it is important to understand the trade-offs between different categories of lifetime cost and, especially, the impact of the interactions between them on design. Unfortunately traditional multi-objective optimization routines are not capable of reliably resolving these trade-offs.

To address this the author’s have proposed a multi-objective collaborative optimization framework with two enhancements to facilitate solving this unique problem: a goal-programming optimization at the discipline level and a new type of single objective genetic algorithm to more effectively search the structural sub-space. The eMOCO has been verified on simple multi-objective and multi-disciplinary test problems and been shown to be capable of solving them. It also been shown to be able to resolve the trade-space for a simple naval design example. In even this simplified example the traditional optimizer is unable to resolve this front, showing the need for this type of algorithm to solve this problem.

When exploring more complex implementations of this problem, especially if maintenance cost was included, the traditional optimizer would stumble further and the benefit of an enhanced MOCO would become greater. Using this framework to explore and understand the trade-offs between production, maintenance, and operation costs could reveal trends in the design space that could aid designers in finding vessels whose total lifetime costs were minimized, and whose service lives were robust to changes in the latter years of operation.