Course title
6M0081001
Constraint Programming

SUZUKI Tetsuya Click to show questionnaire result at 2019
Course content
Constraint programming is a programming method where relations between variables are declaratively described as constraints and they are solved by solvers. The advantages of constraint programming are that there is no need to describe how to solve them and that it makes development and maintenance of software easy. This course will discuss constraint programming with a primary focus on methods of constraint satisfaction.
Purpose of class
The purpose of this class is to understand the concept of constraint programming and its realization methods.
Goals and objectives
  1. Understand a theoretical framework of constraint programming (constraint satisfaction problem, basic framework of constraint solving, equivalence of constraint satisfaction problems, local consistency, search algorithm)
  2. Understand algorithms on which constraint programming is based by implementing them in a programming language
  3. Understand the effects of algorithms on which constraint programming is based
Relationship between 'Goals and Objectives' and 'Course Outcomes'

Reports and mini tests Total.
1. 70% 70%
2. 15% 15%
3. 15% 15%
Total. 100% -
Language
Japanese
Class schedule

Class schedule HW assignments (Including preparation and review of the class.) Amount of Time Required
1. Introduction to constraint programming Read the syllabus 190minutes
2. Constraint satisfaction problem, Constraint programming framework Review 190minutes
3. Complete constraint satisfaction method Review 190minutes
4. Local consistency Review 190minutes
5. Constraint propagation Review 190minutes
6. Search Review 190minutes
7. Modelllng and over constrained problem Review 190minutes
8. Constraint programming in Java (1) Review 190minutes
9. Constraint programming in Java (2)
Choco-solver
https://choco-solver.org/
Review 190minutes
10. Satisfiable problem and a SAT solver (1) Review 190minutes
11. Satisfiable problem and a SAT solver (2) Review 190minutes
12. Satisfiable problem and a SAT solver (3) Review 190minutes
13. Constraint programming in Sugar (1)
https://cspsat.gitlab.io/sugar/
Review 190minutes
14. Constraint programming in Sugar (2)
https://cspsat.gitlab.io/sugar/
Review 190minutes
Total. - - 2660minutes
Evaluation method and criteria
Students will be evaluated based on reports and mini tests.
Feedback on exams, assignments, etc.
ways of feedback specific contents about "Other"
Feedback in the class
Textbooks and reference materials
Materials will be provided.
Reference: Krzysztof Apt. Principles of Constraint Programming. Cambridge University Press.
Prerequisites
Basic Java programming skill is required for implementation of algorithms.
Office hours and How to contact professors for questions
  • Lunch break on Wednesday
Regionally-oriented
Non-regionally-oriented course
Development of social and professional independence
  • Course that cultivates an ability for utilizing knowledge
Active-learning course
More than one class is interactive
Course by professor with work experience
Work experience Work experience and relevance to the course content if applicable
N/A 該当しない
Education related SDGs:the Sustainable Development Goals
  • 9.INDUSTRY, INNOVATION AND INFRASTRUCTURE
Last modified : Thu Feb 27 10:51:14 JST 2025