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

    Multi-Objective Programming Weighted Trade-Off

    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

    Multi-Objective Programming Weighted Trade-Off

    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

    Weighted Trade-Off / Example 1

Table 11.5. GAMS Setup for Weighted Objective Example

     4 5 SET GOALS /PROFIT,LABOR,LATHETIME/ 6 PROCESS TYPES OF PRODUCTION PROCESSES 7 /FUNCTNORM , FUNCTMXSML , FUNCTMXLRG 8 ,FANCYNORM , FANCYMXSML , FANCYMXLRG/ 9 RESOURCE TYPES OF RESOURCES 10 /SMLLATHE,LRGLATHE,CARVER,LABOR/ 11 12 PARAMETER PRICE(PROCESS) PRODUCT PRICES BY PROCESS 13 /FUNCTNORM 82, FUNCTMXSML 82, FUNCTMXLRG 82 14 ,FANCYNORM 105, FANCYMXSML 105, FANCYMXLRG 105/ 15 PRODCOST(PROCESS) COST BY PROCESS 16 /FUNCTNORM 15, FUNCTMXSML 16 , FUNCTMXLRG 15.7 17 ,FANCYNORM 25, FANCYMXSML 26.5, FANCYMXLRG 26.6/ 18 RESORAVAIL(RESOURCE) RESOURCE AVAILABLITY 19 /SMLLATHE 140, LRGLATHE 90, 20 CARVER 120, LABOR 125/ 21 WEIGHTS(GOALS) WEIGHT FOR GOALS 22 /PROFIT 1,LABOR 0.4,LATHETIME 0.4/ 23 MAGNITUDE(GOALS) MAGNITUDE FOR GOALS 24 /PROFIT 10500/; 25 MAGNITUDE("LATHETIME")=RESORAVAIL("SMLLATHE")+RESORAVAIL("LRGL ATHE"); 26 MAGNITUDE("LABOR")=RESORAVAIL("LABOR"); 27 28 29 TABLE RESOURUSE(RESOURCE,PROCESS) RESOURCE USAGE 30 31 FUNCTNORM FUNCTMXSML FUNCTMXLRG 32 SMLLATHE 0.80 1.30 0.20 33 LRGLATHE 0.50 0.20 1.30 34 CARVER 0.40 0.40 0.40 35 LABOR 1.00 1.05 1.10 36 + FANCYNORM FANCYMXSML FANCYMXLRG 37 SMLLATHE 1.20 1.70 0.50 38 LRGLATHE 0.70 0.30 1.50 39 CARVER 1.00 1.00 1.00 40 LABOR 0.80 0.82 0.84; 41 42 POSITIVE VARIABLES 43 PRODUCTION(PROCESS) ITEMS PRODUCED BY PROCESS 44 IDLE(RESOURCE) SLACK VARIABLES FOR RESOURCES 45 GOALLEVEL(GOALS) GOAL LEVELS 46 PROFIT TOTALPROFIT; 47 VARIABLES 48 GOALOBJ GOAL OBJECTIVE; 49 EQUATIONS 50 OBJT OBJECTIVE FUNCTION 51 PROFITACCT PROFIT ACCOUNTING 52 AVAILABLE(RESOURCE) RESOURCES AVAILABLE 53 IDLLABGOAL IDLE LABOR GOAL 54 PROFITGOAL PROFIT GOAL 55 LATHEGOAL IDLE LATHE GOAL; 56 57 OBJT.. GOALOBJ =E= SUM(GOALS,WEIGHTS(GOALS)*GOALLEVEL(GOALS)) ; 58 59 PROFITACCT.. PROFIT =E=

Report this document

For any questions or suggestions please email
cust-service@docsford.com