B2.introduction To Operations Research
B2.introduction To Operations Research
• Operations Research (OR) is a discipline that provides a set of analytical models for
problem solving and decision making. The results from solving OR problems are used
extensively in engineering, management and public systems.
• The solution to a problem using OR techniques involves three stages or phases. These are:
• Formulation
• Solution
• Implementation
• A first course in OR usually deals with topics such as Linear Programming, Transportation
and Assignment problems, Dynamic Programming and Inventory. Sometimes Queueing,
Game Theory and CPM are included in the first course.
• An advanced course would address topics such as Integer Programming, Advanced Topics
in Linear Programming, Network Models and Nonlinear Programming.
The two products have the following resource requirements for production and profit per
item produced (i.e., the model parameters):
There are 40 hours of labor and 120 pounds of clay available each day for production. We
will formulate this problem as a linear programming model by defining each component of
the model separately and then combining the components into a single model.
Source: Taylor III (2018) 3
Introduction
A farmer is preparing to plant a crop in the spring and needs to fertilize a field. There are
two brands of fertilizer to choose from, Super-gro and Crop-quick. Each brand yields a
specific amount of nitrogen and phosphate per bag, as follows:
The farmer’s field requires at least 16 pounds of nitrogen and at least 24 pounds of
phosphate. Super-gro costs $6 per bag, and Crop-quick costs $3. The farmer wants to know
how many bags of each brand to purchase to minimize the total cost of fertilizing.
• Product Mix Problem: Consider a small manufacturer making two products A and B. Two
resources R1 and R2 are required to make these products. Each unit of Product A requires
1 unit of R1 and 3 units of R2. Each unit of Product B requires 1 unit of R1 and 2 units of R2.
The manufacturer has 5 units of R1 and 12 units of R2 available. The manufacturer also
makes a profit of $6 per unit of Product A sold and $5 per unit of Product B sold.
How do we derive this problem?
1. Linearity: The objective function and constraints are linear. The profit from A and B is
the sum of the individual profits.
2. Proportionality: If the profit of one item is A, the profit of two items is 2A.
3. Divisibility and multiplicity: Multiplicity is the same as proportionality. Divisibility ensures
that profit of 'A item is A/2.
4. Deterministic: All parameters and coefficients are deterministic and are known with
certainty. They don't change during or after the formulation.
The two products have the following resource requirements for production and profit per
item produced (i.e., the model parameters):
There are 40 hours of labor and 120 pounds of clay available each day for production. We
will formulate this problem as a linear programming model by defining each component of
the model separately and then combining the components into a single model.
Source: Taylor III (2018) 10
Back to the previous examples 1
1. Decision variables?
X1 = number of bowls to produce
X2 = number of mugs to produce
2. The objective function?
maximize Z = $40X1 + $50X2
where:
Z = total profit per day
$40X1 = profit from bowls
$50X2 = profit from mugs
3. Model constraints?
1X1 + 2X2 ≤ 40 hr
4X1 + 3X2 ≤ 120 lb
4. Non-negativity constraints?
X1 ≥ 0, X2 ≥ 0
11
Solution
12
Slack variables
13
An Infeasible Problem
• An infeasible problem has no feasible solution area; every possible solution point violates
one or more constraints.
maximize Z = 5X1 + 3X2
subject to:
4X1 + 2X2 ≤ 8
X1 ≥ 4
X2 ≥ 6
X 1, X 2 ≥ 0
14
An Unbounded Problem
15
Example 3
Production Planning Problem: Let us consider a company making a single product. The
estimated demand for the product for the next four months are 1000, 800, 1200, 900,
respectively. The company has a regular time capacity of 800 per month and an overtime
capacity of 200 per month. The cost of regular time production is 20 per unit and the cost of
overtime production is 25 per unit. The company can carry inventory to the next month and
the holding cost is Z3 per unit per month. The demand has to be met every month.
Formulate a linear programming problem for the above situation. Solve this model.
The postal department is considering the purchase of vehicles to pick up and deliver mail
from various offices. They are considering three types of vehicles. The cost of each of these
are $5, $10 and $8 per vehicle, respectively. These require a crew of 2, 4 and 4 persons per
day considering multiple shifts. They expect these to run for 60, 100 and 80 km per day.
They expect that the total distance to be covered by the vehicles per day would be 2000 km.
Based on the fuel economy, the operating cost per day for these vehicles are $200, $350
and $300 per day. They have a budget restriction of $1.6 crore and have 80 people available
as crew. Formulate a model to minimize the operating costs. Solve this model.
17
Example 5
A call centre has the following minimal daily requirements for personnel as shown in Table:
Minimum requirements for personnel
Time of the day (24-hour clock) Period Minimum number of people required
2-6 1 20
6-10 2 15
10-14 3 8
14-18 4 6
18-22 5 12
22-2
Formulate a linear programming 6
model to find 30
an optimal requirement. Solve this model.
Note: Consider Period 1 as following immediately after Period 6. Each person works eight
consecutive hours.
18
Example 6
In a transport company, 6 trucks of Type 1, 10 trucks of Type 2 and 8 trucks of Type 3 are
available for each day's requirements. The tonnage capacities are 16 for Type 1, 12 for Type
2 and 9 for Type 3.
The company dispatches its trucks to Cities A and B. Tonnage requirements are 20 at City A
and 30 at City B; excess tonnage capacity supplied to a city has no value. Considering the
distances, it is possible for the trucks to go only once to the destinations everyday. The cost
of sending a truck to each city is given in below table:
Type 1 Type 2 Type 3
City A 2,000 1,800 1,200
City B 3,000 2,400 2,200
Formulate this problem as a linear programming problem. Solve this model.
19
Question 1
A shop makes two types of sweets (A and B). They use two resources - flour and sugar. To
make one packet of sweet-A, they need 2 kg of flour and 5 kg of sugar. To make one packet
of sweet-B, they need 3 kg of flour and 3 kg of sugar. They have 25 kg of flour and 28 kg of
sugar. These sweets are sold at 800 and 900 per packet respectively. Formulate an LP
problem to find the best product mix. Solve this model.
20
Question 2
The manpower requirement for 12 two-hour slots in a day are 4, 6, 8, 12, 10, 8, 10, 15, 8, 6,
8, 10, 12, 8, 6. A person can start work at the beginning of any slot and works for 8
consecutive hours. Formulate a problem to minimize the number of people employed? Solve
this model.
21
Question 3
Surbhi has $20 lakhs with her and considers three schemes to invest the money for one
year. The expected returns are 10%, 12% and 15% for the three schemes per year. The third
scheme accepts only up to 10 lakhs. The investor wants to invest more money in scheme 1
than in scheme 2. The investor assesses the risk associated with the three schemes as 0
unit, 10 units and 20 units per lakh invested and does not want her risk to exceed 500 units.
Formulate an LP problem for the above situation? Solve this model.
22
Question 4
TV sets are to be transported from three factories to three retail stores. The available
quantities are 300, 400 and 500 respectively in the three factories and the requirements are
250, 350 and 500 in the three stores. They are first transported from the factories to
warehouses and then sent to the retail stores. There are two warehouses and their
capacities are 600 and 700 units. The unit costs of transportation from the factories to
warehouses and from the warehouses to retail stores are Cy and CJk respectively. Formulate
an LP problem for the above situation. Solve this model.
23
Question 5
A jewelry store makes necklaces and bracelets from gold and platinum. The store has 18
ounces of gold and 20 ounces of platinum. Each necklace requires 3 ounces of gold and 2
ounces of platinum, whereas each bracelet requires 2 ounces of gold and 4 ounces of
platinum. The demand for bracelets is no more than four. A necklace earns $300 in profit
and a bracelet, $400. The store wants to determine the number of necklaces and bracelets
to make to maximize profit.
a. Formulate a linear programming model for this problem. Solve this model.
b. Explain the effect on the optimal solution of increasing the profit on a bracelet from
$400 to $600. What will be the effect of changing the platinum requirement for a
necklace from 2 ounces to 3 ounces?
c. The maximum demand for bracelets is 4. If the store produces the optimal number of
bracelets and necklaces, will the maximum demand for bracelets be met? If not, by how
much will it be missed?
d. What profit for a necklace would result in no bracelets being produced, and what would
be the optimal solution for this profit?
24
Question 6
Universal Claims Processors processes insurance claims for large national insurance companies. Most
claim processing is done by a large pool of computer operators, some of whom are permanent and
some of whom are temporary. A permanent operator can process 16 claims per day, whereas a
temporary operator can process 12 per day, and on average the company processes at least 450
claims each day. The company has 40 computer workstations. A permanent operator generates about
0.5 claim with errors each day, whereas a temporary operator averages about 1.4 defective claims per
day. The company wants to limit claims with errors to 25 per day. A permanent operator is paid $64
per day, and a temporary operator is paid $42 per day. The company wants to determine the number
of permanent and temporary operators to hire to minimize costs.
a. Formulate a linear programming model for this problem. Solve this model.
b. Explain the effect on the optimal solution of changing the daily pay for a permanent claims
processor from $64 to $54.
c. Explain the effect of changing the daily pay for a temporary claims processor from $42 to $36.
d. What would be the effect if the minimum number of claims the firm processes each day
increased from 450 to at leaon the optimal solution if Universal Claims Processors decided not to
try to limit the number of defective claims each day?
e. Explain the effect on the optimal solution st 650.
25
How do we find solution for that problem?
27
How do we find solution for that problem?
29
Question 1
30
Question 2
31
Question 3
32
Question 4
33
Let’s re-consider the above LP problem given by:
34
1. Dual to the LP with mixed type of constraints
• The lowest value that can be achieved will have a certain value of a and b, if such a value exists. Let
such values of a and b be Y1 and Y2.
In order to get the upper estimate of Z*:
(1): Y1 + 3Y2 ≥ 6
(2): Y1 + 2Y2 ≥ 5
(3): Y1, Y2 ≥ 0
• For every Y1 and 3Y2, satisfying Eqs. (1) to (3), W = 5Y1 + 12Y2 is an upper estimate of Z*. The
lowest value W can take is given by the linear programming problem.
Minimize W = 5Y1 + 12Y2
Subject to
Y1 + 3Y2 ≥ 6
Y1 + 2Y2 ≥ 5
Y1, Y2 ≥ 0
• The above problem is called the dual of the given problem. The given problem is called the primal.36
1. Dual to the LP with mixed type of constraints
38
Example 1
39
Example 1
Now, the primal is converted to the form for which we can write the dual. Introducing
variables Y1 to Y5 for each of the constraints, we write the dual as:
Minimize Z = 12Y1 - 12Y2 - 9Y3 + 10Y4 - 7Y5
Subject to
4Y1 - 4Y2 - 7Y3 + 8Y4 - 3Y5 ≥ -8
2Y1 - 2Y2 - 5Y3 + 5Y4 - 7Y5 ≥ -5
-2Y1 + 2Y2 + 5Y3 - 5Y4 + 7Y5 ≥ 5
-8Y1 + 8Y2 + 6Y3 - 4Y4 + 9Y5 ≥ 4
Y1, Y2, Y3, Y4, Y5 ≥ 0
40
Example 1
• Since the primal is a minimization problem, the dual should be a maximization problem.
Multiplying by -1, we get:
Maximize Z = -12Y1 + 12Y2 + 9Y3 - 10Y4 + 7Y5
Subject to
4Y1 – 4Y2 - 7Y3 + 8Y4 - 3Y5 ≥ -8
2Y1 – 2Y2 - 5Y3 + 5Y4 - 7Y5 ≥ -5
-2Y1 + 2Y2 + 5Y3 - 5Y4 + 7Y5 ≥ 5
-8Y1 + 8Y2 + 6Y3 - 4Y4 + 9Y5 ≥ 4
Y1, Y2, Y3, Y4, Y5 ≥ 0
41
Example 1
42
Example 1
43
Example 1
• Multiplying the first and second constraints by -1. Writing constraints 2 and 3 as equation,
we get the dual as:
Maximize Z = 12Y6 + 9Y3 + 10Y7 + 7Y5
Subject to
4Y6 + 7Y3 + 8Y7 + 3Y5 ≤ 8
2Y6 + 5Y3 + 5Y7 + 7Y5 = 5
8Y6 + 6Y3 + 4Y7 + 9Y5 ≥ 4
Y6 unrestricted in sign, Y3, Y5 ≥ 0, Y7 ≤ 0
44
Example 2
45
2. Primal-dual relationships
2. Weak Duality Theorem: For a maximization primal, every feasible solution to the dual has
a objective function value greater than or equal to every feasible solution to the primal.
3. Optimality Criterion Theorem: If the primal and dual have feasible solution with the same
value of the objective function then both have optimal solutions with the same value of the
objective function.
4. Main Duality Theorem: If primal and dual have feasible solutions then both have optimal
solutions with the same value of the objective function.
5. If the primal (maximization) is unbounded, the dual is infeasible. If the primal is infeasible,
the dual is unbounded or infeasible.
6. Fundamental Theorem of Linear Programming: Every linear programming problem is
either feasible or unbounded or infeasible. If it has a feasible solution then it has a basic
feasible solution. If it has an optimal solution, at least one corner point solution is optimal.
• Let us add a small quantity to the first constraint such that the resource available now is
(5 + ). Assuming that X1 and X2 will remain as basic variables at the optimum and solving
for X1 and X2 we get X1* = 2 - 2, X2* = 3 + 3, Z* = 27 + 3
• The increase in objective function value at the optimum for a small increase of the first
constraint (resource) is 3, where 3 is the value of the first dual variable Y1 at the
optimum. The value of the dual variable at the optimum is the rate of change of objective
function for a small change in the value of the resource. It can be viewed as the change in
the objective function for a unit change of the resource at the optimum (assuming that
the change is not significant enough to change the set of basic variable themselves).
• From the previous discussion we know that the objective function increases by 3 for a unit
increase in the first resource. If we have to buy the resource we will be willing to pay a
maximum of $3 for the unit increase. Otherwise we will end up making a loss and it will
not be profitable considering the purchase of the extra resource.
• The value of the dual variable is the marginal value of the corresponding resource at the
optimum.
• Assume that the primal is a problem of a carpenter who makes tables and chairs. Now, the
dual is the problem faced by the person who is assumed to be selling the resources to the
carpenter. If the person sells the extra resource for a price less than $3, the carpenter will
buy and make more profit than what the problem allows him to make (which the seller
would not want). On the other hand, if the seller charges more than $3, the carpenter will
not buy the resource and the seller cannot make money and profit. So both the carpenter
and the seller will agree for $3 (in a competitive environment) and each will make their
money and the associated profit. The dual value is also called the shadow price of the
resource at the optimum.
• If we add a small to the third resource and solve the resultant problem assuming X1, X2
and u3 as basic variables, we realize that the solution does not change and the optimum
value of Z remains at 42. This means that the marginal value of the third resource at the
optimum is zero. This is because the resource is not completely used at the optimum. The
fact that u3 = 6 at the optimum means that only 30 units out of 36 is only consumed and a
balance of 6 units is available.
• Therefore, the person will not want to buy extra resources at extra cost because the
resource is already available. Thus, the marginal value of the resource is zero. When a
slack variable is in the basis, the corresponding dual decision variable is non-basic indicating
that the marginal value of the corresponding dual variable is zero.
• Sensitivity analysis is the analysis of the effect of parameter changes on the optimal
solution.
• In sensitivity analysis, we attempt to address issues such as:
1. Changes in objective function coefficients
2. Changes in constraint quantity values
3. Adding new constraints
4. Adding new variables
1. Decision variables?
X1 = number of bowls to produce
X2 = number of mugs to produce
2. The objective function?
maximize Z = $40X1 + $50X2
where:
Z = total profit per day
$40X1 = profit from bowls
$50X2 = profit from mugs
3. Model constraints?
1X1 + 2X2 ≤ 40 hr
4X1 + 3X2 ≤ 120 lb
4. Non-negativity constraints?
X1 ≥ 0, X2 ≥ 0
55
5.1. Changes in Objective Function Coefficients
• The sensitivity range for an objective coefficient is the range of values over which the
current optimal solution point will remain optimal.
Sensitivity ranges
for objective
function coefficients
56
5.1. Changes in Objective Function Coefficients
• This means that the profit for a bowl can vary anywhere between $25.00 and $66.67, and
the optimal solution point, X1 = 24 and X2 = 8, will not change. Of course, the total profit,
or Z value, will change, depending on whatever value C1 actually is.
• For the manager, this is useful information. Changing the production schedule in terms of
how many items are produced can have a number of ramifications in an operation.
Packaging, logistical, and marketing requirements for the product might need to be
altered. However, with the preceding sensitivity range, the manager knows how much the
profit, and hence the selling price and costs, can be altered without resulting in a change
in production.
• The sensitivity range for a right-hand-side value is the range of values over which the
quantity values can change without changing the solution variable mix, including slack
variables.
Sensitivity ranges
for constraint
quantity values
58
5.3. Adding new constraints
• Suppose the Beaver Creek Pottery Company added a third constraint for packaging its
pottery, as follows:
0.20X1 + 0.10X2 ≤ 5 hr
59
5.4. Adding new variables
• Suppose the pottery company were contemplating producing a third product, cups,
requiring 1.2 hours of labor and 2 pounds of clay. It can secure no additional resources,
and the profit for a cup is estimated to be $30. This change is reflected in the following
model reformulation:
maximize Z = $40X1 + $50X2 + $30X3
subject to:
1X1 + 2X2 + 1.2X3 ≤ 40 hr
4X1 + 3X2 +2X3 ≤ 120 lb
X1, X2, X3 ≥ 0 Added new variable
60
5.5. Shadow Prices
• These dual values are the marginal values of labor and clay in our problem. This is useful
information that is provided in addition to the normal model solution values when you
solve a linear programming model.
Shadow price
(Dual values)
61
5.5. Shadow Prices
• The sensitivity range for a constraint quantity value is also the range over which the
shadow price is valid.
Increase in labor
hours from 40 to 80
62
Question 1
London Fashions specializes in the design and delivery of apparels. To improve its sales, the company
puts ads on TV and print media. TV channels play the video clip of an ad for 60 seconds and charge
€25 per ad; print media (books, magazines, newspapers) print the ad in a 10x10 space and charge
€40 per space. Each TV ad is expected to reach 5,000 potential customers and print media ads to
reach about 6,000 potential customers. The company wants to reach at least 300,000 customers in
total, at least 100,000 via TV ads and 150,000 through print media. The firm wants to know the
number of ads it needs to put in each type of media to reach the expected number of customers with
minimum cost.
a. Formulate a linear programming model. Solve this model.
b. Determine the sensitivity ranges for the cost of TV.
c. Does the company give any more print media ads than is required and if so, how many more?
d. What would be the effect on the optimal solution if the firm were required to increase the TV
ads, reach to 200,000 customers from 100,000 customers?
e. If the firm could reduce the minimum ad requirements for TV or print media, which should it
select? How much reduction of your choice will reduce the total cost?
f. Identify the sensitivity ranges for the cost of TV and print media.
63
Question 2
Metro Food Services Company delivers fresh sandwiches each morning to vending machines throughout
the city. The company makes three kinds of sandwiches - ham and cheese, bologna, and chicken salad. A
ham and cheese sandwich requires a worker 0.45 minutes to assemble, a bologna sandwich requires 0.41
minutes, and a chicken salad sandwich requires 0.50 minutes to make. The company has 960 available
minutes each night for sandwich assembly. Vending machine capacity is available for 2,000 sandwiches
each day. The profit for a ham and cheese sandwich is $0.35, the profit for a bologna sandwich is $0.42,
and the profit for a chicken salad sandwich is $0.37. The company knows from past sales records that its
customers buy as many ham and cheese sandwiches as the other two sandwiches combined, if not more
so, but customers need a variety of sandwiches available, so Metro stocks at least 200 of each. Metro
management wants to know how many of each sandwich it should stock to maximize profit.
a. Formulate a linear programming model for this problem. Solve this model.
b. If Metro Food Services could hire another worker and increase its available assembly time by 480
minutes or increase its vending machine capacity by 100 sandwiches, which should it do? Why? How
much additional profit would your decision result in?
c. What would the effect be on the optimal solution if the requirement that at least 200 sandwiches of
each kind be stocked was eliminated? Compare the profit between the optimal solution and this
solution. Which solution would you recommend?
d. What would the effect be on the optimal solution if the profit for a ham and cheese sandwich was
increased to $0.40? To $0.45?
64
Question 3
The college of business of a large university offers six major programs and set the tuition as tabulated.
The college plans to admit a total of 3,000 students in all the six majors with at least 200 students in each major.
Each major should admit no more than 20% students admitted to the college. Majors 3 through 6 are using
common resources. To avoid shortage of resources, students admitted in Finance should be at most 25% of the
total students admitted in Supply Chain, Economics, and General together. Each major should have students,
otherwise the university will close the major program. The university wants to determine the number of
students it should admit in each major to maximize its tuition revenue.
a. Formulate a linear programming model. Solve this model.
b. The capacity of the college is 3,000 students. If the university plans to increase the capacity of the college
to 3,500, should the college accept this expansion? Explain.
c. Analyze the number of students admitted when the capacity is 3,000 and when it is increased to 3,500.
65
Model examples
66
1. Integer Programming Models
There are three basic types of integer linear programming models - a total integer model, a
0-1 integer model, and a mixed integer model. In a total integer model, all the decision
variables are required to have integer solution values. In a 0-1 integer model, all the decision
variables have integer values of zero or one. Finally, in a mixed integer model, some of the
decision variables (but not all) are required to have integer solutions.
67
1.1. A Total Integer Model Example
The owner of a machine shop is planning to expand by purchasing some new machines-
presses and lathes. The owner has estimated that each press purchased will increase profit
by $100 per day, and each lathe will increase profit by $150 daily. The number of machines
the owner can purchase is limited by the cost of the machines and the available floor space
in the shop. The machine purchase prices and space requirements are as follows:
The owner has a budget of $40,000 for purchasing machines and 200 square feet of
available floor space. The owner wants to know how many of each type of machine to
purchase to maximize the daily increase in profit.
68
1.1. A Total Integer Model Example
69
1.2. A 0-1 Integer Model Example
A community council must decide which recreation facilities to construct in its community. Four new
recreation facilities have been proposed—a swimming pool, a tennis center, an athletic field, and a
gymnasium. The council wants to construct facilities that will maximize the expected daily usage by
the residents of the community, subject to land and cost limitations. The expected daily usage and
cost and land requirements for each facility follow:
The community has a $120,000 construction budget and 12 acres of land. Because the swimming
pool and tennis center must be built on the same part of the land parcel, however, only one of these
two facilities can be constructed. The council wants to know which of the recreation facilities to
construct to maximize the expected daily usage.
70
1.2. A 0-1 Integer Model Example
71
1.3. A Mixed Integer Model Example
72
1.3. A Mixed Integer Model Example
73
2. 0-1 Integer Programming Modeling Examples
The University Bookstore at Tech is considering several expansion projects, including developing a store Web site
for online retail and catalog purchases, buying an off-campus warehouse and its subsequent expansion,
developing a clothing and gift department specializing in university logo apparel, opening a computer
department carrying both hardware and software products, and creating a banking pavilion of three automated
teller machines outside the store. Some of the projects will be developed over a 2-year period and some over a
3-year period, as funds permit. The net present value costs per year and the projected net present value of
returns for a 5-year period for each of the projects are shown in the following table:
In addition, the store does not have enough space available to create both a computer department and a
clothing department. The bookstore director wants to know which projects to select to maximize returns.
74
2. 0-1 Integer Programming Modeling Examples
Samsung sells its four flagship products—cell phones, TVs, computing devices, and memory
storage devices—through its exclusive showroom in a city. To support sales, it has hired 20
persons and trained them to service every product. Depending on the nature of the job, the
cost of overhead expenses varies. The overhead cost of the cellphone section of the
showroom per day is £70, for the TV section is £65, for the computing device section is £60,
and for the memory storage section is £25. The store has allotted a budget of £1,000 for the
showroom per day. A cell phone serviceman generates a revenue of £480 a day, a TV
serviceman, £480, a computing devices serviceman, £450, and a memory storage section
serviceman, £300. Each section needs at least two servicemen. The outlet wants to
determine the number of servicemen to be assigned to each section that will maximize the
revenue. Formulate an integer programming model for this problem. Solve this model
76
Question 2
The Terraco Motor Company has produced a lightweight, all-terrain vehicle code-named “J99 Terra” for the
military. The company is now planning to sell the Terra to the public. It has five plants that manufacture the
vehicle and four regional distribution centers. The company is unsure of public demand for the Terra, so it is
considering reducing its fixed operating costs by closing one or more plants, even though it would incur an
increase in transportation costs. The relevant costs for the problem are provided in the following table. The
transportation costs are per thousand vehicles shipped; for example, the cost of shipping 1,000 vehicles from
plant 1 to warehouse C is $32,000.
Formulate and solve an integer programming model for this problem to assist the company in determining
which plants should remain open and which should be closed and the number of vehicles that should be
shipped from each plant to each warehouse to minimize total cost.
77