10.3 Goal Programming

In today’s business environment, profit maximization or cost minimization is not always the only objective that a firm sets forth. Often, maximizing total profit is just one of several goals, including such contradictory objectives as maximizing market share, maintaining full employment, providing quality ecological management, minimizing noise level in the neighborhood, and meeting numerous other noneconomic goals.

The shortcoming of mathematical programming techniques such as linear and integer programming is that their objective function is measured in one dimension only. It’s not possible for LP to have multiple goals unless they are all measured in the same units (such as dollars), a highly unusual situation. An important technique that has been developed to supplement LP is called goal programming.

Goal programming is capable of handling decision problems involving multiple goals. It began with the work of Charnes and Cooper in 1961 and was refined and extended by Lee in 1972 and by Ignizio in 1985 (see the Bibliography).

In typical decision-making situations, the goals set by management can be achieved only at the expense of other goals. It is necessary to establish a hierarchy of importance among these goals so that lower-priority goals are tackled only after higher-priority goals are satisfied. Since it is not always possible to achieve every goal to the extent the decision maker desires, goal programming attempts to reach a satisfactory level of multiple objectives. This, of course, differs from LP, which tries to find the best possible outcome for a single objective. Nobel Laureate Herbert A. Simon, of Carnegie-Mellon University, states that modern managers may not be able to optimize but may instead have to “satisfice” or “come as close as possible” to reaching goals. This is the case with models such as goal programming.

How, specifically, does goal programming differ from LP? The objective function is the main difference. Instead of trying to maximize or minimize the objective function directly, with goal programming we try to minimize deviations between set goals and what we can actually achieve within the given constraints. In the LP simplex approach, such deviations are called slack and surplus variables. Because the coefficient for each of these in the objective function is zero, slack and surplus variables do not have an impact on the optimal solution. In goal programming, the deviational variables are typically the only variables in the objective function, and the objective is to minimize the total of these deviational variables.

When the goal programming model is formulated, the computational algorithm is almost the same as a minimization problem solved by the simplex method.

Example of Goal Programming: Harrison Electric Company Revisited

To illustrate the formulation of a goal programming problem, let’s look back at the Harrison Electric Company case presented earlier in this chapter as an integer programming problem. That problem’s LP formulation, you recall, is

Maximize profit=$7X1+$6X2subject to2X1+3X212(wiring hours)6X1+5X230(assembly hours)X1,X20

where

X1=number of chandeliers producedX2=number of ceiling fans produced

We saw that if Harrison’s management had a single goal—say, profit—LP could be used to find the optimal solution. But let’s assume that the firm is moving to a new location during a particular production period and feels that maximizing profit is not a realistic goal. Management sets a profit level, which would be satisfactory during the adjustment period, of $30. We now have a goal programming problem in which we want to find the production mix that achieves this goal as closely as possible, given the production time constraints. This simple case will provide a good starting point for tackling more-complicated goal programs.

We first define two deviational variables:

d1=underachievement of the profit targetd1+=overachievement of the profit target

Now we can state the Harrison Electric problem as a single-goal programming model:

Minimize under-or overachievement of profit target=d1+d1+subjectto$7X1+$6X2+d1d1+=$30(profit goal constraint)2X1+3X212(wiring hours constraint)6X1+5X230(assembly hours constraint)X1,X2,d1,d1+0

Note that the first constraint states that the profit made, $7X1+$6X2, plus any underachievement of profit minus any overachievement of profit has to equal the target of $30. For example, if X1=3 chandeliers and X2=2 ceiling fans, then $33 profit has been made. This exceeds $30 by $3, so d1 + will be equal to 3. Since the profit goal constraint was overachieved, Harrison did not underachieve, and d1  will be equal to zero. This problem is now ready for solution by a goal programming algorithm.

If the target profit of $30 is exactly achieved, we see that both d1 + and d1  are equal to zero. The objective function will also be minimized at zero. If Harrison’s management was concerned only with underachievement of the target goal, how would the objective function change? It would be as follows: minimize underachievement=d1 . This is also a reasonable goal, since the firm would probably not be upset with an overachievement of its target.

In general, once all goals and constraints are identified in a problem, management should analyze each goal to see if underachievement or overachievement of that goal is an acceptable situation. If overachievement is acceptable, the appropriate d+ variable can be eliminated from the objective function. If underachievement is okay, the d variable should be dropped. If management seeks to attain a goal exactly, both d and d+ must appear in the objective function.

Extension to Equally Important Multiple Goals

Let’s now look at the situation in which Harrison’s management wants to achieve several goals, each equal in priority.

  • Goal 1: to produce profit of $30 if possible during the production period

  • Goal 2: to fully utilize the available wiring department hours

  • Goal 3: to avoid overtime in the assembly department

  • Goal 4: to meet a contract requirement to produce at least seven ceiling fans

