Foundations of Prescriptive Analytics

Professor: Serdar Kadioglu |
Teaching Assistant: Rigel Galgana |
Mailing Lists: {cs2951ostudent, cs2951oheadtas, cs2951otas}
Class Hours: Fri 3pm - 5:20pm
Class Room: CIT 316
Office Hours: Fri 1pm - 2pm (Serdar CIT 249) | Wednesday 6-8 (Rigel CIT 207)
Syllabus: Course Syllabus
Piazza: Signup | Course Piazza
Academic Code: Academic Honor Code

CS2951-O Logo

We are undoubtedly in the middle of an Analytics Revolution that enabled turning huge amounts data into insights, and insights into predictions about the future. At the final frontier, Prescriptive Analytics aims to identify the best possible outcome given a certain objective function and a set of constraints. With that goal in mind, this course provides students with a comprehensive overview of the theory and practice of how to apply Prescriptive Analytics through optimization technology. A wide variety of state-of-the-art techniques are studied including: Boolean Satisfiability, Constraint Programming, Linear Programming, Integer Programming, Local Search Meta-Heuristics, and Large-Scale Optimization.

The students are exposed to the industrially relevant software packages such as IBM Optimization Studio. The practical challenges encountered in implementing such systems are also explored. Additionally, the life-cycle of decision support systems is discussed and problems from real-life application domains such as planning, scheduling, resource allocation, supply-chain management, and logistics are addressed.

Course Objectives

The primary goal of this course is to introduce the fundamental ideas behind optimization technology to the extent that you can utilize this knowledge to build your own solvers based on various paradigms. Both complete and incomplete search methods, particularly tree-search and heuristic techniques will be covered in order to present different trade-offs. By the end of this course you will be able to transform a given optimization problem into analytical models with complementary strengths, and then, tackle it using off-the-shelf general purpose solvers and/or writing your own custom solutions. This course shall also complement descriptive and predictive analytics as it connects data-centric approaches with their optimum decision-making counterpart.

Inclusive Course Goals

To ensure that students are able to plan around conflicts and obligations without adversely impacting their grades, we aim to set deadlines that plan around student obligations as best we can and provide extensions when appropriate. To ensure that students can voice their own concerns about the course, we aim to hold sufficient office hours and make it clear to whom students can go and how to voice their concerns.


  • [Apr 24] Industry Talk: Down Dog App Constraint Programming for Yoga Poses
  • [Apr 17] Project - V: Transporation & Logistics is out! Due date is May 13th, 10PM
  • [Apr 17] Lecture X: Local Search Metaheuristics
  • [Apr 10] Lecture - IX: Integer Programming
  • [Apr 3] Project - III: Supply Chain Management is out! Due date is April 17th, 10PM
  • [Apr 3] Lecture - VIII: Linear Programming
  • [Mar 27] Spring Break: No Lecture
  • [Mar 20] March 20th, Friday: No Lecture
  • [Mar 13] March 13th, Friday: No Lecture
  • [Mar 12] Project - II: Deadline postponed to March 22nd
  • [Mar 10] Going virtual! Lectures will be held over zoom for the rest of the semester
  • [Mar 6] Lecture - VII: Search Guidance
  • [Feb 28] Project - II: Employee Scheduling is out! Preliminary due date is March 6 (before class). Due date is March 13, 10PM
  • [Feb 28] Lecture - VI: Toward Global Constraints
  • [Feb 21] Lecture - V: From Booleans to Richer Domains
  • [Feb 14] Lecture - IV: End-to-End Learning to Predict Satisfiability
  • [Feb 7] Lecture - III: Modern SAT Solvers
  • [Jan 31] Project - I: Mass Customization is out! Preliminary due date is Feb 10, 10PM Due date is Feb 21, 10PM
  • [Jan 31] Lecture - II: Boolean Satisfiability
  • [Jan 31] Sign and return (in class or Serdar's mailbox 4th floor) the Academic Honor Code. Due date is Jan 31, 10PM
  • [Jan 24] Project - 0: Olympia is out! Due date is Jan 31, 10PM
  • [Jan 24] Lecture - I: Introduction to Prescriptive Analytics
  • [Jan 24] Opening ceremony: January 24th, Friday 3pm - 5:20pm @ CIT 316 - Looking forward to our first class!
  • [Jan 24] ~~~ Piazza is up ~~~ Signup for slides, projects, discussion, Q&A, etc.
  • [Spring 2019] The course is over. Here is the Critical Review.
  • [Fall 2017] The course is over. Here are the student evaluations.
  • [Spring 2017] The course is over. Here are the student evaluations.