An evolutionary algorithm for the joint replenishment problem

An Evolutionary Algorithm (EA) was developed to find a near optimum solution to the Joint Replenishment Problem (JRP) under the relaxed assumption that the minor ordering costs are independent of other items in the order. There are two ways that minor ordering costs will depend on which other items are in the order. First, minor ordering costs may increase if certain other items are included. Second, some items may be constrained from being ordered with certain other items. This EA, EARP III, combines a direct grouping method with an indirect grouping method. First EARP III calls EARP II (direct grouping) to find the best way to group items. After items have been placed into groups, EARP III calls EARP I (indirect grouping) to find the best replenishment policy for each group. Thus the indirect grouping method is nested within the direct grouping method. Representation designed for this problem uses both integer representation and bit representation. Special grouping operators for crossover and mutation are used to manipulate the individuals. The standard bit operators (one point crossover and bit “flipping”) are modified to work on that portion of the individual made up of bit representation. EARP III is tested with randomly generated problems from 243 different sets of problem parameters. Items are put into three categories to test interdependence between items. A benchmark value is used for comparison.