# source:glpk-cmake/examples/dea.mod@1:c445c931472f

Last change on this file since 1:c445c931472f was 1:c445c931472f, checked in by Alpar Juttner <alpar@…>, 10 years ago

Import glpk-4.45

• Generated files and doc/notes are removed
File size: 4.8 KB
Line
1/* Data Envelopment Analysis (DEA)
2 *
3 * DEA quantifies the relative efficiency of decision making units (DMUs) by
4 * finding the efficient frontier in multiple input multiple output data.  The
5 * inputs are resources (eg. number of employees, available machines, ...),
6 * the outputs are productive outputs (eg. contracts made, total sales, ...).
7 * The method is non-parametric.  More details are available in the paper
8 * below.
9 *
10 * Models according to: Seiford, Threall, "Recent developments in DEA", 1990.
11 *
12 * Implementation: Sebastian Nowozin <nowozin@gmail.com>
13 */
14
15### SETS ###
16
17set dmus;       # Decision Making Units (DMU)
18set inputs;     # Input parameters
19set outputs;    # Output parameters
20
21
22### PARAMETERS ###
23
24param input_data{dmus,inputs} >= 0;
25param output_data{dmus,outputs} >= 0;
26
27
28### PROGRAM ###
29
30var theta{dmus} >= 0;
31var lambda{dmus,dmus} >= 0;
32
33minimize inefficiency: sum{td in dmus} theta[td];
34
35s.t. output_lower_limit{o in outputs, td in dmus}:
36    sum{d in dmus} lambda[d,td]*output_data[d,o] >= output_data[td,o];
37s.t. input_upper_limit{i in inputs, td in dmus}:
38    sum{d in dmus} lambda[d,td]*input_data[d,i] <= theta[td]*input_data[td,i];
39
40    s.t. PI1{td in dmus}:
41        sum{d in dmus} lambda[d,td] = 1;
42/*
43possibilities:
44      i) (no constraint)
45     ii) s.t. PI1{td in dmus}:
46        sum{d in dmus} lambda[d,td] <= 1;
47    iii) s.t. PI1{td in dmus}:
48        sum{d in dmus} lambda[d,td] >= 1;
49*/
50
51
52### SOLVE AND PRINT SOLUTION ###
53
54solve;
55
56printf "DMU\tEfficiency\n";
57for {td in dmus} {
58    printf "%s\t%1.4f\n", td, theta[td];
59}
60
61### DATA ###
62
63data;
64
65set dmus := 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
66    21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
67    41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
68    61 62 63 64 65 66 67 68 69 ;
69set inputs := AvgInventory LaborCost OperatingCost Population ;
70set outputs := PrescrVol kDollarValue ;
71
72param input_data default 0.0 :
73
74        AvgInventory LaborCost OperatingCost Population :=
75
761 8000 17030 1280 1410
772 9000 25890 2779 1523
783 13694 29076 2372 1354
794 4250 17506 1385 822
805 6500 23208 639 746
816 7000 12946 802 1281
827 4500 18001 1130 1016
838 5000 14473 1097 1070
849 27000 31760 5559 1694
8510 21560 50972 15010 1910
8611 15000 39523 4799 1745
8712 8500 13076 3489 1353
8813 35000 35427 1704 500
8914 18000 27554 2882 1016
9015 59750 53848 14208 2500
9116 19200 38253 1480 2293
9217 40000 109404 83016 2718
9318 8466 18198 1278 2877
9419 16000 40891 7599 4150
9520 10000 45444 5556 4421
9621 25000 35623 2121 3883
9722 14000 20192 5515 3519
9823 12500 34973 10475 32366
9924 17260 32284 14498 3393
10025 7000 17920 7585 4489
10126 14000 42094 3742 2217
10227 16400 35422 14236 4641
10328 13000 19100 3529 5968
10429 30000 72167 8656 8715
10530 12530 19970 1714 5968
10631 31500 39183 4919 5607
10732 10000 32048 3483 7324
10833 22000 68877 12279 8685
10934 10000 29812 3332 8685
11035 16000 47686 2507 5420
11136 10000 33415 4738 7703
11237 9000 12359 4603 4665
11338 16439 23614 2989 6317
11439 14500 36069 1793 31839
11540 39000 76307 9539 15619
11641 24927 40706 12661 30213
11742 13858 39267 4609 34719
11843 33375 29509 11323 31839
11944 29044 44482 5542 34719
12045 32257 61365 20550 32366
12146 8800 49671 3306 43561
12247 47000 40425 10396 31263
12348 12000 33034 4915 31263
12449 28000 69163 4688 15173
12550 13300 28931 16735 73064
12651 13500 29758 4260 62309
12752 24000 40927 8285 23166
12853 16000 40403 2131 99836
12954 17000 38730 2539 60348
13055 25000 35978 2502 99836
13156 16000 37509 6278 99836
13257 20000 46950 10715 85925
13358 14000 35966 3144 85925
13459 22000 68318 8015 108987
13560 21879 69537 7778 108987
13661 15000 25425 2812 201404
13762 10000 19508 2454 201404
13863 20000 28191 3367 201404
13964 18000 37073 8624 108987
14065 19051 23763 3496 201404
14166 15000 28642 3366 201404
14267 10000 35919 3868 201404
14368 24000 54653 26494 108987
14469 1800 6276 3413 60348
145        ;
146
147param output_data default 0.0 :
148
149        PrescrVol kDollarValue :=
150
1511 12293 61.00
1522 18400 92.00
1533 16789 92.65
1544 10700 45.00
1555 9800 50.00
1566 6500 29.00
1577 8200 56.00
1588 8680 45.00
1599 33800 183.00
16010 23710 156.00
16111 24000 120.00
16212 17500 75.00
16313 25000 130.00
16414 26000 122.00
16515 26830 178.513
16616 16600 106.00
16717 90000 450.00
16818 11140 73.624
16919 25868 136.00
17020 32700 191.295
17121 29117 152.864
17222 18000 100.00
17323 11100 60.00
17424 23030 137.778
17525 10656 58.00
17626 24682 152.095
17727 26908 120.00
17828 16464 80.00
17929 57000 321.00
18030 17532 94.747
18131 30035 168.00
18232 16000 100.00
18333 63700 277.00
18434 18000 90.00
18535 27339 139.134
18636 19500 116.00
18737 13000 80.00
18838 15370 102.00
18939 18446 90.00
19040 56000 260.00
19141 73845 364.951
19242 28600 145.00
19343 27000 243.00
19444 52423 279.816
19545 73759 363.388
19646 20500 80.00
19747 27100 115.00
19848 15000 110.00
19949 50895 277.852
20050 19707 128.00
20151 17994 78.80
20252 36135 167.222
20353 30000 153.00
20454 26195 125.00
20555 28000 216.00
20656 24658 152.551
20757 36850 190.00
20858 29250 183.69
20959 50000 250.00
21060 40078 265.443
21161 20200 110.00
21262 12500 75.00
21363 30890 195.00
21464 31000 175.00
21565 31277 192.992
21666 11500 75.00
21767 30000 175.668
21868 38383 190.00
21969 2075 8.650
220        ;
221
222end;
Note: See TracBrowser for help on using the repository browser.