| A large software company with 4 separate buildings in different states, has offers from 3 different | ||||||
| floppy disk manufacturers to supply their monthly need of new diskettes. To whom should the | ||||||
| contracts be awarded to minimize cost? | ||||||
| Bids per 1000 diskettes | ||||||
| Building 1 | Building 2 | Building 3 | Building 4 | |||
| Manufacturer 1 | $50 | $45 | $48 | $52 | ||
| Manufacturer 2 | $52 | $48 | $51 | $54 | ||
| Manufacturer 3 | $49 | $51 | $50 | $52 | ||
| Contracts awarded per 1000 diskettes | ||||||
| Building 1 | Building 2 | Building 3 | Building 4 | Total | Available | |
| Manufacturer 1 | 5 | 5 | 5 | 5 | 20 | 25 |
| Manufacturer 2 | 5 | 5 | 5 | 5 | 20 | 30 |
| Manufacturer 3 | 5 | 5 | 5 | 5 | 20 | 25 |
| Total | 15 | 15 | 15 | 15 | ||
| Required | 20 | 25 | 15 | 15 | ||
| Manufacturer 1 i | ||||||
| Decisions | 0 | 0 | 0 | 0 | ||
| 0 | 0 | 0 | 0 | |||
| 0 | 0 | 0 | 0 | |||
| Total Cost | $3,010 | |||||
| Problem | ||||||
| A large software company with 4 different buildings in different states, needs a large supply | ||||||
| of diskettes on a monthly basis in each of those buildings. The company has 3 different offers | ||||||
| from several floppy disk manufacturers. However, Manufacturer 1 is only interested in | ||||||
| contracts of 15,000 diskettes or more. Which offer or combination of offers should the | ||||||
| company accept to minimize cost? | ||||||
| Solution | ||||||
| On the surface this problem seems to be no different from the one in Award1. However, we | ||||||
| have the problem that the number of diskettes bought from Manufacturer 1 should either be 0 | ||||||
| or greater than 15000. This is a frequently occurring constraint and Award2 shows us how to | ||||||
| handle this type of condition. The key is to introduce 4 new binary integer variables that tell us | ||||||
| whether a contract is bought from manufacturer 1 or not, for each building. | ||||||
| 1) The variables are the contracts to be awarded, and the binary integer variables as discussed | ||||||
| above. In worksheet Award2 these are given the names Contracts and Contract_decisions. | ||||||
| 2) First, we still have the constraints used in Award1: | ||||||
| Contracts_given >= Contracts_required | ||||||
| Total_contracts <= Contracts_available | ||||||
| Contracts >= 0 via the Assume Non-Negative option | ||||||
| Second, we have the logical constraints for the binary integer variables: | ||||||
| Contract_decisions = binary | ||||||
| The 15000 diskettes constraint is now handled by: | ||||||
| Awarded_to_1 <= Maximum_diskettes | ||||||
| Awarded_to_1 >= Minimum_diskettes | ||||||
| 3) The objective is still to minimize total cost, defined on this worksheet as Total_Cost. | ||||||
| Remarks | ||||||
| The introduction of binary integer variables often allows us to express the effect of more | ||||||
| complex conditions as seen in this model. It would also be possible to handle other types of | ||||||
| constraints. For example, if Manufacturer 2 only distributes diskettes in multiples of 5000, | ||||||
| we could model this constraint with binary integer variables. | ||||||
