1st Edition

Applied Mathematics with Open-Source Software Operational Research Problems with Python and R

By Vincent Knight, Geraint Palmer Copyright 2022
    152 Pages 18 B/W Illustrations
    by Chapman & Hall

    152 Pages 18 B/W Illustrations
    by Chapman & Hall

    152 Pages 18 B/W Illustrations
    by Chapman & Hall

    Applied Mathematics with Open-source Software: Operational Research Problems with Python and R is aimed at a broad segment of readers who wish to learn how to use open-source software to solve problems in applied mathematics. The book has an innovative structure with 4 sections of two chapters covering a large range of applied mathematical techniques: probabilistic modelling, dynamical systems, emergent behaviour and optimisation. The pairs of chapters in each section demonstrate different families of solution approaches. Each chapter starts with a problem, gives an overview of the relevant theory, shows a solution approach in R and in Python, and finally gives wider context by including a number of published references. This structure will allow for maximum accessibility, with minimal prerequisites in mathematics or programming as well as giving the right opportunities for a reader wanting to delve deeper into a particular topic.


      • An excellent resource for scholars of applied mathematics and operational research, and indeed any academics who want to learn how to use open-source software.
      • Offers more general and accessible treatment of the subject than other texts, both in terms of programming language but also in terms of the subjects considered.
      • The R and Python sections purposefully mirror each other so that a reader can read only the section that interests them.
      • An accompanying open-source repository with source files and further examples is posted online at https://bit.ly/3kpoKSd.

    Section I. Getting Started. 1. Introduction. 1.1. Who is This Book For? 1.2. What do We Mean by Applied Mathematics? 1.3. What is Open-Source Software. 1.4. How to Get the Most Out of this Book. 1.5. How Code is Written in this Book. Section II. Probabilistic Modelling. 2. Markov Chains. 2.1. Problem. 2.2. Theory. 2.3. Solving with Python. 2.4. Solving with R. 2.5. Wider Context. 3.Discrete Event Simulation. 3.1. Problem. 3.2. Theory. 3.3. Solving with Python. 3.4. Solving with R. 3.5. Wider Context. Section III. Dynamical Systems. 4. Differential Equations. 4.1. Problem. 4.2. Theory. 4.3. Solving with Python. 4.4. Solving with R. 4.5. Wider Context. Chapter 5. Systems Dynamics. 5.1. Problem. 5.2. Theory. 5.3. Solving with Python. 5.4. Solving with R. 5.5. Wider Context. Section IV. Emergent Behaviour. 6. Game Theory. 6.1. Problem. 6.2. Theory. 6.3. Solving with Python. 6.4. Solving with R. 6.5. Wider Context. 7. Agent Based Simulation. 7.1. Problem. 7.2. Theory. 7.3. Solving with Python. 7.4. Solving with R. 7.5. Wider Context. Section V. Optimisation. 8. Linear Programming. 8.1. Problem. 8.2. Theory. 8.3. Solving with Python. 8.4. Solving with R. 8.5. Wider Context. 9. Heuristics. 9.1. Problem. 9.2. Theory. 9.3. Solving with Python. 9.4. Solving with R. 9.5. Wider Context.


    Vince Knight is a Senior Lecturer at Cardiff University in the School of Mathematics. His research interests are in emergent behaviour, probabilistic modelling, applications in healthcare and pedagogy. He maintains a number of open-source research software projects, is a trustee of the UK Python association, is an editor for the Journal of Open-Source Software, was awarded the 2017 John Pinner award for contribution to the Python community and is a fellow of the Sustainable Software Institute. He regularly wins awards for his teaching in the School of Mathematics. He does not only speak at conferences around the world but continues to organise conferences to bring the power of open-source software to as many people as possible.

    Geraint Palmer is a Welsh Medium Lecturer at Cardiff University in the School of Mathematics. He is a member of the operational research group where his research interests are in simulation and probabilistic modelling, in particular applying these to model public services such as healthcare systems. He uses open-source software in all aspects of his research: he is a maintainer of Ciw, an open-source Python library for discrete event simulation, and won the OR Society's Doctoral Award in 2018. Geraint is also a fellow of the Software Sustainability Institute and has presented at a number of international conferences on the subject of best practice of scientific computing, and regularly teaches programming and runs coding workshops for people of all ages.

    "This is an outstanding introduction to Operational Research, providing a hands-on, practical discussion of a number of key topics, with examples, exercises and an excellent use of open-source software that allows the learner to explore the topics and ideas for themselves. Also, each chapter ends with a discussion of the wider context, including details of more advanced work and different applications, together with appropriate references to published work in the literature. In the past I have taught similar course to Maths, Computer Science and Business students, using software where available. However, this book allows the student to go much further, taking control of their own learning and adapting the code to explore the different topics more fully. As such, I would strongly encourage anyone teaching or learning Operational Research to buy and use this excellent resource."
    – Sally McClean FRSS, Ulster University, United Kingdom

    "What an exciting contribution to Open Science and mathematics from Knight and Palmer. Essential reading for all Operational Researchers who wish to use Free and Open-Source Software and share their models with others."
    – Thomas Monks, University of Exeter, United Kingdom

    "This book is targeted towards a wide range of readers including students with interest in applied mathematics, operational research and related disciplines, programmers, or just hobbyist who like to solve maths problems. This book covers problems on various topics including Markov Chains, Discrete Event simulation, Differential Equations, Game Theory, Systems Dynamics, Agent-based simulation, Linear Programming, and Heuristics. There is something for everybody’s taste! The programming codes are available in both Python and open-source software package R and the codes are easy to follow and understand."
    – Sanja Petrovic, Nottingham University Business School, United Kingdom