Bgolearn: a Unified Bayesian Optimization Framework for Accelerating Materials Discovery
Extracted source text · arXiv 2601.06820
\documentclass[12pt]{article}
\usepackage{times}
\usepackage[margin=1in]{geometry}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{authblk}
\usepackage[superscript,nomove]{cite}
\usepackage{booktabs,longtable}
\usepackage{tikz}
\usepackage{listings}
\usepackage{tcolorbox}
\tcbuselibrary{listings, breakable}
\usepackage{xcolor}
\usepackage[table]{xcolor}
\definecolor{idgray}{gray}{0.92}
\setlength\LTcapwidth{\textwidth}
\usepackage{xcolor}
\usepackage{authblk}
\usepackage{ragged2e}
\usepackage[colorlinks=true, linkcolor=blue, citecolor=blue, urlcolor=blue]{hyperref}
\title{\textbf{Bgolearn: a Unified Bayesian Optimization Framework for Accelerating Materials Discovery}}
\author[1,4]{Bin Cao}
\author[2,3,$*$]{Jie Xiong}
\author[5]{Jiaxuan Ma}
\author[2]{Yuan Tian}
\author[2]{Yirui Hu}
\author[6]{Mengwei He}
\author[1]{Longhan Zhang}
\author[7]{Jiayu Wang}
\author[8,$*$]{Jian Hui}
\author[7]{Li Liu}
\author[9]{Dezhen Xue}
\author[9,10,$*$]{Turab Lookman}
\author[2,1,$*$]{Tong-Yi Zhang}
\affil[1]{Guangzhou Municipal Key Laboratory of Materials Informatics, Advanced Materials Thrust,
The Hong Kong University of Science and Technology (Guangzhou), Guangzhou, 511453, China}
\affil[2]{Materials Genome Institute, Shanghai University, Shanghai 200444, China}
\affil[3]{State Key Laboratory of Materials for Advanced Nuclear Energy, Shanghai University, Shanghai 200444, China}
\affil[4]{Department of Physics, City University of Hong Kong, Hong Kong SAR, China}
\affil[5]{School of Materials Science and Engineering, Shanghai Jiao Tong University, Shanghai 200240, China}
\affil[6]{School of Aerospace, Mechanical and Mechatronic Engineering, School of Computer Science, The University of Sydney, Sydney, NSW 2006, Australia}
\affil[7]{School of Materials Science and Engineering, Harbin Institute of Technology (Shenzhen), Shenzhen 518055, China}
\affil[8]{Suzhou Laboratory, Suzhou 215123, China}
\affil[9]{State Key Laboratory for Mechanical Behavior of Materials, Xi’an Jiaotong University, Xi’an 710049, China}
\affil[10]{AiMaterials Research, Santa Fe, New Mexico 87501, USA}
\affil[$*$]{Corresponding authors: xiongjie@shu.edu.cn; huij@szlab.ac.cn; turablookman@gmail.com; mezhangt@hkust-gz.edu.cn}
\date{}
\begin{document}
\maketitle
\newpage
\begin{abstract}
Efficient exploration of vast compositional and processing spaces is essential for accelerated materials discovery. Bayesian optimization (BO) provides a principled strategy for identifying optimal materials with minimal experiments, yet its adoption in materials science is hindered by implementation complexity and limited domain-specific tools. Here, we present Bgolearn, a comprehensive Python framework that makes BO accessible and practical for materials research through an intuitive interface, robust algorithms, and materials-oriented workflows. Bgolearn supports both single-objective and multi-objective Bayesian optimization with multiple acquisition functions (e.g., expected improvement, upper confidence bound, probability of improvement, and expected hypervolume improvement etc.), diverse surrogate models (including Gaussian processes, random forests, and gradient boosting etc.), and bootstrap-based uncertainty quantification. Benchmark studies show that Bgolearn reduces the number of required experiments by 40–60\% compared with random search, grid search, and genetic algorithms, while maintaining comparable or superior solution quality. Its effectiveness is demonstrated not only through the studies presented in this paper, such as the identification of maximum-elastic-modulus triply periodic minimal surface structures, ultra-high-hardness high-entropy alloys, and high-strength, high-ductility medium-Mn steels, but also by numerous publications that have proven its impact in material discovery. With a modular architecture that integrates seamlessly into existing materials workflows and a graphical user interface (BgoFace) that removes programming barriers, Bgolearn establishes a practical and reliable platform for Bayesian optimization in materials science, and is openly available at \url{https://github.com/Bin-Cao/Bgolearn}.
\end{abstract}
\textbf{Keywords} : Bayesian optimization; Bgolearn; Multi-objective; Modular architecture; Materials discovery
\newpage
\section*{Introduction}
The accelerated discovery of advanced materials is critical for addressing global challenges in energy, sustainability, and technology\cite{lookman2016information}. However, traditional materials development relies on intuition-guided experimentation or exhaustive design-of-experiments approaches that scale poorly with problem complexity. A typical materials optimization problem involves 5-15 design variables spanning composition ratios, processing temperatures, annealing times, and atmospheric conditions, with each experimental iteration requiring days to weeks and costing hundreds to thousands of dollars \cite{lookman2019active}. This combinatorial explosion limits researchers to exploring less than 0.1\% of feasible design spaces, leaving vast regions of potentially superior materials undiscovered\cite{ling2017high}.
Bayesian optimization (BO) provides a principled framework for accelerating experimental discovery by constructing probabilistic surrogate models from limited data and using acquisition functions to balance exploration of uncertain regions with exploitation of promising candidates~\cite{roussel2024bayesian,li2024sequential,sabanza2025best}. By intelligently selecting the most informative next experiments, BO can drastically reduce the number of required iterations compared to random or grid-based search methods.
Recent studies have demonstrated BO's growing impact in materials science. For instance, a benchmarking study across multiple experimental domains showed that BO significantly outperforms random or grid search, particularly when surrogate models and hyperparameters are carefully optimized~\cite{liang2021benchmarking}. Jang \textit{et al.}~\cite{jang2025active} applied BO with sparse experimental data (80 out of 16,206 samples) to efficiently identify three new high-entropy chalcogenides (HECs) exhibiting exceptional thermoelectric performance ($zT > 2$). Similarly, Tian \textit{et al.}~\cite{tian2025materials} proposed a ``target-oriented'' BO framework designed not merely to maximize or minimize a property but to tune it toward a desired target value, for example, achieving a transformation temperature in a shape-memory alloy within $2.66~^{\circ}\mathrm{C}$ of the target after only three experiments.
Other recent works~\cite{gonzalez2024survey} have extended BO to discrete, high-dimensional search spaces, such as those encountered in chemical and biological material design, demonstrating superior efficiency compared with state-of-the-art methods. Overall, the successful application of BO to materials optimization and discovery has been repeatedly validated across diverse materials systems, as evidenced by a series of publications~\cite{jablonka2021bias,sun2025artificial,shields2021bayesian,linden2025increasing,li2024sequential,ma2024mlmd}, which are not listed here individually.
Despite demonstrated success in hyperparameter tuning~\cite{albahli2024efficient}, drug discovery~\cite{tosh2025bayesian}, molecular design~\cite{sabanza2025best}, and materials property optimization~\cite{cao2024active}, the adoption of BO in materials science remains limited by several critical barriers.
First, existing BO frameworks such as BoTorch~\cite{balandat2020botorch}, AE~\cite{bakshy2018ae}, and GPyOpt~\cite{gpyopt2016} require substantial machine learning expertise and provide limited guidance on algorithm selection, hyperparameter tuning, and convergence diagnostics, posing a high barrier for direct application by materials scientists.
Second, most available tools focus exclusively on single-objective optimization, whereas materials design inherently involves trade-offs between competing properties, such as strength versus ductility, conductivity versus cost, or performance versus processability. Multi-objective Bayesian optimization (MOBO) remains particularly challenging, with few accessible implementations that support rigorous Pareto front exploration using expected hypervolume improvement (EHVI)~\cite{emmerich2018tutorial} or q-noisy expected hypervolume improvement (qNEHVI) \cite{daulton2021parallel}.
Third, standard Gaussian process (GP) surrogates scale poorly beyond approximately 1,000 observations and struggle with discrete or categorical variables that are common in materials formulations.
Fourth, uncertainty quantification for non-GP surrogates (e.g., random forests and gradient boosting) lacks principled methodologies, limiting their applicability despite superior scalability.
We developed Bgolearn to systematically address these challenges, providing materials researchers with a production-ready BO toolkit that combines algorithmic rigor with practical usability. The framework introduces five key innovations (Fig. \ref{fig:bgolearn_wf}): (1) A unified, materials-oriented API that reduces complex BO workflows to just 3–5 lines of code, while maintaining full customizability. (2) Comprehensive MOBO support with EHVI, qNEHVI, probability of improvement (MO-PI), and upper confidence bound (MO-UCB) acquisition functions, enabling principled multi-property optimization. (3) Flexible surrogate modeling, supporting GP, random forests (RF), gradient boosting (GB), support vector regression (SVR), and neural networks, with automatic model selection based on cross-validation. (4) Bootstrap-based uncertainty quantification for models, enabling scalable MOBO without the computational bottlenecks of GPs. (5) BgoFace, a graphical user interface (GUI) that removes programming barriers and automatically generates equivalent Python code for reproducibility.
\begin{figure}[h]
\centering
\includegraphics[width=0.9\columnwidth]{figs/workflow.png}
\caption{The components and workflow of Bgolearn for materials discovery.}
\label{fig:bgolearn_wf}
\end{figure}
The Bgolearn package, first released as open-source software in 2022, has been downloaded more than 110{,}000 times worldwide \cite{bgolearn-downloads}. It has been successfully applied to a broad range of materials discovery problems, including lead-free solder alloy optimization~\cite{cao2024active}, nanozyme system design~\cite{li2025optimize,li2025machine}, magnesium alloy development~\cite{zhang2025accelerated}, electromagnetic metamaterials design~\cite{liu2025bayesian}, foam agent formulation~\cite{wang2025active}, acidic oxygen evolution reaction (OER) catalyst discovery~\cite{cao2025spatial}, and self-driving characterization laboratory platforms~\cite{li2025self}.
Bgolearn is fully open-source, extensively documented, and supported by comprehensive tutorials and examples. Its modular architecture enables flexible customization and seamless integration into diverse research workflows. By democratizing access to state-of-the-art Bayesian optimization techniques, Bgolearn establishes a new benchmark for data-efficient materials discovery, with the potential to accelerate innovation across metals, functional materials, and engineering systems.
Through several years of continuous development and refinement, we have built a robust, user-oriented ecosystem that provides a systematic and guided introduction to BO-driven experimentation. In the following sections, we first review representative Bgolearn applications reported in recent literatures, then describe the framework’s design principles and implementation. We subsequently present comprehensive benchmarking studies and real-world materials discovery case studies to demonstrate the capabilities of Bgolearn. Detailed mathematical formulations, together with the corresponding code implementations, are provided in the Methods section and the Appendix.
\section*{Results}
\subsection*{Bgolearn Accelerates the Pace of Materials Discovery}
Bgolearn has been successfully applied to a wide range of materials discovery tasks, where Bayesian optimization and active learning are leveraged to reduce experimental costs, accelerate discovery, and efficiently navigate high-dimensional design spaces~\cite{cao2024active,li2025optimize,li2025machine,zhang2025accelerated,liu2025bayesian,wang2025active,li2025self,cao2025spatial}. These studies collectively demonstrate the versatility of Bgolearn across metallic systems, functional materials, and engineering applications.
\paragraph{Metallic materials.}
In lead-free solder alloy optimization, Cao \textit{et al.}~\cite{cao2024active} employed Bgolearn to explore the multi-dimensional composition space of Sn-Ag-Cu105 alloys, targeting the challenging trade-off between strength and ductility. Using Gaussian process regression with a UCB acquisition function, the framework guided the selection of the most informative experiments and identified a low-silver alloy with an optimal balance of mechanical properties within only three experimental iterations.
Similarly, in magnesium alloy development, Zhang \textit{et al.}~\cite{zhang2025accelerated} applied Bgolearn to optimize age-hardened Mg–Ca–Zn alloys. Bgolearn rapidly identified a composition achieving an ultimate tensile strength of 350~MPa and an elongation of 15\% after aging at 200~°C for 96~h, highlighting the efficiency of data-driven alloy optimization.
\paragraph{Functional materials.}
Li \textit{et al.}~\cite{li2025optimize,li2025machine} used Bgolearn to design nanozyme systems with enhanced quantum yield. Starting from a small dataset of G-quartet-based circularly polarized luminescence materials, iterative active learning cycles refined the experimental space and identified complexes with nearly doubled quantum yield, while substantially reducing costly synthesis iterations.
In electromagnetic metamaterials design, Liu \textit{et al.}~\cite{liu2025bayesian} integrated Bgolearn into the optimization of broadband, polarization-insensitive metasurfaces. By combining Gaussian process surrogates with with EI et al. acquisition strategies, the framework efficiently navigated a complex high-dimensional parameter space, significantly reducing computational and experimental overhead.
In catalysis, Cao \textit{et al.}~\cite{cao2025spatial} proposed a two-stage optimization strategy, in which Bgolearn was first used to maximize OER activity, followed by adaptive stability optimization within a high-activity subspace. This approach minimized stability testing costs and enabled the discovery of an acidic OER catalyst with both high activity and enhanced durability.
\paragraph{Engineering and industrial applications.}
Wang \textit{et al.}~\cite{wang2025active} applied Bgolearn to optimize foam agent formulations for earth pressure balance shield tunneling. Active learning guided formulation experiments led to improved soil conditioning in gravel strata, enhancing tunneling efficiency and illustrating Bgolearn’s applicability to real-world industrial processes.
\paragraph{Self-driving laboratories.}
More recently, Li \textit{et al.}~\cite{li2025self} integrated Bgolearn into a self-driving laboratory for accelerated on-surface synthesis under ultrahigh vacuum conditions. The autonomous platform combined robotic control, in-situ scanning tunneling microscopy, and Bayesian optimization to optimize the synthesis of graphene nanoribbons. Acting as the core decision engine, Bgolearn constructed probabilistic surrogate models linking synthesis parameters to material outcomes and iteratively selected the most informative experiments. As a result, the target nanoribbon morphology was achieved within only twelve experimental cycles, demonstrating Bgolearn’s capability to enable closed-loop, autonomous materials discovery.
By reducing experimental burden, guiding high-dimensional exploration, and integrating seamlessly with both conventional and autonomous experimental platforms, Bgolearn enables efficient and scalable optimization across metals, functional materials, and engineering systems.
\subsection*{Package Architecture and Design Framework}
Bgolearn implements a modular three-layer architecture consisting of the \textit{Data Layer}, the \textit{Surrogate Layer}, and the \textit{Acquisition Layer}, designed for both ease of use and extensibility, as shown in Fig. \ref{fig:Architecture}. The \textit{Data Layer} manages experimental observations, virtual candidate spaces (unexplored compositions or conditions), and constraint specifications. It automatically handles data normalization, missing value imputation, and train-test splitting. The \textit{Surrogate Layer} provides five model families: (1) Gaussian processes with Matérn and radial basis function (RBF) kernels for smooth response surfaces and well-calibrated uncertainty; (2) random forests for scalability to large datasets ($n>500$) and robustness to outliers; (3) gradient boosting for complex non-linear relationships; (4) support vector regression for high-dimensional problems; and (5) multi-layer perceptrons (MLP) for deep feature learning. The \textit{Acquisition Layer} implements five single-objective functions (expected improvement and its variants, upper confidence bound, probability of improvement, predictive entropy search, knowledge gradient) and four multi-objective functions (EHVI, qNEHVI, MO-PI, MO-UCB).
The framework's design prioritizes three principles. \textit{Simplicity}: common workflows require minimal code while maintaining full customizability through optional parameters. \textit{Robustness}: sensible defaults based on empirical best practices, comprehensive input validation, numerical stability safeguards, and informative error messages. \textit{Extensibility}: modular architecture enables custom acquisition functions, surrogate models, and constraint handlers through well-defined interfaces.
\begin{figure}[h]
\centering
\includegraphics[width=0.9\columnwidth]{figs/arch.png}
\caption{Overview of the Bgolearn software architecture, data flow, and the integrated BgoFace ecosystem interface.}
\label{fig:Architecture}
\end{figure}
This apparent simplicity masks sophisticated algorithmic engineering. The framework automatically: (1) normalizes features to zero mean and unit variance to ensure numerical stability; (2) performs N-fold cross-validation to select optimal surrogate model hyperparameters (GP lengthscales, RF tree depth, GB learning rate etc.); (3) applies bootstrap aggregation (default: 8 replicates) for non-GP models to quantify prediction uncertainty; (4) detects and handles ill-conditioned covariance matrices via eigenvalue thresholding; (5) provides convergence diagnostics including acquisition function evolution, prediction error trends, and hypervolume indicator (for MOBO); and (6) generates publication-quality visualizations of optimization trajectories, uncertainty estimates, and Pareto fronts.
For advanced users, Bgolearn provides fine-grained control over all algorithmic components. Custom surrogate model can be implemented by subclassing Bgolearn and defining a \texttt{fit()} method using a user-defined \texttt{Kriging\_model} class. Surrogate models can be replaced with any regressor that follows the scikit-learn \cite{pedregosa2011scikit} estimator interface. Constraint handling supports linear inequalities, box bounds, and user-defined feasibility functions. Batch optimization allows parallel experimental campaigns for improving efficiency.
BgoFace provides a PyQt-based GUI of Bgolearn (\url{https://github.com/Bgolearn/BgoFace}) enabling materials scientists without programming expertise to leverage Bgolearn. Users load data via spreadsheets, configure optimization parameters through dropdown menus, and visualize results interactively. BgoFace automatically generates equivalent Python code, facilitating transition to programmatic workflows.
In user studies involving 15 materials researchers using Bgolearn for the first time (5 with no programming experience), BgoFace enabled successful optimization tasks in 10-15 minutes versus 2-3 hours for code-based approaches. The interface's real-time visualization of acquisition functions and uncertainty estimates enhanced understanding of BO principles.
\subsection*{Comparison with Baselines }
\begin{table}[htbp]
\centering
\caption{\textbf{Benchmark optimization performance.} Single-objective results show iterations to 90\% optimality (mean$\pm$s.d., $n=30$ runs). Multi-objective results show hypervolume indicator (mean$\pm$s.d., $n=30$ runs, normalized to [0,1], higher is better). Computational time was measured per iteration on an Apple Silicon M1 processor.}
\label{tab:benchmark_results}
\small
\begin{tabular}{@{}lcccc@{}}
\toprule
\textbf{Method} & \textbf{Hartmann-6D} & \textbf{Ackley-5D} & \textbf{ZDT1} & \textbf{DTLZ2} \\
& \textit{(iter. to 90\%)} & \textit{(iter. to 90\%)} & \textit{(hypervolume)} & \textit{(hypervolume)} \\
\midrule
Random Search & 87$\pm$15 & 72$\pm$18 & 0.612$\pm$0.045 & 0.445$\pm$0.072 \\
Latin Hypercube & 58$\pm$11 & 48$\pm$12 & 0.698$\pm$0.038 & 0.542$\pm$0.061 \\
NSGA-II & --- & --- & 0.782$\pm$0.028 & 0.658$\pm$0.048 \\
Bgolearn-GP/EHVI & \textbf{18$\pm$4} & \textbf{22$\pm$4} & \textbf{0.872$\pm$0.018} & \textbf{0.768$\pm$0.035} \\
Bgolearn-RF/MO-UCB & 23$\pm$5 & 28$\pm$6 & 0.798$\pm$0.031 & 0.695$\pm$0.047 \\
\midrule
\multicolumn{5}{l}{\textit{Computational time per iteration (seconds)}} \\
Random Search & 0.03 & 0.02 & 0.02 & 0.03 \\
Latin Hypercube & 0.03 & 0.02 & 0.02 & 0.03 \\
NSGA-II & --- & --- & 0.15 & 0.22 \\
Bgolearn-GP/EHVI & 2.1 & 1.8 & 3.2 & 8.5 \\
Bgolearn-RF/MO-UCB & 1.3 & 1.1 & 1.5 & 2.1 \\
\bottomrule
\end{tabular}
\end{table}
To quantify Bgolearn's performance, we compared it against standard baselines on representative single-objective and multi-objective optimization problems. We selected two canonical single-objective benchmarks: Hartmann-6D \cite{dixon1978global} (6-dimensional smooth function with single global minimum at $f^*=-3.32$, testing high-dimensional optimization) and Ackley \cite{ackley2012connectionist} (5-dimensional highly multimodal function with $>$1000 local minima and a global optimum at $f^*=0$, testing exploration capability). For multi-objective optimization, we used ZDT1 \cite{zitzler2000comparison} (bi-objective with convex Pareto front) and DTLZ2 \cite{deb2005scalable} (tri-objective with spherical Pareto surface). These problems represent the main challenges in materials optimization, including high dimensionality, multi-targets, and conflicting objectives (see Appendix \ref{Benchmark_function} for details).
\begin{figure}[h]
\centering
\includegraphics[width=0.9\columnwidth]{figs/benchmark.png}
\caption{
\textbf{a}, Optimization efficiency comparison across methods, including Bgolearn, random search, Latin hypercube sampling, and NSGA-II (only applicable to multi-target optimization), evaluated on four benchmark functions.
\textbf{b}, Optimization traces of each method, where the \textit{simple regret} represents the difference between the best observed objective value and the global optimum.
}
\label{fig:benchmark}
\end{figure}
Bgolearn was compared with random search and Latin hypercube sampling (LHS), and, for multi-objective problems, with the nondominated sorting genetic algorithm II (NSGA-II), a widely used evolutionary baseline. For single-objective benchmarks, optimization was terminated once 90\% of the optimal value was reached; for multi-objective benchmarks, each method was run for 50 iterations. All methods started from an initial set of 20 Latin hypercube samples and proposed three new candidate points per iteration. Each experiment was repeated 30 times with different random seeds.
Table~\ref{tab:benchmark_results} and Fig.~\ref{fig:benchmark}\textbf{a} summarize the results.
For single-objective optimization, Bgolearn with a Gaussian process surrogate and the expected improvement acquisition function (Bgolearn-GP) achieved 90\% optimality while requiring only 20\% of the iteration cost of random search and 31\% of that of LHS on Hartmann-6D problem.
On the Ackley-5D problem, Bgolearn-GP required only $22\pm4$ iterations, compared with $72\pm18$ iterations for random search.
The random forest surrogate (Bgolearn-RF) achieved performance comparable to that of the GP-based model while incurring only 61\% of the computational time, making it suitable for high-throughput campaigns where function evaluations are inexpensive.
For multi-objective optimization, Bgolearn with the EHVI acquisition function achieved an average hypervolume improvement of 0.26 over random search and 0.09 over NSGA-II~\cite{deb2000fast}.
On the tri-objective DTLZ2 problem, Bgolearn-EHVI reached a hypervolume of $0.768\pm0.035$, compared with $0.658\pm0.048$ for NSGA-II.
The corresponding optimization trajectories are shown in Fig.~\ref{fig:benchmark}\textbf{b}.
The computationally efficient MO-UCB acquisition function achieved approximately 90\% of EHVI’s performance at one-quarter of its per-iteration computational cost, providing a practical alternative for high-throughput experimental scenarios.
\subsection*{Real-World Materials Discovery}
\subsubsection*{Discovery of Maximum Elastic Modulus in TPMS}
Triply periodic minimal surface (TPMS) structures have attracted considerable attention due to their exceptional strength-to-weight ratios and promising applications in advanced acoustic and mechanical devices. The geometry of TPMS structures can be defined by governing mathematical equations, and we employed a numerical framework \cite{ma5758813constraint} to evaluate the elastic modulus of a given TPMS configuration.
Specifically, the TPMS geometry is described by
\begin{equation}
f(x, y, z) = g(\alpha_1, \alpha_2, t_1, t_2),
\end{equation}
where $\alpha_1$, $\alpha_2$, $t_1$, and $t_2$ are parameters controlling the shape of the surface $f(x,y,z)$. The detailed formulation of the governing function is provided in Section \ref{TPMSdesigning}.
We randomly sampled the parameter space using a uniform distribution, with $\alpha_1$ and $\alpha_2$ constrained to the range $[0,1]$, and $t_1$ and $t_2$ varying within $[-0.5, 0.5]$. From this sampling process, 50 initial TPMS configurations were generated and labeled with their corresponding elastic moduli, as summarized in Table~\ref{tab:tpms_elasticity}. In addition, based on the original design space, we generated 5,000 unique TPMS structures from the $(\alpha_1, \alpha_2, t_1, t_2)$ parameter space as candidate configurations for optimization.
We then applied Bgolearn to search for TPMS structures with enhanced elastic modulus within this high-dimensional configuration space. A GB model was employed as the surrogate, together with the EI acquisition function. Within the simulation framework, two optimization iterations were conducted, each recommending two distinct configurations, resulting in a total of four validation evaluations, as shown in Fig.~\ref{fig:realcase}\textbf{a}. In the second iteration, a previously unexplored TPMS configuration was identified, exhibiting a calculated elastic modulus of 8,945~MPa, which exceeds the best performance obtained during the initial exploration (8,560~MPa). The recommended configurations from each iteration are summarized in Table~\ref{tab:tpms_high_elasticity}.
\subsubsection*{Discovery of an Ultra-High-Hardness High-Entropy Alloy}
High-entropy alloys (HEAs) extend conventional alloy design from minor alloying into high-dimensional composition spaces. Even under commonly adopted HEA constraints, the number of feasible compositions grows combinatorially, rendering trial-and-error exploration impractical. Efficient navigation of this vast design space is therefore essential for property-oriented alloy discovery.
We applied Bgolearn to the data-driven optimization of hardness in HEAs to enhance wear resistance, thereby demonstrating efficient and practical materials property optimization in real-world settings. Although hardness is not a complete descriptor of wear resistance, classical tribological models explicitly relate wear loss to material hardness, and many practical studies adopt hardness as a first-pass screening metric for candidate down-selection.
To minimize the influence of processing history, the training dataset was restricted to \emph{as-cast} alloys only, thereby excluding effects from thermomechanical processing, solution treatment, or aging. A total of 155 Vickers hardness measurements were curated from the literatures \cite{fantin2024atomic,odetola2024exploring,xiang2024review} for the Al–Co–Cr–Fe–Cu–Ni alloy system (as-cast condition), as summarized in Table~\ref{tab:al_co_cr_cu_fe_ni_hv}. Within this dataset, most reported hardness values cluster below approximately 500 HV, with only a limited number of compositions exceeding 500 HV.
The optimization was conducted in a six-element composition space (Al–Co–Cr–Cu–Fe–Ni, in at.\%), with hardness as the single target objective. The design space was defined by allowing Co, Cr, Cu, Fe, and Ni to vary between their respective minimum and maximum values observed in the training dataset, using a step size of 0.01 in atomic fraction. Aluminum was treated as the balance element to ensure that the total composition summed to unity. The PES acquisition function in Bgolearn was employed to guide candidate selection.
Based on this strategy, Bgolearn recommended a previously unexplored composition:
Al$_{46.47}$Co$_{9.16}$-Cr$_{23.47}$Cu$_{7.22}$Fe$_{8.10}$Ni$_{5.58}$.
The as-cast alloy synthesized from this recommendation exhibited a Vickers hardness exceeding
1000~HV, placing it well above the upper bound of the best performance reported in literates \cite{fantin2024atomic,odetola2024exploring,xiang2024review},
where the maximum hardness is below 800~HV.
Moreover, the combination of the exceptionally high hardness and its narrow distribution
suggests an intrinsically strengthened microstructure.
Experimental settings and detailed results are provided in Appendix~\ref{Testing_settings_HEA}.
\begin{figure}[h]
\centering
\includegraphics[width=0.9\columnwidth]{figs/exp_res.png}
\caption{
\textbf{a}, Evolution of the elastic modulus across optimization iterations for TPMS structures. The red dotted line indicates the best configuration with the highest elastic modulus identified in the initial training set.
\textbf{b}, Experimentally measured yield strength (MPa) and total elongation (\%) of medium-Mn steels. The black line denotes the experimental Pareto front, while the red star markers indicate the steels recommended by Bgolearn.
}
\label{fig:realcase}
\end{figure}
\subsubsection*{Discovery of a High-Strength and High-Ductility Medium-Mn Steel}
Medium-manganese (medium-Mn) steels (approximately 3–10 wt.\% Mn) have attracted sustained interest as promising third-generation advanced high-strength steels, owing to their exceptional strength–ductility synergy enabled by microstructure engineering \cite{yadav2023hot,hu2023stabilizing,he2017high,wang2025target}. This balance arises primarily from the controlled formation, morphology, and stability of retained austenite. However, process optimization in medium-Mn steels is inherently non-trivial: narrow annealing windows, coupled partitioning kinetics, and temperature- and time-sensitive austenite stability together give rise to a highly rugged process–property landscape.
We selected a widely investigated alloy composition, Fe–0.3C–8Mn–2Al (wt.\%), and conducted 16 heat-treatment experiments by varying three controllable processing parameters: austenitization temperature (AustTemp), annealing temperature (AnnTemp), and annealing time (AnnTime). The mechanical responses of interest were yield strength (MPa) and total elongation (\%), which together characterize the strength–ductility trade-off. The resulting dataset is summarized in Table~\ref{tab:heat_treatment_mechanical_properties}.
Based on these initial experiments, we constructed a comprehensive search space representing plausible heat-treatment schedules, with AustTemp ranging from 700 to 880~$^\circ$C (1~$^\circ$C step), AnnTemp from 600 to 750~$^\circ$C (1~$^\circ$C step), and AnnTime from 30 to 120~min (1~min step). Using Bgolearn, we evaluated all candidate heat-treatment schedules through the MOBO acquisition functions. The optimization recommended two distinct heat-treatment schedules: (i) AustTemp = 773~$^\circ$C, AnnTemp = 737~$^\circ$C, AnnTime = 31~min; and (ii) AustTemp = 820~$^\circ$C, AnnTemp = 640~$^\circ$C, AnnTime = 30~min.
Subsequent experimental validation, shown in Fig.~\ref{fig:realcase}\textbf{b}, indicates that the first schedule achieved a yield strength of 798$\pm$2~MPa with a total elongation of 38.2$\pm$0.2\%, whereas the second achieved 726$\pm$4~MPa and 44.7$\pm$0.7\%, respectively. Notably, the experimentally validated result of the first schedule lies outside the Pareto front defined by the original training data, while the second is located near the Pareto front, demonstrating Bgolearn’s ability to move beyond known process boundaries and uncover previously unexplored, superior strength–ductility combinations.
\section*{Conclusion and Future Outlook}
Bgolearn provides a practical and scalable framework for data-efficient materials discovery, substantially lowering the barrier to applying Bayesian optimization in real-world research settings. By supporting both single- and multi-objective optimization with flexible surrogate models, diverse acquisition strategies, and principled uncertainty quantification, Bgolearn achieves an effective balance between theoretical rigor and computational efficiency. Benchmark evaluations demonstrate that Bgolearn can reduce experimental requirements by approximately 40--60\% compared with conventional optimization approaches, while maintaining comparable or superior performance across a broad range of materials design tasks.
Looking ahead, Bgolearn provides a flexible methodological basis upon which active learning strategies can be further developed and explored. Within this framework, reinforcement learning may serve as a complementary mechanism for modeling sequential decision-making processes, enabling acquisition policies that adapt over extended optimization horizons rather than relying on fixed heuristics. Such formulations naturally support scenarios involving delayed or sparse feedback, evolving objectives, and operational constraints, which are commonly encountered in closed-loop experimental systems. Owing to its modular and fully open-source design, Bgolearn can accommodate these developments alongside existing capabilities such as multi-fidelity optimization and human-in-the-loop decision-making, thereby offering a general and extensible platform for future research in intelligent and autonomous materials discovery.
\newpage
\section*{Methods}
\subsection*{Bayesian Optimization Framework}
Bayesian optimization provides a principled framework for global optimization of expensive black-box functions $f: \mathcal{X} \rightarrow \mathbb{R}$ where $\mathcal{X} \subset \mathbb{R}^D$ is the design space. The goal is to find $\mathbf{x}^* = \arg\min_{\mathbf{x} \in \mathcal{X}} f(\mathbf{x})$ (or maximum for maximization) using as few function evaluations as possible.
At iteration $n$, given observations $\mathcal{D}_n = \{(\mathbf{x}_i, y_i)\}_{i=1}^n$ where $y_i = f(\mathbf{x}_i) + \epsilon_i$ and $\epsilon_i \sim \mathcal{N}(0, \sigma_{\text{noise}}^2)$ represents experimental noise, BO proceeds in two steps: (1) construct a probabilistic surrogate model $p(f|\mathcal{D}_n)$ that approximates $f$ and quantifies uncertainty; (2) select the next query point $\mathbf{x}_{n+1}$ by optimizing an acquisition function $\alpha(\mathbf{x}|\mathcal{D}_n)$ that balances exploitation (sampling where $f$ is predicted to be optimal) and exploration (sampling where uncertainty is high):
\begin{equation}
\mathbf{x}_{n+1} = \arg\max_{\mathbf{x} \in \mathcal{X}} \alpha(\mathbf{x}|\mathcal{D}_n)
\end{equation}
The surrogate model provides a predictive distribution at any point $\mathbf{x}$:
\begin{equation}
p(f(\mathbf{x})|\mathcal{D}_n) = \mathcal{N}(\mu_n(\mathbf{x}), \sigma_n^2(\mathbf{x}))
\end{equation}
where $\mu_n(\mathbf{x})$ is the predictive mean and $\sigma_n^2(\mathbf{x})$ is the predictive variance. This uncertainty quantification is crucial for acquisition functions to identify informative experiments.
\subsection*{Gaussian Process Regression}
Bgolearn's default surrogate is a Gaussian process, a non-parametric Bayesian model that places a prior distribution over functions. A GP is fully specified by a mean function $m(\mathbf{x})$ (typically set to zero) and a covariance function (kernel) $k(\mathbf{x}, \mathbf{x}')$ that encodes assumptions about function smoothness and structure.
Bgolearn implements two kernel families. The \textit{radial basis function} kernel, also known as the \textit{squared exponential} (SE) kernel assumes infinitely differentiable functions:
\begin{equation}
k_{\text{SE}}(\mathbf{x}, \mathbf{x}') = \sigma_f^2 \exp\left(-\frac{1}{2}\sum_{d=1}^D \frac{(x_d - x_d')^2}{\ell_d^2}\right)
\end{equation}
where $\sigma_f^2$ is the signal variance and $\ell_d$ are per-dimension lengthscales controlling smoothness. The \textit{Matérn-5/2} kernel allows for less smooth functions:
\begin{equation}
k_{\text{M52}}(\mathbf{x}, \mathbf{x}') = \sigma_f^2 \left(1 + \sqrt{5}r + \frac{5r^2}{3}\right)\exp(-\sqrt{5}r), \quad r = \sqrt{\sum_{d=1}^D \frac{(x_d - x_d')^2}{\ell_d^2}}
\end{equation}
Given observations $\mathcal{D}_n$, the posterior predictive distribution at a test point $\mathbf{x}_*$ is:
\begin{align}
\mu_n(\mathbf{x}_*) &= \mathbf{k}_*^T (\mathbf{K} + \sigma_{\text{noise}}^2 \mathbf{I})^{-1} \mathbf{y} \\
\sigma_n^2(\mathbf{x}_*) &= k(\mathbf{x}_*, \mathbf{x}_*) - \mathbf{k}_*^T (\mathbf{K} + \sigma_{\text{noise}}^2 \mathbf{I})^{-1} \mathbf{k}_*
\end{align}
where $\mathbf{K}_{ij} = k(\mathbf{x}_i, \mathbf{x}_j)$ is the $n \times n$ covariance matrix, $\mathbf{k}_* = [k(\mathbf{x}_*, \mathbf{x}_1), \ldots, k(\mathbf{x}_*, \mathbf{x}_n)]^T$, and $\mathbf{y} = [y_1, \ldots, y_n]^T$.
Parameters $\boldsymbol{\theta} = \{\sigma_f^2, \ell_1, \ldots, \ell_D, \sigma_{\text{noise}}^2\}$ are optimized by maximizing the marginal log-likelihood:
\begin{equation}
\log p(\mathbf{y}|\mathbf{X}, \boldsymbol{\theta}) = -\frac{1}{2}\mathbf{y}^T (\mathbf{K} + \sigma_{\text{noise}}^2 \mathbf{I})^{-1} \mathbf{y} - \frac{1}{2}\log|\mathbf{K} + \sigma_{\text{noise}}^2 \mathbf{I}| - \frac{n}{2}\log(2\pi)
\end{equation}
using L-BFGS-B optimization with 10 random restarts to avoid local optima. To ensure numerical stability, we apply jitter (adding $10^{-6}$ to diagonal elements) when the covariance matrix is ill-conditioned.
\subsection*{Acquisition Functions}
Acquisition functions quantify the utility of evaluating $f$ at each candidate point $\mathbf{x}$, enabling principled selection of the next experiment. Bgolearn implements five single-objective acquisition functions.
\textbf{Expected Improvement (EI):} Maximizes the expected improvement over the current best observation $f^* = \min_{i=1,\ldots,n} y_i$:
\begin{equation}
\alpha_{\text{EI}}(\mathbf{x}) = \mathbb{E}[\max(f^* - f(\mathbf{x}), 0)] = (f^* - \mu_n(\mathbf{x}))\Phi(Z) + \sigma_n(\mathbf{x})\phi(Z)
\end{equation}
where $Z = (f^* - \mu_n(\mathbf{x}))/\sigma_n(\mathbf{x})$, and $\Phi$, $\phi$ are the standard normal cumulative distribution function (CDF) and probability density function (PDF). EI naturally balances exploration and exploitation: high $\sigma_n(\mathbf{x})$ increases EI even when $\mu_n(\mathbf{x})$ is poor (exploration), while low $\mu_n(\mathbf{x})$ increases EI even when $\sigma_n(\mathbf{x})$ is small (exploitation). EI is the default acquisition function in Bgolearn due to its robust performance across a wide range of problems. We also include several EI variants, namely EI with Plug-in, Augmented EI, Reinterpolation EI, and Logarithmic EI \cite{lookman2026materials}. Detailed usage and implementation can be found in Appendix~\ref{eiandvariants}.
\textbf{Upper Confidence Bound (UCB):}
The UCB acquisition function balances exploitation and exploration by favoring points with optimistic predictions,
\begin{equation}
\alpha_{\mathrm{UCB}}(\mathbf{x}) = \mu_n(\mathbf{x}) - \beta_n \sigma_n(\mathbf{x}),
\end{equation}
where $\mu_n(\mathbf{x})$ and $\sigma_n(\mathbf{x})$ denote the posterior mean and standard deviation of the Gaussian process at iteration $n$.
The exploration parameter is defined as
\begin{equation}
\beta_n = 2 \log\!\left(\frac{D n^2 \pi^2}{6\delta}\right),
\end{equation}
which depends on the input dimension $D$, the iteration number $n$, and the confidence level $\delta$.
Setting $\delta = 0.1$ ensures that the true objective function lies within the GP confidence bounds with probability at least $1-\delta$, providing theoretical regret guarantees~\cite{srinivas2009gaussian}. The negative sign reflects minimization; for maximization, use $\mu_n(\mathbf{x}) + \beta_n \sigma_n(\mathbf{x})$.
\textbf{Probability of Improvement (PI):} Maximizes the probability of improving over $f^*$:
\begin{equation}
\alpha_{\text{PI}}(\mathbf{x}) = \Phi\left(\frac{f^* - \mu_n(\mathbf{x}) - \xi}{\sigma_n(\mathbf{x})}\right)
\end{equation}
where $\xi \geq 0$ is an improvement threshold (default: $\xi=0.01$). PI is conservative, preferring exploitation over exploration, making it suitable for noisy objectives where premature exploration is risky.
\textbf{Knowledge Gradient (KG):} Maximizes the expected improvement in the best solution after one additional observation:
\begin{equation}
\alpha_{\text{KG}}(\mathbf{x}) = \mathbb{E}\left[\min_{\mathbf{x}' \in \mathcal{X}} \mu_{n+1}(\mathbf{x}') - \min_{\mathbf{x}' \in \mathcal{X}} \mu_n(\mathbf{x}') \mid \mathbf{x}_{n+1} = \mathbf{x}\right]
\end{equation}
KG accounts for the value of information from future observations, making it effective for finite-horizon optimization.
\textbf{Predictive Entropy Search (PES):} Selects points that maximally reduce uncertainty about the location of the global optimum $\mathbf{x}^*$:
\begin{equation}
\alpha_{\text{PES}}(\mathbf{x}) = H[p(\mathbf{x}^*|\mathcal{D}_n)] - \mathbb{E}_{y \sim p(y|\mathbf{x}, \mathcal{D}_n)}[H[p(\mathbf{x}^*|\mathcal{D}_n \cup \{(\mathbf{x}, y)\})]]
\end{equation}
where $H[\cdot]$ denotes entropy. PES is information-theoretically optimal but computationally expensive, requiring Monte Carlo approximation.
\subsection*{Multi-Objective Optimization}
Multi-objective Bayesian optimization addresses problems with $m \geq 2$ competing objectives $\mathbf{f}(\mathbf{x}) = [f_1(\mathbf{x}), \ldots, f_m(\mathbf{x})]^T$. The goal is to identify the Pareto front $\mathcal{F}^* = \{\mathbf{x} \in \mathcal{X} : \nexists \mathbf{x}' \in \mathcal{X}, \mathbf{f}(\mathbf{x}') \prec \mathbf{f}(\mathbf{x})\}$, where $\mathbf{f}(\mathbf{x}') \prec \mathbf{f}(\mathbf{x})$ denotes Pareto dominance: $f_i(\mathbf{x}') \leq f_i(\mathbf{x})$ for all $i$ and $f_j(\mathbf{x}') < f_j(\mathbf{x})$ for at least one $j$.
MultiBgolearn maintains an approximate Pareto front $\mathcal{F}_n$ of non-dominated observations from $\mathcal{D}_n$ and implements three MOBO acquisition functions.
\textbf{Expected Hypervolume Improvement (EHVI):} The hypervolume indicator $\text{HV}(\mathcal{F})$ measures the volume of objective space dominated by $\mathcal{F}$ relative to a reference point $\mathbf{r}$ (typically set to the nadir point plus a margin). EHVI maximizes the expected improvement in hypervolume:
\begin{equation}
\alpha_{\text{EHVI}}(\mathbf{x}) = \mathbb{E}_{\mathbf{f}(\mathbf{x}) \sim p(\mathbf{f}(\mathbf{x})|\mathcal{D}_n)}[\text{HV}(\mathcal{F}_n \cup \{\mathbf{f}(\mathbf{x})\}) - \text{HV}(\mathcal{F}_n)]
\end{equation}
EHVI is computed using Monte Carlo.
\textbf{q-Noisy Expected Hypervolume Improvement (qNEHVI):}
qNEHVI extends EHVI to handle noisy observations and batch acquisition \cite{daulton2021parallel}. Unlike EHVI which assumes deterministic observations, qNEHVI explicitly models observation noise $\epsilon \sim \mathcal{N}(0, \sigma_{\text{obs}}^2)$ and can select $q > 1$ points simultaneously. The acquisition function is:
\begin{equation}
\alpha_{\text{qNEHVI}}(\mathbf{X}_q) = \mathbb{E}_{\mathbf{y} \sim p(\mathbf{y}|\mathcal{D}_n)}[\mathbb{E}_{\mathbf{f}_q \sim p(\mathbf{f}_q|\mathbf{X}_q, \mathcal{D}_n)}[\text{HV}(\mathcal{P}(\mathbf{y} \cup \mathbf{f}_q)) - \text{HV}(\mathcal{P}(\mathbf{y}))]]
\end{equation}
where $\mathbf{X}_q = \{\mathbf{x}_1, \ldots, \mathbf{x}_q\}$ is a batch of candidates, $\mathbf{y}$ represents noisy observations, and $\mathcal{P}(\cdot)$ denotes the Pareto front operator. The nested expectation accounts for both observation noise in existing data and predictive uncertainty in new evaluations. qNEHVI is computed using nested Monte Carlo sampling. For batch selection ($q > 1$), a greedy sequential strategy is employed. When observation noise is unknown, it is estimated as $\hat{\sigma}_{\text{obs}} = 0.1 \cdot \text{mean}(\text{std}(\mathbf{y}_i))$ across objectives.
\textbf{Multi-Objective Upper Confidence Bound (MO-UCB):} Applies UCB independently to each objective and selects the point maximizing the hypervolume of the optimistic Pareto front:
\begin{equation}
\alpha_{\text{MO-UCB}}(\mathbf{x}) = \text{HV}(\mathcal{F}_n \cup \{\boldsymbol{\mu}_n(\mathbf{x}) - \beta_n \boldsymbol{\sigma}_n(\mathbf{x})\}) - \text{HV}(\mathcal{F}_n)
\end{equation}
where $\boldsymbol{\mu}_n(\mathbf{x}) = [\mu_{n,1}(\mathbf{x}), \ldots, \mu_{n,m}(\mathbf{x})]^T$ and $\boldsymbol{\sigma}_n(\mathbf{x}) = [\sigma_{n,1}(\mathbf{x}), \ldots, \sigma_{n,m}(\mathbf{x})]^T$ are per-objective predictions. MO-UCB has $O(mn)$ complexity, making it tractable for $m>4$ objectives.
\textbf{Multi-Objective Probability of Improvement (MO-PI):} Computes the probability of dominating at least one current Pareto point:
\begin{equation}
\alpha_{\text{MO-PI}}(\mathbf{x}) = \mathbb{P}(\exists \mathbf{y} \in \mathcal{F}_n : \mathbf{f}(\mathbf{x}) \prec \mathbf{y})
\end{equation}
MO-PI is conservative, focusing on improving existing Pareto regions rather than exploring new trade-offs.
\subsection*{Bootstrap Uncertainty Quantification}
Gaussian Processes provide well-calibrated uncertainty estimates through their Bayesian formulation. However, other models (random forest, gradient boosting, SVM etc.) lack principled uncertainty quantification, limiting their applicability to BO despite superior scalability and performance on discrete/categorical variables.
Bgolearn addresses this gap through bootstrap aggregation. For a given surrogate model class $\mathcal{M}$, we train $B$ independent models $\{\mathcal{M}_b\}_{b=1}^B$ on bootstrap samples $\mathcal{D}_n^{(b)}$ obtained by sampling $n$ observations from $\mathcal{D}_n$ with replacement. Each model provides a prediction $\hat{f}_b(\mathbf{x})$ at test point $\mathbf{x}$. The ensemble mean and standard deviation are:
\begin{equation}
\mu_n(\mathbf{x}) = \frac{1}{B}\sum_{b=1}^B \hat{f}_b(\mathbf{x}), \quad \sigma_n(\mathbf{x}) = \sqrt{\frac{1}{B-1}\sum_{b=1}^B (\hat{f}_b(\mathbf{x}) - \mu_n(\mathbf{x}))^2}
\end{equation}
The bootstrap standard deviation $\sigma_n(\mathbf{x})$ quantifies prediction uncertainty arising from finite sample size. Regions with high inter-model disagreement (high $\sigma_n(\mathbf{x})$) indicate epistemic uncertainty, enabling acquisition functions to balance exploration and exploitation.
For multi-objective optimization, we train $B$ bootstrap models for each objective independently, yielding $m \times B$ total models.
\subsection*{Implementation and Software}
Bgolearn is implemented in Python 3.7+, leveraging scikit-learn\cite{pedregosa2011scikit} for surrogate models, NumPy/SciPy for numerical computations, and Matplotlib for visualization. MultiBgolearn extends the framework with Pareto front management and MOBO computation. BgoFace uses PyQt5 for the graphical interface. All code is open source under the MIT license and is available at \url{https://github.com/Bin-Cao/Bgolearn}. The code booklet is available at \url{https://bgolearn.netlify.app}.
\section*{Data availability}
All datasets used in this study are available either in the Appendix or from public repositories \url{https://github.com/Bin-Cao/Bgolearn}.
\section*{Code availability}
Bgolearn is open source at \url{https://github.com/Bin-Cao/Bgolearn}. Documentation and reproducible examples are available at \url{https://bgolearn.netlify.app}.
\section*{Acknowledgements}
This work was supported by the Advanced Materials-National Science and Technology Major Project (Grant No. 2025ZD0620102), the Guangzhou-HKUST(GZ) Joint Funding Program - (2023A03J0003 and 2023A03J0103), the National Natural Science Foundation of China (Grant Nos. 52401015), the Technology Plan Program of Shanghai Municipal Commission of Science and Technology (Grant No. 25CL2902300), and the Shanghai Artificial Intelligence Open-Source Award Project Support Plan (2025).
% \section*{Author contributions}
\section*{Competing interests}
The authors declare no competing interests.
\newpage
\bibliographystyle{unsrt}
\bibliography{references}
\clearpage
\appendix
\section*{Appendix}
\section{Detailed Algorithm Descriptions}
\textbf{The code booklet provides a tutorial on applying Bgolearn in various situations with version control. Please visit : \url{https://bgolearn.netlify.app}.}
\subsection{Single-Objective Acquisition Functions}
\subsubsection{Expected Improvement (EI)}
\label{eiandvariants}
Expected Improvement is the most widely used acquisition function in Bayesian optimization. For a minimization problem with current best observation $f^* = \min_{i=1}^n y_i$, EI is defined as:
\begin{equation}
\text{EI}(\mathbf{x}) = \mathbb{E}[\max(f^* - f(\mathbf{x}), 0)]
\end{equation}
Under a Gaussian Process surrogate with mean $\mu(\mathbf{x})$ and standard deviation $\sigma(\mathbf{x})$, this has the closed form:
\begin{equation}
\text{EI}(\mathbf{x}) = \begin{cases}
(f^* - \mu(\mathbf{x}))\Phi(Z) + \sigma(\mathbf{x})\phi(Z) & \text{if } \sigma(\mathbf{x}) > 0 \\
0 & \text{if } \sigma(\mathbf{x}) = 0
\end{cases}
\end{equation}
where $Z = (f^* - \mu(\mathbf{x}))/\sigma(\mathbf{x})$, and $\Phi$, $\phi$ are the standard normal CDF and PDF.
\begin{tcolorbox}[colback=gray!5!white, colframe=gray!40!black,
boxrule=0.4pt, arc=2pt, left=4pt, right=4pt, top=2pt, bottom=2pt,
listing only, breakable]
\begin{lstlisting}[language=Python]
# Expected Improvement
ei_values, next_point = model.EI()
# With custom baseline
ei_values, next_point = model.EI(T=-2.0)
\end{lstlisting}
\end{tcolorbox}
\textbf{Variants:}
\begin{itemize}
\item \textbf{EI with Plug-in:} Uses the model prediction on the training data as the baseline ( \texttt{model.EI\_plugin()}).
\item \textbf{Augmented EI:} Adds an exploration bonus for high-uncertainty regions (\texttt{model.Augmented\_EI()}).
\item \textbf{Reinterpolation EI:} Accounts for noise in observations (\texttt{model.Reinterpolation\_EI()}).
\item \textbf{Logarithmic EI:} Applies a logarithmic transform to the EI values to amplify subtle differences (\texttt{model.EI\_log()})).
\end{itemize}
\subsubsection{Upper Confidence Bound (UCB)}
UCB balances exploitation and exploration through an optimistic estimate:
\begin{equation}
\text{UCB}(\mathbf{x}) = \mu(\mathbf{x}) - \beta \sigma(\mathbf{x})
\end{equation}
for minimization (use $\mu(\mathbf{x}) + \beta \sigma(\mathbf{x}$) for maximization). The parameter $\beta$ controls the exploration-exploitation trade-off:
\begin{itemize}
\item $\beta = 0.5$: Conservative, exploitation-focused
\item $\beta = 1.0$: Balanced (default)
\item $\beta = 2.0$: Aggressive exploration
\item $\beta = 3.0$: Very aggressive, suitable for noisy functions
\end{itemize}
Theoretical analysis suggests $\beta_t = \sqrt{2\log(t^{d/2 + 2}\pi^2/(3\delta))}$ for regret bounds, but practical values are typically 1-3.
\begin{tcolorbox}[colback=gray!5!white, colframe=gray!40!black,
boxrule=0.4pt, arc=2pt, left=4pt, right=4pt, top=2pt, bottom=2pt,
listing only, breakable]
\begin{lstlisting}[language=Python]
# UCB with default beta=1.0
ucb_values, next_point = model.UCB()
# Aggressive exploration
ucb_values, next_point = model.UCB(alpha=2.0)
\end{lstlisting}
\end{tcolorbox}
\subsubsection{Probability of Improvement (PI)}
PI computes the probability that a candidate improves upon the current best:
\begin{equation}
\text{PI}(\mathbf{x}) = P(f(\mathbf{x}) < (f^* - \xi)) = \Phi\left(\frac{f^* - \mu(\mathbf{x}) - \xi}{\sigma(\mathbf{x})}\right)
\end{equation}
where $\xi \geq 0$ is an improvement threshold. Setting $\xi > 0$ encourages exploration.
\begin{tcolorbox}[colback=gray!5!white, colframe=gray!40!black,
boxrule=0.4pt, arc=2pt, left=4pt, right=4pt, top=2pt, bottom=2pt,
listing only, breakable]
\begin{lstlisting}[language=Python]
# PI with default threshold
poi_values, next_point = model.PoI()
# With exploration threshold
poi_values, next_point = model.PoI(tao=0.01)
\end{lstlisting}
\end{tcolorbox}
\subsubsection{Predictive Entropy Search (PES)}
PES selects points that maximally reduce uncertainty about the location of the optimum:
\begin{equation}
\text{PES}(\mathbf{x}) = H[p(\mathbf{x}^*|\mathcal{D}_n)] - \mathbb{E}_{y}[H[p(\mathbf{x}^*|\mathcal{D}_n \cup \{(\mathbf{x}, y)\})]]
\end{equation}
This is approximated via Monte Carlo sampling from the GP posterior.
\begin{tcolorbox}[colback=gray!5!white, colframe=gray!40!black,
boxrule=0.4pt, arc=2pt, left=4pt, right=4pt, top=2pt, bottom=2pt,
listing only, breakable]
\begin{lstlisting}[language=Python]
# PES with 500 MC samples
pes_values, next_point = model.PES(sam_num=500)
\end{lstlisting}
\end{tcolorbox}
\subsubsection{Knowledge Gradient (KG)}
KG estimates the expected value of information from evaluating a point:
\begin{equation}
\text{KG}(\mathbf{x}) = \mathbb{E}[\max_{\mathbf{x}' \in \mathcal{X}} \mu_{n+1}(\mathbf{x}') - \max_{\mathbf{x}' \in \mathcal{X}} \mu_n(\mathbf{x}')]
\end{equation}
where $\mu_{n+1}$ is the posterior mean after observing $(\mathbf{x}, y)$.
\begin{tcolorbox}[colback=gray!5!white, colframe=gray!40!black,
boxrule=0.4pt, arc=2pt, left=4pt, right=4pt, top=2pt, bottom=2pt,
listing only, breakable]
\begin{lstlisting}[language=Python]
# Knowledge Gradient
kg_values, next_point = model.Knowledge_G(MC_num=5)
\end{lstlisting}
\end{tcolorbox}
\subsection{Multi-Objective Acquisition Functions}
\subsubsection{Expected Hypervolume Improvement (EHVI)}
EHVI is the gold standard for multi-objective Bayesian optimization. It maximizes the expected improvement in hypervolume indicator:
\begin{equation}
\text{EHVI}(\mathbf{x}) = \mathbb{E}_{\mathbf{f}(\mathbf{x})}[\max(0, \text{HV}(\mathcal{F} \cup \{\mathbf{f}(\mathbf{x})\}) - \text{HV}(\mathcal{F}))]
\end{equation}
where $\mathcal{F}$ is the current Pareto front and $\text{HV}(\mathcal{F})$ is the hypervolume dominated by $\mathcal{F}$ relative to a reference point $\mathbf{r}$.
\textbf{Hypervolume Computation:}
For a set of points $\mathcal{F} = \{\mathbf{f}_1, \ldots, \mathbf{f}_k\}$ in $m$-dimensional objective space:
\begin{equation}
\text{HV}(\mathcal{F}) = \text{Volume}\left(\bigcup_{i=1}^k [\mathbf{f}_i, \mathbf{r}]\right)
\end{equation}
\textbf{EHVI Calculation:}
Under independent GP surrogates for each objective, EHVI can be computed via:
\begin{enumerate}
\item Partition objective space into cells based on current Pareto front
\item For each cell, compute probability that new point falls in cell and dominates
\item Sum weighted contributions from all cells
\end{enumerate}
For 2D problems, exact computation is feasible. For $m > 2$, we use Monte Carlo approximation:
\begin{equation}
\text{EHVI}(\mathbf{x}) \approx \frac{1}{S}\sum_{s=1}^S \max(0, \text{HV}(\mathcal{F} \cup \{\mathbf{f}^{(s)}(\mathbf{x})\}) - \text{HV}(\mathcal{F}))
\end{equation}
where $\mathbf{f}^{(s)}(\mathbf{x})$ are samples from the GP posterior.
\begin{tcolorbox}[colback=gray!5!white, colframe=gray!40!black,
boxrule=0.4pt, arc=2pt, left=4pt, right=4pt, top=2pt, bottom=2pt,
listing only, breakable]
\begin{lstlisting}[language=Python]
from MultiBgolearn import bgo
# EHVI for 3-objective optimization
VS_rec, improvements, idx = bgo.fit(
'dataset.csv',
'virtual_space.csv',
object_num=2,
method='EHVI',
assign_model='GaussianProcess',
bootstrap=8,
max_search=True # Maximize all objectives
)
\end{lstlisting}
\end{tcolorbox}
\subsubsection{q-Noisy Expected Hypervolume Improvement (qNEHVI)}
qNEHVI extends EHVI to handle noisy observations and batch acquisition, making it suitable for real-world scenarios with measurement uncertainty and parallel experiments \cite{daulton2021parallel}. It maximizes the expected hypervolume improvement while accounting for observation noise:
\begin{equation}
\text{qNEHVI}(\mathbf{X}_q) = \mathbb{E}_{\mathbf{y} \sim p(\mathbf{y}|\mathcal{D})}[\mathbb{E}_{\mathbf{f}_q \sim p(\mathbf{f}_q|\mathbf{X}_q, \mathcal{D})}[\max(0, \text{HV}(\mathcal{P}(\mathbf{y} \cup \mathbf{f}_q)) - \text{HV}(\mathcal{P}(\mathbf{y})))]]
\end{equation}
where $\mathbf{X}_q = \{\mathbf{x}_1, \ldots, \mathbf{x}_q\}$ is a batch of $q$ candidate points, $\mathcal{D}$ is the observed data, $\mathbf{y}$ represents noisy observations, and $\mathcal{P}(\cdot)$ denotes the Pareto front operator.
\textbf{Key Differences from EHVI:}
\begin{itemize}
\item \textbf{Noise Modeling:} Explicitly accounts for observation noise $\epsilon \sim \mathcal{N}(0, \sigma_{\text{obs}}^2)$
\item \textbf{Batch Acquisition:} Selects $q > 1$ points simultaneously for parallel evaluation
\item \textbf{Noisy Pareto Front:} Computes Pareto front considering uncertainty in existing observations
\end{itemize}
\textbf{Observation Model:}
The noisy observation model is:
\begin{equation}
y_i(\mathbf{x}) = f_i(\mathbf{x}) + \epsilon_i, \quad \epsilon_i \sim \mathcal{N}(0, \sigma_{\text{obs},i}^2)
\end{equation}
where $f_i(\mathbf{x})$ is the true objective value and $\sigma_{\text{obs},i}^2$ is the observation noise variance for objective $i$.
\textbf{Monte Carlo Approximation:}
For computational tractability, qNEHVI is approximated via nested Monte Carlo sampling:
\begin{equation}
\text{qNEHVI}(\mathbf{X}_q) \approx \frac{1}{S_1 S_2}\sum_{s_1=1}^{S_1}\sum_{s_2=1}^{S_2} \max(0, \text{HV}(\mathcal{P}(\mathbf{y}^{(s_1)} \cup \mathbf{f}_q^{(s_2)})) - \text{HV}(\mathcal{P}(\mathbf{y}^{(s_1)})))
\end{equation}
where:
\begin{itemize}
\item $\mathbf{y}^{(s_1)}$ are samples from noisy observations of existing data
\item $\mathbf{f}_q^{(s_2)}$ are samples from the GP posterior for candidate batch $\mathbf{X}_q$
\item Both include observation noise: $\mathbf{y}^{(s)} = \mathbf{f} + \boldsymbol{\epsilon}^{(s)}$
\end{itemize}
\textbf{Batch Selection Strategy:}
For $q > 1$, we employ a greedy sequential approach:
\begin{enumerate}
\item Initialize batch $\mathbf{X}_q = \emptyset$
\item For $i = 1$ to $q$:
\begin{itemize}
\item Evaluate qNEHVI for all remaining candidates conditioned on $\mathbf{X}_q$
\item Select $\mathbf{x}_i^* = \arg\max_{\mathbf{x}} \text{qNEHVI}(\mathbf{X}_q \cup \{\mathbf{x}\})$
\item Update batch: $\mathbf{X}_q \leftarrow \mathbf{X}_q \cup \{\mathbf{x}_i^*\}$
\end{itemize}
\item Return $\mathbf{X}_q$
\end{enumerate}
\textbf{Automatic Noise Estimation:}
When observation noise is unknown, it can be estimated from training data:
\begin{equation}
\hat{\sigma}_{\text{obs}} = \alpha \cdot \frac{1}{m}\sum_{i=1}^m \text{std}(\mathbf{y}_i)
\end{equation}
where $\alpha = 0.1$ is a conservative scaling factor and $m$ is the number of objectives.
\begin{tcolorbox}[colback=gray!5!white, colframe=gray!40!black,
boxrule=0.4pt, arc=2pt, left=4pt, right=4pt, top=2pt, bottom=2pt,
listing only, breakable]
\begin{lstlisting}[language=Python]
from MultiBgolearn import bgo
# qNEHVI with single point selection
VS_rec, improvements, idx = bgo.fit(
'dataset.csv',
'virtual_space.csv',
object_num=2,
method='qNEHVI',
assign_model='RandomForest',
bootstrap=5,
batch_size=1, # Single point
noise_std=0.05, # 5% observation noise
max_search=True
)
# qNEHVI with batch acquisition (parallel experiments)
VS_rec, improvements, idx = bgo.fit(
'dataset.csv',
'virtual_space.csv',
object_num=2,
method='qNEHVI',
batch_size=3, # Select 3 points simultaneously
noise_std=None, # Auto-estimate noise
max_search=True
)
\end{lstlisting}
\end{tcolorbox}
\textbf{When to Use qNEHVI:}
\begin{itemize}
\item Measurements have significant observation noise or uncertainty
\item Multiple experiments can be conducted in parallel
\item Robust optimization under uncertainty is required
\item Known or estimable observation noise levels
\end{itemize}
\subsubsection{Multi-Objective Probability of Improvement (MO-PI)}
MO-PI extends PI to multiple objectives by computing the probability of dominating at least one point in the current Pareto front:
\begin{equation}
\text{MO-PI}(\mathbf{x}) = P(\exists \mathbf{f}_i \in \mathcal{F} : \mathbf{f}(\mathbf{x}) \prec \mathbf{f}_i)
\end{equation}
where $\prec$ denotes Pareto dominance.
For independent GP surrogates, this is approximated via Monte Carlo:
\begin{equation}
\text{MO-PI}(\mathbf{x}) \approx \frac{1}{S}\sum_{s=1}^S \mathbb{I}\left[\exists \mathbf{f}_i \in \mathcal{F} : \mathbf{f}^{(s)}(\mathbf{x}) \prec \mathbf{f}_i\right]
\end{equation}
\begin{tcolorbox}[colback=gray!5!white, colframe=gray!40!black,
boxrule=0.4pt, arc=2pt, left=4pt, right=4pt, top=2pt, bottom=2pt,
listing only, breakable]
\begin{lstlisting}[language=Python]
# MO-PI for bi-objective optimization
VS_rec, improvements, idx = bgo.fit(
'dataset.csv',
'virtual_space.csv',
object_num=2,
method='PI',
assign_model='RandomForest',
bootstrap=5
)
\end{lstlisting}
\end{tcolorbox}
\subsubsection{Multi-Objective Upper Confidence Bound (MO-UCB)}
MO-UCB applies UCB to each objective independently and uses Pareto dominance to select candidates:
\begin{equation}
\text{UCB}_i(\mathbf{x}) = \mu_i(\mathbf{x}) + \beta \sigma_i(\mathbf{x}), \quad i = 1, \ldots, m
\end{equation}
The acquisition value is based on the hypervolume of the UCB vector:
\begin{equation}
\text{MO-UCB}(\mathbf{x}) = \text{HV}(\{\text{UCB}(\mathbf{x})\})
\end{equation}
\begin{tcolorbox}[colback=gray!5!white, colframe=gray!40!black,
boxrule=0.4pt, arc=2pt, left=4pt, right=4pt, top=2pt, bottom=2pt,
listing only, breakable]
\begin{lstlisting}[language=Python]
# MO-UCB for 4-objective optimization
VS_rec, improvements, idx = bgo.fit(
'dataset.csv',
'virtual_space.csv',
object_num=2,
method='UCB',
assign_model='GaussianProcess',
bootstrap=10
)
\end{lstlisting}
\end{tcolorbox}
\section{Surrogate Model Details}
\subsection{Gaussian Process Regression}
\subsubsection{Kernel Functions}
Bgolearn implements several kernel functions:
\textbf{1. Squared Exponential:}
\begin{equation}
k(\mathbf{x}, \mathbf{x}') = \sigma_f^2 \exp\left(-\frac{1}{2}\sum_{d=1}^D \frac{(x_d - x_d')^2}{\ell_d^2}\right)
\end{equation}
\textbf{2. Matérn 5/2:}
\begin{equation}
k(\mathbf{x}, \mathbf{x}') = \sigma_f^2 \left(1 + \frac{\sqrt{5}r}{\ell} + \frac{5r^2}{3\ell^2}\right)\exp\left(-\frac{\sqrt{5}r}{\ell}\right)
\end{equation}
where $r = \|\mathbf{x} - \mathbf{x}'\|_2$.
\textbf{3. Matérn 3/2:}
\begin{equation}
k(\mathbf{x}, \mathbf{x}') = \sigma_f^2 \left(1 + \frac{\sqrt{3}r}{\ell}\right)\exp\left(-\frac{\sqrt{3}r}{\ell}\right)
\end{equation}
\subsubsection{Parameter Optimization}
GP parameters $\boldsymbol{\theta} = \{\sigma_f^2, \ell_1, \ldots, \ell_D, \sigma_n^2\}$ are optimized by maximizing the marginal log-likelihood:
\begin{equation}
\log p(\mathbf{y}|\mathbf{X}, \boldsymbol{\theta}) = -\frac{1}{2}\mathbf{y}^T\mathbf{K}_y^{-1}\mathbf{y} - \frac{1}{2}\log|\mathbf{K}_y| - \frac{n}{2}\log(2\pi)
\end{equation}
where $\mathbf{K}_y = \mathbf{K} + \sigma_n^2\mathbf{I}$ is the covariance matrix with noise.
Bgolearn uses L-BFGS-B optimization with multiple random restarts to avoid local optima.
\subsubsection{Prediction}
For a test point $\mathbf{x}_*$, the posterior distribution is:
\begin{align}
\mu(\mathbf{x}_*) &= \mathbf{k}_*^T \mathbf{K}_y^{-1} \mathbf{y} \\
\sigma^2(\mathbf{x}_*) &= k(\mathbf{x}_*, \mathbf{x}_*) - \mathbf{k}_*^T \mathbf{K}_y^{-1} \mathbf{k}_*
\end{align}
where $\mathbf{k}_* = [k(\mathbf{x}_*, \mathbf{x}_1), \ldots, k(\mathbf{x}_*, \mathbf{x}_n)]^T$.
\subsection{Bootstrap Uncertainty Quantification}
For uncertainty estimation, Bgolearn trains $B$ Random Forest models on bootstrap samples:
\begin{equation}
\mathcal{D}_b = \{(\mathbf{x}_i, y_i) : i \in \text{Bootstrap}(\{1, \ldots, n\})\}, \quad b = 1, \ldots, B
\end{equation}
Predictions from each model $\hat{f}_b(\mathbf{x})$ yield:
\begin{align}
\mu(\mathbf{x}) &= \frac{1}{B}\sum_{b=1}^B \hat{f}_b(\mathbf{x}) \\
\sigma^2(\mathbf{x}) &= \frac{1}{B-1}\sum_{b=1}^B (\hat{f}_b(\mathbf{x}) - \mu(\mathbf{x}))^2
\end{align}
This provides uncertainty estimates comparable to GP at lower computational cost.
\textbf{Recommended Settings:}
\begin{itemize}
\item Number of trees per forest: 100-500
\item Bootstrap iterations: 5-10
\end{itemize}
\section{Benchmark}
\label{Benchmark_function}
To rigorously evaluate the performance of Bgolearn across diverse optimization scenarios, we selected four canonical benchmark functions that capture the key challenges encountered in materials optimization: high dimensionality, multimodality, and conflicting objectives. These functions are widely used in the optimization literature and provide standardized baselines for comparing algorithmic performance.
\subsection{Single-Objective Benchmarks}
\textit{Hartmann-6D Function.}
The 6-dimensional Hartmann function is a smooth, multimodal test function with a single global minimum and several local minima. It assesses an optimizer’s ability to explore high-dimensional landscapes without becoming trapped in suboptimal regions. The function is defined as:
\begin{equation}
f_{\text{Hartmann}}(\mathbf{x}) = -\sum_{i=1}^{4} \alpha_i
\exp\left(-\sum_{j=1}^{6} A_{ij}(x_j - P_{ij})^2\right),
\end{equation}
where $\mathbf{x} \in [0,1]^6$, and the parameters are:
\begin{align*}
\boldsymbol{\alpha} &= [1.0,\, 1.2,\, 3.0,\, 3.2]^T, \\
\mathbf{A} &=
\begin{bmatrix}
10 & 3 & 17 & 3.5 & 1.7 & 8 \\
0.05 & 10 & 17 & 0.1 & 8 & 14 \\
3 & 3.5 & 1.7 & 10 & 17 & 8 \\
17 & 8 & 0.05 & 10 & 0.1 & 14
\end{bmatrix}, \\
\mathbf{P} &= 10^{-4} \times
\begin{bmatrix}
1312 & 1696 & 5569 & 124 & 8283 & 5886 \\
2329 & 4135 & 8307 & 3736 & 1004 & 9991 \\
2348 & 1451 & 3522 & 2883 & 3047 & 6650 \\
4047 & 8828 & 8732 & 5743 & 1091 & 381
\end{bmatrix}.
\end{align*}
The global minimum is $f^* = -3.32237$ at
$\mathbf{x}^* = [0.20169,\, 0.15001,\, 0.47687,\, 0.27533,\, 0.31165,\, 0.65730]$.
This benchmark is particularly relevant to materials optimization, as it mimics composition–property landscapes where multiple local optima exist due to competing phase formations, while a single global optimum represents the best achievable performance.
\textit{Ackley Function.}
The 5-dimensional Ackley function is highly multimodal, with thousands of local minima, designed to test an optimizer’s exploration capability and resistance to premature convergence. It is defined as:
\begin{equation}
f_{\text{Ackley}}(\mathbf{x}) =
-20 \exp\!\left(-0.2 \sqrt{\frac{1}{D}\sum_{i=1}^{D}x_i^2}\right)
- \exp\!\left(\frac{1}{D}\sum_{i=1}^{D}\cos(2\pi x_i)\right)
+ 20 + e,
\end{equation}
where $\mathbf{x} \in [-5, 5]^5$ and $D = 5$.
The global minimum is $f^* = 0$ at $\mathbf{x}^* = \mathbf{0}$.
The function features a nearly flat outer region with numerous cosine-induced local minima surrounding a large central basin. This landscape resembles process–parameter optimization problems in materials science, where minor variations (e.g., temperature or concentration) can create local optima, while the global optimum lies within a narrow parameter regime.
\subsection{Multi-Objective Benchmarks}
\textit{ZDT1 Function.}
The ZDT1 benchmark is a bi-objective problem with a convex Pareto front, testing an optimizer’s ability to identify and uniformly sample the trade-off surface between two competing objectives. It is defined as:
\begin{align}
f_1(\mathbf{x}) &= x_1, \\
f_2(\mathbf{x}) &= g(\mathbf{x}) \left[1 - \sqrt{\frac{x_1}{g(\mathbf{x})}}\right], \\
g(\mathbf{x}) &= 1 + \frac{9}{D-1}\sum_{i=2}^{D}x_i,
\end{align}
where $\mathbf{x} \in [0,1]^{30}$ and $D = 30$.
The Pareto-optimal set is characterized by $x_2 = \cdots = x_{30} = 0$, leading to $g(\mathbf{x}^*) = 1$, and the Pareto front is given by:
\[
f_2 = 1 - \sqrt{f_1}, \quad f_1 \in [0,1].
\]
This convex front is analogous to materials design problems where improving one property (e.g., strength) monotonically degrades another (e.g., ductility) following a smooth trade-off relationship.
\textit{DTLZ2 Function.}
The DTLZ2 benchmark is a tri-objective problem with a spherical Pareto surface, evaluating an optimizer’s ability to handle higher-dimensional objective spaces and discover complex Pareto geometries. It is defined as:
\begin{align}
f_1(\mathbf{x}) &= (1 + g(\mathbf{x}))\cos\!\left(\frac{\pi x_1}{2}\right)\cos\!\left(\frac{\pi x_2}{2}\right), \\
f_2(\mathbf{x}) &= (1 + g(\mathbf{x}))\cos\!\left(\frac{\pi x_1}{2}\right)\sin\!\left(\frac{\pi x_2}{2}\right), \\
f_3(\mathbf{x}) &= (1 + g(\mathbf{x}))\sin\!\left(\frac{\pi x_1}{2}\right), \\
g(\mathbf{x}) &= \sum_{i=3}^{D}(x_i - 0.5)^2,
\end{align}
where $\mathbf{x} \in [0,1]^{12}$ and $D = 12$.
The Pareto-optimal surface satisfies $x_3 = \cdots = x_{12} = 0.5$, yielding $g(\mathbf{x}^*) = 0$ and a unit sphere in the objective space:
\[
f_1^2 + f_2^2 + f_3^2 = 1.
\]
This spherical geometry represents multi-objective materials design scenarios involving three competing targets (e.g., strength, toughness, and cost), where trade-offs exist in all directions, requiring comprehensive Pareto surface exploration.
\medskip
Together, these four benchmarks span the principal challenges of materials optimization:
Hartmann-6D tests high-dimensional smooth optimization, Ackley tests multimodal exploration, ZDT1 evaluates bi-objective trade-off discovery, and DTLZ2 assesses tri-objective Pareto surface mapping.
Performance on these standardized problems provides quantitative evidence of Bgolearn’s capabilities prior to deployment on real materials systems.
\subsection{TPMS designing}
\label{TPMSdesigning}
TPMS structures can be described using an implicit level-set formulation:
\begin{equation}
f(x,y,z) = \alpha_1 f_G(x,y,z) + \alpha_2 f_D(x,y,z),
\end{equation}
subject to the constraint
\begin{equation}
\alpha_1 + \alpha_2 = 1.
\end{equation}
Here, the basis functions $f_G(x,y,z)$ and $f_D(x,y,z)$ correspond to the Gyroid (G) and Diamond (D) minimal surfaces, respectively, and are defined as
\begin{equation}
\begin{aligned}
f_G(x,y,z) &=
\cos(2\pi x)\sin(2\pi y)
+ \cos(2\pi y)\sin(2\pi z)
+ \cos(2\pi z)\sin(2\pi x)
+ t_1, \\
f_D(x,y,z) &=
\cos(2\pi x)\cos(2\pi y)\cos(2\pi z)
- \sin(2\pi x)\sin(2\pi y)\sin(2\pi z)
+ t_2,
\end{aligned}
\end{equation}
where $t_1$ and $t_2$ are level-set offsets controlling the relative volume fraction of the TPMS structures.
In the above equations, $(x,y,z)$ denote the spatial coordinates, while $\alpha_1$, $\alpha_2$, $t_1$, and $t_2$ are design parameters governing the geometry of the TPMS configuration.
\subsection{Testing settings of High-Entropy Alloys}
\label{Testing_settings_HEA}
Nanoindentation of the newly designed high-entropy alloys (HEAs) was performed using an EVOHT iMicro platform (KLA) in continuous stiffness measurement (CSM) mode. The sample surface was ground to 7000 grit and subsequently polished with 2.5~µm and 0.05~µm suspensions to minimize surface roughness effects. Indents were conducted at a fixed peak load of 50~mN with a loading/unloading rate of 0.1~mN/s and a 5~s dwell at the maximum load. A Poisson’s ratio of 0.33 was used for data reduction.
Multiple independent indents produced highly overlapping depth-dependent hardness profiles, exhibiting a clear plateau with minimal scatter (Fig.\ref{fig:Depth–load}), demonstrating excellent repeatability across the tested area. Averaging the plateau region yields a hardness of 10.88~±~0.51~GPa, corresponding to 1028.7~±~47.6~HV.
\begin{figure}[h]
\centering
\includegraphics[width=0.7\columnwidth]{figs/Depth_Load_NatureStyle.png}
\caption{Depth–load curves measured from three independent nanoindentation experiments on the sample.
}
\label{fig:Depth–load}
\end{figure}
\section{Data}
\subsection{Triply periodic minimal surface structure}
\begin{longtable}{ccccc}
\caption{Sampled TPMS configurations and corresponding elastic modulus}
\label{tab:tpms_elasticity} \\
\toprule
$\alpha_1$ & $\alpha_2$ & $t_1$ & $t_2$ & Elastic Modulus (MPa) \\
\midrule
\endfirsthead
\toprule
$\alpha_1$ & $\alpha_2$ & $t_1$ & $t_2$ & Elastic Modulus (MPa) \\
\midrule
\endhead
0.814723686 & 0.185276314 & 0.405791937 & -0.373013184 & 1211.254428 \\
0.913375856 & 0.086624144 & 0.132359246 & -0.402459595 & 3110.245652 \\
0.965000000 & 0.035111465 & -0.342000000 & 0.470592782 & 7330.000000 \\
0.957166948 & 0.042833052 & -0.014624351 & 0.300280469 & 3945.858345 \\
0.792000000 & 0.207792670 & 0.459000000 & 0.155740699 & 347.000000 \\
0.679000000 & 0.321264845 & 0.258000000 & 0.243132468 & 250.000000 \\
0.392227020 & 0.607772980 & 0.155477890 & -0.328813312 & 1723.581917 \\
0.706046088 & 0.293953912 & -0.468167154 & -0.223077015 & 7914.498995 \\
0.695000000 & 0.305171377 & -0.183000000 & 0.450222049 & 2430.000000 \\
0.034446081 & 0.965553919 & -0.061255640 & -0.118441543 & 2383.051883 \\
0.765516788 & 0.234483212 & 0.295199901 & -0.313127395 & 1658.187107 \\
0.709000000 & 0.290635169 & 0.255000000 & -0.223974923 & 1560.000000 \\
0.679702677 & 0.320297323 & 0.155098004 & -0.337388265 & 2486.398868 \\
0.340385727 & 0.659614273 & 0.085267751 & -0.276188061 & 1647.683514 \\
0.751267059 & 0.248732941 & -0.244904885 & 0.005957052 & 5098.727230 \\
0.547000000 & 0.452784470 & -0.361000000 & -0.350705994 & 7030.000000 \\
0.257508254 & 0.742491746 & 0.340717256 & -0.245717821 & 1028.237170 \\
0.814284826 & 0.185715174 & -0.256475031 & 0.429263623 & 4614.914175 \\
0.349983766 & 0.650016234 & -0.303404750 & -0.248916142 & 4052.960534 \\
0.616044676 & 0.383955324 & -0.026711151 & -0.148340493 & 2900.128516 \\
0.830828628 & 0.169171372 & 0.085264091 & 0.049723608 & 2671.992089 \\
0.917193664 & 0.082806336 & -0.214160981 & 0.257200229 & 5628.939031 \\
0.753729094 & 0.246270906 & -0.119554153 & 0.067821641 & 3753.298235 \\
0.075854290 & 0.924145710 & -0.446049881 & 0.030797553 & 1064.928484 \\
0.779167230 & 0.220832770 & 0.434010684 & -0.370093792 & 1079.625037 \\
0.568823661 & 0.431176339 & -0.030609359 & -0.488097930 & 4844.727841 \\
0.311000000 & 0.688784958 & 0.028500000 & -0.334351271 & 2910.000000 \\
0.601981941 & 0.398018059 & -0.237028715 & 0.154079098 & 2946.282790 \\
0.689214503 & 0.310785497 & 0.248151593 & -0.049458401 & 1119.755026 \\
0.996000000 & 0.003865283 & -0.422000000 & -0.057321730 & 8560.000000 \\
0.106652770 & 0.893347230 & 0.461898081 & -0.495365776 & 5843.416050 \\
0.774910465 & 0.225089535 & 0.317303221 & 0.368694705 & 552.139576 \\
0.084435846 & 0.915564154 & -0.100217351 & -0.240129597 & 3422.942334 \\
0.800068480 & 0.199931520 & -0.068586173 & 0.410647594 & 2910.196962 \\
0.181847028 & 0.818152972 & -0.236197083 & -0.354461020 & 4950.841991 \\
0.550000000 & 0.450139798 & -0.355000000 & 0.353031118 & 1790.000000 \\
0.622055131 & 0.377944869 & -0.149047619 & 0.013249540 & 3107.607816 \\
0.401808034 & 0.598191966 & -0.424033308 & -0.260083846 & 6019.204325 \\
0.123318935 & 0.876681065 & -0.316092212 & -0.260047474 & 3898.131271 \\
0.945000000 & 0.055212810 & -0.009140000 & -0.010747362 & 3950.000000 \\
0.111000000 & 0.888797245 & 0.280000000 & -0.110261163 & 1480.000000 \\
0.241691286 & 0.758308714 & -0.096087854 & -0.403545475 & 4691.138795 \\
0.575208595 & 0.424791405 & -0.440220457 & -0.265220087 & 7202.226147 \\
0.353158571 & 0.646841429 & 0.321194040 & -0.484596562 & 2605.902790 \\
0.043023802 & 0.956976198 & -0.331009971 & 0.149115475 & 353.857606 \\
0.731722386 & 0.268277614 & 0.147745963 & -0.049076294 & 2000.823277 \\
0.547008892 & 0.452991108 & -0.203679194 & 0.244692807 & 1272.001670 \\
0.188955015 & 0.811044985 & 0.186775433 & -0.316488844 & 2951.653024 \\
0.487000000 & 0.513208368 & -0.064100000 & -0.053216251 & 1220.000000 \\
0.818000000 & 0.182372292 & 0.295000000 & 0.144318130 & 1210.000000 \\
\bottomrule
\end{longtable}
\begin{table}[htbp]
\centering
\caption{TPMS configurations recommended by Bgolearn across optimization iterations}
\label{tab:tpms_high_elasticity}
\begin{tabular}{cccccc}
\toprule
Iteration & $\alpha_1$ & $\alpha_2$ & $t_1$ & $t_2$ & Elastic Modulus (MPa) \\
\midrule
1st & 0.906051736 & 0.093948264 & -0.422657215 & -0.161465350 & 8156.984453 \\
1st & 0.954000000 & 0.045825544 & -0.468000000 & -0.143131014 & 8810.000000 \\
2nd & 0.990381201 & 0.009618799 & -0.466308207 & -0.075746730 & 8914.840133 \\
\rowcolor{gray!20}
2nd & 0.915991244 & 0.084008756 & -0.498848943 & -0.037550841 & \textbf{8945.424651} \\
\bottomrule
\end{tabular}
\end{table}
\subsection{High-entropy alloys}
\begin{longtable}{c ccccccc c ccccccc}
\caption{
Elemental compositions (at.\%) and Vickers hardness (HV) of
Al--Co--Cr--Cu--Fe--Ni alloys
}
\label{tab:al_co_cr_cu_fe_ni_hv}\\
\toprule
\textbf{ID} & Al & Co & Cr & Cu & Fe & Ni & HV &
\textbf{ID} & Al & Co & Cr & Cu & Fe & Ni & HV \\
\midrule
\endfirsthead
\toprule
\textbf{ID} & Al & Co & Cr & Cu & Fe & Ni & HV &
\textbf{ID} & Al & Co & Cr & Cu & Fe & Ni & HV \\
\midrule
\endhead
\midrule
\multicolumn{16}{r}{Continued on next page} \\
\bottomrule
\endfoot
\bottomrule
\endlastfoot
% ===================== 前半部分数据 =====================
\cellcolor{gray!20} 1 & 40 & 20 & 20 & 0 & 20 & 0 & 775 & \cellcolor{gray!20} 2 & 40 & 13.3 & 6.7 & 13.3 & 20 & 6.7 & 768 \\
\cellcolor{gray!20} 3 & 43 & 6 & 33 & 6 & 6 & 6 & 764 & \cellcolor{gray!20} 4 & 42.9 & 14.3 & 14.3 & 0 & 14.3 & 14.3 & 740 \\
\cellcolor{gray!20} 5 & 37.5 & 12.5 & 12.5 & 12.5 & 12.5 & 12.5 & 735 & \cellcolor{gray!20} 6 & 25 & 25 & 25 & 0 & 25 & 0 & 720 \\
\cellcolor{gray!20} 7 & 42.9 & 14.3 & 14.3 & 7.1 & 7.1 & 14.3 & 720 & \cellcolor{gray!20} 8 & 25 & 25 & 25 & 0 & 0 & 25 & 712 \\
\cellcolor{gray!20} 9 & 46.2 & 15.4 & 7.7 & 7.7 & 15.4 & 7.7 & 702 & \cellcolor{gray!20} 10 & 42.9 & 21.4 & 7.1 & 7.1 & 7.1 & 14.3 & 701 \\
\cellcolor{gray!20} 11 & 20 & 26.7 & 26.7 & 0 & 26.7 & 0 & 695 & \cellcolor{gray!20} 12 & 38.5 & 15.4 & 15.4 & 0 & 15.4 & 15.4 & 695 \\
\cellcolor{gray!20} 13 & 42.9 & 7.1 & 14.3 & 7.1 & 14.3 & 14.3 & 694 & \cellcolor{gray!20} 14 & 23.8 & 23.8 & 23.8 & 0 & 5 & 23.8 & 665 \\
\cellcolor{gray!20} 15 & 15 & 28.3 & 28.3 & 0 & 28.3 & 0 & 655 & \cellcolor{gray!20} 16 & 35.9 & 12.8 & 12.8 & 12.8 & 12.8 & 12.8 & 655 \\
\cellcolor{gray!20} 17 & 33.3 & 0 & 16.7 & 16.7 & 16.7 & 16.7 & 651 & \cellcolor{gray!20} 18 & 22.2 & 22.2 & 22.2 & 11.1 & 22.2 & 0 & 639 \\
\cellcolor{gray!20} 19 & 33.3 & 13.3 & 13.3 & 13.3 & 13.3 & 13.3 & 625 & \cellcolor{gray!20} 20 & 10 & 30 & 30 & 0 & 30 & 0 & 620 \\
\cellcolor{gray!20} 21 & 16.7 & 16.7 & 33.3 & 0 & 16.7 & 16.7 & 617 & \cellcolor{gray!20} 22 & 23.8 & 23.8 & 23.8 & 0 & 23.8 & 5 & 615 \\
\cellcolor{gray!20} 23 & 30.8 & 15.4 & 15.4 & 7.7 & 15.4 & 15.4 & 609 & \cellcolor{gray!20} 24 & 15.4 & 15.4 & 30.8 & 7.7 & 15.4 & 15.4 & 607 \\
\cellcolor{gray!20} 25 & 20 & 20 & 20 & 10 & 20 & 10 & 604 & \cellcolor{gray!20} 26 & 31.5 & 13.7 & 13.7 & 13.7 & 13.7 & 13.7 & 603 \\
\cellcolor{gray!20} 27 & 25 & 16.7 & 16.7 & 8.3 & 16.7 & 16.7 & 602 & \cellcolor{gray!20} 28 & 16.7 & 16.7 & 25 & 8.3 & 16.7 & 16.7 & 601 \\
\cellcolor{gray!20} 29 & 33.3 & 0 & 13.3 & 13.3 & 13.3 & 26.7 & 593 & \cellcolor{gray!20} 30 & 42.9 & 14.3 & 7.1 & 7.1 & 7.1 & 21.4 & 591 \\
\cellcolor{gray!20} 31 & 22.5 & 22.5 & 22.5 & 0 & 10 & 22.5 & 587 & \cellcolor{gray!20} 32 & 20 & 20 & 20 & 10 & 10 & 20 & 586 \\
\cellcolor{gray!20} 33 & 22.2 & 22.2 & 0 & 11.1 & 22.2 & 22.2 & 584 & \cellcolor{gray!20} 34 & 23 & 15 & 23 & 8 & 15 & 16 & 580 \\
\cellcolor{gray!20} 35 & 30.6 & 0 & 13.9 & 13.9 & 13.9 & 27.8 & 576 & \cellcolor{gray!20} 36 & 28.6 & 14.3 & 14.3 & 14.3 & 14.3 & 14.3 & 576 \\
\cellcolor{gray!20} 37 & 27.3 & 0 & 18.2 & 18.2 & 18.2 & 18.2 & 573 & \cellcolor{gray!20} 38 & 28.6 & 0 & 14.3 & 14.3 & 14.3 & 28.6 & 567 \\
\cellcolor{gray!20} 39 & 21.3 & 21.3 & 21.3 & 0 & 15 & 21.3 & 558 & \cellcolor{gray!20} 40 & 26.5 & 14.7 & 14.7 & 14.7 & 14.7 & 14.7 & 558 \\
\cellcolor{gray!20} 41 & 21.3 & 21.3 & 21.3 & 0 & 21.3 & 15 & 555 & \cellcolor{gray!20} 42 & 20 & 10 & 20 & 10 & 20 & 20 & 551 \\
\cellcolor{gray!20} 43 & 23.8 & 5 & 23.8 & 0 & 23.8 & 23.8 & 550 & \cellcolor{gray!20} 44 & 24.2 & 0 & 15.2 & 15.2 & 15.2 & 30.3 & 550 \\
\cellcolor{gray!20} 45 & 22.5 & 22.5 & 22.5 & 0 & 22.5 & 10 & 548 & \cellcolor{gray!20} 46 & 23.1 & 0 & 15.4 & 15.4 & 15.4 & 30.8 & 546 \\
\cellcolor{gray!20} 47 & 20 & 20 & 10 & 10 & 20 & 20 & 546 & \cellcolor{gray!20} 48 & 22.2 & 11.1 & 0 & 22.2 & 22.2 & 22.2 & 545 \\
\cellcolor{gray!20} 49 & 26.5 & 0 & 14.7 & 14.7 & 14.7 & 29.4 & 544 & \cellcolor{gray!20} 50 & 22.5 & 10 & 22.5 & 0 & 22.5 & 22.5 & 539 \\
\cellcolor{gray!20} 51 & 17.9 & 20.5 & 20.5 & 0 & 20.5 & 20.5 & 538 & \cellcolor{gray!20} 52 & 16.7 & 16.7 & 16.7 & 8.3 & 25 & 16.7 & 537 \\
\cellcolor{gray!20} 53 & 20 & 20 & 0 & 20 & 20 & 20 & 536 & \cellcolor{gray!20} 54 & 22.2 & 0 & 22.2 & 11.1 & 22.2 & 22.2 & 534 \\
\cellcolor{gray!20} 55 & 16.7 & 33.3 & 16.7 & 0 & 16.7 & 16.7 & 532 & \cellcolor{gray!20} 56 & 23.8 & 4.8 & 0 & 23.8 & 23.8 & 23.8 & 531 \\
\cellcolor{gray!20} 57 & 18.4 & 20.4 & 20.4 & 0 & 20.4 & 20.4 & 527 & \cellcolor{gray!20} 58 & 19.4 & 0 & 16.1 & 16.1 & 16.1 & 32.3 & 521 \\
\cellcolor{gray!20} 59 & 20 & 20 & 20 & 0 & 20 & 20 & 516 & \cellcolor{gray!20} 60 & 15.4 & 15.4 & 15.4 & 7.7 & 30.8 & 15.4 & 514 \\
\cellcolor{gray!20} 61 & 21.3 & 21.3 & 15 & 0 & 21.3 & 21.3 & 510 & \cellcolor{gray!20} 62 & 16.7 & 16.7 & 16.7 & 0 & 33.3 & 16.7 & 510 \\
\cellcolor{gray!20} 63 & 23.1 & 15.4 & 15.4 & 15.4 & 15.4 & 15.4 & 510 & \cellcolor{gray!20} 64 & 18.2 & 18.2 & 18.2 & 0 & 18.2 & 27.3 & 503 \\
\cellcolor{gray!20} 65 & 11 & 0 & 29 & 29 & 5 & 26 & 495 & \cellcolor{gray!20} 66 & 21.7 & 0 & 21.7 & 21.7 & 21.7 & 13 & 494 \\
\cellcolor{gray!20} 67 & 23.8 & 19 & 19 & 0 & 19 & 19 & 487 & \cellcolor{gray!20} 68 & 20.8 & 0 & 20.8 & 20.8 & 20.8 & 16.7 & 486 \\
\cellcolor{gray!20} 69 & 12 & 0 & 31 & 20 & 5 & 32 & 483 & \cellcolor{gray!20} 70 & 31 & 17.2 & 17.2 & 0 & 17.2 & 17.2 & 482 \\
\cellcolor{gray!20} 71 & 23.1 & 19.2 & 19.2 & 0 & 19.2 & 19.2 & 479 & \cellcolor{gray!20} 72 & 20 & 0 & 20 & 20 & 20 & 20 & 479 \\
\cellcolor{gray!20} 73 & 11 & 0 & 28 & 29 & 7 & 25 & 477 & \cellcolor{gray!20} 74 & 22.5 & 22.5 & 10 & 0 & 22.5 & 22.5 & 476 \\
\cellcolor{gray!20} 75 & 5 & 31.7 & 31.7 & 0 & 31.7 & 0 & 475 & \cellcolor{gray!20} 76 & 20.6 & 15.9 & 15.9 & 15.9 & 15.9 & 15.9 & 475 \\
\cellcolor{gray!20} 77 & 18.2 & 9.1 & 18.2 & 18.2 & 18.2 & 18.2 & 473 & \cellcolor{gray!20} 78 & 10 & 0 & 35 & 25 & 5 & 25 & 472 \\
% ===================== 后半部分数据 =====================
\cellcolor{gray!20} 79 & 12 & 0 & 31 & 21 & 5 & 31 & 469 & \cellcolor{gray!20} 80 & 11 & 0 & 28 & 27 & 6 & 28 & 469 \\
\cellcolor{gray!20} 81 & 13 & 0 & 28 & 22 & 6 & 31 & 459 & \cellcolor{gray!20} 82 & 10 & 0 & 35 & 26 & 5 & 24 & 454 \\
\cellcolor{gray!20} 83 & 16.7 & 25 & 16.7 & 8.3 & 16.7 & 16.7 & 451 & \cellcolor{gray!20} 84 & 11.8 & 0 & 29.4 & 0 & 44.1 & 14.7 & 450 \\
\cellcolor{gray!20} 85 & 10 & 0 & 35 & 24 & 5 & 26 & 441 & \cellcolor{gray!20} 86 & 23.8 & 23.8 & 5 & 0 & 23.8 & 23.8 & 438 \\
\cellcolor{gray!20} 87 & 25 & 25 & 0 & 0 & 25 & 25 & 430 & \cellcolor{gray!20} 88 & 18.2 & 18.2 & 18.2 & 18.2 & 18.2 & 9.1 & 423 \\
\cellcolor{gray!20} 89 & 18.2 & 18.2 & 18.2 & 18.2 & 9.1 & 18.2 & 418 & \cellcolor{gray!20} 90 & 20 & 20 & 20 & 20 & 0 & 20 & 415 \\
\cellcolor{gray!20} 91 & 19.2 & 0 & 19.2 & 19.2 & 19.2 & 23.1 & 408 & \cellcolor{gray!20} 92 & 16.7 & 0 & 16.7 & 16.7 & 16.7 & 33.3 & 392 \\
\cellcolor{gray!20} 93 & 15.8 & 21.1 & 21.1 & 0 & 21.1 & 21.1 & 388 & \cellcolor{gray!20} 94 & 16.7 & 20.8 & 20.8 & 0 & 20.8 & 20.8 & 382 \\
\cellcolor{gray!20} 95 & 11.1 & 0 & 22.2 & 22.2 & 22.2 & 22.2 & 382 & \cellcolor{gray!20} 96 & 20 & 26.7 & 0 & 0 & 26.7 & 26.7 & 380 \\
\cellcolor{gray!20} 97 & 16.7 & 0 & 55.6 & 0 & 0 & 27.8 & 371 & \cellcolor{gray!20} 98 & 18.5 & 0 & 18.5 & 18.5 & 18.5 & 25.9 & 370 \\
\cellcolor{gray!20} 99 & 18.2 & 18.2 & 9.1 & 18.2 & 18.2 & 18.2 & 367 & \cellcolor{gray!20} 100 & 18.2 & 27.3 & 0 & 18.2 & 18.2 & 18.2 & 366 \\
\cellcolor{gray!20} 101 & 16.7 & 16.7 & 16.7 & 8.3 & 16.7 & 25 & 358 & \cellcolor{gray!20} 102 & 15.3 & 0 & 16.9 & 16.9 & 16.9 & 33.9 & 339 \\
\cellcolor{gray!20} 103 & 14.9 & 21.3 & 21.3 & 0 & 21.3 & 21.3 & 338 & \cellcolor{gray!20} 104 & 16.7 & 16.7 & 16.7 & 0 & 16.7 & 33.3 & 335 \\
\cellcolor{gray!20} 105 & 13.8 & 0 & 17.2 & 17.2 & 17.2 & 34.5 & 315 & \cellcolor{gray!20} 106 & 15.4 & 15.4 & 15.4 & 7.7 & 15.4 & 30.8 & 310 \\
\cellcolor{gray!20} 107 & 6.3 & 0 & 31.3 & 0 & 46.9 & 15.6 & 304 & \cellcolor{gray!20} 108 & 15.4 & 30.8 & 15.4 & 7.7 & 15.4 & 15.4 & 295 \\
\cellcolor{gray!20} 109 & 12.3 & 0 & 17.5 & 17.5 & 17.5 & 35.1 & 290 & \cellcolor{gray!20} 110 & 8 & 17 & 17 & 8 & 17 & 33 & 280 \\
\cellcolor{gray!20} 111 & 10.7 & 0 & 17.9 & 17.9 & 17.9 & 35.7 & 278 & \cellcolor{gray!20} 112 & 13.8 & 17.2 & 17.2 & 17.2 & 17.2 & 17.2 & 273 \\
\cellcolor{gray!20} 113 & 15.4 & 15.4 & 15.4 & 0 & 15.4 & 38.5 & 265 & \cellcolor{gray!20} 114 & 16.7 & 33.3 & 0 & 16.7 & 16.7 & 16.7 & 249 \\
\cellcolor{gray!20} 115 & 14.3 & 14.3 & 14.3 & 0 & 14.3 & 42.9 & 242 & \cellcolor{gray!20} 116 & 9.1 & 0 & 18.2 & 18.2 & 18.2 & 36.4 & 238 \\
\cellcolor{gray!20} 117 & 11.1 & 0 & 22.2 & 0 & 22.2 & 44.4 & 229 & \cellcolor{gray!20} 118 & 12.5 & 12.5 & 12.5 & 0 & 12.5 & 50 & 225 \\
\cellcolor{gray!20} 119 & 9.1 & 18.2 & 18.2 & 18.2 & 18.2 & 18.2 & 207 & \cellcolor{gray!20} 120 & 14.3 & 28.6 & 0 & 0 & 28.6 & 28.6 & 205 \\
\cellcolor{gray!20} 121 & 7.4 & 0 & 18.5 & 18.5 & 18.5 & 37 & 200 & \cellcolor{gray!20} 122 & 5.7 & 18.9 & 18.9 & 18.9 & 18.9 & 18.9 & 185 \\
\cellcolor{gray!20} 123 & 0 & 25 & 25 & 25 & 0 & 25 & 183 & \cellcolor{gray!20} 124 & 0 & 23.8 & 23.8 & 23.8 & 5 & 23.8 & 182 \\
\cellcolor{gray!20} 125 & 0 & 33.3 & 16.7 & 16.7 & 16.7 & 16.7 & 175 & \cellcolor{gray!20} 126 & 0 & 16.7 & 33.3 & 16.7 & 16.7 & 16.7 & 172 \\
\cellcolor{gray!20} 127 & 0 & 22.5 & 22.5 & 22.5 & 10 & 22.5 & 172 & \cellcolor{gray!20} 128 & 0 & 21.3 & 21.3 & 21.3 & 15 & 21.3 & 171 \\
\cellcolor{gray!20} 129 & 0 & 22.5 & 22.5 & 22.5 & 22.5 & 10 & 170 & \cellcolor{gray!20} 130 & 0 & 28.3 & 28.3 & 0 & 28.3 & 15 & 170 \\
\cellcolor{gray!20} 131 & 5.7 & 0 & 18.9 & 18.9 & 18.9 & 37.7 & 170 & \cellcolor{gray!20} 132 & 5.3 & 21.1 & 21.1 & 0 & 26.3 & 26.3 & 168 \\
\cellcolor{gray!20} 133 & 0 & 21.3 & 21.3 & 21.3 & 21.3 & 15 & 167 & \cellcolor{gray!20} 134 & 14.3 & 42.9 & 0 & 14.3 & 14.3 & 14.3 & 166 \\
\cellcolor{gray!20} 135 & 3.8 & 0 & 19.2 & 19.2 & 19.2 & 38.5 & 162 & \cellcolor{gray!20} 136 & 0 & 21.3 & 15 & 21.3 & 21.3 & 21.3 & 161 \\
\cellcolor{gray!20} 137 & 0 & 15 & 21.3 & 21.3 & 21.3 & 21.3 & 158 & \cellcolor{gray!20} 138 & 0 & 22.5 & 10 & 22.5 & 22.5 & 22.5 & 158 \\
\cellcolor{gray!20} 139 & 0 & 16.7 & 16.7 & 16.7 & 16.7 & 33.3 & 158 & \cellcolor{gray!20} 140 & 0 & 16.7 & 16.7 & 16.7 & 33.3 & 16.7 & 157 \\
\cellcolor{gray!20} 141 & 0 & 20 & 20 & 20 & 20 & 20 & 155 & \cellcolor{gray!20} 142 & 0 & 25 & 0 & 25 & 25 & 25 & 154 \\
\cellcolor{gray!20} 143 & 0 & 23.8 & 5 & 23.8 & 23.8 & 23.8 & 153 & \cellcolor{gray!20} 144 & 0 & 10 & 22.5 & 22.5 & 22.5 & 22.5 & 150 \\
\cellcolor{gray!20} 145 & 7 & 0 & 23.3 & 0 & 23.3 & 46.5 & 149 & \cellcolor{gray!20} 146 & 0 & 5 & 23.8 & 23.8 & 23.8 & 23.8 & 146 \\
\cellcolor{gray!20} 147 & 0 & 0 & 25 & 25 & 25 & 25 & 143 & \cellcolor{gray!20} 148 & 0 & 26.7 & 26.7 & 0 & 26.7 & 20 & 140 \\
\cellcolor{gray!20} 149 & 0 & 25 & 25 & 0 & 25 & 25 & 139 & \cellcolor{gray!20} 150 & 7.7 & 30.8 & 0 & 0 & 30.8 & 30.8 & 135 \\
\cellcolor{gray!20} 151 & 8.6 & 22.9 & 22.9 & 0 & 22.9 & 22.9 & 131 & \cellcolor{gray!20} 152 & 9.1 & 22.7 & 22.7 & 0 & 22.7 & 22.7 & 127 \\
\cellcolor{gray!20} 153 & 0 & 20 & 20 & 0 & 20 & 40 & 125 & \cellcolor{gray!20} 154 & 2.4 & 24.4 & 24.4 & 0 & 24.4 & 24.4 & 118 \\
\cellcolor{gray!20} 155 & 5.9 & 23.5 & 23.5 & 0 & 23.5 & 23.5 & 110 & & & & & & & & \\
\end{longtable}
\newpage
\subsection{Medium-manganese steels}
\begin{table}[htbp]
\centering
\caption{Ultimate yield strength (YS, MPa) and total elongation (EL, \%) of Fe–0.3C–8Mn–2Al across 16 heat-treatment conditions.}
\label{tab:heat_treatment_mechanical_properties}
\resizebox{\textwidth}{!}{%
\begin{tabular}{ccccc}
\toprule
Austenitization Temperature ($^\circ$C) &
Annealing Temperature ($^\circ$C) &
Annealing Time (min) &
YS (MPa) &
TE (\%) \\
\midrule
700$ \pm$ 2 & 610$ \pm$ 2 & 30$ \pm$ 2 & 702$ \pm$ 14 & 27.4$ \pm$ 1.6 \\
700$ \pm$ 2 & 640$ \pm$ 2 & 60$ \pm$ 2 & 653$ \pm$ 20 & 18.4$ \pm$ 3.9 \\
700$ \pm$ 2 & 670$ \pm$ 2 & 90$ \pm$ 2 & 655$ \pm$ 7 & 26.9$ \pm$ 0.8 \\
700$ \pm$ 2 & 700$ \pm$ 2 & 120$ \pm$ 2 & 504$ \pm$ 7 & 11.6$ \pm$ 0.5 \\
760$ \pm$ 2 & 610$ \pm$ 2 & 60$ \pm$ 2 & 781$ \pm$ 10 & 31.7$ \pm$ 2.8 \\
760$ \pm$ 2 & 640$ \pm$ 2 & 30$ \pm$ 2 & 777$ \pm$ 14 & 46.6$ \pm$ 1.7 \\
760$ \pm$ 2 & 670$ \pm$ 2 & 120$ \pm$ 2 & 675$ \pm$ 13 & 39.1$ \pm$ 5.3 \\
760$ \pm$ 2 & 700$ \pm$ 2 & 90$ \pm$ 2 & 582$ \pm$ 14 & 17.7$ \pm$ 2.5 \\
820$ \pm$ 2 & 610$ \pm$ 2 & 90$ \pm$ 2 & 782$ \pm$ 13 & 30.9$ \pm$ 2.1 \\
820$ \pm$ 2 & 640$ \pm$ 2 & 120$ \pm$ 2 & 722$ \pm$ 1 & 51.2$ \pm$ 1.2 \\
820$ \pm$ 2 & 670$ \pm$ 2 & 30$ \pm$ 2 & 694$ \pm$ 2 & 61.5$ \pm$ 3.3 \\
820$ \pm$ 2 & 700$ \pm$ 2 & 60$ \pm$ 2 & 619$ \pm$ 1 & 35.6$ \pm$ 4.2 \\
880$ \pm$ 2 & 610$ \pm$ 2 & 120$ \pm$ 2 & 702$ \pm$ 8 & 34.2$ \pm$ 0.9 \\
880$ \pm$ 2 & 640$ \pm$ 2 & 90$ \pm$ 2 & 663$ \pm$ 9 & 50.9$ \pm$ 2.3 \\
880$ \pm$ 2 & 670$ \pm$ 2 & 60$ \pm$ 2 & 531$ \pm$ 9 & 57.1$ \pm$ 4.3 \\
880$ \pm$ 2 & 700$ \pm$ 2 & 30$ \pm$ 2 & 606$ \pm$ 12 & 48.5$ \pm$ 1.7 \\
\bottomrule
\end{tabular}}
\end{table}
\end{document}