Solving Algorithms for Discrete Optimization
- 4.8
Course Summary
This course teaches students how to solve optimization problems in computer science and engineering using algorithms and mathematical models.Key Learning Points
- Learn how to solve optimization problems using algorithms and mathematical models
- Explore a variety of optimization problems and their solutions
- Get hands-on experience through programming assignments and quizzes
Job Positions & Salaries of people who have taken this course might have
- USA: $87,000
- India: ₹6,00,000
- Spain: €32,000
- USA: $87,000
- India: ₹6,00,000
- Spain: €32,000
- USA: $62,000
- India: ₹4,50,000
- Spain: €25,000
- USA: $87,000
- India: ₹6,00,000
- Spain: €32,000
- USA: $62,000
- India: ₹4,50,000
- Spain: €25,000
- USA: $85,000
- India: ₹8,50,000
- Spain: €33,000
Related Topics for further study
Learning Outcomes
- Ability to model optimization problems as mathematical programs
- Knowledge of various algorithms and their applications to optimization problems
- Hands-on experience solving optimization problems through programming assignments
Prerequisites or good to have knowledge before taking this course
- Basic knowledge of programming concepts and data structures
- Familiarity with mathematical concepts like linear algebra and calculus
Course Difficulty Level
IntermediateCourse Format
- Online
- Self-paced
Similar Courses
- Discrete Optimization
- Algorithms, Part I
- Algorithms, Part II
Notable People in This Field
- Stephen Boyd
- Michael Jordan
Related Books
Description
Discrete Optimization aims to make good decisions when we have many possibilities to choose from. Its applications are ubiquitous throughout our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions on the use of scarce or expensive resources such as staffing and material resources also allow corporations to improve their profit by millions of dollars. Similar problems also underpin much of our daily lives and are part of determining daily delivery routes for packages, making school timetables, and delivering power to our homes. Despite their fundamental importance, these problems are a nightmare to solve using traditional undergraduate computer science methods.
Outline
- Basic Constraint Programming
- Welcome to Solving Algorithms for Discrete Optimization
- 3.1.1 Constraint Programming Solvers
- 3.1.2 Domains + Propagators
- 3.1.3 Bounds Propagation
- 3.1.4 Propagation Engine
- 3.1.5 Search
- 3.1.6 Module 1 Summary
- Workshop 9
- Course Overview
- Start of Course Survey
- “Building Decision Support Systems using MiniZinc” by Professor Mark Wallace
- Workshop 9: CP Basic Search Strategies
- Advanced Constraint Programming
- 3.2.1 Optimization in CP
- 3.2.2 Restart and Advanced Search
- 3.2.3 Inside Alldifferent
- 3.2.4 Inside Cumulative
- 3.2.5 Flattening
- 3.2.6 Module 2 Summary
- Workshop 10
- Workshop 10: CP Advanced Search Strategies
- Mixed Integer Programming
- 3.3.1 Linear Programming
- 3.3.2 Mixed Integer Programming
- 3.3.3 Cutting Planes
- 3.3.4 MiniZinc to MIP
- 3.3.5 Module 3 Summary
- Workshop 11
- Workshop 11: MIP Modelling
- Local Search
- 3.4.1 Local Search
- 3.4.2 Constraints and Local Search
- 3.4.3 Escaping Local Minima- Restart
- 3.4.4 Simulated Annealing
- 3.4.5 Tabu List
- 3.4.6 Discrete Langrange Multiplier Methods
- 3.4.7 Large Neighbourhood Search
- 3.4.8 MiniZinc to Local Search
- 3.4.9 Module 4 Summary
- Workshop 12
- Workshop 12: Local Search
- End of Course Survey
Summary of User Reviews
Key Aspect Users Liked About This Course
The course provides a comprehensive understanding of algorithms and optimizationPros from User Reviews
- Engaging and interactive content
- Instructors are knowledgeable and helpful
- Real-life applications of algorithms are discussed
- Challenging assignments help to reinforce learning
Cons from User Reviews
- Some of the concepts may be difficult for beginners to grasp
- The course can be time-consuming
- The programming assignments can be challenging and require prior knowledge