Beruflich Dokumente
Kultur Dokumente
Operation Research
Summary
Author:
Minh-Quan Dang
Draft N o 1
Abstract
This is the summary of the essay.
Keywords
Contents
Abstract
Keywords
List of Figures
List of Tables
1 Introduction
1.1 Definition Operation Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Problem when conducting OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
1
2 Linear Programming
2.1 Definition . . . . . . . . . . . . .
2.2 Type of LP problems . . . . . . .
2.3 Assumptions . . . . . . . . . . .
2.3.1 Proportionality(linearity)
2.3.2 Additivity . . . . . . . . .
2.3.3 Divisibility . . . . . . . .
2.3.4 Non-negativity . . . . . .
2.3.5 Certainty . . . . . . . . .
2.4 Solving the LP problem . . . . .
.
.
.
.
.
.
.
.
.
2
2
2
2
3
3
3
4
4
4
7
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Simplex Method
4.1 Algorithm . . . . . . . . . . . . . . . . . .
4.2 LP task standard form . . . . . . . . . . .
4.3 Possible outcome from simplex method . .
4.4 Solving LP problem with Simplex Method
4.4.1 Case of one optimal solution . . .
4.4.2 Case of Multiple optimal solution .
4.4.3 Case of Unbounded feasible region
4.4.4 Case of No feasible solution . . . .
4.5 Adapting to other model forms . . . . . .
4.5.1 Equality constrains . . . . . . . . .
4.5.2 Functional constraints in form .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
10
10
11
11
11
13
14
15
15
15
15
5 Dual task
5.1 Rule to create dual task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Duality theorems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Solving Dual task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
16
17
17
6 Allocation tasks
6.1 Definition of allocation tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Transportation task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Solving balanced transportation tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
18
18
18
7 Terminology
24
References
25
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
LIST OF FIGURES
LIST OF FIGURES
List of Figures
1
2
3
4
5
6
Proportionality Assumption . . . . . . . . . . . . . . . .
Graphically expression of constrains . . . . . . . . . . .
Graphically expression of CF . . . . . . . . . . . . . . .
Graphically interpret when most favorable value exist .
Graphically interpret when no most favorable value exist
Pair of symmetric dual tasks . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
7
7
8
8
16
LIST OF TABLES
LIST OF TABLES
List of Tables
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
11
11
12
12
12
13
13
14
14
19
19
20
20
20
21
INTRODUCTION
Introduction
1.1
1.2
LINEAR PROGRAMMING
Linear Programming
2.1
Definition
Briefly, the most common type of application involves the general problem of allocating limited resources among competing activities in a best possible (i.e., optimal) way. [1]
Linear programming uses a mathematical model to describe the problem of concern. The problem is
maximization or minimization of criterion function value and at the same time fulfillment of all relevant
constraints.
Linear: All the mathematical functions in this model are required to be linear functions.
Programming: planning
We can understand that Linear programming is an OR which is:
Step 1: Define the Linear programming task include:
Linear criterion function
Set of constrains
Non-negative assumptions
Step 2: we use linear mathematical model to abstract the problem.
Step 3:we try to obtain an optimal result, the best goal among all feasible alternatives.
2.2
Type of LP problems
2.3
Assumptions
In the Step 1 when we start the research the problem in the real world is usually complicated and
difficult to comprehend all the aspects. For that reason we need to make some assumptions. The function
of assumption are:
1. Simplify the problem.
2. Fill up all unknown information
When using assumptions we must face a fact that this could be or not be correct. Sometime the assumption
is correct in this task but is incorrect in the other task. Then the necessary to consider the assumptions
with these questions:
1. Is that assumption logically acceptable for the task?
2. Is the validity of this assumption depend on tasks boundary(size, length ...)
2.3
Assumptions
LINEAR PROGRAMMING
Any change of the assumptions will lead to LP model update. There are 5 assumption is made for LP
task:
1. Proportionality(linearity)
2. Additivity
3. Divisibility
4. Non-negativity
5. Certainty
2.3.1
Proportionality(linearity)
The contribution of each activity to the value of the objective function Z is proportional to the level
of the activity xj , as represented by the cj xj term in the objective function. Similarly, the contribution of
each activity to the left-hand side of each functional constraint is proportional to the level of the activity
xj , as represented by the aij xj term in the constraint.
This assumption means we assume that all the output and input is linear dependence. In other word,
we can have as much input material as we want as long as the value lies within the constrains. This
assumption could not be correct for example when we buy to much goods the price for that goods will
change and for the same amount of money we could but less amount of goods than it should be.
Additivity
Every function in a linear programming model (whether the objective function or the function on
the left-hand side of a functional constraint) is the sum of the individual contributions of the respective
activities.
The basic idea of this assumption is we can define the sum by means of all variables are independent
to each other. The will be no cannibal effect, that means no complements nor substitutes. In other word,
there will no requirement for buying both 2 types of goods or 1 goods can replace for another goods.
2.3.3
Divisibility
Decision variables in a linear programming model are allowed to have any values, including noninteger
values, that satisfy the functional and nonnegativity constraints. Thus, these variables are not restricted
2.4
LINEAR PROGRAMMING
to just integer values. Since each decision variable represents the level of some activity, it is being assumed
that the activities can be run at fractional levels.
This assumption we will ignore the fact that some goods we must buy as a whole pack, variable can
be taken as fraction.
2.3.4
Non-negativity
We assume the value of variable must not smaller than zero. The reason for this assumption related
to the task and variable definition. It will be non sense to deal will negative for example table or chair.
2.3.5
Certainty
The value assigned to each parameter of a linear programming model is assumed to be a known constant.
This assumption is also related to task definition while the task boundary is fixed. Then the input
parameter will not change by time or other factor.
2.4
To understand the process for solving the LP problem we will go though an example and then make
the summary from that. The example is called Prototype Example [1]. Solving process includes:
1. Problem analyze
2. Identifine the needed data
3. Formulation as a LP Problem
4. Finding the optimal solution
Problem analyze:
A company which product glass (Plant 1), windows (Plant 2) and glass doors (Plant 3) decides to
produce new products.
Product 1: An 8-foot glass door with aluminum framing
Product 2: A 4x6 foot double-hung wood-framed window
The Product 1 requires the production capacity in Plant 1 and Plan 3 and Product 2 requires Plant 2
and 3. The question is how the company should produce in order to archive the biggest profit.
Definition of the problem
The task is determination of the production rate should be for the two products in order to maximize
the output profit, subject to the restriction imposed by the limited production capacities available in the
three plants. The production rate is defined as the number of batches produced per week. Production
rate can be none or as much as possible.
Identifine the needed data
Base on the task definition we recognize that we need to collect some data.
4
2.4
LINEAR PROGRAMMING
1
2
3
Profit per batch
1
0
3
$ 3,000
0
2
2
$ 5,000
Production Time
Available per Week, Hours
4
12
18
Formulation as a LP Problem
We will assign symbol for each decisiion variable
x1 = number of batches of product 1 produced per week
x2 = number of batches of product 2 produced per week
Z = total profit per week
The problem now can express
Maximize Z = 3x1 + 5x2
subject to the restrictions
x1
2x2
12
3x1 + 2x2
18
x1
0,
x2
By word we can say the total profit Z is the sum of profit from each product. Plant 1 can produces
1 batch of production 1 per hour and for maximum 4 hours per week. Plant 2 can produces 2 batch of
production 2 per hour and for maximum 12 hours per week. Plant 2 can produces 3 batch of production
1 and 2 batch of production 2 per hour and for maximum 18 hours per week. The number of batches
cannot be negative value.
Now we have enough information to proceed to find the optimal solution.
Finding the optimal solution
The technique used for finding the optimal solution are:
5
2.4
LINEAR PROGRAMMING
1. Graphic Solution
2. Simplex Method
The basic principle for this method base on the fact that LP with 2 variable can be express graphically.
The constrains will some how limit an area of the plain then by moving the CF we can find the optimal
solution. Take a look on a example with 2 constrains
6x + 8y = M ax
Subject to
Constrain 1: 30x + 20y 300
Constrain 2: 5x + 10y 110
x, y 0
(b) Moving CF
3.1
3.1
The optimal solution depends on how the CF line intersect with the feasible area. There are 4
possibilities could happen:
1. One optimal solution only
2. Multiple optimal solutions
3. Unbounded solution
4. No feasible solution
3.1
No feasible solution
This possibility happen when constrains are not consistent and there is no feasible region exist.
This outcome occurs only if:
1. It has no feasible solutions
2. The constraints do not prevent improving the value of the objective function (Z) indefinitely in the
favorable direction (positive or negative). Unbounded objective.
SIMPLEX METHOD
Simplex Method
4.1
Algorithm
4.2
Standard form of LP is important for solving especially when using simplex method and dual task.
f (x)
cx = M in
Ax =
If the LP task is not in the standard form we can transform it into standard form.
If creterion function is looking for Max instead of Min then we will multiple both side with -1
f (x) = M ax => f (x) = M in
Inequalities in constrains are changed to equalities using slack or surplus variable (method of artificial base).
x1 + x2 + x3 = 1
x1 + x2 = M in
x1 + x2 + wu1 + wu2 = M in
x1 x2 x3 + u1 = 1
x1 + x2 2
x1 + x2 x4 + u2 = 2
x1 , x2 , x3 , x4
u1 , u2
ci xi = M in
bi
0
10
4.3
SIMPLEX METHOD
B
P3
P4
zj
zj-cj
4.3
cB
c3
c4
cj
P0
b1
b2
c3 b1 + c4 b2
z0
c1
P1
a11
a12
c3 a1 1 + c4 a12
z1-c1
c2
P2
a21
a22
c3 a2 1 + c4 a22
z2-c2
c3
P3
a31
a32
c3 a3 1 + c4 a32
z3-c3
c4
P4
a41
a42
c3 a4 1 + c4 a42
z4-c4
h
b1/ai1
b2/ai2
4.4
4.4.1
elementary var
0
0
0
-
zj-cj
non-base var
<0
0 and < 0
>0
-
artificial var
>0
Original problem:
3x1 + 4x2 = M ax
Subject to
x1 + x2 5
x1 + 2x2 8
x1 , x2 0
Standard form
11
4.4
SIMPLEX METHOD
3x1 4x2 = M in
Subject to
x1 + x2 + x3 = 5
x1 + 2x2 + x4 = 8
x1 , x2 0
Two slack variable x3 , x4 is added to transform inequality into equality relation.
Initial simplex table
Table 4: Initial simplex table of one OS
B
P3
P4
zj
zj-cj
cB
0
0
cj
P0
5
8
0
0
c1
P1
1
1
0
3
c2
P2
1
2
0
4 max
c3
P3
1
0
0
0
c4
P4
0
1
0
0
h
5
4 min
The value in the row zj cj still exists positive element then we must apply principle Max-Min. The
value z2 c2 is max so we will include vector P2 into base. The ratio h of P4 is min so we will exclude
vector P4 from the base.
First iteration
Table 5: First iteration simplex table of one OS
B
P3
P2
zj
zj-cj
cB
0
-4
cj
P0
1
4
-16
-16
c1
P1
0.5
0.5
-2
1 max
c2
P2
0
1
-4
0
c3
P3
1
0
0
0
c4
P4
-0.5
0.5
-2
-2
h
2 min
8
The value in the row zj cj still exists positive element then we must apply principle Max-Min.
2nd iteration
Table 6: 2nd iteration simplex table of one OS
B
P1
P2
zj
zj-cj
cB
-3
-4
cj
P0
2
3
-18
-18
c1
P1
1
0
-3
0
c2
P2
0
1
-4
0
c3
P3
2
-1
-2
-2
c4
P4
-1
1
-1
-1
After 2 iteration we can see that the value of (zj cj ) are zero for elementary vectors and negative
for non-base vector so we know the optimal solution is reached.
12
4.4
SIMPLEX METHOD
The optimal solution is Min = -18 for (2,3,0,0), but because the original task is find Max then we
must transform it back. The final optimal solution for Max CF is 18.
4.4.2
Original problem:
2x1 + x2 = M ax
Subject to
4x1 + 2x2 8
x1 + x2 3
x1 , x2 0
Standard form
2x1 x2 = M in
Subject to
4x1 + 2x2 + x3 = 8
x1 + x2 + x4 = 3
x1 , x2 0
Initial simplex table
Table 7: Initial simplex table of Multiple OS
B
P3
P4
zj
zj-cj
cB
0
0
cj
P0
8
3
0
0
2
P1
4
1
0
2 max
1
P2
2
1
0
1
0
P3
1
0
0
0
0
P4
0
1
0
0
h
2 min
3
B
P1
P4
Zj
Zj-Cj
Cb
-2
0
Cj
P0
2
1
-4
-4
-2
P1
1
0
-2
0
-1
P2
0.5
0.5
-1
0
0
P3
0.25
-0.25
-0.5
-0.5
0
P4
0
1
0
0
h
4
2 Min
Both zj-cj value of both elementary vector are 0 and negative for non-base vectors, that means the
optimal solution is reached. But not all non-base value has negative value zj-cj so we will have multiple
optimal solution. Then we should choose the other elementary vector to include for the next iteration for
confirmation.
13
4.4
SIMPLEX METHOD
Second iteration
Table 9: Second iteration simplex table of Multiple OS
B
P1
P2
Zj
Zj-Cj
Cb
-2
-1
Cj
P0
1
2
-4
-4
-2
P1
1
0
-2
0
-1
P2
0
1
-1
0
0
P3
0.5
-0.5
-0.5
-0.5
0
P4
-1
2
0
0
We see that the zj-cj value is not change from the last iteration.
All optimal solution are a weighted average of these two optimal solutions
(x1 , x2 ) = w1 (2, 0) + w2 (1, 2)
where the weight w1 and w2 (convex combination) are numbers that sastifiy the relationships
w1 + w2 = 1 and w1 0, w2 0
4.4.3
Original problem:
x1 x2 = M ax
Subject to
4x1 + 2x2 4
x2 4
x1 , x2 0
Standard form
x1 + x2 = M in
Subject to
4x1 + 2x2 + x3 = 4
x2 + x4 = 4
x1 , x2 0
Initial simplex table
Table 10: Initial simplex table of Unbounded feasible region
B
P3
P4
Zj
Zj-Cj
Cb
0
0
Cj
P0
4
4
0
0
-1
P1
-4
0
0
1 max
1
P2
2
1
0
-1
0
P3
1
0
0
0
0
P4
0
1
0
0
h
-1
Inf
The constrains do not prevent the value of the objective function Z from increasing indefinitely, so the
simplex method would stop with the message that Z is unbounded
14
4.5
4.4.4
SIMPLEX METHOD
Original problem:
x1 + x2 = M in
Subject to
x1 x2 1
x1 + x2 2
x1 , x2 0
Standard form
4.5
4.5.1
All the equality constrains could be cover into a pair of inequality constrains.
Ax = b => Ax b and Ax b
. However we do not want to increase the number of variable so we use artificial-variable technique.
1. Introducing a nonnegative artificail variable
Ax + x
=b
2. Assign an overwhelming penalty to objective function.
Z = cx M x
4.5.2
For this kind of constrains we introduce both a surplus variable and and artificial variable x
Ax b =>> Ax xi + xj = b
Z = cx =>> cx + 0xi + M xj
15
DUAL TASK
Dual task
Dual task is derived from the primary task, the meaning of dual task is process directly with specific
profit per unit of resource. Dual task is a deeper analysis of the task and sometime can be faster solved.
5.1
The primary task has dimension m x n is transformed to the dual task with dimension n x m
The constrain in primary task can be transform into dual task:
g(y) = y.b = M in
yi (, +)
aij .xj bj
yj 0
xj 0
f (x) = c.x = M ax
n
X
aij .xj = bj
j=1
n
X
j=1
xj (, +)
m
X
i=1
m
X
aij .yj cj
aij .yj = cj
i=1
16
5.2
Duality theorems
5.2
DUAL TASK
Duality theorems
1st Theorem
If the optimal solution exists then both tasks has optimal solution and they are equal.
2nd Theorem
If given constraint of LP task is fulfilled as sharp inequality (i.e. is not effective) for optimum solution
then corresponding constraint in dual task is fulfilled as the equality
5.3
Dual task will be solved by the same method as primary task, which is:
1. Graphical method
2. Simplex method
17
ALLOCATION TASKS
Allocation tasks
6.1
This task deals with limited and interchangeable sources to individual customers in optimal way.
For example we must produce a certain amount bj of products with i machines, each machine has
specific cost cij usd/h, productivity of each machine is kij product/hour and maximum hour of production
is ai hours. We can rewrite the task as follow:
m X
n
X
cij .xij
M in
xij
ai
kij .xij
bj
xij
i=1 j=1
n
X
j=1
m
X
i=1
6.2
Transportation task
6.3
18
6.3
ALLOCATION TASKS
O1
/2
/5
/1
6
O2
/5
/4
/3
12
O3
/3
/8
/6
6
a (Capacity)
10
7
7
O1
6/2
0/5
0/1
6
O2
4/5
7/4
1/3
12
O3
0/3
0/8
6/6
6
a (Capacity)
10
7
7
We start at cell D1O1 then fill max demand of O1 is 6. The other cells in O1 must be 0. Capacity on D1
still has 4 left so we fill 4 into cell D1O2. The capacity of D1 is reached then the other cell of D1 must be
0. The demand of O2 still has 8 left so we will fill 7 into cell D2O2 because capacity of D2 is 7. The rest 1
will be filled to cell D3O2. The capacity of D3 has 6 left as well as 6 needed at O3 which filled to cell D3O3.
Starting solution by row minimum method
Procedure:
1st row: maximum allocation in cell with minimum transportation cost
recalculation of capacities and demands
exclusion of row or column with fully utilized capacity or satisfied demand
continuation in 1st row in sub matrix
continuation till the full allocation
19
6.3
ALLOCATION TASKS
O1
6/2
0/5
0/1
6
O2
0/5
7/4
5/3
12
O3
4/3
0/8
2/6
6
a (Capacity)
10
7
7
We start at row D1, the minimum cost is cell D1O1 then we give 6 here and 4 to the D1O3 with cost
3. As a consequence, the rest cells of O1 is 0. For the row D2 the cell D2O2 has cost 4 then we fill 7 here
then the rest cell of D2 is 0. The row D3 we have cell D3O2 with cost 3 then we give here 5 as the rest
of demand of O2 and the final cell D3O3 is 2.
Starting solution by column minimum method
Table 14: Starting solution by column minimum method
Productiviy/Plant
D1
D2
D3
b (Demand)
O1
0/2
0/5
6/1
6
O2
4/5
7/4
1/3
12
O3
6/3
0/8
0/6
6
a (Capacity)
10
7
7
This method is similar to row minimum method only we looking for the minimum cost on each column
instead of row.
Starting solution by column minimum method
Procedure:
maximum allocation in cheapest cell
recalculation of capacities and demands
exclusion of row or column with fully utilized capacity or satisfied demand
continuation cheapest cell in sub matrix
continuation till the full allocation
Table 15: Starting solution by column minimum method
Productiviy/Plant
D1
D2
D3
b (Demand)
O1
0/2
0/5
6/1
6
O2
4/5
7/4
1/3
12
O3
6/3
0/8
0/6
6
a (Capacity)
10
7
7
We start at the cell with minimum cost D3O1 and fill it with 6. The rest of O2 will be 0 and we
continue with either cell D1O3 or D3O2. We choose the cell D1O3 and fill it will 6 as demand of O3.
Then cell D1O2 will be 4 to full fill capacity D1. Cell D3O2 is minimum cost now and we fill it with 1 to
20
6.3
ALLOCATION TASKS
O1
4/2
0/5
2/1
6
diff 1b
diff 2b
diff 3b
diff 4
1
1
4
O2
0/5
7/4
5/3
12
O3
6/3
0/8
0/6
6
a (Capacity)
10
7
7
diff 1a
1
1
2
diff 2a
3
1
2
diff 3a
diff 4a
1
2
4
3
1
1
1
First we calculate the diff 1a and diff 1b by subtract the second smallest cost for the minimum cost in
the respected row or column. Then the biggest value of diff 1b O3 so we fill 6 into cell D1O3 with lowest
cost on the column O3. Now we can fill all the cell on the column O3. Next we calculate diff 2a,b by the
same process without participant of O3. The biggest is diff 2a D1 then we will fill 4 into D1O1 with min
cost of the row. We exclude row D1 from calculation of diff 3a,b. The max value is on diff 3b O1, so we
fill 2 into D3O1 and exclude column O1. The last diff 4a,b is calculated and the last two cells are fill with
the same manner.
MODI Method
This method include 2 steps:
1. Find the initial improvement of inital solution
2. Find close loop and iterate until finding optimal solution.
Step 1
First we will set one of ui or vj to zeros. The other value of ui and vj of occupied cells will be
determined from this setting by formular:
cij = ui + vj
21
6.3
ALLOCATION TASKS
22
6.3
ALLOCATION TASKS
The cell with dij < 0 could be improved to reach the optimal solution.
Step 2
We identify a close loop to change transportation schedule. This loop starts at the non-occupied cell
and goes though occupied cells to returns to the starting point. At each corner, the cells will be assigned
minus or plus sign alternatively with starting point is plus.
We will reschedule the transport by minus value of transportation at minus-cells and add more value
to plus-cells. The value is chosen as the minimum of all minus-cells to avoid negative value.
We recalculate the value of ui and vj as well as dij of all occupied and non-occupied cells. If some dij
still smaller than 0 then we repeat step 2 until all dij is positive.
23
TERMINOLOGY
Terminology
1. Criterion function: c1 x1 + c2 x2 + ... + cn xn
function being maximize or minimize.
2. Functional constrains: ai1 x1 + ai2 x2 + ... + ain xn
3. No negativity constrains: xj 0
4. Feasible solution: is a solution for which all the constraints are satisfied.
5. Infeasible solution is a solution for which at least one constraint is violated.
6. Additivity The additivity assumption of linear programming holds if every function in the model
is the sum of the individual contributions of the respective activities.
7. corner-point feasible (CPF) solution is a solution that lies at a corner of the feasible region.
8. slope-intercept form: For the geometric representation of a linear programming problem with
two decision variables, the slope-intercept form of a line algebraically displays both the slope of the
line and the intercept of this line with the vertical axis.
3
1
x2 = x1 + Z 2
5
5
24
REFERENCES
REFERENCES
References
[1] Frederick S. Hillier and Gerald J. Lieberman. Introduction to Operation Research. McGraw-Hill Education, 2 Penn Plaza, New York,2015
[2] J. Knpek and Martin Dobi Lecture of course Operations Research. CVUT, Prague, 2015
25