About this Course
4.9
220 ratings
48 reviews
Tired of solving Sudokus by hand? This class teaches you how to solve complex search problems with discrete optimization concepts and algorithms, including constraint programming, local search, and mixed-integer programming. Optimization technology is ubiquitous in our society. It schedules planes and their crews, coordinates the production of steel, and organizes the transportation of iron ore from the mines to the ports. Optimization clears the day-ahead and real-time markets to deliver electricity to millions of people. It organizes kidney exchanges and cancer treatments and helps scientists understand the fundamental fabric of life, control complex chemical reactions, and design drugs that may benefit billions of individuals. This class is an introduction to discrete optimization and exposes students to some of the most fundamental concepts and algorithms in the field. It covers constraint programming, local search, and mixed-integer programming from their foundations to their applications for complex practical problems in areas such as scheduling, vehicle routing, supply-chain optimization, and resource allocation....
Globe

100% online courses

Start instantly and learn at your own schedule.
Calendar

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Clock

Approx. 33 hours to complete

Suggested: 8 weeks of study, 10-15 hours per week...
Comment Dots

English

Subtitles: English...

Skills you will gain

Constraint ProgrammingBranch And BoundDiscrete OptimizationLinear Programming (LP)
Globe

100% online courses

Start instantly and learn at your own schedule.
Calendar

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Clock

Approx. 33 hours to complete

Suggested: 8 weeks of study, 10-15 hours per week...
Comment Dots

English

Subtitles: English...

Syllabus - What you will learn from this course

Week
1
Clock
2 hours to complete

Welcome

These lectures and readings give you an introduction to this course: its philosophy, organization, and load. They also tell you how the assignments are a significant part of the class. This week covers the common input/output organization of the assignments, how they are graded, and how to succeed in this class....
Reading
4 videos (Total 43 min), 3 readings, 1 quiz
Video4 videos
Course Motivation - Indiana Jones, challenges, applications20m
Course Introduction - philosophy, design, grading rubric11m
Assignments Introduction & Any Integer9m
Reading3 readings
Start of Course Survey10m
Socialize10m
Course Syllabus10m
Week
2
Clock
7 hours to complete

Knapsack

These lectures introduce optimization problems and some optimization techniques through the knapsack problem, one of the most well-known problem in the field. It discusses how to formalize and model optimization problems using knapsack as an example. It then reviews how to apply dynamic programming and branch and bound to the knapsack problem, providing intuition behind these two fundamental optimization techniques. The concept of relaxation and search are also discussed....
Reading
9 videos (Total 101 min), 1 quiz
Video9 videos
Knapsack 2 - greedy algorithms7m
Knapsack 3 - modeling8m
Knapsack 4 - dynamic programming17m
Knapsack 5 - relaxation, branch and bound14m
Knapsack 6 - search strategies, depth first, best first, least discrepancy14m
Assignments Getting Started13m
Knapsack & External Solver10m
Exploring the Material - open course design, optimization landscape, picking your adventure10m
Week
3
Clock
17 hours to complete

Constraint Programming

Constraint programming is an optimization technique that emerged from the field of artificial intelligence. It is characterized by two key ideas: To express the optimization problem at a high level to reveal its structure and to use constraints to reduce the search space by removing, from the variable domains, values that cannot appear in solutions. These lectures cover constraint programming in detail, describing the language of constraint programming, its underlying computational paradigm and how it can be applied in practice....
Reading
13 videos (Total 248 min), 1 reading, 2 quizzes
Video13 videos
CP 2 - propagation, arithmetic constraints, send+more=money26m
CP 3 - reification, element constraint, magic series, stable marriage16m
CP 4 - global constraint intuition, table constraint, sudoku19m
CP 5 - symmetry breaking, BIBD, scene allocation18m
CP 6 - redundant constraints, magic series, market split11m
CP 7 - car sequencing, dual modeling18m
CP 8 - global constraints in detail, knapsack, alldifferent33m
CP 9 - search, first-fail, euler knight, ESDD25m
CP 10 - value/variable labeling, domain splitting, symmetry breaking in search28m
Graph Coloring6m
Optimization Tools5m
Set Cover8m
Reading1 reading
Optimization Tools10m
Week
4
Clock
13 hours to complete

Local Search

Local search is probably the oldest and most intuitive optimization technique. It consists in starting from a solution and improving it by performing (typically) local perturbations (often called moves). Local search has evolved substantially in the last decades with a lot of attention being devoted on which moves to explore. These lectures explore the theory and practice of local search, from the concept of neighborhood and connectivity to meta-heuristics such as tabu search and simulated annealing....
Reading
10 videos (Total 191 min), 1 quiz
Video10 videos
LS 2 - swap neighborhood, car sequencing, magic square15m
LS 3 - optimization, warehouse location, traveling salesman, 2-opt, k-opt23m
LS 4 - optimality vs feasibility, graph coloring22m
LS 5 - complex neighborhoods, sports scheduling21m
LS 6 - escaping local minima, connectivity15m
LS 7 - formalization, heuristics, meta-heuristics introduction22m
LS 8 - iterated location search, metropolis heuristic, simulated annealing, tabu search intuition18m
LS 9 - tabu search formalized, aspiration, car sequencing, n-queens26m
Traveling Salesman10m
4.9
Direction Signs

33%

started a new career after completing these courses
Briefcase

83%

got a tangible career benefit from this course

Top Reviews

By AMFeb 6th 2017

I like the instructor teaching approach and the evaluation system, the subject itself took me a lot of effort and i think the LNS technique should be teached just after local search.

By KDSep 4th 2018

i wish there was 6 start rating so i can give this prof his due, he made a very complicated subject look very simple and easy to understand thanks a million

Instructors

Dr. Carleton Coffrin

Adjunct Lecturer
Computing and Information Systems

About The University of Melbourne

The University of Melbourne is an internationally recognised research intensive University with a strong tradition of excellence in teaching, research, and community engagement. Established in 1853, it is Australia's second oldest University....

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

  • Good programming skills, knowledge of algorithms and linear algebra.

  • A minimal knowledge of python is necessary to integrate with the course infrastructure. Outside of that, students are free to use any language of their choice.

  • A motivated student spending the time on the programming assignment will succeed in this class.

  • At the discrete optimization store: http://www.zazzle.com.au/discreteoptimization

More questions? Visit the Learner Help Center.