A group of researchers at the Massachusetts Institute of Technology have devised a potentially more effective way of helping computers solve some of the toughest optimization problems they face.
Their new algorithm is more computationally effective than other approaches, because it scales in a "near-linear" fashion, according to Jonathan Kelner, an associate professor of applied mathematics at MIT and a member of MIT's Computer Science and Artificial Intelligence Laboratory, who co-authored the new algorithm.
[ Work smarter, not harder -- download the Developers' Survival Guide from InfoWorld for all the tips and trends programmers need to know. | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]
"The running times for previously known algorithms scaled substantially worse than linearly," Kelner wrote by email, meaning that as a problem becomes more complex, the performance of the computer undertaking the problem slows dramatically.
Linear scaling means that the time it takes to solve a problem using a formula is more or less directly proportional to the size of the problem space being studied.
While the appearance of a potentially powerful new algorithm may not be as exciting as the latest gadgets from this week's Consumer Electronics Show in Las Vegas, it could ultimately have deeper repercussions for the industry, if it significantly cuts the amount of work being done on writing program code and allows computers to efficiently tackle complex problems.
One day, an airline might want to use this optimization algorithm to find the most efficient way of scheduling its flight crews, for instance. Or a router may use it to calculate the fastest path through a busy network.
Kelner and colleague Lorenzo Orecchia will present the algorithm at the ACM (Association of Computing Machinery) Symposium on Discrete Algorithms (SIAM) being held this week in Portland. A number of graduate students as well as mathematicians from Yale University and the University of Southern California also participated in the work.
The paper also appears in the January edition of the ACM-SIAM Symposium on Discrete Algorithms journal. It won an award from the ACM as the best paper of this year's ACM-SIAM.
The algorithm doesn't have an official name yet, though it is being referred to as the "KLOS algorithm" after the first letters of the last names of the primary authors (Kelner, Yin Tat Lee, Orecchia and Aaron Sidford -- who are all from MIT).
Today, optimization problems are usually solved using one of a number of maximum-flow algorithms, often shortened as max-flow.
Max flow models a network by constructing a graph that represents all the end-points as nodes, or vertices, and all the connections among them as edges. It then estimates the most efficient way to route traffic through the network, given the maximum capacity of each node. Max flow estimates the throughput on the edges by saturating an edge one at a time, moving from one edge to the next for additional throughput.
With very complex networks, this approach can consume too much time and too many resources to work effectively. Today's problems often have millions or even billions of edges, Kelner pointed out.
The new algorithm tests all the paths, or edges, at once. The approach is much like electricity running through a circuit of parallel resistors, where the current will spread across all the possible paths at once. To further cut processing time, the algorithm can identify bottlenecks in a network, which max flow algorithms typically do not do.
While the formula could represent a breakthrough in solving optimization problems, much work still needs to be done getting it ready for production use in computers.
"The work we have published so far has focused on the theory, and it would be a fair amount of work to produce a good implementation that exactly follows it," Kelner wrote. The researchers will probably take another turn at making the algorithm simpler before attempting to implement it in a software library so it can be easily used by others.