Design space exploration is central to embedded system design. Typically this is a multi-objective search problem, where performance, power, area etc. are the different optimization criteria, to find the Pareto-optimal points. Multi-objective Genetic Algorithms (GA) have been found to be a natural fit for such searches and have been used widely. However, for certain design spaces, a large part of the space being explored by GA may violate certain design constraints. In this paper, we use a multi-objective GA algorithm based on “repair”, where an infeasible design point encountered during the search is repaired to a feasible design point. Our primary novelty is to use a multi-objective version of search algorithms, like branch and bound, as the repair strategy to optimize the objectives. We also precompute a layout of the genes such that infeasible design points are less likely to be encountered during the search. We have successfully employed our hybrid search strategy to design...