A BIOBJECTIVE MODEL FOR PRODUCTION PLANNING IN
A CEMENT FACTORY:
Non-preemptive Goal Programming Approach
APPLIED MATHEMATICAL PROGRAMMING
Industrial and Production Engineering
FACULTY OF TECHNOLOGY
UNIVERSITY OF IBADAN
A BIOBJECTIVE MODEL FOR PRODUCTION PLANNING IN A CEMENT FACTORY: Non-preemptive Goal Programming Approach
1. AKINOLA D. T. 145365
A TERM PAPER
on
A BIOBJECTIVE MODEL FOR PRODUCTION PLANNING IN
A CEMENT FACTORY:
Non-preemptive Goal Programming Approach
GROUP 2
AKINOLA DAMILOLA T.
145365
500 LEVEL
Submitted to: Dr. A. Adeyeye
TIE 513 (APPLIED MATHEMATICAL PROGRAMMING)
Industrial and Production Engineering
FACULTY OF TECHNOLOGY
UNIVERSITY OF IBADAN
MAY, 2013.
0
2. AKINOLA D. T. 145365
TABLE OF CONTENTS
Abstract
1.
Introduction
1.1
1.2
Statement of problem
1.3
2.
Background information
Objectives of study
Literature review
2.1
2.2
Non-preemptive goal programming
2.3
Previous works on non-preemptive goal programming
2.4
3.
Goal programming
Lingo 13
Methodology of study
3.1
4.
Brief description of the non-preemptive goal programming approach
Model Application
4.1
4.2
Optimization model
4.3
Case under study: Minimization of manufacturing cost and maximization of capacity
utilization
4.4
The approach of Non-preemptive goal programming
4.5
5.
Process description
The complete Lingo 13 model
Discussion of results and conclusion
List of tables
List of figures
References
1
3. AKINOLA D. T. 145365
ABSTRACT
In order to derive values for input variables in a cement factory system, this study introduces
the application of non-preemptive goal programming to determining the optimal allocation of
production materials to the major production facilities. The system under consideration is a cement
factory in which there are two conflicting major objectives: minimization of manufacturing cost and
maximization of capacity utilization. The methodology and application are such that they can generally
be applied to other system. The obtained values after solving the resulting program give valid values.
2
4. AKINOLA D. T. 145365
1.
INTRODUCTION
1.1. BACKGROUND INFORMATION
Large scale systems, and in particular industrial systems, are sources of multi-objective
optimization solutions. For example, a factory may wish to find the optimal allocation of products to the
different market locations that simultaneously provides for high profit and big market share. Or a
manufacturing organization may simultaneously aspire for the specific objectives of each department
such as cost minimization for the budget department, production maximization and production time
minimization for the production department, and product quality maximization for the quality control
department. A particular decision making situation that this paper deals with is that of a cement factory
in Thailand. The management is supposedly promoting two objectives - minimization of manufacturing
cost and maximization of capacity utilization - of the factory (Pakorn and Mario, 1978).
1.2. STATEMENT OF PROBLEM
Usually, there are optimal situations in which there are more than one objective in real life. They
are easier solved when reduced to single objective approximation because of the complexity of the
solution procedure in obtaining satisfactory results (Pakorn and Mario, 1978).
The problem of this study is that of finding a compromise set of variable values that optimally
attain the desired goals of the company, even though they are conflicting.
1.3. OBJECTIVES OF STUDY
The objectives of this study are to use the approach of non-preemptive goal programming
regarding the optimal allocation of production materials to the major production facilities in a cement
factory. These can be split into four objectives
(1) Describe the approach of non-preemptive goal programming,
(2) Formulate the linear model using non-preemptive goal programming,
(3) Write the Lingo 13 form of the model, and
(4) Obtain values for input variables in a cement factory system to determine the optimal
allocation of production materials to the major production facilities.
3
5. AKINOLA D. T. 145365
2.
2.1.
LITERATURE REVIEW
GOAL PROGRAMMING
In real life, virtually all problems have several objectives, not just one. For example, if a
manufacturing company concentrates solely on cost containment, it might neglect the environmental or
social concerns of the community it serves: If a health care company concentrates solely on top-quality
health care, its owners’ profit could be slighted. If a publishing company puts too much emphasis on
developing an error-free textbook, the amount of time spent reviewing a potential text might push the
publishing date beyond that required for adoptions. In short, finding optimal solutions to a model
formulated with a single objective can seriously affect other aspirations and goals that are important to
an organization (FEG, 2013).
A goal programming model seeks to simultaneously take into account several objectives or goals that
are of concern to a decision maker. While a linear programming model consists of constraints and a
single objective function to be maximized or minimized, a goal programming model consists of
constraints and a set of goals that are prioritized in some sense.
In both linear and goal programming problems, if the constraints are inconsistent, there are no feasible
solutions for the model In goal programming, however, one can expect that although there is a set of
feasible solutions satisfying the constraints, none of them may simultaneously satisfy all the conflicting
goals of the organization. The objective of goal programming is to find a solution that satisfies the true
constraints and comes closest to meeting the stated goals (FEG, 2013).
Goal programming approaches analyze how much a proposed solution deviates from each stated goal.
Accordingly, for each goal a pair of deviation variables are defined (one equaling the amount by which
the solution overachieves the goal; the other equaling the amount by which it fails to meet the goal).
The basic approach of goal programming is to establish a specific numeric goal for each of the
objectives, formulate an objective function for each objective, and then seek a solution that minimizes
the (weighted) sum of deviations of these objective functions from their respective goals. There are
three possible types of goals:
1. A lower, one-sided goal sets a lower limit that we do not want to fall under (but exceeding the limit is
fine).
2. An upper, one-sided goal sets an upper limit that we do not want to exceed (but falling under the limit
is fine).
3. A two-sided goal sets a specific target that we do not want to miss on either side (Jayant, 2004).
4
6. AKINOLA D. T. 145365
2.2. NON-PREEMPTIVE GOAL PROGRAMMING
In non-preemptive goal programming, the quality characteristics/responses are presumed to be of
roughly comparable importance. Since it is not possible to achieve all the goals because of their
conflicting nature, there will be deviations from their target values for all or some of the responses.
These deviations are unwanted and therefore, they should be minimized. The unwanted deviations are
assigned weights according to their relative importance to the designer and minimized as an
Archimedian sum. The basic procedures in are to establish goals with roughly same importance, assign
weights to goals and construct a single objective function to minimize the weighted sum of deviations
from goals (FEG, 2004).
2.3. PREVIOUS WORKS ON NON-PREEMPTIVE GOAL PROGRAMMING
CASE 1:
Dewright Company Example
A case titled the Dewright Company Example is presented here. It shows how the Nonpreemptive
Goal Programming approach was applied in an untitled Linear Goal Programming educational release
available on FEG libraries.
PROBLEM
The Dewright Company is considering three new products to replace current models that are being
discontinued, so their OR department has been assigned the task of determining which mix of these
products should be produced. Management wants primary consideration given to three factors: longrun profit, stability in the workforce, and the level of capital investment that would be required now for
new equipment. In particular, management has established the goals of (1) achieving a long-run profit
of at least $125 million from these products, (2) maintaining the current employment level of 4000
employees, and (3) holding the capital investment to less than $55 million. However, management
realizes that it probably will not be possible to attain all these goals simultaneously, so it has discussed
priorities with the OR department. This discussion has led to setting penalty weights of 5 for missing the
Figure 1: Contributions per
unit rate of production
5
7. AKINOLA D. T. 145365
profit goal (per $1 million under), 2 for going over the employment goal (per 100 employees), 4 for
going under this same goal, and 3 for exceeding the capital investment goal (per $1 million over). Each
new product’s contribution to profit, employment level, and capital investment level is proportional to
the rate of production. These contributions per unit rate of production are shown in the following table,
along with the goals and penalty weights.
SOLUTION
Decision variables
x1: production rate of product 1
x2: production rate of product 2
x3: production rate of product 3
Three goals
Profit goal: 12 x1 + 9 x2 + 15 x3 ≥ 125 (lower one-sided goal)
Employment goal: 5 x1 + 3 x2 + 4 x3 = 40 (two-sided goal)
Investment goal: 5 x1 + 7 x2 + 8 x3 ≤ 55 (upper one-sided goal)
Objective function:
Min Z = 5(12 x1 + 9 x2 + 15 x3 – 125)+ 2(5 x1 + 3 x2 + 4 x3 – 40)+
+ 4(5 x1 + 3 x2 + 4 x3 – 40)+ 3(5 x1 + 7 x2 + 8 x3 – 55)+
where
6
8. AKINOLA D. T. 145365
To put into a proper LP form
Let
y1 = 12 x1 + 9 x2 + 15 x3 – 125
y2 = 5 x1 + 3 x2 + 4 x3 – 40
y3 = 5 x1 + 7 x2 + 8 x3 – 55
and
y1 = y1+ - y1- and y1+ ≥ 0, y1- ≥ 0
y2 = y2+ - y2- and y2+ ≥ 0, y2- ≥ 0
y3 = y3+ - y3- and y3+ ≥ 0, y3- ≥ 0
Final LP for non-preemptive goal programming:
Min Z = 5 y1- + 2 y2+ + 4 y2- + 3 y3+
subject to
12 x1 + 9 x2 + 15 x3 – (y1+ - y1- )
= 125
5 x1 + 3 x2 + 4 x3 – (y2+ - y2- )
= 40
5 x1 + 7 x2 + 8 x3 – (y3+ - y3- )
= 55
xi, yi+, yi- ≥ 0
i=1,2,3
Optimal solution:
x1 = 25/3
x2 = 0
x3 = 5/3
y1+ = y1- = 0 → y1 = 0 → 1st goal is satisfied
y2+ = 25/3, y2- = 0 → y2 = 25/3 → 2nd goal exceeds employment level by 25/3 hundred
employees
y3+ = y3- = 0
→ y3 = 0 → 3rd goal is satisfied
CASE 2:
Camyo Manufacturing Example
PROBLEM
Another case presented is the Camyo Manufacturing Example. Camyo Manufacturing produces
four parts that require the use of a lathe and a drill press. The two machines operate 10 hours a day.
The following table provides the time in minutes required by each part:
7
9. AKINOLA D. T. 145365
TABLE 1:
Time in minutes
required by each part
It is desired to balance the use of the two machines by requiring the difference between their
total operation times not to exceed 30 minutes. The market demand limits the number of units
produced of each part to at least 10 units. Additionally, the number of units of part 1 may not exceed
that of part 2
It is desired to balance the use of the two machines by requiring the difference between their
total operation times not to exceed 30 minutes. The market demand limits the number of units
produced of each part to at least 10 units. Additionally, the number of units of part 1 may not exceed
that of part 2.
SOLUTION
Decision variables
xi = number of parts produced per day of type i, i=1, 2, 3, 4
Operation time goal:
Difference between the time on machine 1 (lathe) and time on machine 2 (drill press) is not to
exceed 30 minutes:
|time1 – time2| ≤ 30
-30 ≤ time1 – time2 ≤ 30
time1 = 5 x1 + 6 x2 + 4 x3 + 7 x4 lathe
time2 = 3 x1 + 2 x2 + 6 x3 + 4 x4 drill press
-30 ≤ (5 x1 + 6 x2 + 4 x3 + 7 x4) – (3 x1 + 2 x2 + 6 x3 + 4 x4) ≤ 30
-30 ≤ 2 x1 + 4 x2 - 2 x3 + 3 x4 ≤ 30
Final LP for non-preemptive goal programming:
Min Z = y1+ + y2subject to
8
10. AKINOLA D. T. 145365
5 x1 + 6 x2 + 4 x3 + 7 x4
≤ 600 lathe, 600 min in a day
3 x1 + 2 x2 + 6 x3 + 4 x4
≤ 600 drill press, 600 min a day
x1
x2
x3
x4
x1 - x2
2 x1 + 4 x2 - 2 x3 + 3 x4 – (y1+ - y1-)
2 x1 + 4 x2 - 2 x3 + 3 x4
≥ 10
≥ 10
≥ 10
≥ 10
≤0
= 30 time1 - time2 ≤ 30
– (y2+ - y2-) = -30 time1 - time2 ≥ -30
xi ≥ 0, i=1, 2, 3, 4
yi+ ≥ 0, yi- ≥ 0, i=1, 2
2.4. LINGO 13
LINGO is a simple tool for utilizing the power of linear and nonlinear optimization to formulate
large problems concisely, solve them, and analyze the solution. Optimization helps you find the answer
that yields the best result; attains the highest profit, output, or happiness; or achieves the lowest cost,
waste, or discomfort. Often these problems involve making the most efficient use of your resources—
including money, time, machinery, staff, inventory, and more. Optimization problems are often
classified as linear or nonlinear, depending on whether the relationships in the problem are linear with
respect to the variables (Lindo, 2012).
LINGO is a comprehensive tool designed to make building and solving mathematical optimization
models easier and more efficient. LINGO provides a completely integrated package that includes
powerful language for expressing optimization models, a full-featured environment for building an
editing problems, and a set of fast built-in solvers capable of efficiently solving most classes of
optimization models. LINGO's primary features include:
ALGEBRAIC MODELING LANGUAGE
LINGO supports a powerful, set-based modeling language that allows users to express math
programming models efficiently and compactly. Multiple models may be solved iteratively using LINGO's
internal scripting capabilities.
CONVENIENT DATA OPTIONS
LINGO takes the time and hassle out of managing your data. It allows you to build models that pull
information directly from databases and spreadsheets. Similarly, LINGO can output solution information
9
11. AKINOLA D. T. 145365
right into a database or spreadsheet making it easier for you to generate reports in the application of
your choice. Complete separation of model and data enhance model maintenance and scalability.
MODEL INTERACTIVELY OR CREATE TURNKEY APPLICATIONS
You can build and solve models within LINGO, or you can call LINGO directly from an application you
have written. For developing models interactively, LINGO provides a complete modeling environment to
build, solve, and analyze your models. For building turn-key solutions, LINGO comes with callable DLL
and OLE interfaces that can be called from user written applications. LINGO can also be called directly
from an Excel macro or database application.
LINGO currently includes programming examples for C/C++, FORTRAN, Java, C#.NET, VB.NET, ASP.NET,
Visual Basic, Delphi, and Excel (Lindo, 2012)..
POWERFUL SOLVERS AND TOOLS
LINGO is available with a comprehensive set of fast, built-in solvers for linear, nonlinear (convex & nonconvex), quadratic, quadratically constrained, and integer optimization. You never have to specify or
load a separate solver, because LINGO reads your formulation and automatically selects the appropriate
one. A general description of the solvers and tools available in LINGO follows
General Nonlinear Solver
LINGO provides both general nonlinear and nonlinear/integer capabilities. The nonlinear license option
is required in order to use the nonlinear capabilities with LINDO API.
Global Solver
The global solver combines a series of range bounding (e.g., interval analysis and convex analysis) and
range reduction techniques (e.g., linear programming and constraint propagation) within a branch-andbound framework to find proven global solutions to nonconvex nonlinear programs. Traditional
nonlinear solvers can get stuck at suboptimal, local solutions. This is no longer the case when using the
global solver.
Multistart Solver
The multistart solver intelligently generates a sequence of candidate starting points in the solution space
of NLP and mixed integer NLPs. A traditional NLP solver is called with each starting point to find a local
optimum. For non-convex NLP models, the quality of the best solution found by the multistart solver
tends to be superior to that of a single solution from a traditional nonlinear solver.
A user adjustable parameter controls the maximum number of multistarts to be performed.
10
12. AKINOLA D. T. 145365
Simplex Solvers
LINGO offers two advanced implementations of the primal and dual simplex methods as the primary
means for solving linear programming problems. Its flexible design allows the users to fine tune each
method by altering several of the algorithmic parameters.
Mixed Integer Solver
The mixed integer solver’s capabilities of LINGO extend to linear, quadratic, and general nonlinear
integer models. It contains several advanced solution techniques such as cut generation, tree reordering
to reduce tree growth dynamically, and advanced heuristic and presolve strategies.
Stochastic Solver
The stochastic programming solver supports decision making under uncertainty through multistage
stochastic models with recourse. The user describes the uncertainty by identifying the distribution
functions, either built-in or user-defined, describing each random variable. The stochastic solver will
optimize the model to minimize the cost of the initial stage plus the expected cost of future recourse
actions over the planning horizon. Advanced sampling modes are also available for approximating
continuous distributions. LINGO's stochastic solver also supports chance-constrained models, where one
or more sets of constraints are allowed to be violated according to a specified probability.
Model and Solution Analysis Tools
LINGO includes a comprehensive set of analysis tools for debugging infeasible linear, integer and
nonlinear programs, using advanced techniques to isolate the source of infeasibilities to the smallest
subset of the original constraints. It also has tools to perform sensitivity analysis to determine the
sensitivity of the optimal basis to changes in certain data components (e.g. objective vector and righthand-size values).
Quadratic Recognition Tools
The QP recognition tool is a useful algebraic pre-processor that automatically determines if an arbitrary
NLP is actually a convex, quadratic model. QP models may then be passed to the faster quadratic solver,
which is available as part of the barrier solver option. When the barrier solver option is combined with
the global option, LINGO will automatically recognize conic models, in addition to convex quadratic
models.
Linearization Tools
Linearization is a comprehensive reformulation tool that automatically converts many non-smooth
functions and operators (e.g., max and absolute value) to a series of linear, mathematically equivalent
expressions. Many non-smooth models may be entirely linearized. This allows the linear solver to quickly
find a global solution to what would have otherwise been an intractable nonlinear problem (Lingo,
2012).
11
13. AKINOLA D. T. 145365
3.
METHODOLOGY OF STUDY
In non-preemptive goal programming, the quality characteristics/responses are presumed to be of
roughly comparable importance. Since it is not possible to achieve all the goals because of their
conflicting nature, there will be deviations from their target values for all or some of the responses.
These deviations are unwanted and therefore, they should be minimized. The unwanted deviations are
assigned weights according to their relative importance to the problem designer or formulator and
minimized as an Archimedian sum (Ademola and Festus, 2010).
3.1. BRIEF DESCRIPTION OF
PROGRAMMING APPROACH
THE
NON-PREEMPTIVE
GOAL
Any bi-objective mathematical programming problem may be formulated as to
Maximize:
Z1 = f1(x),
Z2 = f2(x)
(1)
(2)
subject to:
gi(x) < bi
i = 1, 2, .......m,
(3)
x>0
(4)
where x is a vector of n decision variables, bi (i = 1, 2, ...., m) are constants, and f1, f2 and gi (i = 1, 2, ....,
m) are function notations. For the above problem to be called "bi-objective" in the mathematical
programming parlance, objectives z1 and z2 have to be conflicting. by conflicting, it is meant that the
satisfaction of one precludes or impairs the other.
The specific steps the designer may follow are as follows:
Step 1: Establish the desired target levels (2.L, &U) for each of the responses quality characteristics. (e.g.
acicular ferrite > 50 %. oxygen content is 240 Lt and diffusible hydrogen content < 8 mL per 100 g).
Step 2: Assign weights to each response and their respective negative (n,) and positive (p,) deviations
Step 3: Construct the goal constraints of the problem. The goal constraint is usually given by;
f(x) + n, — p, = T , L , or U for each I E l
Step 4: Construct the achievement function of each response as illustrated in the table on the next page
Step 5: Construct the overall achievement function and add the goal constraints to the structural
constraints of the problem. The complete non preemptive goal programming model of the problem may
be stated as:
(It is not possible to have both p and n together for any response i). The
weights , u and v take the value zero if the minimization of the
corresponding deviational variable is not important to the designer.
12
14. AKINOLA D. T. 145365
TABLE
2:
Step 6: Solve the model in step 5.
13
15. AKINOLA D. T. 145365
4.
MODEL APPLICATION
4.1. PROCESS DESCRIPTION
The manufacturing process of a cement factory can be generally considered as composed of three major
stages, namely:
Quarrying and raw materials blending;
Reaction or burning stage in a rotary kiln;
Milling of kiln clinker.
For the factory under consideration, the raw materials used consist of marl, clay, and 25% red earth.
Because of the softness of the raw materials, the wet process is employed. These raw materials are
crushed, milled and blended in two stages-coarse and fine milling operations-to form an intimate mix.
The subsequent reaction is influenced by the degree of final milling, which is called the milling of slurry,
together with the homogeneity of the blend as well as by its chemical composition. As the process
employed is wet, milling takes place in the presence of large quantity of water making the final raw
material, called slurry, contain about one-third of its weight as water.
The raw material in the form of slurry is then upper, cooler end of the kiln by means of a feed control
device. During its passage down the kiln, the slurry undergoes a series of physical and chemical changes.
The reactions are complex, a smaller amount of reaction taking place in the liquid state. Clinker from the
kiln falls on to a grate cooler which is fed by air from the secondary air fan.
The last stage of the process involves the reduction of the kiln product to the finely divided final
product, now called cement. In the milling operation, a desired proportion of gypsum is added. Gypsum
is used to act as retarder for cement setting. Cement output (unpacked) is stored in the cement silos.
TABLE 3:
14
16. AKINOLA D. T. 145365
The table above presents the major production facilities with their corresponding maximum capacities.
4.2. OPTIMIZATION MODEL
The amount of material inputted to each major production facility (xj, j = 1,..., n) are chosen as decision
variables in this optimization model. The model is developed in monthly production planning basis. Two
essential sets of constraints are considered:
Balance equations of materials throughout the process;
Available capacity of production facilities.
4.2.1.
MATERIAL BALANCE CONSTRAINTS
Material balance constraints represent balance equations due to the loss and addition of materials in
the process. The balance equations, which consist of marl loss, slurry loss, maximum marl output
(160,000 tons/month, established by management as caused by raw material constraint), maximum
slurry output (200,000 tons/month,…), loss due to the evolution of carbon dioxide in converting slurry to
clinker, and the addition of gypsum in the milling stage, are briefly summarized as follows;
At marl quarrying section, about 30% of marl is lost due to the coarse milling operation
of raw mill 1.
About 1% loss of slurry is found in the coarse slurry milling operation of slurry Raw mill
1.
In converting slurry to clinker, 37.5% decrease in its weight is usually found due to the
evolution of carbon dioxide from limestone. Chemical transportation of the burning
stage is
CaCO3
ht
CaO + CO2
At milling section, 5% weight of material is increased due to the addition of gypsum. Figure 2 gives the
process flow diagram showing the amounts of material (by weight) inputted to each facility as well as
the incurred losses. The junction “business” is introduced for convenience and to help clarify the process
flow diagram. With the aid of Fig. 2, the material balance constraints can now be formulated.
Maximum marl and slurry output,
0.7X₁
= 160,000
(5)
= 200,000
(6)
X₄ + X₅
Raw material proportions,
0.175X₁ + 0.25X₂ - 0.75X₃
=0
(7)
15
17. AKINOLA D. T. 145365
Material balance at node c,
0.693X₁ + 0.99X₂ +0.99X₃ + X₄ + X₅
=0
(8)
=0
(9)
Material balance at junction 1,
X₄ + X₅ - X₆ - X₇ - X₈ - X₉ - X₁₀
Material balance at junction 2,
0.625X₆ + 0.625X₇ + ……..+0.625X₁₀ - X₁₁ - X₁₂ -……-X₁₆
=0
(10)
=0
(11)
Material balance at junction 3,
1.05X₁₁ + 1.05X₁₂ +…. + 1.05 X₁₆ - X₁₇ - X₁₈ - ……. - X₂₅
4.2.2.
CAPACITY CONSTRAINTS
Capacity constraints are based on the total amount of input materials as losses are not incurred at
the beginning of the process. The following constraints are developed with the aid of Fig. 2 and Table 1
X₁
0.7 X₁
0.7 X₁ + X₂ + X₃
X₄
X₅
X₆
X₇
X₈
X₉
X₁₀
1.05 X₁₁
1.05 X₁₂
1.05 X₁₃
1.05X₁₄
1.05X₁₅
1.05X₁₆
X₁₇
X₁₈
X₁₉
X₂₀
X₂₁
X₂₂
X₂₃
X₂₄
X₂₅
≤ 315,000
≤ 189,000
≤ 252,000
≤ 94,000
≤ 157,500
≤ 15,000
≤ 15,000
≤ 15,000
≤ 15,000
≤ 60,000
≤ 11,860
≤ 22,050
≤ 22,050
≤ 22,050
≤ 22,050
≤ 22,050
≤ 38,000
≤ 38,000
≤ 87,000
≤ 87,000
≤ 70,000
≤ 70,000
≤ 4,000
≤ 4,000
≤ 4,000
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
16
18. AKINOLA D. T. 145365
X₁
₁
a x₀
1
0.3x₁
0.7x₁
b
x₂ (clay)
0.7x₁
c
0.007x₁+0.01x₂+0.01x₃
x₄
x₅
x₃ (Red Earth)
d
e
Junction
x₁₀
j
0.375x₁₀
x₉
h
i
0.375x₉
x₆
x₇
x₈
1
g
f
0.375x₆
0.375x₇
0.375x₈
Junction 2
x₁₆
p
0.05x₁₆
x₁₄
x₁₅
o
0.05x₁₅
x₁₂
x₁₃
n
x₁₁
l
m
0.05x₁₃
0.05x₁₄
k
0.05x₁₁
0.05x₁₂
Junction3
x₂₅
x₂₄
y₀
₀
x₂₃
x₂₂
x
w
v
x₁₇
x₂₁
u
x₂₀
t
x₁₉
x₁₈
s
r
q
Junction 4
Figure. 2. Process flow diagram of cement manufacturing
Each node of Fig. 2 corresponds to a constraint in the above set.
17
19. AKINOLA D. T. 145365
The existing management decision is to utilize the full capacity of the factory. Figure 3 shows that in
the existing design the bottleneck is in the burning section. The full capacity of this section also bears
the label of being the maximum capacity of the factory; thus production is only constrained to, at most,
equal this amount at the burning stage:
X₆ + X₇ + X₈ + X₉ + X₁₀ = 120,000
Addressed to the problems of the firm, management responsible for the firm’s survival are
optimizing certain objectives in their response to numerous factors that shape the firm.
4.3.
CASE UNDER STUDY: MINIMIZATION OF MANUFACTURING COST AND
MAXIMIZATION OF CAPACITY UTILIZATION
When management decides not to ignore any one of the above objectives, the decision making becomes
a bi-criterion case. Thus the bi-objectives are:
Minimize:
Z1 = 0.424 1+0.22 2+0.22 3+0.1 4+0.1 5+ 6
+0.9 7+1.2 8+1.1 9+ 10+0.179 11+ 0.137 12
+0.12 13+0.168 14+0.137 15+0.126 16+0.121 17
+0.121 18+0.123 19+0.122 20+0.122 21+0.120 22
+0.120 23+0.120 24+0.120 25
Maximize:
Z 2 0.965 x1 0.397 x2 0.397 x3 1.058 x4 0.636 x5
6.667 x6 6.667 x7 6.667 x8 6.667 x9 1.667 x10
7.575 x11 4.762 x12 4.762 x13 4.762 x14 4.762 x15
4.762 x16 2.632 x17 2.632 x18 1.150 x19 1.150 x20
1.429 x 21 1.429 x 22 25 x 23 25 x 24 25 x 25. 162335044
18
20. AKINOLA D. T. 145365
4.4.
THE APPROACH OF NON-PREEMPTIVE GOAL PROGRAMMING
This is a follow from the discussions in chapter 3, methodology of study. In the non-preemptive
approach to goal programming, relative weights are assigned to the detrimental deviations. These act as
a per unit penalty for failure to meet a stated goal. Using these weights one can convert the goal
programming model into a linear programming model having the objective of minimizing the total
weighted deviations from the goals. The resulting linear programming model then has the following
form:
MINIMIZE
Subject To
(the total weighted deviations from the goals)
(1) (Expressions for the goal equations)
(2) [Functional constraints, if any]
(3) (Non-negativity constraints of all decision and deviation variables)
It should be noted that It is not possible to have both p and n together for any response i. The weights, u
and v take the value zero if the minimization of the corresponding deviational variable is not important
to the weighted function at hand.
4.4.1.
FORMULATING THE LINEAR MODEL USING NON-PREEMPTIVE GOAL
PROGRAMMING
1. Establish the desired target levels ( T ,L &U ) for each of the responses/quality characteristics
These are
Z1 <= 182117.7
which is a lower limit U and
Z2 >= 1726224.0
which is an upper limit L
2. Assign weights to each response and their respective negative ( n ) and positive ( p ) deviations
The weights of the deviational variables or the per unit penalty for failure to meet a stated goal.
There are 3 cases required to be solved for. The first is the scenario where
a. w1 = 0.25 and w2 = 0.75,
b. w1 = 0.5 and w2 = 0.5, and
c. w1 = 0.75 and w2 = 0.25,
Where
secondly.
w1 is the weight for p1
.w2 is the weight for n2
3. Construct the goal constraints of the problem.
The goal constraint is usually given by;
f (x) + n − p = T ,L ,or U
19
21. AKINOLA D. T. 145365
for each objective i
This is given as
Z1 + n1 - p1 = 182117.7
Z2 + n2 - p2= 1726224.0
4. Construct the achievement function of each response
NOTE: It was observed that the values for the optimal objectives given in the primary
material by Pakorn Adulbhan & Mario T. Tabucanon were incorrect and thus didn’t produce
objective values as expected.
By solving the objectives individually as linear programs subject to all the constraints, the
following new values were obtained for z1 and z2. These are the values used in this
computations to effect the possibility of obtaining a global optimum.
Z1 = 182117.7
Z2 = 1726224.0
From the first objective function; Minimization of manufacturing cost (Z1)
Minimize Z1 <= 182117.7
The objective is to minimize the value of Z1 such that it is lesser than or at most equal to 182117.7. This
means an increase of the value over 182117.7 is unwanted. 182117.7 is in fact the tolerable maximum
value. Therefore, the GOAL is to minimize the positive deviation of Z1.
i.e Min p1
(where p1 is the positive deviation of the first objective)
From the second objective function; Maximization of capacity utilization (Z2)
Maximize Z2 >= 1726224.0
The objective is to maximize the value of Z1 such that it is greater than or at least equal to 1726224.0.
This means a decrease of the value below 1726224.0 is unwanted. 1726224.0 is in fact the tolerable
minimum value. Therefore, the GOAL is to minimize the negative deviation of Z2.
i.e Min n2
(where n2 is the positive deviation of the second objective)
The objective of a non-preemptive solution approach is to minimize the sum of the total weighted
detrimental deviations from the goals. This approach assumes that no advantage is gained by
overachieving the goals.
20
22. AKINOLA D. T. 145365
Thus the non-preemptive goal programming objective function for this problem:
MINIMIZE z = w1p1 + w2n1
5. Construct the overall achievement function and add the goal constraints to the structural
constraints of the problem.
Hence, combining the new objective and the constraints complete non-preemptive goal programming
goal programming model of the problem in this case is:
MINIMIZE
Subject To
w1p1 + w2n1
Z1 + n1 - p1 = 182117.7
Z2 + n2 - p2= 1726224.0
Xj = b
X1 , X2 , X3 , X10 , X11 , ...................... X25, p1, p2, n1, n2 >= 0
(n1 * p1 = 0)
(n2 * p2 = 0)
6. Solve the model
This is done using LINGO 13 program for solving optimization models
4.5. THE COMPLETE MODEL WRITTEN IN LINGO 13 CODE:
By carefully inputting the program into the Lingo 13 program following the code ethics of the
program, the resulting model is
FOR CASE A, B and C
MODEL: !Group 2, TIE 513
!AKINOLA DAMILOLA T.
!145365;
!Non-premeptive goal programming approach;
DATA: !Declare the value for the weights;
!for case A: w1 = 0.25, case B: w1= 0.5, case C: w1 = 0.75;
w1 = ?;
ENDDATA
w2 = 1 – w1;
21
25. AKINOLA D. T. 145365
x24 >= 0;
x25 >= 0;
!for each objective's deviation;
n1 >= 0;
p1 >= 0;
n2 >= 0;
p2 >= 0;
!n1 * p1 = 0;
!n2 * p2 = 0;
END
24
26. AKINOLA D. T. 145365
5.
DISCUSSION OF RESULTS AND CONCLUSION
The results of the three cases of the optimization models are presented below in the table below.
It is the result from the solved Lingo 13 model.
Objective Value
CASE B
W1 = 0.5,
W2= 0.5
CASE C
W1 = 0.75,
W2=0.25
YES
YES
49.49167
Was a Global Optimum
Found?
CASE A
W1 =
0.25,
W2=0.75
YES
98.98333
0.000000
148.4750
Infeasibilities
Total solver iterations
Model class
COMMENT
The Lingo 13 program found a
global optimum for the three
cases
Significant differences
8
LP
29
0
Total variables
Nonlinear
variables:
Integer
variables:
Total
constraints:
Nonlinear
constraints:
Total nonzeros:
Nonlinear
nonzeros:
0
Same for case A, case B and
case C
65
0
161
0
Table 4. Obective value Results from Lingo 13 for case A, B, C
VARIABLE
W1
W2
P1
N1
X1
X2
X3
X4
X5
X6
X7
CASE A
VALUE
CASE B
CASE C
0.2500000
0.7500000
197.9667
0.000000
0.000000
90909.09
30303.03
0.000000
120000.0
15000.00
15000.00
0.5000000
0.5000000
197.9667
0.000000
0.000000
90909.09
30303.03
0.000000
120000.0
15000.00
15000.00
0.7500000
0.2500000
197.9667
0.000000
0.000000
90909.09
30303.03
0.000000
120000.0
15000.00
15000.00
25
27. AKINOLA D. T. 145365
X8
X9
X10
X11
X12
X13
X14
X15
X16
X17
X18
X19
X20
X21
X22
X23
X24
X25
N2
P2
15000.00
15000.00
60000.00
12000.00
0.000000
0.000000
21000.00
21000.00
21000.00
0.000000
0.000000
0.000000
0.000000
0.000000
70000.00
4000.000
4000.000
750.0000
392061.3
0.000000
15000.00
15000.00
60000.00
12000.00
0.000000
0.000000
21000.00
21000.00
21000.00
0.000000
0.000000
0.000000
0.000000
0.000000
70000.00
4000.000
4000.000
750.0000
392061.3
0.000000
15000.00
15000.00
60000.00
12000.00
0.000000
0.000000
21000.00
21000.00
21000.00
0.000000
0.000000
0.000000
0.000000
0.000000
70000.00
4000.000
4000.000
750.0000
392061.3
0.000000
Table 5. Values of variables Results from Lingo 13 for case A, B, C
The approach of non-preemptive goal programming can be said to be effective in dealing with
the problem at hand. The obtained values for x1 to x25 are the optimal values.
It is seen from these values that there are quite similar values compared with the results
produced using the compromise constraint by Pakorn Adulbhan & Mario T. Tabucanon.
Also, it is observed that the values for the variables generated were the same for the three
cases. The difference in the objective values produced were thus only as a result of the varying weights
applied for each case.
The method of non-preemptive goal programming is therefore efficient in dealing with this case
of the cement factory. It can also be applied to any other system with multiobjectives by following the
procedures outlined in this study.
26
28. AKINOLA D. T. 145365
LIST OF FIGURES
Figure 1: Contributions per unit rate of production
Figure. 2. Process flow diagram of cement manufacturing
LIST OF TABLES
Table 1: Time in minutes required by each part
Table 2: Construction of achievement function
Table 3: Capacity of major capacity facilities
Table 4: Objective value Results from Lingo 13 for case A, B, C
Table 5: Values of variables Results from Lingo 13 for case A, B, C
6. REFERENCES
Ademola David Adeyeye & Festus Adekunle Oyawale. (2010) Multi-objective methods for welding flux
performance optimization. RMZ – Materials and Geoenvironment, 57 (2), 251-270.
Jayant Rajgopal, (2004) Linear Programming and its solution procedures (Supplement to chapter 7: Non
Linear Programming) [Online] McGraw-Hill. http://highered.mcgrawhill.com/sites/dl/free/0073017795/1161272/hil61217_ch07_supplement.pdf [Accessed 25th May 2013].
Lingo: The Modeling Language and Optimizer. (2012) Lingo 13 Users Manual. Lindo Systems Inc.
Nonlinear Models: Dynamic, Goal, and Nonlinear Programming, Chapter 13: Goal Programming [Online]
UNESP: FEG Campus de Guaratingueta- Faculdade de Engenharia de Guaratingueta.
www.feg.unesp.br/~fmarins/OL/livro-Lawrence/pdf/Ch13.pdf [Accessed 24th May 2013].
Pakorn Adulbhan & Mario T. Tabucanon (1978) A biobjective model for production planning in a cement
factory. Computer & Industrial Engineering, 3, 41-51.
27
29. AKINOLA D. T. 145365
FEG libraries (2004) Goal programming – FEG [Online]
li/slides/Goal%20Programming1.ppt [Accessed 2nd June 2013].
www.feg.unesp.br/~fmarins/po-
28