This repository contains assignments for the course "Convex Optimisation" and the implementation of different related algorithms in Python/Jupyter Notebook.
This assignment covers the topic of Taylor's Approximation and Unconstrained Optimisation. The goal of this assignment is to understand the method to solve taylor approximation and an unconstrained optimisation problem and implement them in Python. The following methods are implemented:
- Linear and Quadratic approximation
- Line Search Subroutine
- Combinational Descent
This assignment covers the topic of Constrained Optimisation. The goal of this assignment is to understand the method to solve a constrained optimisation problem and implement them in Python. The following methods are implemented:
- Barrier Method
- Line Search Subroutine
- Newton Descent
- Interior Point Method
The assignments are implemented in Jupyter Notebook. To run the notebooks, make sure you have Jupyter installed and then running in VSCode.
The following dependencies are required to run the code in the notebooks:
NumPy
Matplotlib
Numdifftools
CVXPY