A problem of packing a limited number of unequal circular objects in a fixed size rectangular container is considered. The circular object is considered in a general sense, as a set of points that are all the same distance (not necessary Euclidean) from a center. The aim is to maximize the (weighted) number of objects placed into the container or minimize the waste. This problem has numerous applications in logistics, including production and packing for the textile, apparel, naval, automobile, aerospace and food industries. Frequently the problem is formulated as a nonconvex continuous optimization problem which is solved by heuristic techniques combined with local search procedures. We study a linear integer programming formulation based on approximating container by a regular grid. The nodes of the grid are considered as potential positions for assigning centers of the objects thus giving rise to a large scale linear 0-1 optimization problem with binary variables representing the assignment of centers to the nodes of the grid. Recursive packing allowing nesting circles inside one another is also considered. Numerical results are presented to demonstrate the efficiency of the proposed approach.