Crop rotation plays an important role in agricultural production models with sustainability considerations. Commonly associated strategies include the alternation of botanical families in the plots, the use of fallow periods and the inclusion of green manure crops. In this article, we address the problem of scheduling vegetable production in this context. Vegetables crop farmers usually manage a large number of crop species with different planting periods and growing times. These crops present multiple and varied harvesting periods and productivities. The combination of such characteristics makes the generation of good vegetable crop rotation schedules a hard combinatorial task. We approach this problem while considering two additional important practical aspects: standard plot sizes (multiples of a base area) and total area minimisation. We propose an integer programming formulation for this problem and develop a branch-price-and-cut algorithm that includes several performance-enhancing characteristics, such as the inclusion of a family of subadditive valid inequalities, two primal heuristics and a strong branching rule. Extensive computational experiments over a set of instances based on real-life data validate the efficiency and robustness of the proposed method. 
A branch-price-and-cut method for the vegetable crop rotation scheduling problem with minimal plot sizes