Course Title: Advanced Optimisation with Python

Part A: Course Overview

Course Title: Advanced Optimisation with Python

Credit Points: 12.00

Important Information:

To participate in any RMIT course in-person activities or assessment, you will need to comply with RMIT vaccination requirements which are applicable during the duration of the course. This RMIT requirement includes being vaccinated against COVID-19 or holding a valid medical exemption. 

Please read this RMIT Enrolment Procedure as it has important information regarding COVID vaccination and your study at RMIT:

Please read the Student website for additional requirements of in-person attendance: 

Please check your Canvas course shell closer to when the course starts to see if this course requires mandatory in-person attendance. The delivery method of the course might have to change quickly in response to changes in the local state/national directive regarding in-person course attendance. 


Course Code




Learning Mode

Teaching Period(s)


City Campus


145H Mathematical & Geospatial Sciences


Sem 2 2008,
Sem 2 2009,
Sem 2 2010,
Sem 2 2015


City Campus


171H School of Science


Sem 2 2020,
Sem 1 2022

Course Coordinator: Assoc. Prof. Melih Ozlen

Course Coordinator Phone: +61 3 9925 3007

Course Coordinator Email:

Pre-requisite Courses and Assumed Knowledge and Capabilities

MATH1293 Optimisation for Decision Making or equivalent course covering introductory discrete optimisation or integer programming

Elementary knowledge of Python (or commitment to learn at the start of the semester)

Course Description

Optimisation models are amongst the most widely used models in analytics and data science. They are used to solve a diverse range of problems comprising telecommunications, transport, timetabling, scheduling, workforce planning, loading, cutting and more. This course concentrates on formulating and building such real-life models, solving them using Python and commercial optimisation software and interpreting their solution.  The course will also introduce more advanced methods useful for solving large scale optimisation problems.

Objectives/Learning Outcomes/Capability Development

This course contributes to the following Program Learning Outcomes for MC004 Master of Statistics and Operations Research, MC242 Master of Analytics and MC267 Master of Data Science:

Personal and professional awareness

  • the ability to contextualise outputs where data are drawn from diverse and evolving social, political and cultural dimensions
  • the ability to reflect on experience and improve your own future practice
  • the ability to apply the principles of lifelong learning to any new challenge.

Knowledge and technical competence

  • an understanding of appropriate and relevant, fundamental and applied mathematical knowledge, methodologies and modern computational tools.


  • the ability to bring together and flexibly apply knowledge to characterise, analyse and solve a wide range of problems
  • an understanding of the relationship between the purpose of a model and the appropriate level of complexity and accuracy.


  • the ability to effectively communicate both technical and non-technical material in a range of forms (written, electronic, graphic, oral), and to tailor the style and means of communication to different audiences.  Of particular interest is the ability to explain technical material, without unnecessary jargon, to lay persons such as the general public or line managers.

Information literacy

  • the ability to locate and use data and information and evaluate its quality with respect to its authority and relevance.

On completion of this course, you should be able to:

  1. Utilise the power of mathematical programming and its range of applications;
  2. Formulate and solve advanced real life mixed integer programming (MIP) problems using Python;
  3. Implement MIP models using Python and commercial software;
  4. Use heuristic optimisation methods to solve challenging problems;
  5. Interpret the solution to MIP problems.

Overview of Learning Activities

The outcomes for this course are best achieved through hands-on experience. Introductory lectures will cover some basic mathematical techniques required to formulate mixed integer programming problems. An introduction to the principles behind solution methods will be presented for you to understand the impact of your model formulations. An illustration will be presented on how to solve an MIP model using Python and a commercial software package. After that, numerous real-life problems from a diverse set of practical applications will be presented and discussed in detail. You will have regular opportunities to practice your model formulation and problem-solving skills through the practical assessments over the semester. 

Overview of Learning Resources

A recommended reading list will be provided. It is possible to undertake all the assessments using commercial software that is freely available to students, and you will need access to a personal computer (Windows / Mac / Linux) to download, install and use this software. Note that Smartphones, Apple/Android tablets or Chromebooks are not suitable for use with the commercial optimisation software. 

Library Subject Guide for Mathematics & Statistics

Overview of Assessment

Assessment Tasks:

Assessment Task 1:  Practical Assessment 1
Weighting 25%
This assessment task supports CLOs 1, 2, 3 and 5

Assessment Task 2: Practical Assessment 2
Weighting 35%
This assessment task supports CLOs 1, 2, 3, 4, and 5

Assessment Task 3: Practical Assessment 3
Weighting 40%
This assessment task supports CLOs 1, 2, 3, 4, and 5