In the agricultural industry, an evolutionary effort has been made over the last two decades to achieve precise autonomous systems to perform typical in-field tasks including harvesting, mowing, and spraying. One of the main objectives of an autonomous system in agriculture is to improve the efficiency while reducing the environmental impact and cost. Due to the nature of these operations, complete coverage path planning approaches play an essential role to find an optimal path which covers the entire field while taking into account land topography, operation requirements and robot characteristics. The aim of this paper is to propose a complete coverage path planning approach defining the optimal movements of mobile robots over an agricultural field. First, a method based on tree exploration is proposed to find all potential solutions satisfying some predefined constraints. Second, a Similarity check and selection of optimal solutions method is proposed to eliminate similar solutions and find the best solutions. The optimization goals are to maximize the coverage area and to minimize overlaps, non-working path length and overall travel time. In order to explore a wide range of possible solutions, our approach is able to consider multiple entrances for the robot. For fields with a complex shape, different dividing lines to split it into simple polygons are also considered. Our approach also computes the headland zones and covers them automatically which leads to a high coverage rate of the field.