Promise Chapter Three
Promise Chapter Three
METHODOLOGY
Most industrial problems, including the optimization of production scheduling can be treated as
optimization problem, once the problem is expressed as mathematical program. Optimization of
a function Z over a given feasible set S involves finding the maximum or minimum value of Z in
the feasible set. However, the type of optimization approach to apply is determined by the
properties of Z and S. If Z is a linear function and the feasible set S is defined by a finite
collection of linear inequalities and equalities, then the optimization problem is called linear
program. If the optimization is a linear program and one however imposes that the feasible set S
shall admit only integer values, then we have an optimization problem described as integer
programming to solve. Similarly, if Z is defined by a nonlinear function and the feasible set S is
defined by finite collection of nonlinear equations, we have an optimization problem called
nonlinear programming on hand. In the case study in this thesis, the production scheduling
problem will be treated as a linear programming model.
Production scheduling problems can be expressed as a collection of linear constraints with one
basic linear objective function. This permits the handling of such industrial problems to be
treated as linear optimization problem in which we have a collection of variables which can take
real values. The assignment of values to these variables must satisfy the given collection of linear
inequalities (linear constraints) and also maximize or minimize the given linear function. These
are prerequisite general conditions which need to be satisfied, if there exist a feasible solution to
the scheduling problems ( from the established linear program)
As already discussed under section 1.5, we see that there are a number of linear programming
algorithms which can be conveniently applied to solve production scheduling problems. Linear
program needs firstly to be presented in a general standard form to display all properties required
of a linear programming problem. This consist of a linear objective function f(x) such that, if in
general c1,…,cn are real numbers, then the function f of real variables x1,…, xn can be defined as
:
j= 𝑐j 𝑥j
max.∑𝑛
Z=
1
Subject to
𝑛
∑j=
1
𝑎ij 𝑥j ≤ bi ✯ i ∈ {1, … , 𝑚}
xj ≥ 0 ✯ j ∈ {1, … , 𝑛}
If (x1*, x2*,…, xn*) satisfy all the constraints of linear program, then the assignment of values to
these variables are called a feasible solution of the linear program. If a given set of feasible
solution can optimize the value of the objective function Z ( maximize or minimize depending on
problem formulation ) then, the optimal solution is said to have been obtained.
There are two logical steps to solve general optimization problems. These are namely modeling
and solving. We will now consider these two steps and then provide a simple case illustration
and preview of how the simplex method can be used to solve a linear programming problem.
Generally, modeling involves reading the problem presented in a verbal description to identify
the decision variables. The objective and constraints of the problem can then be formulated in
terms of the variables. This establishes the linear objective function and the linear constraints of
the problem in a mathematical program. The modeled problem can then be solved using any of
the algorithms which can appropriately provide accurate results.
Commercial software companies continually develop solvers which have in-built packages of
optimization algorithms. We will use the option of manual calculations in this thesis for
illustration and case study.
There may be few pitfalls in the application of the simplex method. However, we will not deal
with these aspects in detail. These include the following:
i. Initialization:
There are instances where one will not be able to start iterating. One of the reasons could be from
the problem formulation or the problem has an infeasible origin. The problem with infeasible
origin is that, one may not know whether a feasible solution exists at all. Such problems are often
treated as auxiliary problems.
ii. Iteration:
In the cause of iterations there could be a tie between one or more variables entering the basis.
It is indicated by these variables having exactly same values. It does not matter which variable
is chosen for entry into the basis. The same conditions of tie breaking holds for leaving
variables.
iii. Termination:
Cycling is one of the causes that makes termination of iteration process difficult or impossible. It
occurs as follows: the arbitrary choice between the tied variables to be removed from the basis
will always generate degenerate feasible solution in which all of the tied variables reach zero
simultaneously as the entering basic variable is increased. If one of these basic variables retains
its zero value until it is chosen at a later iteration to be a leaving variable, then the corresponding
entering variable must then also enter at a value of zero. This means the value of the objective
function would remain unchanged at that iteration and the simplex method then begins to cycle
in a loop.
Problem:
An automobile manufacturer produces cars and trucks in a factory that is divided into two shops.
Shop A which performs the basic operations must work 5 man-days on each truck but only 2
man-days on each car. Shop B which performs finishing operations must work 3 man-days for
each car or truck that it produces. Because of men and machine limitations, shop A has 180 man-
days per week available, while shop B has 135 man-days per week. If the manufacturer makes a
profit of Rs.300 on each truck and Rs.200 on each car, how many of each should be produced to
maximize profit of the organization.
We model by identifying the variables and expressing the objective and constraints of the
problem in terms of the variables.
Constraints
x1, x2 ≥ 0
x1, x2 ≥ 0
We shall introduce the slack variables x3 and x4 to convert the linear inequalities into linear
equations:
Hence
Step
1:
Step 2:
We can start the first iteration by increasing any of the variables x1 or x2. Let‟s increase x1 and
maintain x2 = 0 and x3, x4 ≥ 0
From the equations at EQ1 we determine new value for x1, setting x3 = 0 we have
x1 = min (90, 45 ) = 45
Step 3:
We evaluate Z again with new set of feasible solution from step 2 as follows:
Step 4:
We start the second iteration by identifying which decision variable is to be increased in order to
increase value of Z further. To do this, we go to EQ1 and express variables with non-zero values
in terms of those with zero value (based on the last available feasible solution at step 3)
x1 = 45 - 1 𝑥 − 𝑥 )
3 4 2
x3 = 90 + 2 𝑥 − 3𝑥
3 4 2
Step 5:
From step 4 only when x 2 increases can we increase Z. the question is: by how much can we
increase x2 ? To know this we determine values of x 2 from the two equations at step 4 and pick
the minimum. Thus from the feasibility condition
Step 6:
Now we evaluate Z again with the new value of x2 from step 5. Thus x1 = 15, x2 = 30,
Step 7:
We start the third iteration by identifying which decision variable to increase. To do this, we
express non-zero variables in terms of zero value variables (based on step 6 feasible solution)
x1 = 45 - 1 𝑥 −
𝑥 (we maintain this equation from step 4)
3 4 2
x2 = 30 + 2 𝑥 − 𝑥
1
9 4 3 3
Z = 12,000 - 400
𝑥
− 𝑥
100
9 4 3 3
Since we cannot increase Z further by increasing any variable, we have obtained the optimal
solution with Z = Rs 12,000
General principles in the application of the simplex method from the illustrated example
j= 𝑐j 𝑥j
max.∑𝑛
Z=
1
Subject to
𝑛
∑j=
1
𝑎ij 𝑥j ≤ bi ✯ i ∈ {1, … , 𝑚}
xj ≥ 0 ✯ j ∈ {1, … , 𝑛}
The first step in the application of the simplex method is to introduce slack variables xn+1,…,xn+m
≥ 0. Thus every constraint gets one slack variable and the denotation of the slack variable starts
or continues from the last decision variable xn (j=n). Hence the inequality expressions ( the
constraint set) can be presented in equality forms and the linear program can be rewritten as:
xn+ i = bi - ∑𝑛
j= 𝑎ij 𝑥j ✯ i ∈ {1, … , 𝑚}
1
𝑛
j= 𝑐j 𝑥j
∑
1
Z=
xj ≥ 0 ✯ j ∈ {1, … , 𝑛, 𝑛 + 1, … , 𝑛 + 𝑚}
The introduction of the slack variable converts the inequalities into equations. Graphically these
equations establish boundary lines of the feasible region for the given linear programming
problem, if this region ever exists. If a feasible solution exist for a linear programming problem,
then by finite number of iterations, the optimum point in the region gives the objective function
its maximum or minimum value.
𝑥1,…,n+m in which the value of the objective function is evaluated higher, given an initial feasible
The simplex method is an iterative procedure in which one searches for a feasible solution
∑𝑛
j= 𝑐 j𝑥̅ j > j= 𝑐j 𝑥j ✯ j ∈ {1, … , 𝑛, 𝑛 + 1, … , 𝑛 + 𝑚}
1 ∑𝑛 1
Some basic terminology used in the application of the simplex method
From the example discussed above we see x3 and x4 (at step 1) initially in the basis as as basic
variables. At step 3 x1 and x3 were the basic variables . Generally the non-basic variables are
driven to zero in each iteration and they change from iteration to iteration.
1. Choice of entering variable is motivated by the fact that we want to increase the value of
Z and we choose a variable that does that, to increase value of Z to possible maximum (
in this example) or decrease to possible minimum. In the example discussed above, it
was either x1 or x2. However, x1 was chosen at step 2. Similarly at step 4 we chose x2 as
the entering variable finally.
2. Choice of leaving variable is motivated by the need to maintain feasibility. This is done
by identifying the basic variable that poses the most stringent bound on the entering
variable. In the example the leaving variable at first iteration was x4 (see expression for Z
at step 4). The next leaving variable was x3 (see expression for Z at step 7).
3. The formular for the entering variable always appears in the pivot row. The process
is called pivoting. In the discussed example we see the formular for the first entering
variable at step 4 as
x1 = 45 - 1 𝑥 −
x2 = 30 + 2 𝑥 −
1
𝑥
𝑥
and at step 7. These
4 2 9 4 3 3
3
A basic concept must be noticed in the simplex method. That is: a set of feasible solution in
previous equations is also a feasible solution to current system of equations. In the discussed
linear programming problem above we see these illustrated at step1, step 3 and step 6.
This is precisely because we are just rewriting the system of equations using a different set of
decision and slack variables in every iteration.
To avoid a repetitive writing of system of equations, we shall apply same concept of linear
programming algorithm using the simplex tableau to solve same type of model in a case study at
chapter 4.