Constraint Programming

Subject COMP90046 (2014)

Note: This is an archived Handbook entry from 2014.

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

This subject is not offered in 2014.

Time Commitment: Contact Hours: 36 hours, comprsing of two 1-hour lectures and one 1-hour workshop per week
Total Time Commitment:

200 hours


One of the following:

Study Period Commencement:
Credit Points:
Semester 1, Semester 2
Not offered in 2014



Recommended Background Knowledge:


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 Student Support and Engagement Policy, academic requirements for this subject are articulated in the Subject Overview, Learning Outcomes, Assessment and Generic Skills sections of this entry.

It is University policy to take all reasonable steps to minimise the impact of disability upon academic study, and reasonable adjustments will be made to enhance a student's participation in the University's programs. Students who feel their disability may impact on meeting the requirements of this subject are encouraged to discuss this matter with a Faculty Student Adviser and Student Equity and Disability Support:



Subject Overview:


The aims for this subject is for students to develop an understanding of approaches to solving moderately complex problems with computers, and to be able to demonstrate proficiency in designing and writing programs using a programming language. The programming language used is Java.


Topics covered will include:

  • Modelling with constraints
  • Algorithms for manipulating constraints
  • Finite domain constraint solving
  • Global constraints
  • Linear Programming
  • Network Flow
  • Mixed Integer Programming
  • Boolean Satisfiability
  • Hybrid constraint solving

Learning Outcomes:


On completion of this subject the student is expected to:

  1. Model a complex constraint problem using a high level modeling language
  2. Define and explore different search strategies for solving a problem
  3. Explain how modelling interacts with solving algorithms, and formulate models to take advantage of this using state of the art optimisation tools
  4. Explain different optimization technologies, and their strengths and weaknesses
  • Project assignments will be done during the semester and are expected to take approximately 45 hours in total (30%). There are three projects. The first one is due approximately in the third week and is worth 8% marks. The second project is due around mid-semester and is worth 10% marks. The third project is due at the end of the semester and is worth 12% marks.
  • One 3-hour end-of-semester examination (70%).

Hurdle requirement: To pass the subject, students must obtain at least:

  • 50% overall
  • 15/30 in the project assignments
  • 35/70 in the end-of-semester written examination

Intended Learning Outcomes (ILOs) 1, 2, 3, and 4 are addressed in the lectures, laboratory exercises, project assignments and the end-of-semester examination

Prescribed Texts:


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 following skills:

  • Undertake problem identification, formulation, and solution
  • Utilise a systems approach to complex problems and to design and for operational performance
  • Manage information and documentation in solution creation
  • Demonstrate improved capacity for creativity and innovation



The subject comprises a weekly 2 hour lecture followed by a 1 hour laboratory exercise. Weekly readings are assigned from the textbook, and laboratory exercises are assigned. Additionally, a significant amount of project work is assigned.


At the beginning of the year, the coordinator will propose a textbook on constraint programming and will be made available through University Book Shop and library. The current suggested textbook is

Programming with Constraints: an Introduction. Kim Marriott and Peter J. Stuckey, MIT Press. 1998.


The IT industry is a large and steadily growing industry. Increasingly companies are seeking to use optimization technology to provide decision support, assist in strategic and tactical planning, and manage daily operations. Modelling skills and understanding of optimization technology are essential for working in the optimization industry, for example in optimization consulting companies, or within the strategic planning groups within any major company. Most large companies have many problems that require optimization technology to be solved. Modelling and solving skills are also vital for employees whose role is to tackle these problems.

Related Course(s): Master of Engineering in Distributed Computing
Master of Information Technology
Master of Information Technology
Master of Information Technology
Master of Philosophy - Engineering
Master of Science (Computer Science)
Ph.D.- Engineering
Related Majors/Minors/Specialisations: B-ENG Software Engineering stream
Computer Science
Master of Engineering (Software with Business)
Master of Engineering (Software)

Download PDF version.