0% found this document useful (0 votes)
24 views50 pages

Goal Programming

Goal programming (GP) is a multi-objective optimization technique that addresses conflicting objectives by prioritizing goals and allowing for trade-offs. Unlike linear programming (LP), which focuses on a single objective function, GP accommodates multiple goals with varying importance and uses deviational variables to measure underachievement or overachievement. The formulation of GP models involves identifying goals, establishing priorities, and creating constraints that incorporate these deviations to achieve satisfactory outcomes rather than optimal ones.

Uploaded by

acpatil88033
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views50 pages

Goal Programming

Goal programming (GP) is a multi-objective optimization technique that addresses conflicting objectives by prioritizing goals and allowing for trade-offs. Unlike linear programming (LP), which focuses on a single objective function, GP accommodates multiple goals with varying importance and uses deviational variables to measure underachievement or overachievement. The formulation of GP models involves identifying goals, establishing priorities, and creating constraints that incorporate these deviations to achieve satisfactory outcomes rather than optimal ones.

Uploaded by

acpatil88033
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Goal Programming

Goal programming (GP) technique (or approach) is used for


solving a multi-objective optimization problem that balances
trade-off in conflicting objectives, i.e., GP technique helps
in attaining the ‘satisfactory’ level of all objectives. The
method of formulating a mathematical model of GP is same
as that of LP problem.
However, while formulating multiple, and often conflicting,
incommensurable (dimension of goals and unit of
measurement may not be same) goals, in a particular
priority order (hierarchy) are taken into consideration. A
particular priority level (or order) is decided in accordance
with the importance of each goal and sub-goals given in a
problem. The priority structure helps to deal with all goals
that cannot be completely and/or simultaneously achieved,
in such a manner that more important goals are achieved
first, at the expense of the less important ones.
DIFFERENCE BETWEEN LP AND GP APPROACH

 Linear programming has two major limitations from its


application point of view: (i) single objective function,
and (ii) same unit of measurement of various resources.
The LP model has a single objective function to be
optimized such as profit maximization, cost minimization,
etc. However, in actual practice, the decision-maker may
not be satisfied with a single objective. That is, he may
desire to get simultaneous solution to a complex system of
competing objectives
 The solution of any LP model is based on the cardinal
value (the number that expresses exact amount such as,
1, 2, 3, . . .) such as profit or cost, whereas a GP Model
allows ordinal ranking of goals in terms of their
contribution or importance to the organization.
 Since it may not be possible to obtain information about
the value (or cost) of a goal (the specific numerical target
value desired to achieve) or a sub-goal, therefore their
upper and lower limits are determined. Usually, desired
goals are assigned priorities and then these priorities are
ranked in an ordinal sequence.
CONCEPT OF GOAL PROGRAMMING

 The concept of GP was introduced by Channes and Cooper


(1961). They suggested a method for solving an infeasible
LP problem arising from various conflicting resource
constraints (goals). A few examples of multiple conflicting
goals are: (i) maximize profit and increase wages paid to
employees, (ii) upgrade product quality and reduce
product cost, (iii) reduce credit losses and increase sales.
 An important feature of GP is that the goals (a specific
numerical target values that the decision maker would
ideally like to achieve) are satisfied in ordinal sequence.
That is, the solution of the GP problem involves achieving
some higher order (or priority) goals first, before the
lower order goals are considered. Since it is not possible
to achieve every goal (objective), to the extent desired by
the decision maker, attempts are made to achieve each
goal sequentially rather than simultaneously, up to a
satisfactory level rather than an optimal level.
 In GP, instead of trying to minimize or maximize the
objective function directly, as in the case of an LP, the
deviations from established goals within the given set of
constraints are minimized. In the simplex algorithm of
linear programming such deviational variables are called
slack variables and they are used only as dummy
variables.
 In GP, these slack variables take on a new significance.
The deviational variables are represented in two
dimensions – both positive and negative deviations from
each goal and sub goal. These deviational variables
represent the extent to which the target goals are not
achieved.
Distinction among Objectives, Goals and Constraints
 A goal and constraint appear the same in terms of their
