I finally figured out why the optimization worked but the prediction didn't. It's becuase for prediction, I was trying to change mu_eff, which does nothing. Now I change mu_a too.