In this online course we’ll implement (in Python) together efficient programs for a problem needed by delivery companies all over the world millions times per day — the travelling salesman problem. The goal in this problem is to visit all the given places as quickly as possible. How to find an optimal solution to this problem quickly? We still don’t have provably efficient algorithms for this difficult computational problem and this is the essence of the P versus NP problem, the most important open question in Computer Science. Still, we’ll implement several solutions for real world instances of the travelling salesman problem.



Delivery Problem
This course is part of Introduction to Discrete Mathematics for Computer Science Specialization


Instructors: Alexander S. Kulikov
Access provided by Coursera Learning Team
21,086 already enrolled
(373 reviews)
Skills you'll gain
Details to know

Add to your LinkedIn profile
8 assignments
See how employees at top companies are mastering in-demand skills

Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate


Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review

There are 3 modules in this course
We start this module with the definition of mathematical model of the delivery problem — the classical traveling salesman problem (usually abbreviated as TSP). We'll then review just a few of its many applications: from straightforward ones (delivering goods, planning a trip) to less obvious ones (data storage and compression, genome assembly). After that, we will together take the first steps in implementing programs for TSP.
What's included
4 videos1 reading5 assignments2 ungraded labs
We'll see two general techniques applied to the traveling salesman problem. The first one, branch and bound, is a classical approach in combinatorial optimization that is used for various problems. It can be seen as an improvement of the brute force search: we try to construct a permutation piece by piece, but at each step we check whether it still makes sense to continue constructing the permutation (if it doesn't, we just cut off the current branch). The second one, dynamic programming, is arguably the most popular algorithmic technique. It solves a problem by going through a collection of smaller subproblems.
What's included
4 videos2 assignments1 ungraded lab
As we've seen in the previous modules, solving the traveling salesman problem exactly is hard. In fact, we don't even expect an efficient solution in the nearest future. For this reason, it makes sense to ask: is it possible to find efficiently a solution that is probably suboptimal, but at the same time is close to optimal? It turns out that the answer is yes! We'll learn two algorithms. The first one guarantees to find quickly a solution which is at most twice longer than the optimal one. The second algorithms does not have such guarantees, but it is known to work pretty well in practice.
What's included
2 videos1 assignment1 ungraded lab
Instructors

Offered by
Why people choose Coursera for their career




Learner reviews
373 reviews
- 5 stars
76.40%
- 4 stars
17.69%
- 3 stars
2.94%
- 2 stars
2.41%
- 1 star
0.53%
Showing 3 of 373
Reviewed on Nov 20, 2019
A fun conclusion to the specialization that brings all of the mathematics of combinatorics and graph theory together to show how it can be applied to some real world problems.
Reviewed on Aug 15, 2020
Thank you for such a wonderful specialization course!
Reviewed on Jul 25, 2018
This final course in 5 course specialization is relatively easy one, although the last problem takes little bit time to solve. Provides good introduction to difficult to learn Delivery problem.
Recommended if you're interested in Computer Science
University of Colorado Boulder
University of Florida
Stanford University
University of Minnesota

Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy