DOC

# Multi-Objective Programming

By Lori Lewis,2014-06-20 14:08
8 views 0
Multi-Objective Programming

Multi-Objective Programming

Lexicographic Utility The formulation is: Select X so that

AXb

X0

and so that the goals are handled in the following priority order:

gXT~1jj1 j

then

gXT~ 2jj2j

on through to

gXT~RjjR j

thfor the R and last goal.

Minwi

stwglTforallr..rrr

glgXforallr0~rrjjj

aXbforallm~mjjmj

wwforallrirr

wforallrir

w,X0foralljandrrj

glunrestrictedforallrr

Multi-Objective Programming Lexicographic Utility -

Example

.Table 11.1. Tableau for Lexicographic Example

Original Decision Variables Profit Idle Resources Goal Levels Goal Deviations RHS Carver X X X X X X Sml Lrg Labor Profit Idle Idle Profit Prof Idle Idle Profit 123456 Lathe Lathe 9000 Labor Lathe 9500 9000 Labor Lathe 9500

Objective 12 Min

Original Problem Profit 67 66 66.3 80 78.5 78.4 -1 = 0 Equations

Lexicographic Profit 9000 1 ? 0 Satisfaction

Small Lathe 0.8 1.3 0.2 1.2 1.7 0.5 1 = 140

Large Lathe 0.5 0.2 1.3 0.7 0.3 1.5 1 = 90

Carver 0.4 0.4 0.4 1.0 1.0 1.0 1 = 120

Labor 1.0 1.05 1.1 0.8 0.82 0.84 1 = 125

Idle Labor 1 -1 = 0

Idle Lathe 1 1 -1 = 0

Profit 9500 1 -1 = 0

Idle Labor 1 1 ? 30

Idle Lathe 1 1 ? 25

Profit 9500 1 1 ? 9500

Idle Labor 1 99999999 ?

Idle Lathe 1 99999999 ?

Profit 9500 1 ? 99999999 Goal Satisfaction Profit 9000 1 1 ? 9000

Goal Level Profit 9000 1 -1 = 0 Identity level

Multi-Objective Programming

Lexicographic Utility - Example Table 11.2. GAMS Formulation of Lexicographic Example

5 SET GOALS GOALS IN THE ORDER THEY ARE TO BE MET 6 /PROFIT1,LABOR,LATHETIME,PROFIT2/ 7 PROCESS TYPES OF PRODUCTION PROCESSES 8 /FUNCTNORM , FUNCTMXSML , FUNCTMXLRG 9 ,FANCYNORM , FANCYMXSML , FANCYMXLRG/ 10 RESOURCE TYPES OF RESOURCES 11 /SMLLATHE,LRGLATHE,CARVER,LABOR/ 13 ALIAS(GOALS,GOAL) ; 15 PARAMETER PRICE(PROCESS) PRODUCT PRICES BY PROCESS 16 /FUNCTNORM 82, FUNCTMXSML 82, FUNCTMXLRG 82 17 ,FANCYNORM 105, FANCYMXSML 105, FANCYMXLRG 105/ 18 PRODCOST(PROCESS) COST BY PROCESS 19 /FUNCTNORM 15, FUNCTMXSML 16 , FUNCTMXLRG 15.7 20 ,FANCYNORM 25, FANCYMXSML 26.5, FANCYMXLRG 26.6/ 21 RESORAVAIL(RESOURCE) RESOURCE AVAILABLITY 22 /SMLLATHE 140, LRGLATHE 90, 23 CARVER 120, LABOR 125/ 24 TARGET(GOALS) GOAL TARGET LEVELS 25 /PROFIT1 9000,LABOR 30,LATHETIME 25 26 ,PROFIT2 9500/ 27 DEV(GOALS) MAXIMUM DEVIATION BY GOAL 28 WEIGHTS(GOALS) WEIGHTS BY GOAL ; 30 DEV(GOALS)=999999; 31 WEIGHTS(GOALS)=0.00001; 33 TABLE RESOURUSE(RESOURCE,PROCESS) RESOURCE USAGE 35 FUNCTNORM FUNCTMXSML FUNCTMXLRG 36 SMLLATHE 0.80 1.30 0.20 37 LRGLATHE 0.50 0.20 1.30 38 CARVER 0.40 0.40 0.40 39 LABOR 1.00 1.05 1.10 40 + FANCYNORM FANCYMXSML FANCYMXLRG 41 SMLLATHE 1.20 1.70 0.50 42 LRGLATHE 0.70 0.30 1.50 43 CARVER 1.00 1.00 1.00 44 LABOR 0.80 0.82 0.84; 46 POSITIVE VARIABLES 47 PRODUCTION(PROCESS) ITEMS PRODUCED BY PROCESS 48 IDLE(RESOURCE) SLACK VARIABLES FOR RESOURCES 49 GOALLEVEL(GOALS) GOAL LEVELS 50 PROFIT TOTALPROFIT 51 SHORTFALL(GOALS) GOAL SHORTFALLS; 52 VARIABLES 53 GOALOBJ GOAL OBJECTIVE; 54 EQUATIONS 55 OBJT OBJECTIVE FUNCTION 56 PROFITACCT PROFIT ACCOUNTING 57 AVAILABLE(RESOURCE) RESOURCES AVAILABLE 58 IDLLABGOAL IDLE LABOR GOAL 59 PROFITGL1 PROFIT1 GOAL 60 PROFITGL2 PROFIT2 GOAL 61 LATHEGOAL IDLE LATHE GOAL 62 TARGS(GOALS) GOAL TARGETS 63 MAXSHORT(GOALS) SHORTFALL LIMITS; 64

