Skip to main content
Unit of study_

ELEC5213: Engineering Optimisation

The unit of study provides an introduction to engineering optimisation, focusing specifically on practical methods for formulating and solving linear, nonlinear and mixed-integer optimisation problems that arise in science and engineering. The unit covers conventional optimisation techniques, including unconstrained and constrained single- and multivariable optimisation, convex optimisation, linear and nonlinear programming, mixed-integer programming, and sequential decision making using dynamic programming. The emphasis is on building optimisation models, understanding their structure and using off-the-shelf solvers to solve them. While the unit is designed with engineers in mind, it provides sufficiently rigorous mathematical treatment to allow deeper study. The application focus is on the optimisation problems arising in electrical engineering, including power systems, communications, signal processing, control and computer engineering. The unit will use Matlab and AMPL as modelling tools and a range of state-of-the-art solvers, including Cplex, Gurobi, Knitro and Ipopt.

Code ELEC5213
Academic unit Electrical and Information Engineering
Credit points 6
Prerequisites:
? 
None
Corequisites:
? 
None
Prohibitions:
? 
None
Assumed knowledge:
? 
Linear algebra, differential calculus, and numerical methods. Competency at programming in a high-level language (such as Matlab or Python)

At the completion of this unit, you should be able to:

  • LO1. Explain the fundamentals of mathematical optimisation and the need for numerical methods
  • LO2. Explain the mathematical foundation of optimisation algorithms
  • LO3. Explain the numerical methods required to solve optimisation problems
  • LO4. Identify the class of an optimisation problem along with suitable solver technology to solve it
  • LO5. Employprogramming language MATLAB and MATLAB’s Optimization Toolbox to model and solve optimisation problems arising in different engineering disciplines
  • LO6. Write the code in a high-level programming language (such as Matlab or Python) to implement basic numerical solution techniques for solving constrained and unconstrained optimisation problems
  • LO7. Write a report to communicate complex project-specific information concisely and accurately and to the degree of specificity required by the project at hand