Actionable and diverse counterfactual explanations incorporating domain knowledge and causal constraints