Goal Programming
Goal Programming
PROGRAMMING
P. C. Jha
Introduction
◦ Goal programming is an approach used for solving a multi-objective optimization
problem that balances a trade-off in conflicting objectives.
◦ It is an approach of deriving a best possible ‘satisfactory’ level of goal attainment.
◦ A problem is modelled into a goal programming model in a manner similar to that of a
linear programming model. However, the goal programming model accommodates
multiple and often conflicting incommensurable (dimension of goals and units of
measurements may not be same) goals, in a particular priority order (hierarchy).
◦ A particular priority order is established by ranking or weighing various goals in
accordance with their importance.
◦ 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.
Concept
◦ Goal Programming can be thought of as an extension or generalization of linear
programming to handle multiple, normally conflicting objective measures.
◦ Each of these measures is given a goal or target value to be achieved.
◦ Unwanted deviations from this set of target values are then minimized in an
achievement function. This can be a vector or a weighted sum dependent on the
goal programming variant used.
◦ As satisfaction of the target is deemed to satisfy the decision maker(s), an
underlying satisficing philosophy is assumed.
◦ Goal programming is used to perform three types of analysis:
• Determine the required resources to achieve a desired set of objectives.
• Determine the degree of attainment of the goals with the available resources.
• Providing the best satisfying solution under a varying amount of resources and priorities of
the goals.
Terminology
◦ Decision Maker: The decision maker(s) refer to the person(s), organization(s), or stakeholder(s) to whom
the decision problem under consideration belongs.
◦ Decision Variable: A decision variable is defined as a factor over which the decision maker has control.
The set of decision variables fully describe the problem and form the decision to be made. The purpose of the goal
programming model can be viewed as a search of all the possible combinations of decision variable values (known as
decision space) in order to determine the point which best satisfies the decision maker’s goals and constraints.
◦ Criterion: A criterion is a single measure by which the goodness of any solution to a decision problem can
be measured. There are many possible criteria arising from different fields of application but some of the
most commonly arising relate at the highest level to
◦ Cost
◦ Profit
◦ Time
◦ Distance
◦ Performance of a system
◦ Company or organizational strategy
◦ Personal preferences of the decision maker(s)
◦ Safety considerations
◦ A decision problem which has more than one criterion is therefore referred to as a multi-criteria decision
making (MCDM) or multi-criteria decision aid (MCDA) problem. The space formed by the set of criteria is
known as criteria space.
Terminology
◦ Aspiration Level: The numerical value specified by the decision maker that reflects
his/her desire or satisfactory level with regard to the objective function under
consideration. For example, suppose the company wishes to maximize the profit which
is formulated as:
𝑀𝑎𝑥 𝑧 = 2𝑥1 + 3𝑥2 … (1)
Further suppose the management wishes to have at-least 40,000 as profit, then the
above stated objective is required to be re-written as:
2𝑥1 + 3𝑥2 ≥ 40,000 … (2)
Here, 40,000 is the aspiration level with respect to profit.
◦ Goal: An objective function along with its aspiration level is called a goal. For example,
the relation (1) is an objective function whereas relation (2) is a goal.
Terminology
◦ Goal Deviation: The difference between what we actually achieve and what we desire to
achieve. There are two types of goal deviations:
◦ Positive deviation or overachievement
◦ Negative deviation or underachievement
◦ In general goals can be defined in three ways:
◦ Positive deviation:
𝑓 𝑥 ≤𝑎
𝑓 𝑥 − 𝑑+ = 𝑎
◦ Negative deviation:
𝑓 𝑥 ≥𝑎
𝑓 𝑥 + 𝑑− = 𝑎
◦ Both deviations:
𝑓 𝑥 =𝑎
𝑓 𝑥 − 𝑑+ + 𝑑− = 𝑎
◦ Remark: In general,, for goal programming irrespective of the type of the goal we can use
both the deviations for each case. However, for the first two cases it is required to minimize
just one of the deviation only.
Formulation
◦ Desirable vs. Undesirable Deviations: (depend on the objectives)
◦ Max goals (≥) - the more the better - 𝑑𝑖+ or 𝑝𝑖 desirable.
◦ Min goals (≤) - the less the better - 𝑑𝑖− or 𝑛𝑖 desirable.
◦ Exact goals (=) - exactly equal - both 𝑑𝑖+ (or 𝑝𝑖 ) and 𝑑𝑖− (or 𝑛𝑖 ) undesirable
◦ In all the situations, we first identify the undesirable deviation of the expression in the
goal and then attempt to minimize the same.
◦ In GP, the objective is to minimize the (weighted) sum of undesirable deviations (all
undesirable 𝑑𝑖+ (or 𝑝𝑖 ) and 𝑑𝑖− (or 𝑛𝑖 )→→ 0).
◦ For each goal, at least, one of 𝑑𝑖+ (or 𝑝𝑖 ) and 𝑑𝑖− (or 𝑛𝑖 ) must be equal to “0”.
◦ An optimal solution is attained when all the goals are reached as close as possible to
their aspiration level, while satisfying a set of constraints.
Types
There are two types of goal programming formulations:
◦ Non Pre-emptive Goal Programming: In this type of problem we try to minimize the
weighted sum of all the undesirable deviations. That is in this type no goal is said to
dominate any other goal. However, it is possible to have different importance for the
deviations by the decision makers. For example, Let us consider the following multi-
objective linear programming problem (𝑀𝑂𝑃1 ):
Nicolo’s client would like to avoid a high risk portfolio; thus, investing all funds in
U. S. Oil would not be desirable. However, the client agreed that an acceptable level of risk
would correspond to portfolios with a maximum total risk index of 700 or less.
Another goal of the client is to obtain an annual return of at least $9000. This goal can be
achieved with a portfolio consisting of 2000 shares of U. S. Oil [at a cost of 2000($25) = $50,000]
and 600 shares of Hub Properties [at a cost of 600($50) = $30,000]; the annual return in this case
would be 2000($3) + 600($5) = $9,000. Note, however, that the portfolio risk index for this
investment strategy would be 2000(0.50) + 600(0.25) = 1150; thus, this portfolio achieves the
annual return goal but does not satisfy the portfolio risk index goal.
Suppose that the client’s top – priority goal is to restrict the risk; that is, keeping the portfolio
risk index at 700 or less is so important that the client is not willing to trade the achievement
of this goal for any amount of an increase in annual return. As long as the portfolio risk index
does not exceed 700, the client seeks the best possible return. Based on this statement of
priorities, the goals for the problem are as follows:
where:
U: number of shares of U. S. Oil purchased
H: number of shares of Hub Properties purchased
Portfolios that satisfy the Available Funds Constraint
Feasible
Portfolios
Portfolios that satisfy the P1 Goal
Min d1+
subject to:
25U + 50H ≤ 80,000
0.50U + 0.25H – d1+ + d1- = 700
d1+ = 0
Feasible
Portfolios
that will
achieve Priority
Level 1 Goal
Best Solution with respect to Both Goals
Min d2-
subject to:
25U + 50H ≤ 80,000
0.50U + 0.25H – d1+ + d1- = 700
3U + 5H – d2+ + d2- = 9,000
d1+ = 0
U, H, d1 , d1 , d2 , d2 ≥ 0
+ - + -
Final Solution
Thus, the solution recommends that :
U = 800 shares
H = 1200 shares
Note that the priority level 1 goal of a portfolio risk index of 700 or less
has been achieved. However, the priority level 2 goal of at least a
$9,000 annual return is not achievable. The annual return for the
recommended portfolio is $8,400.
Problem
A textile company produces two types of materials A and B. Material A is produced according to direct
orders from furniture manufacturers. The material B is distributed to retail fabric stores. The average
production rates for material A and B are identical at 1000 metres/hour. By running two shifts the
operational capacity of the plant is 80 hours per week. The marketing department reports that the
maximum estimated sales for the following week is 70000 metres of material A and 45000 metres of
material B. According to the accounting department the profit from a metre of material A is Rs. 2.50 and
from a metre of material B is Rs. 1.50. The management of the company decides that a stable
employment level is the primary goal for the firm. Therefore, whenever there is demand exceeding normal
production capacity, management simply expands production capacity by providing overtime. However,
management feels that overtime operation of the plant of more than 10 hours per week should be
avoided because of the accelerating costs. The management has the following goals in the order of
importance:
◦ The first goal is to avoid any under-utilization of production capacity.
◦ The second goal is to limit the overtime operation of the plant to 10 hours.
◦ The third goal is to achieve the sales goals of 70000 and 45000 respectively for both the materials.
◦ The last goal is to minimize the overtime operation of the plant as much as possible.
Formulate this as a goal programming problem to help the management for the best decision and solve
the problem using simplex method.
Formulation
◦ Let 𝑥1 be the number of hours used for producing material A per week and 𝑥2
be the number of hours used for producing material B per week, then the
above problem can be formulated as:
𝑀𝑖𝑛 𝑧 = {𝑃1 𝑑1− , 𝑃2 𝑑12
+
, 5𝑃3 𝑑2− , 3𝑃3 𝑑3− , 𝑃4 𝑑1+ }
𝑥1 + 𝑥2 + 𝑑1− − 𝑑1+ = 80 (Production Capacity Constraint)
𝑥1 + 𝑑2− = 70 (Sales Constraint for Material A)
𝑥2 + 𝑑3− = 45 (Sales Constraint for Material B)
𝑑1+ + 𝑑12
− +
− 𝑑12 = 10 (Overtime Operation Constraint)
𝑥1 , 𝑥2 , 𝑑1− , 𝑑1+ , 𝑑2− , 𝑑3− , 𝑑12
− +
, 𝑑12 ≥ 0 (Non-negativity restriction)
Simplex Method
Before the solution by the simplex method is presented for the goal programming
problem, a few points to be observed are given below:
◦ In goal programming the purpose is to minimize the unattained portion of the goal as
much as possible. This is achieved by minimizing the deviational variables.
◦ It should be remembered that pre-emptive priority factors are ordinal weights and they
are not commensurable. Consequently, 𝑍𝑗 or (𝑍𝑗 − 𝐶𝑗 ) cannot be expressed by a single
row as in linear programming. Rather, the simplex criterion becomes a matrix of (m x n)
size, where m represents the number of pre-emptive factors and n is the number of
variables.
◦ Since the simplex criterion (𝑍𝑗 − 𝐶𝑗 ) is expressed as a matrix rather than a row, a new
procedure must be devised for identifying the key column. Again since 𝑃𝑗 >> 𝑃𝑗+1, the
selection procedure of the column must be initiated from 𝑃𝑗 and move gradually to the
lower priority levels.
Simplex Method
The initial simplex table of the given problem is
The first four rows of the table are set up in the same way as for linear programming with the
coefficients of the associated variables placed in the appropriate entries. Below the thick line
which separates the constraints from the objective function, there are four rows and each row
stands for a priority goal level.
Simplex Method
The values of (𝑍𝑗 − 𝐶𝑗 ) are computed as follows:
Since, 𝑃1 , 𝑃2 , 𝑃3 and 𝑃4 are not commensurable, we must list their coefficients separately in their
rows in the simplex criterion (𝑍𝑗 − 𝐶𝑗 ) as shown in the above table.
Simplex Method
It should be apparent that the selection of the key column is based on the per unit
contribution rate of each variable in achieving the goals. When the first goal is
completely attained, then the key column selection criterion moves on to the second
goal and so on. This is why the pre-emptive factors are listed from the lowest to the
highest so that the key column can be easily identified at the bottom of the table.
In goal programming the 𝑍𝑖 values in the resources column (𝑋𝐵 ) represents the
unattained portion of the goal.
The key column would be determined by selecting the largest positive element in 𝑍𝑗 − 𝐶𝑗
row at the 𝑃1 level as there exists an unattained portion of this highest goal. There are two
identical positive values in the 𝑋1 and 𝑋2 columns. In order to break this tie we check the
next lower priority levels. Since at priority 3 (𝑃3 ), the largest element is 5 in a row,
therefore, 𝑋1 becomes the key column.
Simplex Method
The key row is determined by selecting the minimum positive or zero value when values
in the resources column (𝑋𝐵 ) are divided by the coefficients in the key column.
In the given table 𝑑2− is the key row.
By utilizing the usual simplex procedure the previous table is updated in the table given
below
Simplex Method
Again, the above table does not give the optimal solution as the resources column
indicates unattained portion of goals. Proceeding in the same manner as above, an
improved solution can be obtained if 𝑑1− is driven out and decision variable 𝑥2 enters into
the solution. The new improved solution is shown in the table given below
Simplex Method
The solution in the above table indicates production of 70000 metres of material A and
10000 metres of material B is sufficient to achieve the first, second and fourth goals and
the value of 𝑑3 = 35 suggests that 35000 metres of material B is not achieved.
It is also observed that all the elements in 𝑃1 and 𝑃2 are either zero or negative which
indicates that the first two priorities are achieved. Therefore, to improve the solution, the
selection of the key column is done at 𝑃3 level. Since, the only positive element 3 occurs
at 𝑃3 level which lies in 𝑑1+ column, thus 𝑑1+ enters into the solution and 𝑑12
−
is driven out as
shown in the table below
Simplex Method
In the above table, since the third goal is not completely attained, there is a positive
value in (𝑍𝑗 − 𝐶𝑗 ) at the 𝑃3 level. We find it in the 𝑑12+
column. Obviously, we can attain the
third goal to a greater extent if we introduce 𝑑12 +
in the solution. We find, however a
negative value at the higher priority level that is at 𝑃2 . This implies if we introduce 𝑑12+
we
would improve the achievement of third goal but at the expense of achieving the
second goal. Thus, we cannot introduce 𝑑12 +
. Similarly, for 𝑑12
−
.
Thus, the above table presents the optimal solution.
The optimal solution is 𝑥1 = 70, 𝑥2 = 20, 𝑑1+ = 10, 𝑑3− = 25. In other words, the company
should produce 70000 metres of material A and 20000 metres of material B with 10 hours
of overtime of the plants resulting in 25000 metres of under-achievement in the sales goal
of material B.
Harrison Electric Problem using Simplex
Method
◦ Recall the Harrison Electric model given below:
Let 𝑥1 be the number of chandeliers to be produced per week and 𝑥2 be the number of ceiling fans
to be produced per week, then the above problem can be formulated as: