Spring 2020
Prof G.R.Shevare, Prof Abhijit Gogulapati
Author: Dhruv Jain
Pre-requisite courses: None
Pre-requisite skills: Some basic coding knowledge is required, but even if some of the people in the team have, its fine. Basic familiarity with probability and some statistics (Not much)
Course Content:
- Types of optimization algorithms
- Problem Formulation, Objective Function and Decision Variables
- Kuhn Tucker conditions, Stopping criteria
- Constrained and Unconstrained optimization techniques ( Numerical )
- Direct Search methods
- Conjugade Gradient, Steepest Descent
- Newton’s techniques
- Simulated Annealing, Genetic Techniques
- Min-Max Optimization, Penalty Functions
- Lagrange Multipliers
- Introduction to Multidisciplinary Design Optimization
Motivation to take up the course: General Interest and fascination with optimization algorithms, logic, maths and some of the implementations of the same.
Information about Projects/Assignments:
One major team project(Typically of ~7-8 people): Formulate your own (Preferably constrained optimization) multi dimensional problem statement given some restrictions, implement the methods and algorithms taught and any other exploratory techniques you can/want to in order to find the optimal conditions. Ideally, it should take some practical application as an inspiration(Eg: Uniform illumination spatial coordinates of a bulb in a room, Optimal queuing with several variables) It will be reviewed at several stages throughout the semester by the instructors and their assistants. 3-4 different presentations throughout the semester, at different levels of the project( Problem explanation, Proof of concept/Workflow stage, Code and Results Review), very comprehensive hands-on experience with a lot of freedom for people interested to really explore a particular process. Special emphasis was paid to ensure everyone was involved in the project. Overall weightage was supposed to be ~40-50% but might have been increased due to COVID-19
Quizzes/Midsem/Endsem papers Difficulty: 3/5
Overall Course Difficulty: Moderate
Average Time Commitment: (Apart from lectures and tutorials) Between 3-6 hrs
Attendance Policy: No Attendance Policy.
General funda: Get a good team for the project, work on it before hand while not leaving it for too late, the content itself is not particularly hard to digest and is quite fascinating if it interests you. It’s a relatively comfortable course to get through
Our Team Project Links: Report: https://docs.google.com/document/d/1g0b5yqa4p4WfdIT6sbn5pMf2OueRtm2NMZ11bwGwsPY/edit?usp=sharing PPT: https://docs.google.com/presentation/d/1dQ-lspxKcAU9xV08PNfHu-RmHlZRDCBqChnC_pPNWs0/edit?usp=sharing Don’t have links for the slides, no reference book used
Grading stats: 28 AAs, 17 ABs, 10 BBs, 7 BCs, 1 CC, 1 PP (COVID Effect)
Professor’s Teaching Style: Most of the work was done while working on the project, the lecture slides itself are sufficiently understandable. The lectures did witness relatively lower attendance under normal lectures ( Not project reviews ) in lieu of the attendance policy,
Should you do this course?: As I mentioned, anyone with interest in algorithmic processes and thinking and/or interest in maths and optimization should like this course. Also people wanting to work on a project should enjoy this as it focuses a lot on the project. The content does not really need any prerequisites and can serve as a launching pad if someone wishes to take more advanced courses on the subject in, for instance, IEOR. I felt the effort to reward ratio was on the lower side, due to both COVID and the content being relatively easy to consume, while also being interesting.