SBArchOpt: Surrogate-Based Architecture Optimization
Jasper Bussemaker · The Journal of Open Source Software · 2023
In engineered systems, the architecture of a system describes how the components of a system work together to fulfill the system functions and meet stakeholder expectations (Crawley et al., 2015).As the architecture is developed in early conceptual design stages, decisions involving architecture often have a large influence on final system performance, for example, in terms of how well the functions are fulfilled, or at what cost and in what timeframe.However, architecture design spaces (i.e., the set of all possible architecture alternatives) can be very large due to the combinatorial nature of architecture decisions, making it infeasible to compare all alternatives to each other.Additionally, for new systems there might not be any prior experience to start from, requiring the use of (typically) computationally-expensive physics-based simulation to estimate system performance.