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