Explore UCD

UCD Home >

EEEN40580

Academic Year 2025/2026

Optimisation Techniques for Engineers (EEEN40580)

Subject:
Electronic & Electrical Eng
College:
Engineering & Architecture
School:
Electrical & Electronic Eng
Level:
4 (Masters)
Credits:
5
Module Coordinator:
Dr Efthymios Karangelos
Trimester:
Autumn
Mode of Delivery:
On Campus
Internship Module:
No
How will I be graded?
Letter grades

Curricular information is subject to change.

Engineering is the practice of making decisions to solve real-world problems. Whether it’s reorganising workflows and quality checks to manufacture high-quality products as efficiently and affordably as possible, designing the smallest, strongest, and most efficient circuit boards, or selecting materials to build the most robust, high-performing, and environmentally friendly jet engines, engineers work every day to make the best possible use of limited resources. Translating real-world decision-making problems into mathematical optimisation problems provides a gateway to powerful computational tools, capable of handling otherwise unmanageable complexities while being underpinned by well-established theory.

This module presents mathematical foundations and algorithmic tools for modeling and solving practical optimisation problems. It aims to equip students with the skills to formulate and solve decision-making problems reflective of real-world engineering challenges, to interpret and critically evaluate optimisation results, and to navigate trade-offs between modelling precision, computational complexity/tractability, solution quality and practical relevance.

The module topics include:

1. Linear programming (the simplex algorithm, manufacturing/workshop models etc)

2. Integer programming (assignment problems, branch & bound etc)

3. Duality (Lagrange dual, weak & strong duality)

4. Convex optimisation (convex functions, optimality conditions, duality, quadratic optimisation)

5. Non-convex optimisation (local vs. global optimisation, optimality conditions)

6. Non-linear optimisation algorithms (gradient descent methods, quasi-Newton methods)

About this Module

Learning Outcomes:

On successful completion of this module the student should be able to:

1. Formulate mathematical optimisation problem statements on the basis of decision-making problem verbal descriptions.

2. Understand the properties of the different optimisation problem classes.

3. Explain the theory underpinning respective solution approaches.

4. Develop proof-of-concept computational implementations of optimisation and interpret results.

5. Recognise trade-offs between modelling accuracy, optimality and computational complexity.

Student Effort Hours:
Student Effort Type Hours
Lectures

24

Specified Learning Activities

12

Autonomous Student Learning

80

Online Learning

11

Total

127


Approaches to Teaching and Learning:
1. Lectures first introduce the ideas behind the theory that is going to be developed;
2. The formalisation of the idea leads to the development of the theory;
3. Whenever possible, software is used to develop experiments illustrating the main features of the theory;
4. During each lecture, the links with the lecture before and after are outlined so as to gain the logical links between the topics

Requirements, Exclusions and Recommendations
Learning Recommendations:

A good facility with computer scripting, as well as a solid grasp on numerical methods will ground a student well for this module. A good familiarity with MATLAB or C++ or Python, Julia or GAMS will be very helpful.


Module Requisites and Incompatibles
Not applicable to this module.
 

Assessment Strategy
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Exam (In-person): An invigilated Brightspace quiz to be completed in-person during the timetabled class slot. Week 12 Alternative linear conversion grade scale 40% No
30
No
Exam (In-person): An invigilated Brightspace quiz to be completed in-person during the timetabled class slot. Week 5 Alternative linear conversion grade scale 40% No
30
No
Individual Project: Two Julia optimization programming tasks, each worth 20%. Due in week 4 and week 8. Week 4, Week 8 Graded No
40
No

Carry forward of passed components
No
 

Resit In Terminal Exam
Spring No
Please see Student Jargon Buster for more information about remediation types and timing. 

Feedback Strategy/Strategies

• Group/class feedback, post-assessment
• Online automated feedback

How will my Feedback be Delivered?

Not yet recorded.

The programming language in this module will be Julia; we will use the Google Colab environment, to minimise any device-specific setup faff. We will be using the JuMP modeling language for formulating practical optimisation problems in this environment.

Some suggested books that support the module content include:

- "Convex Optimization" by Stephen Boyd and Lieven Vandenberghe.

- "Lectures on Modern Convex Optimization: Analysis, Algorithms, and Engineering Applications" by Aharon Ben-Tal and Arkadi Nemirovski.

- "Constrained Optimisation and Lagrange Multiplier Methods" by Dimitri Bertsimas.

-"Practical Optimization: a Gentle Introduction" by John W. Chinneck.

- "Mathematical Programming with Julia: An open-source approach to Linear & Mixed Integer Programming Version 1.0 Julia 1.7.2/JuMP 1.0" by Richard Lusby and Thomas Stidsen.

Name Role
Mr Ishan Bipin Bhise Tutor
Mr Soham Shrikant Jadhav Tutor

Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Autumn Lecture Offering 1 Week(s) - 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12 Mon 17:00 - 17:50
Autumn Lecture Offering 1 Week(s) - Autumn: All Weeks Wed 10:00 - 10:50