有一个程序,一直运行不出来。
sets:S/1..8/: a;D/1..15/: b;U(S,D): c;endsets
data:b = 3000 3100 2900 3100 3100 3400 3500 3200 3000 3100 3300 3200 3300 2900 3100;a = 3600 4100 7100 7000 7000 9100 5500 4200;c = 390.6 370.8 876.3 745.4 144.5 200.2 235 517 542 665 799 852.2 602 903 600.7 618.5 636 1098.6 1037 354.6 242 205.5 541.5 321 827 855.1 798 614 1092.5 710 553 440 497.6 305.9 624.7 691.5 801.5 338.4 1104 427 916.5 1083 820 612.5 522 442 401.8 779.8 725.7 238 173.4 326.6 219 576 523.2 709.3 714.6 517.7 790 448 113.1 25.6 903 445.7 290.7 560 477 249.5 896.8 725.2 1057 1177.4 899.6 932.4 726.6 5.2 113.1 1003.3 531.4 269.4 589.7 433.6 335 878.4 813.8 1115.5 1216.8 952.7 1034.9 811.8 1217.7 1172.4 907.2 1376.4 993.2 661.8 966.4 937.3 728.3 692.2 300 40.8 272.4 777 563 1011 894.5 40.1 768.1 974 855.7 1112 701.8 1243 284 617 898.2 727 152.3 426.8;enddata
VARIABLES:OBJ,x(i,j) >= 0,Y(i,j)BINARY;
min = @sum(S(i): @sum(D(j):c(i,j)*x(i,j)));
@for(D(j): @sum(S(i):x(i,j))=b(j));@for(S(i): @sum(D(j):x(i,j)) <= a(i));@for((i,j): 1000*Y(i,j) <= x(i,j) <=2000*Y(i,j));@for(S(i):@for(D(j):x(i,j)>=0));
sets:S/1..8/: a;D/1..15/: b;U(S,D): c;endsets
data:b = 3000 3100 2900 3100 3100 3400 3500 3200 3000 3100 3300 3200 3300 2900 3100;a = 3600 4100 7100 7000 7000 9100 5500 4200;c = 390.6 370.8 876.3 745.4 144.5 200.2 235 517 542 665 799 852.2 602 903 600.7 618.5 636 1098.6 1037 354.6 242 205.5 541.5 321 827 855.1 798 614 1092.5 710 553 440 497.6 305.9 624.7 691.5 801.5 338.4 1104 427 916.5 1083 820 612.5 522 442 401.8 779.8 725.7 238 173.4 326.6 219 576 523.2 709.3 714.6 517.7 790 448 113.1 25.6 903 445.7 290.7 560 477 249.5 896.8 725.2 1057 1177.4 899.6 932.4 726.6 5.2 113.1 1003.3 531.4 269.4 589.7 433.6 335 878.4 813.8 1115.5 1216.8 952.7 1034.9 811.8 1217.7 1172.4 907.2 1376.4 993.2 661.8 966.4 937.3 728.3 692.2 300 40.8 272.4 777 563 1011 894.5 40.1 768.1 974 855.7 1112 701.8 1243 284 617 898.2 727 152.3 426.8;enddata
VARIABLES:OBJ,x(i,j) >= 0,Y(i,j)BINARY;
min = @sum(S(i): @sum(D(j):c(i,j)*x(i,j)));
@for(D(j): @sum(S(i):x(i,j))=b(j));@for(S(i): @sum(D(j):x(i,j)) <= a(i));@for((i,j): 1000*Y(i,j) <= x(i,j) <=2000*Y(i,j));@for(S(i):@for(D(j):x(i,j)>=0));