Linear Programming Formulation Examples
Linear Programming Formulation Examples
A cargo plane has three compartments for storing cargo: front, centre and rear. These
compartments have the following limits on both weight and space:
Compartment Weight capacity (tonnes) Space capacity (cubic metres)
Front 10 6800
Centre 16 8700
Rear 8 5300
Furthermore, the weight of the cargo in the respective compartments must be the same
proportion of that compartment's weight capacity to maintain the balance of the plane.
The following four cargoes are available for shipment on the next flight:
Cargo Weight (tonnes) Volume (cubic metres/tonne) Profit (£/tonne)
C1 18 480 310
C2 15 650 380
C3 23 580 350
C4 12 390 285
Any proportion of these cargoes can be accepted. The objective is to determine how
much (if any) of each cargo C1, C2, C3 and C4 should be accepted and how to
distribute each among the compartments so that the total profit for the flight is
maximised.
Solution
Variables
We need to decide how much of each of the four cargoes to put in each of the three
compartments. Hence let:
xij be the number of tonnes of cargo i (i=1,2,3,4 for C1, C2, C3 and C4 respectively)
that is put into compartment j (j=1 for Front, j=2 for Centre and j=3 for Rear) where
xij >=0 i=1,2,3,4; j=1,2,3
Note here that we are explicitly told we can split the cargoes into any proportions
(fractions) that we like.
Constraints
cannot pack more of each of the four cargoes than we have available
the weight of the cargo in the respective compartments must be the same
proportion of that compartment's weight capacity to maintain the balance of the
plane
[x11 + x21 + x31 + x41]/10 = [x12 + x22 + x32 + x42]/16 = [x13 + x23 + x33 + x43]/8
Objective
The advantages of using a software package to solve the above linear program, rather
than a judgemental approach are:
actually maximise profit, rather than just believing that our judgemental
solution maximises profit (we may have bad judgement, even if we have an
MBA!)
makes the cargo loading the decision one that we can solve in a routine
operational manner on a computer, rather than having to exercise judgement
each and every time we want to solve it
problems that can be appropriately formulated as linear programs are almost
always better solved by computers than by people
can perform sensitivity analysis very easily using a computer
A canning company operates two canning plants. The growers are willing to supply
fresh fruits in the following amounts:
The objective is to find the best mixture of the quantities supplied by the three
growers to the two plants so that the company maximises its profits.
Solution
1. Problem identification
o Diagnosis of the problem from its symptoms if not obvious (i.e. what is
the problem?)
o Delineation of the subproblem to be studied. Often we have to ignore
parts of the entire problem.
o Establishment of objectives, limitations and requirements.
2. Formulation as a mathematical model
3. Model validation (or algorithm validation)
o Model validation involves running the algorithm for the model on the
computer in order to ensure:
the input data is free from errors
the computer program is bug-free (or at least there are no
outstanding bugs)
the computer program correctly represents the model we are
attempting to validate
the results from the algorithm seem reasonable (or if they are
surprising we can at least understand why they are surprising).
4. Solution of the model
o Standard computer packages, or specially developed algorithms, can be
used to solve the model.
o In practice, a "solution" often involves very many solutions under
varying assumptions to establish sensitivity.
5. Implementation
o This phase may involve the implementation of the results of the study or
the implementation of the algorithm for solving the model as an
operational tool (usually in a computer package).
To formulate the problem given in the question as a linear program we need to define:
variables
constraints
objective
Variables
We need to decide how much to supply from each of the three growers to each of the
two canning plants. Hence let xij be the number of tonnes supplied from grower i
(i=1,2,3 for S1, S2 and S3 respectively) to plant j (j=1 for Plant A and j=2 for Plant B)
where xij >=0 i=1,2,3; j=1,2
Constraints
Objective
maximise revenue - grower supply cost - grower shipping cost - plant labour cost
and this is
The dual values associated with the supply and plant capacity constraints in the
optimal solution of the above linear program tell us by how much the optimal
objective function value will change if we change the right-hand side of the
corresponding constraints
The production manager of a chemical plant is attempting to devise a shift pattern for
his workforce. Each day of every working week is divided into three eight-hour shift
periods (00:01-08:00, 08:01-16:00, 16:01-24:00) denoted by night, day and late
respectively. The plant must be manned at all times and the minimum number of
workers required for each of these shifts over any working week is as below:
Mon Tues Wed Thur Fri Sat Sun
Night 5 3 2 4 3 2 2
Day 7 8 9 5 7 2 5
Late 9 10 10 7 11 2 2
1. Each worker is assigned to work either a night shift or a day shift or a late shift
and once a worker has been assigned to a shift they must remain on the same
shift every day that they work.
2. Each worker works four consecutive days during any seven day period.
Solution
Variables
The union agreement is such that any worker can only start their four consecutive
work days on one of the seven days (Mon to Sun) and in one of the three eight-hour
shifts (night, day, late).
Let:
Monday be day 1, Tuesday be day 2, ..., Sunday be day 7
Nij the number of workers starting their four consecutive work days on day i (i=1,...,7)
and shift j (j=1,...,3)
Note here that strictly these variables should be integer but, as we are explicitly told to
formulate the problem as a linear program in part (a) of the question, we allow them
to take fractional values.
Constraints
since each worker can start his working week only once during the seven day, three
shift, week
lower limit on the total number of workers required for each day/shift period
let Dij be the (known) number of workers required on day i (i=1,...,7) and shift period j
(j=1,...,3) e.g. D53=11 (Friday, Late)
The logic here is straightforward, for example for Wednesday (day 3) the workers
working shift j on day 3 either started on Wednesday (day 3, N3j) or on Tuesday (day
2, N2j) or on Monday (day 1, N1j) or on Sunday (day 7, N7j) - so the sum of these
variables is the total number of workers on duty on day 3 in shift j and this must be at
least the minimum number required (D3j).
Objective
It appears from the question that the production manager's objective is simply to find
a feasible schedule so any objective is possible. Logically however he might be
interested in reducing the size of the workforce so the objective function could be:
where all variables Nij>=0 and continuous (i.e. can take fractional values).
Some of the advantages and disadvantages of solving this problem as a linear program
are:
able to investigate changes (e.g. in shift patterns, workers needed per day, etc)
very easily.
A company manufactures four products (1,2,3,4) on two machines (X and Y). The
time (in minutes) to process one unit of each product on each machine is shown
below:
Machine
X Y
Product 1 10 27
2 12 19
3 13 33
4 8 23
The profit per unit for each product (1,2,3,4) is £10, £12, £17 and £8 respectively.
Product 1 must be produced on both machines X and Y but products 2, 3 and 4 can be
produced on either machine.
The factory is very small and this means that floor space is very limited. Only one
week's production is stored in 50 square metres of floor space where the floor space
taken up by each product is 0.1, 0.15, 0.5 and 0.05 (square metres) for products 1, 2, 3
and 4 respectively.
Customer requirements mean that the amount of product 3 produced should be related
to the amount of product 2 produced. Over a week approximately twice as many units
of product 2 should be produced as product 3.
Solution
Variables
Essentially we are interested in the amount produced on each machine. Hence let:
Note here that as product 1 must be processed on both machines X and Y we do not
define y1.
Constraints
floor space
customer requirements
x2 + y2 = 2(x3 + y3)
Note here that as this is only an approximate (±5% say) constraint we might do better
to express this constraint as
0.95[2(x3 + y3)] <= x2 + y2 <= 1.05[2(x3 + y3)]
available time
Objective
A company is planning its production schedule over the next six months (it is
currently the end of month 2). The demand (in units) for its product over that
timescale is as shown below:
Month 3 4 5 6 7 8
Demand 5000 6000 6500 7000 8000 9500
The company currently has in stock: 1000 units which were produced in month 2;
2000 units which were produced in month 1; 500 units which were produced in month
0.
The company can only produce up to 6000 units per month and the managing director
has stated that stocks must be built up to help meet demand in months 5, 6, 7 and 8.
Each unit produced costs £15 and the cost of holding stock is estimated to be £0.75
per unit per month (based upon the stock held at the beginning of each month).
The company has a major problem with deterioration of stock in that the stock
inspection which takes place at the end of each month regularly identifies ruined stock
(costing the company £25 per unit). It is estimated that, on average, the stock
inspection at the end of month t will show that 11% of the units in stock which were
produced in month t are ruined; 47% of the units in stock which were produced in
month t-1 are ruined; 100% of the units in stock which were produced in month t-2
are ruined. The stock inspection for month 2 is just about to take place.
The company wants a production plan for the next six months that avoids stockouts.
Formulate their problem as a linear program.
Solution
Variables
Let
Iit be the number of units in stock at the end of month t which were produced in month
i (i=t,t-1,t-2)
Sit be the number of units in stock at the beginning of month t which were produced in
month i (i=t-1,t-2)
dit be the demand in month t met from units produced in month i (i=t,t-1,t-2)
Constraints
production limit
Pt <= 6000
I22 = 1000
I12 = 2000
I02 = 500
St-1,t = 0.89It-1,t-1
St-2,t = 0.53It-2,t-1
inventory continuity equation where we assume we can meet demand in month
t from production in month t. Let Dt represent the (known) demand for the
product in month t (t=3,4,...,8) then
and we have
It,t = 0 + Pt - dt,t
where
no stockouts
Objective
Note because we are told to formulate this problem as a linear program we assume all
variables are fractional - in reality they are likely to be quite large and so this is a
reasonable approximation to make (also a problem occurs with finding integer values
which satisfy (for example) St-1,t=0.89It-1,t-1 unless this is assumed).
If we want to ensure that demand is met from the oldest stock first then we can
conclude that this is already assumed in the numerical solution to our formulation of
the problem since (plainly) it worsens the objective to age stock unnecessarily and so
in minimising costs we will automatically supply (via the dit variables) the oldest
stock first to satisfy demand (although the managing director needs to tell the
employees to issue the oldest stock first).
Linear programming example 1986 UG exam
There are three stages (A, B, C) in the manual assembly of each product and the man-
hours needed for each stage per unit of product are shown below:
Product
1 2 3 4
Stage A 2 2 1 1
B 2 4 1 2
C 3 6 1 5
The nominal time available in the next week for assembly at each stage (A, B, C) is
160, 200 and 80 man-hours respectively.
It is possible to vary the man-hours spent on assembly at each stage such that workers
previously employed on stage B assembly could spend up to 20% of their time on
stage A assembly and workers previously employed on stage C assembly could spend
up to 30% of their time on stage A assembly.
Production constraints also require that the ratio (product 1 units assembled)/(product
4 units assembled) must lie between 0.9 and 1.15.
Formulate the problem of deciding how much to produce next week as a linear
program.
Solution
Variables
Let
Constraints
maximum demand
x1 <= 50
x2 <= 60
x3 <= 85
x4 <= 70
ratio
work-time
Objective
Note we neglect the fact that the xi variables should be integer because we are told to
formulate the problem as an LP.
Similarly the profit (£) contribution (contribution to fixed costs) per unit varies from
workstation to workstation as below
Workstation
1 2 3 4
Product 1 10 8 6 9
2 18 20 15 17
3 15 16 13 17
If, one week, there are 35 working hours available at each workstation how much of
each product should be produced given that we need at least 100 units of product 1,
150 units of product 2 and 100 units of product 3. Formulate this problem as an LP.
Solution
Variables
At first sight we are trying to decide how much of each product to make. However on
closer inspection it is clear that we need to decide how much of each product to make
at each workstation. Hence let
Although (strictly) all the xij variables should be integer they are likely to be quite
large and so we let them take fractional values and ignore any fractional parts in the
numerical solution. Note too that the question explicitly asks us to formulate the
problem as an LP rather than as an IP.
Constraints
limit on the number of minutes available each week for each workstation
5x11 + 6x21 + 13x31 <= 35(60)
Objective
maximise
10x11 + 8x12 + 6x13 + 9x14 + 18x21 + 20x22 + 15x23 + 17x24 + 15x31 + 16x32 + 13x33 +
17x34
Consider the production of tin cans which are stamped from metal sheets. A can
consists of a main body and two ends,. We have 4 possible stamping patterns
(involving 2 different types (sizes) of metal sheet). as shown below
We have the following information:
Pattern
1 2 3 4
Type of sheet used 1 2 1 1
Number of main bodies 1 4 2 0
Number of ends 7 4 3 9
Amount of scrap s1 s2 s3
s4
Time to stamp (hours) t1 t2 t3
t4
Note here that the si (i=1,2,3,4) and the ti (i=1,2,3,4) are not variables but constants
(which have a known value). Often in formulating LP's it is easier to use a symbol for
a number rather than write out the number in full every time it occurs in a constraint
or in the objective function.
Let P be the profit obtained from selling one can, C be the cost per unit of scrap, T be
the total number of hours available per week, L1 be the number of metal sheets of type
1 which are available for stamping per week and L2 be the number of metal sheets of
type 2 which are available for stamping per week.
At the start of the week there is nothing in stock. Each (unused) main body in stock at
the end of the week incurs a stock-holding cost of c1. Similarly each (unused) end in
stock at the end of the week incurs a stock-holding cost of c2. Assume that all cans
produced one week are sold that week.
Variables
Let
Note xi >= 0 i=1,2,3,4 and y >= 0 and again we assume that the xi and y are large
enough for fractional values not to be significant.
Constraints
time available
sheet availability
x1 + x3 + x4 <= L1 (sheet 1)
x2 <= L2 (sheet 2)
where the first term in this expression is the limit imposed upon y by the number of
can ends produced and the second term in this expression is the limit imposed upon y
by the number of can bodies produced. This constraint (because of the min[,] part) is
not a linear constraint.
Objective
maximise
revenue - cost of scrap - unused main bodies stock - holding cost - unused ends stock -
holding cost
i.e. maximise
Py - C(s1x1 + s2x2 + s3x3 + s4x4) - c1(x1 + 4x2 + 2x3 - y) - c2((7x1 + 4x2 + 3x3 + 9x4) -
2y)
(which are both linear constraints) then we do have an LP and in the optimal solution
of this LP either:
neither constraint (B) nor constraint (C) is satisfied with equality i.e. y <
(7x1+4x2+3x3+9x4 )/2 and y < (x1+4x2+2x3) - but in this case we can increase y
(without changing any xi values), increasing the objective function (assuming P
+ c1 + 2c2 >0) and contradicting the statement (above) that we already had the
optimal solution.
Hence case (b) cannot occur and so case (a) is valid - replacing constraint (A) by
constraints (B) and (C) generates a valid LP formulation of the problem.
Note that this problem illustrates that even if our initial formulation of the problem is
non-linear we may be able to transform it into an LP.
Note too that it is relatively easy to extend the LP formulation of the problem to cope
with the situation where can bodies/ends unused at the end of one week are available
for production the following week.
A company is producing a product which requires, at the final assembly stage, three
parts. These three parts can be produced by two different departments as detailed
below.
Production rate (units/hr)
Part 1 Part 2 Part 3 Cost (£/hr)
Department 1 7 6 9 25.0
Department 2 6 11 5 12.5
One week, 1050 finished (assembled) products are needed (but up to 1200 can be
produced if necessary). If department 1 has 100 working hours available, but
department 2 has 110 working hours available, formulate the problem of minimising
the cost of producing the finished (assembled) products needed this week as an LP,
subject to the constraint that limited storage space means that a total of only 200
unassembled parts (of all types) can be stored at the end of the week.
Note: because of the way production is organised in the two departments it is not
possible to produce, for example, only one or two parts in each department, e.g. one
hour of working in department 1 produces 7 part 1 units, 6 part 2 units and 9 part 3
units and this cannot be altered.
Variables
We need to decide the amount of time given over to the production of parts in each
department (since we, obviously, may not make use of all the available working time)
and also to decide the total number of finished (assembled) products made. Hence let:
where xi >= 0 i=1,2 and y >= 0 and (as is usual) we assume that any fractional parts in
the variables in the numerical solution of the LP are not significant.
Constraints
x1 <= 100
x2 <= 110
We produce (7x1 + 6x2) part 1 units, (6x1 + 11x2) part 2 units and (9x1 + 5x2) part 3
units. Now to ensure that the number of assembled products produced is exactly y we
need at least y part 1 units, at least y part 2 units and at least y part 3 units. Hence we
have the three constraints
the total number of parts (of all types) produced is (7x1 + 6x2) + (6x1 + 11x2) +
(9x1 + 5x2) = 22x1 + 22x2. Since we produce exactly y assembled products the
number of parts left over at the end of the week is (22x1 + 22x2) - 3y and hence
the constraint relating to the limited storage space is given by
Objective