The search for special substructures in combinatorial objects that have a lot of symmetry, such as searching for maximal partial ovoids or spreads in generalized quadrangles, can often be translated to a well-known algorithmic problem, such as a maximum clique problem in a graph. These problems are typically NP-hard. However, using standard backtracking strategies together with pruning techniques based on problem-specific properties, it is possible to obtain non-trivial results which are mathematically interesting. In some cases, heuristic techniques can also lead to interesting results. In this paper, we describe some techniques as well as new results obtained for maximal partial ovoids and spreads in generalized quadrangles.