Data Mixing Optimization for Supervised Fine-Tuning of Large Language Models