mathematical formulation. However, for a ‘goal’ the right-
hand side value is the target level to be achieved. But for
a ‘constraint’, it is desirable to achieve the right hand
side value, otherwise it is considered violated, leading to
an infeasible solution of the LP problem.
 In an LP model the objective is to optimize the given
measure of performance (or effectiveness) subject to the
set of constraints on the availability of resources. But GP
model does not take into consideration the fixed value of
available resource and is based on upper and lower target
values to be achieved in terms of their uses.
GOAL PROGRAMMING MODEL FORMULATION

 Single Goal with Multiple Sub goals


An objective (goal) is the result desired by a decision-maker.
The goal may be underachieved, fully achieved, or
overachieved within the given decision environment. The
level of goal achievement depends upon the effective
planning with respect to performance of an activity.
Mathematically, one unit of effort applied to activity 𝑥𝑗
might contribute an amount 𝑎𝑖𝑗 toward the ith goal. If the
target level for the ith goal is fully achieved, then the ith
constraint is written as:
If the target level for the ith goal is fully achieved, then the
ith constraint is written as:

σ𝑛𝑖=1 𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖

To allow underachievement or overachievement in the target


value (goal),
let 𝑑𝑖− = negative deviation from ith goal (underachievement
or amount below the target value)
𝑑𝑖+ =positive deviation from ith goal (overachievement or
amount above the target value)
Using these notations, the above stated ith goal can be rewritten as:

෍ 𝑎𝑖𝑗 𝑥𝑗 + 𝑑𝑖− − 𝑑𝑖+ = 𝑏𝑖 𝑖 = 1,2, … . . 𝑛


𝑖=1

𝑣𝑎𝑙𝑢𝑒 𝑜𝑓 𝑡ℎ𝑒 𝐴𝑚𝑜𝑢𝑛𝑡 𝑏𝑒𝑙𝑙𝑜𝑤 𝑡ℎ𝑒 𝐴𝑚𝑜𝑢𝑛𝑡 𝑎𝑏𝑜𝑣𝑒 𝑡ℎ𝑒


+ − = 𝑇𝑎𝑟𝑔𝑒𝑡 𝑣𝑎𝑙𝑢𝑒
𝑜𝑏𝑗𝑒𝑐𝑡𝑖𝑣𝑒 𝑡𝑎𝑟𝑔𝑒𝑡 𝑡𝑎𝑟𝑔𝑒𝑡
 Since both underachievement and overachievement of a
goal cannot be achieved simultaneously, one or both of
these deviational variables (𝑑𝑖− 𝑜𝑟 𝑑𝑖+ ) may be zero in the
solution, i.e. 𝑑𝑖− × 𝑑𝑖+ = 0. In other words, at optimality, if
one variable assumes a positive value in the solution, the
other must be zero and vice versa. The goal deviational
variables must be non-negative.
example
An office equipment produces two kinds of products A and B.
production of either A or B requires one hour of production
capacity in the plant. The plant has maximum production
capacity of 10 hours per day. The gross margin from the sale
of A is 180 and 140 for product B. formulate a goal
programming model if the goal of the office to earn the
profit of 600 per day.
Sol: let x and y number of units products A and B produced
per day respectively.
The required LPP is
Max Z=180x+140y
Stc
x+y≤10
x,y≥0
Since the goal is achieve 600 profit
Model for Goal programming is
𝑀𝑖𝑛 𝑍 = 𝑑1+ + 𝑑1−
Subject to the constraints
𝑥 + 𝑦 ≤ 10
180𝑥 + 140𝑦 + 𝑑1− − 𝑑1+ = 600
𝑥, 𝑦, 𝑑1+ , 𝑑1− ≥ 0
Example
Formulate a goal programming model given in the above
example with the following equally ranked goals
1) to earn a profit of Rs 800 per day
2) because of limited sales capacity the maximum number
of A and B that can be sold are 6 and 8 respectively.
Model for Goal programming is
𝑀𝑖𝑛 𝑍 = 𝑑1− + 𝑑2− + 𝑑3−
Subject to the constraints
𝑥 + 𝑦 ≤ 10
180𝑥 + 140𝑦 + 𝑑1− − 𝑑1+ = 800 𝑓𝑖𝑟𝑠𝑡 𝑔𝑜𝑎𝑙
𝑥 + 𝑑2− = 6
𝑦 + 𝑑3− = 8
𝑥, 𝑦, 𝑑1+ , 𝑑1− , 𝑑2− , 𝑑3− ≥ 0
Model for Goal programming is
𝑀𝑖𝑛 𝑍 = 𝑑1− + 𝑑2− + 𝑑3−
Subject to the constraints
𝑥 + 𝑦 ≤ 10
180𝑥 + 140𝑦 + 𝑑1− − 𝑑1+ = 800 𝑓𝑖𝑟𝑠𝑡 𝑔𝑜𝑎𝑙
𝑥 + 𝑑2− = 6
𝑦 + 𝑑3− = 8
Example

