![MOSA](https://raw.githubusercontent.com/rgaveiga/mosa/refs/heads/main/mosa.png)

# Multi-Objective Simulated Annealing (MOSA)

Simulated Annealing (SA) has been initially proposed in 
[*Optimization by Simulated Annealing*](https://doi.org/10.1126/science.220.4598.671) as 
an optimization heuristic. Multi-objective Simulated Annealing (MOSA) extends the original, 
single-objective SA to approximate the Pareto front in multi-objective optimization problems. 

A comprehensive discussion on MOSA and its algorithm variants can be found in 
[*Multi-objective Simulated Annealing: Principles and Algorithm Variants*](https://doi.org/10.1155/2019/8134674).

If you have any questions, corrections, comments or suggestions, just 
[drop a message](mailto:roberto.veiga@ufabc.edu.br).

You can also reach me on [Linkedin](https://www.linkedin.com/in/roberto-gomes-phd-8a718317b/) or 
follow me on [X](https://x.com/rgaveiga). When I have some free time, which is rare, I publish articles 
on [Medium](https://medium.com/@rgaveiga).

If you want to support this and other open source projects that I maintain, become a 
[sponsor on Github](https://github.com/sponsors/rgaveiga).

## Installation

The easiest way to install MOSA is using **pip**:

```
pip install mosa
```

## Documentation

You can access the API documentation for **MOSA** on the 
[project's GitHub Pages site](https://rgaveiga.github.io/mosa).

## Contribution

Contributions are definitely welcome. However, it should be mentioned that this repository uses 
[poetry](https://python-poetry.org/) as a package manager. 

Source code must be formatted using [black](https://github.com/psf/black).

## Disclaimer

The code is provided "as is," with no guarantees regarding the accuracy of its results. The 
author assumes no responsibility for any losses arising from the use of the code. 

Bugs must be reported as issues on the 
[project's GitHub repository](https://github.com/rgaveiga/mosa).
