Constraint Programming

Subject COMP90046 (2010)

Note: This is an archived Handbook entry from 2010.

Credit Points: 12.50
Level: 9 (Graduate/Postgraduate)
Dates & Locations:

This subject has the following teaching availabilities in 2010:

Semester 2, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period not applicable
Assessment Period End not applicable
Last date to Self-Enrol not applicable
Census Date not applicable
Last date to Withdraw without fail not applicable

Timetable can be viewed here. For information about these dates, click here.
Time Commitment: Contact Hours: 36 hours, made up of 24 one-hour lectures (two per week) and 12 one-hour workshops (one per week)
Total Time Commitment: 120 hours

The prerequisites are:

433-326 Declarative Programming

Corequisites: None
Recommended Background Knowledge: None
Non Allowed Subjects: 433-433 Constraint Programming
433-633 Constraint Programming
433-671 Constraint Programming
Core Participation Requirements:

For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Students Experiencing Academic Disadvantage Policy, academic requirements for this subject are articulated in the Subject Description, Subject Objectives, Generic Skills and Assessment Requirements of this entry.The University is dedicated to provide support to those with special requirements. Further details on the Disability support scheme can be found at the Disability Liaison Unit Website:


Prof Peter Stuckey


Melbourne School of Engineering Office
Building 173, Grattan Street
The University of Melbourne
VIC 3010 Australia
General telephone enquiries
+ 61 3 8344 6703
+ 61 3 8344 6507
+ 61 3 9349 2182
+ 61 3 8344 7707
Subject Overview:

Constraint programming is used to solve constrained satisfaction and optimization problems such as scheduling and allocation, which are of vital importance to modern business. Constraint programming allows these problems to be modeled at a high level, and allows solving the problem to take advantage of the structure of the problem.

Topics covered will be:

  • Modelling with constraints
  • Algorithms for manipulating constraints
  • Fnite domain constraint solving
  • Gobal constraints
  • Hhybrid constraint solving

On completion of this subject students should be able to:

  • Model a complex constraint problem using a high level modeling language
  • Define and explore different search strategies for solving a problem
  • Explain how modelling interacts with solving algorithms, and formulate models to take advantage of this
    use state of the art optimisation tools

Assessment: Three projects due in weeks 4, 8 and 12 (30%), and an end-of-semester exam not exceeding 3 hours in duration (70%). To pass the subject, students must obtain a mark of at least 35/70 on the exam.
Prescribed Texts: Programming with Constraints: An Introduction. Marriott and Stuckey
Breadth Options:

This subject is not available as a breadth subject.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
Generic Skills:

On completion of this subject students should be able to have the:

  • Ability to undertake problem identification, formulation, and solution
  • Ability to utilise a systems approach to complex problems and to design and for operational performance
  • Ability to manage information and documentation
  • Capacity for creativity and innovation
Related Course(s): Bachelor of Computer Science (Honours)
Bachelor of Engineering (Software Engineering)
Master of Engineering in Distributed Computing
Master of Software Systems Engineering

Download PDF version.