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. | ||||||