Conditional Preference Networks (CP-nets) have been proposed for modeling and reasoning about combinatorial decision domains. However, the study of CP-nets learning has not advanced sufficiently for their widespread use in complex, real-world applications where the problem is large-scale and the data is not clean. In many real world applications, due to either the randomness of the users’ behaviors or the observation errors, the data-set in hand could be inconsistent, i.e., there exists at least one outcome preferred over itself in the data-set. In this work, we present an evolutionary-based method for solving the CP-net learning problem from inconsistent examples. Here, we do not learn the CP-nets directly. Instead, we frame the problem of learning into an optimization problem and use the power of evolutionary algorithms to find the optimal CP-net. The experiments indicate that the proposed approach is able to find a good quality CP-net and outperforms the current state-of-the-art algorithms in terms of both sample agreement and graph similarity.