Integer/Discrete Optimization with Simulated Annealing

Turning MATLAB's Simulated Annealing to Integer/Discrete Optimization
404 descargas
Actualizado 27 Aug 2019

Ver licencia

PLEASE USE THIS FILE ONLY IF YOU HAVE A GOOD GENERAL IDEA ABOUT YOUR OPTIMIZATION PROBLEM OTHERWISE THIS MAY NOT HELP YOUR PROBLEM.

This code customizes simulated annealing into an integer/discrete (can be adjusted) optimization. Hence, it relies on MATLAB's simulated annealing algorithm. Please make sure you have the appropriate toolboxes.

Please read the comments within the "SAIntegerOptim" very carefully. This is the code that you need to run.
You may want to adjust the other files too.

This submission demonstrates how to turn the MATLAB's "simulannealbnd" into an integer/discrete optimizer with an example. The example has some special condition!!!
There are a few advantages to this, however your optimization problem may not benefit from this advantages. That is why you need to know the optimization problem really good.

Perhaps some of the fundamental things/conditions to consider before using this demonstration:

1- You know that the global minimum of the objective function is exactly at some integer/discrete location of the solution space (This is the case for this demonstration, where global minimum is at [0,0]).

2- You can sacrifice decimal accuracy of solution space for speed so you can run the SA a few times to make sure it is not stopped at some local minima (this was the case with my project which led to this code, as I was working on image pixels that are obviously integers).

3- Acquiring a quick and close initial seed helps your optimization.

If you need one of the above then this may help you.

PLEASE BE AWARE YOU STILL NEED TO TAILOR THE CODE ACCORDING TO YOUR OPTIMIZATION PROBLEM (that only you know about). I tried to simplify things in the code as much as could.

Good luck
Sal

Citar como

Salaheddin Hosseinzadeh (2024). Integer/Discrete Optimization with Simulated Annealing (https://www.mathworks.com/matlabcentral/fileexchange/72539-integer-discrete-optimization-with-simulated-annealing), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2019a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Simulated Annealing en Help Center y MATLAB Answers.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
1.0.0