A manufacturing firm produces two types of products: A and


B. The unit profit from product A is Rs 100 and that of
product B is Rs 50. The goal of the firm is to earn a total
profit of exactly Rs 700 in the next week.
n To interpret the profit goal in terms of sub goals, which
are sales volume of products,
let x and y = number of units of products A and B to be
produced, respectively The single goal of profit
maximization is stated as:
Maximize (profit) Z = 100x + 50y
 Since the goal of the firm is to earn a target profit of Rs
700 per week, the profit goal can be restated to allow for
underachievement or overachievement as:

 100𝑥 + 50𝑦 + 𝑑1− − 𝑑1+ = 700


Now the goal programming model becomes.
𝑀𝑖𝑛 𝑍 = 𝑑1− + 𝑑1+
Subject to the constraints

100𝑥 + 50𝑦 + 𝑑1− − 𝑑1+ = 700


𝑥, 𝑦, 𝑑1− , 𝑑1+ ≥ 0

𝑑1− = 𝑢𝑛𝑑𝑒𝑟𝑎𝑐ℎ𝑒𝑖𝑣𝑒𝑚𝑒𝑛𝑡 𝑜𝑓 700


𝑑1+ = 𝑜𝑣𝑒𝑟𝑎𝑐ℎ𝑒𝑖𝑣𝑒𝑚𝑒𝑛𝑡 𝑜𝑓 700
Example: Suppose, in addition to earn a target profit of Rs 700 per
week as stated in above example, a decision-maker also wants to
achieve a sales volume for products A and B close to 5 and 4,
respectively. Then formulate this problem as a goal programming
model.
Solution:
Profit goal and sales goal can be expressed as
100𝑥 + 50𝑦 = 700 𝑝𝑟𝑜𝑓𝑖𝑡 𝑡𝑎𝑟𝑔𝑒𝑡 (𝑔𝑜𝑎𝑙)
𝑥≤5
ൠ 𝑆𝑎𝑙𝑒𝑠 𝑡𝑎𝑔𝑒𝑡 𝑔𝑜𝑎𝑙
𝑦≤4
Profit goal and sales goal can also be expressed as
100𝑥 + 50𝑦 + 𝑑1− − 𝑑1+ = 700
𝑥 + 𝑑2− = 5
𝑦 + 𝑑3− = 4
𝑥, 𝑦, 𝑑1− , 𝑑1+ , 𝑑2− , 𝑑3− ≥ 0
The problem can now be formulated as GP model as follows:
𝑀𝑖𝑛 𝑍 = 𝑑1− + 𝑑1+ + 𝑑2− + 𝑑3−
Subject to
100𝑥 + 50𝑦 + 𝑑1− − 𝑑1+ = 700
𝑥 + 𝑑2− = 5
𝑦 + 𝑑3− = 4
𝑥, 𝑦, 𝑑1− , 𝑑1+ , 𝑑2− , 𝑑3− ≥ 0
Steps to formulate GP model

The procedure (algorithm) to formulate a GP model is


