How can swarms of machines change your business?


Every day or so, a friend will send me a youtube link showing a swarm of robots doing something fun. They might be nudging a mobile phone into a user’s hands, completing a military mission, or creating a fancy light-effect behind Lady Gaga at Superbowl. These are entertaining projects, and are often the spearhead of smart academic research. They are not, however, connected enough to the daily problems at most organizations to inspire a commercial enterprise to explore the technology. Ignoring these videos though, could be a big mistake, given how collaborative machines are the next wave of disruption that will impact the Industrial Internet of Things (IIoT). Organizations should be looking at how to make their machines co-operate as a swarm (i.e. a self-organizing team), and there are plenty of real-world use cases where this could add significant value today.


Single Objective Problems

Many common challenges in business can be classified as single objective problems (SOPs). These SOPs resemble the farmer’s puzzle you may have encountered as a kid. The farmer must transport a fox, a bag of grain, and a chicken across a river in his boat. [I don’t know why the farmer wants to transport a fox. Most farmers would shoot it!]. The farmer can only carry one of the three in his boat at any time. The fox will eat the chicken, and the chicken will eat the grain, if either pairing is left together on the riverbank. How does the farmer meet his goal?  It’s not that hard (answer at the bottom of this article if you’ve not had enough caffeine), but what if there are six bags of grain, three chickens, four foxes, and two boats? What if the grain rots if left standing for more than an hour, each trip takes 17 minutes, one boat needs 3 hours of repairs today, and 2 chickens are a different breed that is significantly more valuable? This SOP with multiple variables is very common and surfaces in everyday functions such as production planning. There are three standard solutions:

  1. Person with a whiteboard (or spreadsheet): a local expert juggles resources and constraints, to come up with the best plan possible in the time given
  2. Cloud-based analytics: comprehensive data is fed into a cloud-based system, which uses analytics to review the problem and past solutions, then makes recommendations, or 'actionable insights' as the vendors like to say
  3. Combine 1 & 2: a common variant is where the local expert reviews the cloud-based analytics, points out the recommendations are ridiculous, and over-rides them

These approaches provide solutions that satisfy many situations, in a good enoughfashion, most of the time, although it will be acknowledged that these systems have inefficiencies that cost time & money. If the loss is big enough, it may warrant a solution involving data science and some operational research. That doesn’t guarantee a substantially better result though, especially when the environment is highly dynamic and/or suffers from frequent disruptions. 


Use-Case example: traffic

Let’s consider traffic management in a major city. We could describe this as a Multiple Objective Problem (MOP) – where we want to lower emissions, ensure smooth traffic flow, generate enough toll & parking revenue to maintain the roads, and so on, but let’s take a simple approach and say our goal is simply to maximize the throughput of traffic throughout the entire city.

We could give the city a maturity level for traffic planning:


At the most mature layer (which doesn’t reflect any city I’ve actually lived in), the system can cope effectively with the dynamic nature of traffic and most incidents, providing the system is fully integrated and remains connected.


Out of the box thinking

Instead, what would happen if we let the machines manage the process, rather than having a centralized plan? Imagine if your autonomous car could communicate with other elements in the vicinity, like other vehicles, streetlights, and pedestrians, and as you approached an intersection it knew the speed and exact location of each nearby item, along with their destination and route. The cars could time their crossing to slip between each other like synchronized dancers (or airplanes, who use a ‘slot’ based system – there are no traffic lights in the sky). When cars don’t have to stop, we not only reduce congestion, we also lower emissions and reduce fuel consumption. Who needs traffic lights any more? [Answer: the bikes & pedestrians, although we might find alternative routes for them, or keep green ‘slots’ available for them to cross the road]. Some research has already been done in this area. For complex intersections, it may be necessary to implement a batch system, so cars go through in chunks. Here’s a video that shows a simulation of this approach, from Peter Stone at the University of Texas.


Most people react to this in either horror "you won't see me in an autonomous car going across that!", or else it reminds them of traffic in a particular foreign location (Champs-Elysees... I'm saying nothing :) The key point is that the simulations show the throughput is more than doubled, and wait times are drastically reduced. It beats a mature traffic management system easily, providing a step change performance improvement.

With the rapidly approaching era of autonomous vehicles, these simulations may soon become reality, but smart cities are plagued by two critical problems. First, there are various agencies with independent goals and budgets that need to co-operate to make this happen (and if you think getting machines to collaborate is hard, you should try working with multiple government agencies). The second issue is that the beneficiaries, i.e. you and me, may not be willing to pay extra for a new traffic service. Shouldn’t the traffic flow properly anyway, based on the tax we pay? More critically, the current system probably works well enough for most people today. 


Use cases we can implement right now

The traffic example showcases the promise of collaborating machines, but there are easier targets with significant performance improvements that can be gained today, like blending. It may not seem obvious at first glance, but blending is an expensive problem for food companies, oil & gas, paint, and metal manufacturers. There are traditional, 'mature' solutions to blending (mainly linear programming), but a swarm of machines can change the way we look at the situation. In part 3 of this series of blog posts, we will explore blending in more detail, and see how swarms are going to change the way we look at our most common SOPs and MOPs.


[Answer to the problem: take the chicken first, then on the next trip, take the fox and then BRING THE CHICKEN BACK, so you can leave it on the opposite bank, while you shuttle the grain back to the fox, then return to collect the chicken]