The first step is to compute the pooled (aggregate) logit solution. For that step, we use the standard and well-known aggregate MNL with the Newton-Raphson algorithm to find the maximum likelihood solution. This is well-documented in other texts and articles in the industry.
The next step is as described in the document you reference from us. We reformat the data to look like a "chip allocation" CBC, based on the lambda set in our software. (The lambda determines the amount of information contributed by the pooled solution vs. the individual-level choices.)
Next, purely individual-level MNL is done again using the Newton-Raphson algorithm to find maximum likelihood (only using the reformatted chip-allocation tasks within each individual). However, in each step the of the algorithm, the utilities are constrained (tied) for any levels within attributes that have prior preference order. Prior order can be established by the researcher by setting an attribute to have best-to-worst or worst-to-best order. Or, for non-ordered attributes (like Brand or Color) a prior ratings question could have been included in the questionnaire that asked respondents to rate each of the levels of, say, Brand on a 5-point scale.