Reference no: EM133037950
CSC372 Optimisation - Swansea University
Tasks
Consider the following specification for an optimisation problem.
Question 1. Implement all the functions f (x) and gi(x); ∀i ∈ [1, 4] independently, where each func- tion takes at least a Numpy array x. Each function should have an independent counter that represents how many times a respective function has been called (or in other words evaluated).
Question 2. Implement the Random Search (RS) method discussed in the lectures that can use the functions defined above and return an approximation of the optimum.
Question 3. Implement a stochastic global optimisation algorithm of your choice (selected from the algorithms covered in the course) that can use the functions defined above and return an approximation of the optimum solution x∗.
Question 4. For 21 repetitions of each of the algorithms implemented in 2 and 3, compare and com- ment on the performances of these optimisers with respect to the best known optimal function value f (x∗). The number of evaluations for each individual function f (x) or gi(x) that you are allowed at each instance of an optimisation is 4000 at most.
In this assignment, you must use Python 3.x to develop your code in a Jupyter notebook. Please note that you are allowed to use basic and advanced Python modules, such as Numpy, Scipy, Matplotlib, etc. However, the core of the algorithmic implementations must be your own: for instance, you cannot just use a module that already implements the algorithm you selected. If you are in doubt, please feel free to contact the module coordinator for clarifications.
1. Which stochastic optimiser did you choose (for Task 3)?
2. Why did you choose this optimiser?
3. What constraint handling method(s) are you using and why?
Learning Outcome 1: Demonstrate systematic understanding of fundamental concepts of optimisation prob- lems and algorithms.
Learning Outcome 2: Propose an appropriate method to solve an optimisation problem.
Learning Outcome 3: Develop appropriate software for solving an optimisation problem.
Learning Outcome 4: Critically evaluate performance of multiple competing optimisers, and communicate analysis.