A column generation-based approach for partitioning with equity constraint: application to school canteen meat supply
Résumé
In France, schools are grouped in order to set up public calls for tender to purchase meat. It consists in proposing, for each category of meat, a partitioning of the set of schools. In the context of short and local supply chain, the objective of this partitioning is to allow a maximum number of suppliers, in particular the local ones, to respond to the calls. Data are a set of schools with their location and demand, a set of suppliers with their location, scope of action and minimal profitability ratio, and a selling price of the meat. A meat supplier respond to a call for tender if (1) all the schools are inside his scope of action, and (2) the delivery of the schools within one route achieve a minimal profitability ratio. For every subset of schools, an average profitability ratio can be computed, based on the ones of the suppliers who can respond. The problem has an original constraint: the profitability ratios of the parts of the solution need to be balanced. Otherwise, suppliers may choose to respond only to the tenders with high profitability ratios. The optimization problem studied is NP-hard as a generalization of Set Partitioning. A formulation of the problem as an Integer Linear Program is proposed. As the number of variables (parts) is too large, a column generation-based approach is proposed. The formulation has a weak linear relaxation, hence we propose to modify the objective function. An objective for the profitability ratio is added with a unit penalty cost in case of deviation of this objective for the chosen parts. The linear relaxation of this reformulation gives better bounds and the problem within its initial formulation can be solved right after the column generation process with good results. However, the modification of the objective function makes the problem of finding new columns with implicit description hard to formulate. Hence a heuristic method to search new columns is proposed, without guarantee on the optimality of the solution. Some results on real case instances are presented, and compared to exact solutions for small instances using CPLEX12.6 and a local search method for larger instances.