PROCESS MANAGEMENT Selected Exact Managerial - VŠB-TUO

PROCESS MANAGEMENT
Selected Exact Managerial Methods
Study supports
Darja Noskievičová
FMME VŠB-TUO
Ostrava 2016
Language review:
Mark Landry
Title:
Process Management, Selected Exact Managerial Methods
Author:
Prof. Ing. Darja Noskievičová, CSc.
Edition:
First, 2016
No. of pages: 76
Study materials for the study support of Process Management, the Faculty of Metallurgy and
Materials Engineering.
Completion: VŠB – Technical University of Ostrava
© Prof. Ing. Darja Noskievičová, CSc.
© VŠB – Technical University of Ostrava
2
Darja Noskievičová
Process Management
STUDY INSTRUCTIONS
You have received study support for the combined study containing selected topics covered
by the course of „Process Management“ taught in the 3rd semester of the follow-up master's
degree of the study programme Quality Management study field at the Faculty of Metallurgy
and Materials Engineering.
Course objective and learning outputs
The main course objective is to offer students a complex overview of the aspects of the
process management including various exact managerial approaches covering also linear
programming.
Knowledge outputs:
- a student will be knowledgeable in the problems of process planning and controlling;
- a student will understand and learn the algorithms of various methods for process planning
and controlling.
Skills outputs:
- a student will be able to orient him/herself in the problems of the planning and controlling
of manufacturing, and auxiliary and service processes in practice;
- a student will be able to apply in practice the selected methods of operations research.
Who the course is intended for
This course is included in the follow-up master's study of the field of study of Quality
Management, but it can be studied by an applicant from any other field of study, provided that
he/she meets the required prerequisites.
This study support is divided into chapters, which logically divide up the studied matter, but
are not equally comprehensive. The estimated study time of the chapters may vary
considerably, which is why large chapters are further divided into numbered sub-chapters and
they correspond to the structure described below.
Method of communication with the teacher
This matter is presented to students within the frame of their lectures and practical exercises,
where they practically learn the topics discussed during the theoretical lectures. But the
selected topics suppose self-learning and the elaboration of written seminar work discussed
with the lecturer during consultations and via the internet.
3
Darja Noskievičová
Process Management
STRUCTURE OF THE CHAPTERS
Study time
The time necessary to study the subject matter is given at the beginning of every chapter. The
time is approximate and can serve as a rough guide for the study layout of the entire subject.
The time may seem too long to some people or, on the contrary, too short to others. There are
students who have never encountered this issue and, on the other hand, those who already
have extensive experience in this field.
Objective
There are defined objectives given for you to achieve after reading the chapter and studying
the topics - specific skills and knowledge.
Lecture
This part is the actual presentation of the studied subject matter, the introduction of new
terms, their definitions and the explanation of the principles of the studied subject matter.
Everything is accompanied by pictures, tables and solved examples.
Examples
There are solved examples to better understand the discussed subject matter.
Summary of terms
The main terms you should learn are repeated at the end of the chapter. If you still do not
understand any of the terms, go back to them again.
Questions
There are several questions to verify that you have fully and well mastered the subject matter
of the chapter.
Key to solution
You will find the solution key to the examples at the end of every chapter.
4
Darja Noskievičová
Process Management
References
There is a list of the used reference sources, from which you can draw additional information
on an issue in question, at the very end of every chapter.
The author of this educational material wishes you a successful and pleasant study using this
textbook.
Prof. Ing. Darja Noskievičová, CSc.
5
Darja Noskievičová
Process Management
CONTENTS
STUDY INSTRUCTIONS
3
STRUCTURE OF THE CHAPTERS
4
CONTENTS
6
1. 1. BASIS OF LINEAR PROGRAMMING
9
Time to study
9
Goal
9
Lecture
9
1.1 Introduction
9
1.2 Requirements of a linear programming problem
10
1.3 Introductory example (Optimal production planning)
11
1.4 Forms of LP models
12
1.4.1 General form of an LPP model
12
1.4.2 Standard and canonical form of an LP model
13
1.4.3 Summarization of additional and artificial variables
18
1.5 Assumptions of linear programming
19
1.6 Types of solutions of LPP
20
1.7 General model formulation – a typical LPP
23
1.7.1 Optimal production plan problem
24
1.7.2 Optimal mix problem
24
1.7.3 Optimal rod cutting problem
25
1.8 Techniques of solving LP problems
27
Examples
27
Summary of terms
29
Questions
30
Key to solution
30
References
32
1. 2. GRAPHICAL SOLUTION OF A LINEAR PROGRAMMING PROBLEM
33
Study time
33
Objective
33
Lecture
33
2.1 Introduction
33
2.2 Steps of the graphical solution
33
6
Darja Noskievičová
Process Management
2.2.1 Creation of a general LPP model
34
2.2.2 Construction of a feasible region
34
2.2.3 Finding the optimal solution
36
Examples
38
Summary of terms
38
Questions
38
Key to solution
39
References
40
2. 3. SIMPLEX METHOD
41
Study time
41
Objective
41
Lecture
41
3.1 Steps of the simplex method
41
3.1.1 Formulating the problem in terms of a general LPP model
42
3.1.2 Transformation of a general model into the canonical form
42
3.1.3 Setting up the initial table and calculation of the zj and cj-zj quantities
42
3.1.4 Verification of the optimality of the solution
44
3.1.5 Determination of the entering variable
44
3.1.6 Determination of the exiting (leaving) variable
45
3.1.7 Creation of a new table
46
3.1.8 Verification of the optimality of the solution
48
3.1.9 Repeating the simplex algorithm
48
3.2 Solved example
49
Examples
52
Summary of terms
52
Questions
53
Key to solution
53
References
56
3. 4. TRANSPORTATION PROBLEM
57
Study time
57
Objective
57
Lecture
57
4.1 Principle of the transportation problem solution
57
7
Darja Noskievičová
Process Management
4.2 Steps of the transportation problem
58
4.2.1 Preparation of the transportation table
58
4.2.2 Generating the initial feasible solution
60
4.2.3 Developing the optimal solution
64
4.3 MODI method
64
4.3.1 Selection of the initial solution
66
4.3.2 Setting the dual variables ui and vj
66
4.3.3 Computation of (ui + vj – cij) for unoccupied cells
67
4.3.4 Selection of the cell with maximal positive (ui + vj – cij)
67
4.3.5 Creation of the closed loop (path, cycle)
67
4.3.6 Recalculation of the last table
68
4.3.7 Repetition of the algorithm from Step 2
69
Examples
71
Summary of terms
73
Questions
73
Key to solution
74
References
76
8
Darja Noskievičová
Process Management
1. BASIS OF LINEAR PROGRAMMING PROBLEMS
Study time
600 min
Objective
After studying this chapter you should be able to
 describe the type of problem that could be solved using linear programming;
 formulate a general linear programming model from a description of the problem;
 convert the general model into a standard and canonical form.
 set an initial feasible solution.
