This course prepares the engineer with advanced skills in the area of real-time optimisation for embedded systems. The course covers mathematical programming problem descriptions, necessary and sufficient conditions of optimality, duality, algorithm design and real-time considerations including early termination and warm-starting. The course covers special cases of linear programming, quadratic programming, convex programming and general smooth non-linear programming, slack variables and soft constraints as they arise in engineering problems. It also covers non-linear least squares problems with application to parameter estimation in dynamic systems, and integer programming and mixed-integer programming and their application to multi-agent task planning. The course has a particular emphasis on embedded systems applications where accuracy can be traded for speed.
Not currently offered.
This Course was last offered in Semester 2 - 2019.
On successful completion of the course students will be able to:
1. Translate code from Matlab to C for real-time testing
2. Formulate a mathematical programming problem from real-world problems
3. Discern between the many possible formulations of a problem in order to increase the efficacy of available solvers
4. Formulate the dual optimisation problem
5. Introduce slack-variables and quantify the effect of their violation
6. Formulate and solve non-linear least squares problems
7. Formulate mixed-integer programming problems
This course will cover:
1. Real-time applications and programming considerations
2. Mathematical programming problem descriptions
3. Necessary and sufficient conditions for optimality
5. Algorithm design including warm/hot starting
6. Real-time considerations for engineering applications
7. Convex programming
8. Non-convex programming including non-linear least-squares
9. Slack-variables and soft-constraints
10. Integer and mixed-integer programming
11. Early termination and warm-starting procedures
This course is restricted to students in the Master of Professional Engineering (Mechatronics) 40063 program and those who meet the assumed knowledge. Students who are not enrolled in the MPE (Mechatronics) 40063 program, but can demonstrate the assumed knowledge, will only be able to enrol after discussion with the course co-ordinator.
MCHA3400 Embedded Systems Engineering or equivalent.
Tutorial / Laboratory Exercises: Laboratory 1
Tutorial / Laboratory Exercises: Laboratory 2
Tutorial / Laboratory Exercises: Laboratory 3
Tutorial / Laboratory Exercises: Laboratory 4
Tutorial / Laboratory Exercises: Laboratory 5