Bulgarian Academy of Sciences. 22 July, 2008

Bulgarian Academy of Sciences. 22 July, 2008
Index
• Basic concepts
• Goal Programming
• Reference Point
End
1
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
•A paper production firm elaborates:
- cellulose pulp obtained by mechanical means.
- cellulose pulp obtained by chemical means.
•Maximum production capacities: 300 and 200 mt/day.
•Each ton demands a working day. The firm has a staff of
400 workers.
•Gross margin per ton:
- mechanical means : 1.000 m.u.
- chemical means : 3.000 m.u.
•Cover fixed costs (300.000 m.u./day).
2
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
Objectives of the firm:
•Maximize the gross margin (economical objective)
•Minimize the hazard in the river where the factory pours the
production (environmental objective).
Biologic oxygen demands in the water of the river:
- Mechanical means: 1 ut/mt,
- Chemical means: 2 ut/mt.
3
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
The multiobjective model
•Decision variables: x1 tons/day mechanical means,
x2 tons/day chemical means.
•Constraints:
x1  300,
x2  200, (production capacities),
x1 + x2  400, (employment),
1.000x1 + 3.000x2  300.000 (cover costs)
4
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
•Objectives (criteria):
Maximize 1.000x1 + 3.000x2 (gross margin),
Minimize x1 + 2x2 (biologic oxygen demand).
max 1.000 x1  3.000 x2
min x  2 x
1
2

s.t.
x1  300

x2  200


x1  x2  400


1.000 x1  3.000 x2  300.000
5
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
Efficiency
• x* is an efficient solution (Pareto optimal) of the
problem, if there is not any feasible solution y such
that fi(y) ≤ fi(x*) (i = 1,…, p), with some fj(y) < fj(x*).
•x* is a weakly efficient solution (weak Pareto
optimal) of the problem, if there is not any feasible
solution y such that fi(y) < fi(x*), (i = 1,…, p).
6
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
Ideal values
Opt f i (x)
( Pi ) 
s.t. x  X
Optimal sol: x(i). Ideal value i: fi* = fi(x(i))
7
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
Payoff Matrix
f1* = f1(x(1))
f2(x(1))
…
fp(x(1))
f1(x(2))
f2* = f2(x(2))
…
fp(x(2))
…
…
…
…
f1(x(p))
f2(x(p))
…
fp* = fp(x(p))
f1*
f2*
fp*
Anti-ideals: worst value per column.
Approximation to nadir value.
8
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
Gross
margin
Biologic O2
demand
Gross
margin
800.000
600
Biologic O2
demand
300.000
200
9
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
• Decision space:


X  x  R / g j (x)  0,, j  1,, m  R
n
n
• Objective space:


f ( X )  z  R / z  f (x), x  X  R
p
p
10
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
Decision space
(3)
(1)
(2)
(4)
11
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
Objective space
12
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
Efficient Set
13
Bulgarian Academy of Sciences. 22 July, 2008
Basic concepts
Efficient Set
14
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
• Building a goal
Objective function fj(x)
fj(x) ≤ tj
fj(x) ≥ tj
fj(x) = tj
Target value tj
Negative: how
short we fall from
the target value
fj(x) + nj – pj = tj
Deviation variables
Positive: how
long we fall
Undesired deviation variables
pj
nj
pj + nj
15
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
Achievement function
h(nj, pj) =
pj
nj
pj + nj
Associated optimization problem
min

s.t.


h( n j , p j )
f j (x)  n j  p j  t j
x X
If h*(nj, pj) = 0, the
goal is satisfied.
If h*(nj, pj) > 0, the
goal is not satisfied.
16
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
The decision maker gives a goal for each objective:
≤
fj(x) = tj,
≥
j = 1, …, p
Associated optimization problem
min

s.t.


h(n, p)
f j ( x)  n j  p j  t j ,
j  1,, p
x X
17
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
•Satisfying solution: satisfies all the goals.
•Non-satisfying solution: does not satisfy some goal
•A satisfying solution may not be efficient
•Depending on the form of the achievement function h,
there are different goal programming variants:
•Weighted,
•Minmax,
•Lexicographic.
18
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
In our example, let us consider the following goals:
- Pollution ≤ 300
- Gross margin ≥ 400.000
min
s.t.









h( p1 , n2 )
x  300
y  200
x  y  400
1.000 x  3.000 y  300.000
x  2 y  n1  p1  300
1.000 x  3.000 y  n2  p2  400.000
19
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
Satisfying
solutions
x + 2y ≤ 300
Efficient and
satisfying
solutions
1.000x + 3.000y ≥ 400.000
20
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
f1 ≥ 400.000
f2 ≥ -300
21
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
Let us now consider the following goals:
- Pollution ≤ 300
- Gross margin ≥ 500.000
min
s.t.









h( p1 , n2 )
x  300
y  200
x  y  400
1.000 x  3.000 y  300.000
x  2 y  n1  p1  300
1.000 x  3.000 y  n2  p2  500.000
22
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
There are no satisfying solutions
x + 2y ≤ 300
1.000x + 3.000y ≥ 500.000
23
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
f1 ≥ 500.000
f2 ≥ -300
24
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
Weighted goal programming:
The DM gives a weight for each goal mj, j = 1, …, p
 pj
