Jay, Aria Networks CTO, in discussions with colleagues and with customers, frequently uses the phrase “what does good look like?” when solving a problem. It’s a simple question that really makes you think. In this article Jay introduces the concept of objective functions, a flexible AI approach to solving network design challenges.
To take an example from everyday life if you were shopping for car insurance what should you consider? The type of cover, excess to pay in event of a claim, courtesy car if you have an accident, legal cover, payment options, and so on. This is where comparison websites come into play. All they are doing is providing you with some options and you have to decide which is best for you. A daunting but manageable task for you because you have some idea of what you are looking for. How would you know what insurance quote to accept? I am sure it is not just the lowest price.
The thought process you would probably go through is:
- I want the lowest price that covers me.
- I am a careful driver so I don’t mind a high excess but a need a car if some idiot prangs me.
- Oh and cash flow is an issue so I want one that I can pay monthly.
That is exactly the thought process that could be encapsulated in an objective function: Minimise cost; cap cost at £X per month; minimise excess; maximise post-accident support.
All objectives are not equal so you might consider cost more than post-accident support, but are relaxed about the excess fees. This means you want to apply different ‘weights’ to the objectives. Some comparison websites provide sliders to tweak key criteria and see the change in price and insurance products. If it were possible to quantify your requirements then a suitably configured search engine could apply your objective function to all quotes and provide you with a ranked set removing the hassle of wading through comparative quotes.
[Devil’s Advocate: The objective function for you may not be the same as for me. What if I don’t want a high excess and I don’t mind paying yearly if there is a discount for a one-off payment?]
That is the beauty about using an objective function. The software that optimises the objective function remains unchanged. Just the components that require to be optimising need changing. We simply have to define what is good for you and what is good for me in clear terms.
So how does this relate to telco networks? Very well it turns out. If we consider the network as a calculator then each calculation, complex as it is, is just an exercise in defining ‘what good looks like’. For service placement on an MPLS network ‘good’ might be low delay, low cost, low average utilisation, and high reliability. For an optical network ‘good’ might be wavelength utilisation, minimising inline amplifiers, maximising signal to noise and maximising power headroom.
As long as the optimisation function is able to modify a solution based on the constituents of the objective function then the underlying computation engine needs no modification other than a definition of the objective function.
One example I like to use with customers that really exemplifies the power of objective-driven artificial intelligence (AI) is one of network and service evolution. Let us suppose we do a network optimisation and find that we can get a 20% decrease in required network resources by rerouting customer traffic. This is a significant saving so we decide we want to do this, but the difficult question that needs answering now is “how do we get from our current network to our target network”? So let’s ask the question: What does good look like?
This is a useful exercise to go through even if you don’t want to employ objective-driven AI techniques. I might start by saying I want the migration of services to happen in less than five steps. I want high revenue services migrated first and they must always have a backup path with network properties cost, delay and protection equal to original routing with no services susceptible to a single point of failure, keep transitions regional were possible and finally the end result must come in at least 15% improvement in network resources. This can be crafted into an objective function and the ‘network calculator’ can be exercised using objective-driven AI to evolve optimal scenarios, reporting the best solution. Again the beauty of this approach is that you can easily modify the objective to change the behaviour without changing the software.
Summarising; if you know exactly what you want to do and it is deterministic then go ahead and employ standard linear algorithms, sequential programming or bespoke processing procedures. But if you want something that is robust and highly flexible then use objective-driven AI and don’t forget to ask that all important question:
“What does good look like?”