### 2019　Combinatorial Algorithms

Font size  SML

Undergraduate major in Mathematical and Computing Science
Instructor(s)
Sumita Hanna  Fukuda Mituhiro  Yamashita Makoto
Class Format
Lecture
Media-enhanced courses
Day/Period(Room No.)
Mon5-6(W834)  Thr5-6(W834)
Group
-
Course number
MCS.T322
Credits
2
2019
Offered quarter
4Q
Syllabus updated
2019/9/3
Lecture notes updated
2020/1/27
Language used
Japanese
Access Index

### Course description and aims

This course will cover representative combinatorial optimization problems and their methods to solve the problems. Real world problems are modeled as optimization problems by extracting the vital constraints and objectives. It is practically important to solve the optimization problems efficiently. For this end, we need to investigate and utilize a specific property and structure of each problem. This course describes fundamental "combinatorial" optimization problems and their algorithms using their own properties. In addition, this course explains the theory on combinatorial structures and algorithms.

The aim of this course is to give knowledge on fundamental combinatorial optimization problems and their algorithms, and give mathematical tools to argue the performance of the algorithms.

### Student learning outcomes

By the end of this course, students will be able to:
1) Recognize fundamental combinatorial optimization problems appearing in real world situations.
2) Have a vague idea of methods to solve those combinatorial optimization problems.
3) Explain roughly the performance of methods from a theoretical perspective.

### Keywords

combinatorial optimization, algorithm, dynamic programming, minimum cost flow problem, matching, matroid, submodular, modeling

### Competencies that will be developed

 ✔ Specialist skills Intercultural skills Communication skills Critical thinking skills Practical and/or problem-solving skills

### Class flow

Basically each class focuses on one combinatorial optimization problem. Students learn its applications and methods to solve the problem.

### Course schedule/Required learning

Course schedule Required learning
Class 1 Introduction to combinatorial optimization Evaluation of the grade will be explained
Class 2 Maximum matching problem
Class 3 Maximum flow problem
Class 4 Minimum flow problem
Class 5 Stable marriage problem
Class 6 Matroid
Class 7 Knapsack problem and approximation algorithm
Class 8 Knapsack problem and dynamic programming
Class 9 Traveling salesman problem
Class 10 Submodular maximization problem
Class 11 Enumeration problem
Class 12 Online problem
Class 13 Secretary problem
Class 14 Recent topics
Class 15 Recent topics

None required.

### Reference books, course materials, etc.

B. Korte and J. Vygen, "Combinatorial Optimization: Theory and Algorithms", Springer, 2018.
M. Shigeno, "Network Optimization and Algorithms （ネットワーク最適化とアルゴリズム)", Asakura-Shoten, 2010. (Japanese)
Y. Kawahara and K. Nagano, "Submodular Optimization and Machine Learning (劣モジュラ最適化と機械学習)", Kodansya, 2015. (Japanese)

All course materials will be uploaded on OCW-i.

### Assessment criteria and methods

Students will be assessed on the final report and assignments.

### Related courses

• MCS.T302 ： Mathematical Optimization

### Prerequisites (i.e., required knowledge, skills, courses, etc.)

No prerequisites are necessary, but enrollment in the related course (Mathematical Optimization) is desirable.