summarized below:
1. Identify the goals and constraints based on the availability
of resources (or constraints) that may restrict
achievement of the goals (targets).
2. Determine the priority to be associated with each goal in
such a way that goals with priority level P1 are most
important, those with priority level P2 are next most
important, and so on.
3. Define the decision variables.
1. Formulate the constraints in the same manner as in LP
model.
2. For each constraint, develop a equation by adding
deviational variables 𝑑𝑖− and 𝑑𝑖+ . These variables indicate
the possible deviations below or above the target value
(right-hand side of each constraint).
3. Write the objective function in terms of minimizing a
prioritized function of the deviational variables.
General GP model
With m goals, the general goal linear programming model
may be stated as:
𝑀𝑖𝑛 𝑍 = σ𝑚
𝑖=1 𝑤𝑖 𝑃𝑖 (𝑑𝑖
+
+ 𝑑 −
𝑖 )

Subject to linear constraints


σ𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 + 𝑑𝑖− − 𝑑𝑖+ = 𝑏𝑖 𝑖 = 1,2, … . 𝑚
𝑥𝑗 , 𝑑𝑖− , 𝑑𝑖+ ≥ 0 𝑓𝑜𝑟 𝑎𝑙𝑙 𝑖 𝑎𝑛𝑑 𝑗 and
𝑑𝑖− × 𝑑𝑖+ = 0
Where
Z –sum of deviations from all desired goals
𝑤𝑖 -non negative constants representing relative weight
assigned to deviational variables 𝑑𝑖− , 𝑑𝑖+ within a priority
level.
𝑃𝑖 -priority level assigned to each relevant goal in an order
(P1>P2>…Pn)
𝑎𝑖𝑗 - constants associated with constraints
𝑏𝑖 -the right-hand side values (i.e. goals) of each constraint.
GRAPHICAL SOLUTION METHOD FOR GOAL
PROGRAMMING
The graphical solution method for goal programming model
is similar to the graphical solution method for linear
programming model. In this case the feasible solution space
(region) is indicated by goal priorities in such a way that the
deviation from the goal with the highest priority is
minimized to the fullest extent possible, before the
deviation from the next priority goal is minimized. If goal
constraints are stated only in terms of deviational variables,
then such constraints must be restated in terms of the real
variables, before proceeding with the graphical solution.
example

𝑀𝑖𝑛 𝑍 = 𝑑1− + 𝑑1+


St

20
80𝑥1 + 40𝑥2 + 𝑑1− − 𝑑1+ = 800
𝑑1+ = 0
𝑥1 + 𝑥2 ≤ 10

x2
𝑥1 , 𝑥2 , 𝑑1− , 𝑑1+ ≥ 0 𝑑1− = 0

10
5
Solution to GP is at point
A

2 4 6 8 10

x1
Example
𝑀𝑖𝑛 𝑍 = 𝑑1− + 𝑑2− + 𝑑3−
St
80𝑥1 + 40𝑥2 + 𝑑1− − 𝑑1+ = 800
𝑥1 + 𝑑2− = 6
𝑥2 + 𝑑3− = 8
𝑥1 , 𝑥2 , 𝑑1− , 𝑑1+ , 𝑑2− , 𝑑3− ≥ 0
20
𝑥1 = 6
𝑑1+ =0

𝑑1− = 0
x2

5 10

A 𝑥2 = 8

𝑑3− = 0

𝑑2− = 0

2 4 6 8 10

x1
Coordinates of the point A(6,8) satisfies the goals
There fore 𝑥1 = 6 𝑎𝑛𝑑 𝑥2 = 8 𝑖𝑠 𝑡ℎ𝑒 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛
Example
𝑀𝑖𝑛 𝑍 = 𝑃1 𝑑1− + 𝑃2 2𝑑2− + 𝑑3− + 𝑃3 𝑑1+

𝑥1 + 𝑥2 + 𝑑1− − 𝑑1+ = 10
𝑥1 + 𝑑1− = 6
𝑥2 + 𝑑3− = 8
𝑥1 , 𝑥2 , 𝑑1− , 𝑑1+ , 𝑑2− , 𝑑3− ≥ 0
6 8
x2

2 4

2 4 6 8 10

x1
Example: A firm produces two products A and B. Each product must be
processed through two departments namely 1 and 2. Department 1 has 30
hours of production capacity per day, and department 2 has 60 hours.
Each unit of product A requires 2 hours in department 1 and 6 hours in
department 2. Each unit of product B requires 3 hours in department 1
and 4 hours in department 2. Management has rank ordered the following
goals it would like to achieve in determining the daily product mix:

