Skip to main navigationSkip to main content
The University of Southampton

MATH1058 Operational Research I and Mathematical Computing

Module Overview

The module has two parts. The first part provides an introduction to the topic of operational research (OR). The key role of using models in OR to obtain solutions of practical problems arising in a variety of contexts is emphasised. Some classical problems are analysed and standard techniques for solving them are investigated. The second part of the module covers computer programming and its use in solving certain types of mathematical problems. The computer programming language used is Python. One of the pre-requisites for MATH2013

Aims and Objectives

Learning Outcomes

Learning Outcomes

Having successfully completed this module you will be able to:

  • Formulate a mathematical model for certain types of practical problem
  • Demonstrate knowledge and understanding of selected OR techniques
  • Appreciate the capabilities and limitations of OR techniques.
  • Implement simple mathematical modeling and algorithms for to computational solutions of decision making problems.
  • Code simple mathematical algorithm in a programming language (Python), to analyze the computational behavior of such algorithms, and to describe them in writing.


Operational Research • Linear programming (LP): assumptions, applications, geometry of LPs, graphical solution method, simplex method (single-phase and two-phase). • Elements of integer programming modeling. • Introduction to algorithms: definition and specification of algorithms; asymptotic estimates of their running times. • Sorting algorithms. • Shortest path algorithms for graphs with nonegative arc lengths. Mathematical Computing • Python: introduction, basic usage of the software used (either Jupyter notebooks or Spyder) • Variables: Definition, naming conventions and using sensible names. Integer, float, strings, printing. • Loops: Concept of iteration, using for and while loops, range function. Semantic whitespace in Python. • Control flow: Logical statements and boolean variables. if/elif/else. • Functions: Concept and procedural programming. Definition in Python: def and return keywords. Docstrings and help. Script files, import, packages. • Data structures: Lists, tuples, dictionaries and sets. Vectors and arrays through numpy. • LaTeX: Basic environments and sections. Packages such as amsmath. BibTeX and reference managers. Creating long documents. • Excel: advanced data analysis and presentation. Linking to other packages (eg Python via xlrd and xlwt).

Learning and Teaching

Teaching and learning methods

Lectures, problem classes, computer workshops, private study.

Supervised time in studio/workshop20
Preparation for scheduled sessions12
Completion of assessment task60
Total study time150

Resources & Reading list

S.Dasgupta, C.H. Papadimirriou, U. Vazirani (2006). Algorithms. 

A.Saha (2015). Doing Math with Python. 

W.L. Winston (2004). Operations Research: Applications and Algorithms. 

H.P. Langtangen (2016). A Primer on Scientific Programming with Python. 



MethodPercentage contribution
Closed book Examination  (90 minutes) 40%
Coursework 20%
Coursework 40%


MethodPercentage contribution
Closed book Examination  (90 minutes) 50%
Coursework 50%

Repeat Information

Repeat type: Internal & External

Linked modules

Pre-requisites: MATH1048 AND MATH1059


Costs associated with this module

Students are responsible for meeting the cost of essential textbooks, and of producing such essays, assignments, laboratory reports and dissertations as are required to fulfil the academic requirements for each programme of study.

In addition to this, students registered for this module typically also have to pay for:

Books and Stationery equipment

Recommended texts for this module may be available in limited supply in the University Library and students may wish to purchase reading texts as appropriate.

Please also ensure you read the section on additional costs in the University’s Fees, Charges and Expenses Regulations in the University Calendar available at

Share this module Share this on Facebook Share this on Twitter Share this on Weibo
Privacy Settings