Lecture: 9:30-11:00 AM Tue and Thu
Instructor: Shashi Prabh
Email: shashi.prabh@ahduni
Office: GICT 125
Office hour: Wednesdays 2-3 PM or by appointment
MAT142 Introductory Calculus or MAT 146 Intermediate Calculus
This is a first course on optimization methods. Theoretical foundations and several optimization algorithms will be introduced. However, optimization algorithms are the main focus of this course. The course will cover unconstrained optimization, constrained optimization, discrete optimization and stochastic optimization methods. Implementation of the algorithms in Julia language will be discussed.
The objectives of this course are to introduce the basics of optimization theory and some of the most heavily used optimization algorithms. Though the optimization methods had been used widely across all disciplines, they have gained extra attention due to the enormous success of the recent advancements in machine learning. This course is intended for those students who are using optimization methods or might use them in future and wish to understand their internals.
Students will be able to
Understand the fundamentals of optimization methods
Apply appropriate optimization algorithm to solve a problem
Implement optimization algorithms
Gradient descent, Second order methods, Constrained optimization, Discrete optimization, Stochastic optimization; Linear algebra review, Julia programming.
Algorithms for Optimization, Mykel J. Kochenderfer, Tim A. Wheeler, MIT Press, 2019. ISBN: 0262039427
A First Course in Optimization Theory, Rangarajan K. Sundaram, Cambridge University Press, 1996. ISBN:
0521497701
Think Julia: How to Think Like a Computer Scientist, Ben Lauwens and Allen Downey, O'Reilly, 2019. ISBN:
9352138295
Quizzes (2): 10%
Assignments (6): 20%
Mid-term exam: 35%
Final exam: 35%
Pay attention and take notes! Get doubts cleared during the lecture itself -- do not hesitate to ask questions in class. Before coming to a lecture review your notes and scan the portion of the textbook that will be covered (see the course calendar page here). Do assignments on your own. If you happen to miss some session(s), do talk to someone in the class or the TA to find out the topics covered and any announcement made.