A BIOBJECTIVE MODEL FOR PRODUCTION PLANNING IN A CEMENT FACTORY: Non-preemptive Goal Programming...
description
Transcript of A BIOBJECTIVE MODEL FOR PRODUCTION PLANNING IN A CEMENT FACTORY: Non-preemptive Goal Programming...
AKINOLA D. T. 145365
0
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.
AKINOLA D. T. 145365
1
TABLE OF CONTENTS
Abstract
1. Introduction 1.1 Background information
1.2 Statement of problem
1.3 Objectives of study
2. Literature review
2.1 Goal programming
2.2 Non-preemptive goal programming
2.3 Previous works on non-preemptive goal programming
2.4 Lingo 13
3. Methodology of study
3.1 Brief description of the non-preemptive goal programming approach
4. Model Application
4.1 Process description
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 The complete Lingo 13 model
5. Discussion of results and conclusion
List of tables
List of figures
References
AKINOLA D. T. 145365
2
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.
AKINOLA D. T. 145365
3
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.
AKINOLA D. T. 145365
4
2. LITERATURE REVIEW 2.1. 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).
AKINOLA D. T. 145365
5
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: long-
run 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
AKINOLA D. T. 145365
6
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
AKINOLA D. T. 145365
7
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:
AKINOLA D. T. 145365
8
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+ + y2-
subject to
TABLE 1: Time in minutes
required by each part
AKINOLA D. T. 145365
9
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 ≥ 10
x2 ≥ 10
x3 ≥ 10
x4 ≥ 10
x1 - x2 ≤ 0
2 x1 + 4 x2 - 2 x3 + 3 x4 – (y1+ - y1-) = 30 time1 - time2 ≤ 30
2 x1 + 4 x2 - 2 x3 + 3 x4 – (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
AKINOLA D. T. 145365
10
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 & non-
convex), 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-and-
bound 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.
AKINOLA D. T. 145365
11
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 right-
hand-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).
AKINOLA D. T. 145365
12
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 THE NON-PREEMPTIVE GOAL PROGRAMMING APPROACH Any bi-objective mathematical programming problem may be formulated as to
Maximize:
Z1 = f1(x), (1)
Z2 = f2(x) (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.
AKINOLA D. T. 145365
13
Step 6: Solve the model in step 5.
TABLE
2:
AKINOLA D. T. 145365
14
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:
AKINOLA D. T. 145365
15
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)
X₄ + X₅ = 200,000 (6)
Raw material proportions,
0.175X₁ + 0.25X₂ - 0.75X₃ = 0 (7)
AKINOLA D. T. 145365
16
Material balance at node c,
0.693X₁ + 0.99X₂ +0.99X₃ + X₄ + X₅ = 0 (8)
Material balance at junction 1,
X₄ + X₅ - X₆ - X₇ - X₈ - X₉ - X₁₀ = 0 (9)
Material balance at junction 2,
0.625X₆ + 0.625X₇ + ……..+0.625X₁₀ - X₁₁ - X₁₂ -……-X₁₆ = 0 (10)
Material balance at junction 3,
1.05X₁₁ + 1.05X₁₂ +…. + 1.05 X₁₆ - X₁₇ - X₁₈ - ……. - X₂₅ = 0 (11)
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₁ ≤ 315,000 (12) 0.7 X₁ ≤ 189,000 (13) 0.7 X₁ + X₂ + X₃ ≤ 252,000 (14) X₄ ≤ 94,000 (15) X₅ ≤ 157,500 (16) X₆ ≤ 15,000 (17) X₇ ≤ 15,000 (18) X₈ ≤ 15,000 (19)
X₉ ≤ 15,000 (20) X₁₀ ≤ 60,000 (21) 1.05 X₁₁ ≤ 11,860 (22) 1.05 X₁₂ ≤ 22,050 (23) 1.05 X₁₃ ≤ 22,050 (24) 1.05X₁₄ ≤ 22,050 (25) 1.05X₁₅ ≤ 22,050 (26) 1.05X₁₆ ≤ 22,050 (27) X₁₇ ≤ 38,000 (28) X₁₈ ≤ 38,000 (29) X₁₉ ≤ 87,000 (30) X₂₀ ≤ 87,000 (31) X₂₁ ≤ 70,000 (32) X₂₂ ≤ 70,000 (33) X₂₃ ≤ 4,000 (34) X₂₄ ≤ 4,000 (35) X₂₅ ≤ 4,000 (36)
AKINOLA D. T. 145365
17
0.05x₁₄
n
0.05x₁₅
Each node of Fig. 2 corresponds to a constraint in the above set.
0.05x₁₃
x₂₄
x₂₅
x₂₃
x₁₇
x₁₈ x₁₉ x₂₀ x₂₁ x₂₂
Junction3
0.05x₁₆ 0.05x₁₂
0.05x₁₁
x₁₁
x₁₆
x₁₅
x₁₄
x₁₃
x₁₂
0.375x₇ 0.375x₈ 0.375x₉
Junction 2
Junction 1
0.375x₁₀ 0.375x₆
0.007x₁+0.01x₂+0.01x₃
x₇ x₈ x₆
x₃ (Red Earth)
x₂ (clay)
0.7x₁
0.3x₁
0.7x₁
x₉ x₁₀
x₄ x₅
X₁
₁
x₀
1
b
c
d e
h i g f j
m l o p k
u t s r v w x y₀
₀
q
a
Junction 4
Figure. 2. Process flow diagram of cement manufacturing
AKINOLA D. T. 145365
18
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:
543212 636.0058.1397.0397.0965.0 xxxxxZ
109876 667.1667.6667.6667.6667.6 xxxxx
1514131211 762.4762.4762.4762.4575.7 xxxxx
2019181716 150.1150.1632.2632.2762.4 xxxxx
162335044252525429.1429.1 .2524232221 xxxxx
AKINOLA D. T. 145365
19
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 (the total weighted deviations from the goals)
Subject To
(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, secondly. b. w1 = 0.5 and w2 = 0.5, and c. w1 = 0.75 and w2 = 0.25, Where 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
AKINOLA D. T. 145365
20
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.
AKINOLA D. T. 145365
21
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 w1p1 + w2n1
Subject To
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;
AKINOLA D. T. 145365
22
!the new objective function (deviational objectives); MINIMIZE w1*p1 + w2*n1; !subject to; 0.424*x1 + 0.22*x2 + 0.22*x3 + 0.1*x4 +0.1*x5 + x6 + 0.9*x7 + 1.2*x8 + 1.1*x9 + x10 + 0.179*x11 + 0.137*x12 + 0.2*x13 + 0.168*x14 + 0.137*x15 + 0.126*x16 + 0.121*x17 + 0.121*x18 + 0.123*x19 +0.122*x20 + 0.122*x21 + 0.120*x22 + 0.120*x23 + 0.120*x24 + 0.120*x25 + n1 - p1 = 182117.7; 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.6667*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*x17 + 2.632*x18 + 1.150*x19 + 1.150*x20 + 1.429*x21 + 1.429*x22 + 25*x23 + 25*x24 +25*x25 + n2 - p2= 1726224.0; !Material balance constraints; !Maximum marl and slurry output; 0.71*x1 <= 160000; x4 + x5 <=200000; !Raw material proportions; 0.175*x1 + 0.25*x2 - 0.75*x3 = 0; !Material balance at node c; 0.693*x1 + 0.99*x2 + 0.99*x3 - x4 - x5 = 0;
!Material balance at junction 1; x4 + x5 - x6 - x7 - x8 - x9 - x10 = 0;
!Material balance at junction 2;
0.625*x6 + 0.625*x7 + 0.625*x8 + 0.625*x9 + 0.625*x10 - x11 - x12 - x13 - x14 - x15 - x16 = 0; !Material balance at junction 3; 1.05*x11 + 1.05*x12 + 1.05*x12 + 1.05*x13 + 1.05*x14 + 1.05*x15 + 1.05*x16 - x17 - x18 - x19 - x20 - x21 - x22 - x23 - x24 - x25 = 0; !The capacity constraints; x1 <= 315000; 0.7*x1 <= 189000; 0.7*x1 + x2 + x3 <= 252000; x4 <= 94000; x5 <= 157500; x6 <= 15000; x7 <= 15000;
AKINOLA D. T. 145365
23
x8 <= 15000; x9 <= 15000; x10 <= 60000; 1.05*x11 <= 13860; 1.05*x12 <= 22050; 1.05*x13 <= 22050; 1.05*x14 <= 22050; 1.05*x15 <= 22050; 1.05*x16 <= 22050; x17 <= 38000; x18 <= 38000; x19 <= 87000; x20 <= 87000; x21 <= 70000; x22 <= 70000; x23 <= 4000; x24 <= 4000; x25 <= 4000; !Existing managemeent decision on utilization of company's full capacity; x6 + x7 + x8 + x9 + x10 = 120000; !Non negativity constraints; x1 >= 0; x2 >= 0; x3 >= 0; x4 >= 0; x5 >= 0; x6 >= 0; x7 >= 0; x8 >= 0; x9 >= 0; x10 >= 0; x11 >= 0; x12 >= 0; x13 >= 0; x14 >= 0; x15 >= 0; x16 >= 0; x17 >= 0; x18 >= 0; x19 >= 0; x20 >= 0; x21 >= 0; x22 >= 0; x23 >= 0;
AKINOLA D. T. 145365
24
x24 >= 0; x25 >= 0; !for each objective's deviation; n1 >= 0; p1 >= 0; n2 >= 0; p2 >= 0; !n1 * p1 = 0; !n2 * p2 = 0; END
AKINOLA D. T. 145365
25
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.
CASE A CASE B CASE C
W1 = 0.25, W2=0.75
W1 = 0.5, W2= 0.5
W1 = 0.75, W2=0.25
COMMENT
Was a Global Optimum Found?
YES YES YES The Lingo 13 program found a global optimum for the three cases
Objective Value 49.49167 98.98333 148.4750 Significant differences Infeasibilities 0.000000
Same for case A, case B and case C
Total solver iterations 8
Model class LP Total variables 29 Nonlinear
variables: 0
Integer
variables: 0
Total
constraints: 65
Nonlinear
constraints: 0
Total nonzeros: 161 Nonlinear
nonzeros: 0
VARIABLE
VALUE
CASE A CASE B CASE C
W1 0.2500000 0.5000000 0.7500000
W2 0.7500000 0.5000000 0.2500000
P1 197.9667 197.9667 197.9667
N1 0.000000 0.000000 0.000000
X1 0.000000 0.000000 0.000000
X2 90909.09 90909.09 90909.09
X3 30303.03 30303.03 30303.03
X4 0.000000 0.000000 0.000000
X5 120000.0 120000.0 120000.0
X6 15000.00 15000.00 15000.00
X7 15000.00 15000.00 15000.00
Table 4. Obective value Results from Lingo 13 for case A, B, C
AKINOLA D. T. 145365
26
X8 15000.00 15000.00 15000.00
X9 15000.00 15000.00 15000.00
X10 60000.00 60000.00 60000.00
X11 12000.00 12000.00 12000.00
X12 0.000000 0.000000 0.000000
X13 0.000000 0.000000 0.000000
X14 21000.00 21000.00 21000.00
X15 21000.00 21000.00 21000.00
X16 21000.00 21000.00 21000.00
X17 0.000000 0.000000 0.000000
X18 0.000000 0.000000 0.000000
X19 0.000000 0.000000 0.000000
X20 0.000000 0.000000 0.000000
X21 0.000000 0.000000 0.000000
X22 70000.00 70000.00 70000.00
X23 4000.000 4000.000 4000.000
X24 4000.000 4000.000 4000.000
X25 750.0000 750.0000 750.0000
N2 392061.3 392061.3 392061.3
P2 0.000000 0.000000 0.000000
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.
Table 5. Values of variables Results from Lingo 13 for case A, B, C
AKINOLA D. T. 145365
27
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.mcgraw-
hill.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.
AKINOLA D. T. 145365
28
FEG libraries (2004) Goal programming – FEG [Online] www.feg.unesp.br/~fmarins/po-
li/slides/Goal%20Programming1.ppt [Accessed 2nd June 2013].