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.