# EEEN40580 Optimisation Techniques for Engineers

## Academic Year 2024/2025

Mathematical optimization is concerned with finding the best available value of an objective function through appropriately choosing controllable variables/designer parameters within a set of given constraints. A broad variety of problems arising from diverse applications including production optimization in manufacturing, crew scheduling and aircraft assignment for airlines, optimal production and distribution of electricity or portfolio management in finance, can be formulated as mathematical optimization problems. This module presents the mathematical concepts and algorithmic tools for modeling and solving practical optimization problems.

1. Linear programming (the simplex algorithm, manufacturing, multiperiod models)

2. Integer programming (Assignment problems, optimization problems on graphs, shortest path problems, branch & bound)

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

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

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

6. Nonlinear optimization algorithms (gradient descent methods, quasi-Newton methods, interior-point methods, sub-gradients)

7. Optimization under uncertainty (uncertainty modeling, robust optimization, )

The coding language will be Python in this module

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

1. Be able to formulate real world optimization problems and incorporate uncertainty.

2. Be capable of implementing optimization solvers.

3. Convert problems to their dual formulation.

4. Be able to prove basic results on convex optimization.

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

Not yet recorded.

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 coding language in this module will be Python

Suggested books:
Theory:
A gentle introduction to optimization, by B. Guenin, J. Konemann, J. Tuncel. Publisher: Cambridge University Press
Boyd, Stephen, Stephen P. Boyd, and Lieven Vandenberghe. Convex optimization. Cambridge university press, 2004.

Practical examples and tools:
Hart, William E., et al. Pyomo-optimization modeling in python. Vol. 67. Berlin: Springer, 2017.
Soroudi, Alireza. Power system optimization modeling in GAMS. Vol. 78. Switzerland: Springer, 2017.
Name Role
Dr Barry Cardiff Lecturer / Co-Lecturer
Dr Deepu John Lecturer / Co-Lecturer
Professor Andrew Keane Lecturer / Co-Lecturer
Dr Alireza Nouri Lecturer / Co-Lecturer
Ms Rui Cai Tutor
Cliodhna Gartland Tutor