I initially asked this question over at StackOverflow as it has algorithmic flavor to it, but I haven't been getting much traction so I thought I would probe the mathematics community.
Setup: Let $e_{i}$ be an orthogonal (but not orthonormal) basis for $\mathbb{R}^{N}$. Define $\Lambda=\big\{\sum_{j=1}^{N}x_{j}e_{j}\mid x_{j}\in\mathbb{N}\big\}$ (where here I assume $0\in\mathbb{N}$). Now order the points in $\Lambda$ first by their $L^{1}$-norm, breaking ties lexicographically.
Question: Is there an efficient algorithm for producing the points in $\Lambda$ in order (up to some pre-defined bound)? Note that I want to walk this set in order, not produce it and then sort it.
Observations: This is easy to do if the $e_{i}$ are orthonormal. For instance, the problem is solved herehere. To make something like this work here, one would need to be able to efficiently answer the following. given positive real numbers $x_{1},x_{2},\ldots, x_{N}$, is there an efficient way to the numbers $\sum_{j=1}^{N}n_{j}x_{j}$ in increasing order, where $n_{j}\in\mathbb{N}$.