mj 
h(n, p)    n j
j 1 t j 
pj  nj
p
25
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
Example. Goals (equal weights: m1 = m2 = 1)
- Pollution ≤ 300
- Gross margin ≥ 400.000

min
s.t.








p1
n2

300 400.000
x  300
y  200
x  y  400
1.000 x  3.000 y  300.000
x  2 y  n1  p1  300
1.000 x  3.000 y  n2  p2  400.000
26
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
27
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
28
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
29
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
Example. Goals (equal weights: m1 = m2 = 1)
- Pollution ≤ 300
- Gross margin ≥ 500.000

min
s.t.








p1
n2

300 500.000
x  300
y  200
x  y  400
1.000 x  3.000 y  300.000
x  2 y  n1  p1  300
1.000 x  3.000 y  n2  p2  500.000
30
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
31
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
32
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
33
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
Minmax goal programming:
The DM gives a weight for each goal mj, j = 1, …, p
 pj
mj 
h(n, p)  max
 nj
j 1,, p t
j
p  n
j
 j
34
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
Example. Goals (equal weights: m1 = m2 = 1)
- Pollution ≤ 300
- Gross margin ≥ 500.000

min

s.t.







n2 
 p1
max 
,

 300 500.000 
x  300
y  200
x  y  400
1.000 x  3.000 y  300.000
x  2 y  n1  p1  300
1.000 x  3.000 y  n2  p2  500.000
35
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
min
s.a














d
x  300
y  200
x  y  400
1.000 x  3.000 y  300.000
x  2 y  n1  p1  300
1.000 x  3.000 y  n2  p2  500.000
p1
d
300
n2
d
500.000
36
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
37
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
38
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
39
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
Lexicographic goal programming:
1) The goals are defined
2) The priority levels are defined
3) Each goal is assigned to the corresponding level
f1 ≤ t1
f2 ≥ t2
f3 = t3
f4 ≥ t4
f5 ≤ t5
f6 ≥ t6
Level 1
Level 2
Level 3
40
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
4) The problem of the first level is solved

min

s.t.





n2 p5
h1 (n, p)  
t 2 t5
x X
f 2 ( x )  n2  p 2  t 2
f 5 (x)  n5  p5  t5
pi , ni  0
•If h1*(n, p) > 0 (the goals of the first level are not satisfied)
stop.
•If h1*(n, p) = 0 (the goals of the first level are satisfied)
proceed to the next level.
41
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
5) The problem of the second level is solved

min

s.t.











p1 n4 n6
h2 (n, p)   
t1 t 4 t6
x X
f 2 (x)  n2  p2  t 2
f 5 (x)  n5  p5  t5
h1* (n, p)  0 (n2  p5  0)
f1 (x)  n1  p1  t1
f 4 (x)  n4  p4  t 4
f 6 (x)  n6  p6  t6
pi , ni  0
42
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
6) Problem of the third level

min

s.t.














p3  n3
h3 (n, p) 
t3
x X
f 2 (x)  n2  p2  t 2
f 5 (x)  n5  p5  t5
h1* (n, p)  0 (n2  p5  0)
f1 (x)  n1  p1  t1
f 4 (x)  n4  p4  t 4
f 6 (x)  n6  p6  t6
h2* (n, p)  0 ( p1  n4  p6  0)
f 3 (x)  n3  p3  t3
pi , ni  0
43
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
Example. Goals (L1: pollution, L2: gross margin)
- Pollution ≤ 300
- Gross margin ≥ 500.000

min
s.t.


( L1) 




p2
300
x  300
y  200
x  y  400
1.000 x  3.000 y  300.000
x  2 y  n2  p2  300
44
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
45
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming

min
s.t.



( L 2) 






n1
500.000
x  300
y  200
x  y  400
1.000 x  3.000 y  300.000
x  2 y  n2  p2  300
p2  0
1.000 x  3.000 y  n1  p1  500.000
46
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
47
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
N2
N1
48
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
Example. Goals (L1: gross margin, L2: pollution)
- Pollution ≤ 300
- Gross margin ≥ 500.000

min
s.t.


( L1) 




n1
500.000
x  300
y  200
x  y  400
1.000 x  3.000 y  300.000
1.000 x  3.000 y  n1  p1  500.000
49
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming

min
s.t.



( L 2) 






p2
300
x  300
y  200
x  y  400
1.000 x  3.000 y  300.000
1.000 x  3.000 y  n1  p1  500.000
n1  0
x  2 y  n2  p2  300
50
Bulgarian Academy of Sciences. 22 July, 2008
Goal Programming
N2
N1
51
Bulgarian Academy of Sciences. 22 July, 2008
Reference point
Functions to be maximized.
Aspiration levels qj
(fj ≥ qj), j = 1, …, p
A weight is assigned to each objective j, j = 1, …, p
(Ruiz et al., 2008, JORS)
min max  j  f j (x)  q j 
xX j 1,, p
52
Bulgarian Academy of Sciences. 22 July, 2008
Reference point
q
Direction
determined by 
q
53
Bulgarian Academy of Sciences. 22 July, 2008
Reference point
Non-convex problems
q
54