Lecture
1.1 Introduction
In 1947, George Danzig proposed using linear algebra for determining the optimal
solutions of
problems involving restrictions (constraints). For instance, the goal is to
determine the optimal amount of several products to produce a given product´s profit per unit,
respecting such constraints as working machine capacity, labour hours, raw materials needed
to make the planned products. This application has been called linear programming (LP)
which is a part of a wider class of mathematical methods called mathematical programming.
Linear programming has been widely used for solving constrained optimization problems. LP
consists of a sequence of steps that will lead to an optimal solution if it exists. [3]
The most common type of LP application involves the general problem of allocating
limited sources among competing activities in the best possible (i.e. optimal) way. More
precisely, an LP problem involves selecting the level of certain activities that compete for
scarce resources that are necessary to perform those activities. The choice of activity levels
then dictates how much of each resource will be consumed by each activity. LP involves the
planning of activities to obtain an optimal result, i.e. the result that reaches the specified best
9
Darja Noskievičová
Process Management
outcome among all feasible alternatives.
LP models are used to help managers make
decisions in many different areas where it is necessary to allocate scarce resources among
competing demands (resource allocation problems) (see Tab. 1.1).
Tab. 1.1 Examples of LPP practical applications Source: [4]
Problem type
Production
planning
Distribution
Inventory planning
Location planning
Process control
Product planning
Scheduling
Description
Production: finding the minimum-cost production operational plan
(schedule) for a given work-force plan, taking into account inventory
carrying subcontracting costs.
Production and work-force: finding the minimum-cost production
operational plan taking into account hiring and layoff costs as well as
carrying inventory , overtime, subcontracting costs, and subject to
various capacity and policy constraints.
Staffing: founding the optimal staffing plan for various categories of
workers, subject to various demand and policy constraints.
Shipping plans: finding optimal shipping assignments from factories to
distribution centres or from warehouses to retailers.
Stock control: Determination of the optimal mix of products to hold in
inventory in a warehouse.
Supplier selection: finding the optimal combination of suppliers to
minimize the amount of unwanted inventory.
Plants or warehouses: determination of the optimal location of a plant
or warehouse with respect to total transportation costs between various
alternative locations and existing supply and demand sources.
Stock cutting: Given the dimensions of a roll or sheet of raw material
finding the cutting pattern that minimized the amount of scrap material
Mixes: Finding the optimal production of various ingredients such as
gasoline, alloys, paints, foods subject to certain minimal requirements.
Determination of the minimum-cost assignment of workers to shifts,
subject to varying demand.
Vehicles: Assignment of m vehicles to n products or jobs and
determination of the number of trips to make, subject to vehicle size,
vehicle availability, and demand constraints.
Routing: Finding the optimal routing of a product through a number of
sequential processes, each with their own capacities and
characteristics.
1.2 Requirements of a linear programming problem
All LP problems (LPP) have four properties in common [2]:
1. LPP seek to maximize or minimize some quantity (usually profit or cost). We refer to this
property as the objective function of an LP problem. The major objective of a typical firm
is to maximize profits in the long run. In the case of a trucking or airline distribution
system, the objective might be to minimize shipping costs.
10
Darja Noskievičová
Process Management
2. The presence of restrictions or constraints limits the degree to which we can pursue our
objective. For example, deciding how many units of each product in a firm’s product line
to manufacture is restricted by the available labour and machinery. We want, therefore, to
maximize or minimize a quantity (the objective function) subject to limited resources (the
constraints).
3. There must be alternative courses of action to choose from. For example, if a company
produces three different products, management may use LP to decide how to allocate its
limited production resources (of labour, machinery, and so on) among them. If there were
no alternatives to select from, we would not need LP.
1.3 Introductory example (Optimal production planning)
In a plant with 3 workshops five product types (P1 – P5) are planned to be produced.
The requirements of the particular products for the working capacity of each workshop and
the whole available working capacity of each workshop can be found in Tab. 1.2.
Tab. 1.2 Data for the example
Workshop
1
2
3
Profit/1 unit
of product
Capacity requirement / 1 piece of product
(hours)
P1
P2
P3
P4
P5
2
4
4
10
4
1
3
15
2
3
5
12
8
1
2
8
1
5
4
13
The whole available
capacity of the
workshop
(hours/year)
12 000
8 000
10 000
Task: Plan what products and in which amount (x1, x2, x3, x4, x5) to produce in order to achieve
maximal profit.
Solution: We are seeking such vector as xT= (x1, x2,…, x5), that enables achieving maximal
profit (the optimal solution).
11
Darja Noskievičová
Process Management
Formulation of the LP model for this example is as follows:
Z = 10x1 + 15x2 + 12x3 + 8x4 + 13x5 MAX
2x1 + 4x2 + 2x3 + 8x4 + 1x5 ≤ 12 000
4x1 + 1x2 + 3x3 + 1x4 + 5x5 ≤
8 000
4x1 + 3x2 + 5x3 + 2x4 + 4x5 ≤ 10 000
xj  0 (j = 1, 2, ..., 5)
The key terms are resources and activities:
m denotes the number of resources; n denotes the number of activities.
Applying to the previous introductory example, m = 3 workshops with their capacity, n = 5
products.
1.4 Forms of LP models
In this subchapter we will discuss general, standard and canonical forms of the LP model.
1.4.1 General form of LP
For the introductory example the above model can be generalized as follows:
a) Objective function
Z = c1x1 + c2x2 + …….+ cnxn  EXT (MAX or MIN)
b) Main (functional) constraints
a11x1 + a12x2 +… + a1nxn ≤  b1
i = 1,2,…, m
a21x1 + a22x2 +… + a2nxn ≤  b2
j = 1,2,…, n
………….
am1x1 + am2x2 +…+ amnxn ≤  bm
c) Non-negativity constraints
xj  0
(for j = 1, 2,..., n)
where
xj ...are model (decision) variables (outputs) = level of activity j;
Z....is the value of the overall measure of performance (the value of objective function);
aij are coefficients of the consumption of the i-th resource for each unit of the j-th activity
constants of main constraints;
12
Darja Noskievičová
Process Management
bi…are the right hand sides - the whole available amount of the i-th resource that is available
for allocation to activities (constants in a system of the main constraints);
cj ...are objective function coefficients (sometimes called cost coefficients) - contribution of jthe decision variable to objective function Z, i.e. an increase in Z that would result from
each unit increase in the level of activity j.
As summarized in Tab. 1.3 the values of aij, bi and cj (for i = 1, 2, ...., m and for j = 1,
2, ..., n) are model input constants. They are also referred to as the model parameters.
Tab. 1.3 Input constants needed for a linear programming model
Resource
1
2
.
.
.
m
Contribution to Z
per unit of activity
Resource usage per unit of activity
Activity
1
2
…
n
a11
a12
…
a1n
a21
a22
…
a2n
am1
c1
am2
c2
…
…
amn
cn
Amount of resource
available
b1
b2
.
.
.
bm
As we can see, some of constraints in the general model could be written as greater than or
equal to () or equal to (=), depending on the problem statement. PL problems can be used to
minimize or maximize the value of the objective function (for instance waste).
In general the LPP model has 3 parts:
a) the objective function where we seek its extreme (maximum or minimum)
b) main constraints (m)
c) non-negativity constraints
and n decision variables.
1.4.2 Standard and canonical form of the LP model
Using the simplex method (see later in detail) we need to have a LP model in a socalled standard form. The standard form of the LP model must have the following three
characteristics:
1. The objective function should be of a maximization type (but in the literature it can be
found that it is requested to be of a minimization type).
2. All the constraints should of an equality type.
13
Darja Noskievičová
Process Management
3. All the decision variables should be non-negative.
4. All right-hand side values bi should be non-negative.
The procedure to transform a general form of a LP model to its standard form is discussed
below.
Let us consider the following example:
Z = 3x1 5x2  MAX
2x1 - 3x2 ≤ 15
x1 + x2 ≤
3
4x1 + x2 ≤
2
xj  0 for j = 1, 2
The above LPP is violating the following criterion of the standard form:
- the constraints are not equations.
However, a standard form for this LPP can be obtained by transforming it as follows:
Z = 3x1 +5x2 + 0u1 + 0u2 + 0u3  MAX
2x1 - 3x2 + 1u1
x1 + x2
= 15
+ 1u2
4x1 + x2
= 3
+ 1u3
= 2
x1,2  0, u1,2, 3  0
Variables ui are called additional variables (notice that cj for uj in the objective function is
equal to 0 and aij of these additional variables are equal to +1). Their goal is to transform
inequations into equations to have left-hand sides equal to the right-hand sides. For that
reason ui are added to the left-hand side. Additional variables ui that are added to the left-hand
side are called slack variables (slack variables have physical meaning in problem formulation,
for instance it can be the idle capacity of the workplace).
The former model is in the standard form after the described modifications. It also has
a canonical form because
- all decision variables are constrained to be non-negative,
- all constraints, except the non-negativity constraints, are stated as equalities,
- right-hand side coefficients are all non-negative,
14
Darja Noskievičová
Process Management
- one decision variable is isolated in each constraint with +1 coefficient (u1 in the first main
constraint, u2 in the second constraint and u3 in the third constraint). The variable isolated in
a given constraint does not appear in any other constraint, and appears with a zero
coefficient in the objective function.
Having a canonical form of the model enables us to set the initial basic feasible
solution through setting the variable isolated in constraint j , called the j-th basic variable,
equal to the right-hand side of the j -th constraint and by setting the remaining variables,
called non-basic variables, all to zero. Collectively the basic variables are termed a basis.
In the example above, the initial basic feasible solution is as follows:
x1, x2 = 0, u1 = 15, u2 = 3, u3 = 2 and the value of the objective function Z = 0. It means that
variables x1 and x2 are non-basic variables and u1, u2 and u3 are basic variables in this initial
basic feasible solution.
For now let us consider the following different example:
Z = -3x1 -5x2  MIN
2x1 - 3x2 ≤ 15
x1 + x2 ≤
3
4x1 + x2 
2
x1  0
x2 unrestricted
The above LPP is violating the following criteria of the standard form:
1. The objective function is of a minimization type.
2. The constraints are not equations.
3. Decision variable x2 is unrestricted, i.e. it can be also negative, thus
it is violating the non-negativity criterion.
A standard form for this LPP can be obtained by transforming it as follows:
Z´= -Z = 3x1 +5x2 + 0u1 + 0u2 + 0s3  MAX
2x1 - 3x2 +1u1
x1 + x2
= 15
+ 1u2
4x1 + x2
= 3
- 1s3
= 2
x1  0, u1,2  0, s3  0
x2 unrestricted.
15
Darja Noskievičová
Process Management
The first two main constraints (≤) were transformed into equations by adding the slack
variables u1, u2 to the left-hand sides as in the former example. But in the third constraint
(inequality ) the additional variable s3 called the surplus variable had to be subtracted from
the left-hand side to transform it into the equation.
For now the problem with unrestricted variable x2 must be solved. It is solved using
the simple substitution x2 = y1 - y2 where y1 and y2 are new non-negative variables.
The final standard model for our example is as follows:
Z´= -Z = 3x1 +5(y2 – y1)+ 0u1 + 0u2 + 0s3  MAX
2x1 - 3(y2 – y1) +1u1
x1 + (y2 – y1)
4x1 + (y2 – y1)
= 15
+ 1u2
= 3
- 1s3
= 2
x1  0, u1, 2  0, s3  0, y1,2  0.
Because in the previous model it is not true that one decision variable is isolated in each
constraint with +1 coefficient (there is -1s3, not +1s3 in the third constraint) the standard
model is not in the canonical form and it is not possible to set the initial basic feasible
solution. This situation can be solved using so-called artificial variables Ai. These variables
are fictitious and cannot have any physical meaning. They are merely a mathematical
convenience useful for initiating the simplex algorithm. The artificial variable technique is a
device to get the initial basic feasible solution, so that the simplex procedure may be adopted
as usual until the optimal solution is obtained. These artificial variables would not be part of
any optimal solution, if it exists. To solve such a LPP there are two methods: the Big M
method (the "Big M" refers to a large number associated with the artificial variable,
represented by the letter M) or the Method of penalties and the Two-phase simplex method.
Using the first method means that we assign a very large penalty ' — M ' to the artificial
variable in the objective function for the maximization of the objective function (in detail see
for instance [1], [5]).
For our last example the final transformation leading to the canonical form is as
follows:
16
Darja Noskievičová
Process Management
Z´= -Z = 3x1 +5(y2 – y1)+ 0.u1 + 0.u2 + 0.s3 – M.A3  MAX
2x1 - 3(y2 – y1) +1u1
x1 + (y2 – y1)
= 15
+ 1u2
4x1 + (y2 – y1)
= 3
- 1s3 +1A3 = 2
x1  0, u1, 2  0, s3  0, y1,2  0, A3  0
The initial basic feasible solution for this model is as follows:
x1 = 0, x2 = 0, s3 = 0 (non-basic variables); u1 = 15, u2 = 3, A3 = 2 ( basic variables).
For now it will be shown how to deal with a situation when in the general model some
main constraint in the form of equation exists. Let´s have the following general LPP model:
Z = 3x1 5x2  MAX
2x1 - 3x2 ≤ 15
x1 + x2 ≤
3
4x1 + x2 = 2
xj  0 for j = 1, 2
The standard form of this model is as follows:
Z = 3x1 +5x2 + 0.u1 + 0.u2  MAX
2x1 - 3x2 + 1u1
x1 + x2
4x1 + x2
= 15
+ 1u2
= 3
= 2
x1,2  0, u1,2  0
Because in this model it is not true that one decision variable is isolated in each constraint
with +1 coefficient (there is no such variable in the third constraint) the standard model is not
in the canonical form and it is not possible to set the initial basic feasible solution. This
situation can be solved using again artificial variables Ai:
17
Darja Noskievičová
Process Management
Z = 3x1 +5x2 + 0.u1 + 0.u2 – M.A3  MAX
2x1 - 3x2 + 1u1
x1 + x2
= 15
+ 1u2
= 3
4x1 + x2
+ 1A3 = 2
x1,2  0, u1,2  0, A3  0
and the initial basic feasible solution is the following one:
x1 = 0, x2 = 0 (non-basic variables); u1 = 15, u2 = 3, A3 = 2 (basic variables = base).
1.4.3 Summarization of additional and artificial variables
Slack variables:
Slack variable ui represents an unused quaintly of resources; it is added to less than or equal
(<) type constraints in order to get an equality constraint.
Surplus variables:
Surplus variable si represents the amount by which the solution values exceed a resource.
These variables are also called ‘negative slack variables’. Surplus variables like slack
variables carry a zero coefficient in the objective function. It is added to greater than or equal
to (>) type constraints in order to get an equality constraint.
Artificial variable:
Artificial variables Ai are added to constraints with equality (=) and greater than or equal to
(>) type. An artificial variable is added to the constraint to get an initial solution to an LP
problem in these cases. Artificial variables have no meaning in a physical sense and are not
only used as a tool for generating an initial solution to an LP problem.
Brief information about slack, surplus and artificial variables is given in the following table
[6]:
Tab. 1.4 Relation between additive and artificial variables and the types of inequality of
constraints
Inequality type
Variable that appears
≥
- surplus + artificial
=
+ artificial
≤
+ slack
18
Darja Noskievičová
Process Management
A more detailed comparison of additional (slack and surplus variables) and artificial variables
can be found in the following table:
Tab. 1.5 Properties and functions of additional and artificial variables ([6])
Particulars
Slack Variable
Surplus Variable
Artificial Variable
Meaning
Unused resources of
the idle resources.
Excess amount of
resources utilized.
No physical or
economic meaning. It
is fictitious.
When used ?
With < constraints
With > constraints
With > and =
constraints
Coefficient
+1
-1
+1
Coefficient in
the Z ( objective
function)
0
0
As Initial basic
variable
Used as a starting
point
Can’t be used since the
unit matrix condition is
not satisfied
In Optimal
Table
Used to help for
interpreting idle & key
resources
-M for maximization
(+M for minimization)
It is initially used but
later on eliminated.
It indicates the
infeasible solution
1.5 Assumptions of linear programming
1. Linearity (proportionality)
The objective and constraints in linear programming problems must be expressed in
terms of linear equations or inequalities. The contribution of each product (activity) to the
value of the objective function Z is proportional to the value of decision variable xj. Also the
contribution of each activity (product) to the left-hand side of each main constraint is
proportional to the value of xj. [5]
When this assumption cannot be met there must be used more complex non-linear
programming or mixed integer programming.
2. Divisibility
Noninteger values of decision variables are acceptable.In certain practical situations
some or all decision variables must be restricted to an integer value. In that case integer
programming models can be applied. [5]
19
Darja Noskievičová
Process Management
1. Certaininty
The values of the model parameters aij, cj, bi are known and constant. Sometimes the
degree of uncertainty is very large and the decision variables must be treated as random
variables. For such situations stochastic programming was developed. [5]
4. Aditivity
Every function in an LP model (in the objective function, on the left-hand side of the
main constraint) is the sum of the individual contributions of the respective activities
(products). [5]
5. Non-negativity
Negative values of decision variable xj are unacceptable. [5]
1.6 Types of solutions of LPP
When solving LP problems we work with various types of solutions.
A solution is the setting of decision variables xj, i.e. any specification of values for the
decision variables xj.
A feasible solution is a solution for which all the constraints are satisfied simultaneously,
including the non-negativity constraints.
The feasible region is the collection of all feasible solutions (see Fig. 1.1, the hatched area).
The way how to construct it – see subchapter 2.2. In Fig. 1.1 we can also see feasible
solutions (for instance points [0, 0] - initial solution, [100, 600] or [300, 0]) and others.
Fig. 1.1 Feasible region
20
Darja Noskievičová
Process Management
It is possible to have no feasible solutions (see Fig. 1.2). A linear program is infeasible if it
has no feasible solutions, i.e. the feasible region is empty.
Fig. 1.2 No feasible solution
When a feasible region exists, LP tries to find the best feasible solution - a solution which
gives the maximal value of the objective function when it is to be maximized or the minimal
value of the objective function when it is to be minimized. It is called the optimal solution (in
general it is a feasible solution that has the most favourable value of the objective function).
An LP problem can have 1) only one single solution (see Fig. 1.3) or 2) multiple optimal
solutions each with the same optimal value of the objective function (see Fig. 1.4).
Objective function
Fig. 1.3 Single optimal solution
21
Darja Noskievičová
Process Management
Every point of this red line
represents an optimal
solution with the same Z
Objective
function
Fig 1.4 Multiple optimal solutions
There can be also the situation when a problem has no optimal solution. This occurs when it
has no feasible solution (see Fig. 1.2) or the constraints do not prevent improving the value of
the objective function indefinitely in the favorable direction (positive or negative). It means
that for or any choice of xj, there is a larger xj that gives a better objective function value. This
linear program is unbounded – see Fig. 1.5.
Fig. 1.5 Unbounded LPP
A corner-point feasible (CPF) solution is a solution that lies at a corner of the feasible region
(see Fig. 1.6).
22
Darja Noskievičová
Process Management
(x1= 100; x2 = 600)
(x1 = 600; x2 = 0)
(x1 = 300; x2 = 280)
(x1 = 300; x2 = 0)
(x1 = 0; x2 = 0)
Fig. 1.6 Corner point feasible solutions
These solutions have useful properties including the following relationship with optimal
solutions.
Any LPP with feasible solutions and a bounded feasible region
-
must posses CPF solutions and at least one optimal solution.
-
the best CPF solution must be an optimal solution.
-
if an LPP has exactly one optimal solution there must be a CPF solution.
-
if an LPP has multiple solutions at least two must be CPF solutions.
Basic solution is a solution with at most m non-zero values if there are n variables and m
constraints.
Basic variables: m non-zero variables.
Non-basic variables: n – m of the zero–valued variables.
Conclusions:
Any LPP that is not infeasible or unbounded has an optimal solution that is basic. Basic
feasible solutions correspond to the CPF points of the feasible region.
1.7 General model formulation – typical LPP
In this subchapter we can find general models for some typical LPP.
23
Darja Noskievičová
Process Management
1.7.1 Optimal production plan problem
A store has requested a manufacturer to produce pants and sports jackets. For
materials, the manufacturer has 750 m2 of cotton textile and 1000 m2 of polyester. Every pair
of pants (1 unit) needs 1 m2 of cotton and 2 m2 of polyester. Every jacket needs 1,5 m2 of
cotton and 1 m2 of polyester (see Tab. 1.6).
Tab. 1.6 Summarization of LPP data
pan t s
j acket s
avai l abl e
cot t on
1
3
750
pol yes t er
2
1
1 000
The price of the pants is fixed at 50 $ and the jacket at 40 $.
What is the number of pants and jackets that the manufacturer must give to the stores so
that these items obtain a maximum sale?
General model formulation:
Decision variables
x1 ...number of pants
x2...number of jackets
Objective function
Z = 50 x1 + 40 x2 →M AX
System of main constraints
x1 + 3x2 ≤ 750
2x1 + x2 ≤ 1000
Non-negativity constraints
xj  0 for j = 1, 2
1.7.2 Optimal mix problem
This problem involves specifying an alloy ingredient combination that will satisfy the
stated element content requirements at a minimum cost level.
24
Darja Noskievičová
Process Management
The alloy must contain maximally 80% of Fe and minimally 4% of Ni. It is produced
from 3 raw materials with its own content of Fe and Ni (see Tab. 1.7). The prices of the raw
materials are in money units per 100 kg. The goal is to produce the alloy with the requested
properties and with minimal cost.
Tab. 1.7 Input data
Component
Content of elements in raw material (%)
Raw material 1
Raw material 2
Raw material 3
Fe
70
90
85
Ni
5
2
7
Remaining
25
8
8
Price per 100 kg
60
40
50
General model formulation:
Decision variables
xj (j = 1, 2, 3) ...portion of j-th raw material
Objective function
Z= 60x1 + 40x2 + 50x3 →MIN
System of main constraints
70x1 + 90x2 + 85x3 ≤ 80
5x1 + 2x2 + 7x3 ≥ 4
x1 +
x2 + x3 = 4
Non-negativity constraints
xj  0 for j = 1, 2, 3
1.7.3 Optimal rod cutting problem
The problem is to cut rods of standard lengths to the planned amount of rods of
specific lengths with a minimum of waste.
25
Darja Noskievičová
Process Management
It is necessary to cut atypical semi-finished products A (its length is 570 mm), B (its
length is 820 mm) and C (its length is 1010 mm) up from the standard 2000 mm steel rods. It
is planned to produce 50 final products each consisting of 4 pieces of semi-finished products
A and B and 5 pieces of semi-finished product C. We need to set the amount of the original
standard 2000 mm rods cut according to the j-th cutting pattern to have minimal waste. The
cutting pattern 1 means that we cut one 2000 mm rod into 3 semi-finished products A with
290 mm of waste (see Fig 1.7).
Fig. 1.7 Example of the cutting pattern
Another cutting pattern: 2 semi-finished products A and 1 semi-finished product B and
40 mm of waste. All possible patterns are defined in Tab. 1.8.
Tab.1.8 Summary of the problem depiction
Semi-finished
products (the number
of pieces per one
original 2000 mm rod)
A (570 mm)
B (820 mm)
C (1010 mm)
Waste (mm)
1
2
Cutting pattern
3
4
5
3
290
2
1
40
1
1
420
2
360
1
1
170
General model formulation:
Decision variables
xj (j = 1, 2, 3, 4, 5) ... number of original 2000 mm rods cut according to the j-th cutting
pattern.
26
Darja Noskievičová
Process Management
Objective function
Z= 290x1 + 40x2 + 420x3 + 360x4 + 170x5→MIN
System of main constraints
3x1 + 2x2 + 1x3
1x2
= 200
(200 = 50 . 4)
= 200
(200 = 50 . 4)
+ 1x5 = 250
(250 = 50 . 5)
+ 2x4 + 1x5
+ 1x3
Non-negativity constraints
xj  0 for j = 1, 2, 3, 4, 5
1.8 Techniques of solving LP problems
There are various different LP techniques for finding the optimal solution when it
exists, some of them are of special purpose (transportation method) and others are more
general in scope. The main general-purpose solution techniques are as follows: graphical
linear programming and the simplex method. Graphical LP provides a visual representation of
many important concepts of LP. On the other hand it is limited to problems involving only
two variables. The simplex method is a mathematical approach enabling the handling of more
than two variables. For that reason it is much more useful for solving real problems.
Examples
Example 1.1
Convert the following general model into a standard form.
Z = x 1 - 6 x 2 + 2 x 3 → MAX
-2x1 + 3x2 – x3
≥-6
x1 - 2x2 + 3x3
≥ 1
x1,2  0 , x3 ∈ ⟨-2, 6⟩
27
Darja Noskievičová
Process Management
Example 1.2
Convert the following general model into a form where the initial LP solution can be set.
Z = 4 x 1 + x 2 → M IN
3x1 + x2 = 3
4x1 + 3x2 ≥ 8
x1 + 2x2 ≤ 4
xj  0
Example 1.3
Create a general model for the following situation [2]: Then convert this model into a
standard and canonical form and set the initial feasible solution.
The Shader Electronics Company produces two products: (1) the Shader Walkman, a
portable CD/DVD player, and (2) the Shader Watch-TV, a wristwatch-size internet-connected
colour television. The production process for each product is similar in that both require a
certain number of hours of electronic work and a certain number of labour-hours in the
assembly department. Each Walkman takes 4 hours of electronic work and 2 hours in the
assembly shop. Each Watch-TV requires 3 hours in electronics and 1 hour in assembly.
During the current production period, 240 hours of electronic time are available, and 100
hours of assembly department time are available. Each Walkman sold yields a profit of $7;
each Watch-TV produced may be sold for a $5 profit (this problem description is summarized
in Tab. 1.9. Shader’s problem is to determine the best possible combination of Walkmans
and Watch-TVs to manufacture to reach a maximum profit. This product-mix situation can be
formulated as a linear programming problem.
Tab. 1.9 Summary of the LPP data
Hours required to produce 1 unit
Department
Electronic
Assembly
Profit per unit (in
money units)
Walkman
4
2
7
Watch-TV
3
1
5
28
Available hours
this week
240
100
Darja Noskievičová
Process Management
Summary of terms
 linear programing problem
 general model
 standard form
 canonical form
 objective function
 main constraint
 non-negative constraint
 decision variable
 coefficients of the consumption
 right-hand side
 cost coefficient¨
 slack variable
 artificial variable
 method of penalties
 big M
 surplus
 additional variable
 feasible solution
 initial solution
 feasible region
 optimal solution
 corner-point feasible solution
 basic solution
 basic variable
 non-basic variable
29
Darja Noskievičová
Process Management
Questions
 For which decision environment is linear programming most suited?
 What is the structure of the typical LPP model?
 What are differences between the general and standard form of an LP model?
 What are the differences between a standard and canonical model?
 What are the assumptions for an LPP application?
 What types of LP solutions do you know? Define each type and their differences and
similarities.
 What is the relation between optimal and CPF solutions?
 What is the feasible region and what determines such a region?
 Define the various results of LPP and try to describe them graphically.
 What is the difference between additional and artificial variables? What is their function in
the LP model?
 What is the difference between slack and surplus?
 What is the cost coefficient for additional and artificial variables?
 What mix of surplus, slack and artificial variables is used in each of the following
constraints?
a) ≤
b) = c) ≥
Key to solution
Example 1.1 solution
Substitution: x3 = y1 - y2
Z = x1 - 6x2 + 2(y1 - y2)+0.u1 +0.u2 + 0.u3 + 0.u4 → MAX
2x1 - 3x2 +
y1 - y2 + u1
x1 - 2x2 + 3(y1 - y2)
=6
– u2
-(y1 - y2)
y1 - y2
+ u3
=1
=2
+ u4 = 6
x1,2  0; y1,2  0 u1,2,3,4  0
30
Darja Noskievičová
Process Management
Example 1.2 solution
-Z = -4 x 1 - x 2 + 0. s 2 + 0. u 3 –M.A 1 – M.A 2 → MAX
3x1 + x2
+ M.A1
4x1 + 3x2
-1s2
= 3
+ M.A2 = 8
x1 + 2x2 + 1u3
= 4
xj  0; u3  0; s2; A1,2  0
Initial feasible solution: x1 = 0, x2 = 0, s2 = 0, u3 = 4, A1 =3, A2 = 8
Example 1.3 solution
Decision variables
x1.... amount of walkmans; x2...amount of watch TV
General model
Z = 7 x 1 + 5 x 2 → MAX
4x1 + 3x2 ≤ 240
2x1 + 1x2 ≤ 100
xj  0
Standard = canonical form
Z = 7 x 1 + 5 x 2 +0.u 1 + 0.u 2 → MAX
4x1 + 3x2 + u1
2x1 + 1x2
= 240
+ u2 = 100
xj  0, ui  0
Initial feasible solution
x1 = 0, x2 = 0, u1 = 240, u2 = 100, Z = 0
31
Darja Noskievičová
Process Management
References
[1]
Eiselt, H. A. – Sandblom, C. L.: Linear Programming and its Applications. Springer,
Berlín, 2007.
[2]
Heiser, J.– Render, B.: Operations Management. 10th ed. Pearson, Harlow, England,
2011.
[3]
Hillier, F. S. – Lieberman, G. J.: Introduction to Operations Research. 7th ed. McGrawHill Ed., New York, 2001.
[4]
Krajewski, L. J. – Malhotra, M. K. – Ritzman, L. P.: Operations Management. Process
and Supply Chains. 11th ed. Pearson, Harlow, England, 2016.
[5]
Stewenson, W. J.: Operations Management. 12th ed. McGraw-Hill Ed., New York,
2015.
[6]
http://freefeast.info/difference-between/difference-between-slack-surplus-and-artificialvariables-slack-vs-surplus-vs-artificial-variables/
32
Darja Noskievičová
Process Management
2. GRAPHICAL SOLUTION OF A LINEAR PROGRAMMING
PROBLEM
Study time
480 min
Objective
After studying this chapter
 you will know when and how to apply the graphical method,
 you will better understand the principles of linear programming,
 you will be able to construct a feasible region,
 you will be able to solve simple linear programming problems using the graphical method