Table 11.2. GAMS Formulation of Lexicographic Example (Continued)

65 OBJT.. GOALOBJ =E= SUM(GOALS,WEIGHTS(GOALS)*SHORTFALL(GOALS)) ; 66 67 PROFITACCT.. PROFIT =E= 68 SUM(PROCESS,(PRICE(PROCESS)-PRODCOST(PROCESS)) 69 * PRODUCTION(PROCESS)) ; 70 71 AVAILABLE(RESOURCE).. 72 SUM(PROCESS,RESOURUSE(RESOURCE,PROCESS)*PRODUCTION(PROCESS)) 73 +IDLE(RESOURCE) =E= RESORAVAIL(RESOURCE); 74 75 IDLLABGOAL.. IDLE("LABOR") =E= GOALLEVEL("LABOR") ; 76 PROFITGL1.. PROFIT =E= GOALLEVEL("PROFIT1"); 77 PROFITGL2.. PROFIT =E= GOALLEVEL("PROFIT2"); 78 LATHEGOAL.. IDLE("LRGLATHE")+IDLE("SMLLATHE") 79 =E= GOALLEVEL("LATHETIME"); 80 TARGS(GOALS).. GOALLEVEL(GOALS) + SHORTFALL(GOALS) =G= TARGET(GOALS) ; 81 82 MAXSHORT(GOALS).. SHORTFALL(GOALS) =L= DEV(GOALS); 83 84 MODEL RESALLOC /ALL/; 85 PARAMETER GOALDATA(GOAL,*,*) 86 LOOP(GOAL, 87 WEIGHTS(GOAL)=1. 88 89 SOLVE RESALLOC USING LP MINIMIZING GOALOBJ; 90 DEV(GOAL)=SHORTFALL.L(GOAL); 91 WEIGHTS(GOAL)=0.00001; 92 GOALDATA(GOAL,GOALS,"ATTAIN")=GOALLEVEL.L(GOALS) ; 93 GOALDATA(GOAL,GOALS,"SHORT")=SHORTFALL.L(GOALS) ; 94 GOALDATA(GOAL,PROCESS,"XLEVEL")=PRODUCTION.L(PROCESS); 95 ); 96 DISPLAY GOALDATA;

Multi-Objective Programming

Lexicographic Utility Example Solution

Lexicographic Utility

Table 11.3 Solution to Lexicographic Example

Goal Being Solution Goal Goal Goal Production

Pursued Item Idle Attainment Level Shortfall Level

PROFIT1 PROFIT1 GOAL 9500.000 9500 0

.LABOR GOAL 25.976 30 4.024

.LATHETIME GOAL 7.927 25 17.073

.PROFIT2 GOAL 9500.000 9500 0

.FUNCTNORM PROD 12.195

.FANCYNORM PROD 108.537

LABOR .PROFIT1 GOAL 9481.579 9500 0

.LABOR GOAL 30.000 30 0

.LATHETIME GOAL 4.359 25 20.641

.PROFIT2 GOAL 9481.579 9500 18.421

.FANCYNORM PROD 115.296

.FANCYMXLRG PROD 3.289

LATHETIME .PROFIT1 GOAL 9000.000 9500 0

.LABOR GOAL 30.000 30 0

.LATHETIME GOAL 20.663 25 4.337

.PROFIT2 GOAL 9000.000 9500 500.000

.FUNCTNORM PROD 15.152

.FANCYNORM PROD 99.811

PROFIT2 .PROFIT1 GOAL 9000.000 9500 0

.LABOR GOAL 30.000 30 0

.LATHETIME GOAL 20.663 25 4.337

.PROFIT2 GOAL 9000.000 9500 500.000

.FUNCTNORM PROD 15.152

.FANCYNORM PROD 99.811

The second utility function type involves tradeoffs between various objectives

First Formulation (No Targets):

Maxcq~rrr

gXglforallr0~rjjrj

glNqforallr0rrr

aXbforallm~mjjmj

Xqforalljandr,0jr

glunrestrictedforallrr

- This formulation does not take into account target levels

- The objective function, maximizes multi-dimensional utility summed across

all objectives

The second weighted tradeoff formulation embodies goal target levels

The formulation is:

？？？？Maxcqcq~~rrrr

rr

stgXglforallr..0？！~rjjr

j

？？glTqTqTforallr？？！rrrrrr

aXbforallm~mjjm j

？？Xqqforalljandr,,0jrr

glunrestrictedforallrr

Multi-Objective Programming

Weighted Trade-Off / Example 1 No Targets: .Table 11.4. Tableau for Weighted Tradeoff Example

Original Decision Variables Profit Idle Resources Goal Levels Goal Deviations RHS

X X X X X X Lrg Sml Carver Labor Profit Idle Idle Profit Idle Idle 123456

Lathe Lathe Labor Lathe Labor Lathe

Objective 1 .4 .4 Min

Original Problem Profit 67 66 66.3 80 78.5 78.4 -1 = 0

Equations Small 0.8 1.3 0.2 1.2 1.7 0.5 1 = 140 Lathe

Large 0.5 0.2 1.3 0.7 0.3 1.5 1 = 90

Lathe

Carver 0.4 0.4 0.4 1.0 1.0 1.0 1 = 120

Labor 1.0 1.05 1.1 0.8 0.82 0.84 1 = 125

Profit 1 -1 = 0 Goal Identity Idle Labor 1 -1 = 0

Idle Lathe 1 1 -1 = 0

Goal Level Profit 9000 -1 10500 = 0

Idle Labor -1 125 = 0

Idle Lathe -1 230 = 0

Multi-Objective Programming