No enterprise can afford to waste resources, be it time, money, or energy. Currently, optimization methods such as metaheuristics that can be used to reduce operational costs and resource consumption are a booming field. This is caused by several factors, such as the increased control that IT can exert over manufacturing due to concepts such as cyber-physical systems or the internet of things, or the rise of available computing power (e.g., due to cloud computing) as well as the availability of more (big) data. With all of these tools, we aim to automate decisions in management, planning, scheduling, and logistics. But, of course, automated decisions should be intelligent. And metaheuristics offer exactly this: The capability to make good decisions automatically and quickly.

This course, Metaheuristics for Smart Manufacturing [智能制造的元启发式算法], is designed to fit in either one or two compact slots of maybe four hours. We first try to get a basic understanding what an optimization problem is. We then pick a prominent example problem from the field of smart manufacturing and try to tackle it. We begin by developing a very simple and stupid algorithm and then step-by-step move on to better approaches.

Goals: We will

  1. learn about the basic principles of metaheuristic optimization,
  2. learn about the most prominent families of algorithms in the field,
  3. test these algorithms on a problem from smart manufacturing and investigate their strengths and weaknesses, and thus
  4. become able to quickly design optimization software prototypes for specific applications.

Teacher: Prof. Dr. Thomas Weise

Course Material

The course is largely based on the book "An Introduction to Optimization Algorithms" by Prof. Dr. Thomas Weise, which is freely available as electronic book in either pdf, html, epub, or azw3 formats. As course material, a comprehensive set of slides and examples is provided. Each course unit targets one closed topic, only building on previously introduced topics, and provides a examples and algorithm implementations in Java.

All algorithm implementations and programming examples can be found in the public GitHub repository thomasWeise/aitoa-code.

  1. organization
  2. introduction
  3. the structure of optimization
  4. random sampling
  5. hill climbing
  6. evolutionary algorithms
  7. simulated annealing
  8. comparing optimization algorithms
  9. outlook
  10. bonus: Why is optimization difficult?

Download all slides, the book, and the Java example source codes in one single tar.xz archive (can be extracted under Windows, Mac, and Linux).

Side note: All text and all graphics of the course book are available in the public GitHub repository thomasWeise/aitoa. If you want to write books like that, you can use our open source tool chain bookbuildeR which can automatically compile books to the formats above from text sources.