Constraint Programming (COMP90046)
Graduate courseworkPoints: 12.5Not available in 2022
From 2023 most subjects will be taught on campus only with flexible options limited to a select number of postgraduate programs and individual subjects.
To learn more, visit COVID-19 course and subject delivery.
About this subject
Overview
Fees | Look up fees |
---|
AIMS
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.
INDICATIVE CONTENT
Topics covered will include:
- Modelling with Constraints
- Global constraints
- Multiple Modelling
- Model Debugging
- Scheduling and Packing
- Finite domain constraint solving
- Mixed Integer Programming
Intended learning outcomes
INTENDED LEARNING OUTCOMES (ILO)
On completion of this subject the student is expected to:
- Model a complex constraint problem using a high level modelling 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 using state of the art optimisation tools
- Explain different optimization technologies, and their strengths and weaknesses
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.
Last updated: 4 March 2025
Eligibility and requirements
Prerequisites
Students must meet one of the following prerequisite options:
Option 1
One of
Code | Name | Teaching period | Credit Points |
---|---|---|---|
COMP20003 | Algorithms and Data Structures | Semester 2 (Dual-Delivery - Parkville) |
12.5 |
COMP20007 | Design of Algorithms | Semester 1 (Dual-Delivery - Parkville) |
12.5 |
COMP90038 | Algorithms and Complexity |
Semester 1 (Dual-Delivery - Parkville)
Semester 2 (Dual-Delivery - Parkville)
|
12.5 |
COMP90048 | Declarative Programming | Semester 1 (Dual-Delivery - Parkville) |
12.5 |
COMP20006 Programming the Machine
Option 2
Admission into one of the following: 100pt Program course entry point in the MC-IT Master of Information Technology, 150pt Program course entry point in the MC-IT Master of Information Technology
AND
Selection of the Distributed Computing specialisation (formal) in the MC-IT Master of Information Technology
Option 3
Admission into the 100pt Program course entry point in the MC-IT Master of Information Technology
AND
Selection of the Computing specialisation (formal) in the MC-IT Master of Information Technology
Option 4
Admission into the MC-CS Master of Computer Science
Corequisites
None
Non-allowed subjects
433-433 Constraint Programming 433-633 Constraint Programming 433-671 Constraint Programming
Inherent requirements (core participation requirements)
The University of Melbourne is committed to providing students with reasonable adjustments to assessment and participation under the Disability Standards for Education (2005), and the Assessment and Results Policy (MPF1326). Students are expected to meet the core participation requirements for their course. These can be viewed under Entry and Participation Requirements for the course outlines in the Handbook.
Further details on how to seek academic adjustments can be found on the Student Equity and Disability Support website: http://services.unimelb.edu.au/student-equity/home
Last updated: 4 March 2025
Assessment
Description | Timing | Percentage |
---|---|---|
There are five project assignments, requiring approximately 35 – 40 hours in total, due approximately every two weeks
| Throughout the teaching period | 30% |
One examination
| End of semester | 70% |
Additional details
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
Last updated: 4 March 2025
Dates & times
Not available in 2022
Time commitment details
200 hours
Last updated: 4 March 2025
Further information
- Texts
- Subject notes
LEARNING AND TEACHING METHODS
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.
INDICATIVE KEY LEARNING RESOURCES
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.
CAREERS / INDUSTRY LINKS
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 Handbook entries
This subject contributes to the following:
Type Name Course Master of Data Science Course Master of Science (Computer Science) Course Ph.D.- Engineering Course Doctor of Philosophy - Engineering Course Master of Philosophy - Engineering Specialisation (formal) Computing Specialisation (formal) Distributed Computing Specialisation (formal) Software Specialisation (formal) Mechatronics Major Computer Science - Available through the Community Access Program
About the Community Access Program (CAP)
This subject is available through the Community Access Program (also called Single Subject Studies) which allows you to enrol in single subjects offered by the University of Melbourne, without the commitment required to complete a whole degree.
Please note Single Subject Studies via Community Access Program is not available to student visa holders or applicants
Entry requirements including prerequisites may apply. Please refer to the CAP applications page for further information.
Additional information for this subject
Subject coordinator approval required
- Available to Study Abroad and/or Study Exchange Students
Last updated: 4 March 2025