Jsun Yui Wong
The computer programn listed below is concerned with the scheduling problem of Carlson and Nemhauser (1966). As shown in line 101 through line 186 for a case of scheduling 78 activities among four facilities, the interaction cost between activity 1 and activity 2 (if scheduled on the same facility), the interaction cost between activity 1 and activity 3, the interaction cost between activity 1 and activity 4, ..., and the interaction cost between activity 77 and activity 78 are 1, 4, 1, ..., and 6, respectively. These data were not selected randomly or scientifically.
0 DEFSNG A-Z
3 DEFINT I,J,K
4 DIM X(90),A(90)
7 DIM TM(78,78),HR(78,78)
21 FOR IW=1 TO 77
23 FOR JW=IW+1 TO 78
26 READ HR(IW,JW)
28 NEXT JW
29 NEXT IW
101 DATA 1,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,9,3,1
102 DATA 2,3,1,6,6,3,0,1,2,4,4,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,4,3,4
103 DATA 1,9,3,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,5,6,3,4,2,7,4,2,3,4,3,2
104 DATA 4,3,1,7,7,1,0,4,2,3,7,4,3,0,6,3,2,2,3,2,3,5,0,6,5,3,5,4,2,9,2,7,9,3,7
105 DATA 3,4,5,7,3,5,0,1,2,5,5,2,3,0,6,3,2,2,3,4,0,4,0,2,6,3,5,2,6,8,2,3,4,3,2
106 DATA 9,3,1,7,3,4,0,1,2,5,5,4,3,0,6,3,2,2,8,4,0,1,0,6,2,3,5,2,7,1,2,7,8,3,2
107 DATA 7,4,1,0,3,5,0,1,2,4,5,4,3,0,6,3,2,2,3,4,1,1,0,6,5,5,8,2,7,9,2,7,8,3,6
108 DATA 2,2,3,7,3,5,3,3,2,5,5,4,3,3,6,3,2,2,3,4,0,3,0,2,6,3,5,2,3,8,2,7,8,3,4
109 DATA 5,4,1,6,5,7,0,1,2,5,5,4,3,0,6,3,2,2,3,4,2,1,2,6,6,3,5,2,7,8,2,7,2,3,5
110 DATA 2,4,1,7,3,5,1,1,2,4,2,4,3,0,5,3,2,2,3,4,0,1,2,6,6,4,5,9,7,9,2,7,9,3,2
111 DATA 7,3,4,4,3,5,5,1,2,5,5,4,3,0,6,3,2,2,3,4,5,1,0,6,6,3,5,2,4,4,2,4,4,3,1
112 DATA 2,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,9,3,2
113 DATA 3,4,6,7,3,5,1,1,2,5,5,4,3,4,6,3,2,2,3,4,3,3,1,6,6,3,5,2,7,9,2,7,9,3,8
114 DATA 4,4,1,7,4,5,0,1,2,5,5,4,3,1,6,3,2,2,3,4,0,1,1,4,6,4,6,2,7,9,2,7,9,3,1
115 DATA 0,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,9,3,2
116 DATA 2,5,1,3,6,2,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,6,2,7,9,3,2
117 DATA 9,3,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,5,4,5,2,7,2,2,4,4,3,7
118 DATA 3,4,1,7,4,5,3,1,2,5,3,4,3,0,6,3,2,2,3,4,5,1,4,6,4,3,5,2,3,4,2,7,4,3,1
119 DATA 6,4,1,7,3,5,0,1,2,5,5,4,3,6,6,3,2,2,3,4,0,1,6,6,6,3,5,2,7,0,2,7,9,3,7
120 DATA 4,2,1,2,7,0,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,3,6,6,3,2,2,3,2,2,4,4,3
121 DATA 3,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,9,3,3
122 DATA 3,4,2,7,3,0,0,1,2,4,6,4,3,0,6,3,2,2,3,4,0,2,0,5,6,3,5,2,7,2,2,7,2,3,2
123 DATA 8,4,1,7,3,5,0,1,2,4,7,4,3,0,6,3,2,2,3,4,0,1,0,7,6,3,5,2,7,0,2,7,9,3,8
124 DATA 7,4,1,7,3,5,0,1,2,5,5,4,3,0,7,3,2,2,3,4,0,1,0,4,2,3,5,2,7,8,2,7,0,3,1
125 DATA 9,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,3,2,3,4,0,1,0,6,2,3,5,2,7,9,2,7,0,3,7
126 DATA 3,4,1,7,3,5,0,1,2,5,5,4,3,0,7,3,2,2,3,4,0,1,0,6,6,3,5,2,7,8,2,7,6,3,2
127 DATA 1,3,1,6,3,5,0,1,2,5,6,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,9,3,3
128 DATA 7,4,1,7,7,8,0,1,2,5,7,4,3,0,6,3,2,2,3,4,0,1,0,7,6,3,5,2,7,3,2,7,9,3,1
129 DATA 5,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,2,6,3,5,2,7,9,2,7,9,3,3
130 DATA 3,4,2,8,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,3,6,8,3,5,2,7,8,2,8,0,3,4
131 DATA 6,4,1,7,8,9,0,1,2,5,4,4,3,0,6,3,2,2,3,4,0,1,0,3,6,3,5,2,7,9,2,7,8,3,5
132 DATA 3,4,1,7,3,5,0,1,2,1,2,4,3,0,6,3,2,2,3,4,0,1,0,6,4,3,5,2,7,9,2,7,9,3,9
133 DATA 5,4,1,7,3,5,0,1,2,5,5,4,3,1,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,2,3,3
134 DATA 1,4,1,7,5,2,3,1,2,5,5,4,3,1,6,3,2,2,3,4,2,1,0,6,6,3,5,2,7,9,2,7,9,3,1
135 DATA 1,4,1,7,3,5,5,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,6,6,6,3,5,2,2,6,2,7,9,3,1
136 DATA 2,4,1,7,3,5,2,1,2,5,5,4,3,0,6,3,2,2,3,4,3,1,0,6,6,3,5,2,4,9,2,7,6,3,1
137 DATA 7,4,4,5,6,5,0,1,2,5,5,4,3,2,6,3,2,2,3,4,0,1,5,6,7,3,5,2,7,1,2,4,6,3,2
138 DATA 5,4,1,7,3,5,0,5,2,5,5,4,3,0,6,3,2,2,3,4,0,4,0,6,6,3,5,2,7,1,2,7,4,3,2
139 DATA 3,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,3,6,6,3,5,2,7,2,2,7,9,3,2
140 DATA 4,4,1,7,8,5,3,1,2,5,5,4,3,0,5,3,2,2,3,4,0,1,0,6,5,3,5,2,7,9,2,7,2,3,2
141 DATA 2,4,1,7,4,5,0,1,2,5,2,4,3,0,6,3,2,2,3,2,0,1,0,5,6,3,5,2,4,9,2,7,4,3,4
142 DATA 7,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,5,0,1,0,4,6,3,5,2,7,3,2,7,4,3,1
143 DATA 1,4,1,4,3,4,4,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,9,3,2
144 DATA 6,4,5,7,3,5,0,1,2,3,5,4,3,3,6,3,2,2,3,4,0,1,0,4,7,3,5,2,7,3,2,7,5,3,3
145 DATA 3,4,1,7,3,5,0,1,2,3,5,4,3,0,6,3,2,2,3,4,3,1,0,6,6,3,5,2,7,3,2,7,4,3,2
146 DATA 5,4,1,7,4,6,0,1,2,5,5,4,3,0,5,3,2,2,3,4,0,1,0,5,6,3,5,2,7,9,2,7,9,3,4
147 DATA 3,4,1,7,3,5,0,1,2,5,3,4,3,0,6,3,2,2,3,4,0,1,0,3,6,3,5,2,7,9,2,7,3,3,1
148 DATA 6,4,1,7,3,5,6,1,2,5,5,4,3,0,6,3,2,2,3,4,6,1,0,5,5,3,3,2,7,3,2,7,9,3,3
149 DATA 7,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,7,6,6,3,5,2,7,7,2,7,2,3,2
150 DATA 1,4,1,7,3,5,2,1,2,5,5,4,3,2,6,3,2,2,3,4,2,1,1,6,6,3,5,2,7,1,2,7,9,3,1
151 DATA 3,4,1,7,3,5,3,1,2,5,5,4,3,0,6,3,2,2,3,4,3,1,0,6,6,3,5,2,7,9,2,7,2,3,2
152 DATA 7,4,1,7,3,5,7,1,2,5,5,4,3,0,6,3,2,2,3,4,7,1,0,6,6,3,5,2,0,0,2,7,9,3,1
153 DATA 0,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,0,2,7,9,3,1
154 DATA 0,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,0,2,7,9,3,0
155 DATA 3,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,3,1,0,6,6,3,5,2,7,9,2,7,3,3,1
156 DATA 1,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,0,2,7,9,3,3
157 DATA 0,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,1,1,3,5,2,7,9,2,7,9,3,2
158 DATA 1,4,1,7,3,5,0,1,2,5,0,4,3,0,6,3,2,2,3,1,0,1,0,6,6,3,5,2,7,9,2,7,9,3,4
159 DATA 0,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,1,2,7,9,3,2
160 DATA 7,4,1,7,3,5,0,1,2,5,5,4,3,0,0,3,2,2,3,4,0,1,0,6,6,3,5,2,7,0,2,7,9,3,7
161 DATA 4,4,1,5,3,5,0,1,2,5,5,4,3,0,5,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,1,3,5
162 DATA 9,4,1,3,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,2,2,7,9,3,8
163 DATA 7,4,1,7,3,5,0,1,2,0,5,4,3,0,0,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,9,3,4
164 DATA 3,4,1,7,3,0,0,1,2,0,5,4,3,0,6,3,2,2,3,4,0,1,0,7,6,3,5,2,7,9,2,7,9,3,6
165 DATA 6,2,5,3,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,2,0,2,6,3,5,2,7,2,2,7,2,3,4
166 DATA 3,4,1,7,3,5,0,1,2,3,5,4,3,0,6,3,3,2,3,4,0,1,0,6,6,3,5,2,7,3,2,7,9,3,7
167 DATA 1,2,1,7,3,5,0,1,2,5,5,4,3,0,5,3,2,2,3,4,0,1,0,4,6,3,5,2,7,9,2,7,4,3,3
168 DATA 3,4,1,7,3,5,0,3,2,5,3,4,3,0,6,3,2,2,3,4,0,2,0,6,6,3,5,2,7,3,2,7,9,3,2
169 DATA 3,4,1,7,3,5,0,1,2,5,0,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,0,2,7,9,3,3
170 DATA 5,0,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,0,2,7,9,3,3
171 DATA 5,4,3,7,5,5,2,5,2,5,5,4,3,0,6,3,2,2,3,4,3,4,4,6,3,3,5,2,7,9,2,7,6,3,4
172 DATA 3,4,1,7,3,5,7,1,2,5,5,4,3,3,6,3,2,2,3,4,0,1,0,1,2,3,5,2,7,9,2,7,5,3,3
173 DATA 5,4,1,7,2,4,0,1,2,5,5,4,3,0,2,3,2,2,3,4,0,1,0,6,6,3,5,2,7,5,2,7,9,3,9
174 DATA 3,4,1,0,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,0,6,3,5,2,7,9,2,7,0,3,4
175 DATA 9,4,2,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,2,2,3,3,5,2,7,3,2,7,9,3,7
176 DATA 7,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,0,1,0,2,2,3,5,2,7,3,2,7,9,3,4
177 DATA 4,4,4,7,3,5,0,1,2,2,3,4,3,0,6,3,2,2,3,4,0,5,0,6,1,3,5,2,7,9,2,7,9,3,6
178 DATA 3,4,1,7,3,5,3,1,2,5,5,4,3,0,6,3,2,2,3,4,3,1,0,6,6,3,5,2,7,9,2,7,3,3,2
179 DATA 3,4,3,7,3,5,0,1,2,5,5,4,3,2,6,3,2,2,3,4,2,1,0,6,6,3,3,2,7,1,2,7,9,3,4
180 DATA 2,4,1,7,3,5,6,1,2,5,5,4,3,3,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,0,3,2
181 DATA 3,4,1,7,3,5,0,1,2,5,5,4,3,0,6,3,2,2,3,4,3,1,0,1,2,3,5,2,7,3,2,7,9,3,4
182 DATA 6,5,2,2,3,5,2,1,2,5,5,4,3,0,6,3,2,2,3,4,0,3,3,3,6,3,5,2,7,3,2,7,2,3,5
183 DATA 2,4,1,7,3,2,2,1,2,5,5,4,3,0,4,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,6,3,3
184 DATA 3,4,1,7,3,5,0,1,2,4,5,4,3,0,6,3,2,2,3,4,7,1,0,6,4,3,5,2,7,9,2,7,9,3,3
185 DATA 4,4,1,7,3,5,1,1,2,5,5,4,3,3,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,9,2,7,3,3,6
186 DATA 3,2,7,5,4,3,0,6,3,2,2,3,4,0,1,0,6,6,3,5,2,7,7,2,7,4,3,6
1065 FOR JJJJ=-32000 TO 32000
1074 RANDOMIZE JJJJ
1076 M=-1D+17
1085 FOR I=1 TO 78
1088 A(I)=FIX(RND*4)
1089 NEXT I
1126 IMAR=10+FIX(RND*2000)
1128 FOR I=1 TO IMAR
1129 FOR KK=1 TO 78
1131 X(KK)=A(KK)
1132 NEXT KK
1223 IJL=1+FIX(RND*78)
1234 X(IJL)=FIX(RND*4)
1533 FOR IX=1 TO 77
1534 FOR JX=IX+1 TO 78
1542 IF X(IX)=X(JX) THEN TM(IX,JX)=HR(IX,JX) ELSE TM(IX,JX)=0
1545 NEXT JX
1547 NEXT IX
1611 SUMTL=0
1612 FOR IR1=1 TO 77
1614 FOR IR2=IR1+1 TO 78
1616 SUMTL=SUMTL+TM(IR1,IR2)
1617 NEXT IR2
1619 NEXT IR1
1645 P=-SUMTL
1656 IF P<=M THEN 1670
1657 FOR KEW=1 TO 78
1658 A(KEW)=X(KEW)
1659 NEXT KEW
1661 M=P
1666 GOTO 1128
1670 NEXT I
1890 IF M>-1700 THEN 1912 ELSE 1999
1912 PRINT A(1),A(2),A(3),A(4),A(5)
1913 PRINT A(6),A(7),A(8),A(9),A(10)
1914 PRINT A(11),A(12),A(13),A(14),A(15)
1915 PRINT A(16),A(17),A(18),A(19),A(20)
1916 PRINT A(21),A(22),A(23),A(24),A(25)
1917 PRINT A(26),A(27),A(28),A(29),A(30)
1918 PRINT A(31),A(32),A(33),A(34),A(35)
1919 PRINT A(36),A(37),A(38),A(39),A(40)
1920 PRINT A(41),A(42),A(43),A(44),A(45)
1921 PRINT A(46),A(47),A(48),A(49),A(50)
1922 PRINT A(51),A(52),A(53),A(54),A(55)
1923 PRINT A(56),A(57),A(58),A(59),A(60)
1924 PRINT A(61),A(62),A(63),A(64),A(65)
1925 PRINT A(66),A(67),A(68),A(69),A(70)
1926 PRINT A(71),A(72),A(73),A(74),A(75)
1927 PRINT A(76),A(77),A(78),M,JJJJ
1999 NEXT JJJJ
This BASIC computer program was run with Microsoft's GW BASIC 3.11 interpreter, and the best candidate solutions produced during the first twenty hours of running are presented below. Only the candidate solution at JJJJ=-31961 is presented in full; each of the other candidate solutions below is briefly presented with its line
1927.
2 3 3 0 0
3 2 2 1 0
0 3 3 2 2
3 3 2 1 0
2 2 3 1 1
1 3 2 2 0
1 2 3 1 2
2 3 3 3 0
0 1 2 3 0
0 3 3 2 2
3 0 3 1 0
3 2 2 1 1
0 1 1 2 0
1 0 1 1 0
2 1 3 3 0
0 1 2 -1677 -31961
2 0 3 -1677 -31682
3 1 0 -1677 -31567
0 3 1 -1677 -31505
0 1 2 -1677 -31482
0 1 3 -1677 -31395
0 1 2 -1677 -31153
1 3 0 -1677 -31068
1 0 3 -1677 -30981
0 3 2 -1677 -30946
1 2 0 -1677 -30908
Interpreted in accordance with line 1912 through line 1927, these candidate solutions were produced during the first twenty hours of running on a personal computer with an Intel 2.66 GHz. chip and the IBM basica/D interpreter, which is not a compiler.
Reference
Carlson, R. C., and G. L. Nemhauser, "Scheduling to Minimize Interaction Cost," Operations Research 14, 52-58 (1966).