/SPGD-Search-Party-Gradient-Descent-algorithm

SPGD: Search Party Gradient Descent algorithm, a Simple Gradient-Based Parallel Algorithm for Bound-Constrained Optimization. Link: https://www.mdpi.com/2227-7390/10/5/800

Primary LanguageJupyter Notebook

SPGD: Search Party Gradient Descent algorithm, a Simple Gradient-Based Parallel Algorithm for Bound-Constrained Optimization

Read the paper for a clear understanding of how the algorithm works. Paper Link: https://www.mdpi.com/2227-7390/10/5/800

What is Optimization (Video Explanation): https://www.youtube.com/watch?v=Gu7si5T0z_w

If you find this algorithm useful, kindly consider citing my paper. Syed Shahul Hameed, A. S., & Rajagopalan, N. (2022). SPGD: Search Party Gradient Descent Algorithm, a Simple Gradient-Based Parallel Algorithm for Bound-Constrained Optimization. Mathematics, 10(5), 800.

This is a preliminary code written for the SPGD paper. The code is not efficient and has lots of room for improvement. We plan to release an updated version of this code in the future.

The benchmark functions are listed out at the top of the jupyter notebook. Any one of the benchmark functions can be executed, and then the functions of the SPGD algorithm can be executed to see how it performs.

By default 50 times SPGD is executed on the chosen benchmark functions, so that statistical results (like mean, best, worst) can be obtained.

The python code for the benchmark functions were taken from this repository: https://github.com/nathanrooy/landscapes/blob/master/landscapes/single_objective.py