An order scheduling system providing a method for distributing product
orders to multiple fulfillers is described. This method, which solves the
common business problem of scheduling order shipments, is optimal because
it minimizes the number of orders across fulfillers, thus minimizing
shipping costs. It is also fair because orders are distributed equally
across fulfillers if that fulfiller has the product available. To
schedule orders, a data structure is defined whose rows are represented
by a hash table of Fulfillers (HF), where each column is a hash table of
Products (HP) and where each index of HP is itself a bit vector
(VP.sub.i). This gives a three-dimensional data structure. The method
operates by performing bitwise ANDing (&) operations of the bit vectors,
to generate an Order bit vector representing the optimized fulfillment
(per system configuration/constraints) for a particular received order.