This is my personal repository for E0: 230:Computational Method of Optimization by Prof. Chianjib Bhattacharya at IISc Bengaluru. It is a course on mathematical optimization offered by the computer science department. You can find my codes and assignment solution along with class notes. Feel free to fork and use. Don't hesitate to report mistakes if you find them in the documents.
Highlights of crucial optimization algorithms and tactics along with their real-world applications:
R. Fletcher: Practical Methods of Optimization (Volume 1 &2)
David G. Luenberger, Yinyu Ye: Linear and Nonlinear Programming
Yu. Nesterov: Introductory Lectures on Convex Programming
Objective function
Constrain:
Find
pick
Pick another
return
⭐
Quadratic form and closed form solution:
Computational complexity:
Descent-based algorithm for approximately searching the minima:
Exact line search: Kantarovich inequality
Bounded Hessian Quadratic functions:
Ineaxct line search: Goldstein and Wolfe condition
⭐ Coordinate descent algorithm Criteria for convergence of coordinate descent algorithms
⭐ Conjugate descent algorithm:
Algorithm for Q-conjugate
Determining Q-conjugate vectors
Expanding subspace theorem
Faster convergence for the structured eigenvalue of the Q matrix
Case of distinct eigenvalue of Q.
Polynomial method for conjugate descent
The case of Clustered eigenvalue
⭐ Newton's Methods
Region of positive definite Hessian
Newton's region and convergence criteria
⭐ Quasi-Newton Methods
Rank-1 update technique
Rank-2 update technique
BFGS technique
Broyden Family
Projection into a convex set
Separating Hyper space theorem
Optimization under Inequality constraints:
Farkas Lemma
KKT condition as a necessary condition for minima
⭐ Projected Gradient Descent
⭐ Active set method