An algorithm for generating good mixed level factorial designs