A method of optimal scaling for multivariate ordinal data and its extensions