P1 : Minimize the underachievement of joint total production of 10 units.


P2 : Minimize the underachievement of producing 7 units of product B.
P3 : Minimize the underachievement of producing 8 units of product A.
Department/Product A B Capacity
(hours)

I 2 3 30

II 6 4 60

x1 and x2 = number of units of products A and B produced,


respectively 𝑑𝑖− 𝑎𝑛𝑑 𝑑𝑖+ = underachievement and overachievement
associated with goal i, respectively
Then the GP model is stated as follows:
Minimize Z = 𝑃1 𝑑1− + 𝑃2 𝑑2− + 𝑃3 𝑑3−
Subject to the constraints
𝑥1 + 𝑥2 ≤ 30 −−−−−− −(1)
6𝑥1 + 4𝑥2 ≤ 60 −−−−− −(2)
𝑥1 + 𝑥2 + 𝑑1− − 𝑑1+ = 10 − (3)
𝑥1 + 𝑑2− − 𝑑2+ = 8 −−−− −(4)
𝑥2 + 𝑑3− − 𝑑3+ = 7 −−−− −(5)
𝑥1 , 𝑥2 , 𝑑1− , 𝑑1+ , 𝑑2− , 𝑑3− ≥ 0
15

(5)
(2)
10

(4)
x2

(3)
5

(1)
0

0 5 10 15

x1
MODIFIED SIMPLEX METHOD OF GOAL PROGRAMMING

Steps
1.The zj and cj – zj values are computed separately for each of the
ranked goals, P1, P2, . . . . This is because different goals are
measured in different units. These are shown from bottom to top,
i.e. first priority goal (P1) is shown at the bottom and least priority
goal at the top.
The optimality criterion zj or cj – zj becomes a matrix of k × n size,
where k represents the number of pre-emptive priority levels and n
is the number of variables including both decision and deviational
variables.
2. First examine cj – zj values in the P1-row. If all cj – zj ≤ 0 at
the highest priority levels in the same column, then the
optimal solution been obtained.
3. If the target value of each goal in xB-column is zero, the
solution is optimal.
4. To determine the variable to be entered into the new
solution mix, start examining (cj – zj ) row of highest priority
(P1) and select the largest negative value. Otherwise, move
to the next higher priority (P2) and select the largest
negative value.
5. Apply the usual procedure for calculating the ‘minimum
ratio’ to choose a variable that needs to leave the current
solution mix (basis).
6. Any negative value in the (cj – zj ) row that has positive
(cj – zj ) value under any lower priority rows are ignored.
This is because that deviations from the highest priority goal
would be increased with the entry of this variable in the
solution mix.
Use modified simplex method to solve the following GP
𝑀𝑖𝑛 𝑍 = 𝑃1 𝑑1− + 𝑃2 2𝑑2− + 𝑑3− + 𝑃3 𝑑1+
Stc
𝑥1 + 𝑥2 + 𝑑1− − 𝑑1+ = 400
𝑥1 + 𝑑2− = 240
𝑥1 + 𝑑3− = 300
𝑥1 , 𝑥2 , 𝑑1− , 𝑑1+ , 𝑑2− , 𝑑3− ≥ 0
Cj 0 0 p1 2P2 P2 p3

1 Basic Basic var- x1 x2 𝑑1− 𝑑2− 𝑑3− 𝑑1+ Ratio


Basic variables value
var- B b
ceff Cb

P1 𝑑1− 400 1 1 1 0 0 -1 400/1

2P2 𝑑2− 240 1 0 0 1 0 0 240/1

P2 𝑑3− 300 0 1 0 0 1 0

P3 0 0 0 1

Cj-Zj
P2 780 -2 -1 0

P1 400 -1 -1 1
𝑍 = 𝑃1 × 400 + 2𝑃2 × 240 + 𝑃2 × 300 = 400𝑃1 + 780𝑃2
The values P1=400, P2=780 and P3=0 in b column bellow the
line represent the unachieved portion of each goal.

Now let us calculate cj – zj values in Table We have already