and interpret the obtained results.
Lecture
2.1 Introduction
The easiest way to solve a small LP problem is the graphical solution approach [1],
[2]. The graphical procedure can be used only when there are two decision variables (x1, x2).
When there are more than two variables, we must apply a more complex approach described
as the simplex method (see Chapter 3).
2.2 Steps of the graphical solution
The steps of the graphical method of the LPP solution can be defined as follows:
1. the creation of a general LPP model
2. the construction of a feasible region
3. finding the optimal solution (solutions) where it exits
33
Darja Noskievičová
Process Management
2.2.1 Creation of the general LPP model
In solving an LPP graphically, at first we must form the general LPP model. Let´s
have the following one:
Z = 5x1 + 8x2 → MAX
3x1 + 3x2 ≤ 1800 (Constraint 1)
x1 + 2x2 ≤ 1000 (Constraint 2)
xj ≥ 0
2.2.2 Construction of the feasible region
To find the optimal solution of the LPP, we must firstly identify a region of feasible
solutions (feasible region). It means that we must plot every constraint on a graph (the
variable x1 is plotted as the horizontal axis x of the graph, and the variable x2 is plotted as the
vertical axis y). In doing it we start by converting each constraint inequality into equations. [1]
For our example it is as follows:
3x1 + 3x2 = 1800 (constraint 1)
x1 + 2x2 = 1000 (constraint 2)
The equation for constraint 1 is plotted in Figure 2.1 and for constraint 2 in Figure 2.2. To plot
the line in Figure 2.1, we need to find the points at which the line 3x1 + 3x2 = 1800 intersects
the x1 and x2 axes. When x1 = 0 (the location where the line touches the x2 axis), it implies that
3x2 = 1800 and that x2 = 600. Likewise, when x2 = 0, we can see that 3x1 = 1800 and that x1 =
600. Thus, constraint 1 is bounded by the line running from (x1 = 0, x2 = 600) to (x1 = 600, x2
= 0). The hatched area represents all points that satisfy the original inequality (constraint 1).
Fig. 2.1 Constraint 1
34
Darja Noskievičová
Process Management
Constraint 2 is illustrated similarly in Fig. 2.2. When x1 = 0, then x2 = 500 and when x2 = 0
then x1 = 1000. Constraint 2, then, is bounded by the line between (x1 = 0, x2 = 500) and
(x1 = 1000, x2 = 0). The hatched area represents the original inequality (constraint 2).
Fig. 2.2 Constraint 2
Fig. 2.3 shows both constraints together. The crosshatched region is the area that satisfies both
main restrictions and non-negative constraints, too. This area is called the area of feasible
solutions, or simply the feasible region (see Chapter 1). This region must satisfy all
conditions specified by the programme’s constraints and is thus the region where all
constraints overlap. Any point in the region would be a feasible solution to the LPP. Any
point outside the crosshatched area would represent an infeasible solution.
Fig. 2.3 Feasible region
35
Darja Noskievičová
Process Management
2.2.3 Finding the optimal solution
Now when the feasible region has been graphed, we can proceed to find the optimal
solution to the problem. The optimal solution is the point lying in the feasible region that
produces the highest profit. The corner-point solution method [1] can be applied in looking
for an optimal solution.
This technique involves computing the profit at every corner point of the feasible
region (see Fig. 2.4).
Fig. 2.4 Feasible region with the corner points
The mathematical theory behind linear programming states that an optimal solution to
any problem (that is, the values of x1, x2 that yield the maximum profit in our example) will
lie at a corner point, or extreme point, of the feasible region.[1] So, it is necessary to find
only the values of the variables x1 and x2 at each corner; the maximum profit or optimal
solution will lie at one (or more) of them. Once again we can see (in Figure 2.4) that the
feasible region for our example is a four-sided polygon with four corner or extreme, points.
These points are marked with A, B, C and D on the graph. To find the [x1, x2] values
producing the maximum profit, we find out what the coordinates of each corner point are and
then we determine and compare their profit levels:
Point A: (x1 = 0, x2 = 0); profit 5 . 0 + 8 . 0 = 0 (money units)
Point B: (x1 = 0, x2 = 500); profit 5 . 0 + 8 . 500 = 4000 (money units)
Point D: (x1 = 600, x2 = 0); profit 5 . 600 + 8 . 0 = 3000 (money units)
36
Darja Noskievičová
Process Management
We skipped corner point C momentarily because to find its coordinates accurately, we will
have to solve for the intersection of the two constraint lines. As you may recall from algebra,
we can apply the method of simultaneous equations to these two constraint equations:
3x1 + 3x2 = 1800
x1 + 2x2 = 1000
To solve these equations simultaneously, we multiply the second equation by -3
-3(x1 + 2x2 = 1000) = -3x1 – 6x2 = -3000
and then add it to the first equation:
3x1 + 3x2 = 1800
-3 x1 - 6x2 = -3000
- 3x2 = -1200
Hence
x2 = 400.
Doing this has enabled us to eliminate one variable, x1, and to solve for x2. We can now
substitute 400 for x2 in either of the original equations and solve for x1. Let us use the first
equation. When x2 = 400, then
3x1 + 3.400 = 1800
3x1 = 600, hence
x1 = 200
Thus, point C has the coordinates (x1 = 200, x2 = 400). We can compute its profit level to
complete the analysis:
Point C: (x1 = 200, x2 = 400); profit = 5 . 200 + 8 . 400 = 4200 (money units)
Because point C produces the highest profit of any corner point, x1 = 200,
x2 = 400 is the optimal solution to our LPP. This solution will yield a profit of 4200
per production period.
37
Darja Noskievičová
Process Management
Examples
Example 2.1
Let´s have the following general LPP model:
Z = 34x1 + 40x2 → MAX
4x1 + 6x2 ≤ 48
2x1 + 2x2 ≤ 18
2x1 + 1x2 ≤ 16
xj ≥ 0 for j = 1, 2
a) Is it possible to solve this LPP graphically? If it is possible, why?
b) If it is possible to find the optimal solution for this LPP do it using the graphical method.
Summary of terms
 feasible region
 feasible solution
 optimal solution
 objective function
 corner point
 corner point solution
 simultaneous equations
