Automated system for generating procurement lists5224034Abstract An automated system and concomitant methodology for minimizing the procurement costs of products and for generating a list of selected products based on the results of the minimization is disclosed for the Business Volume Discount regime. The system processing covers purchasing situations wherein multiple vendors offer a plurality of products and the vendors give discounts based on the total dollar amount of business received from the purchasers. The processing effected by the system utilizes a linear programming technique to solve a model of the business volume discount regime given a variety of constraints. Claims What is claimed is: Description FIELD OF THE INVENTION
TABLE 1
______________________________________
PRODUCT DEMAND
______________________________________
P1 500
P2 375
P3 313
______________________________________
The products are offered by three different vendors, designated V1, V2, and V3. Each vendor sells each product on a commitment and as-ordered basis. When a product is ordered on a commitment basis, the company makes an agreement with a vendor, in advance, to purchase a certain number of units of that product from that vendor. Once some quantity of a product has been purchased on a commitment basis, the discounted commitment price obtained also applies to all subsequent as-ordered purchases of that product. This type of as-ordered purchase is referred to as "locked-as-ordered" since the buyer locks the as-ordered price by buying so many items of the product on a commitment basis. The discount obtained from a vendor for as-ordered purchases applies only to those products purchased on an as-ordered basis but not on a commitment basis. This type of as-ordered purchase is referred to as "standard-as-ordered". When the product is purchased on a standard as-ordered basis, the company has no obligation to buy any particular quantity. The prices for each supplier-product combination are shown in TABLE 2.
TABLE 2
______________________________________
Commitment Standard As-Ordered
Vendor Product Base Price ($)
Base Price ($)
______________________________________
V1 P1 110 110
P2 120 120
P3 180 200
V2 P1 100 105
P2 120 120
P3 200 210
V3 P1 90 100
P2 130 130
P3 190 210
______________________________________
In addition, each vendor gives a discount based upon the total dollar amount of business awarded to that vendor. An exemplary set of discount schedules for the three vendors is given in TABLE 3.
TABLE 3
______________________________________
Commitment Standard As-Ordered
Discount Discount
Vendor Range ($) (%) Range ($)
)%)
______________________________________
V1 0-5,000 0 0-20,000
0
5,000-50,000 2 over 20,000
2
over 50,000 4
V2 0-10,000 0 0-10,000
0
10,000-20,000
2 10,000-30,000
1
20,000-50,000
3 over 30,000
2
50,000-150,000
4
over 150,000 5
V3 0-5,000 1 0-15,000
0
5,000-30,000 2 over 15,000
2
30,000-100,000
3
over 100,000 4
______________________________________
For instance, V2 gives the company a 2% discount on all products purchased on a commitment basis if the total dollar amount of all commitment purchases from V2 is at least $10,000 but less than $20,000. Accordingly, if the company commits to buy $10,000 worth of products from V2, then the actual price paid by the company is $9,800. Thus, the company has obtained a $200 discount on the products purchased from V2. On the other hand, if the company only buys $9,900 worth of products on a commitment basis from V2, then no discount is given and the actual price paid remains $9,900. This example points out some interesting features of the business volume discount type of purchasing strategy. First of all, the company is able to take full advantage of its purchasing power by obtaining discounts based on the total dollar amount of business rather than the quantity of a particular product purchased. Secondly, the company can actually save money by buying more. In the example, the company saved $100 by buying an extra $200 worth of products. For this reason, it is not always advantageous to buy a product from the vendor offering that product for the lowest price. Rather, it may be better to purchase a product from a nominally more expensive vendor in order to move into a higher discount bracket for that vendor. To understand why an optimizing system is needed for analyzing this type of problem, it is instructive to consider the following situation. It is supposed that the company has decided that it desires to buy 80% of the forecasted demand for each product on a commitment basis, and that it does not want to purchase more than 60% of the demand for each product from a single supplier. To fulfill these desires (i.e., requirements) a company may proceed as follows for any product: buy 60% of the forecasted demand from the vendor with the lowest commitment base price for that product, buy an additional 20% (i.e., 80%-60%) from the vendor with the next lowest commitment base price, and then buy the remaining 20% of the forecasted demand from the vendor with the lowest as-ordered base price among those vendors beside the one from which the first 60% was purchased. This approach results in the purchasing schedule shown in TABLE 4.
TABLE 4
______________________________________
Quantity Purchased
Vendor Product Commitment As-Ordered
______________________________________
V1 P1 0 0
P2 75 75
P3 187 0
V2 P1 100 100
P2 225 0
P3 0 63
V3 P1 300 0
P2 0 0
P3 63 0
______________________________________
In other words, the company buys 100 units (0.20.times.500) of P1 from V2 on a commitment basis, 300 units (0.60.times.500) from V3 on a commitment basis, 100 units (0.20.times.500) from V2 on an as-ordered basis, and so forth. The nominal cost of this purchasing strategy is $150,380. However, if discounts are figured in the total net cost (the cost after discounts have been accounted for) is $147,116. The purchasing schedule of TABLE 5 is now considered to illustrate the power of the automated system in accordance with the present invention under the business volume discount regime.
TABLE 5
______________________________________
Quantity Purchased
Vendor Product Commitment As-Ordered
______________________________________
V1 P1 12 0
P2 180 45
P3 151 38
V2 P1 148 40
P2 120 30
P3 0 0
V3 P1 240 60
P2 0 0
P3 100 24
______________________________________
The results of TABLE 5 also satisfy the conditions that 80% of the forecasted demand be purchased on a commitment basis and that no more than 60% of the forecasted demand be bought from a single vendor. The nominal total net cost of this purchasing schedule is $148,684. The total cost including discounts is $144,586, a savings of $2,530 over the discounted total cost of TABLE 4 obtained by selecting vendors based on the lowest quoted base price for each product. It is not a straightforward matter to determine that the schedule of TABLE 5 is better than the one of TABLE 4. In fact, however, the purchasing schedule of TABLE 5 is the optimal one, that is, the best solution of the business volume discount model with the given constraints. Details of the Present Invention With reference of FIG. 1, there is shown a high-level block diagram of components comprising computer-based automated system 100. In particular, system 100 includes: central processing unit (CPU) 150; memory 120; display device 110; and product price and discount price databases 130 and 140, respectively. The user of system 100, as depicted by dashed block 90, inputs data to the system and receives responses from the system via display device 110. For example, to populate product price database 130, the user calls into view on display device 110 a screen layout essentially as depicted by TABLE 2 having the header information (VENDOR, PRODUCT, Commitment Price ($), As-ordered ($)) but blank columns for price, vendor and product information. The user then inputs the information and the entered information is then stored in database 130 for later recall. Similarly, database 140 is populated by calling into view a screen layout essentially as depicted by TABLE 3 having the header information but blank columns. The user then inputs the information and it is stored in database 140 for later recall. The user also utilizes display device 110 to provide input relating to the product demands, such as depicted by TABLE 1. This information may be stored in memory 120 at memory location 121. Also, an appropriately arranged screen layout can be called into view on display device 110 to provide information for system 100 regarding constraints on the product purchases, such as the percentage of product demands to be purchased on a commitment basis and as-ordered basis, the maximum percentage of product demands to be purchased from any given vendor, and so forth; this latter information can also be stored in memory 120 at memory location 122. Memory 120 typically also contains the business volume discount algorithm, at location 123, which may then be invoked by the user to process, in CPU 150, the product requirements stored in location 121, while utilizing the constraints in location 122 and the data in databases 130 and 140. The results of the processing are then stored in memory 120 at location 124 and the results are also displayed on device 110 to impart the purchasing strategy to user 90. It is to be understood that the block diagram of FIG. 1 is merely illustrative of one embodiment of the present invention. One skilled in the art will immediately realize that if computer system 100 is implemented on a personal computer, then memory 120 and databases 130 and 140 may be implemented by a single hard disk. With reference to FIG. 2 there is shown flow diagram 200 of the processing effected in accordance with the present invention. After initialization of the process, as depicted by block 201, the business volume discount algorithm is entered into system 100 and stored in memory 120. The next two processing blocks, namely, blocks 220 and 230, depict the inputting and storing of the product price information and the discount information, respectively. Block 240 is then invoked to prompt the user to input the product requirements and constraints, if any. With all the required information now available in storage, processing block 250 is now invoked to determine the optimal purchasing strategy for the required products in view of the constraints, if any, and the information in the product price and discount databases. Finally, processing block 260 is entered so as to generate and display upon request by the user a list of selected products as determined from the optimal solution to the business volume discount model in view of the present information and constraints. Optimization Algorithm The basis of the optimization algorithm is one of making comparisons and eliminating purchasing options which are not financially attractive without actually calculating the cost of these non-optimal options. With reference to FIG. 3, there is shown block diagram 300 of the processing effected by processing block 250 of FIG. 2, that is, the minimization of a cost function for the business volume discount regime using a linear programming technique. FIG. 3 represents a general methodology which in implementation is used twice, back to back. Initially, it is used to optimize the commitment purchases. Next, it is used to optimize the remaining purchases, on as-ordered basis, necessary to fulfill each product demand. The description of FIG. 3 will be interwoven with the data supplied by TABLES 1-3 to illustrate how the report of selected products represented by the contents of TABLE 5 were generated. In particular, vendor V1 will be tracked through the description of block diagram 300. In processing block 310, paramenters and variables are initialized with essential data. The input of the forecasted demand (TABLE 1), commitment and standard as-ordered base price quotes (TABLE 2), and business volume discounts (TABLE 3) are entered and stored in the appropriate databases of computer system 100. Thus, for instance, the initialization includes: the demand for product P1 (e.g., D.sub.1 =500); the commitment price for vendor V1, product P1 (e.g., $110), and the quantity of product P1 from vendor V1 is set to 0 (e.g., X.sub.1,1 =0). Processing of block 315 is then invoked to select variables to be associated with discount brackets--the so-called discount indicators. These indicators are boolean (i.e., take on only the values 0 and 1), with 0 indicating that a discount bracket for a particular vendor is not selected, and a 1 indicating that it is selected. For instance, vendor V1 has 3 discount brackets: (1) 0-$5,000; (2) $5,000-$50,000; and (3) $50,000 and over. Accordingly, the variables S.sub.1,1 and S.sub.1,2 and S.sub.1,3 are created. In order to force at most one discount bracket to be selected, the discount indicators are summed by processing block 320. For example, vendor V1 would produce the following constraint: S.sub.1,1 +S.sub.1,2 +S.sub.1,3 =1. Since the variables are only 0 or 1, this forces exactly one of them to take the value 1, thus yielding the best discount bracket to choose for vendor V1. The processing effected by block 325 is then invoked. The variables of total undiscounted cost for a vendor, locked-as-ordered and other life cycles costs are created by this processing. There are as many total cost variables as there are discount brackets. The value produced is the total undiscounted cost of purchases from the indicated supplier. Locked-as-ordered purchases again refer to those products that have already been purchased on a commitment basis. The as-ordered price received is locked in the sense that such a price does not contribute to the as-ordered total for discounts since the purchase price is locked at the commitment price. If no commitment price has taken place, however, then the standard as-ordered prices and discount schedules are in effect. In tracking vendor V1, from TABLE 5, it is seen that V1 has a total undiscounted cost of $50,100 (i.e., 12.times.$110+180.times.$120+151.times.$180) by simply multiplying quantity times base price and adding up the results. Such a calculation puts V1 in the third discount bracket, so T.sub.1,3 =50,100. The total locked-as-ordered purchases for V1 will become L.sub.1 =45.times.$115.20+38.times.$172.80=$11,750. The unit prices are the commitment discount prices (i.e., 4% off the $120 and $180 unit prices) for products P2 and P3 of V1, respectively. The constraints to evaluate these and tie them to quantity purchased and discount indicators are created in block 325. Block 330 is invoked to create the variables that will tell how many of what product from what vendor will be purchased as an outcome of the optimal solution. In TABLE 5, under the Commitment column, 151 units of P3 are purchased from V1. Therefore, X.sub.1,3 =151. It is noted that the variables are created here, but not solved yet (e.g., the value of X.sub.1,3 at this point is (0). The combined processing of blocks 335,340,345 is effected to determine the quantity to purchase for each product. In the example, the commitment percentage is 80%. This means that the purchaser commits to no more than 80% of the forecasted demand. The demand for P1 is 500; therefore, no more than 80%.times.500=400 items are to be purchased on a commitment basis. A constraint of the form X.sub.1,1 +X.sub.2,1 +X.sub.3,1 =400 is generated here to satisfy this commitment limit. Next, the processing of blocks 350,355 is invoked to determine the maximum amount per vendor to be purchased for each product. Since the market share is 60%, this means that no more than 60% of the products should be purchased from any one vendor. For V1, P1, that demand is 400. Therefore, no more than 60%.times.400=240 of P1 may be purchased from V1. Thus, a constraint of X.sub.1,1 .ltoreq.240 is generated by these blocks. Upon entering processing block 360, a so-called cost function has been generated; this function is representative of the business volume discount regime. Minimization of this cost function subject to the constraints results in the optimal solution to the procurement problem. Page 1 of the Appendix lists a representation, namely, equation (1), of the cost function of the business volume discount model to be solved by a linear programming technique for commitment purchases. Also shown in the Appendix are the constraints for which equation (1) is subject to during the minimization process. One exemplary linear program technique for minimizing equation (1) is known as LINDO by those with skill in the art. A representative reference for LINDO is User's Manual for Linear, Integer and Quadratic Programming with LINDO, by Linus Schrage, published by the Scientific Press, Palo Alto, 1989 (Fifth Edition). The values of the quantities (e.g., X.sub.i,j) purchased as determined from processing the cost function by the linear programming are returned and stored as data in computer system 100. The concomitant cost information and the discount levels are then computed and the results are formatted and displayed on display device 110 in a form summarized by TABLE 5. Processing then terminates, as represented by block 370. It is to be further understood that the methodology and concomitant circuitry described herein is not limited to the specific forms shown by way of illustration, but may assume other embodiments limited only by the scope of the appended claims. ##EQU1##
|
Same subclass Same class Consider this |
||||||||||
