Algorithm Development
If your application requires design and implementation of algorithms to solve problems, we have what it takes to get it done. Our approach to algorithm development:

  • Understand the problem to be solved
  • If our mathematicians are not aware of an immediate approach, we would perform literature research to identify possible solutions
  • Model the problem and the solution using a combination of pen-and-paper and modeling tools such as Matlab/Octave
  • Implement the solution rapidly using open source libraries or develop it from scratch
  • Test the algorithm

While developing algorithms, we pay close attention to design constraints such as run time windows, accuracy requirements, data requirements and availability, etc. We solve problems using a wide array of techniques, and use the right tool for the right job. Algorithms which we would consider to solve your problems include, but are not limited to:

  • Techniques to solve Combinatorial optimization problems
  • Graph based algorithms
  • Mathematical modeling using Ordinary or Stochastic Differential Equations
  • Clustering techniques
  • Monte Carlo algorithms
  • Genetic Algorithms
  • Simulated Annealing
  • Neural Networks