said that cj values represent the priority factors assigned to
deviational variables and that the zj values represent the
sum of the product of entries in b-column with columns of
coefficient matrix. Thus, the cj – zj value for each column is
calculated as follows:
c1 – z1 = 0 – (P1 × 1 + 2P2 × 1 + P2 × 0) = – P1 – 2P2
c2 – z2 = 0 – (P1 × 1 + 2P2 × 0 + P2 × 1) = – P1 – P2
c6 – z6 = P3 – (P1 × –1) = P3 + P1

Iteration 1: The selection of key column is based on the per


unit contribution rate of each variable in achieving the most
important goal (P1). The pre-emptive priority factors are
listed from the lowest to the highest so that the key column
can be easily identified at the bottom of the table. The
column with the largest negative cj – zj value at the P1 level
is selected as the key column.
In Table 1, there are negative values (i.e. – 1) in the x1 and x2
columns. Remove this tie, as always, and choose variable x1 to
enter into the new solution mix. The key row is the row with the
minimum non-negative value, which is obtained by dividing the
xB-values by the corresponding positive coefficients in the key
column. The coefficient 1 is circled in Table 1 to indicate the fact
that it is the key element at the intersection of the key column
and key row. By using the standard simplex method, the solution
in Table 1 is revised to obtain the second improved solution, as
shown in Table 2
Cj 0 0 p1 2P2 P2 P3

2 Basic Basic var- x1 x2 𝑑1− 𝑑2− 𝑑3− 𝑑1+ Ratio


Basic variables (B) value (b)
var-
ceff Cb
P1 𝑑1− 160 0 1 1 -1 0 -1 160/1

2P2 𝑥1 240 1 0 0 1 0 0

P2 𝑑3− 300 0 1 0 0 1 0 300/1

P3 0 - 0 - - - 1

Cj-Zj P2 300 - -1 - 2 - -

P1 160 - -1 - 1 - 1
As per Table 2, the value of objective function: 160×P1 + 300×P2
indicates that the unachieved portion of the first and second goals
has decreased. The revised solution is shown in Table 3.
Since the solution in Table 3 indicates that cj – zj values in P1-row
are either positive or zero as well as the value of Z in terms of P1
is completely minimized to zero, we turn our attention to the
second priority level (P2).
An additional rule must be followed at this stage: A column
cannot be chosen as the key column with a positive value at a
higher priority level.
The largest negative value in P2-row is selected in order to determine the key column. The revised
solution is shown in Table 4.

3 Basic Basic var- x1 x2 𝑑1− 𝑑2− 𝑑3− 𝑑1+ Ratio


Basic variables (B) value (b)
var-
ceff Cb
0 x2 400 0 1 1 -1 0 -1

0 𝑥1 240 1 0 0 1 0 0

P2 𝑑3− 300 0 0 -1 1 1 1 300/1

P3 0 - - 0 0 - 1

Cj-Zj P2 140 - - 1 1 - -1

P1 0 - - 1 0 - 0
The largest negative value in P2-row is selected in order to determine the key
column. The revised solution is shown in Table 4. In Table 4, all cj – zj values in
the P2-row are either positive or zero.
Thus, the second goal (P2) is fully achieved. It may be noted in Table 4 that there
are two negative values in the P3-row. However, we could not choose 𝑑2− or 𝑑3−
as the key column because there is already a positive value at a higher priority
level (P2). Hence, the solution shown in Table 4 cannot be improved further. The
optimal solution therefore is: x1 = 240, x2 = 300,
𝑑1− = 𝑑2− = 𝑑3− = 0 𝑎𝑛𝑑 𝑑3− = 140
Cj 0 0 p1 2P2 P2 P3
4 Basic Basic var- x1 x2 𝑑1− 𝑑2− 𝑑3− 𝑑1+ Ratio
Basic variables value (b)
var-ceff (B)
Cb
0 x2 300 0 1 1 0 1 0

0 𝑥1 240 1 0 0 1 0 0

P3 𝑑3− 140 0 0 -1 1 1 1

P3 140 - - 1 -1 -1 -

Cj-Zj P2 0 - - 0 2 1 -

P1 0 - - 1 0 0 -

You might also like