Computer-Aided Molecular Design: Theory and Applications