Automated optimisation techniques are central to many engineering disciplines, where they provide an excellent tool for design space exploration and finding the best design for a given set of requirements. Automation allows to explore many more potential solutions than what would be manually feasible for human engineers. As a result, much better (and sometimes surprising) solutions can be found using automated optimisation techniques than could be found by human engineers. A recent interesting application domain (one of many) is quantum computing, where the creation of programs can be effectively reframed as an optmisation problem.
In the context of digital twins there are even more applications of optimisation:
- if-what analysis uses search-based optimisation to find the optimal set of changes to a real-world asset or the optimal set of changes to a real-world process to achieve the best possible outcome (e.g., least cost, least risk, best product quality etc.).
- search-based calibration uses parameter sweeps and searches over model structures to match a simulation / digital twin as closely as possible to the reality it represents.
- generative social science builds simulation models to explore possible mechanisms that can explain observed social phenomena. It uses forms of search-based calibration to explore the space of possible mechanisms.
But using optimisation algorithms and tools well is difficult and requires a broad range of technical expertise. Model-driven engineering can help here by providing tools to make the description and execution of optimisation problems easier, including tieing them into the modelling and simulation capabilities of digital twins. We have developed the MDEOptimiser tool as a research foundation for exploring ways in which MDE can help with optimisation problems.
Search-based optimisation, one of the most flexible optimisation approaches, requires the definition of good problem encodings and mutation operators. We have found that model-driven engineering provides key benefits here by allowing encodings and smart mutation operators to be defined easily and efficiently, and in some cases even for optimal mutation operators to be generated automatically.
More research is required across the board, including in new application areas, new mechanisms for efficient encodings, mechanisms for hiding more of the technical complexity, or techniques for generating smarter, more efficient search operators and algorithms.
- We’re Not Gonna Break It! Consistency-Preserving Operators for Efficient Product Line ConfigurationIEEE Transactions on Software Engineering 49(3), 2023
- Automatic generation of atomic multiplicity-preserving search operators for search-based model engineeringSoftware and Systems Modelling, 2021
Conference and Workshop Papers
- Extended Abstract: We’re Not Gonna Break It! Consistency-Preserving Operators for Efficient Product Line ConfigurationIn Journal First track at SPLC’22, 2022
- Searching for Optimal Models: Comparing Two Encoding ApproachesIn Proc. 12th Int’l Conf. Model Transformations (ICMT’19), 2019
- Automatic Generation of Atomic Consistency Preserving Search Operators for Search-Based Model EngineeringIn IEEE / ACM 22nd Int’l Conf. Model Driven Engineering Languages and Systems (MODELS’19), 2019
- MDEoptimiser: A Search Based Model Engineering ToolIn Companion Proc. 21st ACM/IEEE Int’l Conf Model Driven Engineering Languages and Systems, 2018
- Henshin: A Model Transformation Language and its Use for Search-Based Model Optimisation in MDEOptimiserIn Modellierung 2018, Tutorials, 2018
- Deriving Persuasion Strategies Using Search-Based Model EngineeringIn 7th International Conference on Computational Models of Argument (COMMA’18), 2018
- Automatic generation of evolution rules for model-driven optimisationIn 8th International Workshop on Graph Computation Models (GCM’17), 2017
- Mejora de una representación genética genérica para modelosIn Actas de la XVII Conferencia de la Asociación Española para la Inteligencia Artificial (CAEPIA’16), 2016
- Towards Model-Based Optimisation: Using domain knowledge explicitlyIn Proc. Workshop on Model-Driven Engineering, Logic and Optimization (MELO’16), 2016
- Model Optimisation for Feature–Class allocation using MDEOptimiser: A TTC 2016 SubmissionIn Transformation Tool Contest, 2016
- Automatic Generation of Atomic Consistency Preserving Search Operators for Search-Based Model Engineering.2019