Who is this class for?
This class covers broadly applicable mathematics and will be of interest to students who want to learn about methods and applications of (linear) optimization. If you are interested in linear algebra, you will see its methods extended and applied. If you are interested in optimization, you will learn methods that can be applied to huge problems. If you are interested in bringing theory into practice, this class will hit the spot.
How come I have never heard of linear programs and integer programs?
We don’t know, but if you don’t mind, we will take a guess. It may be because the topics do not necessarily belong to one particular concentration (classes like this have been taught in business schools, engineering, applied math, CS and operations research departments). Whatever the reason, linear programming and integer programming techniques are highly relevant, and we are here to teach them to you.
What exactly can the methods we learn do? Can you provide some examples of their uses?
Sure thing. Some examples:
- Optimal crew scheduling saves American airlines 20 million dollars per year
- Traffic control of Hanshin Expressway in Osaka, Japan saves 17 million driver hours per year
- Google PageRank– a tool for indexing the Web –is defined as a computation on a Markov chain.
- Optimal sourcing saves Procter & Gamble 100 million dollars per year.
- Many advances in medical decision making and robot navigation rely on the Markov decision process framework.
- Paired-kidney donation matching, potentially saving hundreds of lives.
I have already taken courses in linear algebra. Should I skip this class?
No. While linear algebra is used in developing some of the methods we cover, the theory and practice of linear programs and integer programs extend beyond linear algebra.
I know the basics of linear and integer programs. Should I skip this class?
Probably not. You will not just learn the semantics of linear and integer programs, but how to think about programs methodically and how to formulate models to solve the problems. In addition, you will be exposed to stochastic optimization through topics such as Markov chains and Markov decision processes.
I am interested in AM121, but also in Math 116, AM 221 and Engineering Sciences 210.
That’s great! As course descriptions are rather terse, we will help explain the similarities and differences between the courses. Not all of these courses are offered every year.
- Math 116: Real Analysis, Convexity and Optimization places emphasis is on techniques that can be illustrated geometrically in two or three dimensions, then generalized to infinite-dimensional vector spaces (whereas in AM/ES 121 we focus on the discrete case). Students will be asked to learn how to prove many of the key theorems; applications will be secondary. The text, Optimization by Vector Space Methods by Luenberger, assumes that the readers have had the benefit of a course in optimization theory like AM/ES 121. If you are a sophomore, you would probably benefit most by taking AM/ES 121 and returning to Math 116 next year.
- Applied Math 221: Advanced Optimization places emphasis is on convex optimization and combinatorial optimization. Linear programming is covered early in the term with a more theoretical treatment than what we discuss in AM/ES 121. The course is theoretically focused and concerns methods that are particularly useful for manipulating large amount of data. AM 221 is appropriate for graduate students and advanced undergraduates, and could be a follow up course to AM/ES 121.
- Engineering Sciences 210: Mathematical Programming. About a third of the course is on linear programming, and will have some overlap to AM/ES 121. The rest of the course ventures into topics such as unconstrained optimization and nonlinear programming that are not covered in AM/ES 121. The course emphasizes methods, and is less concerned with modeling than AM/ES 121 is. ES 210 is appropriate for graduate students and advanced undergraduates, and could be a follow up course to AM/ES 121.
Please contact the course staffs of AM/ES 121, Math 116, AM 221 and ES 210 if you have more questions.
What are the prerequisites for AM/ES 121?
Officially, Applied Mathematics 21b or Mathematics 21b (or Math 23, 25, 55) and some knowledge of probability and statistics at the level of Statistics 110 or Engineering Sciences 101. Unofficially, a strong desire to learn, some mathematical maturity, and comfort with computational tools will help. If you are unsure of whether you are well prepared for the course, we highly recommend you contact a member of the course staff, and just to come shop the class and see if it is for you.
What concentration requirements does AM/ES 121 satisfy?
This information changes from time to time, so it is best to check with your department.
- Applied Mathematics – Satisfies breadth requirement vi, Optimization.
- Computer Science – Satisfies technical elective requirement, but needs a petition.
- Engineering Sciences – Counts as an engineering elective towards concentration requirements.
How much time does AM/ES 121 take?
While a quick, initial glance at the schedule shows many problem sets and may inspire feelings of mild discomfort, we mean no harm. In fact, while we believe weekly problem sets are important for students to be actively and continuously engaged in the material, the assignments are of reasonable length, with a few of them being pair assignments (i.e. you can work with another student). So be prepared to put in the work to learn the material, but fear not of total domination (of your lives).
From teaching the course the past few years, we also learned what assignments worked or didn’t work, and which ones took longer than we had expected. We are tweaking these assignments and learning from our mistakes. Still, you should expect to allot 10 hours or so a week on the course outside of lecture. We also have a couple of suggestions that will reduce the amount of time it takes to learn the material:
- Attend all lectures and sections.
We understand the temptation to skip them here and there, but from our experience, students perform much better and have a much easier time with homework assignments when they have immersed themselves in the instructions.
- Make use of office hours.
When you have questions or get stuck on a problem, we don’t want you to bang your head against the wall. Instead, come to office hours. We will work with you to identify points of confusion and to clarify underlying concepts, so as to not only help you with the homework but to help you understand the material more deeply and develop your problem solving skills. We are a very dedicated course staff, so take advantage of our offerings!
- Use the course Piazza site.
The course staff expect you to have questions on lecture material and assignments, and we are here to help you answer them. By posting your questions to the Piazza site, you can expect a prompt response. By seeing others’ posts on Piazza, you may have your own problems answered. By answering others’ questions, you may learn the materials better. Importantly, all course related announcements will be made on Piazza.
How difficult is AM/ES 121?
Chances are that you will be seeing the methods for the first time. Learning new topics is challenging, and likewise rewarding. That said, the course is highly accessible by design, and the staff is here to lead you through it.
Can I take AM/ES 121 pass/fail?
Our general policy is no, simply because we believe a student won’t be well served by taking this class pass/fail. You will definitely learn more by immersing yourself in this course, in which case you may wish to take the course for a grade. We may allow exceptions in exceptional circumstances, so talk with the course staff.