The mixed distribution model can be thought as region switch model. Here is a MLE for a two normal mixed distribution.
data tmp;
do i = 1 to 5000;
x1=rannor(123); x2=4+1.5*rannor(123);
s=ranuni(123)<0.3;
y=s*x1+(1-s)*x2;
output;
end;
run;
proc nlmixed data=tmp;
parms c0=1 s1 s2=2 prob=0.5 ;
bounds s1 s2 >0,0<prob<1;
pdf1=( 1/( s1*sqrt(2*constant('pi')) ) *exp(-0.5*( (y)/s1) **2) );
pdf2=( 1/( s2*sqrt(2*constant('pi')) ) *exp(-0.5*( (y-c0)/s2) **2) );
ll= prob * pdf1 + (1-prob)*pdf2;
loglik=log(ll);
model y ~ general(loglik);
run;