6 MOLP and Goal Programming
6 MOLP and Goal Programming
1
Goal Programming (GP)
Most LP problems have hard constraints that cannot be
violated...
There are 1,566 labor hours available.
There is $850,00 available for projects.
In some cases, hard constraints are too restrictive...
You have a maximum price in mind when buying a car (this is
your “goal” or target price).
If you can’t buy the car for this price you’ll likely find a way to
spend more.
We use soft constraints to represent such goals or targets
we’d like to achieve.
2
A Goal Programming Example:
Hotel Expansion
We want to expand the convention center in an hotel.
The types of conference rooms being considered are:
Medium Rooms
X 2 d d 10
2 2
Large Rooms
X 3 d d 15
3 3
where
d ,dd , d 0 0
i
i i i
5
Defining the Goal Constraints
Total Expansion
400X 1 750 X 2 1050 X 3 d d 25000
4 4
Total Cost (in $1000s)
18X 1 33 X 2 45 . 15 X 3 d d 1000
5 5
where
d ,d 0
i i
6
Objective Function
7
Objective Function: Adding weights
8
Objective Function: Standardizing
1 1 1
MIN: (w1 d1 w1 d1 ) (w 2 d 2 w 2 d 2 ) (w 3 d3 w 3 d3 )
5 10 15
1 1
(w 4 d 4 w 4 d 4 ) (w 5 d5 w 5 d5 )
25, 000 1, 000, 000
9
GP Objective Functions
There are numerous objective functions we could
formulate for a GP problem.
Minimize the sum of the deviations:
min ( d d )
i
-
i
10
GP Objective Functions (cont’d)
Minimize the sum of percentage deviations:
1 -
min ( d i d i )
i ti
i
Minimize the weighted sum of % deviations:
1 -
min ( d i wi d i wi )
i ti
12
Objective Function
1 1 1
MIN: (w1 d1 w1 d1 ) (w 2 d 2 w 2 d 2 ) (w 3 d3 w 3 d3 )
5 10 15
1 1
(w 4 d 4 w 4 d 4 ) (w 5 d5 w 5 d5 )
25, 000 1, 000, 000
13
Defining the Objective
Assume
It is undesirable to underachieve any of the first three room
goals (no penalty for overachieving)
It is undesirable to overachieve or underachieve the 25,000 sq
m expansion goal
It is undesirable to overachieve the $1,000,000 total cost goal
w 1 w 2 w 3 w 4 w
w
MIN: d1 d2 d3 d 4 4
d 4 5
d 5
5 10 15 25, 000 25, 000 1, 000, 000
14
Comments About GP
GP involves making trade-offs among the goals until the
most satisfying solution is found.
GP objective function values should not be compared
because the weights are changed in each iteration.
Compare the solutions!
An arbitrarily large weight will effectively change a soft
constraint to a hard constraint.
Hard constraints can be placed on deviational variables.
15
Defining the Goals
Goal 1: Build approximately 5 small conference rooms.
X1 d1 d1 5
Goal 2: Build approximately 10 medium conference rooms.
X 2 d 2 d 2 10
Goal 4: Our target is not to go under 25,000 square meters (our
area demand is 25,000 square meters).
w 4 0
w 5 0
17
Summary of Goal Programming
1. Identify the decision variables in the problem.
2. Identify any hard constraints in the problem and formulate them in
the usual way.
3. State the goals of the problem along with their target values.
4. Create constraints using the decision variables that would achieve
the goals exactly.
5. Transform the above constraints into goal constraints by including
deviational variables.
6. Determine which deviational variables represent undesirable
deviations from the goals.
7. Formulate an objective that penalizes the undesirable deviations.
8. Identify appropriate weights for the objective.
9. Solve the problem.
10. Inspect the solution to the problem. If the solution is unacceptable,
return to step 8 and revise the weights as needed.
18
Multiple Objective Linear Programming
(MOLP)
An MOLP problem is an LP problem with more than one
objective function.
MOLP problems can be viewed as special types of GP
problems where we must also determine target values for
each goal or objective.
Analyzing these problems effectively also requires that we
use the MiniMax objective described earlier.
19
An MOLP Example:
The Blackstone Mining Company
Blackstone Mining runs 2 coal mines in Poland.
Monthly production by a shift of workers at each mine is
summarized as follows:
Type of Coal Wythe Mine Giles Mine
High-grade 12 tons 4 tons
Medium-grade 4 tons 4 tons
Low-grade 10 tons 20 tons
Cost per month $40,000 $32,000
Gallons of toxic water produced 800 1,250
Life-threatening accidents 0.20 0.45
Blackstone needs to produce 48 more tons high-grade, 28
more medium-grade, and 100 more low-grade coal.
20
Defining the Decision Variables
X1 = number of months to schedule an extra shift at the
Wythe county mine
X2 = number of months to schedule an extra shift at the
Giles county mine
21
Defining the Constraints
High-grade coal required
12 X1 + 4 X2 >= 48
Medium-grade coal required
4 X1 + 4 X2 >= 28
Low-grade coal required
10 X1 + 20 X2 >= 100
Nonnegativity conditions
X1, X2 >= 0
22
Handling Multiple Objectives
If the objectives had target values we could treat them like
the following goals:
Goal 1: The total cost of productions cost should be
approximately t1.
Goal 2: The amount of toxic water produce should be
approximately t2.
Goal 3: The number of life-threatening accidents
should be approximately t3.
We can solve 3 separate LP problems, independently
optimizing each objective, to find values for t 1, t2 and t3.
23
Summarizing the Solutions
X2
12
11
Feasible Region
10
9
8
7
6 Solution 1
5 (minimum production cost)
Solution 2
4
(minimum toxic water)
3
2
Solution 3
1
(minimum accidents)
0
0 1 2 3 4 5 6 7 8 9 10 11 12 X1
Solution X1 X2 Cost Toxic Water Accidents
1 2.5 4.5 $244 7,625 2.53
2 4.0 3.0 $256 6,950 2.15
3 10.0 0.0 $400 8,000 2.00
24
Defining the Goals
Goal 1: The total cost of productions cost should
be approximately $244.
Goal 2: The gallons of toxic water produce should
be approximately 6,950.
Goal 3: The number of life-threatening accidents
should be approximately 2.0.
25
Defining an Objective
We can minimize the sum of % deviations as follows:
26
Defining a Better Objective
MIN: Q
Subject to the additional constraints:
40X 1 32 X 2 244
w 1 Q
244
800 X 1 1250 X 2 6950
w 2 Q
6950
0.20 X 1 0.45X 2 2
w 3 Q
2
11
Feasible Region
10
6
w1=10, w2=1, w3=1, x1=3.08, x2=3.92
5
4
w1=1, w2=10, w3=1, x1=4.23, x2=2.88
3
1
w1=1, w2=1, w3=10, x1=7.14, x2=1.43
0
0 1 2 3 4 5 6 7 8 9 10 11 12
X1
28
Comments About MOLP
Solutions obtained using the MiniMax objective are Pareto
Optimal.
Deviational variables and the MiniMax objective are also
useful in a variety of situations not involving MOLP or GP.
For minimization objectives the percentage deviation is:
(actual - target)/target
For maximization objectives the percentage deviation is:
(target - actual)/target
If a target value is zero, use the weighted deviations rather
than weighted % deviations.
29
Summary of MOLP
1. Identify the decision variables in the problem.
4. Solve the problem once for each of the objectives identified in step 2 to
determine the optimal value of each objective.
5. Restate the objectives as goals using the optimal objective values identified
in step 4 as the target values.
6. For each goal, create a deviation function that measures the amount by
which any given solution fails to meet the goal (either as an absolute or a
percentage).
9. 30Inspect
the solution to the problem. If the solution is unacceptable, adjust
the weights in step 7 and return to step 8.