Towards Optimization and Model Selection for Domain Generalization: A Mixup-guided Solution