Constraint Programming

Subject COMP90046 (2016)

Note: This is an archived Handbook entry from 2016.

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

This subject is not offered in 2016.

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

200 hours


Study Period Commencement:
Credit Points:


Study Period Commencement:
Credit Points:
Semester 1, Semester 2

OR Equivalent



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 combinatorial optimization problems with computers, and to be able to demonstrate proficiency in modelling and solving programs using a high-level modelling language, and understanding of different solving technologies. The modelling language used is MiniZinc.


Topics covered will include:

  • Modelling with Constraints
  • Global constraints
  • Multiple Modelling
  • Model Debugging
  • Scheduling and Packing
  • Finite domain constraint solving
  • Mixed Integer Programming

Learning Outcomes:


On completion of this subject the student is expected to:

  1. Model a complex constraint problem using a high level modelling 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
  • There are five project assignments done during the semester, requiring approximately 35 – 40 hours in total, due approximately every two weeks, (30%).
  • 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): Doctor of Philosophy - Engineering
Master of Information Technology
Master of Information Technology
Master of Philosophy - Engineering
Master of Science (Computer Science)
Related Majors/Minors/Specialisations: Approved Masters level subjects from other departments
B-ENG Software Engineering stream
Computer Science
Computer Science
MIT Computing Specialisation
MIT Distributed Computing Specialisation
Master of Engineering (Mechatronics)
Master of Engineering (Software)

Download PDF version.