Allocating Indivisible objects: integer linear programmin in fair division