I'm trying to write a C++ program to solve the shortest vector problem. The program is given a basis of a vector space $V$ and needs to find the shortest non-zero vector in the lattice generated by the given basis.
Right now I'm using the Ajtai-Kumar-Sivakumar (AKS) algorithm described here on slides 12 and 34. The problem is the time/memory complexity: for a 3-dimensional input lattice I have to generate over 20 million random numbers. Then I have to remove specific values from another absolutely massive set, which also seems very computationally expensive.
Does anyone know any more efficient algorithms for solving this problem (preferably using LLL reduction) which could feasibly be implemented in C++, or is AKS as fast as it gets?