Questions
 When is it suitable to solve the LPP graphically?
 What are the steps of the graphical method of the LPP solution?
 What depicts the feasible region?
 How to construct the feasible region?
38
Darja Noskievičová
Process Management
 What is the principle of the corner point solution method?
 What is the relation between the corner point and the optimal solution?
 How do we find out that the LPP has only one optimal solution?
 How do we find out that the LPP has no feasible solution?
 How do we find out that the LPP has multiple optimal solutions?
 What does an unbounded LPP mean?
Key to solution
Example 2.1
Ad a) It is possible because we have only two decision variables.
Ad b)
Optimal solution: x1 = 3; x2 = 6
Optimal solution
39
Darja Noskievičová
Process Management
Conclusions:
Optimal solution: x1 = 3, x2 = 6, Z = 342.
It is also possible to compute the values of the additive (slack) variables u1, u2, u3 from the
main constraint equations:
u1 = 0, u2 = 2, u3 = 4
For instance: 4x1 + 6x2 + u1 = 48 ⇒ u1 = 0 and so on.
References
[1]
Heiser, J.– Render, B.: Operations Management. 10th ed. Pearson, Harlow, England,
2011.
[2]
Stewenson, W. J.: Operations Management. 12th ed. McGraw-Hill Ed., New York,
2015.
40
Darja Noskievičová
Process Management
3. SIMPLEX METHOD
Study time
600 min
Objective
After studying this chapter
 you will know when and how to apply the simplex method,
 you will be able to solve an LPP using the simplex method,
 you will be able to interpret the obtained results.
