In a previous article, we have seen that it is quite hard to design a manufacturing plant. We need to think of many things: products cannot wait too long, but at the same time, buffer space and installing many machines cost money. We have seen that queueing networks can be a great aid to answering such design questions. In this article, we look more closely at what queueing networks in manufacturing plants look like. It turns out that they have a very distinctive feature in that they are layered.
Customers and servers in traditional queueing networks
The mathematical study of queueing networks has attracted quite some attention from researchers already since the 1950s. For all kinds of queueing networks, they have answered important questions, such as 'How long will products have to wait in the buffers?' and `How often will the buffers be completely full?' However, none of these investigated queueing networks look like the layered networks in a manufacturing plant. This is mainly because researchers assumed that in queueing networks, someone or something is either a customer (an entity that requires service) or a server (an entity that provides service), but not both. In layered networks, the entities can actually be both customers as well as servers.
Indeed, the products in manufacturing plants are obviously customers: they require service from a machine. This automatically makes the machines servers. However, in a manufacturing plant, machines can break down, after which they need to be repaired by a mechanic. Then, the machines become customers, and the mechanic acts as a server. Apparently, the machines can be servers and customers at the same time!
This is quite a break from the traditional assumptions made about queues and force us to rethink their analysis completely. Indeed, we cannot simply ignore this: machines will be offline from time to time, which definitely needs to be taken into account while designing a manufacturing plant. The million dollar question now is how to resolve this problem.
The solution is to model a manufacturing plant as a layered queueing network rather than as a traditional queueing network. While entities can be servers in one layer, they can be customers in another, which brings us closer to the traditional settings of queueing theory, at least within one layer. Let us explain in more detail how this can be done.
Modelling the manufacturing plant as a layered queueing network
As we now have seen, to design a manufacturing plant it is crucial to consider machines both as customers and as servers. Nevertheless, a manufacturing plant can still be modelled as a queueing network, but then rather one with a layered architecture, that is, as a layered queueing network. Such a queueing network is divided in layers, and contain entities that are customers in one layer, while they fulfill the role of server in another. These layers thus cleanly separate the different roles that machines can have as customers and as servers.
To see this how this works for the manufacturing plant, observe the figure above, where two product buffers in a manufacturing plant are depicted.
In the first layer, products arrive in each of the queues there and wait to be processed by their machines (M1 and M2). In the figure, machine M1 is processing products of its queue in the order of their arrival. In the first layer, the products are clearly customers, and M1 has the role of a server.
Machine M2 , however, has just broken down, and is therefore moved to the second layer of the network. M2 waits there as a customer, as it now needs to be repaired by the mechanic. Luckily, the machines do fulfill just one role within a layer: server in the first, customer in the second. This has the enormous advantage that a layer can, in a way, be considered a traditional queue when it is viewed in isolation. Therefore, we can rely on some of our knowledge of traditional queues in the design of manufacturing plants.
Layered queueing networks in practice
Layered queueing networks arise in many applications, not just in manufacturing plants. An example is peer-to-peer networks, where users are servers by uploading their files for others, while they are customers by downloading files from others. Another example is given by large call centers. When we call as a customer, the agent on the other side of the line answering our questions is obviously a server. However, he or she may pause the conversation to consult a senior agent in case of an unusual query, becoming a customer in the process.
In the figure below, we give a layered queueing network representation of a call center of an energy supplier. As usual, calling customers are presented with a menu: “Press 1 for billing questions, press 2 if you wish to report a move to a new place of living, and press 3 if you have another question”. Each of the three categories require different expertise from a handling agent, and in practice, each category is assigned a separate pool of agents (represented as B, R and O in the figure). When we call and no agent of the needed category is available, we are placed in a separate queue in the first layer of the system. Here, the handling agents are the servers. When an unusual query arises, the handling agent puts us on hold to advance to the second layer of the queue to request advice from his or her supervisor. This way, he or she becomes a customer, and may have to wait in case the senior agents are all busy.
A final example consists of container transshipment in terminals, where (possibly automated) vehicles transport containers from a ship to a terminal or vice versa. This is the obvious server role that vehicles can have. When reaching the destination, a vehicle needs to wait for a crane to unload the container it carries or to load a new container onto it. This represents the customer role that vehicles can have. Other areas where layered architectures are useful include healthcare and computer science, but we do not go into details for those.
Rotterdam - Europe Container Terminals, terminal Maasvlakte, taken from Wikipedia, by user Quistnix, 2003
Now that we know how to view manufacturing plants and other applications as layered queueing networks, in an upcoming article we will discuss how to analyse these layered queueing networks mathematically.