In this paper, we study the following pattern search problem: Given a pair of point sets A and B in fixed dimensional space \(\mathbb {R}^d\), with \(|B| = n,|A| = m\) and \(n \ge m\), the pattern search problem is to find the translations \(\mathcal {T}\)’s of A such that each of the identified translations induces a matching between \(\mathcal {T}(A)\) and a subset \(B'\) of B with cost no more than some given threshold, where the cost is defined as the minimum bipartite matching cost of \(\mathcal {T}(A)\) and \(B'\). We present a novel algorithm to produce a small set of candidate translations for the pattern search problem. For any \(B' \subseteq B\) with \(|B'| = |A|\), there exists at least one translation \(\mathcal {T}\) in the candidate set such that the minimum bipartite matching cost between \(\mathcal {T}(A)\) and \(B'\) is no larger than \((1+\epsilon )\) times the minimum bipartite matching cost between A and \(B'\) under any translation (i.e., the optimal translational matching cost). We also show that there exists an alternative solution to this problem, which constructs a candidate set of size \(O_{d,\epsilon }(n \log ^2 n)\) in \(O_{d,\epsilon }(n \log ^2 n)\) time with high probability of success. As a by-product of our construction, we obtain a weak \(\epsilon \)-net for hypercube ranges, which significantly improves the construction time and the size of the candidate set. Our technique can be applied to a number of applications, including the translational pattern matching problem.