Optimal Product Design Using Conjoint Analysis: Computational Complexity and Algorithms