Sunday, November 2, 2008

A General Integer Programming Computer Program Applied to a 20-Facility Space Allocation Problem

Jsun Yui Wong
The problem considered is problem 7 of Heragu and Kusiak [3, p. 9]. The computer program listed below follows the mathematical formulation appearing on their page 4 [3] and on page 139 of Heragu [4]. The lengths of the twenty facilities are from their page 9 [3] and are used in line 561 through line 750 of the computer program below; the inter-facility flows are from Nugent et al. [5, p. 169] and are used in line 1238 through line 1317 of the computer program below.
The following computer program benefits from the computer programs of the present blog and the computer program of Conley [2, pp. 229-232].
2 DEFINT I,J,K
5 DIM B(99),N(99),A(99),H(99),L(99),U(99),X(1111),D(111),P(222)
12 FOR JJJJ=-32000 TO 32000
14 RANDOMIZE JJJJ
16 M=-1D+17
25 B(1)=0:B(2)=0:B(3)=0:B(4)=0:B(5)=0:B(6)=0
26 B(7)=0:B(8)=0:B(9)=0:B(10)=0:B(11)=0
27 B(12)=0:B(13)=0:B(14)=0:B(15)=0
31 B(16)=0:B(17)=0:B(18)=0:B(19)=0:B(20)=0
37 N(1)=99200!:N(2)=99200!:N(3)=99200!:N(4)=99200!:N(5)=99200!:N(6)=99200!
38 N(7)=99200!:N(8)=99200!:N(9)=99200!:N(10)=99200!:N(11)=92900!
39 N(12)=99200!:N(13)=99200!:N(14)=99200!:N(15)=99200!
41 N(16)=99200!:N(17)=99200!:N(18)=99200!:N(19)=99200!:N(20)=92900!
43 GOTO 61
51 FOR IOCTT=1 TO 20
53 N(IOCTT)=999999!
57 NEXT IOCTT
61 FOR KLQ=1 TO 20
62 A(KLQ)=B(KLQ)+RND*(N(KLQ)-B(KLQ))
63 NEXT KLQ
71 FOR KLR=1 TO 20
72 H(KLR)=3
73 NEXT KLR
88 FOR JJJ=1 TO 1000 STEP 10
90 FOR INEW=1 TO 13
94 FOR J=INEW*2 TO 0 STEP -1
102 FOR JJ=0 TO 20
111 REM
128 FOR I=1 TO 2
129 FOR KKQQ=1 TO 20
130 X(KKQQ)=A(KKQQ)
131 NEXT KKQQ
132 FOR K=1 TO 20
133 IF RND<=.5 THEN 298 ELSE 230
230 IF A(K)-(N(K)-B(K))/H(K)^J250 L(K)=B(K)
255 GOTO 265
260 L(K)=A(K)-(N(K)-B(K))/H(K)^J
265 IF A(K)+(N(K)-B(K))/H(K)^J>N(K) THEN 266 ELSE 268
266 U(K)=N(K)-L(K)
267 GOTO 272
268 U(K)=A(K)+(N(K)-B(K))/H(K)^J-L(K)
272 GOTO 300
298 X(K)=A(K)+2*RND*(2*RND-1)*(1/(1+RND*JJJ))*.05*A(K)
299 GOTO 302
300 X(K)=(L(K)+2*RND*RND*U(K))
302 NEXT K
304 X(JJ)=A(JJ)
305 REM
306 KLPS=FIX(1+RND*60)
307 FOR KLA1=1 TO KLPS
308 KLA2=FIX(1+20*RND)
309 X(KLA2)=A(KLA2)
310 NEXT KLA1
343 IF RND>.1 GOTO 461
352 IF RND<=.9 THEN 353 ELSE 355
353 X(JJ)=B(JJ)
354 GOTO 461
355 X(JJ)=N(JJ)
461 IF RND>.1 GOTO 561
471 IOCT1=1+FIX(RND*20)
474 IOCT2=1+FIX(RND*20)
477 X(IOCT1)=A(IOCT2)
480 X(IOCT2)=A(IOCT1)
561 P(11)=ABS(X(1)-X(2))-11.5
562 P(12)=ABS(X(1)-X(3))-14.5
563 P(13)=ABS(X(1)-X(4))-11.5
564 P(14)=ABS(X(1)-X(5))-13.5
565 P(15)=ABS(X(1)-X(6))-11.5
566 P(16)=ABS(X(1)-X(7))-13.5
567 P(17)=ABS(X(1)-X(8))-12.5
568 P(18)=ABS(X(1)-X(9))-14.5
569 P(19)=ABS(X(1)-X(10))-13
570 P(20)=ABS(X(1)-X(11))-12.5
571 P(21)=ABS(X(1)-X(12))-11.5
572 P(22)=ABS(X(1)-X(13))-14.5
573 P(23)=ABS(X(1)-X(14))-11.5
574 P(24)=ABS(X(1)-X(15))-13.5
575 P(25)=ABS(X(1)-X(16))-11.5
576 P(26)=ABS(X(1)-X(17))-13.5
577 P(27)=ABS(X(1)-X(18))-12.5
578 P(28)=ABS(X(1)-X(19))-14.5
579 P(29)=ABS(X(1)-X(20))-13
580 P(30)=ABS(X(2)-X(3))-6
581 P(31)=ABS(X(2)-X(4))-3
582 P(32)=ABS(X(2)-X(5))-5
583 P(33)=ABS(X(2)-X(6))-3
584 P(34)=ABS(X(2)-X(7))-5
585 P(35)=ABS(X(2)-X(8))-4
586 P(36)=ABS(X(2)-X(9))-6
587 P(37)=ABS(X(2)-X(10))-4.5
588 P(38)=ABS(X(2)-X(11))-4
589 P(39)=ABS(X(2)-X(12))-3
590 P(40)=ABS(X(2)-X(13))-6
591 P(41)=ABS(X(2)-X(14))-3
592 P(42)=ABS(X(2)-X(15))-5
593 P(43)=ABS(X(2)-X(16))-3
594 P(44)=ABS(X(2)-X(17))-5
595 P(45)=ABS(X(2)-X(18))-4
596 P(46)=ABS(X(2)-X(19))-6
597 P(47)=ABS(X(2)-X(20))-4.5
598 P(48)=ABS(X(3)-X(4))-6
599 P(49)=ABS(X(3)-X(5))-8
600 P(50)=ABS(X(3)-X(6))-6
601 P(51)=ABS(X(3)-X(7))-8
602 P(52)=ABS(X(3)-X(8))-7
603 P(53)=ABS(X(3)-X(9))-9
604 P(54)=ABS(X(3)-X(10))-7.5
605 P(55)=ABS(X(3)-X(11))-7
606 P(56)=ABS(X(3)-X(12))-6
607 P(57)=ABS(X(3)-X(13))-9
608 P(58)=ABS(X(3)-X(14))-6
609 P(59)=ABS(X(3)-X(15))-8
610 P(60)=ABS(X(3)-X(16))-6
611 P(61)=ABS(X(3)-X(17))-8
612 P(62)=ABS(X(3)-X(18))-7
613 P(63)=ABS(X(3)-X(19))-9
614 P(64)=ABS(X(3)-X(20))-7.5
615 P(65)=ABS(X(4)-X(5))-5
616 P(66)=ABS(X(4)-X(6))-3
617 P(67)=ABS(X(4)-X(7))-5
618 P(68)=ABS(X(4)-X(8))-4
619 P(69)=ABS(X(4)-X(9))-6
620 P(70)=ABS(X(4)-X(10))-4.5
621 P(71)=ABS(X(4)-X(11))-4
622 P(72)=ABS(X(4)-X(12))-3
623 P(73)=ABS(X(4)-X(13))-6
624 P(74)=ABS(X(4)-X(14))-3
625 P(75)=ABS(X(4)-X(15))-5
626 P(76)=ABS(X(4)-X(16))-3
627 P(77)=ABS(X(4)-X(17))-5
628 P(78)=ABS(X(4)-X(18))-4
629 P(79)=ABS(X(4)-X(19))-6
630 P(80)=ABS(X(4)-X(20))-4.5
631 P(81)=ABS(X(5)-X(6))-5
632 P(82)=ABS(X(5)-X(7))-7
633 P(83)=ABS(X(5)-X(8))-6
634 P(84)=ABS(X(5)-X(9))-8
635 P(85)=ABS(X(5)-X(10))-6.5
636 P(86)=ABS(X(5)-X(11))-6
637 P(87)=ABS(X(5)-X(12))-5
638 P(88)=ABS(X(5)-X(13))-8
639 P(89)=ABS(X(5)-X(14))-5
640 P(90)=ABS(X(5)-X(15))-7
641 P(91)=ABS(X(5)-X(16))-5
642 P(92)=ABS(X(5)-X(17))-7
643 P(93)=ABS(X(5)-X(18))-6
644 P(94)=ABS(X(5)-X(19))-8
645 P(95)=ABS(X(5)-X(20))-6.5
646 P(96)=ABS(X(6)-X(7))-5
647 P(97)=ABS(X(6)-X(8))-4
648 P(98)=ABS(X(6)-X(9))-6
649 P(99)=ABS(X(6)-X(10))-4.5
650 P(100)=ABS(X(6)-X(11))-4
651 P(101)=ABS(X(6)-X(12))-3
652 P(102)=ABS(X(6)-X(13))-6
653 P(103)=ABS(X(6)-X(14))-3
654 P(104)=ABS(X(6)-X(15))-5
655 P(105)=ABS(X(6)-X(16))-3
656 P(106)=ABS(X(6)-X(17))-5
657 P(107)=ABS(X(6)-X(18))-4
658 P(108)=ABS(X(6)-X(19))-6
659 P(109)=ABS(X(6)-X(20))-4.5
660 P(110)=ABS(X(7)-X(8))-6
661 P(111)=ABS(X(7)-X(9))-8
662 P(112)=ABS(X(7)-X(10))-6.5
663 P(113)=ABS(X(7)-X(11))-6
664 P(114)=ABS(X(7)-X(12))-5
665 P(115)=ABS(X(7)-X(13))-8
666 P(116)=ABS(X(7)-X(14))-5
667 P(117)=ABS(X(7)-X(15))-7
668 P(118)=ABS(X(7)-X(16))-5
669 P(119)=ABS(X(7)-X(17))-7
670 P(120)=ABS(X(7)-X(18))-6
671 P(121)=ABS(X(7)-X(19))-8
672 P(122)=ABS(X(7)-X(20))-6.5
673 P(123)=ABS(X(8)-X(9))-7
674 P(124)=ABS(X(8)-X(10))-5.5
675 P(125)=ABS(X(8)-X(11))-5
676 P(126)=ABS(X(8)-X(12))-4
677 P(127)=ABS(X(8)-X(13))-7
678 P(128)=ABS(X(8)-X(14))-4
679 P(129)=ABS(X(8)-X(15))-6
680 P(130)=ABS(X(8)-X(16))-4
681 P(131)=ABS(X(8)-X(17))-6
682 P(132)=ABS(X(8)-X(18))-5
683 P(133)=ABS(X(8)-X(19))-7
684 P(134)=ABS(X(8)-X(20))-5.5
685 P(135)=ABS(X(9)-X(10))-7.5
686 P(136)=ABS(X(9)-X(11))-7
687 P(137)=ABS(X(9)-X(12))-6
688 P(138)=ABS(X(9)-X(13))-9
689 P(139)=ABS(X(9)-X(14))-6
690 P(140)=ABS(X(9)-X(15))-8
691 P(141)=ABS(X(9)-X(16))-6
692 P(142)=ABS(X(9)-X(17))-8
693 P(143)=ABS(X(9)-X(18))-7
694 P(144)=ABS(X(9)-X(19))-9
695 P(145)=ABS(X(9)-X(20))-7.5
696 P(146)=ABS(X(10)-X(11))-5.5
697 P(147)=ABS(X(10)-X(12))-4.5
698 P(148)=ABS(X(10)-X(13))-7.5
699 P(149)=ABS(X(10)-X(14))-4.5
700 P(150)=ABS(X(10)-X(15))-6.5
701 P(151)=ABS(X(10)-X(16))-4.5
702 P(152)=ABS(X(10)-X(17))-6.5
703 P(153)=ABS(X(10)-X(18))-5.5
704 P(154)=ABS(X(10)-X(19))-7.5
705 P(155)=ABS(X(10)-X(20))-6
706 P(156)=ABS(X(11)-X(12))-4
707 P(157)=ABS(X(11)-X(13))-7
708 P(158)=ABS(X(11)-X(14))-4
709 P(159)=ABS(X(11)-X(15))-6
710 P(160)=ABS(X(11)-X(16))-4
711 P(161)=ABS(X(11)-X(17))-6
712 P(162)=ABS(X(11)-X(18))-5
713 P(163)=ABS(X(11)-X(19))-7
714 P(164)=ABS(X(11)-X(20))-5.5
715 P(165)=ABS(X(12)-X(13))-6
716 P(166)=ABS(X(12)-X(14))-3
717 P(167)=ABS(X(12)-X(15))-5
718 P(168)=ABS(X(12)-X(16))-3
719 P(169)=ABS(X(12)-X(17))-5
720 P(170)=ABS(X(12)-X(18))-4
721 P(171)=ABS(X(12)-X(19))-6
722 P(172)=ABS(X(12)-X(20))-4.5
723 P(173)=ABS(X(13)-X(14))-6
724 P(174)=ABS(X(13)-X(15))-8
725 P(175)=ABS(X(13)-X(16))-6
726 P(176)=ABS(X(13)-X(17))-8
727 P(177)=ABS(X(13)-X(18))-7
728 P(178)=ABS(X(13)-X(19))-9
729 P(179)=ABS(X(13)-X(20))-7.5
730 P(180)=ABS(X(14)-X(15))-5
731 P(181)=ABS(X(14)-X(16))-3
732 P(182)=ABS(X(14)-X(17))-5
733 P(183)=ABS(X(14)-X(18))-4
734 P(184)=ABS(X(14)-X(19))-6
735 P(185)=ABS(X(14)-X(20))-4.5
736 P(186)=ABS(X(15)-X(16))-5
737 P(187)=ABS(X(15)-X(17))-7
738 P(188)=ABS(X(15)-X(18))-6
739 P(189)=ABS(X(15)-X(19))-8
740 P(190)=ABS(X(15)-X(20))-6.5
741 P(191)=ABS(X(16)-X(17))-5
742 P(192)=ABS(X(16)-X(18))-4
743 P(193)=ABS(X(16)-X(19))-6
744 P(194)=ABS(X(16)-X(20))-4.5
745 P(195)=ABS(X(17)-X(18))-6
746 P(196)=ABS(X(17)-X(19))-8
747 P(197)=ABS(X(17)-X(20))-6.5
748 P(198)=ABS(X(18)-X(19))-7
749 P(199)=ABS(X(18)-X(20))-5.5
750 P(200)=ABS(X(19)-X(20))-7.5
788 FOR INSI=11 TO 200
791 IF P(INSI)<0 THEN P(INSI)=P(INSI) ELSE P(INSI)=0
795 NEXT INSI
1111 PSUM=0
1115 FOR IOCT=11 TO 200
1118 PSUM=PSUM+P(IOCT)
1121 NEXT IOCT
1131 PS1=99*555555!*PSUM
1238 P11B=0*ABS(X(1)-X(2))+5*ABS(X(1)-X(3))+0*ABS(X(1)-X(4))+5*ABS(X(1)-X(5))+2*ABS(X(1)-X(6))+10*ABS(X(1)-X(7))+3*ABS(X(1)-X(8))+1*ABS(X(1)-X(9))+5*ABS(X(1)-X(10))+5*ABS(X(1)-X(11))
1239 P12B=5*ABS(X(1)-X(12))+0*ABS(X(1)-X(13))+0*ABS(X(1)-X(14))+5*ABS(X(1)-X(15))
1240 P13B=3*ABS(X(2)-X(3))+10*ABS(X(2)-X(4))+5*ABS(X(2)-X(5))+1*ABS(X(2)-X(6))+5*ABS(X(2)-X(7))+1*ABS(X(2)-X(8))+2*ABS(X(2)-X(9))+4*ABS(X(2)-X(10))+2*ABS(X(2)-X(11))
1241 P14B=5*ABS(X(2)-X(12))+0*ABS(X(2)-X(13))+10*ABS(X(2)-X(14))+10*ABS(X(2)-X(15))
1243 P15B=2*ABS(X(3)-X(4))+0*ABS(X(3)-X(5))+5*ABS(X(3)-X(6))+2*ABS(X(3)-X(7))+4*ABS(X(3)-X(8))+4*ABS(X(3)-X(9))+5*ABS(X(3)-X(10))+0*ABS(X(3)-X(11))
1244 P16B=0*ABS(X(3)-X(12))+0*ABS(X(3)-X(13))+5*ABS(X(3)-X(14))+1*ABS(X(3)-X(15))
1245 P17B=1*ABS(X(4)-X(5))+0*ABS(X(4)-X(6))+5*ABS(X(4)-X(7))+2*ABS(X(4)-X(8))+1*ABS(X(4)-X(9))+0*ABS(X(4)-X(10))+10*ABS(X(4)-X(11))
1246 P18B=2*ABS(X(4)-X(12))+2*ABS(X(4)-X(13))+0*ABS(X(4)-X(14))+2*ABS(X(4)-X(15))
1248 P19B=5*ABS(X(5)-X(6))+6*ABS(X(5)-X(7))+5*ABS(X(5)-X(8))+2*ABS(X(5)-X(9))+5*ABS(X(5)-X(10))+2*ABS(X(5)-X(11))+0*ABS(X(5)-X(12))+5*ABS(X(5)-X(13))+1*ABS(X(5)-X(14))+1*ABS(X(5)-X(15))
1249 P20B=5*ABS(X(6)-X(7))+2*ABS(X(6)-X(8))+1*ABS(X(6)-X(9))+6*ABS(X(6)-X(10))+0*ABS(X(6)-X(11))+0*ABS(X(6)-X(12))+10*ABS(X(6)-X(13))+0*ABS(X(6)-X(14))+2*ABS(X(6)-X(15))
1250 P21B=0*ABS(X(7)-X(8))+0*ABS(X(7)-X(9))+0*ABS(X(7)-X(10))+5*ABS(X(7)-X(11))+10*ABS(X(7)-X(12))+2*ABS(X(7)-X(13))+2*ABS(X(7)-X(14))+5*ABS(X(7)-X(15))
1251 P22B=1*ABS(X(8)-X(9))+1*ABS(X(8)-X(10))+10*ABS(X(8)-X(11))+10*ABS(X(8)-X(12))+2*ABS(X(8)-X(13))+0*ABS(X(8)-X(14))+10*ABS(X(8)-X(15))
1255 P23B=2*ABS(X(9)-X(10))+0*ABS(X(9)-X(11))+3*ABS(X(9)-X(12))+5*ABS(X(9)-X(13))+5*ABS(X(9)-X(14))+0*ABS(X(9)-X(15))
1257 P24B=5*ABS(X(10)-X(11))+5*ABS(X(10)-X(12))+0*ABS(X(10)-X(13))+5*ABS(X(10)-X(14))+1*ABS(X(10)-X(15))
1258 P25B=5*ABS(X(11)-X(12))+2*ABS(X(11)-X(13))+5*ABS(X(11)-X(14))+1*ABS(X(11)-X(15))
1259 P26B=2*ABS(X(12)-X(13))+10*ABS(X(12)-X(14))+5*ABS(X(12)-X(15))+2*ABS(X(13)-X(14))+2*ABS(X(13)-X(15))+5*ABS(X(14)-X(15))
1301 P27B=4*ABS(X(1)-X(16))+4*ABS(X(1)-X(17))+0*ABS(X(1)-X(18))+0*ABS(X(1)-X(18))+1*ABS(X(1)-X(20))
1302 P28B=3*ABS(X(2)-X(16))+0*ABS(X(2)-X(17))+5*ABS(X(2)-X(18))+10*ABS(X(2)-X(19))+5*ABS(X(2)-X(20))
1303 P29B=0*ABS(X(3)-X(16))+0*ABS(X(3)-X(17))+5*ABS(X(3)-X(18))+0*ABS(X(3)-X(19))+0*ABS(X(3)-X(20))
1304 P30B=1*ABS(X(4)-X(16))+5*ABS(X(4)-X(17))+2*ABS(X(4)-X(18))+5*ABS(X(4)-X(19))+5*ABS(X(4)-X(20))
1305 P31B=1*ABS(X(5)-X(16))+5*ABS(X(5)-X(17))+2*ABS(X(5)-X(18))+5*ABS(X(5)-X(19))+1*ABS(X(5)-X(20))
1306 P32B=0*ABS(X(6)-X(16))+1*ABS(X(6)-X(17))+0*ABS(X(6)-X(18))+1*ABS(X(6)-X(19))+5*ABS(X(6)-X(20))
1307 P33B=1*ABS(X(7)-X(16))+2*ABS(X(7)-X(17))+1*ABS(X(7)-X(18))+0*ABS(X(7)-X(19))+10*ABS(X(7)-X(20))
1308 P34B=2*ABS(X(8)-X(16))+5*ABS(X(8)-X(17))+2*ABS(X(8)-X(18))+2*ABS(X(8)-X(19))+10*ABS(X(8)-X(20))
1309 P35B=5*ABS(X(9)-X(16))+0*ABS(X(9)-X(17))+0*ABS(X(9)-X(18))+0*ABS(X(9)-X(19))+2*ABS(X(9)-X(20))
1310 P36B=0*ABS(X(10)-X(16))+0*ABS(X(10)-X(17))+5*ABS(X(10)-X(18))+5*ABS(X(10)-X(19))+2*ABS(X(10)-X(20))
1311 P37B=10*ABS(X(11)-X(16))+0*ABS(X(11)-X(17))+2*ABS(X(11)-X(18))+2*ABS(X(11)-X(19))+5*ABS(X(11)-X(20))
1312 P38B=0*ABS(X(12)-X(16))+1*ABS(X(12)-X(17))+1*ABS(X(12)-X(18))+2*ABS(X(12)-X(19))+5*ABS(X(12)-X(20))
1313 P39B=1*ABS(X(13)-X(16))+0*ABS(X(13)-X(17))+0*ABS(X(13)-X(18))+0*ABS(X(13)-X(19))+5*ABS(X(13)-X(20))
1314 P40B=5*ABS(X(14)-X(16))+1*ABS(X(14)-X(17))+5*ABS(X(14)-X(18))+5*ABS(X(14)-X(19))+0*ABS(X(14)-X(20))
1315 P41B=3*ABS(X(15)-X(16))+0*ABS(X(15)-X(17))+5*ABS(X(15)-X(18))+10*ABS(X(15)-X(19))+10*ABS(X(15)-X(20))
1316 P42B=0*ABS(X(16)-X(17))+0*ABS(X(16)-X(18))+2*ABS(X(16)-X(19))+0*ABS(X(16)-X(20))
1317 P43B=5*ABS(X(17)-X(18))+2*ABS(X(17)-X(19))+0*ABS(X(17)-X(20))+1*ABS(X(18)-X(19))+1*ABS(X(18)-X(20))+6*ABS(X(19)-X(20))
1445 P1=P11B+P12B+P13B+P14B+P15B+P16B+P17B+P18B+P19B+P20B+P21B+P22B+P23B+P24B+P25B+P26B
1447 P2=P27B+P28B+P29B+P30B+P31B+P32B+P33B+P34B+P35B+P36B+P37B+P38B+P39B+P40B+P41B+P42B+P43B
1448 P3=P1+P2
1449 REM
1450 P=-P3+PS1
1451 IF P<=M THEN 1670
1452 M=P
1453 PP1=P3
1454 FOR KLX=1 TO 20
1455 A(KLX)=X(KLX)
1456 NEXT KLX
1457 GOTO 128
1670 NEXT I
1702 NEXT JJ
1706 NEXT J
1777 NEXT INEW
1778 REM PRINT JJJJ,A(1),A(2),A(3),A(4),A(5),M,PP1
1888 NEXT JJJ
1890 IF M>-16200 THEN 1916 ELSE 1999
1916 PRINT JJJJ,A(1),A(2),A(3),A(4),A(5),M,PP1
1918 PRINT A(6),A(7),A(8),A(9),A(10)
1920 PRINT A(11),A(12),A(13),A(14),A(15)
1922 PRINT A(16),A(17),A(18),A(19),A(20)
1999 NEXT JJJJ
This BASIC computer program was run with the IBM basica/D interpreter, and its best candidate solutions from JJJJ=-32000 through JJJJ=-31869 (in compressed form and to be interpreted in accordance with line 1916 through line 1922; copied manually from the computer monitor) are presented below.
-31994 31277.27 31353.78 31382.79 31342.78
31309.77 -15792.07 15792.07
31304.77 31316.77 31335.77 31391.79 31366.28
31346.78 31339.77 31298.77 31361.78 31329.77
31350.78 31290.77 31357.78 31373.79 31323.27
-31870 56521.45 56444.94 56415.94 56450.94
56491.95 -15718.27 15718.27
56486.95 56481.95 56469.95 56406.94 56437.44
56454.94 56465.95 56506.95 56441.94 56460.95
56447.94 56498.95 56422.94 56429.94 56475.45
In summary, this computer run produced candidate solutions with objective function value of 15792.07 at JJJJ=-31994, 15823 at JJJJ=-31980, 15718.27 at JJJJ=-31870, and 15993 at JJJJ=-31869.
The total time for the output above was obtained in 57 hours on a personal computer with an Intel 2.66 GHz. chip and the IBM interpreter, which is slower the corresponding compiler.
If one makes changes to the computer program above, such as a change of changing line 128 to, for example, 128 FOR I=1 TO 3, one may or may not obtain the best objective function value of the output above, 15718.27. For this problem, the optimal objective function value is 15549.0, Amaral [1]. Generally speaking, in order to increase the probability of getting an optimal solution, one preferably should run several computers simultaneously, each with a different line 128, for example; instead of line 128, another line can be chosen. This multicomputer approach can mitigate the possible danger of missed optimality and can produce a usable solution faster than just running one computer.
References
[1] A.R.S. Amaral, A new lower bound for the single row facility layout problem, Discrete Applied Mathematics, in press.
[2] W.C. Conley, Optimization: A Simplified Approach, Petrocelli, Princeton, New Jersey, 1981.
[3] S.S. Heragu, A. Kusiak, Efficient models for the facility layut problem, European Journal of Operational Research 53 (1991) 1-13.
[4] S.S. Heragu, Recent models and techniques for solving the layout problem, European Journal of Operational Research 57 (1992) 136-144.
[5] C.E. Nugent, T.E. Vollmann, J. Ruml, An experimental comparison of techniques for the assignment of facilities to locations, Operations Research 16 (1968) 150-173.
[6] D.M. Simmons, One-dimensional space allocation: An ordering algorithm, Operations Research 17 (1969) 812-826.