"Optimum,” "optimality," "optimal routes." Many developers — including Veeroute's experts — often use these words to describe their software products and solutions. You might think that these terms do not need any extra explanation, as they seem intuitive and generally do not raise questions from the customer.
There's a certain amount of cunning in refusing explanations since the everyday and professional meanings of the word “optimal” differ from each other notably. Furthermore, if a customer does not have a clear understanding of this difference, they risk spending money on a product that, in fact, does not optimize anything.
In this article, we would like to talk about the terminological differences and clarify one of the key concepts in our field. So, what is optimality?
Optimality in everyday speech
In casual speech, we are accustomed to using the word "optimal" to describe the object that suits us for any reason — perhaps a shower cabin that fits perfectly in a bathroom, or a smartphone that fits your budget.
Sometimes, the word "optimal" is used as an emotional and evaluative characteristic: I believe that this object is better than the other ones, and, therefore, I call it optimal.
Let's check the definition in Merriam-Webster's Collegiate Dictionary.
“Optimal — most desirable or satisfactory.” Seems correct, doesn’t it?
However, if the client interacts with the contractor, who exploits the term "optimality" in its everyday meaning, the client is put in a deliberately vulnerable position. This is because “the most desirable” is an estimated characteristic that cannot be verified or measured.
An unscrupulous developer can easily take advantage of this and sell their solution as "providing the most desirable results," calling the product an optimizer — even if, in fact, it does not perform optimization at all.
Optimality in mathematics
In order to be protected from possible manipulation and deception, we need to understand that optimality is primarily a technical term that has a precise meaning.
Let's turn to the simple definition given by the Handbook of Research on Modern Optimization Algorithms and Applications in Engineering and Economics, 2016.
Mathematical optimization is the selection of the best element (with regard to some criteria) from some set of available alternatives.
From this definition we knew that:
If we call something optimal, it means that it is basically impossible to create a better option.
For example, if we declare the route optimal, it means it is, in fact, impossible to build a better one.
Optimality always has defined criteria (one or a few).
So, you can not build a route that is optimal per se. It must be optimal on some basis: in terms of cost, mileage, time, etc.
It leads us to the conclusion that, theoretically, the statement of optimality can be easily refuted — to do this, you simply have to present a solution that is better in the chosen parameter. A truly optimal solution cannot be made better as a matter of principle.
This ideal solution is called globally optimal. In mathematics, the term "optimality" specifically means being globally optimal.
Optimality in business
As you can probably guess, practically, finding the global optimum ends up being a time-consuming process.
The fundamental complexity of optimization issues lies in the number of parameters that must be considered when solving the problem. The more parameters that are taken into account, the more time and effort will be spent.
This complexity is clearly evident in solving real business problems. In academic examples, the search for the optimum is done in isolation from real life. Yet, in practice, optimization requires considering hundreds of details describing the business objectives of a specific company.
If these details are neglected, the solution — even if it's optimal from the mathematical point of view within the given assumptions — will not be optimal from the business point of view. Moreover, it is likely that the company won't be able to use it in operations at all.
Thus, for example, the current traffic situation plays an important role in delivery optimization. If we do not take into account real-time traffic jams when planning routes, drivers will hardly be able to comply with time windows because the real travel time will change unpredictably. Routes built in such a way cannot be called optimal, even if they seem perfect during the calculations stage. And traffic jams are just a single detail of many more factors that affect the delivery process.
Optimization time is another factor that can be crucial for a company's current business processes.
As an example, dynamic planning is urgently needed in express delivery. The courier's route must be instantly adjusted if the customer cancels the order or if there is an accident happening ahead on the road. Otherwise, the employee may waste too much time and be late for the next client.
If the volume of deliveries is small, then route planning and adjusting can be handled manually or by simple software tools. But the higher the number of orders, the wider the delivery area, the more transportation requirements, and the more complex the client service system is, the more time the routing takes — and the more difficult it is to handle it using simple improvised means. At the same time, the cost of a mistake can be very high, as customers on the last mile tend to overreact to late arrivals. They can easily switch to a competitor if they are not satisfied with the delivery quality.
Optimizer, optimum, and sub-optimum
Knowing all of the above, we can draw a reasonable conclusion: manual optimization is suitable only for small companies wherein the variability of possible solutions is pretty low. A local online store with a small narrow niche product range and a limited delivery area can easily entrust the route planning to an operator or office manager, as long as the velocity of business processes and the service level remains unaffected.
As the business scales and becomes more complex, manually solving optimization problems becomes more and more difficult. Here, the specialized software comes to the rescue — the optimizers. They are able to find, for a reasonable time, a solution that is close to globally optimal and, at the same time, considers the specifics that affect the feasibility of the result.
In mathematics, this kind of solution is called suboptimal. If the solution cannot be improved with little effort and an available set of tools, then it is called locally optimal.
In most business-related cases, the term "optimality" and suboptimal are used interchangeably.
This is not perfectly correct from a mathematical point of view, but in practice, there will be no significant difference between the optimal and suboptimal solutions.
Roughly speaking, if the courier delivers the order in 10 minutes and 1 second, rather than in 10 minutes, it won't be a problem for anyone. Yet, in terms of mathematics, the delivery time will be approximately 0.17% more than the ideal value. Since the mathematical model does not fully correspond to the real world, this insignificant difference can be ignored.
But that’s not all
From a business point of view, statements about optimality are also easy to refute since, in addition to measurable parameters — such as cost, mileage, driver salaries, etc. — there are also non-measurable parameters that may significantly affect the quality of the solution.
As an example, they may include possible reputational losses. If we overdo optimizing the cost of couriers, we can get customer complaints about the long delivery time and, therefore, lose some of the clients.
Another factor is uncertainty. The client may cancel or reschedule the order, the road may be blocked, the car may break down on the way — if the mathematical model does not include various risks, the solution can not be called optimal from a business point of view.
Is optimality a myth then?
Yes and no, depending on the tasks you have to solve.
Optimality certainly exists in the academic environment; scientific and educational activities deliberately use precise model tasks, as they are much simpler than those that arise in practice.
From a business point of view, optimality is indeed a myth. A mathematical model, even a perfect one, is basically not capable of considering all the scenarios that can happen in the real world with some degree of probability. If you attempt to do this, it will lead to excessive complexity of the model. In this case an unreasonable amount of time is spent searching for a solution — and this can have a destructive impact, as optimization time is critical for many business areas, including last-mile delivery.
However, it doesn't mean optimizers aren't doing their job effectively enough, and here's why:
- It's not necessary to take into account every real-world characteristic to solve one specific problem. It is enough to consider only those that influence the solution and its feasibility.
- The difference between globally optimal and suboptimal solutions is usually negligible and is not worth the time spent. Besides, reducing optimization time is often more valuable for business than finding a slightly better solution.
It also should be noted that not all suboptimal solutions are equally good.
Thus, two different optimizers can find two different suboptimal solutions at the same time, and one of them will be better. And vice versa: two optimizers can find the same suboptimal solution at different times — the calculation quality will be the same, but one will be faster than the other. But it will depend on the comparative characteristics of specific products rather than optimality, per se.
So what conclusions should be drawn?
When buying an optimizer, you are most likely getting a suboptimal solution for your business needs. And there is nothing wrong with that.
If you have doubts about the contractor's integrity, ask them to explain what exactly optimality means.
When applied to the product. If they explain it exclusively in everyday terms, most likely, they are trying to sell you something completely different from what you are expecting.
Don't take marketing materials at their word. If possible, test the product on your real data and compare the optimizer's solution with your own results.