Lecture
3.1 Steps of the simplex method
The simplex method is an iterative algebraic procedure for solving an LPP. After
starting with an initial solution, the procedure systematically evaluates CPF (see Chapter 2) in
such a way that the objective function improves (or at worst stays the same) at each iteration.
The simplex algorithm can be applied through the following steps [1]:
1. Formulating the problem in terms of the general LPP model.
2. Transformation of the general model into the canonical form.
3. Setting up the initial table and calculating the zj and (cj – zj) quantities, ((cj – zj) is the
criterion of optimality.
4. The verification of the optimality of the solution using the criterion of optimality. If all
(cj – zj) are zero or negative the optimal solution has been found (in maximization
problem). If these conditions do not hold, steps 5 – 7 must be implemented.
5. The determination of the entering variable (in the key column) with the largest (cj – zj)
value (in maximizing problems).
6. The determination the exiting variable (the key row) by finding the ratio of the value
in the quantity column to the corresponding substitution rate in the entering variable
column for each row and selecting the smallest positive ratio.
41
Darja Noskievičová
Process Management
7. The creation of the new table through the calculation of the new row for entering a
variable by dividing the old row for an exiting variable by the pivot element (it is the
intersection of the key column and key row) and placing it in the new table. Using
Gaussian elimination to transform the values in the remaining rows and placing them
in the new array. The calculation of the new zj and (cj – zj) values for the new table.
8. The verification of solution optimality. If all (cj – zj) are zero or negative the optimal
solution (criterion of optimality) has been found (in maximization problem). If these
conditions do not hold, steps 5 – 7 must be repeated.
For practical applications computers are applied but to demonstrate the logic of the
simplex method we will solve it manually step by step. We will consider the same LP
problem as in the chapter with the graphical solution.
3.1.1 Formulating the problem in terms of the general LPP model
Z = 5x1 + 8x2 → MAX
3x1 + 3x2 ≤ 1800
x1 + 2x2 ≤ 1000
xj ≥ 0
3.1.2 Transformation of the general model into the canonical form
The general model must be modified for it to be possible to set the initial basic feasible
solution (for more detail see Chapter 1). For our example the standard form is equal to the
canonical one.
Z = 5x1 + 8x2 + 0u1 + 0u2 → MAX
3x1 + 3x2 + 1u1
x1 + 2x2
= 1800
+ 1u2 = 1000
xj ≥ 0, ui ≥ 0
3.1.3 Setting up the initial table and the calculation of the zj and (cj – zj) quantities
The most convenient way for applying the simplex method is to use tables. Each table
corresponds to one basic feasible solution.
In this step the initial table for the initial basic feasible solution is created (see Tab. 3.1).
Most of it merely duplicates aij, cj and bi constants and variables from the canonical model.
42
Darja Noskievičová
Process Management
Tab. 3.1 Initial table (table1)
In the first row there are the objective function (cost) coefficients cj for each variable
from the canonical model, i. e. including slack variables ui (see the second row). The basic
non-zero variables are listed under Basis (the second column). In the initial table for our
example the slack variables u1 and u2 are chosen for the initial solution to the problem. In the
first column there are cost coefficients for the basic variables (we know that these coefficients
for the slack variables are equal to zero).
In our example we have two main constraints. The column called Quantity shows the current
value of the basic variables. In the initial table these values are merely the quantities on the
right-hand side of the constraint equations in the canonical model bi, i. e. 1800 and 1000. By
convention the variables that are not in the current basic solution (non-basic variables) have
the values of zero. Thus in the initial solution x1 = 0 and x2 = 0. This solution corresponds to
the origin (0, 0) in the graph of the feasible regions in Chapter 2.
All the variables in the canonical model are listed to the right of the Quantity column
(there are variable x1, x2, u1, u2) for our example. In the initial table the coefficients aij of the
canonical model are listed under the variable name. These coefficients in the initial and all
subsequent tables have a special meaning. They indicate the substitution rate for a particular
non-basic variable relative to the basic variables. For example, the 3 and 2 in the x2 column
tell us that for each unit of x2 introduced into the solution, u1 will be reduced by 3 units and u2
will be reduced by 2 units. In subsequent tables these substitution rates will change. This
information will be useful in determining how to improve the current solution at any iteration.
The last two rows of the table provide summary information about the trade-offs in
introducing a variable into the solution.
The zj row shows the profit forgone by introducing 1 unit of variable j into the solution.
To calculate zj we use the substitution rates for variable j (in the column for variable j) and the
cost coefficients for the basic variables (the first column).
43
Darja Noskievičová
Process Management
Consider variable x1: when introducing 1 unit of variable x1 into the solution it must be given
up 3 units of u1 and 1 unit of u2. As slack variables provide no contribution to profit (cj = 0)
the total profit forgone is by introducing 1 unit of x1, i. e. z1 = 0 . 3 + 0 . 1 = 0 (see Tab. 3.2).
All it is doing is giving up slack resources at this stage of the solution process. Similarly, z2 =
0 . 3 + 0 . 1 = 0.
Tab. 3.2 Table 1 - cont. 1
Similarly, z2 = 0 . 3 + 0 . 2 = 0; z3= 0 . 1 + 0 . 0 = 0 and z4= 0 . 0 + 0 . 1 = 0 and Z = 0 . 1 800
+ 0 . 1 000 = 0. Z in the Quantity column shows the current value of the objective function.
The (cj - zj) row contains the net contribution effect of introducing 1 unit of a variable
into the solution. It is the difference between objective function coefficients cj and the profit
forgone zj by the introducing 1 unit of variable j. For x2 we have c2 – z2 = 8 – 0 = 8.
3.1.4 Verification of the optimality of the solution
There can be read from the initial table that no resources are being used in the
production because only slack variables are in the solution (in the basis). In addition it also
shows that the current solution is not optimal as the (cj – zj) are not all zero or negative. It
means that this current solution can be improved. For now there must be set a new better basic
feasible solution that will lead to a better value of the objective function. To set such a
solution we must set the so-called entering and exiting variables.
3.1.5 Determination of the entering variable
In linear programming we select one variable to enter the solution and one variable to
leave the solution at each iteration until we reach the optimal solution when it exists. The
values (cj - zj) tells us whether an improvement of the solution is possible. In our problem
there is a positive net contribution of 5 money units per unit of x1 and 8 money units per unit
of x2. As we are interested in maximizing the objective function it would make sense to select
44
Darja Noskievičová
Process Management
the variable with the largest net contribution (cj – zj) as a new basic to enter into the new basic
solution. This is variable x2 in our example (see Tab. 3.3 and the column in the red frame
which is called the key column).
Tab. 3.3 Table 1 – cont. 2
The general rule for the setting the entering variable can be defined as follows:
Select a variable with the largest value of (cj – zj) to introduce it into the next solution
(in maximizing a problem).
3.1.6 Determination of the exiting (leaving) variable
In this step we must select the exiting variable that will be removed from the base of the
next solution and will be replaced by the entering variable set in the previous step. For such a
solution we must compute value hi which is the ratio of the value in the quantity column to
the corresponding substitution rate in the key column for each constraint (the last column in
Tab. 3.4). For our example h1 = 1800/3 = 600 and h2 = 1000/2 = 500.
Tab. 3.4 Table 1- cont. 3
45
Darja Noskievičová
Process Management
The exiting (leaving) variable is determined by the smallest positive hi. In our example
it is variable u2 (see the row in the red frame in Tab. 3.4 – this row is called the key row) as h2
= 500 (it is less then h2 = 600).
The general rule for the setting the exiting variable can be defined as follows:
Compute hi which is the ratio of the value in the quantity column to the corresponding
substitution rate in the key column for each constraint. Consider only positive values for the
substitution rates and select the row with the lowest ratio hi (the key row).
After steps 4 and 5 we can create the new table relating to the next basic feasible
solution.
3.1.7 Creation of the new table
In the new basic feasible solution (new table 2) there will be in the basis an entering
variable instead of an exiting one. For our example it means that there will be variable x2
instead of variable u2 (see Tab. 3.5). For that reason cj in the first column in the row for x2 will
be changed into 8.
Tab. 3.5 Table 2
As we mentioned earlier, we use the simplex method for the systematic evaluation of
CPF of a feasible region. Because the corners CPF are formed by the intersection of lines
representing linear equations we need to solve a system of linear equations. For that reason
we will apply a method called Gaussian elimination to transform the previous table to reflect
a new solution to our LPP. Commonly in every tableau the coefficients in the column of a
basic variable consist of a number 1 in the row associated with that variable and zeros in the
rest of rows. For u2, the exiting variable in our example, we have 0, 1 in a column (see Tab.
3.4). The values in the column for x2, the entering variable in our example, are 3, 2 (see again
Tab. 3.4). Using the Gaussian elimination method we will transform the column for x2 into 0,
1. It reflects the fact that x2 was entered into the new basic feasible solution and replaced u2.
46
Darja Noskievičová
Process Management
These transformations will be done by performing various mathematical operations on
the rows of the table. At first we must calculate the new row for the entering variable. It is
done as follows: at the intersection of the key column and the key row there is a value called
the pivot element. We replace the old key row with the new row of the entering variable (see
the pink row in Tab. 3.5) having a value of 1 for the pivot element (the red value in the Tab.
3.5). So, we will divide the values in the old key row in the previous table by the pivot
element to create a new entering variable row for the new table. In our example the pivot
element is equal to 2 (see the yellow box in Tab. 3.4). With this value we will divide all
elements in the old key row for the variable u2 in the previous table 1 and so we will have the
new row for the x2 variable in new table 2 (see Tab. 3.5).
After transforming the old key row we proceed with the transformation of the other
rows. Each other row is transformed according the following scheme
new row = old row – (the coefficient from the key column in the old row) x (new entering
variable row)
element by element, to the recomputed row in order that we have a 0 in the new entering
variable column.
In our example we must re-compute only one row, i.e. the row for the variable u1. The
computations of the elements for the new row for the variable u1 are contained in the
following table, the last column in the red frame.
Tab. 3.6 Re-computation of the elements in the u1 row
The new row for variable u1 will be transferred into table 2 (Tab. 3.7) and zj and (cj – zj) can
be computed in the same way as in the previous table (see Tab. 3.7).
47
Darja Noskievičová
Process Management
Tab. 3.7 Table 2 – cont.
3.1.8 Verification of the optimality of the solution
From this table we can read that the current basic solution is: x1 = 0, x2 = 500, u1 =
300, u2 = 0 and the value of the objective function Z = 4 000. As there is one value which if
positive means that this solution is not optimal and it can be improved (we can find the
solution with the higher value of the objective function). It means that we must create a third
table repeating the simplex algorithm from step 5.
3.1.9 Repeating the simplex algorithm
Looking at Tab. 3.7 we can find out that only variable x1 has a positive
(cj – zj) and for that reason it will be the variable entering into the basis of the next solution. It
will substitute for variable u1, because u1 has the smallest positive value (h1 = 200). Now we
can start to create the third table – see Tab. 3.8.
Tab. 3.8 Table 3
The re-computed values in the row for x2 were set as it is in the following table, the last
column in the red frame.
48
Darja Noskievičová
Process Management
Tab. 3.9 Re-computation of the elements in the x2 row
These recomputed values were inserted into the third table and zj and (cj – zj) were
computed (see Tab. 3.8).
Tab. 3.8 contains the following basic feasible solution: x1 = 200, x2 = 400, u1 = 0, u2 =
0 with the value of the objective function Z = 4 200 money units. As there is no positive value
(cj – zj), this solution is also optimal. As the slack values are equal to 0, it means that the both
resources were wholly utilized.
3.2 A solved example
A company produces plastic pipes with big flexibility. The necessary information can
be found in Tab. 3.10. All data are expressed in units per 100 feet of pipe.
Tab. 3.10 Input data
Pipe type
Resource
1
2
Resource availability
Extrusion
4 hr
6 hr
48 hr
Packaging
2 hr
2 hr
18 hr
Additive mix
2 lb
1 lb
16 lb
Price per 100 feet
34 money units
40 money units
Set what amount of pipe type 1 and what amount of pipe type 2 could be produced to obtain a
maximal profit. Solve this LPP using the simplex method.
1. Definition of the variables and creation of the general model
X1 ….. amount of the pipe of type I
X2….. amount of the pipe of type II
49
Darja Noskievičová
Process Management
Z = 34x1 + 40x2 → MAX
4x1 + 6x2
≤ 48
2x1 + 2x2 ≤ 18
2x1 + 1x2 ≤ 16
xj ≥ 0 for j = 1, 2
2. Transformation of the model into canonical form
Z = 34x1 + 40x2 + 0u1 + 0u2 + 0u3 → MAX
4x1 + 6x2 + 1u1
2x1 + 2x2
= 48
+ 1u2
2x1 + 1x2
= 18
+ 1u3 = 16
x1,2 ≥ 0, u1,2,3 ≥ 0
3. Creation of the table for the initial solution, testing the optimality of the initial solution,
setting the entering and exciting variables (see Tab. 3.11)
Tab. 3.11 Table 1 (initial solution)
Initial basic solution
x1 = 0, x2 = 0, u1 = 48, u2 = 18, u3 = 16, Z = 0
4. Creation of the recomputed table (the second basic solution), testing the optimality
of the second solution, setting the entering and exciting variables – see Tab. 3.12.
50
Darja Noskievičová
Process Management
Tab. 3.12 Table 2 (the second basic solution)
Actual basic feasible solution:
x1 = 0, x2 = 8, u1 = 0, u2 = 2, u3 = 8, Z = 320.
It is a better solution than the first one but it is not the optimal solution.
5. Creation of the recomputed tableau (the third basic solution), testing the optimality
of the third solution, setting the entering and exciting variables – see Tab. 3.13.
Tab. 3.13 Table 3 (the third basic solution)
As no value of (cj – zj) is positive, it is the optimal solution:
x1 = 3, x2 = 6, u1 = 0, u2 = 2, u3 = 4, Z = 342
Conclusion:
The plant could produce 300 feet of type 1 pipe and 600 feet of type 2 pipe to reach a profit of
432 money units. 4 units of additive mix would not be utilized.
51
Darja Noskievičová
Process Management
Examples
Example 3.1
Two products A and B can be produced on a certain machine. There are 12 hours of
machine time available to produce these products. Product A requires 1 hour per unit, product
B requires 3 hours per unit. Both products require one row material: product A uses 4 kg of
raw material per one unit and product B uses 3 kg. There are 24 kg of this raw material
available for these products. The goal is to maximize the profit from these products and unit
profit for the product A is 4 money units and 5 money units for product B. What quantity of
each should be produced? This information is summarized in the following table. Solve it
using the graphical method and verify the result using the simplex method.
Tab. 3.14 Input data
Product
Resource
A
B
Resource availability
Machine time
1 hr
3 hr
12 hr
Raw material
4 kg
3 kg
24 kg
Profit per 1 product
4 money units
5 money units
Summary of terms
 exciting variable
 entering variable
 criterion of optimality
 substitution rate
 pivot element
 net contribution
 Gaussian elimination
 key row
 key column
 base
52
Darja Noskievičová
Process Management
 profit forgone
Questions
 When is it suitable to solve the LPP using the simplex method?
 What are the steps of the simplex method?
 How to construct the simplex table?
 What is the optimality criterion?
 How to set the variable that will be removed from the next solution?
 How to set the variable that will be inserted into the next solution?
 How to re-compute the actual solution to obtain the an even better basic solution?
 What is the function of the value (cj – zj)?
 What is the function of the value hi?
 How to interpret the simplex table? What can be read from it in each iteration?
Key to solution
Example 3.1 Graphical solution
Definition of the variables:
x1 ….. amount of the product A
x2….. amount of the product B
Creation of the general model:
Z = 4x1 + 5x2 → MAX
x1 + 3x2 ≤ 12
4x1 + 3x2 ≤ 24
xj ≥ 0 for j = 1, 2
53
Darja Noskievičová
Process Management
Conclusion: to maximize profit it is necessary to produce 4 units of product A and 2.67 units
of the product B. It ensures a maximal profit of 29.34 money units.
Example 3.1 Solution using the simplex method
Creation of the general model:
54
Darja Noskievičová
Process Management
Z = 4x1 + 5x2 → MAX
x1 + 3x2 ≤ 12
4x1 + 3x2 ≤ 24
xj ≥ 0 for j = 1, 2
Transformation into the canonical model:
Z = 4x1 + 5x2 → MAX
x1 + 3x2 + 1u1
4x1 + 3x2
≤ 12
+ 1u2 ≤ 24
x1,2 ≥ 0, u1,2 ≥ 0
The table for the initial solution (see Tab. 3.15)
Tab. 3.15 Table 1 (initial solution)
cj
4
5
0
0
Basis
Quantity
x1
x2
u1
u2
0
u1
12
1
3
1
0
0
u2
24
4
3
0
1
zj
Z=0
0
0
0
0
4
5
0
0
cj – zj
Initial basic solution:
x1 = 0, x2 = 0, u1 = 12, u2 = 24, Z = 0
…
55
hi
Darja Noskievičová
Process Management
Optimal solution (see Tab. 3.16)
Tab. 3.16 The last table with an optimal solution
cj
4
5
0
0
Basis
Quantity
x1
x2
u1
u2
5
x2
8/3 (2,67)
0
1
4/9
-1/9
4
x1
4
1
0
-1/3
1/3
zj
Z = 88/3
4
5
8/9
7/9
0
0
-8/9
-7/9
hi
(29,34)
cj – zj
Optimal solution: x1 = 4, x2 = 2.67, u1 = 0, u2 = 0, Z = 29.34.
Conclusion:
Using the simplex method we have obtained the same solution as using the graphical method.
References
[1] Krajewski, L. J. – Malhotra, M. K. – Ritzman, L. P.: Operations Management. Process and
Supply Chains. 11th ed. Pearson, Harlow, England, 2016.
56
Darja Noskievičová
Process Management
4. TRANSPORTATION PROBLEM
Study time
600 min
Objective
After studying this chapter
 you will know what is a transportation problem
 you will be able to solve a transportation problem
 you will be able to apply approximate methods
 you will be able to find the optimal solution
 you will be able to interpret the results
Lecture
4.1 The principle of a transportation problem
Suppose a company has m warehouses (suppliers) and n retail outlets. A single
homogenous product is to be shipped from the warehouses (suppliers) to the outlets
(customers). Each warehouse (supplier) has a given level of supply (capacity) and each outlet
(customer) has a given level of demand. We are also given the transportation costs between
every pair of warehouse and outlet, and these costs are assumed to be linear. More explicitly,
the assumptions are:
 The total supply of the product from supplier i is ai, where i = 1, 2, . . ., m.
 The total demand for the product at a customer j is bj , where j = 1, 2, . . ., n.
 The cost of sending one unit of the product from supplier i to customer j is equal to
cij , where i = 1, 2, . . ., m and j = 1, 2, . . ., n.
 The total cost of a shipment is linear in the size of the shipment.
The problem of interest is to determine the optimal transportation scheme between
suppliers and customers, subject to specified supply and demand constraints.
57
Darja Noskievičová
Process Management
Graphically, a transportation problem can be depicted as follows:
Suppliers
Customers
Fig. 4.1 Graphical description the transportation model
where is
xij (decision variables) - the size of the shipment from supplier i to customer j, where i = 1, 2, .
. ., m and j = 1, 2, . . ., n (xij ≥ 0);
cijxij - total cost of the shipment from i-th supplier to j-th customer.
The objective function is the overall transportation cost for all supplier-customer
combinations:
𝑛
minimize ∑𝑚
𝑖=1 ∑𝑗=1 𝑐𝑖𝑗 𝑥𝑖𝑗 .
Such a problem leads to a very complex model using a general LP model. For that reason a
more efficient algorithm (of the transportation model) for solving such problem was defined.
It consists of three steps: the preparation of the transport table, generating an initial feasible
solution and developing the optimal solution [1], [2], [3].
4.2 Steps of the transportation problem solution
In this chapter the steps in solving the transportation problem are described in detail
using an example.
4.2.1 Preparation of the transportation table
The second and third steps are implemented using so-called transportation tables
where supply availability ai at each source is shown in the far right column and the customer
58
Darja Noskievičová
Process Management
requirements bj are shown in the bottom row. Each cell represents one route. The unit
shipping cost cij is shown in the upper right corner of each cell, the amount of shipped
material (decision variable xij) is shown in the centre of each cell (see Tab. 4.1).
Tab. 4.1 Transportation table for a balanced transportation model
where is
m … number of sources (suppliers)
n.......number of destinations (customers)
ai … capacity of i-th supplier (in tons, pounds, litres, etc.)
bj … demand of j-th customer (in tons, pounds, litres, etc.) customer (in money units or as a
distance in kilometres, miles, etc.)
xij … amount of material shipped between i-th supplier and j-th customer (in tons, pounds,
litres etc.)
The green parameters are input parameters, the red ones are output parameters.
59
Darja Noskievičová
Process Management
4.2.2 Generating the initial feasible solution
At the beginning of the second step of the transportation problem solution the initial
table must be prepared (see Tab. 4.2) – at the beginning it does not contain the values of xij.
Tab. 4.2 Initial table
It is important at this step to make sure that the total supply availabilities  ai and total
demand requirements  b j are equal (the transportation problem must be balanced – it is the
standard model). Often there is an excess supply or demand. In such situations, for the
transportation method to work, a dummy customer or supplier must be added. This involves
inserting an extra row (for an additional supplier) or an extra column (for an ad customer).
The amount of supply or demand required by the ”dummy” – fictional supplier or customer
equals the difference between the row and column totals  ai   b j or  b j   a i . This
procedure converts an unbalanced transportation model into a balanced one. The following
solution of such a transportation problem can be found in Tab. 4.3 and Tab. 4.4.
60
Darja Noskievičová
Process Management
Tab. 4.3 The initial table for an unbalanced problem
 ai   b j - adding fictive customer C5 with demand b5 = 3000 – 2650 = 350 and cij = 0:
unbalanced model.
Tab. 4.4 Balancing the unbalanced transportation problem using the fictive customer
(  ai   b j )
As in the simplex method in searching for the optimal solution we must start with setting the
initial feasible solution applying the initial table – see the previous step. The feasible solution
means that the sum of xij in the row equals the capacity of that row ai and the sum of xij in the
column equals the demands for that column bj. These two sets of constraints are called rim
conditions. To set such an initial solution it is necessary to allocate quantities xij to cells in the
initial table (see Fig. 4.4) so that the rim conditions will be met.
There are many various methods to do so, called approximate methods but we will present
two approaches: the north-west-corner approach and the least-cost method.
61
Darja Noskievičová
Process Management
A. North-west corner approach
The steps of this approximate method are as follows:
1. Starting from the north-west corner (cell (1, 1)) of the transportation table, allocate as much
quantity as possible to cell (1, 1) within the supply constraint of capacity 1 and the demand
constraint of customer 1.
2. The first allocation will satisfy either the supply capacity of supplier 1 or the customer
requirement of customer 1.
a) If the demand requirement of customer 1 is satisfied but the supply capacity of supplier
1 is not exhausted, move on to cell (1, 2) for the next allocation.
b) If the demand requirement of customer 1 is not satisfied but the supply capacity of
supplier 1 is exhausted, move to cell (2, 1)
c) If the demand requirement of customer 1 is satisfied and the supply capacity of supplier
1 is also exhausted, move on to cell (2, 2).
3. Continue the allocation in the same manner toward the southeast corner of the
transportation table until the supply capacities of all suppliers are exhausted and the
demands of all customers are satisfied.
An initial table developed using the north-west corner method is in Tab. 4.5 (see that fictional
customer C5 was applied in order to have the balanced model).
Tab. 4.5 Transportation table – North-west corner method
Like the first variable x11 = b1 = 600 was assigned to the cell S1-C1 because it is the north-west
corner (NVC) of the table and the value 600 is min (a1; b1). Then the first column C1 was
removed and the reduced table has NVC in the cell (S1-C2). The rest of xij were assigned in the
same way (the order of filling the cells expresses the red number on the left in the adequate
62
Darja Noskievičová
Process Management
cell.) To check the feasibility of the obtained solution we must verify if Σxij = ai in the rows or
Σxij = bj in the columns. When it is valid we have the feasible initial basic solution with
objective function Z = ΣΣcijxij, i. e. for example:
Z = 6 . 600 + 4 . 400 + 1 . 450 + 13 . 550 + 5 . 200 + 12 . 450 + 0 . 350 = 19 200.
As it can be seen this algorithm of generating the initial feasible solution does not consider cij
coefficients when assigning xij. For that reason this very simple method is not as efficient as
the next approach that commonly leads to the solution that is closer to the optimal solution or
sometimes it leads to the optimal solution.
B. Least-cost method
It is another method used to obtain the initial feasible solution for the transportation
problem. Here, the allocation begins with the cell which has the minimum cost cij. The lower
cost cells are chosen over the higher-cost cell with the objective to have the least cost of
transportation. This method usually provides a better initial basic feasible solution than the
north-west corner method since it takes into account the cost variables cij in the problem.
The steps of this method are as follows:
1. Determine the cell with the least positive cost cij among all the rows of the transportation
table.
2. Identify the row and allocate the maximum feasible quantity in the cell corresponding to
the least cost in the row. Then eliminate that row (column) when an allocation is made.
The cells with cij = 0 (corresponding to the fictional supplier of fictional customer) are
filled in as the last ones.
3. Repeat steps 1 and 2 for the reduced transportation table until all the available quantities
are distributed to the required places. If the minimum cost is not unique, the tie can be
broken arbitrarily (for instance fill in preferentially the cell with the lowest i and j).
The initial table developed using the least cost method is in Tab. 4.6 (see that fictive customer
C5 was applied to have the balanced model).
63
Darja Noskievičová
Process Management
Tab. 4.6 Transportation table - Least cost method example
In this table we can find the initial feasible solution obtained using the least-cost method. (The
order of filling in the cells is expressed by the red number on the left in the appropriate cell.)
This basic feasible solution leads to the objective function value Z = 6 . 600 + 9 . 100 + 8 .
300 + 1 . 850 + 5 . 350 + 10 . 450 + 0 . 350 = 14 000. This is less than the value Z obtained
using the north-west method where Z = 19 200. It means that the solution obtained using the
least-cost method is better. For now we must verify if this solution is optimal and when it is
not true we must find the optimal solution.
4.2.3 Developing the optimal solution
The methods commonly lead to the optimal solution coming out of some basic initial
solution obtained in the previous step using some approximate method. To develop an optimal
solution involves evaluating each unused cell to determine whether a shift into it is
advantageous from a total-cost stand point. If it is, the shift is made, and the process is
repeated. When all cells have been evaluated and appropriate shifts made, the problem is
solved. It means that we iteratively improve the initial solution and after a finite number of
iterations we reach the optimal solution (one or more). One such method is called MODI.
4.3 MODI method
The algorithm of this method could be described using the following steps [1], [2], [3]:
1. The determination of the initial basic feasible solution (see Chapter 4.2.2).
2. Setting dual Variable ui, for each row and variable vj for each column as follows:
a) u1 = 0.
b) the remaining ui’s and vj’s for occupied cells ((where xij ˃ 0) are calculated by solving
the relationship cij = ui + vj.
64
Darja Noskievičová
Process Management
3. Calculation of values (ui + vj – cij) for unoccupied cells (where xij = 0) and their recording
into the left upper corner of the cell.
a) when applying relation (ui + vj – cij) ≤ 0, we have the optimal solution (if for some
unoccupied cell there is valid (ui + vj – cij) = 0, then there exists another equivalent
optimal basic solution). The algorithm finishes.
b) when applying relation (ui + vj – cij) ˃ 0 at least for one unoccupied cell then we don´t
have the optimal solution and we procced with its improvement.
4. Selection of the cell with maximal positive (ui + vj – cij).
- This cell will be newly occupied (the entering variable) and must be marked with the sign
“+”.
5. a) Creation of the closed loop (path, cycle) starting in this cell and going through the
occupied cells (the corners of this cycle are occupied cells); these corners are
alternatively marked with the signs “-“ and “+”.
In Fig. 4.2 some examples of closed loops (paths, cycles) are depicted.
+
-
-
+
+
+
-
+
-
Fig. 4.2 Closed loops (paths, cycles) examples
Occupied cell
Non-occupied cell
b) Assignment of the minimal value of xij in the cycle cells marked with the sign “-“ to the
entering variable. The cell with this minimal value of xij also represents the exiting
(leaving) variable.
6. Recalculation of the last tableau: this minimal xij will be added to the value of xij in the
cycle cell with the sign “+” and subtracted from the value of xij in the cycle cell with the
sign “-“: it is a new better basic feasible solution.
7. Repetition of the algorithm from step 2.
65
Darja Noskievičová
Process Management
The MODI method is shown in the example solved in Chapter 4.2.
4.3.1 Selection of the initial solution
As an initial solution we use the solution obtained using the north-west corner method
(see Tab. 4.7).
Tab. 4.7 MODI - step 1 Initial solution set using the north-west corner method
4.3.2 Setting the dual variables ui and vj
See Tab. 4.8
Tab. 4.8 Initial tables with dual variables
6
ui + vj = cij for occupied cells
66
Darja Noskievičová
Process Management
Partial steps:
u1 = 0
v3 = c23 – u2 = 13 – (-3) = 16
v1 = c11 – u1 = 6 – 0 = 6
v4 = c24 - u2 = 5 – (-3) = 8
v2 = c12 – u1 = 4 = 0 = 4
u3 = c34 = v4 = 12 = 8 = 4
u2 = c22 = v2 = 1 – 4 = -3
v5 = c35 – u3 = 0 – 4 = -4
4.3.3 Computation of (ui + vj – cij) for unoccupied cells
See the next table - the red numbers in the cells.
Tab. 4.9 Initial table with the values of (ui + vj – cij) for the unoccupied cells
This initial solution has the objective function Z = 19 200.
As some of the values (ui + vj – cij) are positive it is not the optimal solution and we must find
a new basic feasible solution with a better objective function.
4.3.4 Selection of the cell with maximal positive (ui + vj – cij)
See the cell S1-C3 in the red frame in Tab. 4.9. That means that decision variable x13
will be entered into the next basic feasible solution.
4.3.5 Creation of the closed loop (path, cycle)
See the next table.
67
Darja Noskievičová
Process Management
Tab. 4.10 Initial solution – closed loop
As it can be seen in the Tab. 4.10 in every column or row their cells are a part of the closed
loop there are only one sign „+“ and one sign „-„.
The value which will be added or subtracted is x12 = 400 (the green vale in the table as it is the
lowest value in the cells signed with „-„.
4.3.6 Recalculation of the last table
The last table (Tab. 4.10) is recalculated using the set closed loop and the new table
with a new better solution and a lower value of the objective function is created (see Tab.
4.11).
Tab. 4.11 The 2nd basic feasible solution
This new basic feasible solution has a lower value of objective function Z = 16 400 (as
compared to Z = 19 200 for the previous initial solution).
68
Darja Noskievičová
Process Management
4.3.7 Repetition of the algorithm from step 2
For this new solution dual variables ui and vj and values (ui + vj – cij) we compute in
the same way as in the previous initial solution (see Tab. 4.12).
Tab. 4.12 The 2nd solution with dual variables
Because there are again some positive values of (ui + vj – cij) it is not the optimal solution and
we must continue to find a new basic feasible solution with a better objective function by
suitably setting the closed loop and re-computation of the table (see Tab. 4.13 and Tab. 4.14).
Tab. 4.13 Evaluation of the optimality of the 2nd solution and setting the new closed loop
(path, cycle)
The value which will be added or subtracted is x23 = 150 (the green value in the previous table
as it is the lowest value in the cells signed with „-„.
69
Darja Noskievičová
Process Management
4.14 Tab. Table with the 3rd basic feasible solution
The value of the objective function for this 3rd basic feasible solution Z = 14 900.
Again we must verify the optimality of this solution computing ui, vj and (ui + vj – cij) - it can
be found in the previous table. Because one value of (ui + vj – cij) is positive it means that it is
not the optimal solution and we must search for a better solution again. By setting the closed
loop (see Tab. 4.15) and re-computing the third solution we will obtain the 4th basic feasible
solution (see Tab 4.16).
Tab. 4.15 Cycle in the third solution
70
Darja Noskievičová
Process Management
Tab. 4.16 The 4th basic feasible solution
The value of the objective function for this solution Z = 13 100. After computing ui, vj and (ui
+ vj – cij) we can see in this 4th solution (Fig. 4.16) that there are no positive values of (ui + vj
– cij). It means that it is the optimal solution:
x11 = 450 units; x12 = 0; x13 = 550 units; ……..x35 = 350 units with the minimum of the
transport cost Z = 13 100 money units. We have obtained the optimal solution after 3
iterations.
Examples
Example 4.1
Find the optimal solution for the same transportation problem as in the previous example but
use as the initial solution the result obtained using the least-cost method (see Tab. 4.17).
71
Darja Noskievičová
Process Management
Tab. 4.17 A table with the initial solution obtained using the least-cost method (the same as
Tab. 4.6)
Example 4.2
A. Find the initial solution for the transportation problem using the north-west method.
B. Find the initial solution for the transportation problem using the least-cost method.
C. Find the optimal solution for the transportation problem. As the initial solution use the
solution obtained in point A.
The transportation problem can be described by the following table:
Tab. 4.18 Data for example 4.2
72
Darja Noskievičová
Process Management
Summary of terms

supply

demand

supplier

customer

transportation cost

transportation tableau

balanced transportation problem

unbalanced transportation problem

fictional supplier

fictional customer

dummy

supplier capacity

customer demand

rim conditions

approximate methods

north-west point method

least-cost method

MODI

dual variables

closed loop (cycle, path)
Questions
 What is a transportation problem?
 What is the relation between the transportation problem and the general LP problem?
 What are the steps of solving a transportation problem?
 How to set the initial solution of a transportation problem?
 What are the steps of the north-west corner method?
 What are the steps of the least-cost method?
73
Darja Noskievičová
Process Management
 What are the similarities and differences of the north-west corner and the least- cost
methods?
 What method of the previously discussed ones is more effective and why?
 What is the goal of the MODI method?
 What are the steps of MODI?
 What is the optimality criterion in MODI and how to compute it?
 How to decide about solution optimality using the MODI method?
Key to solution
Solution of example 4.1
4.19 Table for the initial solution with added ui, vj and (ui + vj – cij) and a closed loop
4.20 Table for the 2nd basic feasible solution (recomputed previous table) with added ui, vj
and (ui + vj –cij)
74
Darja Noskievičová
Process Management
This is the optimal solution (no positive (ui + vj – cij) with Z = 13 100 obtained only after 1
iteration (as compared to 3 iterations in Chapter 4.3 when the initial solution was obtained
using the north-west method). This result confirms the statement about the low effectivity of
the north-west method.
Solution of example 4.2
Ad A
Tab. 4.21 Initial table with the initial solution (using the north-west method)
Z = 1 295
Ad B
Tab. 4.22 The initial table with the initial solution (using the least-cost method)
Z = 665
75
Darja Noskievičová
Process Management
Ad C
Tab. 4.23 Table with the optimal solution
It is the optimal solution obtained after 3 iterations. Z = 665
References
[1]
Hillier, F. S. – Lieberman, G. J.: Introduction to Operations Research. 7th ed. McGrawHill Ed., New York, 2001.
[2]
Krajewski, L. J. – Malhotra, M. K. – Ritzman, L. P.: Operations Management. Process
and Supply Chains. 11th ed. Pearson, Harlow, England, 2016.
[3]
Stewenson, W. J.: Operations Management. 12th ed. McGraw-Hill Ed., New York,
2015.
76