Homework repository for Igor and Mahmoud.

# Recent Commits

Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|

609f53c3ae07 | • tomic | Descriptions for "exercise1.py" and "benchmark1.py" have been added to the… | Oct 15 | ||||

168747f97444 | shaqfa | Mahmoud's Explination to the homework | Oct 14 | ||||

be8bd6a589a5 | shaqfa | Mahmoud's Explination to the homework | Oct 14 | ||||

609adc8cec20 | shaqfa | Exercise2 and Benchmark2 have been added | Oct 12 | ||||

c4b9a4b4cd7c | • tomic | Adding exercise 1 and benchmark 1 | Oct 12 | ||||

a1f1f8589c3d | • tomic | First change to the file | Oct 12 | ||||

a57c8bb24d2b | shaqfa | README First Commit | Oct 12 | ||||

a792a7d83454 | shaqfa | README First Commit | Oct 12 | ||||

6b408dbb0102 | shaqfa | help | Oct 10 |

# README.md

## Homework No. 1 - SP4E Course

Mahmoud Shaqfa, Igor Tomić

Ex.No.1 "Exercise1.py", includes an algorithm to find a minimum value of an objective function using the algorithm from the optimization library of Scipy module, while recording iteration steps and residuals in the appropriate matrixes. Finally, it plots the iterative steps across objective function's surface. The program can be run using the terminal command: python3 Exercise1.py

The file "Benchmark1.py" is a file to benchmark the solution of the problem from exercise 2, which is to find a minimum value of function using the Conjugate Gradient (CG) algorithm. Unlike the "Exercise2.py" where the CG algorithm is manually written, here the algorithm from the optimization library of Scipy module is used. The program can be run using the terminal command: python3 Benchmark1.py

Ex.No.2 "Exercise2.py", includes an algorithm for the Conjugate Gradient (CG) algorithm and plots the iterative steps over the objective's surface. The program can be run using the terminal command: python3 Exercise2.py.

The file "Benchmark2.py" is a file to benchmark the solution of the pre-proposed problem. This file is a direct application for a musical-inspired algorithm. It's a general algorithm that can solve any type of the optimization problems of any hardness. For more information about it refer to:

- Geem, Zong Woo, Joong Hoon Kim, and G. V. Loganathan (2001). "A new heuristic optimization algorithm: harmony search." Simulation 76.2: pp. 60-68.