Combinatorial batch codes: A lower bound and optimal constructions