Optimal Automatic Requirement-based Test Case Generation