Optimization-Based and Machine-Learning Methods for Conjoint Analysis: Estimation and Question Design