Implementation of the LM-Q-NWT Algorithm proposed in
If you have used our code for research purposes, please cite the publication mentioned above. For the sake of simplicity, we provide the Bibtex format:
@Article{Lapucci2023,
author={Lapucci, Matteo and Mansueto, Pierluigi},
title={A limited memory Quasi-Newton approach for multi-objective optimization},
journal={Computational Optimization and Applications},
year={2023},
month={Mar},
day={02},
issn={1573-2894},
doi={10.1007/s10589-023-00454-7},
url={https://doi.org/10.1007/s10589-023-00454-7}
}
In order to execute the code, you need an Anaconda environment and the Python package nsma installed in it. For a detailed documentation of this framework, we refer the reader to its GitHub repository.
For the package installation, open a terminal (Anaconda Prompt for Windows users) in the project root folder and execute the following command. Note that a Python version 3.9 or higher is required.
pip install nsma
In order to run some parts of the code, the Gurobi Optimizer needs to be installed and, in addition, a valid Gurobi licence is required.
In parser_management.py
you can find all the possible arguments. Given a terminal (Anaconda Prompt for Windows users), an example of execution could be the following.
python main.py --algs LMQNWT --probs JOS --seeds 16007 --num_trials 100 --max_time 2 --plot_pareto_front --plot_pareto_solutions --general_export --export_pareto_solutions
If you have any question, feel free to contact me:
Pierluigi Mansueto
Global Optimization Laboratory (GOL)
University of Florence
Email: pierluigi dot mansueto at unifi dot it