Smooth-and-dive accelerator: a pre-MILP primal heuristic applied to scheduling
This article describes an effective and simple primal heuristic to greedily encourage a reduction in the number of binary or 0-1 logic variables before an implicit enumerative-type search heuristic is deployed to find integer-feasible solutions to 'hard' production scheduling problems. The basis of the technique is to employ well-known smoothing functions used to solve complementarity problems to the local optimization problem of minimizing the weighted sum over all binary variables the product of themselves multiplied by their complement. The basic algorithm of the 'smooth-and-dive accelerator' (SDA) is to solve successive linear programming (LP) relaxations with the smoothing functions added to the existing problem's objective function and to use, if required, a sequence of binary variable fixings known as 'diving'. If the smoothing function term is not driven to zero as part of the recursion then a branch-and-bound or branch-and-cut search heuristic is called to close the procedure finding at least integer-feasible primal infeasible solutions. The heuristic's effectiveness is illustrated by its application to an oil-refinery's crude-oil blendshop scheduling problem, which has commonality to many other production scheduling problems in the continuous and semi-continuous (CSC) process domains. (C) 2002 Elsevier Science Ltd. All rights reserved.
primal heuristics scheduling smoothing functions mixed-inter linear programming complementarity and blendshops