The working life of a warehouse management system is generally greater than that of the computer language in which it was written. Consequently, most WMS’s in current use are an accretion of many diff erent computer languages, including COBOL, PL1, Fortran, C, C++, SQL, and others. This can make them hard to maintain or customize. Most WMS’s manage transactions but do n ot currently optimize anything. Instead, they are extremely configurable and let the user choose from among various rules to guide decision-making. But the client—or more likely a consultant—must choo...