Numerous papers based on various search methods across a wide variety of applications have appeared in the literature over recent years. Most of these methods apply the following same approach to address the problems at hand: at each iteration of the search, they first apply their search methods to generate new solutions, then they calculate the objective values (or costs) by taking some constraints into account, and finally they use some strategies to determine the acceptance or rejection of these solutions based upon the calculated objective values. However, the premise of this paper is that calculating the exact objective value of every resulting solution is not a must, particularly for highly constrained problems where such a calculation is costly and the feasible regions are small and disconnected. Furthermore, we believe that for newly-generated solutions, evaluating the quality purely by their objective values is sometimes not the most efficient approach. In many combinatorial problems, there are poor-cost solutions where possibly just one component is misplaced and all others work well. Although these poor-cost solutions can be the intermediate states towards the search of a high quality solution, any cost-oriented criteria for solution acceptance would deem them as inferior and consequently probably suggest a rejection. To address the above issues, we propose a pattern recognition-based framework with the target of designing more intelligent and more flexible search systems. The role of pattern recognition is to classify the quality of resulting solutions, based on the solution structure rather than the solution cost. Hence, the general contributions of this work are in the line of "insights" and recommendations. Two real-world cases of the assignment problem, i.e. the hospital personnel scheduling and educational timetabling, are used as the case studies. For each case, we apply neural networks as the tool for pattern recognition. In addition, we present our theoretical and experimental results in terms of runtime speedup.