Module Review: CN5111 (AY19/20 Semester 2)

CN5111 Optimisation of Chemical Processes is a 4 MC Technical Elective (TE) non-pathway module which teaches optimisation programmes that are useful for Chemical Engineering (or engineering in general). The module makes use of EXCEL, MATLAB and GAMS as programming softwares to solve optimization problems.

This is a level-5000 module, so there will be both undergraduates and master students taking this module. Sooo, it'll be competitive!

(For this module, there is not much difference between a General Semester and this semester. Thus, I've decided to just write one general review for this module.)

Assessment
15% Quiz 1 (Open book, 30 mins, week 7 lecture)
15% Quiz 2 (Open book, 30 mins, week 12 lecture)
30% Individual Project
40% Group Project (Report + Presentation)

Lecturers: 
Prof Cindy Lee Lai Yeng (Weeks 1 - 6, 13)
Prof Wang Xiaonan (Weeks 7 - 13)

Textbooks/Readings
Edgar, Thomas - Optimisation of Chemical Processes, 2001

Reklaitis - Engineering Optimisation, 2006

There are two main textbooks for this module. Both are good references and online pdfs of these textbooks are available. I referred to the textbooks more during the first half of the semester. For the second half, I generally just referred to the lecture notes and online information about optimisation methods and the usage of GAMS.


Lectures
Well, this is a TE module and a night module. Lectures took place every Tuesday from 6 - 9 pm. For most sessions, the sessions will end around 8.30-ish. For this semester, the first half of the lectures were conducted face-to-face. Thereafter, subsequent lectures were all recorded webcasts (meaning, there are no zoom sessions and you can listen to the lectures anytime). There are recorded webcasts for all lectures (including the lectures in the first half of the module), so I would say it is not a must to attend the lectures physically. 

Hmmm, I would say that both lecturers are okay. Often, they are just reading off the slides. The content wise is really useful as the things taught are not applicable just for Chemical Engineering, but for many other processes in the world. The things covered included single/multi variable optimisation, mixed integer programming, multi-objective optimisation, stochastic programming and global optimisation. The main thing I don't like about this module is that many of these topics are just touch-and-go. We were taught the main gist of each type of programming but were not given in-depth knowledge/examples about them. Furthermore, many of the examples given in this module were also not related to Chemical Engineering but more on supply chain or problems in other aspects of the world. So, I feel that what I got away from this module is mainly the brief information about different types of programming and optimisation solvers but to be honest, I am not sure how to apply these concepts to Chemical Engineering per se (Previously, I think this module was taught by another Prof and I think it was more fruitful back then.)

As for practice problems for "tutorial", there were only 2 practice problems that were given in the first half of the semester by Prof Cindy. Those practice problems were useful in helping me understand the concepts better. Prof Cindy also went through these problems during the lecture. However, there were no practice problems for the second half of the semester where the concepts are naturally tougher and it's hard to see their application without enough examples given.

Quiz 1 & 2
The quizzes were conducted in Luminus due to the virus situation. I guess the quizzes will be conducted face-to-face in a normal semester. Similar to most online quizzes, the quizzes are forward moving, i.e. you can't go back to the previous question once you've clicked next, and the questions are randomised. Both quizzes were 30 mins long and had 15 MCQs/Fill-in-the-blanks questions. The first quiz was held in week 7 (during the lecture slot) and covered topics from weeks 1 - 5. The first quiz was set by Prof Cindy and it was really, really easy. As a result, the bell curve was real steep for this quiz as most of us got 14 or 15 marks. 
The second quiz was held in week 12 (during the lecture slot) and covered topics from weeks 7 - 11. This quiz was much tougher and trickier and require careful reading of the questions. Just remember that time management is rather important and it's best to only spend 2 minutes on each question.


Individual Project
The individual project is rather freestyle imo (and so is the group project). We were required to write a paper on: either reproducing the results of 1 scientific optimisation paper or raising 1 optimisation question by yourself and solving it. The optimisation problem had to be related to the concepts learnt in class. BUT since this project is sort of like a mid-term paper, we could only write on concepts learnt in the first half of the semester (which is actually easier haha). For me, referencing a scientific paper is relatively easier and that's why I chose to do the former. Quite a bit of reading is required for this because you have to choose a scientific paper that you could understand and solve at the same time. For me, I chose something that's on mixed integer programming (MIP). I spent quite a bit of time figuring out the code for the optimisation problem. We are allowed to use any software to solve the problem, i.e. EXCEL, MATLAB, GAMS or even python. I used GAMS because it is useful in tackling complex MIP problems. Prof Wang did spend one online lecture to explain the syntax of GAMS, so that lesson did help quite a bit. Once the code is completed, the report writing portion is pretty manageable. I took about 2 weeks-ish to complete this project and I would say is do-able once you can figure out the code.

Group Project
Now, for the group project. Well, for me, the group project was kind of a disaster. The group project was released on week 9 and was due on exam week 1 (we had an extension in deadline due to the whole circuit breaker issue). We were supposed to find optimisation-related issues that are related to Singapore working towards becoming a smart city. So, it could be issues like environmental (waste reduction, clean energy usage etc), social (decreasing income gap etc), or it could even be issues like reducing traffic congestion. We were pretty much left on our own too for this project imo. I guess it's because this is a level-5000 module. My group wasn't sure what we were gonna do, so we went with something relatively simple and thus, I didn't do very well in this project. 
On a side note, for this project, there is a mini presentation too that will be held on week 13. So, the 40% grade is split into 8% for the presentation and 32% for the report itself. For the presentation, the Profs just wanted to know the general idea behind the project itself. It is okay if your group hasn't come out with a solution yet for the problem. My group didn't do too bad for the presentation so thankfully (or not), we were only hit badly for the 32% report. Regardless, my advice would be to read up quite a bit on issues/scientific papers in relations to smart city (probably about other cities) and then see if you can apply it to Singapore's context. Do start the project early as it takes sometime to get the idea ready, plus the group would need to work out the coding too. I am not sure whether the same project topic will be used for future semesters but I feel that working on environmental issues is the slightly easier way in tackling this project.


Expected Grade: B+

Final Grade: B+


Final Comments
To be honest, I was expecting to perform worse than this as we did badly for the group project. Nevertheless, I think that it was my individual project that pulled me up to a B+. There are already notes in other senior blogs (which are better than mine although their notes are from a different Prof), so I would not be sharing mine.

I feel that you should only choose this TE if you already have a rather strong background in programming or are willing to spend quite a lot of time in the semester to self-study the concepts as well as coding. In my opinion, other than learning about GAMS, if you want to learn about concepts like stochastic programming, multi-objective optimisation, global optimisation etc, I feel that there are external courses (or possibly other modules in NUS (not too sure)) that cover these concepts better than this module. This is because we were only given a brief introduction to these concepts without actual practice in coding.

Stay tuned for more updates.

- Alan

No comments:

Post a Comment

Module Review: CN5111 (AY19/20 Semester 2)

CN5111 Optimisation of Chemical Processes is a 4 MC Technical Elective (TE) non-pathway module which teaches optimisation programmes that ...