Skip to content

sheikhahnaf/mobons

 
 

Repository files navigation

MOBONS: A Network-Based Approach to Multi-Objective Optimization

Network System

Illustration of a complex network system integrating process simulation, CFD, life cycle analysis (LCA), ecological modeling, and economic evaluation.

Overview

Designing modern industrial systems requires balancing competing objectives such as profitability, resilience, and sustainability, while accounting for complex technological, economic, and environmental interactions. Multi-objective optimization (MOO) methods help navigate these trade-offs, but selecting an appropriate solver is challenging, especially when system representations vary from white-box (equation-based) to black-box (data-driven) models.

MOBONS is a novel Bayesian optimization-inspired algorithm that unifies grey-box MOO through network representations, enabling flexible modeling of interconnected systems. Unlike traditional approaches, MOBONS:

  • Supports cyclic dependencies, allowing feedback loops, recycle streams, and multi-scale simulations.
  • Incorporates constraints while maintaining the sample efficiency of Bayesian optimization.
  • Enables parallel evaluations to improve convergence speed.
  • Leverages network structure for scalability beyond conventional MOO solvers.

Installation of dependencies:

To install the required packages, run the following command: pip install -r requirements.txt

Case Studies

At this time, our scripts only support the limiting case of handling directed acyclic graph (DAG), future release will contain extensions to generalized formulations from the paper. MOBONS is demonstrated on two case studies:

1. Synthetic ZDT4 Benchmark

ZDT4 Case Study

A widely used synthetic benchmark [1] for testing MOO algorithms. MOBONS effectively optimizes discontinuous, multi-modal landscapes where traditional solvers struggle. A comparison of the baseline algorithms [2,3] with MOBONS is performed to demonstrate the effectiveness of the network system perspective.

2. Sustainable Ethanol Production

Ethanol Case Study

This case models bioethanol production by integrating process simulation, and economic evaluation to optimize sustainability metrics. MOBONS outperforms conventional solvers by efficiently handling interdependent process models and dynamic trade-offs.

Running the Case Studies

To run the case studies, set an appropriate value of the variable example_name in the script performance_test_MOBO.py.

The interconnections of the network system for all the case studies in this work is defined in Objective_FN_MOBO.py.

References

[1] Eckart Zitzler, Kalyanmoy Deb, and Lothar Thiele. Comparison of multiobjective evolutionary algorithms: Empirical results. Evolutionary Computation, 8(2):173–195, June 2000.

[2] Samuel Daulton, Maximilian Balandat, and Eytan Bakshy. Differentiable expected hypervolume improvement for parallel multi-objective bayesian optimization. 2020.

[3] S. Ashwin Renganathan and Kade E. Carlson. qpots: Efficient batch multiobjective bayesian opti- mization via pareto optimal thompson sampling, 2023.

Citation

If you use MOBONS in your work, please cite our chapter. More details can be found in our full publication. For implementation related details, please refer to the documentation or contact us!

@misc{MOBONS2025,
  doi = {10.48550/ARXIV.2502.14121},
  url = {https://arxiv.org/abs/2502.14121},
  author = {Kudva,  Akshay and Tang,  Wei-Ting and Paulson,  Joel A.},
  keywords = {Machine Learning (stat.ML),  Artificial Intelligence (cs.AI),  Machine Learning (cs.LG),  FOS: Computer and information sciences,  FOS: Computer and information sciences},
  title = {Multi-Objective Bayesian Optimization for Networked Black-Box Systems: A Path to Greener Profits and Smarter Designs},
  publisher = {arXiv},
  year = {2025},
  copyright = {Creative Commons Attribution 4.0 International}
}



About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%