|
|
|
|
|
by hergin
2279 days ago
|
|
As far as I understand, this is for developers to develop algorithms, right? If that is the case, aren't the algorithms mature already? Or are we as developers just passing the data to existing algorithms and problem types of your system? |
|
In sound-byte form, this is for developers to develop algorithms.
What we really mean by that is for developers to easily automate decision making at any scale. Those can be simple rules-based decisions, or complex decisions requiring sophisticated approaches. We believe that the practice and methodology behind the automation are as important as the algorithms themselves.
Regarding your questions of maturity, it depends :). Some algorithms commonly used in decision making, such as linear sum assignment or shortest path algorithms are quite mature and (generally speaking) fast. Others are mature and often fast enough, but sometimes not. Plenty of important problems are more or less unsolvable right now.
Mixed integer programming solvers, for instance, are extremely powerful and handle large general classes of problems. They also require translation of business rules into specialized form by domain experts, and can blow up in terms of optimization time or even time to find a feasible solution.
Complicating this is the fact that most real-world problems have side constraints which may render well-studied algorithms or models useless. We are eternally searching for more flexible, more advanced techniques, and maturity depends a great deal on what you need to accomplish.