Approximation Algorithms and Heuristics

Subject MAST90098 (2016)

Note: This is an archived Handbook entry from 2016.

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

This subject has the following teaching availabilities in 2016:

Semester 2, Parkville - Taught on campus.
Pre-teaching Period Start not applicable
Teaching Period 25-Jul-2016 to 23-Oct-2016
Assessment Period End 18-Nov-2016
Last date to Self-Enrol 05-Aug-2016
Census Date 31-Aug-2016
Last date to Withdraw without fail 23-Sep-2016

Timetable can be viewed here. For information about these dates, click here.
Time Commitment: Contact Hours: 36 hours comprising one 2-hour lecture per week and one 1-hour computer lab/practical class per week.
Total Time Commitment:

170 hours

Study Period Commencement:
Credit Points:
Corequisites: None
Recommended Background Knowledge:
Study Period Commencement:
Credit Points:
Semester 1


Study Period Commencement:
Credit Points:

Experience with basic computer programming.

Non Allowed Subjects: None
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:


Dr Charl Ras


Subject Overview:

Many discrete optimisation problems encountered in practice are too difficult to solve exactly in a reasonable time frame. Approximation algorithms and heuristics are the most widely used approaches for obtaining reasonably accurate solutions to such hard problems. This subject introduces the basic concepts and techniques underlying these “inexact” approaches. We will address the following fundamental questions in the subject: How difficult is the problem under consideration? How closely can an optimal solution be approximated? And how can we go about finding near-optimal solutions in an efficient way? We will discuss methodologies for analysing the complexity and approximability of some important optimisation problems, including the travelling salesman problem, knapsack problem, bin packing, scheduling, network design, covering problems and facility location. We will also learn about various metaheuristics (simulated annealing, Tabu search, GRASP, genetic algorithms) and matheuristics (relax-and-fix, fix-and-optimise, local branching) that are widely used in solving real-world optimisation problems.

Learning Outcomes:

After completing this subject, students will:

• understand the fundamental concepts and techniques underlying the design of inexact algorithms for discrete optimisation;

• have developed the skills needed to design and analyse approximation algorithms;

• know how to apply some commonly used metaheuristics to complex optimisation problems;

• have gained experience in implementing approximation algorithms and heuristics in Python.


A 3-hour written examination in the examination period (60%). 4 assignments of up to 50 pages in total worth 10% each due mid to late semester (40%).

Prescribed Texts:

Juraj Hromkovic, Algorithmics for hard problems, Springer, 2002

Vijay V. Vazirani, Approximation Algorithms, Springer, 2003

Breadth Options:

This subject is not available as a breadth subject.

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

In addition to learning specific skills that will assist students in their future careers in science, they will have the opportunity to develop generic skills that will assist them in any future career path. These include:

  • problem-solving skills: the ability to engage with unfamiliar problems and identify relevant solution strategies;
  • analytical skills: the ability to construct and express logical arguments and to work in abstract or general terms to increase the clarity and efficiency of analysis;
  • collaborative skills: the ability to work in a team;
  • time-management skills: the ability to meet regular deadlines while balancing competing commitments.
Related Course(s): Master of Science (Mathematics and Statistics)

Download PDF version.