Discrete Optimization

Location type
Logo Coursera (CC)
Provider rating: starstarstarstar_borderstar_border 6.3 Coursera (CC) has an average rating of 6.3 (out of 4 reviews)

Need more information? Get more details on the site of the provider.

Description

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: 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 reacti…

Read the complete description

Frequently asked questions

trainings.faqs. There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.

Didn't find what you were looking for? See also: Electricity, Algorithms, Programming, Ruby on Rails, and Ruby.

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: 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.

Who is this class for: Good programming skills, knowledge of fundamental algorithms, and linear algebra.

Created by:  The University of Melbourne
  • Taught by:  Professor Pascal Van Hentenryck

  • Taught by:  Dr. Carleton Coffrin, Adjunct Lecturer

    Computing and Information Systems
Level Intermediate Commitment 8 weeks of study, 10-15 hours per week Language English How To Pass Pass all graded assignments to complete the course. User Ratings 4.9 stars Average User Rating 4.9See what learners said Coursework

Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.

Help from your peers

Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.

Certificates

Earn official recognition for your work, and share your success with friends, colleagues, and employers.

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.

Syllabus


WEEK 1


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.


4 videos, 3 readings expand


  1. Video: Course Promo
  2. Video: Course Motivation - Indiana Jones, challenges, applications
  3. Reading: Start of Course Survey
  4. Reading: Socialize
  5. Video: Course Introduction - philosophy, design, grading rubric
  6. Reading: Course Syllabus
  7. Video: Assignments Introduction & Any Integer

Graded: Any Integer

WEEK 2


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.


9 videos expand


  1. Video: Knapsack 1 - intuition
  2. Video: Knapsack 2 - greedy algorithms
  3. Video: Knapsack 3 - modeling
  4. Video: Knapsack 4 - dynamic programming
  5. Video: Knapsack 5 - relaxation, branch and bound
  6. Video: Knapsack 6 - search strategies, depth first, best first, least discrepancy
  7. Video: Assignments Getting Started
  8. Video: Knapsack & External Solver
  9. Video: Exploring the Material - open course design, optimization landscape, picking your adventure

Graded: Knapsack

WEEK 3


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.


13 videos, 1 reading expand


  1. Video: CP 1 - intuition, computational paradigm, map coloring, n-queens
  2. Video: CP 2 - propagation, arithmetic constraints, send+more=money
  3. Video: CP 3 - reification, element constraint, magic series, stable marriage
  4. Video: CP 4 - global constraint intuition, table constraint, sudoku
  5. Video: CP 5 - symmetry breaking, BIBD, scene allocation
  6. Video: CP 6 - redundant constraints, magic series, market split
  7. Video: CP 7 - car sequencing, dual modeling
  8. Video: CP 8 - global constraints in detail, knapsack, alldifferent
  9. Video: CP 9 - search, first-fail, euler knight, ESDD
  10. Video: CP 10 - value/variable labeling, domain splitting, symmetry breaking in search
  11. Video: Graph Coloring
  12. Video: Optimization Tools
  13. Reading: Optimization Tools
  14. Video: Set Cover
  15. Ungraded Programming: Set Cover

Graded: Graph Coloring

WEEK 4


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.


10 videos expand


  1. Video: LS 1 - intuition, n-queens
  2. Video: LS 2 - swap neighborhood, car sequencing, magic square
  3. Video: LS 3 - optimization, warehouse location, traveling salesman, 2-opt, k-opt
  4. Video: LS 4 - optimality vs feasibility, graph coloring
  5. Video: LS 5 - complex neighborhoods, sports scheduling
  6. Video: LS 6 - escaping local minima, connectivity
  7. Video: LS 7 - formalization, heuristics, meta-heuristics introduction
  8. Video: LS 8 - iterated location search, metropolis heuristic, simulated annealing, tabu search intuition
  9. Video: LS 9 - tabu search formalized, aspiration, car sequencing, n-queens
  10. Video: Traveling Salesman

Graded: Traveling Salesman

WEEK 5


Linear Programming



Linear programming has been, and remains, a workhorse of optimization. It consists in optimizing a linear objective subject to linear constraints, admits efficient algorithmic solutions, and is often an important building block for other optimization techniques. These lectures review fundamental concepts in linear programming, including the infamous simplex algorithm, simplex tableau, and duality. .


6 videos expand


  1. Video: LP 1 - intuition, convexity, geometric view
  2. Video: LP 2 - algebraic view, naive algorithm
  3. Video: LP 3 - the simplex algorithm
  4. Video: LP 4 - matrix notation, the tableau
  5. Video: LP 5 - duality derivation
  6. Video: LP 6 - duality interpretation and uses


WEEK 6


Mixed Integer Programming



Mixed Integer Programming generalizes linear programming by allowing integer variables, which dramatically changes the complexity of the problems but also broadens the potential applications significantly. These lectures review how to model problems in mixed-integer programming and how to solve mixed-integer programs using branch and bound. Advanced techniques such as cutting planes and polyhedral cuts are also covered.


6 videos expand


  1. Video: MIP 1 - intuition, relaxation, branch and bound, knapsack, warehouse location
  2. Video: MIP 2 - modeling, big-M, warehouse location, graph coloring
  3. Video: MIP 3 - cutting planes, Gomory cuts
  4. Video: MIP 4 - convex hull, polyhedral cuts, warehouse location, node packing, graph coloring
  5. Video: MIP 5 - cover cuts, branch and cut, seven bridges, traveling salesman
  6. Video: Facility Location

Graded: Facility Location

WEEK 7


Advanced Topics: Part I
These lectures cover some more advanced concepts in optimization. They introduce constraint-programming techniques for scheduling and routing.


2 videos expand


  1. Video: Scheduling - jobshop, disjunctive global constraint
  2. Video: Vehicle Routing

Graded: Vehicle Routing

WEEK 8


Advanced Topics: Part II



These lectures continues to cover some more advanced concepts in optimization. They introduce large neighborhood search, which often combines constraint programming and local search, and column generation which decomposes an optimization model into a master and pricing problem, using more complex variables.


2 videos expand


  1. Video: Large Neighborhood Search - asymmetric TSP with time windows
  2. Video: Column Generation - branch and price, cutting stock
There are no reviews yet.

Share your review

Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.

trainings.faqs. There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.