# An Adaptive Linear Programming Algorithm with Parameter Learning
## 1 Introduction
### An Example and Explanation Using KKT Conditions
The reason is that we observe that NSGA II has the following drawbacks that may prevent designers from acquiring insight to improve the design formulation and exploring the solutions space:  
First, NSGA II cannot give designers information to improve the model, such as the bottlenecks in the model, the sensitivity of each segment of the model, the rationality of the dimensions of the model, etc. Second, the performance of NSGA II, including convergence speed, optimality of solutions, and diversity of solutions, is sensitive to hyperparameter settings. Hyperparameters, such as the population size and generation number, must be predefined. However, usually designers only assume that a larger population size or a larger number of generations returns better solutions, but they may not know how large is \"good enough\". Designers \begin{table}
\begin{tabular}{l l l} \hline \hline
**Item** & **Strategy** & **Optimizing** & **Satisficing** \\ \hline \multirow{3}{*}{Model formulation construct} & Mathematical programming & Compromise decision \\  & Goal programming & support problem \\ \hline \multirow{7}{*}{Solution algorithm} & Constrained optimization by linear & \\  & approximation (COBYLA) algorithm & \\ \cline{1-1} \cline{2-3}  & Trust-region constrained & \\ \cline{1-1} \cline{2-3}  & (trust-constr) algorithm & Adaptive linear programing \\ \cline{1-1} \cline{2-3}  & Sequential least squares programming & (ALP) algorithm \\ \cline{1-1} \cline{2-3}  & (SLSQP) algorithm & \\ \cline{1-1} \cline{2-3}  & \multicolumn{3}{l}{Nondominated sorting generation} \\ \cline{1-1} \cline{2-3}  & algorithm II/III (NSGA II) & \\ \hline Solver & Python SciPy.optimize & DSIDES [6] \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Methods for comparison of the two strategies. need to tune those hyperparameters in NSGA II, but it requires much higher computational power than the cDSP and ALP do. Therefore, we choose NSGA II in order to assess the optimality and diversity of the solutions returned by the tested methods (in Table 3), but we still recommend designers use the satisficing method to manage engineering design problems. Through applying the three chosen optimizing methods, the satisficing method, and the verification method, NSGA II, we obtain the results and summarize them in Table 4. Since there are two objectives (goals), we use different weights to combine them linearly, so we show the results for each weight. We also use different starting points for the solution searching to show whether a solution algorithm is sensitive to the starting point. We visualize the solutions in objective space and x-f(x) space in Figures 2 and 3. The three optimization algorithms cannot return any feasible solutions. Due to the difference in the scale of the two objectives, one cannot use optimizing algorithms to solve the example problem by linearly combining them, because (i) the objective with a large scale dominates the other objective(s) and (ii) a linearized function of the weighted sum objective in a local area can be singular. Figure 3: The solution points in the x-f(x) space. Subfigure (**a**) is the x-f\({}_{1}\)(x) space and Subfigure (**b**) is the x-f\({}_{2}\)(x) space. All solutions’ f\({}_{1}\)(x) values are close to 1.0 except B’ and H’; all solutions’ f\({}_{2}\)(x) values are close to 400 except A’ [15]. Figure 2: The solution points to the example problem in objective space using two algorithms—solutions returned by NSGA II are more diverse but sensitive to parameter settings and increasing the population and iterations does not always produce better results.