============ Introduction ============ ``LibMOON`` is a multiobjective optimization framework that spans from single-objective optimization to multiobjective optimization. It aims to enhance the understanding of optimization problems and facilitate fair comparisons between MOO algorithms. Supported Benchmark Datasets ============================ +------------------------------------------------------------------------------------------------------------------------------------+--------------------+---------------------------------------------------------+ | Datasets | Problems | Project/Code | +====================================================================================================================================+====================+=========================================================+ | `ZDT `_ | Synthetic | `Project `_ | +------------------------------------------------------------------------------------------------------------------------------------+ | | | `DTLZ `_ | | | +------------------------------------------------------------------------------------------------------------------------------------+ | | | `MAF `_ | | | +------------------------------------------------------------------------------------------------------------------------------------+ +---------------------------------------------------------+ | `WFG `_ | | `Code `_ | +------------------------------------------------------------------------------------------------------------------------------------+ | | | `Fi's `_ | | | +------------------------------------------------------------------------------------------------------------------------------------+ | | | `RE `_ | | | +------------------------------------------------------------------------------------------------------------------------------------+--------------------+---------------------------------------------------------+ | `MO-MNISTs `_ | Multitask Learning | `COSMOS `_ | +------------------------------------------------------------------------------------------------------------------------------------+ | | | `Fairness Classification `_ | | | +------------------------------------------------------------------------------------------------------------------------------------+ | | | `Federated Learning `_ | | | +------------------------------------------------------------------------------------------------------------------------------------+ +---------------------------------------------------------+ | `Synthetic (DST, FTS...) `_ | |`Project `_ | +------------------------------------------------------------------------------------------------------------------------------------+ +---------------------------------------------------------+ | `Robotics (MO-MuJoCo...) `_ | | `Code `_ | +------------------------------------------------------------------------------------------------------------------------------------+--------------------+---------------------------------------------------------+ | `Real-world Multi-objective Optimization Problem Suite `_ | Real World | `Project `_ | +------------------------------------------------------------------------------------------------------------------------------------+--------------------+---------------------------------------------------------+ Supported Algorithms ==================== ``LibMOON`` supports the following algorithms: +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ | Method | Property | #Obj |Support |Venues |Complexity |Arguments | +===================================================================================================================+========================================================================+=====================+============+=============+=====================+===================+ |`EPO `_ | Exact solution. | Any |Yes |ICML 2020 |:math:`O(m^2 n K)` |``EPOSolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ |`HVGrad `_ | It is a gradient-based HV method. | 2/3 |Yes |CEC2023 |:math:`O(m^2 n K^2)` |``HVGradSolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ |`MGDA-UB `_ | Arbitray Pareto solutions. Location affected highly by initialization. | Any |Yes |NeurIPS 2018 |:math:`O(m^2 n K)` |``MGDAUBSolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ |`MOO-SVGD `_ | A set of diverse Pareto solution. | Any |Yes |NeurIPS 2021 |:math:`O(m^2 n K^2)` |``MOO-SVGDSolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ |`PMGDA `_ | Pareto solutions satisfying any preference. | Any |Yes |TETCI |:math:`O(m^2 n K)` |``PMGDASolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ |`PMTL `_ | Pareto solutions in sectors. | 2. 3 is difficult. |Yes |NeurIPS 2019 |:math:`O(m^2 n K^2)` |``PMTLSolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ |`Agg-LS `_ | Pareto solution with aggregations. | Any |Yes |Any |:math:`O(m n K )` |``GradAggSolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ | `Agg-Tche `_ | Pareto solution with aggregations. | Any |Yes |Any |:math:`O(m n K )` |``GradAggSolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ | `Agg-mTche `_ | Pareto solution with aggregations. | Any |Yes |Any |:math:`O(m n K )` |``GradAggSolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ | `Agg-PBI `_ | Pareto solution with aggregations. | Any |Yes |Any |:math:`O(m n K )` |``GradAggSolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ |`Agg-COSMOS `_ | Approximated exact solution. | Any |Yes |ICDM 2021 |:math:`O(m n K )` | ``GradAggSolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ | `Agg-SmoothTche `_ | Pareto solution with aggregations. | Any |Yes |Any |:math:`O(m n K )` |``GradAggSolver`` | +-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------+---------------------+------------+-------------+---------------------+-------------------+ Here, :math:`m` is the number of objectives, :math:`K` is the number of samples, and :math:`n` is the number of decision variables. For neural network based methods, :math:`n` is the number of parameters; hence :math:`n` is very large (>10000), :math:`K` is also large ( e.g., 20-50), while :math:`m` is small (2.g., 2-4). As a result, :math:`m^2` is not a big problem. :math:`n^2` is a big problem. :math:`K^2` is a big problem. +-----------------------------------------------------------------------+---------------------------------------------+---------------------------------------+---------------------------+ |Method |Problems | Property |Arguments | +=======================================================================+=============================================+=======================================+===========================+ | `EPO-based PSL `_ |Pareto set learning Solvers |Exact solutions |``EPO-based PSL`` | +-----------------------------------------------------------------------+ +---------------------------------------+---------------------------| | `Aggregation-based PSL `_ | |Minimal aggregation function solutions |``Agg-based PSL`` | +-----------------------------------------------------------------------+ +---------------------------------------+---------------------------+ | `PMGDA-based PSL `_ | | Specific solutions |``PMGDA-based PSL`` | +-----------------------------------------------------------------------+ +---------------------------------------+---------------------------+ | `Evolutionary PSL `_ | | Mitigate local minima by ES |``Evolutionary-based PSL`` | +-----------------------------------------------------------------------+ +---------------------------------------+---------------------------+ | `LoRA PSL `_ | | Light model structure |``LoRA-based psl`` | +-----------------------------------------------------------------------+---------------------------------------------+---------------------------------------+---------------------------+ | `Tch-LCB `_ |MultiObjective Bayesian Optimization Solvers | |``PSLMOBOSolver`` | +-----------------------------------------------------------------------+ +---------------------------------------+---------------------------+ | `DirHV-EI `_ | | |``PSLDirHVEISolver`` | +-----------------------------------------------------------------------+ +---------------------------------------+---------------------------+ | `DirHV-EGO `_ | | |``DirHVEGOSolver`` | +-----------------------------------------------------------------------+---------------------------------------------+---------------------------------------+---------------------------+ Citation ======== If you find ``LibMOON`` useful for your research or development, please cite the following: .. code-block:: python @article{xzhang2024libmoon, title={LibMOON: A Gradient-based MultiObjective OptimizatioN Library in PyTorch}, author={Xiaoyuan Zhang and Liang Zhao and Yingying Yu and Xi Lin and Zhenkun Wang and Yifan Chen and Han Zhao and Qingfu Zhang}, journal={arXiv preprint arXiv:2409.02969}, year={2024}, url={https://arxiv.org/abs/2409.02969} } Contributors ============ ``LibMOON`` is developed by the following contributors: - `Xiaoyuan Zhang `_ (Maintainer of Pareto set learning, gradient-based solver) - `Liang Zhao `_ (Maintainer of MOBO) - `Yingying Yu `_ (Software design) - `Xi Lin `_ (Software design) Contact Us ========== - If you have any question or suggestion, please feel free to contact us by raising an issue or sending an email to ``xzhang2523-c@my.cityu.edu.hk``. Advisory Board ============== - Prof. `Qingfu Zhang `_ (FIEEE, City University of Hong Kong, **Corresponding**) - Prof. `Han Zhao `_ (University of Illinois at Urbana-Champaign) - Prof. `Yifan Chen `_ (Hong Kong Baptist University) - Prof. `Ke Shang `_ (Shenzhen University) - Prof. `Genghui Li `_ (Shenzhen University) - Prof. `Zhenkun Wang `_ (Southern University of Science and Technology) - Prof. `Tao Qin `_ (Microsoft Research)