MA3236 Non-Linear Programming

2 minute read


Academic Year 2023 - 2024
Semester 1

NUSMods Description

Optimisation principles are of undisputed importance in modern design and system operation. The objective of this course is to present these principles and illustrate how algorithms can be designed from the mathematical theories for solving optimisation problems. Major topics: Fundamentals, unconstrained optimisation: one-dimensional search, Newton-Raphson method, gradient method, constrained optimisation: Lagrangian multipliers method, Karush-Kuhn-Tucker optimality conditions, Lagrangian duality and saddle point optimality conditions, convex programming: Frank-Wolfe method.


This course was taught by Dr Lam Xin Yee. MA3236 is a very highly computational class, but it teaches you very nice numerical methods to solve non-linear programs. It has very high relevance to operations research and even supply chain management. There are emphasis on very theoretical concepts such as convexity. The class is split to Unconstrained Optimisation, Constrained Optimisation, numerical methods for solving them.

As far as I recall, the work for this class used up a lot of paper, since the calculations are very tedious. The homeworks take up 12 pages for me and there is very high tendancy for careless mistakes as well. One needs to have a good grasp of minimally multivariable calculus and maybe a bit of analysis (though it is not a requirement. Proofs requiring analysis were ommitted). Overall, I do not think the content is hard.

There is a computer assignment as well, which requires the use of MATLAB. Personally, I have never used MATLAB for coding before. I only used it for Linear Algebra operations (in MA2001). However, it only took me 5 hours to figure out how the file structure and execution sequence of MATLAB and also to complete the homework and writeup. Hence, it was not much of an issue.

I struggled very much for midterms. The midterms were not hard, but perhaps I was very nervous I made a lot of stupid mistakes. I got 29/50 which is like very below the median for the class. I took the midterm 15 minutes earlier than everyone as I had to rush to another venue for another midterm (CS2106). I was so distraught after I got my midterm results that I practiced very hard for finals. I am very glad my hardwork paid off for finals because I got an A for this class when I was expecting a B or a B-. The preparation of finals also took up a lot of paper. Maybe it is worth getting an iPad? I don’t know.