The deviational variables can be defined as follows:

d1=underachievement of the profit targetd1+=overachievement of the profit targetd2=idle time in the wiring department (underutilization)d2+=overtime in the wiring department (overutilization)d3=idle time in the assembly department (underutilization)d3+=overtime in the assembly department (overutilization)d4=underachievement of the ceiling fan goald4+=overachievement of the ceiling fan goal

Management is unconcerned about whether there is overachievement of the profit goal, overtime in the wiring department, or idle time in the assembly department and whether more than seven ceiling fans are produced: hence, d1+, d2+, d3, and d4+ may be omitted from the objective function. The new objective function and constraints are

Minimize total deviation=d1+d2+d3++d4subjectto7X1+6X2+d1d1+=30(profit constraint)2X1+3X2+d2d2+=12(wiring constraint)6X1+5X2+d3d1+=30(assembly constraint)X2+d4d4+=7(ceiling fan constraint)All Xi,divariable0

Ranking Goals with Priority Levels

In most goal programming problems, one goal will be more important than another, which, in turn, will be more important than a third. The idea is that goals can be ranked with respect to their importance in management’s eyes. Lower-order goals are considered only after higher-order goals are met. A priority (Pi) is assigned to each deviational variable—with the ranking that P1 is the most important goal, P2 the next most important, then P3, and so on.

Let’s say Harrison Electric sets the priorities shown in the following table:

GOAL PRIORITY
Reach a profit as much above $30 as possible P1
Fully use wiring department hours available P2
Avoid assembly department overtime P3
Produce at least seven ceiling fans P4

This means, in effect, that meeting the profit goal (which has a priority of (P1)) is infinitely more important than meeting the wiring goal (P2), which is, in turn, infinitely more important than meeting the assembly goal (P3), which is infinitely more important than producing at least seven ceiling fans (P4).

With ranking of goals considered, the new objective function becomes

Minimize total deviation=P1d1+P2d2+P3d3++P4d4

The constraints remain identical to the previous ones.

Goal Programming with Weighted Goals

When priority levels are used in goal programming, any goal in the top priority level is infinitely more important than the goals in lower priority levels. However, there may be times when one goal is more important than another goal, but it may be only two or three times as important. Instead of placing these goals in different priority levels, they would be placed in the same priority level but with different weights. When using weighted goal programming, the coefficients in the objective function for the deviational variables include both the priority level and the weight. If all goals are in the same priority level, then simply using the weights as objective function coefficients is sufficient.

Consider the Harrison Electric example, in which the least important goal is goal 4 (produce at least seven ceiling fans). Suppose Harrison decides to add another goal of producing at least two chandeliers. The goal of seven ceiling fans is considered twice as important as this goal, so both of these should be in the same priority level. The goal of two chandeliers is assigned a weight of 1, while the goal of seven ceiling fans is given a weight of 2. Both of these will be in priority level 4. A new constraint (goal) would be added:

X1+d5d5+=2(chandeliers)

The new objective function value would be

Minimize total deviation=P1d1 +P2d2 +P3d3 ++P4(2d4 )+P4d5 

Note that the ceiling fan goal has a weight of 2. The weight for the chandelier goal is 1. Technically, all of the goals in the other priority levels are assigned weights of 1 also.

Using QM For Windows To Solve Harrison’s Problem

The QM for Windows Goal Programming module is illustrated in Programs 10.8A and 10.8B. The input screen is shown first, in Program 10.8A. Note in this first screen that there are two priority-level columns for each constraint. For this example, the priority for either the positive or the negative deviation will be zero, since the objective function does not contain both types of deviational variables for any of these goals. If a problem had a goal with both deviational variables in the objective function, both priority-level columns for this goal (constraint) would contain values other than zero. Also, the weight for each deviational variable contained in the objective function is listed as 1. (It is 0 if the variable does not appear in the objective function.) If different weights were used, they would be placed in the appropriate weight column within one priority level.

Excel sheet displays the inputs Harrison Electric’s Goal Programming Analysis.

Program 10.8A Harrison Electric’s Goal Programming Analysis Using QM for Windows: Inputs

The solution, with an analysis of deviations and goal achievement, is shown in Program 10.8B. We see that the first two constraints have negative deviational variables equal to 0, indicating full achievement of those goals. In fact, the positive deviational variables both have values of 6, indicating overachievement of these goals by six units each. Goal (constraint) 3 has both deviational variables equal to 0, indicating complete achievement of that goal, whereas goal 4 has a negative deviational variable equal to 1, indicating underachievement by one unit.

Excel sheet displays the summary solution screen of Harrison Electric Company Solution.

Program 10.8B Summary Solution Screen for Harrison Electric’s Goal Programming Problem Using QM for Windows

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset