GRADUATE SCHOOL

M.SC. in Computer Engineering (With Thesis)

IE 520 | Course Introduction and Application Information

Course Name
Constraint Programming
Code
Semester
Theory
(hour/week)
Application/Lab
(hour/week)
Local Credits
ECTS
IE 520
Fall/Spring
3
0
3
7.5

Prerequisites
None
Course Language
English
Course Type
Elective
Course Level
Second Cycle
Mode of Delivery -
Teaching Methods and Techniques of the Course -
Course Coordinator -
Course Lecturer(s) -
Assistant(s) -
Course Objectives The goal of this course is to have each student acquire the knowledge on a new programming paradigm based on constraints over finite domains and provide experience of how to use these methods for solving combinatorial problems. The Optimization Programming Language (OPL) and its Software Package will be introduced and used throughout the semester to model various combinatorial problems as constraint programs, as well as to write specific search methods.
Learning Outcomes The students who succeeded in this course;
  • Describe how a generic constraint solver works, by giving its architecture and explaining the principles it is based on
  • Model a combinatorial problem as a socalled constraint program, using the primitive constraints of a given socalled constraint solver
  • Devise (empirically) a suitable heuristic control of the search that is to be performed by the constraint program
  • Formulate and compare (empirically) several alternative constraint programs for the same combinatorial problem
  • Evaluate (empirically) the computational consequences of having a controlled redundancy among the variables or among the constraints
  • Identify and break (some of the) symmetries in a constraint program for a combinatorial problem, thereby speeding up its execution
  • Enhance a given constraint solver with an additional constraint, by devising a filtering algorithm for it, and argue why it is faster than its reformulation based on the existing constraints of the solver
  • Describe briefly some other technologies for modelling and solving combinatorial problems, such as integer linear programming and local search
Course Description The basic concepts of constraint programming. Modeling combinatorial problems in terms of constraints. Constraint consistency and propagation. Global constraints and their propagation algorithms. Search: construction of the search tree, exploration of the search tree, heuristics. Optimization. Advanced techniques: set variables, dealing with redundancy and symmetry. Implementation in a constraint programming language.

 



Course Category

Core Courses
Major Area Courses
Supportive Courses
Media and Management Skills Courses
Transferable Skill Courses

 

WEEKLY SUBJECTS AND RELATED PREPARATION STUDIES

Week Subjects Related Preparation
1 Constraint satisfaction problems Lecture notes
2 Basic concepts of Constraint Programming Lecture notes
3 Modelling combinatorial problem using OPL I Lecture notes
4 Modelling combinatorial problem using OPL II Lecture notes
5 Constraint consistency and propagation I Lecture notes
6 Constraint consistency and propagation II Lecture notes
7 Global constraints Lecture notes
8 Ara sınav / Midterm Lecture notes
9 Search heuristics I Lecture notes
10 Search heuristics II Lecture notes
11 Set variables Lecture notes
12 Symmetry Lecture notes
13 Optimisation problems Lecture notes
14 Discussions, Research and Presentations I Lecture notes
15 Discussions, Research and Presentations II Lecture notes
16 Review of the Semester

 

Course Notes/Textbooks Course slides
Suggested Readings/Materials Related research papers

 

EVALUATION SYSTEM

Semester Activities Number Weigthing
Participation
Laboratory / Application
Field Work
Quizzes / Studio Critiques
Portfolio
Homework / Assignments
Presentation / Jury
1
30
Project
Seminar / Workshop
Oral Exams
Midterm
1
30
Final Exam
1
40
Total

Weighting of Semester Activities on the Final Grade
60
Weighting of End-of-Semester Activities on the Final Grade
40
Total

ECTS / WORKLOAD TABLE

Semester Activities Number Duration (Hours) Workload
Theoretical Course Hours
(Including exam week: 16 x total hours)
16
3
48
Laboratory / Application Hours
(Including exam week: '.16.' x total hours)
16
0
Study Hours Out of Class
15
6
90
Field Work
0
Quizzes / Studio Critiques
0
Portfolio
0
Homework / Assignments
0
Presentation / Jury
1
5
5
Project
0
Seminar / Workshop
0
Oral Exam
0
Midterms
1
15
15
Final Exam
1
22
22
    Total
180

 

COURSE LEARNING OUTCOMES AND PROGRAM QUALIFICATIONS RELATIONSHIP

#
Program Competencies/Outcomes
* Contribution Level
1
2
3
4
5
1 Accesses information in breadth and depth by conducting scientific research in Computer Engineering; evaluates, interprets and applies information.
2 Is well-informed about contemporary techniques and methods used in Computer Engineering and their limitations.
3 Uses scientific methods to complete and apply information from uncertain, limited or incomplete data; can combine and use information from different disciplines.
4 Is informed about new and upcoming applications in the field and learns them whenever necessary.
5 Defines and formulates problems related to Computer Engineering, develops methods to solve them and uses progressive methods in solutions.
6 Develops novel and/or original methods, designs complex systems or processes and develops progressive/alternative solutions in designs
7 Designs and implements studies based on theory, experiments and modelling; analyses and resolves the complex problems that arise in this process.
8 Can work effectively in interdisciplinary teams as well as teams of the same discipline, can lead such teams and can develop approaches for resolving complex situations; can work independently and takes responsibility.
9 Engages in written and oral communication at least in Level B2 of the European Language Portfolio Global Scale.
10 Communicates the process and the results of his/her studies in national and international venues systematically, clearly and in written or oral form.
11 Is knowledgeable about the social, environmental, health, security and law implications of Computer Engineering applications, knows their project management and business applications, and is aware of their limitations in Computer Engineering applications.
12 Highly regards scientific and ethical values in data collection, interpretation, communication and in every professional activity.

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest

 


Izmir University of Economics
is an establishment of
izto logo
Izmir Chamber of Commerce Health and Education Foundation.
ieu logo

Sakarya Street No:156
35330 Balçova - İzmir / Turkey

kampus izmir

Follow Us

İEU © All rights reserved.