Solution (source code)

= Solution

Choose a fixed <Dirichlet distribution> proposal $q(\boldsymbol\omega)\propto\prod_i\omega_i^{\eta_i-1}$ with every $\eta_i>0$, independent of the current state, and propose the entire weight vector. This automatically respects the simplex constraint. With $D_j'=\sum_i\omega_i'\varphi(x_j;\mu_i,v_i)$, the <Independence Metropolis–Hastings algorithm> accepts with
$$
\boxed{a=\min\left\{1,\ \prod_{j=1}^n\frac{D_j'}{D_j}\prod_{i=1}^k\left(\frac{\omega_i'}{\omega_i}\right)^{\epsilon_i-\eta_i}\right\}.}
$$
This includes $q(\boldsymbol\omega)/q(\boldsymbol\omega')$, not merely the posterior ratio. A particularly simple choice is $\eta_i=\epsilon_i$, the weight prior: its factors cancel and the ratio is just the mixture <likelihood ratio>. A proposal concentrated around a pilot estimate can mix better, provided it retains positive density throughout the relevant simplex. Both target and proposal densities use the same $k-1$ independent simplex coordinates, so this direct weight proposal has no extra transformation <Jacobian determinant>.