UFDC Home  myUFDC Home  Help 



Full Text  
xml version 1.0 encoding UTF8 REPORT xmlns http:www.fcla.edudlsmddaitss xmlns:xsi http:www.w3.org2001XMLSchemainstance xsi:schemaLocation http:www.fcla.edudlsmddaitssdaitssReport.xsd INGEST IEID E20101114_AAAADD INGEST_TIME 20101114T11:07:29Z PACKAGE UFE0021180_00001 AGREEMENT_INFO ACCOUNT UF PROJECT UFDC FILES FILE SIZE 2166 DFID F20101114_AABCMA ORIGIN DEPOSITOR PATH vaidyanathan_b_Page_080.txt GLOBAL false PRESERVATION BIT MESSAGE_DIGEST ALGORITHM MD5 fc767784850b304fee54264c6c96a884 SHA1 b443baea15399a538b6b029e8ae7c61fe7462dd1 2060 F20101114_AABCLM vaidyanathan_b_Page_066.txt 94497b393c38e12c381f5e94727e0625 e9edef017401c60f17e10a1b74fc5241a83b41b1 2111 F20101114_AABCKX vaidyanathan_b_Page_051.txt cf806bd507f6a94843588805faaa2d37 398afdddc4680f2caef3e07ce2c908b0899f2a1e 69764 F20101114_AABBHV vaidyanathan_b_Page_036.jpg dbcc25e2bfad2ebaf6afbc50c102a215 0f47b44f8327494652bc1624d96cb68db0a72d29 15044 F20101114_AABBIK vaidyanathan_b_Page_052.jpg a192e8abb0ea5119b7f89400a05177e4 daebe9dd5b72fced8ee7d0311aac8cfdc050e026 2159 F20101114_AABCMB vaidyanathan_b_Page_081.txt 78c3f111710ade8e1ffcb567aefde229 1c78cc4e7eb99e9090b37930d1768025b2c8c8c6 1972 F20101114_AABCLN vaidyanathan_b_Page_067.txt e61f1c8278ee09bd4a8102d94a609d8e 28fb9f25176219c27b5c0d81dc58eb0596a32081 213 F20101114_AABCKY vaidyanathan_b_Page_052.txt cabf1a9bff44dfcd06e06aafa5a013fa feea1b746c6dc480a9294a33e06c200fadb925ff 78201 F20101114_AABBHW vaidyanathan_b_Page_037.jpg 2fc4c8eab5cfd13babae4a4d9974791d 70c2a9805c8a7a6333e82d4815c94f6f326506be 22593 F20101114_AABBIL vaidyanathan_b_Page_053.jpg c11a8af6dd43f3cf17599f78cb81b52a cdd49a800d2fad009aaacaf5515f97b946b12894 1871 F20101114_AABCMC vaidyanathan_b_Page_082.txt 5e59696a211aa519e8cfe8cd620b49c9 ace60aa61a2e755fb5c0d4a4a92b6fd227fc5512 2087 F20101114_AABCLO vaidyanathan_b_Page_068.txt 47df8cd461c3a3eac791fc71a1dc4393 1093937f474ccc5bb6266736ecb7f53789582255 1242 F20101114_AABCKZ vaidyanathan_b_Page_053.txt bf90281ce51e1d0fdf18f3eaef24d1cc 171534d4c7729ee06b384dc361c2c7558270dadf 90925 F20101114_AABBHX vaidyanathan_b_Page_038.jpg a878a05b8f5b818b148dd7b73e690079 4c1e00c4dfdf6e77e52c53d399058ebb67c32fb8 73869 F20101114_AABBJA vaidyanathan_b_Page_069.jpg 0de9d7eb381df1293cd9011b0035aa27 3dd6e8dfbddc827c048b7f5998b27a14c9b0b80c 48777 F20101114_AABBIM vaidyanathan_b_Page_054.jpg 73ed1150639fe6b5dcb4d6660c705afe 4968fb9545e53e9a77fef5d1043cfd45784bd8da 2174 F20101114_AABCMD vaidyanathan_b_Page_083.txt 4a20b2e4bf25f3f0a1913cfd7f5e6c7d e54747a2c0a2d831f90f9ba64296bdda96e02f14 2081 F20101114_AABCLP vaidyanathan_b_Page_069.txt 22ebc8909726a5be9b27863f7fc30365 4dc4c6cf7922706c0fa3c71ca704511a49c577b1 76992 F20101114_AABBHY vaidyanathan_b_Page_039.jpg 258d955d85cac711c28f5cdf08c4d0cb f00427279990523ad62222bcd679e9cfdc4d4b09 75221 F20101114_AABBJB vaidyanathan_b_Page_070.jpg 00833d28f3775ed425328cdd6bc045c1 d3fb5ac869153c29de9a9ac0be5edb3023269409 49639 F20101114_AABBIN vaidyanathan_b_Page_055.jpg 871e9f569f755388af92f770e6bdbaa3 691149d8b50b7f47828903f7464f3126a795f0d6 2045 F20101114_AABCME vaidyanathan_b_Page_084.txt da7dc5e548d59bb4864d20a61581b22b 71b28283e8e76fa63a1166c2d3a506f2c5021760 2123 F20101114_AABCLQ vaidyanathan_b_Page_070.txt 0c7ffa7ab4a7199df7c65dc8a468c10d 16468eb07166e3b593e12c962a1a17ed6b681ba1 72981 F20101114_AABBHZ vaidyanathan_b_Page_040.jpg 46c1893a38135224572b18d876cc1171 749772175d76ce6d5cfc54deea325ac2146850fb 75332 F20101114_AABBJC vaidyanathan_b_Page_071.jpg 5bf7fed604488e8bb56ffea238293fb0 9d313562c39f54af23a776c4f1c36a3b5b25efed 22466 F20101114_AABBIO vaidyanathan_b_Page_056.jpg e3a5102f1b71f43f1be37296692f99b0 362e287f8734a36d9a63fa89929497ff827eb2b0 2203 F20101114_AABCMF vaidyanathan_b_Page_085.txt 67769a593df1cd1bb1a8d4322e43c8fc 7a937f106439b95b783c2cc92729a0595b93322c 73600 F20101114_AABBJD vaidyanathan_b_Page_072.jpg 52abaeea804734ad396e9d6d834f5ba0 e6b5f869e6b01b279e9939da02eda3eca55693ea 2167 F20101114_AABCMG vaidyanathan_b_Page_086.txt 807c3aa025a38f1dbb533fab0bab5bfb 14df0b0f6a7383c126ccf8985945b723ff4b9acf 2107 F20101114_AABCLR vaidyanathan_b_Page_071.txt bfc99b616885243aa67bd913ff26ca0d 420ec87cc2172df4a5545549e6d197b1dd43e31a 54431 F20101114_AABBJE vaidyanathan_b_Page_073.jpg e10145c58daf1373477c968be636e7c0 ff6423c47f7a82d201e4567fb7a480561814b3aa 48838 F20101114_AABBIP vaidyanathan_b_Page_057.jpg ff9b4ff0b7ed69d187d55358560638eb 27cf8c910bab362854e736cb479f4dfda77123c3 F20101114_AABCMH vaidyanathan_b_Page_087.txt 0f4226a4a53cbbec500163e965f505b4 b5e15a5c07ed61108abbd1858bc5306ec359febc 2088 F20101114_AABCLS vaidyanathan_b_Page_072.txt f5c275812f5732500df2efbef6748a2d ef443742847dda4514f86354e47ed08ada89a4f7 49320 F20101114_AABBJF vaidyanathan_b_Page_074.jpg 7638db62a11d18ac0ecba25d7e53d10b 04f7159db11ea6bdc8b71e0b3f4f277dcaf554ce 43222 F20101114_AABBIQ vaidyanathan_b_Page_058.jpg 730f532f7a2e3bec8c2db13961bdb2d8 424ea353be8fb15f0c3b76f0efb95e1fd8cb3b8b 1994 F20101114_AABCMI vaidyanathan_b_Page_088.txt 77c34fce9d6274ff64cee8ba77aee16a 261143dcfd3308bd1dd6d82220e7d5e1556d38e3 1543 F20101114_AABCLT vaidyanathan_b_Page_073.txt 6613a00f625aad55227b8bb6ee16adfc e1f9ca462970de39f50c62c7e0152689e91414a5 79310 F20101114_AABBJG vaidyanathan_b_Page_075.jpg f94677c8a5261452a8c86f90daba80ca 5188be693462384e1c3b5df1a6d251ba7ad8c9c1 34442 F20101114_AABBIR vaidyanathan_b_Page_059.jpg f7ed51dac435cac00a2fc42528411745 0b1f8593c533ec52bc71d4f2dd19cf09f6f1023f F20101114_AABCMJ vaidyanathan_b_Page_089.txt 5fc73d04eadd97b8c63ef7959a76c7e3 0989c023736be7873f6913c3f48828161379497f 1558 F20101114_AABCLU vaidyanathan_b_Page_074.txt a9be87d898bfdda1d90c619dea1de35b debbd37c6a443d42c927ec32c78ef9c1bdd1afcf 75338 F20101114_AABBJH vaidyanathan_b_Page_076.jpg ce47b73efe6bf8721d650e5a28946400 c32bfc9d0edd83a1a9daade1022f38aad3e7db96 22788 F20101114_AABBIS vaidyanathan_b_Page_060.jpg bb7d362058e13cc3b4959a39612a4ef9 af0f10bcc22135adbe4c1097673ef6e49a10f206 2052 F20101114_AABCMK vaidyanathan_b_Page_090.txt 56d78ca6112738125ea0774b34f5edea f36ed00b4410145534c409bf28ccb45a108def69 2190 F20101114_AABCLV vaidyanathan_b_Page_075.txt dab2b604092537cb6b880082a8ef33d9 f7e3458321f7b463b93fab7bdeb494dc4333a226 62296 F20101114_AABBJI vaidyanathan_b_Page_077.jpg 07af55e6d2c019e96f74235bfaf8ea66 0e82a12956eb2ff6d3e5b0efb8f39331ecc71a5a 77457 F20101114_AABBIT vaidyanathan_b_Page_061.jpg ee2e784dd1a7dba4be7a2608f3205140 c56de1759e44dad9e522cca7e5819597042b4fdb 1422 F20101114_AABCML vaidyanathan_b_Page_091.txt ea75ad9413be91f72ec139881dcf225f 109b4c2a78c60798dfaa2e2228df39255b04f13a 2122 F20101114_AABCLW vaidyanathan_b_Page_076.txt ce075e2a5a47923abb6bf6f6dc489dd6 256d41a50b1b3350dc044cd10df5e52ef7ce80de 55466 F20101114_AABBJJ vaidyanathan_b_Page_078.jpg 2382f1ed75d335057e13685fdbb61b83 56a54faf501748e2fca51e08a7936b15ade7478a 94849 F20101114_AABBIU vaidyanathan_b_Page_063.jpg 4e9012cea48aba390aa309b5d2f04a0d 0f1cc9c17c2d2af20e3f3130d2d07a7a7cf5c5bb 1800 F20101114_AABCNA vaidyanathan_b_Page_106.txt 74c2604409606e976b299090131a0a4c 81fbea87e7621b331ee60049306a1fb5baa2275f 2286 F20101114_AABCMM vaidyanathan_b_Page_092.txt 6c4a4d5b86782a0c24345ad46bb1f79b 9b155baf9f5e606838e8a3b9a4836c8d4bcef2fd 1865 F20101114_AABCLX vaidyanathan_b_Page_077.txt 1702380f2932bf37a7596b2872fa89f0 d3da82f3dfcc25b368cc0702e3de7e8cce3b64ad 67246 F20101114_AABBJK vaidyanathan_b_Page_079.jpg a29f75ba51c06a301ac538418fc73dd9 5343dc1f936ad1ea4b097d1aeb26fe2aa0669238 65876 F20101114_AABBIV vaidyanathan_b_Page_064.jpg 4b0b4d0e67e263d3463661ad4407e42c 33695d631e85bfc05848e0c3fef272b8dd95ef0c 2246 F20101114_AABCNB vaidyanathan_b_Page_107.txt fc6130089035150943c695467aeb34fd 8d8299ae17e2a5a28399dfc4435eb37bd64db114 1661 F20101114_AABCMN vaidyanathan_b_Page_093.txt edd5cb6701a7134f740c953f846c7c05 5cce4ddbe118d8d0c6efeb1478aacec9ea3c91d1 1693 F20101114_AABCLY vaidyanathan_b_Page_078.txt acb6527ffaa8a06051cb6c6e63d5f322 4c886a808d0d739f9d1d71434bb5109e60105a17 76439 F20101114_AABBJL vaidyanathan_b_Page_080.jpg 4f5b362276491833bf275f1b0b70985a bc92a64d3cd2b5ea1ad7207403e9ac73315bcf5c 58475 F20101114_AABBIW vaidyanathan_b_Page_065.jpg 69863b6843c0eaed3f781e160755151e 7fc6b18421dc8344ab077d6bbdf6872c858e10d4 2125 F20101114_AABCNC vaidyanathan_b_Page_108.txt 4106bc6561158c1e53a8fe5e7aa0b523 69e49dee4a9c3f37bb558f3706965bf578f897a9 1535 F20101114_AABCMO vaidyanathan_b_Page_094.txt 0d78bdd28323ff1b913d39c12ac61051 3359c8a3f7a8e5ed91d494746124d67d37bd534b 1858 F20101114_AABCLZ vaidyanathan_b_Page_079.txt 1dde0326e1d4749b4f2aaa6de90c6bec d7476ccc61ff9bd465b3084b7ee748d62c2e16b2 41938 F20101114_AABBKA vaidyanathan_b_Page_096.jpg 3185f66864fce499f2f85c5464f47f56 4c851062175376770c46769aa95d483b82fc3be1 70863 F20101114_AABBJM vaidyanathan_b_Page_081.jpg 82241e6ea3503f47084d845b679fe903 8c5cd3b0df4f77ac6d1822cec1420efa3f374f2e 71995 F20101114_AABBIX vaidyanathan_b_Page_066.jpg 8adf952c79d68943b120d2c7b397d11e 27266ed7ac258029176c9047145951f33a1f48ef F20101114_AABCND vaidyanathan_b_Page_109.txt a796c2af8a01652610888cac7f352399 b70e391037641061d644c848165fc8660a53c145 857 F20101114_AABCMP vaidyanathan_b_Page_095.txt 18b183ac7ba3834c23ec5cc592a99b81 15dbd30e8014328869c7365d19a6d4041a2e7576 30398 F20101114_AABBKB vaidyanathan_b_Page_097.jpg 716ad1a485cd35b85ebd37bcf99bca50 2f5bd854e8bb5ec638b0ce691475dfaf508d45b0 65710 F20101114_AABBJN vaidyanathan_b_Page_082.jpg 56c0aa96806f689dea27e747dc526358 58753814d9f48b4ab925182107d7cb873b7760f1 69412 F20101114_AABBIY vaidyanathan_b_Page_067.jpg 49e0a0e8d494e6a1f03ece9fe75cdec3 575f3bb43aabd7708c9feacde181f04736c521ca 2049 F20101114_AABCNE vaidyanathan_b_Page_110.txt 56fd265823116d59e543d14e9621d023 301697b9e01a56dee2f1defa4fd7d769a9a49880 1272 F20101114_AABCMQ vaidyanathan_b_Page_096.txt 4c8aff4fa4adb7b6a700bb1efcf53476 bc33b4603412b2af76bbb761f96f9a78a10bc363 29484 F20101114_AABBKC vaidyanathan_b_Page_098.jpg 9db5222970c890ef12acdd1ce05bd5e0 f48169e2e0542b7810ac840be291cdc02a80b482 77378 F20101114_AABBJO vaidyanathan_b_Page_083.jpg 75ac876ecbd5b9fa061ed89bfd544c6c 110a3aa564b3cf270241ad98756133ee3d50926c 73692 F20101114_AABBIZ vaidyanathan_b_Page_068.jpg 33a8a8238bf5f4365b09bcf06d7e2bb3 db876a27b6aec0d34510ae83de12b24a0860ad04 2083 F20101114_AABCNF vaidyanathan_b_Page_111.txt e9fd34aae75020d8090968bb001abd63 f1e5c3992b0086c05b94d8f041cbdf2ee08e5719 640 F20101114_AABCMR vaidyanathan_b_Page_097.txt 541dcb23ec0ee24202efe07b51ae34ab 7a9d547e07f3358d5ffc54cd0b19cdee36d39a85 77936 F20101114_AABBKD vaidyanathan_b_Page_099.jpg 26081940226dd5faf4771030b7fd4f47 1e668b642fc2797cc842d5912ead1c541af9babe 73295 F20101114_AABBJP vaidyanathan_b_Page_084.jpg e7642fc7f12bb579599cd10a316763fe 0dd6a6380de8267180829d0c3247f93d237126d2 2004 F20101114_AABCNG vaidyanathan_b_Page_112.txt 3e0be85a14c0bac488e1ee5edbe66e1e a0a9da4716a28d7f83af2e8134dc396ee6f04c04 77824 F20101114_AABBKE vaidyanathan_b_Page_100.jpg 23645ee98cd9e08ed9052ebbcebb9566 71cd797d6e18e22b8ed3070e3c904c03b897a39c 1495 F20101114_AABCNH vaidyanathan_b_Page_113.txt 0dddd8b33aa913edd804e218d41224f5 a3a75d84fcfd9c446b30d39592ecbebc77d77e17 488 F20101114_AABCMS vaidyanathan_b_Page_098.txt 25685637c6b0938d99795b7c6b0de343 06e8ca1d54fb9d9b40b32bdf6bed5c37b1575dc5 79631 F20101114_AABBKF vaidyanathan_b_Page_101.jpg 53348d37b7d07b3dd5053a35f2e9f4ca ddd97977fe56329d3af2c470ca443eb454b98896 77946 F20101114_AABBJQ vaidyanathan_b_Page_085.jpg f8ef4888077cc4df4991b5270f0f62e6 a4049b381cfa8f44b3bc67f79a5a819ea3edb2c6 1607 F20101114_AABCNI vaidyanathan_b_Page_114.txt 7378f1658a63b9d486b1f4e9ce352910 f9c8f623a2e7671e224801390ff9095f4430bac4 2256 F20101114_AABCMT vaidyanathan_b_Page_099.txt fe3520bfa4bdd39c8b42da869e67b849 995bb45d1fa7a96c0fc7c01164810ca4869750d1 80556 F20101114_AABBKG vaidyanathan_b_Page_102.jpg 50a872bd446210a4777a83bb6d66077c 338033f2a4cdf875db74bdc9e2fb1673ed1d202e 77608 F20101114_AABBJR vaidyanathan_b_Page_086.jpg 538ad3f6d9f84cd886ee374364fb7636 6b45a4874acfca22c6d2d9a9b4767022acb6ce61 1737 F20101114_AABCNJ vaidyanathan_b_Page_115.txt 908aa3d2607b230026feb973e77a969a 93ff023d4e046a05951e43492c2883812dbcbab9 2143 F20101114_AABCMU vaidyanathan_b_Page_100.txt b848337096eeee5729d5bdefc8a30906 cb31471996da67eca7954b146980806ce864c355 82327 F20101114_AABBKH vaidyanathan_b_Page_103.jpg adce1deda14b81693e4c54f8c9dcbc1f d19527f4b2130917268938cde45b6024163e90fa 71666 F20101114_AABBJS vaidyanathan_b_Page_087.jpg fb92e02c31ffd2d03251a7858a446194 f710c71e7650271b4ad2a1a1ed128d4caf1ec331 2142 F20101114_AABCNK vaidyanathan_b_Page_116.txt 4bc94d9cbb341f193ce72e504ef8576b 1336577806c8c7265decbff2456c5496c8c54d57 2216 F20101114_AABCMV vaidyanathan_b_Page_101.txt b0b89307718c42d86890d5561aa8c273 ccaf4ba3a7f7d0803ad7e27ff4d0eca124478a15 78328 F20101114_AABBKI vaidyanathan_b_Page_104.jpg 6174be6b305d47e2bf87eeb9c42e1ad2 4569a92b669da5e34b6072a373c4575421720a47 72131 F20101114_AABBJT vaidyanathan_b_Page_088.jpg d2ec0e3f0b1558ea3da33b50bb8278a7 e4e5ee0c7abf0e0abcf66cfc175a609a59709b36 2263 F20101114_AABCNL vaidyanathan_b_Page_117.txt 652dfdbe2c432361ca3cee3bd77928fa 6d70a5e302c3f2e5a081180f35388f1b7deb1cca 2262 F20101114_AABCMW vaidyanathan_b_Page_102.txt 343f4c6a436069ab4db585224d5e374b 226cfe756d31433c08a232e5c46e1b6613f17192 68149 F20101114_AABBKJ vaidyanathan_b_Page_105.jpg 05f684666aafa6c6417efce217758d03 9c8711af6551ac64d723168ebc4b054283f2b2b9 74014 F20101114_AABBJU vaidyanathan_b_Page_089.jpg 16d9e1579bb705883a9e1320424f95ae 7785517950247a2d9a79b4b745423614a73b6917 2311 F20101114_AABCOA vaidyanathan_b_Page_132.txt 91bd87bdcd0bc4d57d53ec2ff376a7b1 d24b9d2023778cd3cddf1d3f609ff2d11a6baf6f 2388 F20101114_AABCNM vaidyanathan_b_Page_118.txt cd64412972e6850c05ee3fda53e851ad 011872b98f5b1ceb70b5c49c093d182422e358b9 2278 F20101114_AABCMX vaidyanathan_b_Page_103.txt 342cd33e14e9c53bab2351a31467edc2 57fa86ea2f1fcc64ebb948f284721703b89156ea 64466 F20101114_AABBKK vaidyanathan_b_Page_106.jpg 36aadcb28ed927eabbb4e445b5805886 61be7e57ede1f303e24a1d3934af92c10daac4dd 72742 F20101114_AABBJV vaidyanathan_b_Page_090.jpg 06f663fa80b5d4f3783fcddf65d5b21c 277865cac031ad8e4b9fe798c8f4f831b3f26eb7 F20101114_AABCOB vaidyanathan_b_Page_133.txt c0c6c93a01bdb1061b6faee656098317 7561ecee39702502da3d4a5ef8c1ecace5ac5967 2046 F20101114_AABCNN vaidyanathan_b_Page_119.txt fc61d2138d6e82d4fa041b5afab56199 202b11d4d4fad2ab0052a636d530346082b3bba3 2220 F20101114_AABCMY vaidyanathan_b_Page_104.txt 9cae20350830956f076ab54656fe2a1c 7e981bb290d26aed5227128e216dc0661ad52595 78846 F20101114_AABBKL vaidyanathan_b_Page_107.jpg fe294d20e3a1fd7ac84a792ce709e1bf f79ee1dd82421432ca71c36f09a4c936dc482c7d 53555 F20101114_AABBJW vaidyanathan_b_Page_091.jpg c910c61c8e592d37693a06d10f3be436 2f10a78a6e8fc06da7f2a8bd845f4169e2e2b29e 1889 F20101114_AABCOC vaidyanathan_b_Page_135.txt 4e0a7c3f99fb6ff32a352fc3487fed87 0a93ea7317377e73a8c95dbbc22a53326e997a4b 2138 F20101114_AABCNO vaidyanathan_b_Page_120.txt b23dcb63ec808f377dd2c10305a7b7fd 66321cf7ce18147dadd65d97fe166ebdc6b9ebc4 1923 F20101114_AABCMZ vaidyanathan_b_Page_105.txt d7a48197ba8f9b2c596ba1a4a0df94a4 ee96d9a5595dac33a6ceb0e536f7fe2a713560ef 75184 F20101114_AABBKM vaidyanathan_b_Page_108.jpg 0e85cd10d12c89699e83868a483243a2 d863fe8437c3511fcdad26bfb260e970471eeb29 86185 F20101114_AABBJX vaidyanathan_b_Page_092.jpg f13141c67d1dfe23c07563cb16b74b75 60a5a40dab416880587d3d7c4399ad9eb5ec65d9 73851 F20101114_AABBLA vaidyanathan_b_Page_122.jpg db4a99d69f1e3db695a65c73f7ce94a4 abf6925bec8dcf4bdd26d182a91cf96dc358a024 744 F20101114_AABCOD vaidyanathan_b_Page_137.txt 69ceab1b3313f8fa2c477d5663454adb 048e040555552f222e2c4cb8baed1368de8acaf4 2223 F20101114_AABCNP vaidyanathan_b_Page_121.txt 9cd0278180fc9187320b4fc36ffa231d 8040da15de0b04f8a3c305fa68a92b53af615241 70363 F20101114_AABBKN vaidyanathan_b_Page_109.jpg 260aeda5ba35235cf6deb0dc8bbfe42d bb836d6fbda03419b9f1a1f9d832bf5a809b418c 46733 F20101114_AABBJY vaidyanathan_b_Page_094.jpg 137fbfa3cedb2ebc1aa3e78302c3f6dc b84d50ac9039c17c70504a0da12d3de7c554a491 76655 F20101114_AABBLB vaidyanathan_b_Page_123.jpg bfc2d09484899a2ac388ded8d4c41358 ef1909357da9d3373d2e2371bc4bf7bc21e969ad 862 F20101114_AABCOE vaidyanathan_b_Page_138.txt 94eb6890a12bed90b453583a4f951905 7a041a8b41df56994b912225ec50929962285629 2097 F20101114_AABCNQ vaidyanathan_b_Page_122.txt fee3d1c8e4687e6b712cd01f04d85caf 6e2bde0d3bc0554cdc816e881f789b11588879f9 69724 F20101114_AABBKO vaidyanathan_b_Page_110.jpg d5ecb70d2391f01865e0409921689294 247c43ec1323e01397686afc76f69a15fc1216fa 34404 F20101114_AABBJZ vaidyanathan_b_Page_095.jpg 54096486eaf4904edec4c78e467cd2b2 b55b4a2fb210531398016c8e09fca79f5dd49b81 54582 F20101114_AABBLC vaidyanathan_b_Page_124.jpg 6129ba798955d2cb186362a77c7175c1 6a3a33b1e4a0ea34ec6e3a1fac87a787d677e0b3 963 F20101114_AABCOF vaidyanathan_b_Page_139.txt 8c92466b24ad8882f6e7799d9e523c0e dde69f77caf9f03df216be2e31b539fd0c60a1ab 2168 F20101114_AABCNR vaidyanathan_b_Page_123.txt dfeab397dd6c8b112054113801552e37 d0dbe2bc4b4a0f3aeaf235ec607544e66e2d48b7 74447 F20101114_AABBKP vaidyanathan_b_Page_111.jpg 7cb2a985ad1d87e849aea5e02f2fcee1 527f43c5a02ce24ddc7be02d6e2a9b7e49ddc65d 61455 F20101114_AABBLD vaidyanathan_b_Page_125.jpg 7854605c6e4a0264d31881bcfded7fae 9e52caf2e42c0b15d915c1b5df717bcc88a00693 318 F20101114_AABCOG vaidyanathan_b_Page_140.txt 1c7d41fde414b5d6351eee2593c64b27 2afe396a80691ff7e9f731323976be24e4e4a68d 1461 F20101114_AABCNS vaidyanathan_b_Page_124.txt 1fc84a9682ecfb75aec80bf3d2f0ce12 b6a5cfcac19864cc38665ed56f7728f77f35e206 70229 F20101114_AABBKQ vaidyanathan_b_Page_112.jpg 682639986d1efddc555149c8e2fbabdd 8b12713953092ce6e26dcbe00857b4454f689c34 72342 F20101114_AABBLE vaidyanathan_b_Page_126.jpg 0b0b7b88ff591d5398e8662f16f01b55 3ad4459ed7e7864e63b492355d9c4ff6f84feb2f 907 F20101114_AABCOH vaidyanathan_b_Page_141.txt 6ac1ce5c50fc7056e8aaf2a882b33a96 c201439528fbddc631578506186d3090b4002ce7 93581 F20101114_AABBLF vaidyanathan_b_Page_127.jpg ef0f01658d3e0989d04660064316db6a a288b8902ccef0d2724a4aeec4b453783f591892 240 F20101114_AABCOI vaidyanathan_b_Page_142.txt 66605849e46cf61e2b68cd75fb5ba9d5 3cd63a65e026b3b3e740dcf1dbef702d7f2cf74d 1811 F20101114_AABCNT vaidyanathan_b_Page_125.txt 0a1993c13b8928dcde59106dd4497ece 246eb1ad364c8438e26909327918891f24f82286 55292 F20101114_AABBKR vaidyanathan_b_Page_113.jpg 41dbd3a5df983c09cb31350452d649c2 4e2153bd87b438954f01795c5fc28cbc876eaa59 72690 F20101114_AABBLG vaidyanathan_b_Page_128.jpg da93520b71be3bc3a110856f59a77a75 159ec0082e3d3258fe02e0eca490dabfc1b7feab 790 F20101114_AABCOJ vaidyanathan_b_Page_143.txt ce8429c32a3f17617236266a6df2cb77 3a1b7781f1fc66204d8c148ccd235f36c889dcfd F20101114_AABCNU vaidyanathan_b_Page_126.txt 9e591644ca97c010fc23189c320bc5bc 533c2e366ba77b7f1b8b08fc2fb2e3882d4d450c 56186 F20101114_AABBKS vaidyanathan_b_Page_114.jpg 5568926e9aa5a324da173d910e86060d 447ce92b2d75ee670b0f4a14a46c0392bdb0bc81 69190 F20101114_AABBLH vaidyanathan_b_Page_130.jpg 45a0c96d0c1a99fcb2ffd4303dd03a18 fe2113d98c2ce2f12b33b8c15f0d2a788cad4201 322 F20101114_AABCOK vaidyanathan_b_Page_144.txt 009290329571973491ce08ff11fc6b77 7bb656be147a3e9e548390fe64f6cc235e846885 2830 F20101114_AABCNV vaidyanathan_b_Page_127.txt cf5fc49e95aa05bc5a029542404ae6e4 8c0ad674f84f75d7c48ba7c55d0cbac34d7da222 63522 F20101114_AABBKT vaidyanathan_b_Page_115.jpg 7074a5a8228a95e068ee98767f5b2202 28b06aef777abfbc24b6230a255ed4d3a466aa6d 81903 F20101114_AABBLI vaidyanathan_b_Page_131.jpg d41da0395b1ae480adcaf0228fba92cb a63520225e2de103a431a7e4e14178c1394557fe 2211 F20101114_AABCOL vaidyanathan_b_Page_145.txt 9c19bef01d797dacea5d848c75d26a07 dd019001a50d6b6bdf060f0e2f25b1a428756ce9 2156 F20101114_AABCNW vaidyanathan_b_Page_128.txt c1605c3d21601649e13ffd8a81d015b2 2134de1eb9631ac00aa64d7b199574fb5f6b3fac 76468 F20101114_AABBKU vaidyanathan_b_Page_116.jpg b8c4a15d93765b9203a7e621d50cbca3 dc338ee344065fdff798250d32f80d7c1294afed 78879 F20101114_AABBLJ vaidyanathan_b_Page_132.jpg 034013efbab5b87723a5463c02e8327a eba2dcf7cdb8548f4f538b02cd7a643b05ff9119 2109 F20101114_AABCPA vaidyanathan_b_Page_160.txt 2ab8f5d294a05a2cf6cf99e01e2c0338 f81944042c608365bdf7d0d55b5b4b121f6315ed 2075 F20101114_AABCOM vaidyanathan_b_Page_146.txt d7ec64f6021d606ba832db05af516cdb 4d6269a1c3dd429fd5e36b7f12e239786b4534eb 1913 F20101114_AABCNX vaidyanathan_b_Page_129.txt 3726d1c00cc26213165aeac18be7c8be ec674dc7abb4a3556d99021937db4f954788229d 81652 F20101114_AABBKV vaidyanathan_b_Page_117.jpg b5461d093ee82c6c6b0aac4143fd6547 7697671a4e9ab016d6bd6d322de4ee7565a18540 78865 F20101114_AABBLK vaidyanathan_b_Page_133.jpg 09263d21420da75831dcd8aac1342d2c 626dcf2a98aeb7f22ba277d2ae537456a3b59228 2145 F20101114_AABCPB vaidyanathan_b_Page_161.txt a35ff870835753094d9b2cc7fffd63be db5d437249dbfc453696e3794850f1866f11431d 2148 F20101114_AABCON vaidyanathan_b_Page_147.txt ff6ea64e6d82d0f9384242eb46d0b316 2415c8b473903f796ae0ebb54c921f0bb405462b 1959 F20101114_AABCNY vaidyanathan_b_Page_130.txt 94ac28289c15a1202e74ea8b919c05a6 b14c75871cbd555a5efa8a6c9a337c261d9a1b5f 83844 F20101114_AABBKW vaidyanathan_b_Page_118.jpg 8de18a6b7d76d02486973ffb1c329fd9 4114f1dc814c3a5094350cb9d0433dc1007c68df 16368 F20101114_AABBLL vaidyanathan_b_Page_134.jpg b4e10350da482addc5645388015e8e51 5d8454ccf3d7188b88555152afdb0af3453eda41 1668 F20101114_AABCPC vaidyanathan_b_Page_163.txt 2a9ad5676c507479a92d51edbaab1cae ecba344cbd31404716dd68020d9b4d4a2baf1818 2210 F20101114_AABCOO vaidyanathan_b_Page_148.txt 41a97716c6ba354488cc4b2a88f485c1 664e215c842b9b977ef8e3ff1aeb1e8c98640ff5 2327 F20101114_AABCNZ vaidyanathan_b_Page_131.txt 8388dbb9ffe0a58defa21c592bf0e037 3bc6653d87f6883c21140f4d6ebb441453bd8c92 74439 F20101114_AABBKX vaidyanathan_b_Page_119.jpg 43560385206ce75194f434eed1612a75 f3b2f7328c7b825d34afe8cb3c1e19e8fa61c225 75035 F20101114_AABBMA vaidyanathan_b_Page_149.jpg 79573c54d853f43df9f1912f4ca9c42d acf2ec062a490524edf0bd3959727aef8e2ae616 67303 F20101114_AABBLM vaidyanathan_b_Page_135.jpg b600eb0c9fb80f17a566c3f38b91a667 53ffe4ec5b6f198303d162c73bdac35e958803cc 2146 F20101114_AABCPD vaidyanathan_b_Page_164.txt 22ed6d3f40f273ac690c3536db65b9cb 7c4a357edc03a06be6914718ebbe38363e0a9bb0 2120 F20101114_AABCOP vaidyanathan_b_Page_149.txt d70d1f8865a933e1fc9486fc67e51dce a1d149922a934ee739cb054b5d84b509b1360fcd 76031 F20101114_AABBKY vaidyanathan_b_Page_120.jpg 968990c91e7b9521d96289c906d49b3b da6335c4e812afc4aefa981cb4b8d712c1a94de5 66537 F20101114_AABBMB vaidyanathan_b_Page_150.jpg ed1f621b765b2a5ef3f4828a0edba2e2 521683b73572c40667ba4c6aa5e83a46c0ebd514 28441 F20101114_AABBLN vaidyanathan_b_Page_136.jpg 96229644a349e802da18bc3b83078927 b7aa13eeb2913922a83a18361dfd06093db885f3 2093 F20101114_AABCPE vaidyanathan_b_Page_165.txt 9e997280c22d8d871467b4a317911d38 a31303ba16a68a30d882427d676bed0e3f012b78 1803 F20101114_AABCOQ vaidyanathan_b_Page_150.txt 936efc18496c35093d21a670b622e6ab ebbfe53d1f1f8f792ee896e041954c81bfdad391 78401 F20101114_AABBKZ vaidyanathan_b_Page_121.jpg bc87202ec4251048b8655245b586a8b4 c398dff73d3ca9da55c6720e802958612091eeb4 65161 F20101114_AABBMC vaidyanathan_b_Page_151.jpg 8ee9e4d4825bb37f866df30fe4bcdc70 f9c363c056fbb831c03dfb4f85df3fc19399af0a 34400 F20101114_AABBLO vaidyanathan_b_Page_137.jpg b34140dd3287e6c245947943f06e5473 ec00d013099445f958fa26733da0dc046ee7d6a7 F20101114_AABCPF vaidyanathan_b_Page_166.txt 1102c1c82f88aadf06827cc17daf824b 305340d4890d073bd0973afda7b977f0fc8ada9c 1725 F20101114_AABCOR vaidyanathan_b_Page_151.txt 1e8795bbe0e3e527d200ce8a882223ad 8c0f9adfd548193419fa6baa80ed490d80a4f2ae 54280 F20101114_AABBMD vaidyanathan_b_Page_152.jpg af0741850419e19f775ab17f0e1ec08b 70faf4bbdfb62a173512ba8962f9e976795da644 26340 F20101114_AABBLP vaidyanathan_b_Page_138.jpg ae72eee1fa0d7c73a786515e738c3722 7dbfcd252e0facb35f1c388dc10423eb1a3ba11a 2096 F20101114_AABCPG vaidyanathan_b_Page_167.txt 02f23ca8fbaedead60997c94af339592 1f6901ae5b98906787bf991b693f7b06fb314d0f 1636 F20101114_AABCOS vaidyanathan_b_Page_152.txt c6469c0f0a07538c6fa8fc007f1fdfe1 f587952b84bd349a9486993821b9734b1dce2d67 79324 F20101114_AABBME vaidyanathan_b_Page_153.jpg 550d5af1b3cc65fc718457ddbd440939 45a293071ca865bb50552ce8a4b0719793bd27fc 27261 F20101114_AABBLQ vaidyanathan_b_Page_139.jpg e176fd96fb19342089dc072d19164357 8dc7d5df813ba50a5345e792b09267ae89d3e23b 2115 F20101114_AABCPH vaidyanathan_b_Page_168.txt a8d82f47090e1cadc582e53d30f2826e e6e440ab6efd99d13a294b7a52b57b1e4e082b5d 2193 F20101114_AABCOT vaidyanathan_b_Page_153.txt 701b8eae61bd1712e76e24751bdb8d3c 22020a0734bf4df6117ce85dc36be37a57475789 75379 F20101114_AABBMF vaidyanathan_b_Page_154.jpg 15f184ca7d7d938eee4abd1a36fa9e22 3991d024e0335d87a352f84ea4066008a125894d 38379 F20101114_AABBLR vaidyanathan_b_Page_140.jpg f69385593ce51ae6abca516b7a07a529 22128cadbc3ba77243ec1ae3d945779b1e8a63bf 2035 F20101114_AABCPI vaidyanathan_b_Page_169.txt f7964eb023a80d93e91a03634e43f133 45d1d2bfdb65ed4f4cd292fe980e88a1fc2e43bf 81949 F20101114_AABBMG vaidyanathan_b_Page_155.jpg f91251f0aecce7c2474f6a8e6d37ee19 4aa6258473105f9ef10d06309ce32113316f4152 2201 F20101114_AABCPJ vaidyanathan_b_Page_170.txt ddf46344e93ce45ff19d5c2e832a4ac1 ac981725b8d7ef1748855ac548aaee3629af4fdd 2108 F20101114_AABCOU vaidyanathan_b_Page_154.txt f4645a031425dce6051eb5ea696200a5 5206d4f5d81d29f17e5ab56267503af93cfa575f 54530 F20101114_AABBMH vaidyanathan_b_Page_156.jpg 90c5ddf13d95a6589e724275b3555656 a047a92a0fc3df3b34cde17fa34a62338e4b2b2f 34133 F20101114_AABBLS vaidyanathan_b_Page_141.jpg 15acc8f1c683b9e5a23978faf8929451 d7faf896053ef07b118c9718b8fe233bcc1bde0a 2161 F20101114_AABCPK vaidyanathan_b_Page_171.txt e68a5eed486caba1d3640e55112cffe7 091daaa87121c90599b4082c543d9b4206ccc5c8 2251 F20101114_AABCOV vaidyanathan_b_Page_155.txt e26c592bc5a3e98c527aba76b97f1fa6 78e396ef58db10bf6f34c5ac608eb9199c5e6415 62480 F20101114_AABBMI vaidyanathan_b_Page_157.jpg 8415af83401664a1a641a0cb7d6c518a 1c0480ee9c1a9cd7d0cbf1aefa765f72738f53fe 22538 F20101114_AABBLT vaidyanathan_b_Page_142.jpg 8515bcac536a4d46f62b8af5d86415b8 affcb2f18260f99ee6ee06b11aad4c90c2aa5d58 2250 F20101114_AABCPL vaidyanathan_b_Page_172.txt 65d7a22bd2c800b514e1178c871d7578 b7fb5b944c60bf8eef5236da4625d62a5277e48a 1529 F20101114_AABCOW vaidyanathan_b_Page_156.txt dc2c0c70d764d7d19befb318a649a63d 83d8c5bcf05f4e0209a3aa11e14b17fe56c2dd7f 76898 F20101114_AABBMJ vaidyanathan_b_Page_158.jpg 04077826c2b7b8821ba329382434bfcf 8679369d3a90de488099ffb4e21128dee9bf4a81 33652 F20101114_AABBLU vaidyanathan_b_Page_143.jpg 786942c4dfbdd0edfe9bf664c19b92cd e250d0f17d8ec97c2cc4eb6b687075dc53a1e0fb 2413 F20101114_AABCQA vaidyanathan_b_Page_188.txt ec879e4f3c7690f6cb0ac056c72ec99e 73620ba8ce614c554a8ab49c7cef5db0018b9f30 1863 F20101114_AABCPM vaidyanathan_b_Page_173.txt 86296628be264e99f81ac6e58a11f7e8 9265394825c6a1276a4b8e5725149900f0de6637 1795 F20101114_AABCOX vaidyanathan_b_Page_157.txt 4dd3173edd4396e03a1893914b6803bf e3d897d75c06f22102500af6e5a8ff1fdd037671 71119 F20101114_AABBMK vaidyanathan_b_Page_159.jpg c17186ed88fbfefefd2a458501bbe742 428019091c9f134cfc92ede476f8c1807e268c48 22306 F20101114_AABBLV vaidyanathan_b_Page_144.jpg 500da803a34ba4077cfa072855df8c6b 07b855ea72cf10a6dc2bcbe050b7e1f1a32589c0 2404 F20101114_AABCQB vaidyanathan_b_Page_189.txt dcc1bebde243b37fec3961acc032491f b645a7400cb2d74b9e5ec8c6c86488f7a9dc10a9 F20101114_AABCPN vaidyanathan_b_Page_174.txt f639947034b043c10e9dc6a89772183d 1d58c6c3ad7f079c49a414cdcdcc9d64783227f6 2155 F20101114_AABCOY vaidyanathan_b_Page_158.txt ade0c1d1aacf9696312209bf91c25329 d82e057ff06e2da23ea7e137205555cdf4799a7f 75998 F20101114_AABBML vaidyanathan_b_Page_160.jpg 2b42c14ff9eeb036861d4a69715088c2 c0f7df783dbcf8afd4b9fb4790e6e47738a8b8a0 79802 F20101114_AABBLW vaidyanathan_b_Page_145.jpg 1f548ba5ceb682717efc8cecfda08334 b731164a44867b534b876fa5fc992262a37a8365 179 F20101114_AABCQC vaidyanathan_b_Page_190.txt 165d52b59527a0b0c13f08ffe70fae13 3a0f8c1f4165b8108d5192e81ceb594efc00ccd2 2227 F20101114_AABCPO vaidyanathan_b_Page_175.txt de26dcb0038631499291079f402874c0 900df3a8fe4b4f6ecfab8b3c210fd9a75b2d81ce 2025 F20101114_AABCOZ vaidyanathan_b_Page_159.txt 56fc9ba9421a0e7a3b2e7be75118bfb7 9fd1dcbe6141222392e4d47882880cbc70aea636 76621 F20101114_AABBNA vaidyanathan_b_Page_176.jpg 92970ffd8729f2641cca189e88adb362 864c5406fd0daa220c686b165d90373b2511acd2 78475 F20101114_AABBMM vaidyanathan_b_Page_161.jpg 2aae3ebc628f489d9af3c6b597eafebf 327eb4928fa39617340bdef497291bfa67a7d7eb 78636 F20101114_AABBLX vaidyanathan_b_Page_146.jpg d776507cb41b789ea48685d38a5b9073 978dce483587431c3143e0626c8ee45c6fcb6583 935 F20101114_AABCQD vaidyanathan_b_Page_191.txt 937b67ad643b41b0a66fa3e03850e701 4050d95b175c6ae8a6eb6556414e7b38a036c412 F20101114_AABCPP vaidyanathan_b_Page_176.txt 75f9b30909aa58c90a9d5cc67193a108 975f6b474bc716e0d7f2bbd0128d4c2217dbe0bd 76585 F20101114_AABBNB vaidyanathan_b_Page_177.jpg bf224ee4ffebda368cee5ce0dbd1a917 65baec5a65dd05a163a0c8f046239b4e630acb4e 76279 F20101114_AABBMN vaidyanathan_b_Page_162.jpg c054a60a60f26a0eb81b2812f95346aa 5cd1fd4cb622a5d222da10f544f803bb0763f6fb 80686 F20101114_AABBLY vaidyanathan_b_Page_147.jpg 54024b587c025a642188432ce4a86100 c6903cbed8478e983bf69010a5d65f553e67f579 2358 F20101114_AABCQE vaidyanathan_b_Page_001thm.jpg d8c34d1a95858c6eeb74ddf6183b2041 ce6e67649dc084a09c665c774db5adc940cfdfbe F20101114_AABCPQ vaidyanathan_b_Page_177.txt c29e5414c801bb58936d879fe3c264d8 120b9e0a17cf29568d7246fe76f6f5a48b9b1899 79371 F20101114_AABBNC vaidyanathan_b_Page_178.jpg f36ed576497edf382dcebe69be31cf3d de15fedc8188a7f2e657b62a127a813c1e62f0d2 59737 F20101114_AABBMO vaidyanathan_b_Page_163.jpg a5ad5a9c54aabed54fb7bf608183df63 7a965356bff3b33d9592a089522a3d45e43ddf32 78842 F20101114_AABBLZ vaidyanathan_b_Page_148.jpg 4841506a93a101055300a43adfa8f5d9 0e9eed39e090cab75d234fb070a8baaf52c9b5a6 737961 F20101114_AABCQF vaidyanathan_b.pdf c7e0d64f33d4a0e5291a338718db552a 414c54cc915471416787a14028efbea5b915ad17 2209 F20101114_AABCPR vaidyanathan_b_Page_178.txt eded27cea27ff880fd15b5898c7c0305 0038233fb687b7103c1f4eac63d3903bad06bc02 53699 F20101114_AABBND vaidyanathan_b_Page_179.jpg 79b87b4322853d3c3b44920a9d4f7145 d6319eae6f7b29746eea4606c0e0708847eb886f 75911 F20101114_AABBMP vaidyanathan_b_Page_164.jpg 5a813dd2fbec09446b8689eafae4abce 691dcd6d20ded88528c11fad7a46d3f69ee09193 7481 F20101114_AABCQG vaidyanathan_b_Page_001.QC.jpg 064a069a2b1d534d77653449ff614825 63ea931c439bb6b49f35f44d2d93a7fe1b582a88 1414 F20101114_AABCPS vaidyanathan_b_Page_179.txt d544ea60a52257b1b4198e27caf72892 6bf6df4ed0976a13d25c02b7422948bb9bb5d529 30614 F20101114_AABBNE vaidyanathan_b_Page_180.jpg 79104c03e6ce6c3e4e3c7b29bb89c41c c57003ed755b7dc2dd43ee8fdb6bd6435fa33dcf 76896 F20101114_AABBMQ vaidyanathan_b_Page_165.jpg 8e24cac896c5fe39db1ffacbb6309c88 ec67557c15551b9fb6b2fa314cc9025400d9f146 3165 F20101114_AABCQH vaidyanathan_b_Page_002.QC.jpg 037c9ce3250c292dcf4bb007d58faabb 19f884e942b660177673abced3b861b080027de4 801 F20101114_AABCPT vaidyanathan_b_Page_181.txt 1cf47aa9ed4767b1ab54ab6e36e67168 0e2a73db6681591bbba0c3e4c899177885026ce8 34073 F20101114_AABBNF vaidyanathan_b_Page_181.jpg bb44430fd96039a7580a4063cc78cafd 747cfa4ba5f655574806024cf0d2a600ae936081 74622 F20101114_AABBMR vaidyanathan_b_Page_166.jpg 83344abdb2c3d7130576965a5ec5d547 92e694a9e308acea7fbe8435d8bce93d6d692780 1349 F20101114_AABCQI vaidyanathan_b_Page_002thm.jpg e3970715ee1d9087e5e8bc75387fb5fe e31614c5c695caa026a79150ebbe51695d525823 416 F20101114_AABCPU vaidyanathan_b_Page_182.txt a200354978315adf2486d86fef328990 54ad699af565dcd22b6ce2268223b12dfd432da5 76741 F20101114_AABBMS vaidyanathan_b_Page_167.jpg f05b8dbdae13b9fabf905a3a9752a7f3 f729453bb76258a822f3f2c350a00356666f6c23 21806 F20101114_AABBNG vaidyanathan_b_Page_182.jpg c3f17abcbb30d455d6dc0b131d0b689d 2869ebf7221db41dc94018f0c74c86be98d6030d 2961 F20101114_AABCQJ vaidyanathan_b_Page_003.QC.jpg bbf686dcc723330dea0fa0bd77eea0ea 172f392dd590a64a821e71b5c2614e5eadbc9878 85115 F20101114_AABBNH vaidyanathan_b_Page_184.jpg 7ff7ae794818d3eb1c107338b0979f09 1181b85676284019e58d2c32e8575679c3cb2a95 1305 F20101114_AABCQK vaidyanathan_b_Page_003thm.jpg da32310022f06ba198495b415705ec8a f42f09c7a32fc582c2d125aa2195384862626f2f 2468 F20101114_AABCPV vaidyanathan_b_Page_183.txt 58ba338ed45e61b0c875a60c51bc9f98 89f237c1dcc17b5fe91edb40f415dac641e59fc0 73320 F20101114_AABBMT vaidyanathan_b_Page_169.jpg 2f933b22fb2dfb38ccae3912db64a42c ad544ab8ddd1256cf76938ebde1724ae96d0c5b9 90124 F20101114_AABBNI vaidyanathan_b_Page_185.jpg e0bba2cc3ee4291d224a19089f9439bb 6bfb0413cb52e6c374e756dbb20ae42082c35363 17426 F20101114_AABCQL vaidyanathan_b_Page_004.QC.jpg 6fbc3b49de6204bacbbfe8b4613cd5d2 d762c54516a0e1d6c207f18d986e2d1bc9dcbd96 2389 F20101114_AABCPW vaidyanathan_b_Page_184.txt c7972a43cde401bc34b8849b3f5d31d1 a516eb71df30ec0850d48ebbec33387d64afa515 79583 F20101114_AABBMU vaidyanathan_b_Page_170.jpg 75cdf07e6261c53ed890e495b02d3be9 9ec0d129fc70bf80a2bf0e804dfa68cc4101a0d3 81730 F20101114_AABBNJ vaidyanathan_b_Page_186.jpg 62c985ee434ba8f12295d73baebac1ba 0c65a3f3acb2ddc2f08924fa0669cca7242b0e08 6314 F20101114_AABCRA vaidyanathan_b_Page_011thm.jpg e1626d9cb146a240ddeef6c6ef90c9be a74aa1eeacd498218cc1636744e2cc84e2a1c9b2 4930 F20101114_AABCQM vaidyanathan_b_Page_004thm.jpg a633b92c75f1ed6bf741198289ef2a6c 6dedd635f00fbf7b58d135dbf5760577e6a8ad1c 2543 F20101114_AABCPX vaidyanathan_b_Page_185.txt a4a4275a1aa2ffc06e311f41cfa9f7df c1748a05c1ba09504a7f15f4b5284688082e6580 77431 F20101114_AABBMV vaidyanathan_b_Page_171.jpg 2cea5e1f246f1b5a0dac1258f45f37da 8b70a73766ffef7cb80d73fe9d85a1ea86c86bc8 84271 F20101114_AABBNK vaidyanathan_b_Page_187.jpg cbd836e3572756a7ff7be9f87381d3f6 46444e9936ddf44bdf77fdfba5a51f8b03845383 11141 F20101114_AABCRB vaidyanathan_b_Page_012.QC.jpg cba4cc1907f339a390fea491103003d6 76213ee3be6be55ed746d96097c1d23c69616c31 21756 F20101114_AABCQN vaidyanathan_b_Page_005.QC.jpg 4cf9181518c1bb47411872ae08390c9a 564e0bead15f2991764b8247f4ef54c7de7f7786 2346 F20101114_AABCPY vaidyanathan_b_Page_186.txt d8ff65e11388f7df2ab434458a4c8c6c ea61585df23f6206cb44d072bf69cd5e6a66d69a 80529 F20101114_AABBMW vaidyanathan_b_Page_172.jpg c426fa604f5736f9f6faf082ffd927cc 6085a84a83bee315440a1ea45a6502504c930bb7 86313 F20101114_AABBNL vaidyanathan_b_Page_188.jpg 618cb535d8e5037f3ad54f0197707158 4336a6bd6f89a491184e2ca1c8d93317e39d8ff1 3335 F20101114_AABCRC vaidyanathan_b_Page_012thm.jpg 02093c72c294014eb362de5ae4656fe7 9173308b95ade5a7d50e9839a47c685afb6679c4 5578 F20101114_AABCQO vaidyanathan_b_Page_005thm.jpg 7a22367e25adc58332727af0c971d385 7f76b12bf278477c2a5a81113f15ce9c11cfb3e7 2465 F20101114_AABCPZ vaidyanathan_b_Page_187.txt c2feeb7c16fc269baa9f49782af22a02 a4ebd5ae3a573d99fcdc33a23db1a7efdf83b5e3 65680 F20101114_AABBMX vaidyanathan_b_Page_173.jpg 8a7b7fbae4101c9eb579f2bf21ec50e1 cf4ee541fa88f134db5a3d08252e9a9845111c21 117011 F20101114_AABBOA vaidyanathan_b_Page_013.jp2 fceab0c894326d50e19b5e82be3ee9a2 fbcf2b818caa5b365e4f249dc717193f603673c7 84611 F20101114_AABBNM vaidyanathan_b_Page_189.jpg 380e0ee3fbe4350462d6a48ba025fcdb 9da8aae050e8e522270f067f0448594f5007f78e 25463 F20101114_AABCRD vaidyanathan_b_Page_013.QC.jpg 908a1e179b952c74860bb74e4a853955 3f34082397fe406e17131480f93fcc08b087e74f 27474 F20101114_AABCQP vaidyanathan_b_Page_006.QC.jpg 2bb76cca3471d0d5574ce4299f0536a2 87e8835a865c91b2dcc19a1f83c002eb34ef8c99 78595 F20101114_AABBMY vaidyanathan_b_Page_174.jpg 870c2e53fc63b17dfd445446d9cf3b58 a9585e3bf7eca104c5e12c4460ba9bb40c5a6359 114088 F20101114_AABBOB vaidyanathan_b_Page_014.jp2 5b949320357dc7283043976ba08d9562 27b03f7e10ad60777ba5d04de904b04a1ea484e0 14233 F20101114_AABBNN vaidyanathan_b_Page_190.jpg e693389452e3ccf0937baccb410446f0 5420d38c9dd9d57398b0b05295a4dc197c7064e2 6921 F20101114_AABCRE vaidyanathan_b_Page_013thm.jpg d46068eca5861b79b10d7613ec71f735 df0e45df96fb7e6e3d56526fb7cf141efb5f5aa6 6550 F20101114_AABCQQ vaidyanathan_b_Page_006thm.jpg 9ed22336afbefe87e56cf6043f6c0658 1dc01c5df0299dd7cf322a56f30e290d53f5a1f2 79572 F20101114_AABBMZ vaidyanathan_b_Page_175.jpg 1839aac4a7d3c9c81806a8b58570a108 c7bbbfc15a66628320ec0cb424615982225dcd80 46365 F20101114_AABBOC vaidyanathan_b_Page_015.jp2 6f3aefdd82946b18bc4095b78d5033ea f92ec9213bc3c08acc27135e44c4a8747213fd5e 38938 F20101114_AABBNO vaidyanathan_b_Page_191.jpg 69c8c4d6019c38b3b41bcdc424ee1b6c eb90ccc6faa53ef15d74e4b4b2f6c157d0141a76 24596 F20101114_AABCRF vaidyanathan_b_Page_014.QC.jpg 42a192f1aa84474a6846989a6c3934fd 7a66ce169fb59fa7dd6c3df9876ab62a55c7b793 8122 F20101114_AABCQR vaidyanathan_b_Page_007.QC.jpg 2dea7034368aaeef913a4b54454ce665 3dab8435c82e6315164c5ad6b5601ff740b2090d 112483 F20101114_AABBOD vaidyanathan_b_Page_016.jp2 8d2481945dcc033f01658ff8882e9c88 5e54018435fb77f62ebc3217f86955f91c9ed1df 25514 F20101114_AABBNP vaidyanathan_b_Page_001.jp2 72a20b37f15f1a20543c6330ac5a5b72 bf41287f09f65b694833e56b7884bc7899de2049 6786 F20101114_AABCRG vaidyanathan_b_Page_014thm.jpg 2f706359be89e4be261c0bd33f2965f5 3a745dde754a7580fabe8925a0856a95d1d29c7e 2434 F20101114_AABCQS vaidyanathan_b_Page_007thm.jpg fb5ad9178b74da8ff8adf48edbcfee8d 2670ff9d695a4932a516dceff652cd3ae4fb0dc7 118635 F20101114_AABBOE vaidyanathan_b_Page_017.jp2 cc6ef2a966a4b43dd08f5e28a75e02b0 7993b078512a5d669caa72b783bca4366d1950b1 6160 F20101114_AABBNQ vaidyanathan_b_Page_002.jp2 0b7ccf7220517674512e1d4b8fcd3516 a861604009a08b8f28873c7d9c85f5f481eab5a2 10809 F20101114_AABCRH vaidyanathan_b_Page_015.QC.jpg e9a10f68a82f2980fbfe12394b50f0f2 56ffb28d357d876a4fdb81f8c3a2d3e296d14cbc 17558 F20101114_AABCQT vaidyanathan_b_Page_008.QC.jpg 598882d6f4d3226c2447e7281b1e0211 be7e470c554c03fb48a4b91b7096a3fc673e3850 121614 F20101114_AABBOF vaidyanathan_b_Page_018.jp2 51bb6a3e04266eadb188dd49808ed802 02d07b5b31d160be92ca0dee787b878967b013ea 75085 F20101114_AABBNR vaidyanathan_b_Page_004.jp2 3d86c75ae9ed6bd59848f850052f8576 8b163b736a4a32897645477c80bea711f75a9284 F20101114_AABCRI vaidyanathan_b_Page_015thm.jpg c4b1c2b57a82a4ef842f30698fe64fa9 b9990c638fd1b168ba9bea1f2a97426cdf64a607 4393 F20101114_AABCQU vaidyanathan_b_Page_008thm.jpg d68f0686f4cbc5b54737b81e685d4aec 0e3b77cc71740c833c327901c21076fe657b6749 119651 F20101114_AABBOG vaidyanathan_b_Page_019.jp2 c30e222c9f15644ba3ac2247f712c2ee 5be6a2194d37813a6ccfa35f8b29f4b757553e9e 1051945 F20101114_AABBNS vaidyanathan_b_Page_005.jp2 11c1abfe6d251650695f5cc24cae1630 0ec4d0593691ee4ab0ca8402b58a7b9851507951 25068 F20101114_AABCRJ vaidyanathan_b_Page_016.QC.jpg ee96eb3dc07d86f2de627729aea60d58 dd00611b1d10c07011a6a2bc7a56d51ae0fec42f 22088 F20101114_AABCQV vaidyanathan_b_Page_009.QC.jpg db463d0dfd48f5549030e3c2ada2da3e fa5de8bcf6930769ae6f14db48b263a42e6bc2f8 114717 F20101114_AABBOH vaidyanathan_b_Page_020.jp2 10d96b3367fb97c13191b2bc0b4caaa6 06db3378eac6d81d9cfee69251848e6f6bd5c66b 1051981 F20101114_AABBNT vaidyanathan_b_Page_006.jp2 cfacb1aba9568f797f6f986bbc34d021 b46a51c021336cc50f5eaf5476aa9d3fc66039e4 6699 F20101114_AABCRK vaidyanathan_b_Page_016thm.jpg 6e5e9cce46e019a0a4e63b55fe54e5f2 3b69eaa7d4747d7977fac4940238de3607957b57 142977 F20101114_AABBOI vaidyanathan_b_Page_021.jp2 7a4036e5ea2a3b5fa5832199da295202 b028e52068e0e87c698bf785b8943b78c4803b96 25723 F20101114_AABCRL vaidyanathan_b_Page_017.QC.jpg fe7e9569b59e78db00536c9a8f43b477 599a2d6c37f75c4a3be9b66f1167c3be2ea5d9b5 5565 F20101114_AABCQW vaidyanathan_b_Page_009thm.jpg a4c0e4efe0156664c2bca9786b0da133 b79c779d10f05fae62f9acf1449096a942fb04dd 131568 F20101114_AABBOJ vaidyanathan_b_Page_022.jp2 aba865681dd6d297d3a44c909d1e512a dae598fe99acb5ae258743b4d03a63a5e0924dcc 696802 F20101114_AABBNU vaidyanathan_b_Page_007.jp2 205f45c0e423cfbc2b54750808327021 f388768a67830ada42192f46a6c35b0d7cc0da34 6577 F20101114_AABCSA vaidyanathan_b_Page_025thm.jpg d1b7cdde8bb121e3a0070db7256a1960 7d836b719b29c8a1bf49c8a856db842490cfeffc 6803 F20101114_AABCRM vaidyanathan_b_Page_017thm.jpg 910f1bc1c83829e92e414a11665ffa07 0ae27b1ca1129e7012ffcfc426e44b77262d6a6d 5517 F20101114_AABCQX vaidyanathan_b_Page_010.QC.jpg 9f5d3ce35481c2622bd72762ad4206df f326befbc08e143e00f4bb1e92bac27cf68e58a5 113838 F20101114_AABBOK vaidyanathan_b_Page_023.jp2 e8911a49228a11cab1a67d7382b7545a ec881b46ee89a2a8038de4fb0feef3d71af4b5c1 1051967 F20101114_AABBNV vaidyanathan_b_Page_008.jp2 3d4fad09916c4c68122704e4c285fd67 9df535a5c8aa2d32c12995a546ebefbde5ab6e15 25672 F20101114_AABCSB vaidyanathan_b_Page_026.QC.jpg 762368fb11ff0aa0494691c0c1917fb7 c039b05ed8b4c0fb700bf7b2b1a5494b4924b81e 26025 F20101114_AABCRN vaidyanathan_b_Page_018.QC.jpg 160269426c6b911aa27517c691a0b13c 5058ceb4a3a333b584f015df8a9923f6c0acfa8b 1906 F20101114_AABCQY vaidyanathan_b_Page_010thm.jpg a1f3c5f43b70c04b81fe00db26ed18e3 1acd8cd85e97ef3dbed36a48b69e9763965cbc3d 114510 F20101114_AABBOL vaidyanathan_b_Page_024.jp2 61c7dd044cfb64b6f9851e1c811d3ac5 f7e73eddf10498478f2d24027e6b70aa17438476 1051980 F20101114_AABBNW vaidyanathan_b_Page_009.jp2 35e60bd9bbc6457941d51b5bf924c1a0 c74019cccea52471e07d7b5c2db41ac1b3de162f 6924 F20101114_AABCSC vaidyanathan_b_Page_026thm.jpg 26a5dd4ba6d2b43955b827f1d35c4fad 799d81e6a4aeef67e06edeaf0e1a0c4428d25021 7051 F20101114_AABCRO vaidyanathan_b_Page_018thm.jpg 8b4e741c49b9b0c69e8af40688ea5f5c 4c21720039f901d1184e702c24e479a32474dcc2 22407 F20101114_AABCQZ vaidyanathan_b_Page_011.QC.jpg dca9dc56229921ac3ffe3c83d0f413a8 b0cf2ab38c721894b1aa257966ce88ed9bfdd912 110157 F20101114_AABBPA vaidyanathan_b_Page_040.jp2 2f634cf1a672db828f4e690e9b10aa3c 8e8ee3ddf79fe50bd2cfef565586c868676bf540 106765 F20101114_AABBOM vaidyanathan_b_Page_025.jp2 fc417e9d0f4f6d375117b87c14c85880 139391d76a948541f0bb8f9c71d80b8d1bc814d4 332121 F20101114_AABBNX vaidyanathan_b_Page_010.jp2 57d5025326d8f345938f4fc5643b04fa c9bdb2f8ee3f285db50fa8da539648352c746f91 24897 F20101114_AABCSD vaidyanathan_b_Page_027.QC.jpg 91380114f605465decb1bbbe59d2bbcb ebd63cf9460eab4b29d536bc9c459229a0dfb28d 6950 F20101114_AABCRP vaidyanathan_b_Page_019thm.jpg 81963ea71b575117ef1cf801cedfb462 174aa4613915baa293174505c628a47d6cff2484 117476 F20101114_AABBPB vaidyanathan_b_Page_041.jp2 a731acbbf9f35849420998d51ebeb5e6 449e948e032ab72336b7a4313ca6ad215b1ff363 123269 F20101114_AABBON vaidyanathan_b_Page_026.jp2 a48e15f97b5d14986dbc73fb3580c391 3718cff1c0d72422cc8b37b8a4627c596a6e2ff6 105190 F20101114_AABBNY vaidyanathan_b_Page_011.jp2 f8bee7a90b0ed29a0f3b949ad4a45ef1 09981e90c0b66c34127b9a194ed7abb52207cd28 6591 F20101114_AABCSE vaidyanathan_b_Page_027thm.jpg cf1ab899d7856d93efa97c46977930aa 5a7ea2f7efe5d321493db11f53d5d84973cd1cf0 25020 F20101114_AABCRQ vaidyanathan_b_Page_020.QC.jpg 1f8c37bbe434622ef212445c17f345e2 f0c5fb9fcfa19c60908166778e8e9ef4ff3b2b7c 111487 F20101114_AABBPC vaidyanathan_b_Page_042.jp2 c7df9cd67de22cc871d1026a2d42ccc2 9fecb8e4bcd24239f81db53ac91e04b1aa39410d 121086 F20101114_AABBOO vaidyanathan_b_Page_027.jp2 120bfe5f6ef8a6831a2b55958b91b509 bbcbf514b90dad0fe1fd0980ff0030f91eee007a 46087 F20101114_AABBNZ vaidyanathan_b_Page_012.jp2 5d8c3a0e0795de627d143fe709e68166 e0e54c77b95b35ae2fc611fc3e36bebcacd1539c 24118 F20101114_AABCSF vaidyanathan_b_Page_028.QC.jpg 43b9a366044b0a3c40d63dfb72b7c555 0c2a78756ebae323f6da4f3247001998cf7c4a29 6854 F20101114_AABCRR vaidyanathan_b_Page_020thm.jpg 1dc796482eff71dfedfbd81a84647dc2 b8cab9fabf84faca922239777f3d1808c9497b00 102309 F20101114_AABBPD vaidyanathan_b_Page_043.jp2 8a8ec8fecb6a33d2c067b035e8ee39b3 2d0db59dc76c19d3e31136f1551d2a820811d751 114652 F20101114_AABBOP vaidyanathan_b_Page_028.jp2 45322507fe323a7d76e772e42e4a7754 27a2627eedaebd0afb26bc375a2a9430258c52d8 7123 F20101114_AABCSG vaidyanathan_b_Page_028thm.jpg 893d2512887c0ad481681305841d711e e39ba2f4f5af2a892fff6f6c1531d4fcb075473d 28139 F20101114_AABCRS vaidyanathan_b_Page_021.QC.jpg 01336832508af0d097bbf2867ba63a37 5115672932f4fd0b71675cede9462482afe306be 115523 F20101114_AABBPE vaidyanathan_b_Page_044.jp2 eb74397ef74a2528daedfd3753540758 0e42ddfe8de5449cba25a286fd711b2332b7671d 115205 F20101114_AABBOQ vaidyanathan_b_Page_029.jp2 7e8c3ed7f6c030a07b39f1a3208d87d6 426b9f414060a14db10b24f2fcd754e607f60cad 25670 F20101114_AABCSH vaidyanathan_b_Page_029.QC.jpg a4db2648d66447daacb3e0f0ec8a25f2 1c3072eabd448023072e2e30b0475aeafa3a9f0b 7140 F20101114_AABCRT vaidyanathan_b_Page_021thm.jpg dc2e30b000d51f2e5469d955894340f9 ff79e0ca64c9c475676d62fa643dedd780dae438 109668 F20101114_AABBPF vaidyanathan_b_Page_045.jp2 768215278401ae11e4765a51432a76db b3f61d6e0a4e3e4ff4a4443ff89b4753ceafce9b 121817 F20101114_AABBOR vaidyanathan_b_Page_030.jp2 3d58012d5e60ef2c510406050511d1fa ea148d4cd5ad68c052891ad6a9ccf1af0aa85508 6855 F20101114_AABCSI vaidyanathan_b_Page_029thm.jpg 48226bfd59087fbc6e32b7dfa3d27d35 9ec77d08450614f3049827d8753361d671b4d258 26929 F20101114_AABCRU vaidyanathan_b_Page_022.QC.jpg 94deab5b67d08bde0888b6506e686ca3 83a5757f0fedf5d0215f5e2633c4ef0462436f0a 109200 F20101114_AABBPG vaidyanathan_b_Page_046.jp2 e526ee4896b9d668c5bb2f8d1113aef6 41ad867615ca0d9af95ff3acfdc284f874b3574f 94842 F20101114_AABBOS vaidyanathan_b_Page_031.jp2 0f998b62623dbc8c3dd7ebdbb6f3839f d76839847ce2381df256a32a0dc476f0c29dab63 26345 F20101114_AABCSJ vaidyanathan_b_Page_030.QC.jpg f66e07315de2ef88bc7760225d424913 26cedc8ea71c872a460379e075314898dba69065 24016 F20101114_AABCRV vaidyanathan_b_Page_023.QC.jpg 8a47a36f2f25545d38576cdc450b2e28 ea0e1cc3f6e5907b2dc3ac3dd0f2c3ef347c8ccb 123279 F20101114_AABBPH vaidyanathan_b_Page_047.jp2 090f700836272310f48b44c94158892f 6e3839c4188c0128fe6304f57c747b0549bf2af3 77703 F20101114_AABBOT vaidyanathan_b_Page_033.jp2 c3a3968cde71c83581ef0306d31119c8 4971a547e4349787fd2d73e6ad708b5876a19e34 7119 F20101114_AABCSK vaidyanathan_b_Page_030thm.jpg 22c511604cc3ba1043e4877a3e01c9ab f971e63ec40f2c16a05cbf3a3b02dcca84c1dd44 6589 F20101114_AABCRW vaidyanathan_b_Page_023thm.jpg db30b257d23a670bdc6d3abcea961229 86022fbc2c27605994c077f7b9dcb773e7bd873b 117630 F20101114_AABBPI vaidyanathan_b_Page_048.jp2 7d27b49c3b0b054bd7639727e82c8cd9 f4a4020fdc8c2f6c6351aeb2c719aadebf4454b3 107237 F20101114_AABBOU vaidyanathan_b_Page_034.jp2 880b8aa8cf1dd953afcf7e9458e242a1 acda088efb6bb9dc3d2d934c297171745d488aab 21617 F20101114_AABCSL vaidyanathan_b_Page_031.QC.jpg d5217586d3853d57e9a62e5c26671887 9bc3a09b79444d3da8da097f720f5a81ecec4c7a 124260 F20101114_AABBPJ vaidyanathan_b_Page_049.jp2 3ffe2f8b634cb9e264b4119ecf40f7b6 1e509f69ca357ac75798e5b30d3e3e88add092ce 6904 F20101114_AABCTA vaidyanathan_b_Page_038thm.jpg 3cede5dd9f4b08ba9c5a286aebb836cd e649aec726c81c6481784d7a32927e5bea134d64 6094 F20101114_AABCSM vaidyanathan_b_Page_031thm.jpg 0908ebc2b57234f8554be91f058bcde8 3713771e687a1c3049bb3db924b0c58be72d3949 25027 F20101114_AABCRX vaidyanathan_b_Page_024.QC.jpg 4aca515894e45ee986ec3ff184396e22 fb68d4405805a33c8394b8494ba95522462585c2 99927 F20101114_AABBPK vaidyanathan_b_Page_050.jp2 67863bdc8cc4ffff414f4161e1bce3aa eabc25be684a66788fc44df0092e6a2aa05ce8a7 111562 F20101114_AABBOV vaidyanathan_b_Page_035.jp2 3014feb226e002dedf5da0f2c1c7c847 2890af8956076a5a402513155e6bca1ade602ca3 25930 F20101114_AABCTB vaidyanathan_b_Page_039.QC.jpg e7ba0693b7783584048a163500a8ce32 c243c27cd092ac0c5c4750b7cdbc8e045eb6d62c 12231 F20101114_AABCSN vaidyanathan_b_Page_032.QC.jpg 7ecef4f119f6cbaee4ab2cdbeb57511e 525b0815b13c5987a21ea5bc627c997a5347e47a 6740 F20101114_AABCRY vaidyanathan_b_Page_024thm.jpg ba61c7a07533222c7324e2ac87f62a00 17d58d351dd02a7749c348b05cb171274195236f 113608 F20101114_AABBPL vaidyanathan_b_Page_051.jp2 a5c4968a7226091a11f08b986653119b 6ae12230c19c2138676692d9556be3811e32c750 107350 F20101114_AABBOW vaidyanathan_b_Page_036.jp2 63c3f1a7c91ec34cac51dc505d17db4d f8a78a95544a9248ed7d83d86980634b910afa52 6960 F20101114_AABCTC vaidyanathan_b_Page_039thm.jpg 4ee1a683aa38e15313928b3ff8c299b1 8f6788755a0bebcce27bff6cd6dd9126fe52edd7 4021 F20101114_AABCSO vaidyanathan_b_Page_032thm.jpg bae09577b22654bcd2c2ef8d351919e2 18a19f5b3dc4e8db31bbb27aa65be79604086a1e 23715 F20101114_AABCRZ vaidyanathan_b_Page_025.QC.jpg c3831b02bacedefa4b7e840b3f65d7ac fe71fa395c0592383311ddb10667c7424073ff2e 14536 F20101114_AABBPM vaidyanathan_b_Page_052.jp2 8f72fd8ca10cd37b8b39a17da9a83db2 ccbbf070852f1012b9088d09e9de549b8b5afeb9 117488 F20101114_AABBOX vaidyanathan_b_Page_037.jp2 883a92850740024fa0618ae392cce127 463aded2927e647b0fad29bb37bd18d3c349e307 105659 F20101114_AABBQA vaidyanathan_b_Page_067.jp2 f21f381f228cce78f43a5bfaaaea73eb 0c17a90665159d1dc83673ab5ab0a34d5dcca613 23545 F20101114_AABCTD vaidyanathan_b_Page_040.QC.jpg f85d84c52a2e61d5c960525ed62818c6 0cd88b14848a2cd7d0f7d293e2cbc8e03deef85e 18264 F20101114_AABCSP vaidyanathan_b_Page_033.QC.jpg 21c5054caa58b1e571f87ddc61a4e5a1 35e97ce3864131e35c84654fa273330798c9e5d8 51999 F20101114_AABBPN vaidyanathan_b_Page_053.jp2 d3ec6bb443b21f1460aa0772e18755ad f8d9f23cc30f3a3d0e5451e9421fb5d6fa090940 133001 F20101114_AABBOY vaidyanathan_b_Page_038.jp2 598b9a702dedf78d1c664e8e5f00e62e e51f895b558dd6db0f4cb926e88f4362275fd0db 112703 F20101114_AABBQB vaidyanathan_b_Page_068.jp2 d48f8d5f85cd354ec288dc74934403cf 1a0656e30c2dcf5c6fddf80bce416881a3f96e0f 6890 F20101114_AABCTE vaidyanathan_b_Page_040thm.jpg 206b57cf2c67ef6c701f584c900af5f0 5eef2b81e617506a85ffbc699dc7f7ed7a0cab26 5374 F20101114_AABCSQ vaidyanathan_b_Page_033thm.jpg dd4a4cd78d4ac6671b89807fdc17d9bb bac32d425aeaa0b5b501c9c8e553094e70594407 69373 F20101114_AABBPO vaidyanathan_b_Page_054.jp2 37a83a2be8e345b2b36d09904b9dc146 b9005c9627a425bbc1a884fecc9dcaf8495afc87 115185 F20101114_AABBOZ vaidyanathan_b_Page_039.jp2 78ccd150dca29f6f500190c817f08c41 2dad3e7f3221a9344febc3d79c3ed6485f38f7e9 112094 F20101114_AABBQC vaidyanathan_b_Page_069.jp2 c1ab4873489d1b18d8ebd453270dfb6d 310eba75db6652fbfc6d8ec229ccbaa57449ec06 25970 F20101114_AABCTF vaidyanathan_b_Page_041.QC.jpg 6eab61941ea8d8a76ddd7c02f298aa39 339f8ffb7577b1a64d0e8d8ba10c87b346c66dc7 23865 F20101114_AABCSR vaidyanathan_b_Page_034.QC.jpg 0ccb87b3c561fb4838cd34fe130bca7a 7d4fdebd027dfc664e10382010ce6da998600176 71374 F20101114_AABBPP vaidyanathan_b_Page_055.jp2 141bfae709ea06629eee79b8dd58dcc4 d8d9dffdda4acdd5edf3ae63acf51ba2b4d3b51a 113721 F20101114_AABBQD vaidyanathan_b_Page_070.jp2 7b6869f031e07f4b98692a53f82eb172 00ea1abf2792b255e49e93ae3684c5e0a65384d5 F20101114_AABCTG vaidyanathan_b_Page_041thm.jpg 118e8de5bb37ce324fa39533be08fa25 88bef5acf494c939d3e161e3e7c8df908b92bb72 6753 F20101114_AABCSS vaidyanathan_b_Page_034thm.jpg 5d01db87b1a43bec44be97faa36acc50 8e05cd7c7ee770f36af17cdd5c1fa7d07b603b90 23109 F20101114_AABBPQ vaidyanathan_b_Page_056.jp2 c7046bba72666c52200f106445e73de1 4cf287219d500d7c48479c774d3c909bde59883b 113509 F20101114_AABBQE vaidyanathan_b_Page_071.jp2 9a8481cf34cfc563424f9bab70181bcb 478c91fa18dc4dd6efd6d248a39a7c3b64d6ccec 6584 F20101114_AABCTH vaidyanathan_b_Page_042thm.jpg 05fb3b90a8c8879c1a790579fae9f863 3f6c4a9d2995b96d003426f667de87d2c1b4f231 24476 F20101114_AABCST vaidyanathan_b_Page_035.QC.jpg e6306e3a4ab281bd9bf32018604e5587 5bf34db42324016855afbc3f682bcb1bacae1f0f 1000280 F20101114_AABBPR vaidyanathan_b_Page_057.jp2 188eb2ccda0b621f81d3366c2462ac7d 1badd27d90faafeb0edd252854e6e9e401208a14 113000 F20101114_AABBQF vaidyanathan_b_Page_072.jp2 ccbbf8c58d8a66aa6f48e85eef503379 1873dda486d9b677467210445460d3ce0748e9a0 22213 F20101114_AABCTI vaidyanathan_b_Page_043.QC.jpg cace51590599418ac90e8b03f10a5d8f 357885d632621880d2cb351f8a80c8377218bd51 6984 F20101114_AABCSU vaidyanathan_b_Page_035thm.jpg a17f49e3fb166ecf9e90c2a11f4d89c5 3cf4388590d17bb7b0f6b7a4d0dcf268ad13020a 765875 F20101114_AABBPS vaidyanathan_b_Page_058.jp2 40e8cd99c2bfb23db622a449df11b80f 4cb045f8943c777784cf6b263ec25db32d53113f 82507 F20101114_AABBQG vaidyanathan_b_Page_073.jp2 17ddd36494e13b4075c8d40be679b4f2 5da4a76abd7f579214016f304fde4ecac7b52b86 F20101114_AABCTJ vaidyanathan_b_Page_043thm.jpg 71d69e377d34365f2ca052b393ed3af2 04eb5dbc6374914f976a77e42186c192cc4deb23 23385 F20101114_AABCSV vaidyanathan_b_Page_036.QC.jpg ff29ad7ba0258d38a5836f86240529e6 370578f1380eae09a08054e8f45dd1b3331be07d 546695 F20101114_AABBPT vaidyanathan_b_Page_059.jp2 374b3bca96d070ef164a61e851ca0f7a f27bca94e62335a2e12dea2d9dc41ec4643229da 73210 F20101114_AABBQH vaidyanathan_b_Page_074.jp2 ebc33da7c73613e053885e6622851af8 8152582747cd3489fbb3fc57a22ea6881427f4f5 25480 F20101114_AABCTK vaidyanathan_b_Page_044.QC.jpg dde80cd2a58e4e70f1de9f1bcb901f76 dcd5cfa7dffc7508c338375549881e14153edda5 6497 F20101114_AABCSW vaidyanathan_b_Page_036thm.jpg a0a8c374a032854a04602abb23615424 3acdec06043d2d9662d435420f4f15aa18eb75bf 116569 F20101114_AABBPU vaidyanathan_b_Page_061.jp2 099a30636f412613d32e113bd514609b 7cab7fcbe7c2b62a76ab319ce5b33b5601b5c97c 119174 F20101114_AABBQI vaidyanathan_b_Page_075.jp2 ea72748a08a165e41846d01919d82215 18984b5ebe645f70cf63f1962ad1fdcd03a8ac63 6746 F20101114_AABCTL vaidyanathan_b_Page_044thm.jpg 237f543752ddaf4d0c9358186a340399 b3210f6432916b90045812fd12c4921b41c0a45a 24676 F20101114_AABCSX vaidyanathan_b_Page_037.QC.jpg eac13adc067e6520e4ec68090bb9902f 4e7d3679ba5d2807f486dabeb867884dba96d06b 117242 F20101114_AABBPV vaidyanathan_b_Page_062.jp2 c9b37db969fe87a3f808239482acdb43 75e7bdabde5c6e57753d9897d1b11a545dbf4d5e 112905 F20101114_AABBQJ vaidyanathan_b_Page_076.jp2 be0b7462e198d9a2f120be21e941d37b c96b887a939ad7d8f8a2a4940931cc41235ef8f3 1834 F20101114_AABCUA vaidyanathan_b_Page_052thm.jpg 409aba353e8b57c8d685b36e001e82d1 adb65c2194dbfa0d8fdfcdd54496c17a0debd9b9 23822 F20101114_AABCTM vaidyanathan_b_Page_045.QC.jpg a3186590dd9a3fe99f318fcbfd6bcfa2 824744204851f3f07f0f8e23387062a40c153385 93400 F20101114_AABBQK vaidyanathan_b_Page_077.jp2 3ad522ced2674eb63eb75cdffd69d6ce 4b45644dfe43d6e90670e8ca48ae62d73be4e488 7030 F20101114_AABCUB vaidyanathan_b_Page_053.QC.jpg 5643f9e3cb638961b586b42505081965 5773bf22057b8eccc6c9a5723e4085cfb4fb8f51 6827 F20101114_AABCTN vaidyanathan_b_Page_045thm.jpg d3e5c1de49c8b92a79469964c4e96173 85c1e69c0ceb1ab55d360688de460e8fdbbab9fb 6851 F20101114_AABCSY vaidyanathan_b_Page_037thm.jpg f3db44f1f5132d5a64316d1e037d7b10 0781cd0ff969f55e3b9d83ffdba63a8cd0fe73da 144494 F20101114_AABBPW vaidyanathan_b_Page_063.jp2 801b40bb95d58f0e686705b98d0c8ba2 a9088b7e72c3c004f22bc6c6afda958494aca07a 82352 F20101114_AABBQL vaidyanathan_b_Page_078.jp2 a7dfa057aa3a46ea19773fe76e141940 991eacc5d3f8e4465c73dfe3f5c618ff57535a19 2282 F20101114_AABCUC vaidyanathan_b_Page_053thm.jpg 4b41b5dc9397bb5b3efe9ec72b5f4569 070da9af26344e2b3455d9060a43decc3f0144df 23469 F20101114_AABCTO vaidyanathan_b_Page_046.QC.jpg 970e34096578c7182577cb6a35d90f2b 4f7e9bd05509b8c6d52db03d9ad812cd711dbed2 26205 F20101114_AABCSZ vaidyanathan_b_Page_038.QC.jpg f2b34746511d4899e3b24c1f36be9416 d83f3f6d00f523d2d0772e346b92cf8626369cac 98733 F20101114_AABBPX vaidyanathan_b_Page_064.jp2 fb2811317c1a28c419e1f91fbe7c0e40 5948d2f7f3322351dd66f9d8d9aa66c20fe684af 68423 F20101114_AABBRA vaidyanathan_b_Page_093.jp2 ef4a50efd46836a7c405f1fa46836518 5461a2ed216e7b799fa309a2dd45d2ccf17a5222 101313 F20101114_AABBQM vaidyanathan_b_Page_079.jp2 a5f21158645b0d11dba9c52a404416d2 9d75a2fac93f39da251c36eceb5daba422112a3b 15213 F20101114_AABCUD vaidyanathan_b_Page_054.QC.jpg 6f97503b627cb286f0387e17c4339023 070c9eac277cc388eea2e3c643b168d4ea3dc04f 6526 F20101114_AABCTP vaidyanathan_b_Page_046thm.jpg dfd723ac3ba2663c5b32b67ca62efeca e542254c3f53d2725582cf229f1afebf8910c259 86811 F20101114_AABBPY vaidyanathan_b_Page_065.jp2 185996514c0ac73ac739baae542adbbe aca134c4a6b36fcf89ba6224406de49077107ba0 61771 F20101114_AABBRB vaidyanathan_b_Page_094.jp2 3e357bd31bdce99ec496d36ee95ad055 7d5d9a1fb1da0adb41b4d62ebf91a5d6be650aef 115802 F20101114_AABBQN vaidyanathan_b_Page_080.jp2 e9a5c40e37da542ef7a705a550b36406 b9c9a7615da7a71313e480107761583769806c0c 4556 F20101114_AABCUE vaidyanathan_b_Page_054thm.jpg ac3b0bd61e3380856639edc18fb1f7ca 72a1a898110bc1c5f0ef9509cfadb879687399c7 24407 F20101114_AABCTQ vaidyanathan_b_Page_047.QC.jpg aa3d713c00e925fc9e50d6e50f72b7c9 258e19d52977719e62dffe7c71f48c217fc78a5d 110123 F20101114_AABBPZ vaidyanathan_b_Page_066.jp2 29f8f763fdb459030dd96da7744d5841 80c79ac7622089468b4de27b28f396026828ffdf 621351 F20101114_AABBRC vaidyanathan_b_Page_095.jp2 8082c0e6c21b3fa5dfec4d9e1f1c01b5 9fa70958670847c0a5fa31fb51378d06e194c869 107684 F20101114_AABBQO vaidyanathan_b_Page_081.jp2 2eca6ba3baf1ed2bb5cb7edf6077ca4b 468b1668ae9a33e90bead6ea3e87b2d0cd7cc5d2 6896 F20101114_AABDAA vaidyanathan_b_Page_133thm.jpg ad6690bd4f2c8b59835836ae6ae00591 f12ca2803495f7408e9123111c26b7f003ccc4ad 15647 F20101114_AABCUF vaidyanathan_b_Page_055.QC.jpg d4e9c8c8075830b21379eb0728ae0138 71a0e595bcc09a2d90ad2fd7ee991da35925e735 24475 F20101114_AABCTR vaidyanathan_b_Page_048.QC.jpg 4234e47bfcc4aff9ae4b18d4b13c2133 ff525d3cdad89072c24aaf506f4a5ac5c1f5dbb6 468428 F20101114_AABBRD vaidyanathan_b_Page_096.jp2 87c861714a15421c74ed8ea796f7576c ae51344b8df7752afa2b489d1ab490967f20a241 95268 F20101114_AABBQP vaidyanathan_b_Page_082.jp2 ce6e49e4965cd14f97317a8b571e43ea 98a36b8b33bfcc38cfb858838ffa06c40a5aac76 5696 F20101114_AABDAB vaidyanathan_b_Page_134.QC.jpg c2e1ba7ccf036809e28560501d0f23f9 36361f8b155188b492e63ff7e45108436a04cbff 4642 F20101114_AABCUG vaidyanathan_b_Page_055thm.jpg e44ac4b991e66de8e31fc16b2a5f25c2 9df8130ed423f7b5df3a0f5c0a44f99781298826 6732 F20101114_AABCTS vaidyanathan_b_Page_048thm.jpg 187c7f598386be606b43b03aaf038341 b51cfa69b742fa931a29735f70129144286488bb 369633 F20101114_AABBRE vaidyanathan_b_Page_097.jp2 6bf8610a6e5adfb492b6b62b70f0eafa e48bbe080c0735691dc17ecea9ada24ece3372ef 118359 F20101114_AABBQQ vaidyanathan_b_Page_083.jp2 a23f8ae6cc3f1d61eb506e3e252b77ea 6d96366109d21dfb80945f268e7c2e3d6e102987 1978 F20101114_AABDAC vaidyanathan_b_Page_134thm.jpg 53c1c09cdf336797b028994e9f3b7bc7 37f7a9d72ae43bd0f7993d07cc3d337542756c52 7091 F20101114_AABCUH vaidyanathan_b_Page_056.QC.jpg 2d6e3a9bbe96e416719774beed49514e 85c6e361ffca84f473cb11b5d1d9c899cd37b0a9 26153 F20101114_AABCTT vaidyanathan_b_Page_049.QC.jpg a080e46fb72a19bf0416a152daf7237a 61afc4f8ca0cbfb0f2475305a24c21a635c290d5 364938 F20101114_AABBRF vaidyanathan_b_Page_098.jp2 ac3cf5ce718210096fdf1ba9feee42f4 f6af0553a3ca3cff52f41a5849097445d85543ae 109863 F20101114_AABBQR vaidyanathan_b_Page_084.jp2 49493e56ee6c8f164773140824ab1b32 c90b30dbec962bbfd9a809eec422813701591bcd 19782 F20101114_AABDAD vaidyanathan_b_Page_135.QC.jpg 811c4a6a237b23f5d3a0ae702b30ac6e 30a47c5b29e0dfc4c9cc09611039e35160090fe9 2352 F20101114_AABCUI vaidyanathan_b_Page_056thm.jpg e1e957d05da29fa429182f229f12ef70 56296261231e8dc15c20b4cc85197d0115567745 6977 F20101114_AABCTU vaidyanathan_b_Page_049thm.jpg 798c9ceff2dda00290e57ffdad20f00f ed944a0f52016f3e3c408f2935de85fbdef60c33 115885 F20101114_AABBRG vaidyanathan_b_Page_099.jp2 d0ca2e2154c6eb51eab66f07bfdeb842 db7a8f4dd128ebfcca8beb568170773a02471862 118750 F20101114_AABBQS vaidyanathan_b_Page_085.jp2 2f3e70be11a9041c780b8608dab2d1b4 ecf101a840d0789f07cbd70d322eadf19a64c8f4 8502 F20101114_AABDAE vaidyanathan_b_Page_136.QC.jpg 80a98693316aa99e60ff5718839f3318 9819d5a26ad860676f0f18431eb05a67d32171e0 16167 F20101114_AABCUJ vaidyanathan_b_Page_057.QC.jpg 7774c11aaf0dd6b6cdd44b1f0c7cb0ae af2a10d9ece8ff021dbdfe4e71baf4b7bbf34669 21469 F20101114_AABCTV vaidyanathan_b_Page_050.QC.jpg 5f19d834ab000ec0786df4b9bb366a88 a788e5e1283ba85682fba980df8a84998004e339 117425 F20101114_AABBRH vaidyanathan_b_Page_100.jp2 2a243e3edd1aa0e7dc318c0282c05519 de82fa580cccc5e257ef1c7da83186573a7f6edc 114599 F20101114_AABBQT vaidyanathan_b_Page_086.jp2 126d020c5181a2616a74d15b4c1bebbe f6fc5478cca6cf9e770d3e5158523029cf6cb3ee 4882 F20101114_AABCUK vaidyanathan_b_Page_057thm.jpg e0b7aecff918c240d23087ed127174e5 b5338e9544218462ce4fbbd9c898134339024e1a 6110 F20101114_AABCTW vaidyanathan_b_Page_050thm.jpg a05dab2475e7c14422a1c2cf612e0f45 3c3abd8a2f9f66ff56938f85759e0a69ec7aafe6 120074 F20101114_AABBRI vaidyanathan_b_Page_101.jp2 46aa95a893d0bc86e1b08ff92c2e1134 5b642beb179dfb9e48475ab064fca2d2f23acd39 108191 F20101114_AABBQU vaidyanathan_b_Page_087.jp2 81cbda277f88d0a5841b8f6f0d3761d7 8d8ff9140e5991926e5fec550efa0f0252810836 2802 F20101114_AABDAF vaidyanathan_b_Page_136thm.jpg 928ffa355c16168e20fd3b1e7064f6a3 674bfd6e27361d92509e9ad22f42722fe17315e0 4479 F20101114_AABCUL vaidyanathan_b_Page_058thm.jpg 1318b687d9774d7e9bb122158f959921 47c78e4a4bcb960fcb4ecf0e73d4f7ed8cf9918c 24998 F20101114_AABCTX vaidyanathan_b_Page_051.QC.jpg d0d288400e5addd8635fa1c1b5d90593 dee9c8315ae61cba5837c7764f6a0955d8a3b851 121671 F20101114_AABBRJ vaidyanathan_b_Page_102.jp2 edd48ee7a59b1c2775795edff39ea084 38df7368e84e872aa00b648574713093b8c07ec9 106712 F20101114_AABBQV vaidyanathan_b_Page_088.jp2 76cd1caf150e7f2ebecebc1e84223138 a8461687c69a8cd3c7da4b7461e2973e85608946 10352 F20101114_AABDAG vaidyanathan_b_Page_137.QC.jpg e3104af11474042008fb6fabc9bd0cc8 2b175d9dd2cf956fea2d9ad392bd0544c6b6548d 6951 F20101114_AABCVA vaidyanathan_b_Page_066thm.jpg 71040e47c16776a10ede0c2151b4d7fe bcb30181e503872df9f916a3590ec354e427e34d 12477 F20101114_AABCUM vaidyanathan_b_Page_059.QC.jpg cf2ab592396d7c08b8167bf7d966d29a 12252923f0188789d0278020a8b52508ac007c7b F20101114_AABCTY vaidyanathan_b_Page_051thm.jpg 9a6e230af378ca4c732b56a88e1960e7 55cf7fcc8cb0d0de836a513d14ef9ad2e10728a8 122388 F20101114_AABBRK vaidyanathan_b_Page_103.jp2 121c6b125fd0c5af4ac4704446d49ba0 f36a7a9ca56d69b203fcacc910f9160decfeef75 112759 F20101114_AABBQW vaidyanathan_b_Page_089.jp2 934ec5df55db18338913ae3c0052a33c 1b795c5a25210cc2308d28ddda7331d72aa27f12 3285 F20101114_AABDAH vaidyanathan_b_Page_137thm.jpg 7fd670d5a7a70012321d92ff8448db9d 2ec07ae11cc5411911eafc832ca444fb154973d8 23352 F20101114_AABCVB vaidyanathan_b_Page_067.QC.jpg 185c493efba110ec0c92798fbf3bf6d7 95bae4a39513c03a4490797080055afca52e4bc9 4112 F20101114_AABCUN vaidyanathan_b_Page_059thm.jpg fc1f3f520bb096b3edf519455760cc5e 990d4c1a2f357a6848bb5f00f4da0e5bcf92efaa 117740 F20101114_AABBRL vaidyanathan_b_Page_104.jp2 91f39b7fdce7dc47343fe7eef4e49574 801711f9bb11f2294d53f98ca670510202752308 8017 F20101114_AABDAI vaidyanathan_b_Page_138.QC.jpg 26fda6fe7f74a7517acd90abc3e7ccb5 e1f8fdf34a595999557b58cf4e60d5c7d1a256ea 6747 F20101114_AABCVC vaidyanathan_b_Page_067thm.jpg e2a0c60284fe38be4bb37a5f96c4e9c2 c1a964c860aee8a987cb66fe928f60fdb8ee6cd8 8089 F20101114_AABCUO vaidyanathan_b_Page_060.QC.jpg 68db9fa940e06d2f657e5784d2dbbc81 1723110ca700ce065fb381e575f34d6866b77ab0 5204 F20101114_AABCTZ vaidyanathan_b_Page_052.QC.jpg fbdcd9bb967d1707955194a5f7f2e73a 3b5940863a4a3225acfbbf443a6226f1578f472e 111695 F20101114_AABBSA vaidyanathan_b_Page_119.jp2 d25699c39e85736ce7cba646d9565a62 1dd5060fdcb257061f4ed522981c68da12cad37d 102132 F20101114_AABBRM vaidyanathan_b_Page_105.jp2 b337fe47f1b40e56fad462d0d001d7cb d0e6a78fa1fb1218b9d80fdaac147cd8e30f7339 108278 F20101114_AABBQX vaidyanathan_b_Page_090.jp2 459e8a5c7099f5d6c11c3afae5c8d613 a29189214b6a3db1eb4aaed485802f2dbaf14692 2683 F20101114_AABDAJ vaidyanathan_b_Page_138thm.jpg d1fc11d9540b021b3c5d793aeff6998f 2c66d13edf9cd2e8d3c83a6a14d2f93773614276 24747 F20101114_AABCVD vaidyanathan_b_Page_068.QC.jpg 1abe4ff6817777fbcbc9101b25e9cc61 4b1245f5ca97b68ffa91acd9d55a02cbf4ffc9c0 2643 F20101114_AABCUP vaidyanathan_b_Page_060thm.jpg f25b8a34586536c257fc7b833e040e6a 32b0ee6baf5ce44c6011a4100fefdc456c0155cf 115631 F20101114_AABBSB vaidyanathan_b_Page_120.jp2 438b5d985a8e9ab118326d0d38f3d38c 19b426e7394eff088faadbb1777111e57a4081f7 95568 F20101114_AABBRN vaidyanathan_b_Page_106.jp2 24454e8a60bb22ae8cb77b720557cbc3 b423400019d3ac2aff3b17245f0220f70d0c38ef 78524 F20101114_AABBQY vaidyanathan_b_Page_091.jp2 9ef921323ed110d7f9c9c90ae0995ea6 e0f3bddcec69138f85acb5e72427a467768dd9d9 8631 F20101114_AABDAK vaidyanathan_b_Page_139.QC.jpg c3efdfbd4d826a428662dbbcf251ac94 2bb90334e9748aa06287521b560129c40144d587 6804 F20101114_AABCVE vaidyanathan_b_Page_068thm.jpg d8587171ed331f55ad531baf24d3486a f464b351f8946568fb29eb1342c71637960325c5 25540 F20101114_AABCUQ vaidyanathan_b_Page_061.QC.jpg 1debe4b2bb1acdbe7b40514da7a582f8 354cb0ea4d43631947cad024e046882299b7ef47 117013 F20101114_AABBSC vaidyanathan_b_Page_121.jp2 d86a040a9e9ab9f5e68ab1c01aa3130d a91758e371421b69158c801c3f46ff88bb283f6f 116407 F20101114_AABBRO vaidyanathan_b_Page_107.jp2 73ed63026d092926b4daff9836b76e4b 220a3035700da8f2c17b46b51068e4f4eb9caafa 121585 F20101114_AABBQZ vaidyanathan_b_Page_092.jp2 4e0b2c3bba8238d7b513e96019f164ff faaf5952880951d7f488aabb79821da48a7dcdb2 26348 F20101114_AABDBA vaidyanathan_b_Page_147.QC.jpg 9c08b4f5e5051186283016513b30fb9b 7f002b5e41d994f8fc0aee4fbd134c51d8d3b516 2947 F20101114_AABDAL vaidyanathan_b_Page_139thm.jpg a0995c7a65595e4190af31d47679beee 0b752520580e4400f14f24489ac04ace56df2692 24755 F20101114_AABCVF vaidyanathan_b_Page_069.QC.jpg 3276cf67bb8c2a83b7ceb7bdfe6c6577 9c0a417f23943c023d9becbd2b16a0eda674f5b2 6810 F20101114_AABCUR vaidyanathan_b_Page_061thm.jpg 6275567eb90c98a7b35a1cfa1cb94a49 6c60aa8b011d7ecfd40ed5bde52c2976f4852471 110992 F20101114_AABBRP vaidyanathan_b_Page_108.jp2 654405f66c90e4c37814ef2ebe792d07 f38a15da63db45f449fee634493150fb1e2fa884 114519 F20101114_AABBSD vaidyanathan_b_Page_122.jp2 22c377db803203fbd954497b4a601da3 8bc9b2af7accac5788c39eb6327525b7c2ab805a 6996 F20101114_AABDBB vaidyanathan_b_Page_147thm.jpg d16befc6b2d9b783b2a8ba53ccc6841d 568773619e03e5179f036918a66bca4337ca9999 12859 F20101114_AABDAM vaidyanathan_b_Page_140.QC.jpg f9a93f3a2f9341ce7e5ea9e8e7616453 755696d0e13f6faebaa4e90a5f232f7e15786ae6 6833 F20101114_AABCVG vaidyanathan_b_Page_069thm.jpg 45971cc0f16f3e2ae31ff07130870120 4f7caae9c0b4888262306518972b5d44d86d1d7e 25982 F20101114_AABCUS vaidyanathan_b_Page_062.QC.jpg 151a8d4f05a6e90fe046f1c4c249de3a f4007f3a403dd0d90d84241179b59b1b02a7c055 106992 F20101114_AABBRQ vaidyanathan_b_Page_109.jp2 c80b8f25f7f9eeec6e447b4d56f87afc 83f1ad47884179603830ffab51fc8cd7c2739d23 117818 F20101114_AABBSE vaidyanathan_b_Page_123.jp2 ac4b2c5d98a055202e9f09fa8b8b1b83 df7069c3c29491c0c42640c5bb5d229cab69d1a4 24347 F20101114_AABDBC vaidyanathan_b_Page_148.QC.jpg 11aab340be1809a97d19b2e5ae7d423f ead35d093c86fc6d0caeca0cd5bebc4493ab803a 4082 F20101114_AABDAN vaidyanathan_b_Page_140thm.jpg 7128e964a8a7cfcdb2ff7f826684373b 575dcf97dfbdf16bc4a88ba6685ada0ee6bf58de 24643 F20101114_AABCVH vaidyanathan_b_Page_070.QC.jpg d428b0ada47d2cdf28792562b817a64d 0c8f769418056739dfb8c19e5ca82bbf9d36e560 F20101114_AABCUT vaidyanathan_b_Page_062thm.jpg 426fa3ae0e1343606890ccdb8c8f3703 888cb358ba0b6c1ac3412b11f80e2535307d632f 107537 F20101114_AABBRR vaidyanathan_b_Page_110.jp2 95e3dade6cfa18090d2f3967d04a7424 e6b0e0645b44e874cef5f70af0916add9a74330d 79753 F20101114_AABBSF vaidyanathan_b_Page_124.jp2 b6a8620b595178005d809df7b51fbf4f 1ea72aec34684d4e358d3fb58c2d54c5c02d4667 6828 F20101114_AABDBD vaidyanathan_b_Page_148thm.jpg d7f61698eadb1a8ed37a631479829983 bb4790c22c9d3efcb6c77fa20d582b794d3eed1e 10695 F20101114_AABDAO vaidyanathan_b_Page_141.QC.jpg ae44ca0bc95efa773e82c26c533f2fcd 461db80500af764a8d85fcc54df66f12c5374199 6918 F20101114_AABCVI vaidyanathan_b_Page_070thm.jpg 88d3b199d52a17886b16d9cdef3ff0f2 0d0c90d8b2bb9d5cc2c8b2500dd0c0f4172cdf65 27630 F20101114_AABCUU vaidyanathan_b_Page_063.QC.jpg 40407a3d77c65f21d6d3902f85fa5a96 4d13163e7215c62b725de1fa60e312524ae24ca2 110668 F20101114_AABBRS vaidyanathan_b_Page_111.jp2 f1d3ac0cb835836766e84de73e72f18b f751c9a2e8f01fca838f13e3bb5a9d6d3b82d50c 89281 F20101114_AABBSG vaidyanathan_b_Page_125.jp2 a733cb887fb80d60832a2e2080536208 0d1c2fb81778aa925718b8cea2be63bd7953a943 24708 F20101114_AABDBE vaidyanathan_b_Page_149.QC.jpg 0d7b9c3640cc234a2b7cf4436ad7a5d2 70c926fc2bdbeec3ec088c871e65833854d50406 3426 F20101114_AABDAP vaidyanathan_b_Page_141thm.jpg ce3dde07e9f42cd6bbd6c5a9cbd86609 d07155c1087158129adaf45add5a3777b428a1a7 24844 F20101114_AABCVJ vaidyanathan_b_Page_071.QC.jpg 4460820e3b62c10b446ab2ca9d9f26bb 9fbea1145a2dafaf8147d4e559dd0cda9cce6600 7515 F20101114_AABCUV vaidyanathan_b_Page_063thm.jpg 36e0b8f3293ece20b21fb1846d814762 ed9d89094d9b905f69d0899b148bb945c3803de6 105867 F20101114_AABBRT vaidyanathan_b_Page_112.jp2 f5c771c6af0fad4e1d93fbc991769a19 dd45c665f11cc93c5d80b97c35f833eb64160080 110061 F20101114_AABBSH vaidyanathan_b_Page_126.jp2 72f909546236096c9646a7abf1cb8d16 353b9d1d9a7fd1bd2b34c7ffd0208c074131feb4 6597 F20101114_AABDBF vaidyanathan_b_Page_149thm.jpg a9711d39f8f54456d06b14bd803d8d8e 80e4b9a96f85b61c5767095a6b966042a90d207f 7535 F20101114_AABDAQ vaidyanathan_b_Page_142.QC.jpg c135111ca3fc136b0f667076391d2e2b 04f1b44721c2bdb0e18b68369cd2b07e3aa9b333 6642 F20101114_AABCVK vaidyanathan_b_Page_071thm.jpg 28d3ae7d05482a23cfde7c4b8d27a36c e6712b203bf1f25ad58104f9a3ea268e75b73aa0 22164 F20101114_AABCUW vaidyanathan_b_Page_064.QC.jpg f994197daca40aa1d5fcc35f72022a2e c2329bcdb595db8720ded6d70b02bc1e3bb38385 79810 F20101114_AABBRU vaidyanathan_b_Page_113.jp2 7ad9c86ab1f87c10b3bee9f04f6521e7 6691d97548fc68ca577c0a3642fe7b963c34c86d 142123 F20101114_AABBSI vaidyanathan_b_Page_127.jp2 69ae399ff2a5035f1a3b6af1653af651 58d050aec6871191ce2c8191e2bc04be2b8f5262 2712 F20101114_AABDAR vaidyanathan_b_Page_142thm.jpg 5efc94c56fd2162e53e117fc4d0dc11d 2ffda22ec521d7a20323a1cd7a0bcdad96b31b33 24268 F20101114_AABCVL vaidyanathan_b_Page_072.QC.jpg 37b3f2bee95149bb48fba95ce06ca4a5 3dfa50e0a5e56946fa10bdb1a8be52c4c6b46338 5962 F20101114_AABCUX vaidyanathan_b_Page_064thm.jpg 33192d19bfd954c65cf0140dd7135dd3 fc28050f7aa1b50e9f82331dbfcbf993915ab84c 82704 F20101114_AABBRV vaidyanathan_b_Page_114.jp2 fd2bb4e0c649052ba583dc196826318b f8dba8e859e26472394e5d756b46b12e0999b995 109234 F20101114_AABBSJ vaidyanathan_b_Page_128.jp2 32dcea62c4f789d183ec5652f2801692 287ee5525a4aca7b0a3fece61bd8477cc78abacd 22087 F20101114_AABDBG vaidyanathan_b_Page_150.QC.jpg b19f1d3b628f7b0b8bf95e0b7a6bea91 69dbc495a439d2bd83c4231905be0059f851ebef 11140 F20101114_AABDAS vaidyanathan_b_Page_143.QC.jpg ba0dc76c9772f13dd7db2d2d77e071aa 375b502c3c643d6da3a6f860ef6654687991da85 6127 F20101114_AABCWA vaidyanathan_b_Page_079thm.jpg a7dbb96e066c0fdf53e47719c098f681 824c60e98995272bd690649aee099b875961a247 6554 F20101114_AABCVM vaidyanathan_b_Page_072thm.jpg 57e29bc886c3bae5ebfccd295c9d28d1 78e9b1145bc2a62564af096c83e04d53406a42e9 19631 F20101114_AABCUY vaidyanathan_b_Page_065.QC.jpg 2988a55ad951068b2952b86f01150070 4ffa77432ac6ee4d5000e26b8ad6cdab9b81b230 93387 F20101114_AABBRW vaidyanathan_b_Page_115.jp2 294231f92fd1aa7422e2701b499ff0e0 9d9efacbe74b953693e00ec3a9959c623990570f 103646 F20101114_AABBSK vaidyanathan_b_Page_129.jp2 25dd64e46608c2941428d3e844fa2c52 3c482e761f6d380886b80baf343af6a2f1151257 6217 F20101114_AABDBH vaidyanathan_b_Page_150thm.jpg 0e59388b6418f84ada91e4d002e75a3e 310f950211ffb38d2b9015def94258a5ebc54933 3954 F20101114_AABDAT vaidyanathan_b_Page_143thm.jpg 263e122912c58667d4b02b9165cc9ad7 e07e0f1bc752d04f470eace5bd786ef6e0483114 25251 F20101114_AABCWB vaidyanathan_b_Page_080.QC.jpg dd5e0a00a515867934def7b9a7deaeb9 789a79e8ffcc2668464cc04e45fda7aef94fd8f7 19605 F20101114_AABCVN vaidyanathan_b_Page_073.QC.jpg 7ae4575fdc74df0f47e9c33d6e682d99 8b753a6ac22adcc511ddffa269b73bee39f6003e 5547 F20101114_AABCUZ vaidyanathan_b_Page_065thm.jpg 65c2734bd6438c8699af59d2fed8ab9a 13d3c261abb822471e365fb3c96dd76bbce1e321 116574 F20101114_AABBRX vaidyanathan_b_Page_116.jp2 4a63f13875fbc70d1433fb04b7cbf09d 09cae8309b7a3b0a7113d82e4c52cee559fb092b 120270 F20101114_AABBSL vaidyanathan_b_Page_131.jp2 8adcfd2933adf8586539eddf583f8b77 3a7c290b656aeb6da84aa22dee849b46f18c3950 18608 F20101114_AABDBI vaidyanathan_b_Page_151.QC.jpg a191236902409d84f1280f6952a5e743 8694e59e36ec1cef60e11e38aeb8263880a98c8b 7095 F20101114_AABDAU vaidyanathan_b_Page_144.QC.jpg fcb735827c23fd806bbf403a30860af0 dc1bbd92edc2f5c14d25be75c062215fa93be3b9 7069 F20101114_AABCWC vaidyanathan_b_Page_080thm.jpg 74c532c0b5847ad61598b8571a9d9199 146edc55858cc2315bea1520dcc429cbbd9ba34a 5439 F20101114_AABCVO vaidyanathan_b_Page_073thm.jpg 8a403abbd18bb1e5616599be9ee3c935 a11789e93ed51635b8d7d5346299396bc01d4c0d 119247 F20101114_AABBTA vaidyanathan_b_Page_146.jp2 85d6186374c635c59606d6ca8ada3e3d 1e8917d06c6eff794d00066400a284fceffbfeb2 119216 F20101114_AABBSM vaidyanathan_b_Page_132.jp2 7a6f37190ec27ae399242195dd6f8c55 b5bc82ec35f3d0e51ee3fda708781f292a0c2422 6047 F20101114_AABDBJ vaidyanathan_b_Page_151thm.jpg cabe619ff83d31dd2419e1af741a7faf cde4f959e40b23539275597bcc9bc90750f40e38 2497 F20101114_AABDAV vaidyanathan_b_Page_144thm.jpg 46542c5a47993faa1220e3262ca1bfa5 b8cba14b97d4b5b67d1493c078cf626ac7543265 21511 F20101114_AABCWD vaidyanathan_b_Page_081.QC.jpg d9e7dd5ec2d7be200b0c048c0e1594b6 428fdb45f37508ce6026e7064962706feec41673 16914 F20101114_AABCVP vaidyanathan_b_Page_074.QC.jpg 7801b2e4ec19a51a35abd5a62aa61a0b 81014662402388870512ccc3f7cd512486bd2946 123901 F20101114_AABBRY vaidyanathan_b_Page_117.jp2 e77d2ec26dd754b81f6f640863d36645 43d78512635345799ff38b7345d1d1230de17f6c 122283 F20101114_AABBTB vaidyanathan_b_Page_147.jp2 4f12a4a9f3c9806d26b7828d0932f1d0 75862701b3ab5580b3f35deb509c4e376175dd4a 119169 F20101114_AABBSN vaidyanathan_b_Page_133.jp2 ff73216f68078c0c1009436439fcd769 9f997d1ffefaa9c93c7f58d63899aaa9ede2f5b1 18694 F20101114_AABDBK vaidyanathan_b_Page_152.QC.jpg 697a5e90d54d5fa5700deadaa549e4f3 2f2cbe212af9155e3161b38a84289aa7ede4fcb4 26331 F20101114_AABDAW vaidyanathan_b_Page_145.QC.jpg 4ddb290562e35a4da924febb63063f97 462e686a2eb2583eda09ac8eaff63f8e246d3e56 6147 F20101114_AABCWE vaidyanathan_b_Page_081thm.jpg 15c3fd877c2372c502321e8aac8aa7d8 79d6fbd33c0d40d5015aaa91feb8584453a022c6 5136 F20101114_AABCVQ vaidyanathan_b_Page_074thm.jpg d892e442dd3707684aaf1917cb35b943 be52cd68aa4a1d0fbb154629af317818ed112aa0 129979 F20101114_AABBRZ vaidyanathan_b_Page_118.jp2 491fc18d1e692785a04f7e8a076fb9a8 9b56a2ae7acadc505b240ea145b9c4150649a680 118767 F20101114_AABBTC vaidyanathan_b_Page_148.jp2 389506a5acf5e23b2b8d07d3866bb5ae d4e45a8dc31ed4f96b9beb4dd69acc7c0a0278ae 17259 F20101114_AABBSO vaidyanathan_b_Page_134.jp2 ad2a81c562b50842ec7708f7cf33dcec b4e487c4740cb48987696496a7f73b04b8780469 24971 F20101114_AABDCA vaidyanathan_b_Page_160.QC.jpg 9a7be259038a2bc1ba48425920c2c4fd 129d68d8aa63761ec8a183705bfeb81cb7f22f3b 5433 F20101114_AABDBL vaidyanathan_b_Page_152thm.jpg 51ccf7b88c3f674381a3e702c5a9ed94 9af02420acdc4d79533106f3aab10a1b14c86abd 7024 F20101114_AABDAX vaidyanathan_b_Page_145thm.jpg e53237b37fca10ef17c193eeb2bd1b13 cd057f4686771c5f81c4655da1939ebb47a89420 22247 F20101114_AABCWF vaidyanathan_b_Page_082.QC.jpg 37ee4e5978b1aa0de8ee8882c799eda0 0a9dab042a32b0cde2a0b70893702ea855f78bda 25113 F20101114_AABCVR vaidyanathan_b_Page_075.QC.jpg 9cdcc0dfc961ae6392f09a3a60b6ffa6 662aabe758a5a0b5f5a770c18a2e9075ea4d919d 95972 F20101114_AABBTD vaidyanathan_b_Page_150.jp2 5713dc245d1279100dae001cd260d5af 88cfe6ba5cf7089915b7d9bbade2d3cfacd003b6 93592 F20101114_AABBSP vaidyanathan_b_Page_135.jp2 686e0f0057d0e374909c0c917fbf9c4d e153b87b75ca8946a285dee39379fcd3ff18afed 6683 F20101114_AABDCB vaidyanathan_b_Page_160thm.jpg 27b3db7ab0433f19924b72b4cad07f0b 2ebef5ecacd0f2102748971c48648e8983de5442 25905 F20101114_AABDBM vaidyanathan_b_Page_153.QC.jpg d11ea5719f610e8355ee7d685612044a 6758e4235efd223ad2adf9b4fdb9cc7e75ad4cb1 25790 F20101114_AABDAY vaidyanathan_b_Page_146.QC.jpg d207cb3d2804d87a78226228e9a68654 e7409691d6f681c4c9a0293e3e42fa7498e4ae49 6003 F20101114_AABCWG vaidyanathan_b_Page_082thm.jpg 18e113b1747f21d0b0d33297dcc611f3 50fcc060aca190a063b0f365ba17ac4518b803cb 7137 F20101114_AABCVS vaidyanathan_b_Page_075thm.jpg a7c40032c7e694d0c68606747b62f872 c8bf636dc1311ea0166435a9fb4c1b60f1de6d73 78288 F20101114_AABBTE vaidyanathan_b_Page_152.jp2 837b8c9a39780f8ed7f7c043163105a6 4b272d490f19e6e70d83ce25b4431bd70cbdd9ad 34024 F20101114_AABBSQ vaidyanathan_b_Page_136.jp2 e6c2989770af28eb71a5c8df30c4bdae 90bd2ca836dcbe5ba6ea660a89c8655758266d69 25849 F20101114_AABDCC vaidyanathan_b_Page_161.QC.jpg 35cee28115479073c7bf998d41b93600 519ac44570849f82f7b5e8e458a0f89374b8d3e3 6852 F20101114_AABDBN vaidyanathan_b_Page_153thm.jpg 958e4ca30358d785b932d91b4d33e51e a162dd939da9c40a1607263af085b5c4fd06423d 6798 F20101114_AABDAZ vaidyanathan_b_Page_146thm.jpg 342710b4f9d6cdef922d5813107c4fe1 b041cae8911307671bcffb96598aecf2b25f06c7 25412 F20101114_AABCWH vaidyanathan_b_Page_083.QC.jpg d26fe4717b6d116bfb4dd80944220f7a fde477fa678a9a6be4c2662448a6265f68d9fe91 25059 F20101114_AABCVT vaidyanathan_b_Page_076.QC.jpg 2bcc1c3503a8f1044dab532b27288397 d33d303a6f9f17a5d22bf9b71cbfa6485f7e1e02 118596 F20101114_AABBTF vaidyanathan_b_Page_153.jp2 ccba12b3c4878d4a472c144c046f9f59 1ea1cc7080f0e78d6920f4dc99142302fadc9401 38635 F20101114_AABBSR vaidyanathan_b_Page_137.jp2 460523ca55572ecd4e506d6dddc986e5 23c4f43920fe1ce0e9671f5a27817ef30d8cd71e 6902 F20101114_AABDCD vaidyanathan_b_Page_161thm.jpg afb91f2d9ae27c48da91fd40ed26b789 ab41cdecc51969110373f5e5354d8a2fec835e89 25181 F20101114_AABDBO vaidyanathan_b_Page_154.QC.jpg 5a4ce1b050ae50198aca105e0a6645b9 caec90e6b36d4e2026246aee94116e0098f9b97b 6859 F20101114_AABCWI vaidyanathan_b_Page_083thm.jpg 1916e5aa2425cfa4a2ef9c299763c6ff 1046421239f87177751ccd7f7a1dcdae440de9f8 6853 F20101114_AABCVU vaidyanathan_b_Page_076thm.jpg c13f84fdad21a6e37bf317437674d3bd 407618176680881d6e5c26e3db2cd52abf941d50 115497 F20101114_AABBTG vaidyanathan_b_Page_154.jp2 1c5817078c62ec596290399becce4d50 b690da35c6c1713b8663de8ae4c3f55f9c19de20 31503 F20101114_AABBSS vaidyanathan_b_Page_138.jp2 69f9ae4242ed2ee929dcf31287568380 72df1073159f4ad3c3c7b67031f39e20cb5cb35b 24734 F20101114_AABDCE vaidyanathan_b_Page_162.QC.jpg d300c62fab775cd2becd478f84cb264e 58a10a30945c108913913abe927a1a7542491c46 6930 F20101114_AABDBP vaidyanathan_b_Page_154thm.jpg 38eaaa9eedff4f3a11e8233c9a1833e1 fc9f58518b38cfab2acd8c020a8ff2345caed203 24681 F20101114_AABCWJ vaidyanathan_b_Page_084.QC.jpg 99fd05e664dfb4d7f0389fe3f0afb085 a0afff3df477f895ad78dcf0d4a314460802e4ff 20182 F20101114_AABCVV vaidyanathan_b_Page_077.QC.jpg 198d427de3b1f3761f676a2c6c203c26 5e974c88b1895a0b804aab91c695c9e1ed5acb5c 124318 F20101114_AABBTH vaidyanathan_b_Page_155.jp2 5c17bbcedd645654dd2f42fb87bda6d8 10f2183dbddec887883be966754053db267d9f6c 36334 F20101114_AABBST vaidyanathan_b_Page_139.jp2 1d6379382269022d7699774600bb0359 de7118b339323264e131498cb72cd1b7685afb54 6948 F20101114_AABDCF vaidyanathan_b_Page_162thm.jpg a5ecc306e205de0addb38c3755854ba0 b6f451106f8d182eba366dfe68041fb564237119 26246 F20101114_AABDBQ vaidyanathan_b_Page_155.QC.jpg 5a8cf0470b6058ac25d85b1491e0a1b3 e9d4fe539a7daf3c8fb3fe9638b50194c14f86dc 6757 F20101114_AABCWK vaidyanathan_b_Page_084thm.jpg 0e492fae8efdafd10a6a0c3eac6398bd fca28bc97b6166dc61cff99c2f8574f667566f58 6059 F20101114_AABCVW vaidyanathan_b_Page_077thm.jpg 43baeec75c3a42c9186e1ba234f1413d 2ef0b232781c53e2845af10e8e750d99e22b27bc 78394 F20101114_AABBTI vaidyanathan_b_Page_156.jp2 c4c9a81d4d30ab0957509a14da73247c 5b4824152e66139007cf03cfb41d3b0f1f5152dd 470075 F20101114_AABBSU vaidyanathan_b_Page_140.jp2 4b1cacd7d3069a2bcc5002eef264e2a0 82ab5344f518b1321f05b5ce19f5c8a321fb7370 19816 F20101114_AABDCG vaidyanathan_b_Page_163.QC.jpg e8d0aee88380c9c46df7b1ad9c232a09 b19813ae61f4f89766692e21dbab73ea52920a9a 7252 F20101114_AABDBR vaidyanathan_b_Page_155thm.jpg 341c171c4fc891f5154efaf8aa07ba14 bdbb92758e53647ac53e0b83ea558e0d0e41e1d2 25858 F20101114_AABCWL vaidyanathan_b_Page_085.QC.jpg 2362ab172c76898fa73d3218f2462aa0 7a89c59207cd6547e1ce1e054ae152625519fe00 17721 F20101114_AABCVX vaidyanathan_b_Page_078.QC.jpg dff3318d85a2bf93060e592bab5d5239 bdbfd3ffd0d0d344603bed8522c5faf45d12eb99 93260 F20101114_AABBTJ vaidyanathan_b_Page_157.jp2 e0ece01f12ed7d888ccc3ff34e3070f1 5f352a79118db380012656b15c5abf2adb668ff8 45972 F20101114_AABBSV vaidyanathan_b_Page_141.jp2 93fe212987d8afc21ed51d1244613aab 3876a7b7616cd141020e42f9eafbaa0c336fd58b 18019 F20101114_AABDBS vaidyanathan_b_Page_156.QC.jpg 4e263fa27dc62fa1fe140908504ac392 771c98865bbeff831570b492beeae959cc525381 14885 F20101114_AABCXA vaidyanathan_b_Page_093.QC.jpg 53d572ebcf515bd94a903a74b9101cc5 82f89cb51ac35d96c2d3d684284217e44a1168e9 6914 F20101114_AABCWM vaidyanathan_b_Page_085thm.jpg fde9b16919cc62c3744031af0501118a cdf5d1aa1efc44012f40083c1536d95ea07d9735 5513 F20101114_AABCVY vaidyanathan_b_Page_078thm.jpg 59360679e0d3722a0ad5ea1f9321f638 eaa3aa2d5e9dc7fe80eb8e066a9597e4005ee8cc 117183 F20101114_AABBTK vaidyanathan_b_Page_158.jp2 fdf89f09794cc9b6ce1ffa546efa8488 db04420661d1fb88c4e5960a2e0d32cb3ffd32ee 242043 F20101114_AABBSW vaidyanathan_b_Page_142.jp2 62a8aa2d1f9c471beae6e19f09484577 9b7fee4c06e100ab9c9f2100a2bcd75a6033e163 5609 F20101114_AABDCH vaidyanathan_b_Page_163thm.jpg c1d9c0a4c72fe636ebfce0f8494bff18 1e60907f4f0f3fae128e241dc54315004502a17a 5403 F20101114_AABDBT vaidyanathan_b_Page_156thm.jpg ccc7872da792ec2d752a83278c5b069e 851dd53502b5eb2815ccace62ecf7ba3839937aa 3955 F20101114_AABCXB vaidyanathan_b_Page_094thm.jpg a0b769d447a99a058de62c769267631e 0d05411a61d17cf1d1343cd8ae173aedc7b68815 24641 F20101114_AABCWN vaidyanathan_b_Page_086.QC.jpg f8c37b0a5ea601167f01dac11023f386 12e2ea79fd5bbd8f03bb676dd901ed25ffb099c4 22665 F20101114_AABCVZ vaidyanathan_b_Page_079.QC.jpg da752f597311d1d63e6c4556dc6f7340 60f45b95093c87bb9c2ad1ae136fbf8c06c35e51 109274 F20101114_AABBTL vaidyanathan_b_Page_159.jp2 fb23f2d35469cd8c523830e5cc6375c3 98461ddac870c87a73530dd36ec1cf2b44418676 400171 F20101114_AABBSX vaidyanathan_b_Page_143.jp2 0face3ceda180a5c7301855052246663 d8d690d5ecce8e7858af91692a27d9cc3f0bca59 25416 F20101114_AABDCI vaidyanathan_b_Page_164.QC.jpg 94c25188b64276748613565a6e8f18fc 05a2f7b655d166f6b7acc6e9889f036aa83f8bb1 20058 F20101114_AABDBU vaidyanathan_b_Page_157.QC.jpg 37bb3f0daf05237bb6f715e58ceabd72 84898e6df9ae22eea91b15496a38b90bc8e90fb1 10174 F20101114_AABCXC vaidyanathan_b_Page_095.QC.jpg b37678ea74f403f066fc74d4a05678ca b10abb3b1d3131dbb85fd45c43c08e661df3f159 6963 F20101114_AABCWO vaidyanathan_b_Page_086thm.jpg c951dd0152a5a7a68e4ff6b0e9d190eb 6445dc0c2605268a657f1c876f9600cc21245686 118929 F20101114_AABBUA vaidyanathan_b_Page_174.jp2 d3e00e30142fb824faef741b5b246886 563b19f5dc70856618153eec9521c2bd45dd1d3f 115264 F20101114_AABBTM vaidyanathan_b_Page_160.jp2 54e6ef4329e579c58b53f48076c49409 b431c848c671f9291591d3af21579ac12694d0ea 221222 F20101114_AABBSY vaidyanathan_b_Page_144.jp2 392f4f28a714eff6499145497b79e91f 87e8ef0e19ce68f74bd3bf68897339a660f34054 7029 F20101114_AABDCJ vaidyanathan_b_Page_164thm.jpg 9d9819af3ae5bc88be71bba8eea284a3 199e1005d5f7c2dde8081b64e2ffdbd40b9272c8 5771 F20101114_AABDBV vaidyanathan_b_Page_157thm.jpg 7bebd292ed192b4ca57ad5f120400dc2 4fc576a901c3c5fe9e748f5ac313d6f61bd767f8 3234 F20101114_AABCXD vaidyanathan_b_Page_095thm.jpg 63a3cc8bb4a953518b49ca8fc96f74a6 110a52d7b6008c4a44f853a423d1b6e3e6f56db6 23753 F20101114_AABCWP vaidyanathan_b_Page_087.QC.jpg f7e656934bfad28353e2b38d06b02170 013e43ca3a4cb1c6d3db0f5c8126659c066a3bc2 119624 F20101114_AABBUB vaidyanathan_b_Page_175.jp2 0ce441d127d22a70da05b0fa8e8a924b d3045f0b007b1fb6a17e99ba55670a4c09b46fbb 118205 F20101114_AABBTN vaidyanathan_b_Page_161.jp2 fafb66265af3be42fabb1b80f959c295 4d76e5e41a204019d1807ebe1ff868b60125703c 25428 F20101114_AABDCK vaidyanathan_b_Page_165.QC.jpg 458dd461c84447f3bd98be8a0e59161f 9282535219363a94b2cd4b79fe804fb3c9e1f743 24504 F20101114_AABDBW vaidyanathan_b_Page_158.QC.jpg 43cc30bb0318da33a244402e7fff8f84 979da371ca65774078a41e155533ca12d17371d4 14651 F20101114_AABCXE vaidyanathan_b_Page_096.QC.jpg bc12ffd0892df61f9c966eaf1b2bb637 d0448cac582a0f484d812ecb3e620da035f3b205 6437 F20101114_AABCWQ vaidyanathan_b_Page_087thm.jpg 42bb468f066eb1a44f3023afc005d68a 0967981aa762052c90b5b3e3a54da135d563b763 117127 F20101114_AABBUC vaidyanathan_b_Page_176.jp2 85ea3fe4954a4193575d5f89bc538a11 ae53365e42c5e4a956df688194c7bc1ed12becac 114040 F20101114_AABBTO vaidyanathan_b_Page_162.jp2 4501408c171b134038333e1c1bdca4a8 6dac98cd43ca20200a6e3d67ad05fd9c2077b3ca 119306 F20101114_AABBSZ vaidyanathan_b_Page_145.jp2 b9c8c26b4e49ace244c945b6ffc55e69 911ae3f0849ae172aaff7154c6d7e0963d892495 21038 F20101114_AABDDA vaidyanathan_b_Page_173.QC.jpg dbb4c0c029086d98f124f2d179b8bfcc 092ca33f494921c26ee4e1d7b4f7c07aacea785e 6880 F20101114_AABDCL vaidyanathan_b_Page_165thm.jpg d6811afcf8d44922908d8d702232b66b cd7c833c9c82fa5952afa737e7b3868b7e00fbc0 6886 F20101114_AABDBX vaidyanathan_b_Page_158thm.jpg 915098ef246d048b877f375dd21340cb 66c4761e8493facd78b08171d2b298cbe5b984b9 4773 F20101114_AABCXF vaidyanathan_b_Page_096thm.jpg 38c158cac70b8392d9a0653c65396b54 59f82dbdfc928e32d85582c2242e027add20142c F20101114_AABCWR vaidyanathan_b_Page_088thm.jpg 12aa620109c474c86120b9a5e80b75d1 587c9ba3685addd04ae595cc54cf168862763d0b 115254 F20101114_AABBUD vaidyanathan_b_Page_177.jp2 81deb30928221d3284d93ec8350e19e7 439f331f18950889910790f112fe64bace4e11f4 88042 F20101114_AABBTP vaidyanathan_b_Page_163.jp2 0adcb5b48f08ac852a039e17f4a89142 f52383f6859de651b297a7e356016a5928d95a56 6261 F20101114_AABDDB vaidyanathan_b_Page_173thm.jpg 7b8ae5c1c89d54e813e141cb13cec83d 64a0c64cf122ed83fa3c262a827bff49065f2335 F20101114_AABDCM vaidyanathan_b_Page_166.QC.jpg 81be57834210ed3f82fe192569493bf7 2eaf8c1a8a2646075c5a7d1523327b7a37efe528 23979 F20101114_AABDBY vaidyanathan_b_Page_159.QC.jpg 30fea744f5df7407650a940aa6ef5680 3a27551f2132018962a497a3ab52b7d3c78808a6 10199 F20101114_AABCXG vaidyanathan_b_Page_097.QC.jpg 2bc46b042fbfa0a25d13c82e0c785d25 bb02b87ed0c837c23a39fd1b5dd6e4621d36adcd 23840 F20101114_AABCWS vaidyanathan_b_Page_089.QC.jpg 201ba10661fd946e6b6252db5b2196d8 14e2393349089de82547c6751f5f496b93fc7cd7 119898 F20101114_AABBUE vaidyanathan_b_Page_178.jp2 c6e4ee7613587dbda031eb07bd6f9058 8f4de88b2d202809667135f10d28cb890668dc41 115026 F20101114_AABBTQ vaidyanathan_b_Page_164.jp2 2867323736fe351ca9cc2adc95e9e3f3 722d3c06a5c952e658fa487bc8dbe49b7f7fa59d 25433 F20101114_AABDDC vaidyanathan_b_Page_174.QC.jpg b2bf07c4918a00e0b1ef79d808f019c0 d51cbfce9c49421082812e1e58eb5d5d86ba401d 6807 F20101114_AABDCN vaidyanathan_b_Page_166thm.jpg e9a46e8eb50b54f40e7d91afbf72c07c 1d5c7b6027cc93c7bcab09a9e5c789ca0690131e 6576 F20101114_AABDBZ vaidyanathan_b_Page_159thm.jpg bf7180723b5612074fa5bf9c86e8daff 496d728e042449ba56157abcbb02f54bb214707b 3471 F20101114_AABCXH vaidyanathan_b_Page_097thm.jpg e2442d3716efdcc0cec3c2b98cb18896 e655958857c65aaa4fa2c73ac3890c1117369f2a 6725 F20101114_AABCWT vaidyanathan_b_Page_089thm.jpg 8e28ad08bc982b55637cec15f4655c2b 0f12ed2f5d7a9bf8ea3407516db43bcdf8c8f0d5 78682 F20101114_AABBUF vaidyanathan_b_Page_179.jp2 51b4d1361c894553a0cf03fa4deaffba 23581b8e4a11d1c8b2ac268542aa4b34d948a27f 115110 F20101114_AABBTR vaidyanathan_b_Page_165.jp2 0769ebe5c37a3d3154e7f458334cde7c 19d70b9fc43b4613e056684e36a377e8b907850c 1053954 F20101114_AABCAA vaidyanathan_b_Page_146.tif 5de727af692649b85113d02efdbd5ab7 044de02e2e35500b8c470aae0d9a09ac6967558a 6876 F20101114_AABDDD vaidyanathan_b_Page_174thm.jpg 888d447219c1d6c1739dd068d55b6485 f3a9cc9f5cbf87d8788b046b406487037bfffde6 24718 F20101114_AABDCO vaidyanathan_b_Page_167.QC.jpg 6b583d49fdf863c3189c788afec31e7d 1d443245adee3ed3d1cbf28bd074fc50c84d9d42 10070 F20101114_AABCXI vaidyanathan_b_Page_098.QC.jpg 34f79f61e205f8c4e8012364c2049e6b be0514d4acff343ac559061f4e5c07e2aa390ade 23285 F20101114_AABCWU vaidyanathan_b_Page_090.QC.jpg 5a89f7cc8c22ba0799768d1cf60af231 e6db80b0daf9e2efd538b2903bab99d78903173b 63376 F20101114_AABBUG vaidyanathan_b_Page_180.jp2 9fb2ec943616fb9167175033b155ca7d 0b6b0a042b05ea249ef029059874d17b4503e38a 111370 F20101114_AABBTS vaidyanathan_b_Page_166.jp2 7758abc4b10a58226968bce6c2ae9d93 1e850bdb0f452786aa361da027d13a30023af1ef F20101114_AABCAB vaidyanathan_b_Page_147.tif f9ca130663a61d9ac72a0b29035bd630 4e1b366fd74bffa2bf309d0e8f3221f02404f115 26206 F20101114_AABDDE vaidyanathan_b_Page_175.QC.jpg d7536c39ddaeca952affcf4aa870dff9 54b016f08b6effe0c8dca9d8da326e32c84f4e08 6662 F20101114_AABDCP vaidyanathan_b_Page_167thm.jpg 2aa7f74a8c701b885ce1543abe1617ac 9d8bedaeab89e8f5fb6af2bdba9f3d2f6e912105 3182 F20101114_AABCXJ vaidyanathan_b_Page_098thm.jpg 576e6599229a37c65245162b4f670641 f97823a164dc808e490032a7e95cafb1efd404c0 6695 F20101114_AABCWV vaidyanathan_b_Page_090thm.jpg fa1524c96def02c956c81e2b0a756a4d a7fe0e952edf02f5f08cc6a57900032478f42ba0 367494 F20101114_AABBUH vaidyanathan_b_Page_181.jp2 13023ebf594d86b7c549baca3df7dc6e 77fa329afbc52d40a0dcb20d1ca8aabd267d56be 115698 F20101114_AABBTT vaidyanathan_b_Page_167.jp2 c21bb8aca7addcd572ff8c93a0a51a10 9f5339c60bae32b06aaebd9415a73e29287c6a00 F20101114_AABCAC vaidyanathan_b_Page_148.tif d82fda2d03366a262825f796bb351d2f cc8596221d48f6f35d826f998761641f390e30ce F20101114_AABDDF vaidyanathan_b_Page_176.QC.jpg da3744418803a0d0a4c0fea2514cbc86 04c49e9462ab0982e19818977e8a5ff7efd2f2a2 24310 F20101114_AABDCQ vaidyanathan_b_Page_168.QC.jpg 27f6349c40f02c4378690ff3d54e5fb5 b73a5c30f990c864dc0d01a612bf0bc568464436 25444 F20101114_AABCXK vaidyanathan_b_Page_099.QC.jpg 50176c54ae8ffd029de75ee72fcdd7d7 4faf1577e9f6cb80b711ac9fc1844a2d5ea8c796 17910 F20101114_AABCWW vaidyanathan_b_Page_091.QC.jpg 8ffa280a5976c693f96863429f014184 1551b70cebd604a9275ed846b250e4161b052223 274872 F20101114_AABBUI vaidyanathan_b_Page_182.jp2 65df5b935698507369fa1263f0adfc1a c26a97d471baf029ee10998d361cb1f0dfb2a6ac 116392 F20101114_AABBTU vaidyanathan_b_Page_168.jp2 4ba48fe69c305f8fade172579ad4d628 cba3ad3559110edd772b7cb34357fe5d47909d5a F20101114_AABCAD vaidyanathan_b_Page_149.tif 0e5250e7c0a2be8d81fa628fd4b189ca ceb18118e27ab74ebdc5fe372f4e303b120530c2 6702 F20101114_AABDDG vaidyanathan_b_Page_176thm.jpg 0341b2be5855b62bd78f44b929a14681 c870611f8dad8b1af01cf40b8b00ecc92f67e4bb 6940 F20101114_AABDCR vaidyanathan_b_Page_168thm.jpg 168a398c811fd56c79b23bf34d842846 7b6bb01836a1ee4cb797ed3a776d4671bffb6d70 6870 F20101114_AABCXL vaidyanathan_b_Page_099thm.jpg 719b4499708a682e78a33ab37b2e67b8 c3f239540683ab3b8c9d0edef3cfaa1ea1ca9c8e 5004 F20101114_AABCWX vaidyanathan_b_Page_091thm.jpg afb96f4429612140d6c5a09dd66c9de7 d620dd675e4ee7116bc6a6fe47766c6f38881523 126012 F20101114_AABBUJ vaidyanathan_b_Page_183.jp2 472c60b30cfea6fe0432e5eea715e7a3 c87c23a68c06eea29a9ab7af4a415405319df496 110279 F20101114_AABBTV vaidyanathan_b_Page_169.jp2 0c3c6ad012d6f0ba2a7fa1ed9b3f9280 7735e7ab1ffb722bdb04080c16e539f1279dc7ff F20101114_AABCAE vaidyanathan_b_Page_150.tif e612fe3988cf278b2f3be02b2347df64 7ae6c3b77082e98636509c6921ea22fa3b97b71a 24668 F20101114_AABDDH vaidyanathan_b_Page_177.QC.jpg e8bbab4f303b0a53f2c2360c2c1dedb1 3877547c278d3018cdd7c628ae67e26a3511b750 23551 F20101114_AABDCS vaidyanathan_b_Page_169.QC.jpg 42127cfca16f9ad4b5af6462612f1c26 e962a6da65ddfefcadd423fff5717c9cec72e372 25823 F20101114_AABCYA vaidyanathan_b_Page_107.QC.jpg 417ab54166abecaf556c740ad98c1a1d 1d73736b854b71198a131f70afb536021e927bca 25391 F20101114_AABCXM vaidyanathan_b_Page_100.QC.jpg c842bf48084821d87bf2b731cd3c8028 1133c32888fd6f90fea5bd926d157bfd70a8e475 24389 F20101114_AABCWY vaidyanathan_b_Page_092.QC.jpg c574c3c72dd21adfde51742c64947ed7 81f36b49cc0145238250e98d5503365220d66248 127619 F20101114_AABBUK vaidyanathan_b_Page_184.jp2 f2fbb825cae7d6f9d68d94b258fed473 2c3d6ef746877fdd5d5168c82b4f7ea4aab10bab 120328 F20101114_AABBTW vaidyanathan_b_Page_170.jp2 f6708f70d3b22188e669111bc9f49329 7da45af96f79e615c49918a1a4c36747b9685e20 F20101114_AABCAF vaidyanathan_b_Page_151.tif 52edc4432dd72605e0f2824f566681a5 7f997c998fe3a0023dcd26883d41fa9970b49380 6718 F20101114_AABDCT vaidyanathan_b_Page_169thm.jpg fb04ebe62606f1ad359906916c01ad6c 42532d849317077eb89b389fd653226750ff4121 7053 F20101114_AABCYB vaidyanathan_b_Page_107thm.jpg 51a8631fee29b1ee71724a77a440a99c e736dbc6c5562e7d6a52bdf90dd394b33e3fe8b0 6979 F20101114_AABCXN vaidyanathan_b_Page_100thm.jpg 6ecf2fbe3abf15a35426df4a20df2ace 22df3c4df664d76b295dc33924aa85eaa6b1c57c 6419 F20101114_AABCWZ vaidyanathan_b_Page_092thm.jpg dd22a715ff80f2a58819b3fffb9fe4cf 660c6abe7687c68f77ec82d3b4200a8e7f2f1a1e 134085 F20101114_AABBUL vaidyanathan_b_Page_185.jp2 857c5ff65957a064e534e015cf01b638 7d12efc016e6556e8d17b4056c443c9876b609df 118062 F20101114_AABBTX vaidyanathan_b_Page_171.jp2 e717a7a7ef9deac460dafdea06fa6741 003914f095d4b4ff61dc03aeb5ec969d5b005ebb 6785 F20101114_AABDDI vaidyanathan_b_Page_177thm.jpg ddcd6a597b2dfd362809a318677771c3 6f19bf26a1b82d7963235429510506e29b413d6f 26552 F20101114_AABDCU vaidyanathan_b_Page_170.QC.jpg e030126319cd8d798153dfacd9807fe9 3e981b7797d1ab02fe834d8094d1099eea7786a0 24709 F20101114_AABCYC vaidyanathan_b_Page_108.QC.jpg 695296838cd79a024f4a433e5ca3853c 0fb23dcba98dd71f263ebefe4d8d4e4634944023 25878 F20101114_AABCXO vaidyanathan_b_Page_101.QC.jpg d40e89f6066e93df4a258f8c8ba636cc a950c4f1a8f09d7ed5c6e2d7859f513ecf2c191e 127302 F20101114_AABBUM vaidyanathan_b_Page_186.jp2 ea5964a5e629968ecfe961a531bacf62 8eb3ccd6694ed871aae803b33e2c0ad43c8334ea 122799 F20101114_AABBTY vaidyanathan_b_Page_172.jp2 483f0413a6dc3fd9a165c240ff3672ce c1620686680ffd5aeb03d4d18783633a42fa0dcb F20101114_AABCAG vaidyanathan_b_Page_152.tif 8099588074bca44279518151c3bb332a 8e02d39fc32c48f4889e2a2010d36ce1c9879dbd 25271604 F20101114_AABBVA vaidyanathan_b_Page_010.tif f92bb50db870f997e8d6a800a9408fe1 5326296b4b7b1b7d2afa319fe7f9e9d010015f5a 25710 F20101114_AABDDJ vaidyanathan_b_Page_178.QC.jpg cc063d7496200252b2ddfb9537083a82 08ef97134a9e82b2133ea9212a88b3ba5bd03ac3 7103 F20101114_AABDCV vaidyanathan_b_Page_170thm.jpg a5d41fcb47d0adaf35a593818666cc37 6876c71fd287c1232fda0e1e10bfb9625f60b68d 6634 F20101114_AABCYD vaidyanathan_b_Page_108thm.jpg 153bce8f8acc0388c9d5f071648a900e 0628e2d39146c4a3d6624d6c57db55493302588e 7041 F20101114_AABCXP vaidyanathan_b_Page_101thm.jpg 28ea57757c03cf1600970354d2e4957e 43d6173c5c46c01aa3cfa16cdea5e886a52983d0 134087 F20101114_AABBUN vaidyanathan_b_Page_187.jp2 55de9190695de74d1630ba66ecbb906f 3bab1f61bdbdfa4e6aaeebeaa10be4cf3b60bd81 100959 F20101114_AABBTZ vaidyanathan_b_Page_173.jp2 a619e3eac7829a641fb8feef52503f67 b472b2df8e79a2733d710f1cb67d02b9458c10e2 F20101114_AABCAH vaidyanathan_b_Page_153.tif fbdb8fce2b91499e9d0838ccacae6e5d 2475dace25d414e20c9ecd1ec13c240a3af9b1d5 F20101114_AABBVB vaidyanathan_b_Page_011.tif a74490ec2577cb509a1b1241c57c9f40 0389138441bfa3a1bbdc3d861ce6b18670d52869 17879 F20101114_AABDDK vaidyanathan_b_Page_179.QC.jpg 9e49bcd5571b88f61552bf7969ba7807 4c0b44f483f6639e3dde88c17e0bfde48943160a 25986 F20101114_AABDCW vaidyanathan_b_Page_171.QC.jpg a056d7d274b9c2739ca205fa919b6a3c c1ca7f1f5ee894806ff8d5ef2378f9e746787fb1 23334 F20101114_AABCYE vaidyanathan_b_Page_109.QC.jpg 5bef7d308c7b0fb52bc3d82b07faf883 ee5b1ae219899110ce6bb73d7644aeb8e6f9b85b 26352 F20101114_AABCXQ vaidyanathan_b_Page_102.QC.jpg f934bd4ff2fccee47a209e25694a1242 c31e4482b201b63d65ab259cb7a9f5fbc693b4ca 128659 F20101114_AABBUO vaidyanathan_b_Page_188.jp2 362bb8bd5a704d7dd69d5b50d9f9ac62 e11bbb0fcb1e7c386e4ef19e40eac9e4107b6ea6 F20101114_AABCAI vaidyanathan_b_Page_154.tif 7b751523bf8d08245db4732a24e783a8 061b6da73e0e304a8e77c10de444ff5780121e5f F20101114_AABBVC vaidyanathan_b_Page_012.tif 056e60f356dcd9ee6d7bb4ec1e0ef659 6d665c1bfc1a629d4b38a2d9e1c8897cf9643766 25992 F20101114_AABDEA vaidyanathan_b_Page_187.QC.jpg 1324d94158ff9c6323bcbbad3142e1b9 a028258ba377238dcb6128b7a297b5a7652718ce 5152 F20101114_AABDDL vaidyanathan_b_Page_179thm.jpg 98e575d4fe7c57267ce9995f33aaceb2 5be8114fb928d8aeddca64eee5ad0dfe967b5a45 6975 F20101114_AABDCX vaidyanathan_b_Page_171thm.jpg a879df306153ad4bb677aa6bffa3c60c d39b41f2a0fce18fe12eae24eac095bffcf74226 6563 F20101114_AABCYF vaidyanathan_b_Page_109thm.jpg 498213a1694dfb9cd952c7454200f791 bbe9d9546da7d86173c1c40cc09cad283613b8c2 6999 F20101114_AABCXR vaidyanathan_b_Page_102thm.jpg 0e02269723350cb86cabc3830c390473 1fc3f266ee5c6462dc07f0f405bcfb73ab1bad7b 130171 F20101114_AABBUP vaidyanathan_b_Page_189.jp2 d3f381dea5d528b103f0ca213d1ca7e9 4a67a888892e929394c07119d02270e1cd9ff1f8 F20101114_AABCAJ vaidyanathan_b_Page_155.tif 804c9bfbfc1ac51f6b5d07a83c491d73 10dd386e6f669e6e6fc0efc89f5bc23b8a23a502 F20101114_AABBVD vaidyanathan_b_Page_013.tif 68fcc86f968c9074b59c17c81b6a05b4 c94b943b5901a5071b8c56e58794acebece33e1a 7291 F20101114_AABDEB vaidyanathan_b_Page_187thm.jpg ed0a19710b216404d9ff15840c38dbef 51d52d9a052d9c114b8b42ca8d03be29838a1bb8 8807 F20101114_AABDDM vaidyanathan_b_Page_180.QC.jpg 4d614f56c5ded000a5704d400ed13afe ae453613168bcc44b0a528919cfc0d06daaf0362 27079 F20101114_AABDCY vaidyanathan_b_Page_172.QC.jpg bcbf63330fa971ba153b72f6fe0d9688 c37625f956cf512fca1a27ba980ed2268b26ee82 22770 F20101114_AABCYG vaidyanathan_b_Page_110.QC.jpg c4627772300da9a70e0ffe7e4f1fe9ab d4fe7d5d194e1e638cbcceb67ca1405ccb76ee53 25187 F20101114_AABCXS vaidyanathan_b_Page_103.QC.jpg d53c3fcbd4ab8bff8e0cd14aa23a3969 47e88e2fdb8966ac3d2326320a7176a253c0aa82 13057 F20101114_AABBUQ vaidyanathan_b_Page_190.jp2 57e102c85f6dc71b485a5ed680eb5f57 fee6cf99e79d61cba93f3c486b5fb8e593e8b178 F20101114_AABCAK vaidyanathan_b_Page_156.tif 8230eb1b7f9e95d9c7f57375531a0854 bb3d1e56cb1a5cf10e6e55d30c510498a6de5048 F20101114_AABBVE vaidyanathan_b_Page_014.tif 82aa259a77d5f385bb699f63cc5b178e e6cb09da558892580404aeda9557ab995ed8ebea 25654 F20101114_AABDEC vaidyanathan_b_Page_188.QC.jpg 9f6c51138f3addf28aa081791a632f85 83e6496b61e1d29f7b30604ceaa7b9e78d591e43 2495 F20101114_AABDDN vaidyanathan_b_Page_180thm.jpg 9aa53ba78aaded12a671aebe636042b2 573ed0f3ca4bb7724694f8bed5a66b510794bcb1 7193 F20101114_AABDCZ vaidyanathan_b_Page_172thm.jpg 0d6ebdb130d7b6c224603fd922994f95 0de68a07fdfd1e99c4821d75d86a2c3c3feee688 6381 F20101114_AABCYH vaidyanathan_b_Page_110thm.jpg e5bf7500896b17163d846a9d3ce2ac45 8a19618d679254c6a99df0e0c71ad57cd09b4198 7044 F20101114_AABCXT vaidyanathan_b_Page_103thm.jpg ef47db82583ff00fcdfd7d703be91f1e 6bc13397baf3f07b235fbbeba0c2a55997a761b2 53729 F20101114_AABBUR vaidyanathan_b_Page_191.jp2 1c4e4870e78b33ced1462e1a2de46df5 a95265a65715c121e2a4807c3b03bb9da3c734d2 F20101114_AABCBA vaidyanathan_b_Page_172.tif 2b29b372309697597b3bf1fa1897f1d9 945c0b1ce3f7ae21a86e1552c8b6e383b178bedf F20101114_AABCAL vaidyanathan_b_Page_157.tif 5f9f45d96704f618ed0b01ea28da72b7 f8c2b4f3ae54bef3e828fcc3ef2b0b792b7e24d5 F20101114_AABBVF vaidyanathan_b_Page_015.tif 2cdf1c7ebe817452e3ee28ff4db06467 8e3a7dae556d31c43990f2a04f5774aa46b4eff8 6812 F20101114_AABDED vaidyanathan_b_Page_188thm.jpg 0aa67836572f26f0081716a8a50f4392 c619a1236b6dd5db2bfb8a6cbac57671da1ec536 10702 F20101114_AABDDO vaidyanathan_b_Page_181.QC.jpg 12717d21d9f1f683f98e0120953706d9 b0a5f058b2c5eb1b1dd2e1be50cbceb49f1aa10f 24782 F20101114_AABCYI vaidyanathan_b_Page_111.QC.jpg 8287d65148e98ac4663aaaff764554c5 63b6de1f20ce54b92f5b99d7a3f96bcaf3b1f1e4 26375 F20101114_AABCXU vaidyanathan_b_Page_104.QC.jpg d31975baf95d12875dc87daa8cb70a9f 28df507b9fa4e343cd337154bf7edecd26fc7b1f F20101114_AABBUS vaidyanathan_b_Page_002.tif c131a4af4274e82869657fb190d7ec62 02179988bf71577c1574f9f4064dcac5dcd30713 F20101114_AABCBB vaidyanathan_b_Page_173.tif 33bf9c254af72ca8fc1f00c1a9bb3ee4 bd5c0f98392fc3147ecce705b4549ff0b414dde5 F20101114_AABCAM vaidyanathan_b_Page_158.tif ec86268557f4b438c9e32ff112e16364 d774c00ef6a54a578fd8048e344503969fc97763 F20101114_AABBVG vaidyanathan_b_Page_016.tif 4075b9f4d70d38c477794731da099760 344b08b3a33a86b4bd87a2e8512c67a93afb5e42 26240 F20101114_AABDEE vaidyanathan_b_Page_189.QC.jpg f5e517ba339a2efd6428a162c7e3e7d4 15447a84b861fca2c2d5d9959af629dc1e9f6f4b 3379 F20101114_AABDDP vaidyanathan_b_Page_181thm.jpg ee61236c97d6c10bd62d4dec7375cb15 fe7c5d221a3754b741d53a8b25b53ac45d78ed22 6673 F20101114_AABCYJ vaidyanathan_b_Page_111thm.jpg d809c0546a61b6b6094645925073fafd 6f61800cf0fc5d96e80ab46809dff9aeae24aad3 7004 F20101114_AABCXV vaidyanathan_b_Page_104thm.jpg 6079b5304ce186e75ece676e8db06198 9601121224cfdbe8493aeaf1d4ba8815e2526a06 F20101114_AABBUT vaidyanathan_b_Page_003.tif b09265a319cb660e8da153cd7da3da6f 9ee9c4e0d8c26a1771b1fa223eae5c6650f2972b F20101114_AABCBC vaidyanathan_b_Page_174.tif b8e478e03729e3430ee32196ef142c06 c6a3bd22788eecdaab1af8c1e1327802ff343ebc F20101114_AABCAN vaidyanathan_b_Page_159.tif 855297ea135da74ba3de7eea1ae812f8 5002a4fad4766e3c1517a8f02df9adacfc8ec13d F20101114_AABBVH vaidyanathan_b_Page_017.tif 0c482117024b76a50974f510ca75fc7f 11f8763fc2034f900bfc8c9eef5f8a88ecc69352 F20101114_AABDEF vaidyanathan_b_Page_189thm.jpg 03f2458019e55d53ec146945607b2aba 7a6ce8236222a2cfe93bfd739514881d9189a8cb 7642 F20101114_AABDDQ vaidyanathan_b_Page_182.QC.jpg 4484ce6f9b992c97f34f796b1c9340be d1dbe71f56c43bd6aef47a9533f992332187c9d8 22315 F20101114_AABCYK vaidyanathan_b_Page_112.QC.jpg 361d20a1abe022886727ba7c884345d1 36a3ab38136dc717ea4511267920f578b0853d8e 23371 F20101114_AABCXW vaidyanathan_b_Page_105.QC.jpg f41bb829c29d4da5cf35356305d579bb 3c4dd9e76b4766abb6f6a311de862880838e4a87 F20101114_AABBUU vaidyanathan_b_Page_004.tif 2c9edce69ad1ddb6de8e5b7a06b4b434 bc55a0740166119b9ee762e737b4edff02e1155a F20101114_AABCBD vaidyanathan_b_Page_175.tif 5a6558155b3e6c259b1cbde94e122e81 c22107e1c773c14f1378395a9f0fa3207fc70fad F20101114_AABCAO vaidyanathan_b_Page_160.tif ddc75313a37adaca734445846857c573 a576245f7cb3ab6ecfef04add2a59980f6dfc9e8 F20101114_AABBVI vaidyanathan_b_Page_018.tif ccf03ac2e9daff0b88dcc8c83ed42c29 c1c6c840176c11f08cb3e6712c7db064cbe73b31 4590 F20101114_AABDEG vaidyanathan_b_Page_190.QC.jpg 2b8f789d2d1b131d566b4062b70def4e ba049fa8ae29bd9b4191517e739b636d38115bdf 2679 F20101114_AABDDR vaidyanathan_b_Page_182thm.jpg 7fa6dea6a49d5fc1baa0956aafbb1d6a 7eb621b493f8586c7bc0101cbaef14113861af83 6727 F20101114_AABCYL vaidyanathan_b_Page_112thm.jpg 44efd1a43c27dbc7d3d5a28cbac62792 2b1d9a3c533ee881746c27b4b9913365ccba8b13 6547 F20101114_AABCXX vaidyanathan_b_Page_105thm.jpg be5cf021200e043e5379042f4f8b90e0 37392ef5b420e149bf608084099d400b59d62342 F20101114_AABBUV vaidyanathan_b_Page_005.tif 76f8b04be8c32cf564ae212a7978fb07 e8b3ec5034e8a97c383c3bd02e9b67eaf0319077 F20101114_AABCBE vaidyanathan_b_Page_176.tif f04032bd0ff4f959322c880bd0d3a614 d33523cf1fddf19f72a5c312b145506c69fd0827 F20101114_AABCAP vaidyanathan_b_Page_161.tif 924072dcaf2c709fb561f395488019c2 76d54b933ff1568e70abf3ad83758106420226f2 F20101114_AABBVJ vaidyanathan_b_Page_019.tif f1f49f557dc9e259234b2b1789d0fd98 1541ff68e35c5748b9bf2fa8bd038f4c284aa522 1631 F20101114_AABDEH vaidyanathan_b_Page_190thm.jpg 44051ec7d2b34b0160371e8d6aace8e8 eef1132494d6b8879f436686b7d3634c7f09bc11 25357 F20101114_AABDDS vaidyanathan_b_Page_183.QC.jpg c78c32be49725c89186535bcf7c3a9b9 7462d4bf51b2a7645f53fc9c7f78b819a136a18e 25242 F20101114_AABCZA vaidyanathan_b_Page_120.QC.jpg 2ee1a53b6fca65eddf0aca8e505991c9 3261030588a6c4d0254a3fa45d92e4b8d53dacdc 17831 F20101114_AABCYM vaidyanathan_b_Page_113.QC.jpg 7dd06eb9fda0034b1ffcdfcfc336664f d3e7907a0b8f4bfc8331d13d1d47f8541c8eaf93 21213 F20101114_AABCXY vaidyanathan_b_Page_106.QC.jpg 05a0bd9aca6a6f111400a55c04667ea6 b475955a2944d5a816f02bf861227e031064d1a0 F20101114_AABBUW vaidyanathan_b_Page_006.tif 8a1aa428848ea3ca3fe2df5a2c57c14d f0fd5c9852f0cb4b4c3fda000ad0dc82073197c4 F20101114_AABCBF vaidyanathan_b_Page_177.tif c2d421e91c259f7abe47c1192738545c 898fefb4c849479cae59aee45ea78877951e7b06 F20101114_AABCAQ vaidyanathan_b_Page_162.tif 5922ea9867d2de1a98a913c00b16c971 1692edfb15adaac500ed38dc5e25a761ab41e861 F20101114_AABBVK vaidyanathan_b_Page_020.tif b282382a74689f2d16019f9236434db9 116e72d13cd1d96fb0fcf67b6af68102afcb1154 12789 F20101114_AABDEI vaidyanathan_b_Page_191.QC.jpg d245f48c0525294045177cb7fb299646 7331234ed82b4bc7f7638002d339339da404f598 7090 F20101114_AABDDT vaidyanathan_b_Page_183thm.jpg 81d3356686e93e9b8eb181f07c572152 47a97d6728c073c3a3e116b05a02d6023c4faebc 24797 F20101114_AABCZB vaidyanathan_b_Page_121.QC.jpg 9dfdb0a55dcda8b86e8b1566152102cd 9daa0bfc19dc8cb4363c79e493da9810ace1a039 5124 F20101114_AABCYN vaidyanathan_b_Page_113thm.jpg 0d528578e81ccbfb81f319e8e25d0f64 e7c05d85c477cabbcf6d8ace13ab3ed4dff2dc82 6219 F20101114_AABCXZ vaidyanathan_b_Page_106thm.jpg a27d5f856f4146186cc50de9ed74df35 186cc39566ee13691065323b015f33f90f5d2fae F20101114_AABBUX vaidyanathan_b_Page_007.tif e2fbd901d99db9e484277a55c474a9e0 b0b71449c4b891f4c63961149d2acf08466021e4 F20101114_AABCBG vaidyanathan_b_Page_178.tif 20b8cce0e51411521e9af783e1d1520c 51335e23c3d09325b7972a5995538da5efd91c0a F20101114_AABCAR vaidyanathan_b_Page_163.tif b4d4ed8b3e9c71b75a7dd77dd4b87296 c16d7eb529725c3961b52650b9c7e04d7d0f2641 F20101114_AABBVL vaidyanathan_b_Page_021.tif 5558107ce9b88d4edc73e5dbebcefa3e 3dc7d3d98f0f9a124131219bf975efb7a8352047 25090 F20101114_AABDDU vaidyanathan_b_Page_184.QC.jpg b710aa56a22f8cb12108ffa1b60c8a95 cb2a27dcc242e89fbfb17d7089c908bf62065f55 7161 F20101114_AABCZC vaidyanathan_b_Page_121thm.jpg d6a30f37c07a6ead3db4e9df792cc0cb 5cf0a14e6fc5c292373a67a7b19e1838a171a15e 18932 F20101114_AABCYO vaidyanathan_b_Page_114.QC.jpg 691a39e2e2462c12d65deb67a4284455 d87e11417ac403927b5a45afe46527488c154e1e F20101114_AABBUY vaidyanathan_b_Page_008.tif 22621a5d23701a91463037a8c6717b88 fa64549111f1039b69eeafb32719a1f47096f5df F20101114_AABBWA vaidyanathan_b_Page_037.tif 1a4023f2da726829d13b5427dc1c3d9c d521501a157d4babdf56749575cf92949c59d7da F20101114_AABCAS vaidyanathan_b_Page_164.tif 880927bbf66277f7bc9ccb7fb7af9508 bc96b528b8b681048865808327d6df1a26c9055b F20101114_AABBVM vaidyanathan_b_Page_023.tif cb903bbe02a3a0e75cf3f996682a27a3 ebc28cf16b8775cf21e842b27adff2e2dd374b5d 3703 F20101114_AABDEJ vaidyanathan_b_Page_191thm.jpg ac47b962738e84d868ca4b2bffe9b95f 77044a8827e924875d7f3659c107e5068f7facce 6815 F20101114_AABDDV vaidyanathan_b_Page_184thm.jpg ecb55b96672b8c1f12ea222659b99469 8df29d7698ebfc69072e3fb8acc0367e5bf975ba 24766 F20101114_AABCZD vaidyanathan_b_Page_122.QC.jpg e3b884f69e046a638b3359894a2fa3c5 f22b2f7a675f3a149116e34bd8feb8e3d108060e 5394 F20101114_AABCYP vaidyanathan_b_Page_114thm.jpg d156b9f134403f912eeb17760ecd0e09 8536eb65431924456c9abcda8c1d2bd9da626f4d F20101114_AABBUZ vaidyanathan_b_Page_009.tif 8f4f15fc57d2a887e0313a34f9fb33c0 e96dacbebe04d8790eadbdf303de0fed98e77cb5 F20101114_AABCBH vaidyanathan_b_Page_179.tif 12f210f523b6a5e46b579ecb42819984 f346bdde464273102ee9dd185ca9d705d122cdfe F20101114_AABBWB vaidyanathan_b_Page_038.tif f2abd3f5b1c61fe4dbed824222390ca1 1090b9e04b09af494335290fc3c30304768dae5f F20101114_AABCAT vaidyanathan_b_Page_165.tif 4f95358f9eecb7baec68c9f71af52ff3 16bc2e6dbff1120ec903c27ab0e69b7a6593c53b F20101114_AABBVN vaidyanathan_b_Page_024.tif 72c50f2aa92d118897d06e2fda695990 3f20aff7a14e17e57a848ee7a0b6847ddbba6c27 225320 F20101114_AABDEK UFE0021180_00001.mets FULL 7b5e0cee91ab74128556a0dbca7ffb68 023f82b4f4615ad3535d23a32c2d7878f13e6306 27324 F20101114_AABDDW vaidyanathan_b_Page_185.QC.jpg 1138c8c91ac0233ef3cf0e1d5fbfb4d3 0bb7b0d74a243c0207b28990dd5d3fd6a0a0a3f2 6893 F20101114_AABCZE vaidyanathan_b_Page_122thm.jpg 63068a4b06c909e49dd71cc7dbd2a22f 8b516625e9aa76bfad014b3b2da95d8b61a61fc5 20192 F20101114_AABCYQ vaidyanathan_b_Page_115.QC.jpg 1c24aa5c3120224d1e3800c7f0960775 10c9af9387aff21eb069daf95e2365f6bcb5109b 1054428 F20101114_AABCBI vaidyanathan_b_Page_180.tif fa50edb7e61a526a702b9cf720b754b6 45914aa3a73ae60e5847d3e38e2e8a886403253e F20101114_AABBWC vaidyanathan_b_Page_040.tif aa0922c2c4f4856eac5515c3b392dc9f 107b2ce3c6b91116ea033aece0432df1a449f49f F20101114_AABCAU vaidyanathan_b_Page_166.tif 0f434df23ebf1d380f6ae6e8677d73e2 18d6718b787abd52e1edba1a2797cf91cc7304ea F20101114_AABBVO vaidyanathan_b_Page_025.tif 5bac4dc8fb1cacf6c5f6bb8f0c9575ae a63cccecca053478ff4ee12e764844c35535ea7b 7358 F20101114_AABDDX vaidyanathan_b_Page_185thm.jpg db240597ef610276944fcb637c421ba6 9f222bcb551c64a328612197ae63b265608c5def 26216 F20101114_AABCZF vaidyanathan_b_Page_123.QC.jpg fd0a86c7fa626954baec63f21287e847 e84723d9e93824f41b1cb2eb7a6088f20de8246e 5925 F20101114_AABCYR vaidyanathan_b_Page_115thm.jpg c0f8a8abf0b8e94d819e6f93d5d40d4d ac7d26710fbe65241663f0e7ee59b8b43c30c64e 8423998 F20101114_AABCBJ vaidyanathan_b_Page_181.tif 186667b175fb6abb7237b051ed88c4d8 23c3a121a57daf1e7d33070cd36f0ace1e9aa22c F20101114_AABBWD vaidyanathan_b_Page_041.tif 93d093e2f97c5852f9490e02ff7f277c 46376fb5d6d17474ec1617cf470bc787f12e352b F20101114_AABCAV vaidyanathan_b_Page_167.tif 9024f7b5f7ac2e79dcd8084bb932238e 8d1fc79e4ed80d69142d276bff47725343216e07 F20101114_AABBVP vaidyanathan_b_Page_026.tif e6bf05fbe664f3c5d0ef53b4269c5006 d5eeeefccb1f8924875a72d8ff22cf4b43e0e1b9 24899 F20101114_AABDDY vaidyanathan_b_Page_186.QC.jpg c2fb00e8f771a4a96ea9d8736756184f ff53c37786d6c45d4ced5da8f4be0c9a5199f69a 7003 F20101114_AABCZG vaidyanathan_b_Page_123thm.jpg c1b77266458d9a28da94ce8696abf6ee 262af6163d7d5da49d8344c9a6560ffaf7847657 F20101114_AABCYS vaidyanathan_b_Page_116.QC.jpg de13eeb79344113a6aa73f009cb4bdf4 774ef4d93cd72025cd15837e34aa9bbf18c87c5b F20101114_AABCBK vaidyanathan_b_Page_183.tif 229072a2715e5759523b95479e7e4b68 994b7d252e7a671a2cdd625b814b8339821242e2 F20101114_AABBWE vaidyanathan_b_Page_042.tif fb7d4d535ce054ba018b6d98cbc5f493 8de78458b2003b04e308d44bdfaf2230905cafc2 F20101114_AABCAW vaidyanathan_b_Page_168.tif 4aa9a8aa72c170f1bc6b758a8c7154ae 1d034f5c9c4487884a290ee68c1ae67a7dab65bc F20101114_AABBVQ vaidyanathan_b_Page_027.tif 44a275ac65748c57d59ede1ebf702a6a 18f802e05fcd76dd6a2aa494c53c7abcebe8268f 6846 F20101114_AABDDZ vaidyanathan_b_Page_186thm.jpg 1c5c9fb5eb52c94e9f7812ae115eac7e fdbd312765bbdb315d7f309aeae3cb10d545bec4 17874 F20101114_AABCZH vaidyanathan_b_Page_124.QC.jpg cd9b38f0834094dfb206d4d540d3f3ba 74b7f4497f163e183ad55357c38f088b1e1171c5 6897 F20101114_AABCYT vaidyanathan_b_Page_116thm.jpg 0c1be76c8bda88cfe8812ac05eba28b9 948dbd1c7162af68f56ed339bf3bddd077ec6e3c F20101114_AABCBL vaidyanathan_b_Page_184.tif 3ff3023cef8ae2ef41eb70a5fb32528b e8d2a7918ca3c821ac997a8220e0f531bc404029 F20101114_AABBWF vaidyanathan_b_Page_043.tif fd8d68fe9ef54a621131498560ce13a1 48dd8ceac7869d9f318bba2ece4c61590568a453 F20101114_AABCAX vaidyanathan_b_Page_169.tif c003dfc2f91be21af66c14e357db3466 5f7ff364ed2c6d8ac57960d3b468010a7062de61 F20101114_AABBVR vaidyanathan_b_Page_028.tif d369b6994794ba1062dbc703cced4b93 424c8e509cad1ab257f7cecd4e184b76d643d56b 46591 F20101114_AABCCA vaidyanathan_b_Page_008.pro cc03515c3aa579a053f9347576cb6781 289e5c7126d73ec7a4b849ee2f27bde4469c558f 5475 F20101114_AABCZI vaidyanathan_b_Page_124thm.jpg df053aeb3bca59a97d7b4ffca34f76bb 68e1ff55fb9774a226b8572c6ce8210d2463b1af 26655 F20101114_AABCYU vaidyanathan_b_Page_117.QC.jpg 9aafea44c27aa04c6b86ee12fcf62530 bf4dffcb7960bce38a34e0d495039d1f0f6a3a89 F20101114_AABCBM vaidyanathan_b_Page_185.tif aede0a5f89157906117b0e5290656d51 4a6235693e932978a7df5955cfec46dea89f53fd F20101114_AABBWG vaidyanathan_b_Page_045.tif 26d64616b2f19be500752e74ef09b3d5 fdede1e4859b16acbbde3c6df10c68e0df9442ee F20101114_AABCAY vaidyanathan_b_Page_170.tif e61126a08e26c4506b56f0a4972ada8a bab28f25fefba0bbb240bf33cbefc23e35064936 F20101114_AABBVS vaidyanathan_b_Page_029.tif d1e4e69628a9e474dc7f0e5836204c33 46862a31eff246690b940a1a419fdda1e95f7dcf 60395 F20101114_AABCCB vaidyanathan_b_Page_009.pro 65168daf33c04f800d77c042123fb677 8486635fb33e1ed71920c3ce4c1ae92f923b2fc6 19525 F20101114_AABCZJ vaidyanathan_b_Page_125.QC.jpg f84dd91ad2b5a2464f67adcde24bfa02 7efc5c2f8be1aa8632fd527fa7d38c4f8c22583a 7114 F20101114_AABCYV vaidyanathan_b_Page_117thm.jpg 8cef2e46a1435490a92c95301fbe3499 432d28ba160204c6ddbde4c7876d1988985b5f8b F20101114_AABCBN vaidyanathan_b_Page_186.tif f9f2f88f1d9dff7a40209b24359de557 58f7bcd11bfc643988ae39974ee68eb02d06306f F20101114_AABBWH vaidyanathan_b_Page_046.tif d93a875f1c1069320b986bcff5e35bb0 f35f7fda2665fdbd387c4ef1bd2704b0666d883d F20101114_AABCAZ vaidyanathan_b_Page_171.tif a76298b84e5b84112569adecb21f4a29 c72aa0856820ecfa39bdf40e5d04835fdba32bb1 F20101114_AABBVT vaidyanathan_b_Page_030.tif b11f7c1196f0f7cc22f99c89bd5e971a f9a2059f9151edd1c3dacb58dcb3f410a7687f37 9515 F20101114_AABCCC vaidyanathan_b_Page_010.pro 98cf55f62a0d6d0abe1c4d624a4131a6 1077b1baddcfbebb873c4d4fb3bbf26df6f7922a 5738 F20101114_AABCZK vaidyanathan_b_Page_125thm.jpg cf1de541a4d45688c0e035c5814fa6e3 d7236721af60b7847e07e4a15031473a73676c95 27061 F20101114_AABCYW vaidyanathan_b_Page_118.QC.jpg 0698e9c5236a782374b3cbfb224fb4bd cf2921d7aafd3ef0fa305e0e87daa42d55dc46a4 F20101114_AABCBO vaidyanathan_b_Page_187.tif 42cbcc2838fabfa49554b423f3e550b4 7b9de3147c26a4095abdf90b2b161df369775a52 F20101114_AABBWI vaidyanathan_b_Page_047.tif fdd7dc6c7e6ebffd57b3ca769c51a18c 3b0cee2440b3954ab46306cf75d37c6d6722278d F20101114_AABBVU vaidyanathan_b_Page_031.tif e94b9ca88a418c9058009ba2b9e9e282 5311540fca1e3dc425e00a6d3578d36a6226988c 47540 F20101114_AABCCD vaidyanathan_b_Page_011.pro 298afe1490d7b596ff95a0b0e978b32c 6dd4ae1b326d1c427bfb4b14206a3e08e7ec7f33 23825 F20101114_AABCZL vaidyanathan_b_Page_126.QC.jpg 1105b4e60fa2b8cd75307783fac16ae4 d8d78cfdaaa01ba15620c8503afa8f1e52d014ae 7197 F20101114_AABCYX vaidyanathan_b_Page_118thm.jpg 887e676ff3434df1fe6350993bb2f504 a048ef09b2c97f454f7996f20b39bc96a286da18 F20101114_AABCBP vaidyanathan_b_Page_188.tif 28630f7754f11e283d6cf710d84937a7 8a13be38c959f06e5fa1898b5ff3e900e26acc7b F20101114_AABBWJ vaidyanathan_b_Page_048.tif 20e50c5f8fb79d9cb79c8e62b653c520 a4693af6829a280b816940ccc6fcc0514882b996 F20101114_AABBVV vaidyanathan_b_Page_032.tif 700e2de1d61c7c1e89f2dda1f3656b75 0fd3d71df11179d414e669124c5f952688b2cb2a 19218 F20101114_AABCCE vaidyanathan_b_Page_012.pro 506ba2cca225e0af6d55ffea7ee19bae d8812fef813b323b2bf344f80f05938bc55547d6 6721 F20101114_AABCZM vaidyanathan_b_Page_126thm.jpg f6eade069869e388561865accc3b99e1 1725d25dfcf0160135b544bfe8330b3b9744b366 24051 F20101114_AABCYY vaidyanathan_b_Page_119.QC.jpg fb717b445815c91ee67dd6ae7832aa6a 1def9452f1f533f408cca573c7169c43a636bbb4 F20101114_AABCBQ vaidyanathan_b_Page_189.tif b08ce3edc7dfaf0def3f93090be7fe16 02fc559f8d2d6cea3fc2a3def7911a2347da7b24 F20101114_AABBWK vaidyanathan_b_Page_049.tif 8a58747dbcdb7d9f44b1ff5d873a75ea f42b041068ebaa21ab20faf80f4ac340410847eb F20101114_AABBVW vaidyanathan_b_Page_033.tif fe867e0217400aa5f106d988bc280f0e dc4fc2e5bab79149b5eb8a23428f8f790d8123f1 54666 F20101114_AABCCF vaidyanathan_b_Page_013.pro 163a23c78f55830b84ea283ec4e80e9f 90aee8e9c68c3908e6c654a8cc4fe3a9ef25cb7f 28393 F20101114_AABCZN vaidyanathan_b_Page_127.QC.jpg 065e3f4dee6cac8e2dd399a9d20f84df d5290246025033628ba714554264b54ac0625168 6604 F20101114_AABCYZ vaidyanathan_b_Page_119thm.jpg d8f21b1b410751984d89082256f6781b 9cdfb1bf8656a80ced9206773c3ed1dea09b1fb5 F20101114_AABCBR vaidyanathan_b_Page_190.tif aaf918e0e2a872270166d091630aee7a 465b03b825b0a0c1bd3901bb9ac058403f3a62c0 F20101114_AABBWL vaidyanathan_b_Page_050.tif 970298366a06d47e259b79fbcce1cea1 827055c42b65f7f39e1016a73ebce941805333a8 F20101114_AABBVX vaidyanathan_b_Page_034.tif aa138432b494ce7edbef207361dcc6ae 96c777b287b2594f6c50430e52315883b0434d5a 53213 F20101114_AABCCG vaidyanathan_b_Page_014.pro c6ad0c481ec3693f4f03134acb4f1a32 f6bd4a09bfb6799700687da926c5b84ba641c4ae 7431 F20101114_AABCZO vaidyanathan_b_Page_127thm.jpg 5723a1a4c8a2b045ffc330248696dfd5 49d50998d6077e5c0b68d49b40c81b99ece604ff F20101114_AABCBS vaidyanathan_b_Page_191.tif 7a4ad843310832b30e2b1b671e32ed2b 22c95128ba18d8dc96d20c1f137355be3f1e8c79 F20101114_AABBWM vaidyanathan_b_Page_051.tif ff6bad5ee1c6d37c3f70d2d497a5b5a2 c2d522fdba0adf100f299f70d83638e1e57c0942 F20101114_AABBVY vaidyanathan_b_Page_035.tif 883a37ff7aa36fb1726cc125f6f02aa4 620c678de62656a44b17f9807ff51292c3701dbb 19597 F20101114_AABCCH vaidyanathan_b_Page_015.pro 646474ea80a44a8e755d8febb3c0ac7b 0cd9bb7e3e9184e816cbf2b87b8e93d89fcf0fc8 F20101114_AABBXA vaidyanathan_b_Page_065.tif 435260475145509a0a347f46adaba5b1 a8eff598e7467368d2f90adcf14d3b21e3424831 22078 F20101114_AABCZP vaidyanathan_b_Page_128.QC.jpg e5d3a46a50a309e0301a2e83b1d6520d bf960286c9ee0e6726c22bc5167bb8c4ee00cbda 7973 F20101114_AABCBT vaidyanathan_b_Page_001.pro 06f30d21b5acce850b772b4b88a4d6e0 f0eeebfd3bafbfe2729b6f87b1a6a2f799691f2e F20101114_AABBWN vaidyanathan_b_Page_052.tif 811e8feb8cda6b949b19ff56e89c44c7 b1029fa23983f88732b5485a10a70da62fe37de5 F20101114_AABBVZ vaidyanathan_b_Page_036.tif 8737ae679fef4a03847ce5222889e94f 32103659572151e70b05b9dcd1c0e0a6e435bf6d F20101114_AABBXB vaidyanathan_b_Page_066.tif 1d813e35b07d12d20ee93f2827a1d9e0 17edf5e27392e294bb3d74d4f393af7acf9f78cd 6045 F20101114_AABCZQ vaidyanathan_b_Page_128thm.jpg c04b3d48dad1466517b1f482169051fd 8fdfff932ed760fa7059247908adf83ae69fe9be 1096 F20101114_AABCBU vaidyanathan_b_Page_002.pro ae5c1bd8fa1d301aba586337778d0f97 71e1b633ef0548753449fa2b07d7c003b997cd10 F20101114_AABBWO vaidyanathan_b_Page_053.tif 080dd5193fb47134b322cede9e3693e7 9139bb5cfca16f949c4313328eea50fcb153477b 51969 F20101114_AABCCI vaidyanathan_b_Page_016.pro e250fd13db0907e6953cb02ae7835203 a856a15c0d9db5861344bd0328e150c4529da215 F20101114_AABBXC vaidyanathan_b_Page_067.tif e9faf1404ee8383b9e42a82c16005101 6dcf31a37db8956ab6d75a6e38523078da536017 23647 F20101114_AABCZR vaidyanathan_b_Page_129.QC.jpg 2c3ecdba3d23cec3e4cff6c93e6316a1 9437ac1bf3fe3b6baf68ed09518af616d4d2e74c 628 F20101114_AABCBV vaidyanathan_b_Page_003.pro 149e5e74f594c06ed10ad0fa83a12160 68128c36a2409dc0cd123b4228e33d3a82e1c693 F20101114_AABBWP vaidyanathan_b_Page_054.tif fd75add7886bb20d5152fcede3537f8c f0f3e5acba382945eaeec9e815c06a99f4a58842 55331 F20101114_AABCCJ vaidyanathan_b_Page_017.pro 45005f7ab776d4a0c245b2f6c469eb81 2ad6a29ca76916a0cc205644fb0f3c4cb8e9af65 F20101114_AABBXD vaidyanathan_b_Page_068.tif 55965a206cc1f2593a4516ca820fbe71 20f60429f8be2777a143e6863e1e6fc88c840855 6561 F20101114_AABCZS vaidyanathan_b_Page_129thm.jpg 2fd7faf21234ba8197c0516d3c79ec73 bbedaf3bc7219cce812661ae6cbfc90072e6d9c4 33429 F20101114_AABCBW vaidyanathan_b_Page_004.pro 5afd4644dc2037dd49a0c175cb1bbe8c af5e40659864ced47d793c443b75608a60662a32 F20101114_AABBWQ vaidyanathan_b_Page_055.tif f137ce834992823d906047d067dd7fd7 457c7ee56911d087b63a68fb5764b33bf4c872bb 56399 F20101114_AABCCK vaidyanathan_b_Page_018.pro 4da201337ca43331ca91c8aff8b9d2f5 3c98b27fcad417a63c5a45fcc31384d8672132c2 F20101114_AABBXE vaidyanathan_b_Page_069.tif f0a404c05ae961e599d170b278b7b41c 1292e946bfd4b66c5cb3d2618d61d216d8889fd5 22661 F20101114_AABCZT vaidyanathan_b_Page_130.QC.jpg 642634f1a2bb30cba1e536590d1e7e01 bae9002a7466dc3bb2f16e054716f3e6510dc6a2 73224 F20101114_AABCBX vaidyanathan_b_Page_005.pro 172e570274d8b2c44d4cfa6642fb074c 4b3e537b1726b9c199aaf4c946289205d88679b1 F20101114_AABBWR vaidyanathan_b_Page_056.tif 7772e221b63d83e8d5cc2fec6abdda10 cd132ae6502fd6aebae0e8890f6fc9763376757c 52142 F20101114_AABCDA vaidyanathan_b_Page_034.pro 335de02e0286d58e4a4414ad2371b3b9 67576a15a6a46885dc1e0536789ab711c9c8558b 55675 F20101114_AABCCL vaidyanathan_b_Page_019.pro 721c7e4132efa25ab42e9b9cc3b66374 89abe7271fc65f2543bc3321ac46da6cb621597d F20101114_AABBXF vaidyanathan_b_Page_070.tif 90baa0af9d36b4c3927c10c22f01dc93 58f0c6b89a15edc97d806b28a890d061df5f0566 6517 F20101114_AABCZU vaidyanathan_b_Page_130thm.jpg e9a465720e94d8afd4e5fe85e335ea19 f7a930ad28f4ce99fb3a7153f4a0d375fcea561f 97625 F20101114_AABCBY vaidyanathan_b_Page_006.pro 3e3d3cc50dc56f1fb9bac955b954d509 ed1a4c40f78abf85c85f3d289f9c44f97096a047 F20101114_AABBWS vaidyanathan_b_Page_057.tif 56b463b5e0bcf4634569c019b8965d11 eb103a676b6f3f690a0e084a58fc7593454565f4 52876 F20101114_AABCDB vaidyanathan_b_Page_035.pro 85238843b1f9f251441b76fa7ed14a1f d3a6074372aa7ae8ecd7e061dc50d43acff2ffbf 52581 F20101114_AABCCM vaidyanathan_b_Page_020.pro ca274b430b77e3d6188a37c6d0500b69 6f264a27b56b80c110ef62507c42dab67ce88d18 F20101114_AABBXG vaidyanathan_b_Page_071.tif 1ab4c068f395dc9bb2b1a24e897c35b7 cf29a48884ecf7cfa3bc3efad34576f15e32f688 25379 F20101114_AABCZV vaidyanathan_b_Page_131.QC.jpg 78b7f77e0cdd7b6d0d73f254a6b5efb1 fa3540581e7c2f8af1d05a58ca4d357971c5d9a9 F20101114_AABBWT vaidyanathan_b_Page_058.tif 7ab943edbffdfa10bad0a550a13499dd cc665a908ac4844396c80dfeb9163e598ed794b1 50069 F20101114_AABCDC vaidyanathan_b_Page_036.pro bae6d73b01923169cd8828e94162200c 33f2d282ca9b61272f1e6afc65f214264a1fff11 70549 F20101114_AABCCN vaidyanathan_b_Page_021.pro 7a2da50eff75001722a3f42ccda8974a 3d6886c256750097ee35ab6c2beea9e839b7e416 F20101114_AABBXH vaidyanathan_b_Page_072.tif 3c43bb29ea1b2339866b3be75d44450b 96c2ce107cf13e5c093f3da90d6d8e89aede7ef9 20795 F20101114_AABCBZ vaidyanathan_b_Page_007.pro 6ead03708ecad9225f38b0c148937a7a 070382db8ccdc91c69c5491f79f13a58a369d887 6861 F20101114_AABCZW vaidyanathan_b_Page_131thm.jpg b3b95cfc0c5fda70125cf2ca6ff961e8 dee7e93c50728be32621bacb212df7d62ed15119 F20101114_AABBWU vaidyanathan_b_Page_059.tif fc3d005e57a5626ad399be5e6a0dd8ce 9d933131d2c657b6458f83aa84913fd85c1bec62 56126 F20101114_AABCDD vaidyanathan_b_Page_037.pro 859cb115ec9d10cf49e4150df69127d1 6742b07363a75e5a774176555232927400e0537e 62599 F20101114_AABCCO vaidyanathan_b_Page_022.pro 5c2be7a1e21dbee7f741b2c1fff756cf 1f8af4c83152279ddc4a29500a97b656cc88029d F20101114_AABBXI vaidyanathan_b_Page_073.tif df6f0806c7a9f1b00855a2868a94a44b 46547e6a169202bce126ad4ffce912bb125c38fc 24569 F20101114_AABCZX vaidyanathan_b_Page_132.QC.jpg 746d1b139c0a43075090229dcc0dea13 fae3741fa96158b1384c01a1bd23cecd8992edad F20101114_AABBWV vaidyanathan_b_Page_060.tif 4b04a0557c3df7a82a8aac7086a3ae43 12f71f9e8b8022545e792febc28f5fdfce269ada 65882 F20101114_AABCDE vaidyanathan_b_Page_038.pro 170dc78f57e113813e061deb95e35a3f 1a0fbaa4f00f36f3f77fb581779e42e3b7c04b7b 54311 F20101114_AABCCP vaidyanathan_b_Page_023.pro 6dd2f22930e97f40aa048549bddaa1a5 9658de24333b9046bd1765e8a9b72ce1bf98b3e1 F20101114_AABBXJ vaidyanathan_b_Page_074.tif 50d704d7807b526d0271f91cc20f1b73 a7ebcc4d797228582f6398d1000add8cc7b96ab6 6788 F20101114_AABCZY vaidyanathan_b_Page_132thm.jpg 89625e1de2b59da6f47377058d8a55cb ebabf378047ca786a04f21c3a0e47549538fd983 F20101114_AABBWW vaidyanathan_b_Page_061.tif 566dbe7e69fc92a12e6df0cfdc459ae9 0d3ac7d65247c74a08bf0b7645215631f3051330 54448 F20101114_AABCDF vaidyanathan_b_Page_039.pro 44e79e364ce248287b2f727f4e10a0d6 7572d197cafb2bf1e9334833dffa0e63b571e9f6 54254 F20101114_AABCCQ vaidyanathan_b_Page_024.pro 1f7ccc5acc77cfef2a0d334dc646f296 3236fe9f325c0b7f581afc42b29a1dd4e84cd2b1 F20101114_AABBXK vaidyanathan_b_Page_075.tif e932d34d6bf15351f17b0c584bbab01a 2e86d58e9539e652f419d66344ae7f1618c8ef9e 25705 F20101114_AABCZZ vaidyanathan_b_Page_133.QC.jpg fe2461c2a0daa09db722e52f85c7fc07 09abd8a77ed80bcddff7098a96c5042758640949 F20101114_AABBWX vaidyanathan_b_Page_062.tif d59135a6aaada91fab36d39ade5e6c34 25555ed7d6c909777185eecb0fa2e6685b0b28b2 51989 F20101114_AABCDG vaidyanathan_b_Page_040.pro 41297344f1312f75deb942fb0320a13c 93d2dff0989d815629680b8cdb2547a23d587e52 50793 F20101114_AABCCR vaidyanathan_b_Page_025.pro 259c435285085012be0b8b004c9688f5 4cabe49825a45a746dcc182dea3ff5c118646172 F20101114_AABBXL vaidyanathan_b_Page_076.tif 2a76a62fa071e316b082419a2a5ca7ad db97bba00a48d263564fb43e3772c84622a8bf76 F20101114_AABBWY vaidyanathan_b_Page_063.tif 4891130a06b56e5acaf5e902ddce5028 d72f156595571d5376b4ab395a42fa1fd6128bec 55951 F20101114_AABCDH vaidyanathan_b_Page_041.pro 508e0a4f041a6bf5ce35948dbfeca951 91110bf5fc2bc981dbc459059b31e9960d37dcbc F20101114_AABBYA vaidyanathan_b_Page_091.tif a7aaaa5f244f06a13ec255de2db65cdc f5b643c95bac1ab896acb3a36ad26d7028499b27 59255 F20101114_AABCCS vaidyanathan_b_Page_026.pro 13763e2d86ae158c9b3414d77e6af3c1 197e00bef0d7375c76a9cd13f3016684a34f95ae F20101114_AABBXM vaidyanathan_b_Page_077.tif b4cbd7cd6f4a74573cb65027fdf97120 168a39ffeab37491b37fd58a569298862125d67f F20101114_AABBWZ vaidyanathan_b_Page_064.tif f4512dd9727aa293e7dbf6657b633196 8828d050cba816096052a0acbcb691155a8d0b65 52311 F20101114_AABCDI vaidyanathan_b_Page_042.pro f6dc559b04234771737f38b85d8c99ea 77cb0c0c7dddad5295861e487f001d61c770e637 F20101114_AABBYB vaidyanathan_b_Page_092.tif 7b6f4cb7c6cf82451a03d6e908e5025c 3e876ace957f042cc8e9b52c446f9a637f954f98 60262 F20101114_AABCCT vaidyanathan_b_Page_027.pro 2c6d9a0434a7b53e1d2552dd9867d53a afe4e3fef634f36c9e3d60457e2558671fc393f3 F20101114_AABBXN vaidyanathan_b_Page_078.tif 1dcad3b9417b733f44771a0abdac0453 7f81a7a52ead7c1ea05dd1c10c126c2e03f2a3ef F20101114_AABBYC vaidyanathan_b_Page_093.tif 6a28f6975c26d01db3efa16fb5d478da c676b2c9c5aa67621ee0ab51ad9d4375605ea69f 54221 F20101114_AABCCU vaidyanathan_b_Page_028.pro 16c29aa16507c3ec1fcb360a61034732 2b380fb38dbde58c20ebf875191d877c409d27b7 F20101114_AABBXO vaidyanathan_b_Page_079.tif 3d3142c7373dc51ddc7585163dd378d6 47da9080ea36f8fa2154cf0c2143338b22aa3d51 47059 F20101114_AABCDJ vaidyanathan_b_Page_043.pro 182b355cfcfd3343ec78dadf15a5e144 be4c81ae44c67adee67a1dc47d80abcc00c66a8b F20101114_AABBYD vaidyanathan_b_Page_094.tif ddab6ebc0eb40f6d6def4723e030ad9e 0f419fe4b0551821dd50081042ab8c79b5cd23b0 55979 F20101114_AABCCV vaidyanathan_b_Page_029.pro 2437da80044cc20b7b5c544eac8fc83c 6040f7c7d46bfcb6b23dc7c22360434e54a45f50 F20101114_AABBXP vaidyanathan_b_Page_080.tif 8769b70b37854636f5f2faa04d68222e 4e5a5482f9459b5ef4bb9e9f3ea6040ecc7f2b8b 53905 F20101114_AABCDK vaidyanathan_b_Page_044.pro 547f27599e196dad5ad749c3a24f017b 8b7cd2375cf1f82ae93dea5c0e256873ab6960e0 F20101114_AABBYE vaidyanathan_b_Page_095.tif 1912165fc78b92461af89518e1b86fc3 7546f924f7bac8907415aa5c0b34b213820ea0d8 58051 F20101114_AABCCW vaidyanathan_b_Page_030.pro 24565262d7c0e87c1670bb673be1b390 c7af2afb9520c4e2a14b11565c6fd4c5ac8d0d46 F20101114_AABBXQ vaidyanathan_b_Page_081.tif ea7297c42bcc6e285992670597ccd3c0 95edb89b862006d291fad1640cbf67bed866e723 51455 F20101114_AABCDL vaidyanathan_b_Page_045.pro db3094c2d22dc459e3069e07fb3275ba 36744dbb5a8d8b8473644fa19200b06c7faf8710 F20101114_AABBYF vaidyanathan_b_Page_096.tif 5d76299926167124ee86d1198032c983 48761c429356429a348eadf5b7dc553c1d07f737 43446 F20101114_AABCCX vaidyanathan_b_Page_031.pro 76b539c0397f21ec0d11e4cee028a11b 021f51262d7381f3eeed0046c3c87191cd498204 F20101114_AABBXR vaidyanathan_b_Page_082.tif c43cacc167a390d98f4a4e8cbf15eae1 68724baa7d20712515281282886455d1873cd93e 4346 F20101114_AABCEA vaidyanathan_b_Page_060.pro beb1e3827c7992b95f6780558c0dfef5 956ea81321c074ce7996b1973cac4f5f842cbb62 50421 F20101114_AABCDM vaidyanathan_b_Page_046.pro deed4e575178fbeb3b048f4a7eac733f 7a9090267758514308cca97ec124113ac8378399 F20101114_AABBYG vaidyanathan_b_Page_097.tif 54539c49cf0985b662287664b8641ef4 6bcdf613d2f15bd4fa2f9fd767dfbed717325634 23861 F20101114_AABCCY vaidyanathan_b_Page_032.pro 61204e42f8165eec53b4acd8ec040e8f a4a9c3a899287f8468d5cefc4d70a7e245f957d5 F20101114_AABBXS vaidyanathan_b_Page_083.tif 381b61fe834f7478825c429c0dea6ba3 18f93c1245ce54b1f5750b6767d579d5b1ab5ee4 54410 F20101114_AABCEB vaidyanathan_b_Page_061.pro db1aaf7a6c837aadb28b36e53f49ebe0 ad97dd16e4706c8f3452ca0b04d018582b313bff 60294 F20101114_AABCDN vaidyanathan_b_Page_047.pro 17769d91fe3233629bff7a2d9133cfed 3d284327124f406236f06a7e32f165ec21000c60 F20101114_AABBYH vaidyanathan_b_Page_098.tif b2b6c3cee6b23216e062ad189a17edfb c4ee18d2d815c2f8409fa1cb72f236051e9eb7f6 36892 F20101114_AABCCZ vaidyanathan_b_Page_033.pro edb6f5a8963baba3a738d25bcfc5d8d8 039a44f7fdbe6031089dbc4106eec93e52d6ee4c F20101114_AABBXT vaidyanathan_b_Page_084.tif 5160e40e80450e583758fcfaf5329863 30cd2daaa797c5176612397ec07fca107e472a28 54095 F20101114_AABCEC vaidyanathan_b_Page_062.pro 517349dfa7fddf572ed1b67907f8215d 8c83f64fb9b57dde8a56605c092d92f9753e8c6d 55369 F20101114_AABCDO vaidyanathan_b_Page_048.pro 6e850af982dcdeb7db91454cc76e0318 4e0b0c581ad29d2d36b62ff96eda2c5235c52f13 F20101114_AABBYI vaidyanathan_b_Page_099.tif 1a3b409797eda154afd42b2d153e0806 e9d8adc68fa6f19a193a03ae3f7d79cdf66e69a2 F20101114_AABBXU vaidyanathan_b_Page_085.tif bd491c14abc87b1648c513f82ad156c0 a63eae9fcf6547f9d18d62fbca84df8b5f126f1b 46582 F20101114_AABCED vaidyanathan_b_Page_064.pro 70db023489d1149c3904cb39a18d274f 33c2092d2d13f2b53f631afe6a73bd41c93a834a 60308 F20101114_AABCDP vaidyanathan_b_Page_049.pro a8b30b5148cfbe4b60fced6d4fc0975d 989eda44c7996195ba05fb03fc24570883568171 F20101114_AABBYJ vaidyanathan_b_Page_100.tif d47fbe437ca11523d3071652c7532004 b4baa8ec79813d2411d6ebf838721bdb7c704b3f F20101114_AABBXV vaidyanathan_b_Page_086.tif caa46f90b7c9247b4f17fa3b388eb967 44e057964fdcff8a5649ea9748bb4ab33639927a 40862 F20101114_AABCEE vaidyanathan_b_Page_065.pro 28816bf5f7f5554f09aacd388218b6bc 5fbde5c6aa4510cb9760cd63cf13f48ac8f07646 47414 F20101114_AABCDQ vaidyanathan_b_Page_050.pro 8ef21f1d15f88db1d891aadc2bed861a 0da1625820aac8b0d5523ccc57d52e2dafb9587d F20101114_AABBYK vaidyanathan_b_Page_101.tif c183f6312ad95a82ed97dc4a809e01d1 d85f59d7ff30f6c97c40f04a861ff9373c59d7bf F20101114_AABBXW vaidyanathan_b_Page_087.tif 321778cce716f98f6bd1595bb64f1d41 ee008b087b6dbb384685e70bf280bb5212f2dac0 51776 F20101114_AABCEF vaidyanathan_b_Page_066.pro 9179e240b05e47ec1fa125320bbaa091 5517e847a46ac142dc51a3e79518c239792e8134 52679 F20101114_AABCDR vaidyanathan_b_Page_051.pro 3f28bc7f08376ff1cf6453b12fe1807f a0c174afe6f14ebf4155347c08bfc3632428972c F20101114_AABBYL vaidyanathan_b_Page_102.tif 58404df8474c6dadcaf8e2760b7b20f4 6b54dd667fa15378c1f25ecdac0f9cca02a13363 F20101114_AABBXX vaidyanathan_b_Page_088.tif 6da4729ce80ae26b13f423c990174af9 e6c76e5388727fda21592c37266de887cab676fb 49122 F20101114_AABCEG vaidyanathan_b_Page_067.pro 3a20605845a964be6a977ccfb3101b7e 7f5781b4c3285b9bf998652c030b0532a0bb7960 F20101114_AABBZA vaidyanathan_b_Page_117.tif 9c907128e36d68d1c309a0bdf76e3fea 13db75dae59339552f023687d8f9034032872aad 5271 F20101114_AABCDS vaidyanathan_b_Page_052.pro 39c8863e2f332fe1c7956ac42745574c f30e88fd94a420872a1dfe293ef5ac7b37a2ee4a F20101114_AABBYM vaidyanathan_b_Page_103.tif 092857adf61afae02deb543ebe11f84a 32aaad0284dfb3942dfc986bc8be464d78c3cc5c F20101114_AABBXY vaidyanathan_b_Page_089.tif f43082705a11c401e4526607ab828530 3acde955096ee47048a70e0e5b61a4f6e00c417a 52809 F20101114_AABCEH vaidyanathan_b_Page_068.pro 4adfb7f752d471e80cb9c7c5e819b735 b5ac41bf7c7e694583e8f7ee4eacb4420eded8dc F20101114_AABBZB vaidyanathan_b_Page_118.tif f4dddaa2217ceef20d2ee2bd2d7990fd 050efaaad26704d5c8be5d587801d4186ee34a09 26853 F20101114_AABCDT vaidyanathan_b_Page_053.pro b82d7ac172ae10e53ac5c46198b08f0a 317af1ab6e7e2e9c921e444e0255941bb1ee462b F20101114_AABBYN vaidyanathan_b_Page_104.tif 0194da55db4f9d9a1c5dae454371b00a a23f884d4c621e57f294ea3b9a4a22a38741f79d F20101114_AABBXZ vaidyanathan_b_Page_090.tif 8b8f867a96b5055b8cf904a2a484dd4d 28c128a3d9871e4dd3bceb9a4dc6a0a5ad17ffb6 52289 F20101114_AABCEI vaidyanathan_b_Page_069.pro 4227858fba4c18598e3d4221d7880b07 f8a1ae1085eeaded6d30ea279d85c7b74d792a22 F20101114_AABBZC vaidyanathan_b_Page_119.tif 5859ea07c37e8e7e23d035e3b81d2f9e 34bbc9dbfa16e6364fab7b95cbe2d3a848869ef3 28489 F20101114_AABCDU vaidyanathan_b_Page_054.pro 2a4e2e30d7ebb7df9c538ed0fbf5dc9e b2ea5f23d2362b3f0dfb5b6310170b8df49934a0 F20101114_AABBYO vaidyanathan_b_Page_105.tif c81d10551e364ef88a4b2439c6dd39a6 2d94a8a8dbce457f822a14dba272a6e35bf25e5f 54017 F20101114_AABCEJ vaidyanathan_b_Page_070.pro 434ba1b096b0f24fd4b9a8775fb61a84 3f76250103627d1351da32e52d6cb47e8be05c96 F20101114_AABBZD vaidyanathan_b_Page_120.tif 85a7e77fd8dde37bf593c9d3b6e48a6e db01cc25c2b1a433cd81cf0cf7c2e090f98b414c 29614 F20101114_AABCDV vaidyanathan_b_Page_055.pro 446fff0f5b7f82cea5e13ba7eaaf3955 202e9a7dac6b3aa0e71e1abc0ed727905793e486 F20101114_AABBYP vaidyanathan_b_Page_106.tif 600acd151fcbc70d120b671ab58e96cd 141a543fb614ec8cf304e89dce652e1d88500e34 F20101114_AABBZE vaidyanathan_b_Page_121.tif 12e82e1b052878c8587f4ef92bc4afe7 48d164b4b3014eada76d465308322f00aeff4687 8475 F20101114_AABCDW vaidyanathan_b_Page_056.pro b74c8f3c1cb579606ddab2b62c32051c 3acd32d813920c934cb9411ac46be24855740038 F20101114_AABBYQ vaidyanathan_b_Page_107.tif ccbc3d2316293f0c7b14a4075f361f35 62595258ced179392c797c71b42031010dad1dce 53486 F20101114_AABCEK vaidyanathan_b_Page_071.pro a324920ee2cfa0db35e234210d566561 9b59c75324ceb206a0bfe8141984aec13f53407a F20101114_AABBZF vaidyanathan_b_Page_123.tif fcea621421999f562a14c9bf6b045075 5ec339a557faf86d1c0a0c930fb3ef1ac9f9beac 6477 F20101114_AABCDX vaidyanathan_b_Page_057.pro e08a62c272d5e38a2372ed5d0fc89854 aedf092bebfdb53c5c3180572fc6e997c32da85e F20101114_AABBYR vaidyanathan_b_Page_108.tif e58a7996026a52a0530904c9696c03d6 d29bbcbf7fd0c6ba7528f7b4af0b2c833cd63824 50072 F20101114_AABCFA vaidyanathan_b_Page_088.pro 04ba3f1d0964fe0ff8f550e631a4ae42 9d4b4275fbdffd2b57bc774660df635d72aedd58 53003 F20101114_AABCEL vaidyanathan_b_Page_072.pro 2f8f63cde66ce52a83a9c81fc925176a 6235780bbab0485d7b57a4512c4f0d2798b2e7cd F20101114_AABBZG vaidyanathan_b_Page_124.tif 6bf0934d3df5b66317e04866b0c31570 554b20a2e851330c6de5606fa5ca3a54a8801d9d 8441 F20101114_AABCDY vaidyanathan_b_Page_058.pro 02465ed984445756c24d843f1957e19c ad342fcd956a30cd054c3bb6c8acec2b1169947d F20101114_AABBYS vaidyanathan_b_Page_109.tif 44c842136dcb35c1fa177c84c49c5c0c 9e7d95609d0b9d2828b5d2a3ce56dd411264d13d 52944 F20101114_AABCFB vaidyanathan_b_Page_089.pro 9ee01d77831afe8a8fda0029b34a0437 cdbc4993872bdfd7e3ce8a20e54f1425efbec710 36309 F20101114_AABCEM vaidyanathan_b_Page_074.pro 282ff2c6cc4fe3df14b6ea77d0f41162 4f26678248ad481e2090628134ce2371a9e38822 F20101114_AABBZH vaidyanathan_b_Page_125.tif cbcc2a43fa56097ab8b0e61b547f0aec 7939b3e1e61be3690e912501ecd681662be8e906 11741 F20101114_AABCDZ vaidyanathan_b_Page_059.pro 77599916d0470783b41de6a3b01ed2b2 ec6096dce3d3b5a81096b7b99bde0fe7c2ffeffd F20101114_AABBYT vaidyanathan_b_Page_110.tif 240e587d1fc829b2ffc81ea8881a6f71 21214b9b8ad01f449ac9281d6c88fe651119fbb7 50857 F20101114_AABCFC vaidyanathan_b_Page_090.pro 01a69a39508b577885b9546dd0d5ee25 c1c9f2814c874bf5f735ca008c92be32ad1477b2 55989 F20101114_AABCEN vaidyanathan_b_Page_075.pro 0a1bdf897994b728692026b223c4c24d 4685c3c1f11e692b6cf616dc35abdbf6d2271e55 F20101114_AABBZI vaidyanathan_b_Page_127.tif efc271cf0ca602219cb3c4a2b457cb6e a8f41c1f929149e3903185fae97a7a2672e15c4a F20101114_AABBYU vaidyanathan_b_Page_111.tif af995c2db3e283fc0f1e6cafdf06563b b6e997dbf11387cf0baeeec8cd92df0d1bf270b1 35728 F20101114_AABCFD vaidyanathan_b_Page_091.pro 21d28aee91bf37729e688f29fa08aa2e 9a1ce60181d1dbb2b5996fbadc6386b47f98bff4 54022 F20101114_AABCEO vaidyanathan_b_Page_076.pro 38eebb70dd9a98b2297311b8add883b0 4a2825213c70f2aea6f5f592e6bb75992127cc40 F20101114_AABBZJ vaidyanathan_b_Page_128.tif cda6516a8ff7f240385939a006e66bc2 c008bb09888bd20125abbcc843cbf1817db92af2 F20101114_AABBYV vaidyanathan_b_Page_112.tif f3cebe7c0ba0880c170895cd14f3e43c c4dc514109d1223dcc2db4b55d5bca7eaddfc25c 54341 F20101114_AABCFE vaidyanathan_b_Page_092.pro 36a12b0a913b109f6d2393fb375efc6e d5e5276ade02b326eeefc7064f2094fe10119944 44674 F20101114_AABCEP vaidyanathan_b_Page_077.pro 48e6c1c24ae84260df56e87e2dc0b876 d0424f1570929c38bf28114810f924407dcf8c44 F20101114_AABBZK vaidyanathan_b_Page_129.tif 45ad738a3167a4e5714abf4598f73588 cf337f0890796abcd85b7362afe64c08b2b148ca F20101114_AABBYW vaidyanathan_b_Page_113.tif de624c67192283b1372a565e281e1bcf c7bce105e250419aa7603e9b86742bc62f56a724 30818 F20101114_AABCFF vaidyanathan_b_Page_093.pro 3c372e1c84609cd37d7a8fe299186a74 b09c5e7b6167faf11df31f0f0fc4ed5ec6b8b006 40115 F20101114_AABCEQ vaidyanathan_b_Page_078.pro 889480fbf901c67b5fafb5a30e9b1ab6 6a40149868f0b52b45994875438acde61d539b9a F20101114_AABBZL vaidyanathan_b_Page_131.tif a3783c3a6d0cdc25d986cc9e000fdb06 0127a1ea0d6c0194f1ed7392ff426c88855955db F20101114_AABBYX vaidyanathan_b_Page_114.tif af276e5ab7e5006363e81afa7d698d19 a8a687e4280efb1ae82e174b6f6e071ac96b3005 27325 F20101114_AABCFG vaidyanathan_b_Page_094.pro 09da911cef87326facc00646b98afe39 6bfc082d29fb68c733db0965ef1a54ff7befcfb5 46911 F20101114_AABCER vaidyanathan_b_Page_079.pro ba71c3c7b3b52ab5f816c5bc7f25c24a aa9d1b7f295b5e3022d2bdfae410a133980540d5 F20101114_AABBZM vaidyanathan_b_Page_132.tif 124dad073162c89cc6262babc7b31870 c2b8fa54dc4ae1c7c66b98fa16390dddd4a69f6a F20101114_AABBYY vaidyanathan_b_Page_115.tif dad0a8e1de8a2d06f448e6136a2ddc28 bd5f84e02628d7f7fb5d0a9c04ec5cf1853dbfb0 16052 F20101114_AABCFH vaidyanathan_b_Page_095.pro d76ddbad1150bcf5f3f20939f8c05284 03aca5af3dc07305a4087e9c21119ef5e54d7303 54244 F20101114_AABCES vaidyanathan_b_Page_080.pro abe3662281e46119141a48eeaabdc0ba 54eea08a446a6c575c96b3f1061b2a133281fbeb F20101114_AABBZN vaidyanathan_b_Page_133.tif fea63d0ba0dd9e753e094df03145036f 9e2d4b1d31f153b1f8a0d6288202302b5ea7ce1c F20101114_AABBYZ vaidyanathan_b_Page_116.tif 4537ec0ccae9cffdab63b4094b538dec 64efd69737a564b7bcce451be28c25fcaf0976cf 13397 F20101114_AABCFI vaidyanathan_b_Page_096.pro 2b22b82243cac1cff73753970c1e6fac 83a21053379124e71c50c4331d89fd548ec78586 52146 F20101114_AABCET vaidyanathan_b_Page_081.pro 45fd86dda75759b268cf15db8f4a4faa 105a59f5fcea5804e64ad3e6d5a0afd96d75e6d4 F20101114_AABBZO vaidyanathan_b_Page_134.tif 2006e331498065ddc7fceb4b8210ea8a c9a63cda5402f8520b382ae5fd3741a1fa1d33d1 10074 F20101114_AABCFJ vaidyanathan_b_Page_097.pro 1890a07773f9a21e0e5554837180e841 342bf47d16f5da2e2b47b283a7bb38615b0cbe2e 45142 F20101114_AABCEU vaidyanathan_b_Page_082.pro ae75e5a240d86a0728978d3462e63ec4 19b196828dd5d12cda1341e7b03602da415a9565 F20101114_AABBZP vaidyanathan_b_Page_135.tif 53425a1e118204afb0a478eaaeadbbeb 8bfd4b47c176c553b2933ba12237456a290a3584 7266 F20101114_AABCFK vaidyanathan_b_Page_098.pro 47b7d83cf7921c75face10eefedf3907 dc28f0ef13cd9a044f0e7368e2280d0ba26f8230 55395 F20101114_AABCEV vaidyanathan_b_Page_083.pro b796ed7f6ff156a80f974d61335c9bd8 0eedfe652a6ae07ca9c78f4508c6f6c961c0447a F20101114_AABBZQ vaidyanathan_b_Page_136.tif df5abde585868f662d0cfc3ea22fdd29 64e757ec2023bfa2b3cc17377658f34d5ffc76b5 52067 F20101114_AABCEW vaidyanathan_b_Page_084.pro ca14f76f63e493cff3fe07e490de0927 655e68fecd97c45df3dc28de9c7f474c72d60399 F20101114_AABBZR vaidyanathan_b_Page_137.tif 1d7f9c287d57c5e0e32bdf6dc87582dc 76e5c5ac2c2c803cb08fcb3de7c566e390e3a462 43582 F20101114_AABCGA vaidyanathan_b_Page_115.pro 3945b59f99ffb9d88ff0b196b8599ba1 6081c14335d7a3e17f6e327da3d9392697c0dadc 54963 F20101114_AABCFL vaidyanathan_b_Page_099.pro 609ed0c299661f40b043cd0b2539ef0d f988608321b610ea504ff56336181fadf0b59588 55299 F20101114_AABCEX vaidyanathan_b_Page_085.pro 9b716cf6bfa27119ad17a956ab9043e2 a10eccc99f27bebfee461b19ea2c86f729ab4887 F20101114_AABBZS vaidyanathan_b_Page_138.tif 917f7e6f0c5cea0ff868880c0c756d1a 706c8d539e521ac5fdacac3faa5fea54e13d4f70 53872 F20101114_AABCGB vaidyanathan_b_Page_116.pro 671df0f8df4c6975296c7b5e69b5062d 45559aeeee4dc4537958ea66803061abb2cf270c 54627 F20101114_AABCFM vaidyanathan_b_Page_100.pro 55c85ad7b3bbd04bd6458ed30724fac7 7c0832510b645c18427743a35e070e214a63e714 54315 F20101114_AABCEY vaidyanathan_b_Page_086.pro d92423cfb85b13d318cdb3b78c28ca3b 7ea70f58ace6dc39dca0275c7d16e10d69ea0782 F20101114_AABBZT vaidyanathan_b_Page_139.tif d1aceb924cf215ecc9bc8cd979efa4bc 60656a54647e9aec0f5a782b49d28129f9a107d9 57820 F20101114_AABCGC vaidyanathan_b_Page_117.pro dd4978494e93e1c2a04e5f437de77adc f83501987bbf95dbd34b1a81b77bed9f91076507 56490 F20101114_AABCFN vaidyanathan_b_Page_101.pro 608c7cf8424eb13cb4e2d8a144b6857a ab3e7f27259a4640b0933cadce8579eada7d4a44 51178 F20101114_AABCEZ vaidyanathan_b_Page_087.pro 302cac406ab328041da1c1cb71c52011 a7aafb6bad1df2d61a6b7872bf84c69dae72a817 F20101114_AABBZU vaidyanathan_b_Page_140.tif 601ad60b653761708e5bee0a118b51fc bdb916abaf8152bfa54279f8c583864f4fc82ef4 60513 F20101114_AABCGD vaidyanathan_b_Page_118.pro efc3167c2c2ef789d5e456d5218e2e68 7e209aaacce5a96bd518c468015492611facd533 57827 F20101114_AABCFO vaidyanathan_b_Page_102.pro 365afaefd91fa740f22d400b2c1b8703 211be7a6e7f8d5dd5316721c01f4c3bea5df6a9a F20101114_AABBZV vaidyanathan_b_Page_141.tif bc3752ad157797c990fc5aea6321ceda c32bfe48bff506db231b89a6a8391c577811a435 51739 F20101114_AABCGE vaidyanathan_b_Page_119.pro b7208588d510f2af70b6687613c754c9 c56d42253933b8082cd38e443fc5168074de9a70 56774 F20101114_AABCFP vaidyanathan_b_Page_103.pro f7a9651f409aba0912cfb8832aa27370 8696aa900a306faae0e1ac5597dc41605cc7b234 F20101114_AABBZW vaidyanathan_b_Page_142.tif ce4a49d4b9a9fc152d31c990c4d8d027 f713a385c711ec6a2084733c4ae94fc0499ef744 53781 F20101114_AABCGF vaidyanathan_b_Page_120.pro fd916ec6bcb1209de54173ad5ec62e13 fff9262700fd06d5f5388e2cfa369f387b81a5ce 55687 F20101114_AABCFQ vaidyanathan_b_Page_104.pro 88d42f7ff2799604067798dc6d1dda72 47271b1df7c88d6c54d102549384d13726b32777 F20101114_AABBZX vaidyanathan_b_Page_143.tif 9f6b897028a67fb4f7e76c74b889d060 c5a6fb5a7d7dccdeb8303c44be8c93ed0ce5d912 55235 F20101114_AABCGG vaidyanathan_b_Page_121.pro 3ca9accb662daa1c036e219e6a5ab265 528e913e18dd3798b16e39c45700c200b5a605ea 47794 F20101114_AABCFR vaidyanathan_b_Page_105.pro 9f7cacc2c2cc5ee8f5af0cd228db53e5 4d4f497e03a46cc915ad992f52e478c321323e1e F20101114_AABBZY vaidyanathan_b_Page_144.tif 7ee55672862fd23e9ddb6d95b761b5e5 c79cf39f49d551a2b4becdfaa6b747a31b6f5f0e 53299 F20101114_AABCGH vaidyanathan_b_Page_122.pro e514ec52c578a3023ae5bd2faed17c87 a61c20b9c435f6f84433e2efdb5a9ed1ecb7d6f1 43571 F20101114_AABCFS vaidyanathan_b_Page_106.pro 415a5797f2e467840cb64951f8bb860a 235dcfb663ef008eb207434a9e997a77bf18c1e4 54868 F20101114_AABCGI vaidyanathan_b_Page_123.pro 50670f08176c3d7e4064a598f416a1d4 f3daa296042e54bc6f4d397e9168a4cc14fdc890 56666 F20101114_AABCFT vaidyanathan_b_Page_107.pro 89bba15fffaf262a36bc44c776e99bd4 3007744fe301a374c8ea0b824009a819fd942e76 F20101114_AABBZZ vaidyanathan_b_Page_145.tif 1ea8ffaa925eea0dcd4b113280abdfd1 5ec6b9f46e38c43db9feb54cb6333e0c86461d05 36405 F20101114_AABCGJ vaidyanathan_b_Page_124.pro 02afcdeb94338a1c748665364a6e0f83 15e95808d6655eb77b877d43c9d7ece878e35156 53408 F20101114_AABCFU vaidyanathan_b_Page_108.pro 2c51ae345faf5b590f52cb1f762d062d d41fe2c5b1b1c3343df7d01906767ab90234c45f 42641 F20101114_AABCGK vaidyanathan_b_Page_125.pro 231ab600e053c1a6ce58ed6358b87d3a 1be0cb2ccdf40533a843519678b091d719174897 51779 F20101114_AABCFV vaidyanathan_b_Page_109.pro 379ee5c545694287187f2671310d1130 28a106f9b58d95840740c1810beda83492a732ef 51168 F20101114_AABCGL vaidyanathan_b_Page_126.pro 46721bc25b4b7ddfa58ae206ff9634ec b349674fe1b24d7afe150b2fab3ccdf288026f6f 51115 F20101114_AABCFW vaidyanathan_b_Page_110.pro 2a05600df4784a7347ebf69fc44c3a56 80d4092cdaf7d9e1502abeec268e081976599000 50409 F20101114_AABCFX vaidyanathan_b_Page_112.pro d6cf1b5a0d72e905573ff295f05fc3cf 7686df1e3788b85a389dd3e57dcadac5daa56b79 19678 F20101114_AABCHA vaidyanathan_b_Page_141.pro 88254b43adac2775b42621b94b0769da 45d1c94c889405c1108122d734830398fe4d31b2 71396 F20101114_AABCGM vaidyanathan_b_Page_127.pro 85ff88c1c2647a98c6d062032a992003 5c81a8fb0ca0036925fe24858f0b2a726086fc78 37372 F20101114_AABCFY vaidyanathan_b_Page_113.pro 73bad843350cc8387180c94fda63e4b2 c05018f86d1ec13fc5a459f1f32bf1ebe72010c3 3132 F20101114_AABCHB vaidyanathan_b_Page_142.pro 9b0eddf06b54043d19e4cd358d01bf4f ba87b116a39199df97d9a508cd89b8a16b9df48c 52856 F20101114_AABCGN vaidyanathan_b_Page_128.pro dafd29341d73376c15aa3264509ef9a4 35ee7bb701e3056ee62bdca4293f81f07193172a 39448 F20101114_AABCFZ vaidyanathan_b_Page_114.pro 973d5b461ab89c84baafe9f0bc608d5b 59ee96883ef69c5e3f45b96640dc44abbf559a0a 11811 F20101114_AABCHC vaidyanathan_b_Page_143.pro 9568808216b837fbce11d989bdecef82 b616c9c5fd05e6f8e0abec506611dbfaef405c6e 47257 F20101114_AABCGO vaidyanathan_b_Page_129.pro 004420abcb61b906015f56dfb703716a 0366cb32ec4366a6fab55ed7aff99337b61bcae9 5277 F20101114_AABCHD vaidyanathan_b_Page_144.pro 5f74fe9e5e592d5b2cc49dd52a2c0879 6b7967481a3678293fac3e8c3912862024c5b115 48868 F20101114_AABCGP vaidyanathan_b_Page_130.pro 0a171fe2868f3f68545277180543470a aaaf265bd96a63640d3e17e7696477fd872588a4 53761 F20101114_AABCHE vaidyanathan_b_Page_145.pro 60f0bb49da13493dd160f1b72c3f2a80 00541dbac997192435022a51c9db6d162194ead2 58152 F20101114_AABCGQ vaidyanathan_b_Page_131.pro bafc5a19064de82b7faab0fbdd582508 d6dc270ad385a47dc8d874dc111e502897c953a0 52850 F20101114_AABCHF vaidyanathan_b_Page_146.pro d62e131b62ef4ef71a9e551a68cabc00 c60251da5c78db4341bc17070b360cc418abdb74 56972 F20101114_AABCGR vaidyanathan_b_Page_132.pro 81e50cacfb54bc0fe31364c10624bc73 c1ad131c750ca6209a4d5f9b6047366873be552f 54870 F20101114_AABCHG vaidyanathan_b_Page_147.pro 102d6aedb7946c8b87540fcdb842471b 5f6802164ca9ad26c317940923759291d07a2fe9 54981 F20101114_AABCGS vaidyanathan_b_Page_133.pro d0d470c02a6ef7011ec8cb77894d30a9 7e2ce27204669bd7a0ac05712410b8a5a6f8866e 55169 F20101114_AABCHH vaidyanathan_b_Page_148.pro c8c2e697a06a2532078b45f16ef9c692 00276a8003c8948eb8c1b215ca294c5e12653e0c 6222 F20101114_AABCGT vaidyanathan_b_Page_134.pro 607515bf03f1cd4cf5f346671ad73d60 3435ae36d7d240421760d99cc3a9f64fa121ec64 53182 F20101114_AABCHI vaidyanathan_b_Page_149.pro 0bc44c8bd2890241aa43362b04107c4b 771244f2b660d0aa0e2bc493a903fa3580bc8c50 43388 F20101114_AABCGU vaidyanathan_b_Page_135.pro 00d5cc82d5d2c33c1297b2cf9547a8a1 c8118b9f978ca4bdccf4a0abd9ce0448714fff09 44676 F20101114_AABCHJ vaidyanathan_b_Page_150.pro 314859223f78beb68bc279a595892bbc 5ce2849dadedd20bc4f624029f71daad93576a2a 14643 F20101114_AABCGV vaidyanathan_b_Page_136.pro 23fc75a3b751915befa703a5b8deb904 4393ff482bf23e0f33762031c4a71b08b413dd15 43270 F20101114_AABCHK vaidyanathan_b_Page_151.pro 7a720ea25584f4405f7f16235db879ad 398ed8def1e3e0c038b9e2434f58f8956a676235 38416 F20101114_AABCHL vaidyanathan_b_Page_152.pro 786a041fddeb0fa9e3422e1bf5d43cde cda6cb830f08ee351b47e2a06982cffe4361db11 16499 F20101114_AABCGW vaidyanathan_b_Page_137.pro 0f82841dcb9f15a3f3b507444984d165 171ec0ec02e509cec16f4645512a2e2b3ee50b32 53275 F20101114_AABCIA vaidyanathan_b_Page_167.pro b066743968b3670080ff3be5a603e74e 0a8133799f286d4dffd805e7444a250dcefbf63f 55238 F20101114_AABCHM vaidyanathan_b_Page_153.pro f9c15bd6afeb392889c68b3d7afa314f 1c6b383e221257bb33da74220ef294c6e987ea67 14556 F20101114_AABCGX vaidyanathan_b_Page_138.pro 75bfec6876dfad699320fa9208ac054b 1e4f0e1d9e2acd03c51da25129841a4f5593e27c 53749 F20101114_AABCIB vaidyanathan_b_Page_168.pro f587e70801a5b8e43f97224661e11a8c 3d6a4a16979fab60c8257f2096bdf81cafdf77e1 16807 F20101114_AABCGY vaidyanathan_b_Page_139.pro 067271a5650e893ef4b54c439e2ef48d f180c08e3f871818e133b653d04746b2cd92ba72 F20101114_AABBFA vaidyanathan_b_Page_001.tif 915a64c3bdeb1eda0b97e8af17be57ab 8f3c72d08b0760e7ff10b1bdbd22935ba70be804 51658 F20101114_AABCIC vaidyanathan_b_Page_169.pro c89595709324059827ee5bf9e05e6822 6431a885df9c8889526b64ad8844c9fde4d347ed 53514 F20101114_AABCHN vaidyanathan_b_Page_154.pro a3a05faa389d9f56ec16fecffe3580ef e7352797a94c4f5285edbd97053584aafa572749 F20101114_AABCGZ vaidyanathan_b_Page_140.pro 72308ca36c57947339b2ffe0025e47af e0517e364a8b637bc13e7c476df5ca000aae0d0c 23949 F20101114_AABBFB vaidyanathan_b_Page_066.QC.jpg a8ea2b0d79c4182a9ec172eb9780fbac 6e8f4c2204d6588a204491b634627be759374b11 55892 F20101114_AABCID vaidyanathan_b_Page_170.pro ce0ef4ea94cec247e4868453e0d95219 2f387f16a980437f8d263fe55ed5eedf72f50dff 57595 F20101114_AABCHO vaidyanathan_b_Page_155.pro 2e84be38c622a722b6d9bb445e667a65 733d111d5165e2a676c80f3d11417d87b736654b F20101114_AABBFC vaidyanathan_b_Page_182.tif 67181413597a3741b55a3c4491faa8a9 640810d49065182d85de9e359c58f4440c56bf07 55054 F20101114_AABCIE vaidyanathan_b_Page_171.pro 7a98caceb984ab04eb4843d503c51f20 dbdeeb9c1f6331d55a29769988d463eaa6d537ea 36410 F20101114_AABCHP vaidyanathan_b_Page_156.pro 2794bb5f94c8e008883716209bb6f15c 6c79e46aed3608d7eb7857de3cc7628d5ef056c7 1053 F20101114_AABBFD vaidyanathan_b_Page_180.txt 8bd33df2f5636ce41827806567ab6fba 572da40ff80d1aec9cbc9557d6239718112a502c F20101114_AABCIF vaidyanathan_b_Page_172.pro 85ecaa6c48629f47d144f69294b6951b cc9959382a224731898c8d2b5360b72419d1f2b2 44450 F20101114_AABCHQ vaidyanathan_b_Page_157.pro 9b0a64501d338c294fc058f1c14e0b8e 92bbe8b28e0ac6a58562f8fe05887ace3951032c 94203 F20101114_AABBFE vaidyanathan_b_Page_151.jp2 c94a2a99a9e78c7c7fbea255ab1de76d 28f4743baa4c8d3ccabbab3f78a52409e31ffe2c 47007 F20101114_AABCIG vaidyanathan_b_Page_173.pro 335ececc5ec6f8413f6994e5dca94cf6 d05313c1499319ac551cdccc76055cfff0be1a11 54430 F20101114_AABCHR vaidyanathan_b_Page_158.pro 6878e4ce79e4cd07ec99fbcfa36b530d babd2ad49d18baba8efddae49b0c393015de4642 104121 F20101114_AABBFF vaidyanathan_b_Page_130.jp2 6eb917f9806736184c8e8b7e88ee211a 14b474ad299927e86b90f3dde87a8c399015b22c 54856 F20101114_AABCIH vaidyanathan_b_Page_174.pro 0f969773806dd06273d1a90e37ce9da2 164cd300f2a9832188d7483522e91e52c3b445cb 50906 F20101114_AABCHS vaidyanathan_b_Page_159.pro 3e6d0b55a2daac759d77f253bbe693ee ef93723a71226bd33ea05fa94c9103ea0dd37a1a 112376 F20101114_AABBFG vaidyanathan_b_Page_149.jp2 f9580d6d00e2c7bb31dc321ec2d521e5 f9555cfed642600fa287c0d0073c02c9a6cee61e 56909 F20101114_AABCII vaidyanathan_b_Page_175.pro 7f0baf7e50584dbd6485e2fb113900df 0af8108b19eaf52020f698cc914c8c4bc0f68b2f 53532 F20101114_AABCHT vaidyanathan_b_Page_160.pro 2d99f0910d924f45f281e8d249ce5041 a21190c006f34cf0d34c15a2dd34dffd52a0090e 6800 F20101114_AABBFH vaidyanathan_b_Page_120thm.jpg 98728b8e27c1653c0f38164cff5bdc14 2bcf2cb0f6cb4d26b3eb523c773a084f5c26b89f 54670 F20101114_AABCIJ vaidyanathan_b_Page_176.pro 9b416ed3229165eccde6d5db1451021b 6c56b54c301033b392600063b1e2786a3e8e3a47 54413 F20101114_AABCHU vaidyanathan_b_Page_161.pro 7f44a5750ee990521df30e13ccee34f1 2393333c6301da42bbaf0c020650984b02e53e9f 4624 F20101114_AABBFI vaidyanathan_b_Page_093thm.jpg 64dac4dd890a28232fe03bf5832c36c8 a5a6601aa0bb0ab6e817bca2985a06db17bdb5b4 53274 F20101114_AABCIK vaidyanathan_b_Page_177.pro e6880f1ffab40569a5b4646613ad9e50 9d72a294fd4c891d9927f8ec950a397981ee0e95 52656 F20101114_AABCHV vaidyanathan_b_Page_162.pro 197e7a685d8603971e10bcea656f9830 348194468f94b7396369f0384d5d63b9ff88301a 50344 F20101114_AABBFJ vaidyanathan_b_Page_093.jpg 081eb72f5b8adb3fc300fe737a19dda2 d28dda5d3df0623d0dc2c2fafc2412e8f7ce3edd 55470 F20101114_AABCIL vaidyanathan_b_Page_178.pro 6aa6928a09843c46c8999b56e6be2852 baa31c1d78ac5372480e6d268e3e697836939d76 41102 F20101114_AABCHW vaidyanathan_b_Page_163.pro 151785f83d88230a8d8c54f0f349f2a6 32e4c2806a07e410922c665ac90a65758cd67268 F20101114_AABBFK vaidyanathan_b_Page_039.tif 107fccc609cd84dd68e54f5f614a19ce f006dc27b9171467a196c7a813eaa0afddc9d689 35519 F20101114_AABCIM vaidyanathan_b_Page_179.pro 200afd8ce7141e94573a38fb9e9e58fd 054ca941613f3dc50eb70a4f5517a0e1870f291c 252 F20101114_AABBEV vaidyanathan_b_Page_134.txt 7b2dbef6ca1088f78a80f71e1be5e088 c8303eb0f9d68270f8456f5f168f75f882f4e483 54016 F20101114_AABCHX vaidyanathan_b_Page_164.pro 6ea4d52a85017eab49d69da156af8763 7f3b37c70ed2fab6b76553128d809baa066916c1 96 F20101114_AABCJA vaidyanathan_b_Page_002.txt c17fe9c27cc46754552c8bb8460949b9 8f41609d9d13320f4eca8ad0dbeb2640b846b165 80 F20101114_AABCJB vaidyanathan_b_Page_003.txt dc77786b5c1717680485a503fcd825e0 a72f5bf28ffda001d0ca8e46418fa440af4a57c9 7099 F20101114_AABBFL vaidyanathan_b_Page_178thm.jpg 6f8845f498822d84eddec550b7ce721a 8388b3848374f7c59b3d3a12ce03b379c785dce5 26945 F20101114_AABCIN vaidyanathan_b_Page_180.pro 7518a6cdaee8ca81d0a667dac27f12d3 ff980728f9a51eb4379714ac42664940c6787959 6941 F20101114_AABBEW vaidyanathan_b_Page_175thm.jpg 1d46512beab1e690661683657cdfb12e a9f7b6a18caff7344caa635f787510e5f4d7f953 53294 F20101114_AABCHY vaidyanathan_b_Page_165.pro 63d5507761264ffcb34bdabc6149fcb2 2513e11f4837123b80b6c41513dd35b0ced7b3a9 1374 F20101114_AABCJC vaidyanathan_b_Page_004.txt e85b6f2045e29805d53756a7945e1cd7 5db88bb158a9baa633a63a9b7b6da15d62a2184d 6494 F20101114_AABBEX vaidyanathan_b_Page_047thm.jpg a8814ad88d655559e45944aecd44816f 376114ad2766362bf19c8178263ee524216cf0d7 52357 F20101114_AABCHZ vaidyanathan_b_Page_166.pro 1222c4e9e62a945db69888b6ad7158a8 ff3e00a8cee7f4ddbd746f4a5364970e545e64b8 4426 F20101114_AABBGA vaidyanathan_b_Page_003.jp2 26c9cd99843bf6b7b84387cca28d9533 9ab6e3a2c3698d1ad084d4debeef342bb1852d0c 3218 F20101114_AABCJD vaidyanathan_b_Page_005.txt 9d7261600c394fe4a52b86727ad83106 631de1ccbdd90c0a6ba03339eb34e82d97cd4f86 23422 F20101114_AABBFM vaidyanathan_b_Page_088.QC.jpg 1ba01bda6b618f1fa8fc5dd4d6ab7261 f7d37415c7d06146013c80f9fbe62b691c157115 8292 F20101114_AABCIO vaidyanathan_b_Page_181.pro f1ab03d0c86d6fb09e7e3a315998bfa1 093e357e88874f55051bdf49b7abbb687031563b 24433 F20101114_AABBEY vaidyanathan_b_Page_042.QC.jpg 1ca2abbeaad02f232c1c772633de5186 c7a2563065250ce10ce20a75e9b499cff09eb408 77901 F20101114_AABBGB vaidyanathan_b_Page_062.jpg b9b01b50568837ff9c44321654b52cfe 6aabd012cc176d7fdfccf62dc64d16f7670fee31 4091 F20101114_AABCJE vaidyanathan_b_Page_006.txt 13b7c4ed56c49d40bd181ae2ab8a9c99 8fd17c39cd2079d421d6b9008e25586db37801e3 51478 F20101114_AABBFN vaidyanathan_b_Page_032.jp2 e707cbc6e1ba13260daed9eee4586ac1 fa591ffb55e3461325dc241d72f04174b93d4008 6713 F20101114_AABCIP vaidyanathan_b_Page_182.pro b073626380000e4a7697ba8ba41730e0 50052ff039690ef417b0c2d62a7934b2e47dcad8 14377 F20101114_AABBEZ vaidyanathan_b_Page_058.QC.jpg 7b04217b79dfefabe49418dd8e511ab5 8cd6207234fa20bb4ef4f8f16c9f450a14d1e946 F20101114_AABBGC vaidyanathan_b_Page_022.tif 900e3b7c71acf14f449b67dc58001664 db2e7ef4e0ed44bfc967c0f4c1b2abb1aee6ab5b 890 F20101114_AABCJF vaidyanathan_b_Page_007.txt 59deaef5e841393148e279250dd9248f ded5a62c5325651c96d2dd9dc869a233bfe715d3 69075 F20101114_AABBFO vaidyanathan_b_Page_129.jpg 3a9a79e7afad5431ea2b23eeecbd1e8c 4760e0ee41d9e023591ccad825a5b56a0266420f 59599 F20101114_AABCIQ vaidyanathan_b_Page_183.pro 83b6e3b03f287df8c1f1b70ce1df1d77 77c5ba431e56f8df47d04124d01c53b5d2622f08 52313 F20101114_AABBGD vaidyanathan_b_Page_111.pro 7fe589d7a180b531461b72eeca0a13e6 d2b7b01054caceb5919ba82f6938d533e1134f53 1961 F20101114_AABCJG vaidyanathan_b_Page_008.txt d6f116e628ef62cd49a49db77f86063b 9e3ed0bfee264907dd71f722e55a1645e55d5aef F20101114_AABBFP vaidyanathan_b_Page_122.tif 03faa79ccc8e3e36433e7c9032c16e2d 3e23afdac38653b8fdef8773450e4bdadb804948 59156 F20101114_AABCIR vaidyanathan_b_Page_184.pro a0bd1cf6684399f1e85aad240f7f3680 34c90a3441129cca2d119a65283ef556c17bf4cd F20101114_AABBGE vaidyanathan_b_Page_126.tif 3e517b8ea4ab8d2bf87b6a6dafac03c0 34c4a872cfac28158f28dbc27b15efb7132c6393 F20101114_AABCJH vaidyanathan_b_Page_009.txt 75d6031643823e9c0296654a3bad3402 9cb0c67d651496b6e38d4dd14a8151a95c33028f 296001 F20101114_AABBFQ vaidyanathan_b_Page_060.jp2 2a58817cfcd116f1819012010f705ec0 2f1f96039cd1f8fb72d0f95d5c8b20715d174a3a 62994 F20101114_AABCIS vaidyanathan_b_Page_185.pro c26fe8fe8c8267550fa5260e9257d2be 7baebfbbeb4c682825581f5f87674b17d8e748fb 38928 F20101114_AABBGF vaidyanathan_b_Page_073.pro 1c54e9870e9373f8cc84fa93c5ed3953 39e2f463a6d18aa98e00f9143b68a608b0dbfe40 422 F20101114_AABCJI vaidyanathan_b_Page_010.txt 28b6f1f04b7ecc8ae12ac509226decff 266d769db82715881b944126244b8f64a0a35e81 85749 F20101114_AABBFR vaidyanathan_b_Page_183.jpg e85f0390e30208dcb6befdd34f2d1894 26db6c7a2acf35ea360052cfea7aa772565faa67 58022 F20101114_AABCIT vaidyanathan_b_Page_186.pro 4cec0dde024a3f652f91619acf5e8625 0be74c47105cb1a3d539bb96f381c40729887806 F20101114_AABBGG vaidyanathan_b_Page_044.tif d5e6c9ab7db9bb8efadea9173e6fd710 f5e027181ed108b0d7eedf43dc273b574848737f 2076 F20101114_AABCJJ vaidyanathan_b_Page_011.txt 29dd610a6241c9fe5d6e8f98c85afb85 d1a976313af457d64a627d27f019354f7d704dc8 77124 F20101114_AABBFS vaidyanathan_b_Page_168.jpg 6883151b8e85ea8f5f2c2699983e2ffc ba606242869da2ef403b3e07f54695df4034f03c 61002 F20101114_AABCIU vaidyanathan_b_Page_187.pro 84b3e5a4a7695606492ceae895a49f52 dba9966d87b68a676ea512358f87b4d6f2341b3c 70447 F20101114_AABBGH vaidyanathan_b_Page_063.pro af8900cec7dcdeee6c7a99375c63cc77 1ed2e9180ea68e2559a5b38ebc4265be08f4b597 764 F20101114_AABCJK vaidyanathan_b_Page_012.txt 2b0f7e9e7737f57d767fdbd865bd7065 f3f4db923b50fc9403ccd88b44bf02b54c561c1d 6937 F20101114_AABBFT vaidyanathan_b_Page_022thm.jpg a23fe50b37a12c80f6b56f715c580373 aaf4ab239f1022a43a11ffab10b4cdb09f2e659e 59422 F20101114_AABCIV vaidyanathan_b_Page_188.pro f8b91df1425bac4564c34cce87a9ca69 ab2ed803c1998a7d9fa7917ba4574fc56cae28e9 14345 F20101114_AABBGI vaidyanathan_b_Page_094.QC.jpg e1a400199d565c9e25b8e95a2d6fcb96 dcc6bb2fc4047b807ffdf3131418af50b1907ac3 2221 F20101114_AABCJL vaidyanathan_b_Page_013.txt 44b4f015e855f3eedcbceb0df9be87ca 85afbc0625632d8223d975d22e40eefdfa5734e4 26099 F20101114_AABBFU vaidyanathan_b_Page_019.QC.jpg f8b5d4af668f64b58ff99f07c5be937f f47cd6d09a1e8ec3d9af09b5cb6143a6fa6efb99 59659 F20101114_AABCIW vaidyanathan_b_Page_189.pro c45b044ff08c1ab338701cb570304db2 14fe17cc587b3d604b8f7caed63f55e632d14da4 292478 F20101114_AABBGJ UFE0021180_00001.xml f9738f40ea9877a18d234fcab67eb0c1 5ecdaa3e9d398c4014bbd6a686e0ab3ae112577f 2199 F20101114_AABCKA vaidyanathan_b_Page_028.txt f6724505110e13744e426225f7a655f6 b537ebe875449ac187ec990273fd6222c02a95ba 2089 F20101114_AABCJM vaidyanathan_b_Page_014.txt c020b50b735cb0d4d1128eb5d37e2520 b33585762a6d45fcdc354ed43a7e042e33f2facb F20101114_AABBFV vaidyanathan_b_Page_162.txt 2b985dbfb1c24fc2a664e00cb70e2218 60715054df5d9d0e47646568da6043b8352655b3 4309 F20101114_AABCIX vaidyanathan_b_Page_190.pro d527983bec4c2710b28616b1c15dfe80 ed4bbbdca4d0181c2de5c12034916a8d6dcdf786 2206 F20101114_AABCKB vaidyanathan_b_Page_029.txt b0fc6e8f0b39329e5ca0069b0dfa4f24 8fccc80a06216f3fa6d894c72fd4d2f2b8cd7296 785 F20101114_AABCJN vaidyanathan_b_Page_015.txt 5b75d0ff539ddbd77b45fa5acf995651 356bc84dc05db1b347d50d08183cdf44ddcf9232 F20101114_AABBFW vaidyanathan_b_Page_135thm.jpg 109acd46ab0aefc301ea81873e685e9e 26689cda723c035e591efc60f0144a482bfa414a F20101114_AABCIY vaidyanathan_b_Page_191.pro b45ee034afb067e9aadbb481fe09824a aaed2891d753914100abb7f24e309dd3e0e9ac4b 2272 F20101114_AABCKC vaidyanathan_b_Page_030.txt 96978ea2451debb27e25ddcd3e2a91a4 35058521573f6575d69490bc36e841a2f9ab95ee F20101114_AABCJO vaidyanathan_b_Page_016.txt 7d7bea4a8752748309efefedbbebc5a6 694b453175b064f1df72770f23fa7d70a72e78ef 77458 F20101114_AABBFX vaidyanathan_b_Page_041.jpg 342d89ade66aead6d8be403dabf324c7 b701dc276af8f6ac851e9eb67217ea71921b5ca6 481 F20101114_AABCIZ vaidyanathan_b_Page_001.txt 5fb6abbd81244dad46d629fef261e63a 831f9989c1441381bbd268a824d014c58032ec2b 33649 F20101114_AABBHA vaidyanathan_b_Page_015.jpg b3fe4b7cff3714fe94973804b13e7e6f a007846c858f4a047cc4ffec4ae936c43af8f4a3 24714 F20101114_AABBGM vaidyanathan_b_Page_001.jpg c0ef56a473309f2141a1fed8b88bb79e a8e233dc363bbcb4f3b51bf5e3ab12e8c4813c91 1738 F20101114_AABCKD vaidyanathan_b_Page_031.txt ac1e1cf2c1ac82fa0ba85c39d3b6c130 4e1950459ab1516639f08b82fbe97f75b99bcf24 669 F20101114_AABBFY vaidyanathan_b_Page_136.txt 8006a37b75e3caf8eeaa30cc29dcbbcb d15eb34004e200cca31767179065887b8b1a4736 75286 F20101114_AABBHB vaidyanathan_b_Page_016.jpg 9e6a7a68aa780fae1bcc12f501ec7154 a050908ba9f302219107e5a0a7f0dd2b084a9a94 1030 F20101114_AABCKE vaidyanathan_b_Page_032.txt 9001e657d474e099ee9cc00fd035c138 366883c337369671e1cdd9af8026f0cc92268ee5 2175 F20101114_AABCJP vaidyanathan_b_Page_017.txt 732144031fe9209e7a85358070fb6bc6 530ee94d11e08968ac4d6a51f9b81be72d61ec20 F20101114_AABBFZ vaidyanathan_b_Page_130.tif a18760afc75b5fba66d9067403e438a8 2452dae511fe14564997bef6b430e63a04cc6de6 77571 F20101114_AABBHC vaidyanathan_b_Page_017.jpg 8f472828f189eac919b78c776ae90079 5019ea20e1b6674cf66e0b6e8be3405ae67ab115 10342 F20101114_AABBGN vaidyanathan_b_Page_002.jpg 9b1d426d11a29bbf790a308a2225b671 9c5bf0eaff6e3a452b76b0d55ce9e3f55a0fc2c6 1474 F20101114_AABCKF vaidyanathan_b_Page_033.txt 86999f092709de6766a203524927c9d8 1304e2080a98ed2850b645ea63ce2d7755db8082 2208 F20101114_AABCJQ vaidyanathan_b_Page_018.txt a19031f9049a7d28be3ba9fd5d16c94d 12bba14f96792a7cd2f6d27b87f8d5150ad50f0a 79607 F20101114_AABBHD vaidyanathan_b_Page_018.jpg 9455c38c4e86ae9e38a72b0b242ccf6f 1ffb201b373cad40e55c8588388b5d84dc986d21 9456 F20101114_AABBGO vaidyanathan_b_Page_003.jpg f95aa478a59b39da5dbd625d1e93e568 cec82597df1abe522eda8000dc5fcd1c23f416b1 2069 F20101114_AABCKG vaidyanathan_b_Page_034.txt fb58ef2f2c7cf493427cea9129b7bf8c c546f716285920410f132b2a0ccedf556a4e168b 2184 F20101114_AABCJR vaidyanathan_b_Page_019.txt 60fbedc8be78a9258014a7c6fb3d4b9c 3c3c84eb36567d69fbe7f1d8964442ca129436e2 78772 F20101114_AABBHE vaidyanathan_b_Page_019.jpg 5ba32e7fa488755a08244c3f517d7f1d 6c4a3bb386e428fc2fe09d206d06233479dbda16 53578 F20101114_AABBGP vaidyanathan_b_Page_004.jpg df4342df3ade4b79712bda7152551b07 9f81901e169730236a3efe3fe0451345d4c808e6 F20101114_AABCKH vaidyanathan_b_Page_035.txt 8e0c54f059545e23f4dc721108650ee1 bc0e327a0647d40d58e082fa4e46278cae424c3e 2074 F20101114_AABCJS vaidyanathan_b_Page_020.txt cd53deec903510a628bee72f9405d9ad f3c311f7ed4fee9e43a13907d2fdae6edf194d38 76391 F20101114_AABBHF vaidyanathan_b_Page_020.jpg 24dfb3c2968d40a174d6e0a0edde67f1 0f74ef4b5c3dbfbb72bf9cff24856f91ad30c9b7 87239 F20101114_AABBGQ vaidyanathan_b_Page_005.jpg e706db0731f2a0d61ed7720498d585db cf2c79b60309ed418b51197e0ff5fd51b1d66ba6 1986 F20101114_AABCKI vaidyanathan_b_Page_036.txt db018e46a8dbdfb3f0149fc9d96c1272 8566cd03fc86d63b39a21b952f3e26051b87204a 2845 F20101114_AABCJT vaidyanathan_b_Page_021.txt 78e8310b6d0caad4aeadb8592857e337 b76f8891d622f9046f419013396e2dae9933d4bc 94120 F20101114_AABBHG vaidyanathan_b_Page_021.jpg 8ad7a4b348c6bb4ef762cc91e31e557a c335c762672bd7443fe15f0ed749972dc00ef1ba 109419 F20101114_AABBGR vaidyanathan_b_Page_006.jpg 25e793f4b4bee3946b9d6090ca8f8d0e 886ba6ac3d6c95e5e7b53eea634fbdb8b9ab07cd 2257 F20101114_AABCKJ vaidyanathan_b_Page_037.txt 257875661ac746d54ddf6e330c33e412 8d4c02e16de4725a48124eecaa5c536e3ee4b0a0 2493 F20101114_AABCJU vaidyanathan_b_Page_022.txt bae2025a449bb584a912e4387adfe113 967c7c91b9f9942a2109c5c5c30ac013ab0d1bc2 87109 F20101114_AABBHH vaidyanathan_b_Page_022.jpg 5bc9f503ff412ea114ea3a1fe1f6d119 e01a700e0ab80b70724b8b3883cf5e039df4f962 30378 F20101114_AABBGS vaidyanathan_b_Page_007.jpg 7d9a76a838ed48b24d444bd800dd548c ea2be2797f19045aaf4a40c0c766e0fcae2be249 2664 F20101114_AABCKK vaidyanathan_b_Page_038.txt 705f43937d79c7b44ea0242654e337a1 777b94bc05a6ca78ffeca90d5237026ad4dadc8a 2191 F20101114_AABCJV vaidyanathan_b_Page_023.txt f1035401eccbc1eda7f5f8e0c9fa09cb 4f7b04d4bec9b2fd8b86d5261785dafff38d0058 76260 F20101114_AABBHI vaidyanathan_b_Page_023.jpg db98a34c58dd831647bcb12d98316899 0462cb32c143667f8e07325be80ed7f4d97fbc96 59222 F20101114_AABBGT vaidyanathan_b_Page_008.jpg e3af9614aa29076e5e8b6ca475499e4d 14bdde03719e25790608d5b47ec83b1402d63e8e F20101114_AABCKL vaidyanathan_b_Page_039.txt 58b63f4682a425552646b18d40ad61e4 db45664f055c3eb0dd30050479546922f0418fd6 2139 F20101114_AABCJW vaidyanathan_b_Page_024.txt a1647f9c0d95e25664e683e0493a9f7f c1e447fc49d818438de55873ec650a34b92b7088 75742 F20101114_AABBHJ vaidyanathan_b_Page_024.jpg 240b0d13e5ca741507eae3db02e4c946 549276f0751c50f4086e4a9b8137e67feff44237 75762 F20101114_AABBGU vaidyanathan_b_Page_009.jpg 551de7048aa18312e688e50c7ae4f2f2 908df3c50233341c46a1df673d8f7f4a1aea86e0 F20101114_AABCLA vaidyanathan_b_Page_054.txt 4ceac2d10aa34e8c0a39d3dc3c07dfca f4030eb31e6f1ef0c017c45b133974dd8a49931f F20101114_AABCKM vaidyanathan_b_Page_040.txt 239ade54777ed6e5142d56f5ed9460b3 ace9a6df064aa99256bf1a1cc9aafc504ae41d60 2008 F20101114_AABCJX vaidyanathan_b_Page_025.txt cdc00a4ce06fec48eb761a914e2a0b89 27ad863256f11cd89412526c34f104000994de7a 70648 F20101114_AABBHK vaidyanathan_b_Page_025.jpg 3bc3695304630cc26642b29d2a484b96 033dc2df53f444fb3f8aa287b73168c45452adfa 18375 F20101114_AABBGV vaidyanathan_b_Page_010.jpg a1c96d7b1a4e1fab42ae0db483610bdd 94414c1549303f19bbe3374ae04d863af35708c6 1585 F20101114_AABCLB vaidyanathan_b_Page_055.txt e7ed4ed9bbc2432381d02ce893b63e21 ba8e6c456388f048353fa7717dbcdab0082653dc F20101114_AABCKN vaidyanathan_b_Page_041.txt 9c525ed8498edd68f9bf9f8e486150b8 6ead8440edde833b6dd77871393f17c7dbc3e790 2368 F20101114_AABCJY vaidyanathan_b_Page_026.txt 008537d59993179885837c5ac9a01ab5 43a44c523f03a0656b1244d740cbda6601e13ac5 80724 F20101114_AABBHL vaidyanathan_b_Page_026.jpg 6925e8714f5c9ac4037cb53e40b9cea7 0966d21c64b65b45aafd3b2fb486725c11a914eb 72009 F20101114_AABBGW vaidyanathan_b_Page_011.jpg 1d57bf9213d3e27995e55e99c79d5725 700a0d8ca7734ac79f4bd4e35ee6ff169768bf56 438 F20101114_AABCLC vaidyanathan_b_Page_056.txt e95d6fb0318a58591155dd2eb60389cc 0ecd148d8ac598202d656f13e843dec1d158e769 2084 F20101114_AABCKO vaidyanathan_b_Page_042.txt 412ae06f54f57db71f843b94275454cc ec9a937790f1ed7895090bd1b729d3148b30f516 2481 F20101114_AABCJZ vaidyanathan_b_Page_027.txt 7517665e224bf0d5efd810560fc7ab2c e1c3ef886fbde44979f0adf0d562bbc2cc39e9b2 73029 F20101114_AABBIA vaidyanathan_b_Page_042.jpg cb4b1a12dcbad8cfd22a49fcc1fe7670 9af5458f8f2990af1a66cadf6dc8c0ef86f4e43e 82221 F20101114_AABBHM vaidyanathan_b_Page_027.jpg 35621b84b341eb755d5c2a1f8acefcbb 36b2aa347a61c1fd50e4996971a21224d03c3bd0 33754 F20101114_AABBGX vaidyanathan_b_Page_012.jpg da0b4029236c9e134045d9c071ba9550 41a47abd89eb8cd2877affb85fa6ff42dd440fb3 273 F20101114_AABCLD vaidyanathan_b_Page_057.txt dd650198b0730915ce2f5fb054a38975 161db7f4ad3bd71074da97b564e88eae682e6067 1882 F20101114_AABCKP vaidyanathan_b_Page_043.txt dcb21952c7e7c436bf1d37cc622796be aa496b741a401de634b6ea76ff275a267144a51c 67888 F20101114_AABBIB vaidyanathan_b_Page_043.jpg e88f1122bffb9475b3a9b7b54e52e36b 06ee064b5304e6a946679599fd3761be65d6f0e0 75136 F20101114_AABBHN vaidyanathan_b_Page_028.jpg c8fe10bbf459f927badcfc9bf7e12c31 f9716cc4e5e939978843fd3fabac1f1e78a7b748 78131 F20101114_AABBGY vaidyanathan_b_Page_013.jpg 0a884d37d94dac559c2f836399390202 dcfbc306dc8c76baae5d5abb19de71dee7b72130 384 F20101114_AABCLE vaidyanathan_b_Page_058.txt 73fe43bd9971e999b8ab73da192885e4 a49c3e77db889881867267a5aa20aa2a1ce8341d 76302 F20101114_AABBIC vaidyanathan_b_Page_044.jpg f825eda1dc8aba91883640ac732a2c72 3477e9d4f8ff2024e16e8d45c2cc1ac556121447 75966 F20101114_AABBGZ vaidyanathan_b_Page_014.jpg 75d5383e4eb197f1db6290ac0fcf50b9 c241c4d8b05745ed6d3718399bf28152914b3eff 608 F20101114_AABCLF vaidyanathan_b_Page_059.txt dd6a3b71f545d1695fd3e227dd62debb 8013afe48eba119f7942ae4f7476566024236299 F20101114_AABCKQ vaidyanathan_b_Page_044.txt 744f4019a0d8f38d6bf1bdcc1a6cbe6e 8b8f1587c3817f9c05928649a8f06f001ce8f7fe 73346 F20101114_AABBID vaidyanathan_b_Page_045.jpg 00804302dd05d6fd99dba31d4a47f379 c0083705eac589d444a57c53a1b9f9b3232ec030 76995 F20101114_AABBHO vaidyanathan_b_Page_029.jpg 80629f1e0d702f2d21a6a270b8b092e2 176b0583c56b7031e5b16be0dd4c3ffc4a0a5892 261 F20101114_AABCLG vaidyanathan_b_Page_060.txt 82f63bcdf2f10b93e64aca29313e383d 3832d8b69a6dc8f8e5bb1622b681fc2bbb332962 2037 F20101114_AABCKR vaidyanathan_b_Page_045.txt 13bf96bbdb7dfb3dee378b9394286d0d 80afc3a70cf2c1b4968e4d9a68940e607a1cac9b 72960 F20101114_AABBIE vaidyanathan_b_Page_046.jpg c103d2f704ff34ec86a00c85245e2776 a60ed9c8e36dfc88dcbf6a587623a02379307f3a 79873 F20101114_AABBHP vaidyanathan_b_Page_030.jpg 9fc0abb899e3c9ae139edfa3ccbc5954 58669a9c24150d9b36afd33eab5397263fd28b56 2248 F20101114_AABCLH vaidyanathan_b_Page_061.txt 63ff179278165c5fa48378b6a8614a59 cb76ecff80b1a83719ca51e29070b94888adec57 2027 F20101114_AABCKS vaidyanathan_b_Page_046.txt 65f68cdc43ad6dd123806c2762753f3d 3432a401c627f7a920cd908618fe88dc7db064d4 81797 F20101114_AABBIF vaidyanathan_b_Page_047.jpg 635a38695f0bbb85334e273487d0ad09 46a4688d5600a39d5f5c355572b71e900ca26f07 62954 F20101114_AABBHQ vaidyanathan_b_Page_031.jpg 6486c0649f7f907a3a9c5b8a4e8fc07e cd2ff5285ad146537307f3328d7697f28ca33d96 2126 F20101114_AABCLI vaidyanathan_b_Page_062.txt f72a6cf9dfd2996b9019b1c1c5449b88 643bafc34ff48c207e226d283fee2412e45b6a88 2443 F20101114_AABCKT vaidyanathan_b_Page_047.txt a7337459ec834ef49ed548d609fac458 6e7c600fd90ea7630b98e4f90866b9cfdfbabde4 78318 F20101114_AABBIG vaidyanathan_b_Page_048.jpg 41df6ad534725c9cef9f2442c63fb605 9ccda6e450330ffddaf831d486cb95c214bfb4ad 34440 F20101114_AABBHR vaidyanathan_b_Page_032.jpg 29f008dedbc577d8e22c1b1fe907a61d a5a5a9a66a050ba201cf76d7c379bd7f6e60dd31 2820 F20101114_AABCLJ vaidyanathan_b_Page_063.txt ddf709de853a753031ab98833872a9f3 2c4d374ab75c537a8bfec17aeacb53f252138ea3 2215 F20101114_AABCKU vaidyanathan_b_Page_048.txt e56a32be8729fafddae99ed630404682 635abcaa5e307ffd1560d250c1afa2b5edf2c89d 83515 F20101114_AABBIH vaidyanathan_b_Page_049.jpg 6418899bfbea226bc2c02129cfe0749f f07848a83d7630bcd4e0b8edd9ae4d72e7f82fd5 53668 F20101114_AABBHS vaidyanathan_b_Page_033.jpg 29fc3d55b3c8390cf9fa446cfdcd9fc1 87fc9cbc1e4758e9dcc2834bf6398de9b943e1ff F20101114_AABCLK vaidyanathan_b_Page_064.txt 144589d517de4e35d3a380fd5819a52b 0d428118bcd338f927c0e6241c9e2f56f90096d2 2417 F20101114_AABCKV vaidyanathan_b_Page_049.txt 25986b3f99bf46fed3888bd0b4c78923 4d384fc96c3b4a33395acd335a7a273f668ea90c 65241 F20101114_AABBII vaidyanathan_b_Page_050.jpg be1b4e991eae1ecdec5f1c836ff7f6fe 9f14404bd04ac847aacac8f0bf3bc3e62e30268a 71067 F20101114_AABBHT vaidyanathan_b_Page_034.jpg 6c796e716a384adf347b06b89dfe30a7 79cf8835c8e9ba8bc5d63cacce25430f2d3fafc5 1618 F20101114_AABCLL vaidyanathan_b_Page_065.txt c7cca15380b573978fb362e4612375c3 83dfc875af1f169cf1db741214e2204d190fdaa6 1912 F20101114_AABCKW vaidyanathan_b_Page_050.txt e7a37cc276e426090b15eedac0b1e33d 790e40efee4545cded585abcecd075a6ad5331d9 75479 F20101114_AABBHU vaidyanathan_b_Page_035.jpg 9fb39de9e62173ec98e7759468c3405f 2e298e55a47f787aba7bceb20a061285eef945b7 76187 F20101114_AABBIJ vaidyanathan_b_Page_051.jpg 38ae4e82d244c996a63753831c73665f 9715dbf452e4fa3e8b4cd4bf26706dbc3a655a61 NEXT GENERATION ALGORITHMS FOR RAILROAD CREW AND LOCOMOTIVE SCHEDULING By BALACHANDRAN VAIDYANATHAN A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2007 02007 Balachandran Vaidyanathan To my parents ACKNOWLEDGMENTS First, I thank my advisor Dr. Ravindra K. Ahuj a who has been a great supervisor and mentor through my study at the University of Florida. His drive, enthusiasm, and sense of purpose have been exemplary, and his advice and support extremely helpful. I also express my gratitude to Dr. Joseph P. Geunes, Dr. Donald W. Hearn, and Dr. Sartaj Sahni for serving as my supervisory committee members and giving me thoughtful suggestions. My special acknowledgement goes to my friend and professor Dr. G. Srinivasan who inspired me to take up Operations Research as a career. I thank all my collaborators, colleagues, and friends, especially, Dr. James B. Orlin, Dr. Jian Liu, Dr. Krishna Jha, Dr. Arvind Kumar, Dr. Guvenc Sahin, Mr. Larry A. Shughart, Sailash Mani, Ashwin Arulselvan, Suchandan Guha, Ibrahim Karakayali, Ismail Bakal, and Ashish Nemani. I acknowledge my entire family and friends for their support. My utmost appreciation goes to my parents who taught me some of the most valuable lessons in life, to my sister whose energy and enthusiasm are limitless, and to my grandparents for always believing in me. Finally, I thank my wife, Sirisha, for her unwavering support which was instrumental in the completion of my research and dissertation. TABLE OF CONTENTS page ACKNOWLEDGMENTS .............. ...............4..... LIST OF TABLES .........__.. ..... .__. ...............8.... LIST OF FIGURES .............. ...............9..... AB S TRAC T ............._. .......... ..............._ 1 1.. CHAPTER 1 INTRODUCTION ................. ...............13.......... ...... 2 THE RAILROAD CREW SCHEDULING PROBLEM ................. .......... ................1 6 2. 1 Introducti on ................. ...............16........... ... 2.2 Problem Description ................ ...............23........... .... 2.2.1 Terminology .............. ......... .................2 2.2.2 Regulatory and Contractual Requirements ................. ..............................26 2.2.3 Problem Inputs............... .... .. ............2 2.2.4 Constraints and Objective Function .............. ...............28.... 2.3 Mathematical Modeling............... ...............28 2.3.1 SpaceTime Network ................. .............. ...............28..... 2.3.2 Integer Programming Formulation (IPF) ................. ...............31.............. 2.4 Solution Approaches................ .. ........ .. ..............3 2.4. 1 Successive Constraint Generation (SCG) Algorithm ............ .. ...._.._..........37 2.4.2 Quadratic CostPerturbation (QCP) Algorithm .........._..._. ....._.__ ................39 2.5 Significances and Uses of the Model............... ...............42. 2.5.1 Tactical Crew Scheduling............... ...............4 2.5.2 Crew Planning .............. ...............43.... 2.5.3 Crew Strategic Analysis .............. ...............44.... 2.6 Computational Results ................. ...............46........... .... 2.6. 1 Comparison of Algorithms ................. ...............46........... ... 2.6.2 Case Study ................. ...............48.............. 2.7 Summary and Conclusions .............. ...............51.... 3 REALLIFE LOCOMOTIVE PLANNING: NEW FORMULATIONS AND COMPUTATIONAL RESULTS................ ...............61 3 .1 Introducti on ................. .......... ...............61..... 3.2 Notation and Terminology ................. ...............64........... ... 3.2. 1 Notation ................ ...............64............... 3.2.2 Hard Constraints ................. ...............66................ 3.2.3 Soft Constraints .............. ...............67.... 3.2.4 Previous Research .............. ...............68.... 3.3 Mathematical Modeling............... ...............69 3.3.1 SpaceTime Network .................. ........_ .._ ...............69.... 3.3.2 Consist Flow Formulation for the LPP ........._..._. ....._... ...._..... ......7 3.3.3 Hybrid Formulation for the LPP................ ...............76.. 3.3.4 Identifying Good Consists ........._..._. ....._... ...............79... 3.4 Incorporating Practical Requirements .............. ...............80.... 3.4.1 Incremental Locomotive Planning .............. ...............80.... 3.4.2 Cab Signal Requirements .............. ...............82.... 3.4.3 Foreign Power Requirements .............. ...............84.... 3.5 Computational Results ........._..._. ....._... ...............85.... 3.5.1 Comparison of Formulations ........._..._. .. ...............86._.._._ .. 3.5.2 Identifying Good Consists ........._..._. ....._... ...............86... 3.5.3 Incremental Locomotive Planning .............. ...............87.... 3.5.4 Case Study ........._..._.._ ...............87........ ... 3.6 Summary and Conclusions .............. ...............90.... 4 THE LOCOMOTIVE ROUTING PROBLEM .............. ...............99.... 4. 1 Introducti on ................. .......... ...............99..... 4.2 Notations and Terminology .............. ...............104.... 4.3 Overview of Our Approach ................... ........... ...............106..... 4.4 The Locomotive Planning Problem (LPP) .............. ...............106.... 4.5 Fuel and Service String Enumeration Algorithms............... ..............10 4.6 String Decomposition Problem (SDP) ................. ...............111.............. 4.6. 1 SpaceTime Network ................. ...............111............... 4.6.2 Integer Programming Formulation .................. ............ ............... 113 .... 4.7 A Tractable Solution Approach: Aggregation and Disaggregation .............. ..............116 4.7. 1 Aggregated Model ........._.___..... .__. ...............117... 4.7.2 Disaggregation Model .............. ...............122.... 4.8 Handling Infeasibilities............... ............12 4.9 Computational Results .............. ..... ....__ ......._ ............12 4.9. 1 Testing the Performance of the Algorithm ......____ ..... ... ._ .............. ..129 4.9.2 Case Study ............ ..... ._ ...............130.. 4. 10 Summary and Conclusions ............ ..... .__ ...............132. 5 AGGREGATION FRAMEWORK TO SOLVE LARGESCALE INTEGER MULTICOMMODITY FLOW PROBLEMS ................ ...............145................ 5 .1 Introducti on ................... .... ........ .. .......... ...........14 5.2 Problem Definition, Notation, and Formulation ................. ..............................149 5.2. 1 Network ................. ...............149......... ..... 5.2.2 Constraints ................. ...............150................ 5.2.3 Formulation .............. ....... ........ .... .........5 5.2.4 Reducibility Property of the Network ................. ...............153........... .. 5.3 Aggregation and Disaggregation Algorithm .............. ...............153.... 5.3.1 Aggregated Multicommodity Flow Problem ................. ......... ................1 54 5.3.2 Disaggregation............... ............16 5.4 Applications of the Aggregation Framework ................. ...............164........... .. 5.4. 1 Locomotive Planning Problem ................ ...............164.............. 5.4.2 Airline Fleet Assignment Problem ................ ...............170.............. 5.4.3 Airline Crew Scheduling Problem ................. ...............172........... .. 5.4.4 Locomotive and Aircraft Routing Problems .............. ..... ............... 17 5.5 Computational Results ................. ...............177........... ... 5.6 Summary and Conclusions ................ ...............178........... ... LIST OF REFERENCES ................. ...............183................ BIOGRAPHICAL SKETCH ................. ...............191......... ...... LIST OF TABLES Table page 21 Comparison of algorithmic performance. .............. ...............53.... 22 Effect of varying crew pool sizes ................. ...............54........... .. 23 Effect of varying deadhead cost ................. ...............54............... 24 Effect of varying minimum rest time at home location. ................ .........................55 25 Effect of varying detention cost. .....___................. ...............55. ... 26 Effect of varying detention time. ................ ...............56............... 31 Set of input consists. ................ ................... .................. ...............92 32 Comparison of formulations: Scenario 1 .............. ...............92.... 33 Comparison of formulations: Scenario 2 ................. ....__ ....__ .............. .92 34 Computational results of incremental locomotive planning ................ .. ......___.........93 35 Effect of varying the minimum connection time. ..........._ ..... .__ ................ ...93 36 Effect of varying transport volumes. ................................ ...........9 37 Effect of varying train travel times. ............. ...............94........... ... 41 Performance of the locomotive routing algorithm ....._____ ............ ............._..13 5 42 Effect of varying servicing distance threshold. ................. ....___ .............. .....13 43 Effect of varying number of fueling stations. ..........._ ..... .__ .............. .....13 44 Effect of varying the number of servicing stations. ....._____ ............. ...............136 51 Performance of the aggregation algorithm. ............. ...............180.... LIST OF FIGURES Figure page 21 Spacetime network for a singleended district with a single crew type. ..........................57 22 Illustration of the FirstInFirstOut (FIFO) rule. ................ ...............58......___ .. 23 Crew assignments are made in (a) NonFIFO manner, and (b) FIFO manner ..................5 8 24 Solution cost vs. number of crews. ............. ...............59..... 25 Solution cost vs. minimum rest time at home ................. ...............59........... . 26 Solution cost vs. detention time. .............. ...............60.... 31 Overview of the locomotive scheduling algorithm ................. ............... ......... ...95 32 A part of the spacetime network ................. ...............96........... .. 33 Solution cost of the consist formulation vs. number of consists ................. ................. .96 34 Solution cost vs. number of consists ................. ...............97........... .. 35 Solution cost vs. minimum connection time ................. ...............97........... .. 36 Solution cost vs. transport volumes. ............. ...............98..... 37 Solution cost vs. % increase in travel time. ............. ...............98..... 41 Flowchart of the fuel and service routing algorithm ................. ...........................137 42 Fuel string enumeration algorithm............... ...............13 43 Service string enumeration algorithm ................. ...............139........... ... 44 A part of the spacetime network at a particular service station ................. ................. 140 45 Disaggregated strings and corresponding aggregated string. ............. ......................4 46 Disag greg ation al gorithm............... .............. 14 47 Example of infeasibility ................. ...............141............... 48 Performance of the locomotive routing algorithm ................. .............................142 49 Solution cost vs. servicing threshold. ............. ...............143.... 410 Solution cost vs. number of fueling locations ................. ...............143............. 411 Solution cost vs. number of servicing locations. ............. ...............144.... 51 Network ................. ...............18. 1............... 52 Potential train connections ................. ...............181............... 53 Performance of the aggregation algorithm. ............. ...............182.... Abstract of Dissertation Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy NEXT GENERATION ALGORITHMS FOR RAILROAD CREW AND LOCOMOTIVE SCHEDULING By Balachandran Vaidyanathan August 2007 Chair: Ravindra K. Ahuja Major: Industrial and Systems Engineering Our research concerns optimal railroad crew and locomotive management. Crew scheduling entails assigning crews to trains while complying with union rules, so that the crew costs are minimal and train delays due to crew unavailability are minimized. Locomotive scheduling ensures the correct number and type of locomotives are attached to each train such that a train has sufficient pulling power while satisfying a variety of business constraints and minimizing locomotive costs. Locomotive routing involves routing each locomotive unit on a cyclic sequence of trains so that it can be fueled and serviced as necessary. These problems are difficult to solve NPComplete problems and the North American locomotive and crew scheduling problems have not yet been solved satisfactorily. However, solving these problems has the potential to save railroads several million dollars a year. First, we examine the North American railroad crew scheduling problem (CSP). We develop a networkflow based crewoptimization model and design efficient algorithms using problem decomposition and relaxation techniques. Next, we extend the earlier attempts to solve the locomotive planning problem (LPP) on several dimensions by considering new constraints desired by locomotive directors. We develop additional formulations necessary to transition solutions of our models to practice and report computational tests of these models on the data provided to us by a maj or US railroad. Next, we study the locomotive routing problem (LRP). The LRP is a very largescale combinatorial optimization problem and has previously been unstudied and unsolved. We formulate the LRP as an integer programming problem on a suitably constructed spacetime network and develop fast aggregationdisaggregation based methods to solve this problem. Finally, we study the multicommodity flow problem (MCFP). MCFPs have found application in wide variety of domains. The LPP and the CSP are indeed special cases of the MCFP. However, the integer version of this problem is NPComplete. We propose a novel aggregationdi saggregation framework to solve a class of largescale integer MCFPs. CHAPTER 1 INTTRODUCTION US railroads carry millions of railcars annually accounting for 40% of the nation' s intercity tonmiles. US freight tonnage is expected to double in volume over the next 20 years (Florida Department of Transportation Report (2005)). Policy makers and corporate leaders are very concerned about the ability of the nation' s infrastructure to handle this growth. Congestion has increasingly become a major economic barrier to the free flow of goods across the nation, with highways, airports, and railroads all laboring under record levels of volume, high energy costs, employee shortages, reduced funding, and additional challenges of security and severe weather. A number of recent studies from policy think tanks, government agencies, and academic associations have shown that the railroad industry must do more to avert crippling gridlock. It is thus incumbent on us as a society to work together to discover new and innovative techniques whereby all transportation providers, including the railroads, can improve the utilization, productivity, and reliability of the existing infrastructure. In this study, we have considered two very important problems related to railroad operations: crew scheduling and locomotive planning. We have developed robust optimization techniques to solve these problems quickly and to near optimality. In our research, we have placed a large emphasis on "implementability" of solutions, which refers to the ability of a solution to be used in reallife. Our algorithms for locomotive and crew scheduling are designed to produce implementable solutions which can be used by railroads to realize potential savings. Railroads decompose their planning and scheduling problems into a number of stages. A blocking plan specifies how a set of cars with different origindestination pairs be consolidated into relatively large groups (blocks) of cars to reduce handling. These blocks then travel over the train network. The train schedule prescribes the number of trains to assemble, the origin, the destination, the route of each train, the arrival and departure times of each train at each station, and the days of operation of each train. Once the train schedules have been finalized, locomotives and crews must be assigned to each train. Locomotive scheduling ensures the correct number and type of locomotives are attached to each train such that every train has sufficient pulling power, while simultaneously satisfying a variety of business constraints and minimizing locomotive costs. Crew scheduling entails assigning crews to trains in each crew district, while complying with union rules, so that the crew costs are minimal and train delays due to crew unavailability are minimized. The railroad blocking problem and the train scheduling problem are well studied problems. Some recent references for the blocking problem are Newton, Barnhart, and Vance (1998), Barnhart, Jin, and Vance (2000b), and Ahuja, Jha, and Liu (2007). Ahuja, Jha, and Liu (2007) conduct the most comprehensive study of the blocking problem. They developed a very large scale neighborhood search (VLSN) algorithm to solve this problem. This algorithm was applied to data provided by several railroads producing excellent computational results. Their algorithms have also been licensed by two Class I railroads in the United States. Given a blocking plan, developing a train schedule is the next operational planning task faced by a railroad. The train scheduling problem is to identify train routes, their frequencies (how often they run in a week), and their timetables so as to minimize the cost of carrying cars from their origins to their destinations. The train schedule developed is repeated every period (mostly weekly). Some recent research on this problem is due to Farvolden and Powell (1994), Campbell (1996), Kraft (1998), Brannlund et al. (1998), and Jha (2004). Once the train schedule and blocks are fixed, then next problem that needs to be solved is the blocktotrain assignment problem. This problem has been studied by Crainic, Ferland, and Rousseau (1984), Haghani (1989), Keaton (1989, 1992), and Jha (2004). In our research, we focus on the crew planning problem, the locomotive planning problem, and the LRP. These problems are largescale NPComplete problems which have not yet been solved satisfactorily. Solving these problems has the potential to save the railroads millions of dollars and make a significant impact on the bottomline. We develop novel optimization techniques to generate realistic and implementable solutions to these problems, employing robust algorithms. We have extensively applied theory from network optimization, linear programming, integer programming, and heuristic optimization to solve these problems. CHAPTER 2 THE RAILROAD CREW SCHEDULING PROBLEM 2.1 Introduction Crew scheduling problems consist of assigning crews to trains and creating rosters for each crew, while satisfying a variety of Federal Railway Administration (FRA) regulations and trade union work rules. The obj ectives are to minimize the cost of operating trains on one hand and to improve the crew qualityoflife on the other hand. Improved quality of crew life leads to more productive employees, less employee turnover, and much safer operations. Although airline CSPs have been well studied and well solved, and railroad CSPs for European and Asian railroads have also been addressed to some extent, CSPs for North American railroads, due to various union and regulatory complexities, are unique and remain unsolved. Our focus is on developing efficient network flow optimization models that can form a backbone for all important aspects of crew scheduling for North American railroads: tactical, planning and strategic analysis. Henceforth, unless otherwise specified, the CSP is referred to in the context of North American railroads. US freight tonnage is expected to double in volume over the next 20 years (Florida Department of Transportation Report (2005)). Railroad executives are very concerned about their ability to attract, train, and retain sufficient semiskilled labor necessary to staff the increased number of train starts that will be needed to support this growth. Railroads pay train crew employees very high salaries (around $70,000 per year plus benefits) and yet have difficulty attracting a high quality work force. Operating a train as an engineer or managing a train as a conductor is not an easy job. This is further complicated by the fact that crews are seldom assigned to trains based on a fixed schedule. Generally the company telephones the next available crew and gives them their assignment two hours before a train departs. The crew takes the train to an away location where they rest at a hotel and then return on another train as their turn is reached. Consequently, train crews do not know from one day to the next, let alone a week or a month ahead, when they will be working. Train crews spend inordinate amounts of time on call, waiting for assignment and away from their homes and families. The irregular workstyle of railroad crews makes attracting potential employees to this career harder. Also, railroads are not very profitable, typically earning less than 10% return on capital, and are constrained from raising already high wages to attract more employees. To close the supply and demand gap for train crews, railroads must raise productivity of their existing crews and change the historical pattern of operations to improve employees' qualityoflife. Success on both fronts will be required to ensure that railroads can continue to profitably grow their businesses. Labor costs, the largest component of a railroad' s operating expense, account for a large percentage of the total revenue. Depending on the size of their network, each Class I railroad (a Class I railroad, as defined by the Association of American Railroads, has an operating revenue exceeding $319.3 million) employs around 15,000 to 25,000 locomotive engineers, conductors, and brakemen (Surface Transportation Board, US DOT, Bureau of Accounts). Consequently, improving the efficiency and effectiveness of train crews has the potential to dramatically reduce the cost of transportation. We propose a networkflow model and algorithms for assigning crews to trains that will make a significant impact on a railroad's ontime performance, crew utilization and productivity, while also improving both qualityof lives for crew and railroad safety. In a large Class I railroad, various divisions are tasked with analyzing train crews. Each group is interested in a different aspect of crew planning and scheduling. These perspectives can generally be characterized based on the planning horizon of the issue at hand. Crew issues faced by railroads can be broadly classified into three categories: 1) Tactical Decisions that must be made immediately to support realtime train operations. Tactical problems have a planning horizon of 24 to 48 hours. 2) Planning Decisions that must be made as a part of the crew schedule design process. Typically, railroads make adjustments to their network operating plan every month, with significant changes two or three times a year to account for both longrun and seasonal changes in traffic patterns. 3) Strategic Decisions that must be made well in advance (more than a year) of implementation to ensure sufficient lead time is available to properly prepare and implement a new business practice. The models and algorithms proposed have applications in all these areas of decision making. Crew scheduling is one of the important mathematical problems in the rich set of planning and scheduling problems that can be modeled and solved using mathematical optimization techniques (Assad (1981, 1983), and Cordeau, Toth, and Vigo (1998b)). Crew scheduling is a well known problem in operations research and has been historically associated with airlines and masstransit companies. Several papers on crew scheduling management have appeared in the past literature; most notable among these are due to Wren (1981), Bodin et al. (1983), Carraresi and Gallo (1984), Wise (1995), and Desrosiers et al. (1995). All these articles explore a set covering based approach to solve the CSP. Crew scheduling is conventionally divided into two stages: (1) Crew pairing: A crew pairing is a sequence of connected segments that start and end at the same crew base and satisfy all legality constraints. The obj ective is to Eind the minimum cost set of crew pairings such that each flight or train segment is covered. (2) Crew rostering: The obj ective here is to assign individual crew members to trips or sequences of crew pairings. This pairing and rostering approach uses a set covering formulation and is generally solved using column generation embedded in a branchandbound framework (also called branchandprice). The pairing and rostering approach has gained wide acceptance and application in the airline industry. Gopalakrishnan and Johnson (2005) in a recent survey paper discuss the state oftheart in solution methodologies for the airline crew pairing and rostering problem. There have also been some applications of this approach in the railroad industry. Caprara et al. (1997), Ernst et al. (2001), and Freling, Lentink, and Wagelmans (2004) describe the application of this approach to railroad crew management. Caprara et al. (1997) describe the solution techniques adopted at an Italian railroad. They consider several business rules that are specific to European railroads and develop a heuristic algorithm to generate rosters. Ernst et al. (2001) consider the CSP faced by Australian railroads and develop an optimization model which constructs crew parings and rosters. While they consider several business rules, they still solve a relaxed version of the problem and mention the necessity for an exact method in their conclusions. Freling, Lentink, and Wagelmans (2004) develop a decision support system for airline and railroad crew planning using a branchandprice solution approach to solve the integrated problem of pairing and rostering. They show that the integrated approach provides significant benefits over the sequential approach of solving the pairing problem and then the rostering problem. Other articles which describe applications of the pairing and rostering approach include Barnhart et al. (1994, 2003). Other research in the area of railroad crew scheduling which uses a different approach is due to Chu and Chan (1998), and Walker, Snowdon, and Ryan (2005). Chu and Chan (1998) consider the problem of crew scheduling for light rail transit in Hong Kong. They decompose the problem into two stages, the first one involving partitioning of driving blocks into pieces, and the second one involving the combination of pieces into runs. With added localized optimization heuristics, they were able to solve the problem in less than half an hour of computational time. However, their approach could not model the problem completely and the solution could only be used as a guideline for crew schedule generation. Walker, Snowdon, and Ryan (2005) develop an integer programming based method for simultaneous disruption recovery of train timetable and crew roster in real time in the context of New Zealand railroads. The crew rules that they consider are relatively simplistic and can be expressed in the form of integer programming constraints. They solve the problem using a column and constraint generation algorithm. While there have been several papers devoted to the study of the railroad CSPs in Europe, Asia, and Australia, North American railroad CSPs are yet to be addressed satisfactorily. The only application of optimization methods to North American railroad crew scheduling is due to Gorman and Sarrafzadeh (2000). They studied crew balancing in the context of a maj or North American Railroad, Burlington Northern Santa Fe (BNSF) Railway and developed a dynamic programming approach to solve the problem. The maj or shortcoming of their research was that they did not consider the possibility of different crew types; each governed by a different set of rules. Another drawback is that their approach could handle only a particular crew district configuration (singleended crew district). While most crew districts in North America are singleended, there are several which are doubleended or even more complex. The multicommodity network flow approach described models all the rules considered by Gorman and Sarrafzadeh (2000) and also handles the case where different crew pools have different sets of rules. It is also applicable to all the crew district configurations encountered in North America (in Section 2.2, we describe these configurations). From our extensive review of the literature, we observe that the crew pairing and rostering approaches which use column generation have been the predominantly successful method to solve CSPs. However, this approach cannot be used for North American railroads due to the following reasons: * The rail network of North American railroad is divided into several crew districts. As a train follows its route, it goes from one crew district to another, picking up and dropping off crew at crew change terminals. Almost all crew districts consist of two or three terminals. Hence, a pairing and rostering approach is needlessly complex and not required since most pairings would consist of two trains, an outbound train from home to away and an inbound train from away to home. Also rail networks typically consist of 200300 crew districts and the emphasis is on an approach which is simple and fast, and column generation techniques which are computationally very intensive are not appropriate. * The FRA regulations governing North American railroads are extremely complex. The most complicating of these rules is FirstInFirstOut (FIFO) requirement. FIFO constraints require that crews should be called on duty in the order in which they become qualified for assignment at a location. The reader may note that none of the past research handles constraints of this kind. While this constraint is extremely easy to state, explicitly modeling these constraints make the problem computationally intractable. The success of all approaches using column generation or branchandprice algorithms is dependant on the ease of solving the subproblem. Addition of the FIFO side constraints to the problem would spoil the special structure of the subproblem and blow up the computational times. Since our model needs to be fast enough to be used in a realtime environment, this approach is once again not suitable. While there has been significant work in the area of crew scheduling for European, Asian, and Australian railroads as well as in the area of airline crew scheduling, there is no modeling approach that is flexible enough to tackle CSPs faced by North American railroads. Our approach (Vaidyanathan, Jha, and Ahuj a (2007a)), is the first of its kind and is a novel contribution to the application of innovative optimization techniques to solve realworld problems. We model the CSP as a multicommodity network flow problem on an underlying space time network. In this model, crew pools (set of crews governed by same business rules in a crew district) represent commodities, and the flow of individual crew represents their assignments. The spacetime network is constructed in such a way that flow of crew automatically satisfies all FRA regulations and tradeunion rules other than the FirstInFirstOut (FIFO) requirement. We formulate the CSP as an integer multicommodity flow problem on a spacetime network and the FIFO constraints are modeled as side constraints to the multicommodity flow problem. We show that solving the integer programming formulation using standard branchandbound methodology is computationally intractable. On the other hand, the same problem with relaxed FIFO constraints can be solved very efficiently using branchandbound. We refer to the CSP with relaxed FIFO constraints as the Relaxed Problem, and a solution to this problem provides a lower bound to the optimal solution of the CSP. We develop an algorithm, called Successive Constraint Generation (SCG) algorithm, which starts with the solution of the Relaxed Problem and then iteratively adds constraints to remove FIFO violations. We also develop another algorithm, called Quadratic Cost Perturbation (QCP) algorithm, which perturbs arc costs in the spacetime network to penalize FIFO violations, and we prove that this approach guarantees FIFO compliance. We also show that the QCP approach produces optimal solutions in most cases and less than 0.2% gap for a few cases, with running times in the order of minutes. Our maj or research contributions are: * We develop a spacetime network so that the flow of crews on this network automatically satisfies all the FRA regulations and tradeunion rules other than the FirstInFirstOut (FIFO) requirement. The networkconstruction procedure is flexible enough to handle several combinations of rules and regulations and also various different crew district configurations. It is also flexible enough to handle costs which are nonlinear functions of arc durations. * We formulate the CSP as an integerprogramming problem on the spacetime network, enforcing the FIFO requirements by adding side constraints. We prove the onetoone correspondence between solutions to this integer program and solutions to the CSP. * We show that the FIFO requirement, if handled by the integerprogramming approach, complicates the structure of the problem and makes it computationally intractable. * We develop an exact algorithm called Successive Constraint Generation (SCG), which first solves the relaxed version of the integer program (without FIFO constraints) and then iteratively adds constraints in order to eliminate FIFO infeasibilities. * We develop an approach based on a Quadratic Cost Perturbation (QCP) that perturbs the cost of arcs in the spacetime network in such a way as to penalize violations of the FIFO constraints. We prove that this method guarantees FIFO compliance for the problem that we study and also show that it produces the optimal solution in most cases. * We present extensive computational results and case studies of our algorithms on the real life data. 2.2 Problem Description 2.2.1 Terminology Crew District: The rail network of a railroad is divided into crew districts that constitute a subset of terminals (nodes). Each crew district is typically a geographic corridor over which trains can travel with one crew. A typical railroad network for a maj or railroad in the US may be divided into as many as 200 to 300 crew districts. As a train follows its route, it goes from one crew district to another, picking up and dropping off crew at crew change terminals. Contrary to the airline industry, where certain crews have the flexibility to operate over a large territorial domain, in the North American railroad industry, crews are qualified to operate only in certain specific geographic territories. The physics of operating a train depend on the track geometry, which is defined by the hills and curves in the route and by signaling and interlocking systems that control the movement of trains. A crew must be intimately familiar with all aspects of a route to safely operate a train on that route. Consequently, most crews are qualified to operate on a limited number of routes. Crew Pools: Within a crew district, there are several types of crews called crew pools or crew types, which may be governed by different tradeunion rules and regulations. For example, a crew pool may have preference over the trains operated in a prespecified time window. Similarly, a crew pool consisting of senior crew personnel is assigned only to predesignated trains so that crews in that pool know their working hours ahead of time. The multiple crew pools within each district with different constraints make CSPs complex and difficult to model mathematically. Home and Away Terminals: The terminals where crews from a crew pool change trains are designated either as home terminals or away terminals. The railroad does not incur any lodging cost when a crew is at its home terminal. However, the railroad has to make arrangements for crew accommodation at their away terminals. Different crew districts have different combinations of home and away terminals. A crew district with one home terminal and one away terminal is called a singleended crew district. In such crew districts, typically, a crew operates a train from its home location to an away location, rests in a hotel for at least eight hours, operates another train back to its home terminal, rests for ten to twelve hours, and repeats this cycle. The other type of crew district is a doubleended crew district, in which more than one terminal is a home terminal for different crew pools. Some of the other crew district configurations are crew districts with one home terminal and several away terminals, and crew districts with several home terminals and corresponding sets of away terminals. Crew Detention: Once a crew reaches its away terminal and rests for the prescribed hours, the crew is ready to head back to its home terminal. However, if there is no train, then the crew may have to wait in a hotel. According to the tradeunion rules, once a crew is at the away terminal for more than a prespecified number of hours (generally 16 hours), the crew earns wages (called detention costs) without being on duty. For example, if a crew is waiting for assignment at the away terminal for 18 hours, it is paid detention charges for two hours. Crew Deadheading: Crew deadheading refers to the repositioning of crew between terminals. A crew normally operates a train from its home terminal to an away terminal, rests for a designated time, and then operates another train back to its home terminal. Sometimes, at the away terminal, there is no return train proj ected for some time, or there is a shortage of crews at another terminal. Thus, instead of waiting for train assignment at its current terminal, the crew can take a taxicab or a train (as a passenger) and deadhead to the home terminal. Similarly, the crew may also deadhead from a home terminal to an away terminal in order to rebalance and better match the train demand patterns and avoid train delays. Crew deadheading is expensive as the crew is considered to be onduty while deadheading and earns wages, and railroads also incur taxi expenses. Each year, a maj or freight railroad may spend tens of millions of dollars in crew deadheading. Onduty and Tieup Time: Whenever a crew is assigned to a train, it performs some tasks to prepare the train for departure, and hence crews are called on duty before train departure time. The time at which the crew has to report for duty is called the onduty time. Similarly, a crew performs some tasks after the arrival of the train at its destination, and hence crews are released from duty after the train arrival. The time at which the crew is released from duty is called tieup time. We refer to the duty duration before train departure as dutybeforedeparture and the duty duration after train arrival as dutyafterarrival. Hence, the total duty time (or dutyperiod) of a crew assigned to a train is the sum of the dutybeforedeparture, the dutyafterarrival, and the travel time of the train. Duty Period: In most cases, dutyperiod of a crew assigned to a train is the total duration between the onduty time and the tieup time. In some cases when a crew rests for a very short time at an away location before getting assigned to a train, the rest time and the duration of the second train may also included in the duty period of the crew. (Section 2.2.2 describes calculation of duty period in more detail.) Dead Crews: By federal law, a train crew can only be on duty for a maximum of 12 consecutive hours, at which time the crew must cease all work and it becomes dead or dog lawed. Dead crews are a frequent consequence of delayed trains, congestion, mechanical breakdowns, etc. In these cases, crew dispatchers must send a relief crew by taxi or another train so that the dead crew can be relieved. The dead crew must then get sufficient rest before becoming available to operate another train. Train Delays: When a train reaches a crew change location and there is no available crew qualified to operate this train, the train must be delayed. Each train delay disrupts the operating plan and causes further delays due to the propagating network effect. Train delays due to crew unavailability are quite common among railroads. These delays are very expensive (some estimate $1,000 per hour) and can be reduced significantly through better crew scheduling and train scheduling. 2.2.2 Regulatory and Contractual Requirements Assignment of crews to trains is governed by a variety of Federal Railway Administration (FRA) regulations and tradeunion rules. These regulations range from the simple to the complex. The regulations also vary from district to district and from crew pool to crew pool. We list below some examples of these kinds of constraints and their typical parameter values: * Dutyperiod of a crew cannot exceed 12 hours. Dutyperiod of a crew on a train is usually calculated as the time interval between the onduty time and tieup time of the train. * Whenever a crew is released from duty at the home terminal or has been deadheaded to the home terminal, they can resume duty only after 12 hours (10 hours rest followed by 2 hours call period) if dutyperiod is greater than 10 hours, and after 10 hours (8 hours rest followed by 2 hours call period) if dutyperiod is less than or equal to 10 hours. * Whenever a crew is released from duty at the away terminal, they must go for a minimum 8 hours rest, except for these circumstances: 0 If the total time period corresponding to the last travel time from the home terminal followed by a rest time of less than 4 hours plus travel time of the next assignment back home is shorter than 12 hours (in this case, dutyperiod = travel time on inbound train + rest time at away location + travel time on outbound); o If the total time corresponding to the last travel time from the home terminal plus travel time of the next assignment back home is less than 12 hours when the rest time in between the assignments is more than 4 hours (in this case, dutyperiod = travel time on inbound train + travel time on outbound train) * Crews belonging to certain pools must be assigned to trains in a FIFO order. * A train can only be operated by crews belonging to prespecified pools. * Every train must be operated by a single crew. * Crews are guaranteed a certain minimum pay per month regardless of whether or not they work. As the regulations for crew assignment can vary from district to district and crew pool to crew pool, it is a mathematical challenge to build a unified model to formulate and solve this problem. This partly explains why these problems remain unsolved and no commercial optimization product has been deployed yet at railroads. Also, due to low margins in the railroad industry, investment in research funding is viewed as a luxury despite a potentially high return on investment in automated decision support systems. 2.2.3 Problem Inputs The inputs that go into the mathematical formulation of the CSP include: * Train Schedule: The train schedule provides information about the departure time, arrival time, onduty time, tieup time, departure location, and arrival location for every train in each crew district it passes through. We do not consider stochasticity in the train schedule and assume that train delays are only due to the unavailability of crew and not due to train cancellations or other disruptions. * Crew Pool Attributes: This includes attributes of various crew types, namely their home locations, their away locations, minimum rest time, train preferences, etc. * Crew Initial Position: This provides the position of crew at the beginning of the planning horizon and includes information of the terminal at which a crew is released from duty, the time of release, the number of hours of duty done in the previous assignment, and the crew pool the crew belongs to. * TrainPool Preferences: The trainpool preferences, if any, give us information about the set of trains that can be operated by a crew pool. * Away Terminal Attributes: This gives us information about the away terminals for each crew pool. It also includes the rest rules and detention rules for each crew pool and at each away terminal. * Deadhead Attributes: This gives us the time taken to travel by taxi between two terminals in a crew district. * Cost Parameters: Cost parameters are used to set up the obj ective function for the CSP. They consist of crew wage per hour, deadhead cost per hour, detention cost per hour, and train delay cost per hour. 2.2.4 Constraints and Objective Function The CSP involves making decisions regarding the assignment of crews to trains, deadheading of crews by taxi, and train delays. The constraints can be categorized into two groups: operational constraints and contractual requirements. The operational constraints ensure that every train gets a qualified crew to operate it while a crew is not assigned to more than one train at the same time. These also include assignment of certain crew pools to prespecified trains. Assignment of crews to trains must, in addition, satisfy the contractual requirements described in Section 2.2.2. In our mathematical model, the operational constraints of the model are handled by the integer multicommodity flow formulation described in Section 2.3.2, and the contractual restrictions are honored in the network construction phase described in Section 2.3.1. The obj ective function of the CSP is to minimize the total cost of crew wages, the cost of deadheading, the cost of crew detentions, and the cost of train delays. 2.3 Mathematical Modeling 2.3.1 SpaceTime Network The CSP is formulated as an integer multicommodity flow problem with side constraints on a spacetime network. We can decompose the CSP into an independent problem for each crew district and construct the spacetime network for a particular crew district. In the network, each node corresponds to a crew event and has two defining attributes: location and time. The events that we model while constructing the spacetime network for the CSP are departure of trains, arrival of trains, departure of deadheads, arrival of deadheads, supply of crew, and termination of crew duty to mark the end of the planning horizon. All the arcs in the network facilitate the flow of crews over time and space. Figure 21 presents an example of the spacetime network in a crew district. Note that for the sake of clarity, this network only represents a subset of all the arcs. For each crew, we create a supply node whose time corresponds to the time at which this crew is available for assignment, and whose location corresponds to the terminal from which the crew is released for duty. Each supply node is assigned a supply of one unit and corresponds to a crew member. We also create a common sink node for all crews at the end of the planning horizon. This sink has no location attribute and has the time attribute equal to the end of the planning horizon. The sink node has a demand equal to the total number of crew supplied. The supply and sink nodes ensure that all the crews that flow into the system at the beginning of the planning horizon are accounted for and flow out of the system at the end of the planning horizon. For each train (say 1) passing through a crew district, we create a departure node (say 1') at the first departing station of the train in the crew district and an arrival node (say 1") at the last arriving station of the train in the crew district. Each arrival or departure node has two attributes: place and time. For example, place (1') = departurestation (1) and time (1') = ondutytime (1); and similarly, place (1") = arrivalstation (1) and time (1") = tieuptime (1). In the network, we create a train arc (1', 1") for each train I connecting the departure node and arrival node of train 1. We create deadhead arcs to model the travel of crew by taxi. A deadhead arc is constructed between a train arrival or crew supply node at a location and a train departure node at another location. All the deadhead arcs which satisfy the contractual rules and regulations are created. We construct rest arcs to model resting of a crew at a location. A rest arc is constructed between a train arrival node or a crew supply node at a location and a train departure node at the same location. Rest arcs are created in conformance to the contractual rules and regulations. All rest arcs which satisfy the contractual rules and regulations are constructed. Since the contractual regulations are often crew pool specific, deadhead arcs and rest arcs are created specific to a crew pool. This implies that only crew belonging to a particular crew pool can flow on a particular rest arc or a deadhead arc. For example, suppose a supply node corresponds to crew belonging to crew pool A, then all the arcs which emanate from this node can only carry crew belonging to crew pool A. Finally, we create demand arcs from all train arrival nodes and crew supply nodes to the sink node. Each arc has an associated cost equivalent to the crew wages, deadhead costs, or detention costs, as the case might be. Also in the network, the time at the tail of an arc is always less than the time at the head of an arc, which ensures the forward flow of commodities on the time scale. It can be noted that all contractual requirements other than the FIFO constraint are easily handled in the network construction. The spacetime network described above models the flow of crews while honoring all the contractual constraints except the FIFO rule. However, it does not model the case when qualified crews are not available for assignment to a train causing train delays. Next, we present the construction of additional arcs incorporating train delays. At a location, we create rest arcs and deadhead arcs which do not honor the rest regulations and penalize them to ensure that flows on these arcs occur only when qualified crews are not available for assignment. The flows on these arcs denote that the train will be delayed until crew becomes qualified for train operation. However, as the delay of a train may have propagating effect in the availability of crews in subsequent assignments, we assume here that the crew assigned to a delayed train has sufficient slack in the rest time at the train arrival node to make it qualified for subsequent assignments. Thus, the additional rest arcs and deadhead arcs model the train delays, with the assumption that the effect of train delays is only local. The reader may also note that honoring contractual regulations while constructing the network reduces the number of constraints in the integer program significantly. Now, we present the multicommodity integer programming formulation of the CSP. 2.3.2 Integer Programming Formulation (IPF) We formulate the CSP as an integer multicommodity flow problem on the spacetime network described in Section 2.3.1. In our formulation, each crew pool represents a commodity. Crew enters the system at crew supply nodes, and hence every supply node corresponds to a supply of one crew. The crew takes a sequence of connected train, rest, and deadhead arcs before Einally reaching the sink. While flow of more than one crew type can take place on a train arc, rest and deadhead arcs can have flow of only one type because the business rules for rest and deadhead are crew pool specific. Next we present the integer programming formulation of the problem. We use the following notation in our formulation: N: Set of nodes in the space time network L: Set of train arcs in the network, indexed by 1 D: Set of deadhead arcs in the network, indexed by d R: Set of rest arcs in the network, indexed by r A: Set of arcs in the spacetime network, indexed by a G(N, A): Spacetime network Ns: Set of crew supply nodes Nd: Sink node C: Set of crew pools in the system, indexed by c i' : Set of outgoing arcs at node i i : Set of incoming arcs at node i ic : Set of outgoing arcs specific to crew pool c at node i ic : Set of incoming arcs specific to crew pool c at node i Ar: Set of arcs on which flow will violate FIFO constraint if there is flow on rest arc r f: Total number of available crew M: A very large number cle : Cost of crew wages for crew pool c EC on train arc l EL cd : COst of deadhead arc d ED c : Cost of rest arc r ER tail(1): The node from which arc 1 originates head(1): The node at which arc 1 terminates The decision variables are: xic : Flow of crew pool c EC on each train arc l EL xd : Flow on deadhead arc d ED xy : Flow on rest arc r ER We formulate the CSP as follows: Mzin ciCxic + cdx dC r r (2.1a) leL ctC dtD reR Sxic = 1, for all l EL (2.1b) ctC Sxn = 1, for all i E N, (2.1c) Cx, = f (2.1d) x = C xo, for all leL, ceC (2.1le) xf = C xa, for all Ile ceC (2.1If) athead(l): x ,, M(1xi )< 0,for all r E R (2.1Ig) xe E (0, 1) and integer, for all l E L, c E C (2.1h) xd a (0,1\ andl i~ntegr for all deDr (2.1i) xy E (0, 1) and integer, for all r ER (2.1Ij) Constraint (2.1b) is the train cover constraint, which ensures that every train is assigned a qualified crew to operate it. Constraint (2.1c) ensures flow balance at a crew supply node. Constraint (2.1d) ensures the flow balance at the sink node. Constraints (2.1e) and (2.1f), respectively, ensure flow balance at train departure and arrival nodes. The flow balance constraints at a train arrival node ensure that the crew which is assigned to a train is subsequently assigned to a rest arc, a deadhead arc, or a sink arc which emanates from the arrival node of the train. Flow balance constraints at a train departure node ensure that the crew which is assigned to the train has been assigned to a rest arc, a deadhead arc, or a supply arc which terminates at the departure node of the train. Constraint (2.1Ig) ensures that the crew assignment honors the FIFO constraint. Constraints (2.1Ih), (2.1ii), and (2.1Ij) specify that all the decision variables in the model are binary. The obj ective function (2.1la) is constructed to minimize the total cost of crew wages, deadheading, detentions, and train delays. Note that the detention and delay costs are taken into account while calculating the cost of rest arcs. Now we show how Constraint (2.1g) enforces FIFO requirements. Figure 22 illustrates crew assignments in two situations: one in which FIFO is satisfied and the other in which FIFO is violated. In case (a), the crew on train 13 arrives at Terminal 2 first and also leaves first, and hence FIFO requirement is satisfied. In case (b), FIFO requirement is violated because the crew on train 13 enters terminal 2 first, but leaves after the other crew. Therefore in the solution, if there is flow on arc (4, 5), there should not be any flow on arc (3, 6). Let us consider the following cases for Constraint (2.1g) with respect to flow on arc (4, 5): Case 1: x(4,5) = 1 : The constraint becomes C xy, < 0 > xi, = 0 Vry A(4,5) This ensures that if there is flow on rest arc (4, 5), then there cannot be flow on any arc belonging to the prohibited set A(4,5) and hence there will not be any flow on arc (3, 6). Case 2: x(4,5) = 0: The constraint becomes C x, <; M2 Vr s A(4,5) Which essentially means that the constraint is relaxed. Let us now estimate the size of a typical instance of the CSP in a crew district. Most crew districts have two terminals, and a typical train schedule has around 500 trains running in a couple of weeks in a crew district. Each crew district could have two to four crew types and around 50 crews. Therefore, the spacetime network could have around 50 + 2 x 500 = 1,050 nodes. The number of arcs in the network could be very large if we construct all feasible rest arcs and deadhead arcs. To restrict the number of arcs constructed, we place a limit on the maximum duration of rest arcs. For example, if the train schedule stretches over a period of ten days, it is unrealistic for a crew to rest for more than three days. In this case, we can restrict the maximum rest arc duration to three days. After the spacetime network of a typical problem is pruned based on this rule, the number of deadhead arcs is typically around 25,000, and the number of rest arcs is around 100,000. Since the number of rest arcs for a typical problem is of the order of 100,000, and as each rest arc has one FIFO constraint, the number of FIFO constraints in the model would be 100,000, which is too large. We would therefore be losing one of the main advantages of the network flow formulation, which is, by honoring all business rules in the network construction phase; we keep the number of constraints small. Our computational results also confirm that handling FIFO constraints explicitly in this manner makes the problem computationally intractable. Let us now consider the Integer Programming Formulation where we relax the FIFO Constraint (2.1g); we call this problem the Relaxed Problem. This problem typically has more than 100,000 variables and several thousand constraints, which make it a large optimization problem. Integer programs of this size are usually very difficult to solve to optimality or near optimality in a reasonable amount of time. But we were able to solve this problem to optimality in a matter of minutes using commercial branchandbound based MIP solver provided by CPLEX 9.0. We believe that this is due to the special structure of the Relaxed Problem, which helps speed up the solution time significantly. All variables in the formulation are binary variables, and this leads to the MIP engine exploring fewer branches on the branchandbound tree compared to the case where variables are integer variables. Whenever the engine branches on a noninteger variable, the value on one branch is set to zero and on the other branch is set to one. Hence, at each level of the tree, one variable' s value is prefixed and can be eliminated from the model. Consequently, it is very likely that a feasible integral solution is obtained early on, and nodes in the branchandbound tree are fathomed much earlier than while solving a general mnteger program. Another benefit of the network flow based approach is that even though we do not explicitly model each crew, the spacetime network and the constraints are such that from the Einal solution of the model, we can easily extract the set of trains a crew takes over the entire planning horizon. In order to do this, we start at the supply node of a particular crew and identify a path from this supply node to the sink node that has positive flow on it. Note that due to the commodity specific flow balance constraints at each node, every crew will have a unique path with positive flow from its supply node to the sink node. Theorem 2.1. There is a onetoone correspondence between a feasible flow on the space time network satisfying constraints (2.1la)(2.1Ij) and a feasible solution to the CSP. Proof: Consider a feasible flow on the spacetime network. We have seen above how the path of each crew can be extracted from the solution using a simple runthrough procedure. Due to the network construction methodology, the extracted path of each crew has to satisfy all the business and contractual rules. Hence, we see that every feasible solution on the spacetime network corresponds to a feasible crew schedule. We can also show that the reverse transformation from a feasible crew schedule to a feasible flow on the spacetime network is possible, hence establishing the result. Hence, we have shown the onetoone correspondence between feasible solutions to the integer programming formulation and feasible solutions to the CSP and thus have established the validity of our integer programming approach. In the next section, we describe various algorithms to solve the CSP, which are centered on handling FIFO constraints in a computationally efficient manner. 2.4 Solution Approaches In this section, we present our approaches to solve the CSP. As the FIFO constraints are the ones which complicate the nature of the integer programming formulation, our solution approaches are centered on effective ways to handle this constraint. We develop a constraint generation based exact approach and a costperturbation based heuristic approach to solve the problem. While the constraintgeneration based approach performs significantly better than the direct approach to solve the integer programming formulation, its application in a realtime environment may be restricted due to long running times. On the other hand, the cost perturbation scheme produces good quality FIFO compliant solutions very efficiently and hence is better suited for the realtime environment. 2.4.1 Successive Constraint Generation (SCG) Algorithm The SCG algorithm works by iteratively pruning out crew assignments which violate the FIFO constraints from the current solution of a more relaxed problem. We considered the following two methods for implementing constraint generation: (1) A branchandbound algorithm where constraints are added to the LP relaxation that is solved at each node of the branchandbound tree until FIFO violations are eliminated (branchandcut); and (2) An iterative method where we run branchandbound algorithm on the relaxed problem, solve it to optimality, and then add constraints to remove infeasibilities which is followed by another run of branchandbound on the more constrained problem and so on. However, on further deliberation, we chose to implement the second method over the first for the following reasons: *Since the LP relaxation of the relaxed problem can have fractional flows on the rest arcs, the number of rest arcs with positive flow in the LP relaxation will be more than the number of rest arcs with positive flow in an integral version. Also, larger the number of rest arcs with positive flow, greater is the possibility of FIFO violations. Hence, more FIFO constraints are likely to be added to a nonintegral solution. * SCG implemented using method (2) allows us to stop at any point when we feel that the level of FIFO infeasibility is reasonably small. We are able to do that because after the addition of a set of constraints, we obtain an integral solution at regular intervals of less than a minute. On the other hand, in the branchandcut method, the addition of constraints at a node on the branchandbound tree would only guarantee FIFO compliance of the LP relaxation which will not be an integral solution in general. Hence, we do not have the option to prematurely terminate until a point when we obtain at least one integral solution to the LP relaxation and consequently we do not have control over the quality of intermediate solutions in terms of number of FIFO violations. * We show in our computational results that QCP does an excellent j ob in enforcing FIFO constraints for the current set of business rules, but we also mention that QCP does not guarantee FIFO compliance when there is priority in assigning crews to trains. We believe that the real benefit of SCG could come from being used in conjunction with QCP. In this approach, we would first apply QCP to obtain a solution with very few FIFO violations. SCG is then applied on this solution to prune out the small number of remaining infeasibilities. A branchandcut approach in this context would be unnecessarily complicated since when a small number of constraints are added, the problem can be re optimized within a few seconds using SCG. The SCG algorithm starts with the optimal solution of the Relaxed Problem, which may have several violations of the FIFO rule. In each iteration, the algorithm scans the rest arcs in the current solution which have positive flow, and for each such rest arc assignment which violates FIFO constraints, it adds the corresponding FIFO constraints. We then resolve the problem and recheck for FIFO infeasibilities. This process is repeated until all FIFO infeasibilities are removed. AlgorithmSCG Step 1: Solve the Relaxed Problem. If a feasible solution exists, then proceed to Step 2. Otherwise STOP as the problem is infeasible. Step 2: Examine all the rest arcs with positive flow in the solution of Step 1. Add FIFO constraints to the integer program on those rest arcs assignments which violate FIFO requirements. Step 3: If FIFO constraints are added in Step 2, reoptimize the modified integer program and go to Step 2. Otherwise STOP as we have the optimal solution. Note that the final solution of SCG satisfies all the constraints of the Integer Programming Formulation (IPF), and the constraints of SCG are a subset of the constraints of IPF. Hence, the SCG algorithm is an exact algorithm guaranteeing optimal solution to the original problem. However, in the worst case, SCG could add all the FIFO constraints to the integer program and would hence become an intractable approach. Fortunately this seldom happens in practice. Our computational results show that the number of constraints added is usually much less than the total number of rest arcs in the network. While the SCG is an exact algorithm and produces provably optimal solutions, the running time of this algorithm could be quite high. In our computational experiments, in some instances, SCG had a running time in the order of minutes while in others it had a running time in the order of hours. While these running times are acceptable in the planning environment, they would restrict the applicability of this algorithm in the realtime environment. In the next section, we describe a costperturbation based algorithm which produces very good quality FIFOcompliant solutions with running times comparable to that of the Relaxed Problem. 2.4.2 Quadratic CostPerturbation (QCP) Algorithm In the previous section, we describe a successive constraintgeneration based approach to remove the FIFO violations iteratively. In this section, we present an algorithm which penalizes the FIFO violations in a solution. We show that this method guarantees zero FIFO violations in the case where there is no priority in assigning crews to trains and serves as a heuristic method for the other case when there are priority restrictions. Cost perturbation not only enforces FIFO constraints but also retains the special network flow structure of the problem leading to fast computational times. The basic intuition behind this approach is that we perturb the costs of arcs while solving the Relaxed Problem in such a way as to guarantee FIFO compliance. We present our cost perturbation strategy through the illustration shown in Figure 23 for the case when there is only one crew pool type. In case 23 (a), crew assignments are made in a nonFIFO manner, and in case 23 (b), the assignments are made in a FIFO manner. Now consider the case when crews are detained at the Terminal 2. Then, due to the nature of detention costs, the cost of the assignment 23 (b) would definitely be less than or equal to the cost of assignment 23 (a), and hence the solution to the Relaxed Problem would honor FIFO constraints. On the other hand, suppose all the rest arcs had a cost of zero; then both the assignments would have the same cost, and the Relaxed Problem would have no cost incentive to choose assignment 23 (b) over assignment 23 (a). Thus, a solution to the Relaxed Problem may violate the FIFO constraints. In order to provide an incentive to the Relaxed Problem to choose case 23 (b) over case 23 (a), we perturb the cost assignments on rest arcs so that the solution of the Relaxed Problem has assignments of type 23 (b) and not assignments of type 23 (a). The cost perturbation scheme that we use is a function of the duration of rest arcs. Suppose that the time duration between events corresponding to nodes 2 and 4, 4 and 5, and 5 and 7 are a, b, and c, respectively. Consider a cost assignment which is proportional to the square of the duration of rest arcs. The constant of proportionality is represented by k. Then, Cost of assignment 23 (a) = k(duration of arc (2, 7))2 + k(duration of arc (4, 5))2 = k(a +b+ c)2 + kb2 = k(a2 + 2b2 + 2 + 2ab +2bc +2ca) Cost of assignment 23 (b) = k(duration of arc (2, 5))2 + k(duration of arc (4, 7))2 = k(a +b)2 + k(b +c)2 = k(a2 + 2b2 + 2 + 2ab +2bc) It can be observed that the cost of assignments in case 23 (b) is less than that in case 23 (a). Hence, when the rest arcs have zero costs, the quadratic cost perturbation scheme in the Relaxed Problem will give FIFO compliant assignments, when there will be only one crew pool type. The observation made here can also be generalized for multiple crew pools unless there is priority of crew pools in assignments to trains. If there is a priority assigned to crews in assignments to trains, then a crew can have FIFOviolated assignment to gain the priority assignments. We state our observations here as the following theorem. Theorem 2.2. Quadratic Cost Perturbation applied to the Relaxed Problem guarantees FIFO compliant crew assignments, if there is no priority in assigning crews to the trains. Proof: In the spacetime network, rest arcs may have one of three costs assigned to them: (a) zero costs, (b) detention costs, or (c) train delay costs. For e.g., If all the rest arcs in Figure 2 3 had zero costs, then as shown above, the Relaxed Problem will choose the FIFO compliant assignment because it is cheaper. If the rest arcs in Figure 23(a) had detention costs on them, then the FIFO assignment shown in Figure 23(b) will either have the same level of detention or lesser detention. Hence, the perturbation scheme will work in this case too. A similar argument would also work for train delay costs because FIFO assignments will always have equal or lesser train delays than nonFIFO assignments. Since we do not want to change the cost structure of the original problem by a large extent, we set the value of k to a very small value and perturb the cost of each rest arc by a value which is computed as described above. Our computational tests in Section 2.6.1 show that this method works very well, and the solutions produced by Quadratic Cost Perturbation are indeed FIFO compliant in the case where there are no priorities. The solution time of this method is very short and is comparable to that of the Relaxed Problem. Note that in the case where there are priorities, this approach could be used to obtain a solution with a small number of violations and then the SCG algorithm can be used to prune out these violations. Another interesting observation is that for most of the instances tested, this method produces solutions with obj ective function values same as those for the Relaxed Problems. This implies that FIFO constraints can be satisfied with little or no impact on the solution cost. Hence, using this approach, we are able to obtain excellent quality of solutions using much less computational time. Due to its attractive running times and high solution quality, this method has the potential to be used in both the planning and the realtime environment. 2.5 Significances and Uses of the Model In the introduction, we mention that the crew scheduling model has applications in the tactical, planning and strategic environments. In this section, we elaborate and provide specific examples of how the model can be used as an effective tool for decision making. 2.5.1 Tactical Crew Scheduling The defining problem in tactical crew scheduling is to determine which crew should be assigned to operate each train. However, there are a number of subproblems and issues that must be considered before assigning crews to trains. Railroads have aroundtheclock crew calling centers with the responsibilities of monitoring the status of each crew and the status of each train and anticipating when a particular crew should be called to operate a particular train. A typical crewcalling center employs 200300 clerks (crew callers) to call crews and answer inbound telephone queries from management and the crews. First, a crew caller looks at the proj ected lineup (crew assignment) of outbound trains at a particular crew change location. With a projection of train departure times, say 13:30, 15:00, and 16:00, the crew caller then goes through a number of checks before assigning a crew to a train: Is this train covered by a designated assigned pool, or is it to be covered by FIFO assignment from the general pool? When is the next qualified crew rested and available to operate this train? The actual rules are very complex, and the combinations of solutions that must be considered can overwhelm a person. Our model has several applications in the tactical scheduling environment. Some of these applications are given below: Assignment of crews to trains: The output of our model tells us how to assign crews to tramns. Recommend which crews to place in hotels and which crews to deadhead home: When a crew arrives at an away terminal, the crew callers have to decide whether the crew should deadhead back home or go to a hotel for rest. The model can be used to mathematically look ahead and systematically make the tradeoff between different cost categories of crew wages, deadhead costs, detention costs, and rest violation costs. Minimize trains delayed due to shortage of crew: Train delays are potentially very costly because the delay of a train may lead to the unavailability of crew to operate another train in the future and may have a negative domino effect on networkwide operations. By creating several deadhead arcs while constructing the spacetime network, we ensure that such a situation is avoided. Disruption management: The crew scheduling model can be used as a tool to bring back disrupted operations to normalcy. Suppose at some point in time the operations are disrupted. The current state or snapshot of the system gives us the location of each crew and the hours of duty already done. Using this information and the information about the future train schedule, the crew scheduling models can be used to optimally reassign crew to trains. 2.5.2 Crew Planning The essence of the crew planning problem for operations or planning is to determine how many crews should be in each crew pool. It can be noted that as each position is guaranteed a minimum number of work hours per month, it is quite costly to overestimate the number of positions required to staff a pool. Currently, railroads solve the pool sizing problem based on historical precedent and rulesofthumb, through negotiation with the union, and by trial and error. The network flow model can satisfy the need for a structured approach that captures all of the considerations, quantifies the various costs, and recommends the best way to define and staff crew pools. Some of the applications of the model in the planning environment are described next. Develop and evaluate crew schedules: The crew scheduling model can also be used to compare the current crew schedule used with the modelgenerated schedule on the basis of several criteria such as average rest time at the home location, average rest time at the away location, average deadhead time, etc. By suitably changing the model cost parameters, we can obtain schedules with different characteristics. For example, if we want to minimize detention, we can set the detention cost to a very large value and run the model. Size of crew pools: Using the crew scheduling model, we can study the impact of varying the crew pool size on the solution quality. For example, suppose our objectives is to minimize the number of crew used. While formulating the problem, we give large cost incentives to flow on the sink arcs from crew supply nodes to the sink node. This would lead to the model's producing a crew schedule which uses the minimum number of crew. 2.5.3 Crew Strategic Analysis Strategic management involves development of policies and plans and allocating resources so as to implement these plans. The timeframe of strategic management extends over several months or even years. Strategic crew problems include forecasting future headcount needs and evaluating maj or policy changes such as negotiating changes to tradeunion rules or changing the number and location of crew change points on a network. The railroad industry is now experiencing unprecedented traffic growth. Therefore, it is very important to be able to quantify the expected impact on manpower needs as traffic grows since it takes 18 to 24 months to hire, train, and qualify train crew personnel. Recently, corporate strategists have been struggling with the tradeoff between crew costs and train delays. Our model can be used to quickly calibrate efficient frontiers for each crew district and show what number of crews minimizes the sum of train delay costs and crew costs. If railroad management is dissatisfied with that level of train performance, one can simply increase the cost of train delay, and the model will request additional crews such that a new costminimizing solution is obtained. Some of the applications of the network flow model in the strategic environment are listed below. Determining the number of crew districts and territory of crew districts: We can use the crew scheduling model to reoptimize and test different crew district configurations. For example, suppose crew district 1 operates trains between location A and location B, and crew district 2 operates trains between location B and location C. Merging all three stations into a single crew district could give us better opportunity to optimize costs. Effect of changing crew tradeunion rules: The CSP is a complex optimization problem due to strict tradeunion rules related to crew operation. The change of any of these rules will face a lot of resistance from the labor union. At the same time, change of any of these rules has the potential to impact crew costs substantially. Using the crew scheduling model, we can evaluate the impact of changing the tradeunion rules on the crew cost. For example, suppose we want to know the impact of changing the mandatory rest time at home from 12 hours to 10 hours. We can run the model with the parameter setting of 10 hours and measure the change in crew cost. Forecasting crew requirement: Based on the forecasted train schedule, we can use the model to help us forecast crew requirement. We first run the model assuming that a very large number of crew is available. Since the crew supply is much more than what is required, many crews will directly flow from the crew supply to the sink node. The total crew supply minus the number of unused crews will give an idea of the number of crews required based on the forecasted train schedule. In this section, we have seen that the crew scheduling model has several reallife applications in the tactical, planning, and strategic environments. If put into production, the model has the potential to enable railroad professionals to improve their daytoday operations and to plan effectively in order to achieve their longterm organizational goals. 2.6 Computational Results In this section, we present computational results of our algorithms on several problem instances, and we also present a case study done on a representative instance. We implemented our algorithms in Visual Basic .NET programming language and tested them on the data provided by a maj or Class I railroad. We modeled our integer programs using Concert Technology 2.0 modeling language and solved them using the CPLEX 9.0 solver. We conducted all computational tests on a Pentium IV, 512 IVB RAM and 2.4 GHz processor desktop computer. 2.6.1 Comparison of Algorithms In this section, we compare the performances of the Relaxed Problem, the exact Integer Programming Formulation (IPF), the Successive Constraint Generation (SCG) algorithm, and the Quadratic Cost Perturbation (QCP) algorithm on several reallife instances. Our problem instances consist of train schedules over a period of one to four weeks. In one instance, the number of crew pools is one, making the problem a singlecommodity flow problem. In the other set of instances, the number of crew pools is two, and the problem is formulated as a multicommodity flow problem. For each instance, we measure the solution cost, the solution time, the number of FIFO constraints added to the formulation, and the number of FIFO constraints violated in the final solution. It can be noted that no FIFO constraints are added while solving the Relaxed Problem and the Quadratic Cost Perturbation (QCP). The results of our computational tests are presented in Table 21. We draw the following conclusions from the computational results: * The solutions to the Relaxed Problem have the highest number of FIFO violations. However, the solution times are also the fastest. * The Integer Programming Formulation (IPF) has several thousand FIFO constraints. These constraints make the problem computationally intractable, and we could not obtain feasible solution for any of the instances in one hour of computational time. * The Successive Constraint Generation (SCG) algorithm starts with the solution to the Relaxed Problem as the initial solution and progressively reduces the number of infeasibilities. However, the amount of computational time taken by this algorithm is still quite large. We were able to obtain a FIFOcompliant solution for two instances, and for all other instances, we terminated the algorithm when the iteration that was running at the 30th minute of computational time was complete. * The Quadratic Cost Perturbation (QCP) algorithm produces FIFOcompliant crew schedules for all instances. Also, in six instances out of eight, the obj ective function values are equal to that of the Relaxed Problem. Since the Relaxed Problem provides a lower bound to the optimal solution, QCP algorithm produces the optimal solution in six instances out of eight, and the optimality gap is less than 0.2% for the other two instances. This algorithm also has very fast solution times, which are comparable to that of the Relaxed Problem. Thus, we conclude that the QCP algorithm outperforms the other algorithms in terms of both solution quality and solution time. It produces optimal or nearoptimal solutions in a few minutes of running time, and it therefore has the potential to be used in both the planning and realtime environments. 2.6.2 Case Study In this section, we conduct a case study to illustrate how the crew scheduling model can be used to derive useful information and drive decision making at a railroad. We perform the case study on a representative twoweek data set which has 326 trains, 2 crew pools, and 48 crews, and we run the computational tests using the Quadratic Cost Perturbation (QCP) algorithm. The various aspects of the problem that we observe in this case study are as follows: (i) Effect of varying the number of available crews, (ii) Effect of varying deadhead cost, (iii) Effect of varying minimum rest time at the home location, (iv) Effect of varying detention time, and (v) Effect of varying detention cost. Effect of varying the number of available crews In this study, we quantify the effect of varying the number of available crews on the overall solution quality. We start with a set of 42 available crews and reduce the number of crews available until the problem becomes infeasible. Table 22 presents the computational results, and Figure 24 plots a chart between the number of available crews and solution cost. We draw the following observations from this study: * As the number of available crews decreases, the model tries to compensate for the lack of crews by increasing the level of deadheading and train delays. * Initially, reducing the number of available crews does not have an adverse effect on the solution cost, but as more crews are removed, the solution cost rises steeply. For example, reducing the number of crews available from 42 to 26 (3 8% reduction) has an insignificant impact on the solution cost, but reducing the number of crews from 24 to 22 leads to the solution cost jumping up by more than $59,000 (20% increase). The reader should note that the obj ective function in this case study is not a function of the number of crews used and is only a function of total deadhead, detention and delay. This explains why solutions using different number of crews have identical cost provided their total deadhead, detention and delay are the same. Effect of varying deadhead cost In this study, we quantify the effect of varying deadhead cost on the number of deadheads, total detention hours, total train delay hours, and overall solution cost. The default cost of deadheading used by the railroad is $144 per hour. We start with a deadhead cost of $0 per hour and then progressively increase deadhead cost while measuring the impact on the solution as shown in Table 23. We make the following observations from this study: * As the deadhead cost increases, the number of deadheads in the solution decreases. However, after a certain point, there is no significant decrease in the number of deadheads. For example, even for a very high deadhead cost of $10,000, the solution has 33 deadheads. From this observation we can conclude that there is an inherent imbalance in the system that necessitates deadheading. * As the deadhead cost increases, the solution of the model has fewer deadheads and more train delays. This behavior of the model gives us the insight that if the deadhead cost increases at some point in time, then the railroad needs to adapt by allowing far more flexibility in terms of the train delays. Alternatively, the management can also negotiate with crew unions and reduce the minimum rest hour requirements. Effect of varying minimum rest time at the home location In this study, we quantify the effect of varying the minimum rest time at the home location on the average rest time at the home location, train delays at the home location, average rest time at the away location, train delays at the away location, and the overall solution cost. The default value of minimum rest time used by the railroad is 12 hours. We start with a minimum rest requirement of zero hours and progressively increase the value of this parameter while measuring the impact on the solution as shown in Table 24 and Figure 25. From this study we observe that the minimum rest time at home can be increased to 16 hours without a significant increase in the solution cost. However, any increase beyond 16 hours leads to a steep increase in the solution cost. The railroad management can use these inputs to effectively negotiate rest times with the union. For example, if the union wants the minimum rest time to be increased from 12 hours to 14 hours, then the management can use the model to quantify the impact of this change and negotiate appropriately. Effect of varying detention cost The railroad pays detention charges for each hour of crew rest beyond 16 hours at an away location. In this study, we quantify the effect of varying the detention cost on the total detention hours, number of deadheads, total train delay hours, and overall solution cost as presented in Table 25. The default value of detention cost used by the railroad is $140 per hour. We make the following observations from this study: * As the detention cost per hour increases, the number of detention hours in the solution decreases. * As the detention cost per hour increases, the solution has a greater number of deadheads and train delays. This behavior of the model gives us the insight that if the detention cost increases at some point in time, then the railroad needs to adapt by allowing more flexibility in terms of train delays and crew deadheading. Effect of varying detention time on the solution In this study, we quantify the effect of varying the detention time (the minimum rest time at the away location after which a crew becomes eligible for detention allowance) on the average rest time at the away location, detention hours, and overall solution cost. The default value of detention time provided by the railroad is 16 hours. We present our results in Table 26 and Figure 26. This study shows that increasing the detention time has an impact on the solution cost, but it diminishes as the detention time increases. We observe that increasing the detention time from 0 to 20 hours reduces the solution cost, but increasing it beyond 20 hours has almost no impact on the solution quality. 2.7 Summary and Conclusions In our research, we develop a network flowbased approach to solve the railroad CSP in the context of North American railroads. The CSP for North American railroads is governed by several Federal Railway Administration (FRA) regulations and tradeunion work rules. In order to develop a good crew schedule, in addition to satisfying these regulations, we also need to minimize the total wage costs, train delay costs, deadhead costs, and detention costs. The railroad divides the network into a number of crew districts, and each crew district has several crew pools. Each crew pool at a district could have a different set of operating rules. These factors make this a complex problem to model and solve. The network flow formulation for the CSP that we develop is both flexible and robust and can be easily manipulated to represent each of the possibilities encountered in reallife. We formulate the CSP as an integer program on a spacetime network. The network is constructed in such a way that all FRA regulations and tradeunion work rules other than FIFO constraints are enforced during the network construction phase itself. The operational constraints are handled in the integer programming formulation. We develop two approaches to handle FIFO constraints. The first approach is a Successive Constraint Generation approach where constraints are generated iteratively to cut out FIFO violations. The second approach, which is called Quadratic Cost Perturbation, relies on perturbing the obj ective function to generate FIFOcompliant solutions. We provide extensive computational results comparing the performance of various approaches and show that the perturbation approach outperforms the other approaches both in terms of solution time and solution quality. We believe that this research will eventually lead to the deployment of crew planning models and algorithms at North American railroads, replacing the current manual process and, in doing so, make a significant impact on the railroad's ontime performance, crew utilization, and productivity, while also improving the qualityoflife for crew and improving railroad safety. Table 21. Comparison of algorithmic performance. # of # of Relaxed Problem 2. Exact Integer Programming week crew Formulation spools Cost($) Time # of FIFO Cost Time # of FIFO (Sec) constraints ($) (Sec) constraints 3. Successive Constraint Generation Cost($) Time # of FIFO (Sec) constraints Added Violated 4. Quadratic Cost Perturbation Cost ($) Time # of FIFO (Sec) constraints violated violated 73 148 225 274 64 118 173 226 Added Violated 3,600 11,062 N/A 3,600 23,527 N/A 3,600 35,976 N/A 3,600 48,797 N/A 3,600 17,999 N/A 3,600 40,623 N/A 3,600 63,215 N/A 3,600 86,477 N/A 130,952 265,284 399,816 531,378 132,495 267,130 402,045 533,694 10.8 30.3 57.2 91.8 17.7 55.6 112.0 187.3 132,022 267,067 399,816 532,091 132,495 267,316 405,227 538,039 2,015 958 1,981 1,492 1,908 1,657 2,326 1,805 347 478 2,423 1,068 4,858 1,321 3,928 1,745 25 130,952 95 265,284 151 399,816 226 531,378 0 132,495 0 267,221 25 402,678 25 534,327 10.9 31.4 60.0 97.4 17.7 60.9 125.0 210.7 Table 22. Effect of varying crew pool sizes. Num. of crew Num. of Num. of available crew used deadheads 42 31 38 40 30 38 38 29 38 36 29 40 34 29 40 32 28 40 30 28 41 28 28 41 26 26 43 24 24 43 22 22 44 20  Table 23. Effect of varying deadhead cost. Deadhead Number of Detention Cost/hr ($/hr) deadheads Hours 0 42 34.55 100 38 37.00 200 38 37.00 300 37 40.33 400 37 40.33 500 36 40.33 600 36 40.33 700 36 40.33 800 36 40.33 900 36 40.33 1,000 35 36.80 10,000 33 36.80 Detention hours 37.00 37.00 37.00 37.00 37.00 37.00 37.00 37.00 30.65 17.50 6.37 Train Delay hours 8.77 8.77 8.77 7.85 7.85 7.85 7.85 7.85 30.38 154.83 417.12 Solution cost ($) 262,838 262,838 262,838 263,340 263,340 263,340 263,697 263,697 268,704 295,486 354,610 Infeasible Increase in cost 0 0 502 0 0 357 0 5,007 26,782 59,115 Train delay hours 5.45 8.77 8.82 9.48 9.57 13.13 13.13 13.13 13.13 13.18 22.95 55.13 Solution cost ($) 253,079 260,051 266,396 272,733 278,918 284,955 290,955 296,955 302,955 308,967 314,935 813,771 Table 24. Effect of varying minimum rest time at home location. Minimum Average rest at Train Delays at Average rest at Train Delays at rest (hrs) home (hrs) home (hrs) away (hrs) away (hrs) 0 10.02 0.00 12.83 8.77 2 11.60 0.00 12.99 8.77 4 12.86 0.00 13.12 8.77 6 14.37 0.00 13.12 8.77 8 15.16 0.00 13.15 8.77 10 16.81 0.00 13.31 8.77 12 18.51 0.00 13.33 8.77 14 20.48 0.00 13.25 8.77 16 21.53 0.07 13.09 8.77 18 23.98 1.23 13.18 9.52 20 28.33 3.78 13.09 17.40 Solution cost ($) 262,838 262,838 262,838 262,838 262,838 262,838 262,838 262,838 262,853 263,294 265,337 Table 25. Effect of varying detention cost. Detention Detention Number of cost/hr ($/hr) hours deadheads 0 305.45 35 40 64.57 37 80 40.33 37 120 37.00 38 160 34.55 39 200 30.77 39 240 23.32 39 280 23.32 39 320 18.67 39 360 11.10 39 400 1.93 40 500 1.93 40 600 1.93 40 700 1.93 40 Train delay hours 1.17 3.32 8.77 8.77 8.77 11.97 18.50 18.50 24.18 35.53 49.23 49.23 49.23 49.23 Solution cost($) 254,840 258,630 260,528 262,098 263,542 264,904 265,849 266,782 267,534 268,167 268,452 268,645 268,838 269,032 Table 26. Effect of varying detention time. Detention Avg. rest at away Detention Solution time (hours) location hours cost ($) 0 8.95 1,136.60 460,558 4 8.95 633.18 390,079 8 10.41 331.60 324,478 12 11.12 83.17 280,491 16 13.33 37.00 262,838 20 14.20 3.67 256,561 24 14.78 1.52 255,620 28 15.82 0.00 254,840 Ho~me ternnual Away tema~nal Node legend O Supply O Arrival O Departrure $ Demand Ar~c legend  Train Rest Deadhead Demand Figure 21. Spacetime network for a singleended district with a single crew type. Terminail 2 "Terminl 1 Termainl 2 Figure 22. Illustration of the FirstInFirstOut (FIFO) rule. Tenrmmtal 1 Tenuinarl 2 Termnal '1 Terminl 2 Assi nmentr A slsignent (a) (b) Figure 23. Crew assignments are made in (a) NonFIFO manner, and (b) FIFO manner Ter~mial 1 Time    I I I I I I I I I I I     I I I I I I I I I I 450,i000 400,000 350,n000 ;250,000 200,000 150,000 I 20 2 2 24 26 28 30 32 34 36 8 40 42 44 NunberP of crewrs Figure 24. Solution cost vs. number of crews. L65,500 265,i000 264,500 _64,000 263,500 263,000 2652,500 0 2 4 6 8 10 12 14 16 18 20 2 Miniamu rest timne l(hr) Figure 25. Solution cost vs. minimum rest time at home. i~350,(000 300,000 250,000 200,000 0 2 4 6 3 10 12 14 116 18 20 2 2 24 76 28 30 32 Dletent~ion tune Ill) Figure 26. Solution cost vs. detention time. CHAPTER 3 REALLIFE LOCOMOTIVE PLANNING: NEW FORMULATIONS AND COMPUTATIONAL RESULTS 3.1 Introduction Locomotive scheduling involves optimally assigning a set of locomotives to trains satisfying a variety of business constraints and minimizing the total scheduling cost. Everyday, railroad managers must assign hundreds of locomotives to hundreds of different trains. These problems are notoriously difficult NPhard (Ahuj a et al. (2005)) transportation problems that have not yet been solved satisfactorily. But solving these problems effectively is of critical importance since a large US railroad has several billions of dollars of capital investment in locomotives. Our research is motivated by the need to develop effective and practical solution techniques to solve this complex optimization problem. Locomotive scheduling problems arise at two levels: planning and dynamic assignment. A railroad has several locomotive types with different characteristics, such as, horsepower, tonnage pulling capacity, and costs. The locomotive planning problem (LPP) assigns sets of locomotives, called consists, to each train in a preplanned weekly train schedule so that each train gets sufficient power to pull its load and the total cost of locomotive usage is minimized. The resulting plan must honor a variety of business rules, cannot require more locomotives than what is available in the total fleet, and must result in a plan that is relatively simple and repeatable. Another important feature of the LPP is that locomotives may deadhead on trains. Deadhead locomotives do not pull the train but are repositioned by the active locomotives from one place to another place. Deadheading plays an important role in locomotive planning, enabling extra locomotives to be moved from surplus locations to locations where locomotives are in short supply. Locomotives also light travel; that is, a set of locomotives forms a group, and one locomotive in the group pulls others from an origin station to a destination station. Light travel is not limited by the train schedule thus making it much faster than deadheading. However, light travel is more costly as a crew is required and the move does not generate any revenue as there are no cars attached. A locomotive plan specifies which types of locomotives will pull each train, and how locomotives will deadhead or light travel to obtain overall network wide efficiency. The locomotive plan gives the "ideal locomotive assignment" in the absence of any disruptions, and this plan is further refined and adjusted in realtime to obtain the dynamic locomotive assignment. We focus on the planning version of the problem. LPPs are notoriously hard combinatorial optimization problems. The paper by Cordeau, Toth, and Vigo (1998b) presents an excellent survey of existing locomotive planning models and algorithms for this problem. There are two kinds of locomotive planning models: Single and Multiple. Single locomotive planning models assume that there is only one type of locomotive available for assignment. These models can be formulated as minimum cost flow problems with side constraints; some papers on single locomotive planning models are due to Wright (1989), Forbes, Holt, and Watts (1991), Booler (1980, 1995), and Fischetti and Toth (1997). Single locomotive assignment models may be appropriate for some European railroads but are not suited for US railroads since most trains are assigned multiple types of locomotives. Such multiple locomotive assignment models have been studied by Florian et al. (1976), Ramani (1981), Smith and Sheffl (1988), Chih et al. (1990), Nou, Desrosiers, and Soumis (1997), Cordeau, Soumis, and Desrosiers (1998a), and Ziarati et al. (1997, 1999). The most comprehensive and recent multiple locomotive assignment models are due to Ahuj a et al. (2005) which is the starting point of our current research. In our past research, described in Ahuj a et al. (2005), we formulate the LPP as a mixed integer multicommodity flow problem with side constraints on an underlying network and develop solution methodologies that use problem decomposition, integer programming, greedy heuristics, and neighborhood search (Refer to Section 3.2.4 for an overview). About two years ago, we started working with the locomotive division at CSX Transportation (Class I US railroad) to get the locomotive flowbased model developed by Ahuj a et al. (2005) implemented. The locomotive division was very interested but wanted some additional features to be added to our methodology to ensure that the solution is more implementable. Also, we were able to find instances of the LPP where the first approach did not yield feasible solutions in several hours of computational time. In order to eliminate these difficulties, we developed robust methods described to obtain realistic solutions that can be used for practical locomotive planning. Our maj or contributions are listed below: * Robust Approach: We were able to find instances for the LPP where we could not obtain a feasible solution in over 10 hours of computational time using the locomotive flowbased formulation (Ahuj a et al. (2005)). In our computational results, we show that using the consistflow formulation, we can obtain nearoptimal solutions to the same instances within a few minutes of computational time. * Minimize Consist Bustings: Consistbusting involves mixing of locomotives from inbound trains and regrouping them to form new consists. This is undesirable due to several reasons described in Section 3.3.2. We propose a consistbased formulation where consists flow over the network instead of individual locomotives. This formulation reduces consist busting to zero. We also develop a second formulation called the hybrid formulation, which is used to benchmark the performance of the consistbased formulation. * Incremental Locomotive Planning: Zero based approaches which develop a locomotive plan from scratch are almost impossible to implement. We describe how we can use the models developed for planning incrementally. * Cab Signal Requirements: Federal law requires that trains operating in certain territories called cab signal territory must have a lead locomotive that is outfitted with the cab signal system. We describe a method to incorporate the cab signal requirements in our formulations. * Foreign Power Requirements: Different railroads in North America often cooperate with oneanother and allow direct trains, called runthroughtrains, from the origin station on one railroad to the destination station on another railroad in order to reduce cost by eliminating unnecessary intermediate switching at the interchange stations. We describe a method to structure the model to allow locomotives to go to and come from foreign railroads. *Computational Tests: We present extensive computational results and case studies on several instances and derive meaningful conclusions. Though our research has been conducted in collaboration with CSX Transportation, the models proposed are applicable in general (with possible minimal contextual changes) to all North American railroads. 3.2 Notation and Terminology We give the notation and terminology related to the LPP. We also describe the constraints in terms of these notations. The constraints can be classified into two groups: hard constraints (which each locomotive plan must satisfy) and soft constraints (which are highly desirable but not always required to be satisfied). 3.2.1 Notation Locomotives pull a set of trains from their origins to their destinations. The train schedule is a weekly cyclic schedule. Trains have different weekly frequencies; some trains run every day, while others run less frequently. We consider the same train running on different days as different trains; that is, if a train runs fiye days a week, we will consider it as Hyve different trains for which all data is the same except that they will have different departure and arrival time on the seven day clock. Each train has a required horsepower (HP) and tonnage. Tonnage represents the minimum pulling power required to pull the train and the HP has a direct bearing on the speed at which the train can travel. Each train I has the following attributes associated with it: deptime(1): The departure time of train I arrtime(1): The arrival time of train I depstation(1): The departure station of train I arrstation(1): The arrival station of train I 7: Tonnage requirement for train I p,: HP per tonnage requirement for train 1 E,: The penalty for using single locomotive consist on train 1 A railroad also has several types of locomotives. Let K denote the set of all locomotive types and k a particular locomotive type in this set. Locomotives which provide power and pull trains are called active locomotives and those which are being repositioned on a train are called deadheading locomotives. For every k E K we have the following attributes: hk : HP of a locomotive of type k ak : Number of axles on a locomotive of type k Gk : Ownership cost of a locomotive of type k Bk : Fleetsize of a locomotive of type k cl : COst of assigning an active locomotive of type k to train I dlk : COst of deadheading a locomotive of type k on train I tl : Tonnage provided by a locomotive of type k to train 1 The tonnage provided by a locomotive k depends on the train to which it is assigned. This is because different trains have different ruling grades or slopes and the pulling power of a locomotive depends on the ruling grade. Each train I has three sets of locomotives that could be assigned to it. MostPreferred[1] contains the locomotive types which are preferred on this train, LessPreferred[1] contains the locomotive types which are accepted on this train with a certain penalty and Prohibited[1] contains the locomotive types which are not allowed on this train. Locomotives are assigned to these three groups for each train based on the business rules of the railroad. Light travel refers to the travel of locomotives on their own from one location to another. Light travel is a fast though expensive way to reposition locomotives. Each light travel has a fixed cost which is a function of the distance of light travel (since we need a crew) and it also has a variable cost based on the number of locomotives light traveling and the duration of light travel . Consist is a collective term for the set of locomotives assigned to a train. Consist busting refers to the breaking up of an incoming consist at a station and the assignment of the locomotives in it to more than one outgoing train. Consist busting has a fixed cost B associated with it and also a variable component which depends upon the number of locomotives involved in consist busting. An efficient locomotive schedule can help us reduce consist busting greatly. A traintrain connection refers to the direct transfer of a consist from an inbound train to an outbound train at the same station. Traintrain connections are highly desirable since they reduce consist busting. Whenever a consist goes from one train to another train, it needs some minimum time to make this connection; we refer to this time as the minimum connection time. 3.2.2 Hard Constraints Hard constraints are mandatory constraints which have to be satisfied for a locomotive assignment plan to be feasible. Power requirement for trains: Each train must be assigned locomotives with at least the required tonnage and horsepower. Locomotive class to train type: Each train type (e.g., auto train, or merchandise train, or intermodal train) is targeted to use specific classes of locomotive types. For example, we may specify that auto trains can be assigned only AC44 or AC60 type locomotives. Geographic: Each geographic region permits the travel of only specific locomotive types. For example, we may specify that Atlanta can only use: C40, AC44, and AC60 locomotives. Locomotive balance constraints: The number of incoming locomotives of each type into a station must be equal to the number of outgoing locomotives of that type at that station. Active axle constraints: Each train must be assigned locomotives with at most 24 active axles. This business rule is designed to protect the standard couplers used in North America. Exceeding 24 powered axles may overstress the couplers and cause a train separation. Consist size constraints: Each train can be assigned at most 12 locomotives including both the active and deadheading locomotives. This business policy reduces risk exposure if the train were to suffer a catastrophic derailment. Fleet size constraints: The number of assigned locomotives of each type is at most the number of available locomotives of that type. Repeatability of the schedule: The assignment of locomotives to trains should be such that the number of locomotives of each type at each station at the end of the week should be equal to the number of locomotives of each type at each station at the beginning of the next week so that the plan is repeatable every week. 3.2.3 Soft Constraints These constraints are flexible constraints and they define characteristics which are preferred but not mandatory. Consistency in locomotive assignment: A train should be assigned the same consist each day that it runs. Railroads believe that crews will perform more efficiently and more safely if they operate the same equipment on a particular route and train. As the crews learn the operating nuances associated with each combination, they will adjust their throttle and braking control accordingly. Consistency in train connections: If locomotives traveling on a train to its destination station connect to another train originating at that station, then they should preferably make the same connection on each day that both of the trains run. This allows station managers to optimize their subprocesses associated with arriving and departing trains. Avoid consist busting: Since consist busting involves the use of more resources, it is preferable to avoid consist busting. Avoid single locomotive consists: If a single locomotive is assigned to a train and this locomotive breaks down, then the train will get stranded. 3.2.4 Previous Research In the previous research reported in Ahuj a et al. (2005), we developed an integrated planning model that determines the set of active and deadheading locomotives for each train, light traveling locomotives from power sources to power sinks, and traintotrain connections (specifying which inbound train and outbound trains can directly connect). We first developed a mixed integer programming (MIP) formulation of the LPP. This MIP formulation, the locomotive flow model, is a multicommodity flow problem where each locomotive type represents a commodity and assignment of locomotives to trains is transformed into the flow of locomotives on a sevenday or weekly spacetime train network. There were two maj or difficulties in solving the MIP formulation. First, the problem size was too large to be solved by the available commercialgrade MIP software as it contains hundreds of thousands of decision variables and comparable number of constraints. Secondly, the solution obtained using this formulation was not likely to be consistent; that is, the optimal solution may have different consist assignments to the same train on different days of the week. In a plan, railroads want the same consist assignment to a train each day it runs. Our maj or contribution in the previous research was to handle both these difficulties effectively by proposing a twophase approach. In the first phase, we assumed that trains run every day of the week, and determined the locomotive assignments under this assumption. (This assumption is not a bad assumption in practice as most trains run every day). In the second phase, we considered the actual train schedule and reoptimized the locomotive assignment of the first phase by solving a sequence of single commodity flow problems. Assuming that trains run every day of the week reduces the weekly locomotive assignment problem to a daily (or one day) locomotive assignment problem (thus reducing problem size by a factor of seven thereby making it more tractable) and replicating the locomotive assignment each day of the week gives us a perfectly consistent assignment. We give a brief overview of this twophase approach in Figure 31. We formulate the problem is such a way that determining traintrain connections is no longer a modeling issue. We focus our attention on the oneday LPP. While keeping the other features of the model identical to what they were before; we change our approach to model the one day LPP and consider flows of consists over the network instead of flows of individual locomotives. In the next section, we give a detailed description and motivation for the consist based approach. In the rest of the chapter when we refer to LPP, we are referring to the oneday LPP. 3.3 Mathematical Modeling 3.3.1 SpaceTime Network The LPP is formulated as an integer multicommodity flow problem with side constraints on a spacetime network. Each consist type defines a commodity in this network. We denote the spacetime network as G (N, A), where N denotes the node set and A denotes the arc set. The spacetime network is constructed as follows. We create a train arc (1', 1") for each train 1; the tail node 1' of the arc denotes the event for the departure of train I at depstation(1) and is called a departure node. The head node 1" denotes the arrival event of train I at arrstation(1) and is called an arrival node. Each arrival or departure node has two attributes: place and time. For example, place(l') = depstation(1) and time(l') = deptime(1). Similarly, place(l") = arrstation(1) and time(l") = arrtime(1). Some trains are called forward trains and some trains are called backward trains. Forward trains are those trains for which deptime(1) < arrtime(1) and backward trains are those trains for which deptime(1) > arrtime(1). To allow the flow of locomotives from inbound trains to outbound trains, we introduce ground nodes and connection arcs. For each train arrival node, we create a corresponding arrival ground node with the same place and time attribute as that of the arrival event. Similarly, for each train departure event, we create a departureground node with the same place and time attribute as that of the departure node. We connect each arrival node to the associated arrival ground node by a directed arc called the arrivalground connection arc. We connect each departureground node to the associated departure node through a directed arc called the ground departure connection arc. Next, we sort all the ground nodes at each station in the chronological order of their time attributes, and connect each ground node to the next ground node in this order through directed arcs called ground arcs. (We assume without any loss of generality that ground nodes at each station have distinct time attributes) The ground nodes at a station represent the pool (or storage) of locomotives at the station at different instants of times. As trains arrive, they bring in locomotives to the pool through arrivalground connection arcs. As trains depart, they draw locomotives from the pool through grounddeparture connection arcs. The ground arcs allow inbound locomotives to stay in the pool as they wait to be connected to the outbound trains. We also connect the last ground node of the week at a station to the first ground node of the week at that station through a ground arc; this ground arc models the ending inventory of locomotives for a day becoming the starting inventory for the following day. We also allow the possibility of light travel, that is, several locomotives forming a group and traveling on their own from one station to another. We assume that the set of light travel possibilities is given to us. We create a light arc in the weekly spacetime network corresponding to each light travel possibility. Each light arc originates at a ground node (with a specific time and at a specific station) and also terminates at a ground node. Each light arc has a fixed charge which denotes the fixed cost incurred to assign a crew to that light travel. We denote this fixed charge for a light travel arc 1 by Fl. The light arc also has a variable cost which depends upon the number of entities light traveling on it. The spacetime network G = (N, A) has three types of nodes arrival nodes (ArrNodes), departure nodes (DepNodes), and ground nodes (GrNodes); and four kinds of arcs train arcs (TrArcs), connection arcs (CoArcs), ground arcs (GrArcs), and light travel arcs (LiArcs). Let AllNodes = ArrNodes u DepNodes u GrNodes, and AllArcs = TrArcs u CoArcs u GrArcs u LiArcs. In Figure 32, we show a part of the spacetime network at a particular station, which illustrates the various kinds of arcs. 3.3.2 Consist Flow Formulation for the LPP Consist busting refers to the process of decomposing inbound consists at a station into several locomotives and the assignment of these locomotives to several outgoing trains. Railroad managers prefer to minimize consistbusting as much as possible due to the following reasons. (1) Consistbusting often results in outbound trains getting their locomotives from several inbound trains. If any of these inbound trains is delayed, the outbound train is also delayed, which potentially propagates further delays down the line; and (2) Consist busting is an extremely labor, cost, and time intensive operation. Additional crews are required to transfer (or hostile) locomotives between the rail yard and the shop facility where consists are busted and reassembled. Moving locomotives across a station creates incremental moves for the yard masters to worry about; the hostlers block tracks so car switching activity must be paused; and train movements must be coordinated between transportation and mechanical departments (as opposed to traintotrain connections which are entirely within the purview of transportation). Consequently, consist busting consumes between two to six additional hours per locomotive within the station. We develop a formulation for LPP that almost completely eliminates consist busting; we call this formulation the consist flow formulation. This formulation is an extension of the locomotive flow formulation described in Ahuj a et al. (2005), which defines each locomotive type as a commodity and routes locomotives on the train network. In the consist flow formulation, we define each consist type (that is, a group of locomotives) to be a single commodity and route consists on the train network. Thus, the consist flow formulation differs from the locomotive flow formulation in the sense that locomotive types are replaced by the consist types. Observe that each feasible solution of the consist flow formulation has a corresponding feasible solution of the locomotive flow formulation with the same cost, but the converse is not true. Thus, the reader might be led to believe that consist formulation is quite restrictive and may produce significantly inferior solutions compared to the flow formulation. However, our computational results reveal that if the number and types of consists are judiciously chosen, then both formulations produce solutions with comparable quality. In the formulation described next, we assume that the consist types are prespecified; we describe later in Section 3.3.4 how to determine good consist types. The consist flow formulation is a multicommodity integer program formulated on the spacetime network. We next describe the additional notations used in this formulation. C: Denotes the set of consist types available for assignment and c EC represent a particular consist. F, :Fixed charge cost for using the light arc 1. cic: Cost of assigning an active consist of type c EC to train 1. di : Defined for every arcle AllArcs For a train arcl E TrArcs, dic captures the cost of deadheading a consist of type c E C on arc 1. For a light arc l e LiArcs, do captures the cost of traveling for a consist type c EC on arc 1. For an arcl e CoArcs v GrArcs do captures the cost of idling for a consist type c EC on arc 1. ack : Number of locomotives of type k E K in consist type c EC. Iii]: Set of arcs entering node i. O[i]: Set of arcs leaving node i. S:Set of overnight arcs or arcs that cross the midnight timeline. (We choose midnight as the time for counting the number of locomotives used in our solution) day(1): Number of times an arc 1 crosses the midnight timeline. Suppose, a train I leaves at 8 AM on day 1 and arrives at 2 AM on day 2, then day(1) = 1; whereas suppose it leaves at 8 AM on day 1 and arrives at 2 AM on day 3, then day(1) = 2. The decision variables are: xy : Binary variable representing the number of active consists of type c eC on arcl e TrArcs . y," : Integer variable representing the number of nonactive consists (deadheading, lighttraveling or idling) of type c eC on arcl e AllArcs . zz :Binary variable which takes value 1 if at least one consist flows on arc l e LiArcs and 0 otherwise. sk Integer variable indicating the number of unused locomotives of type k E K . We formulate the problem as follows: minz = cCI"xic+ C dicyt + C Ezl CGkSk leTrArcs ceC leAl/Arcs ceC leLArcs keK Sxe = 1, for all I ETrArcs, ctC a C c(x," + Yf) 12, for all l e TrArcs, ceC keK S(xic + y") = (xic + y,"), for all i E AllNodes, c e C, lel[ ] leo[l] aCck~Y Ic 12z,, for all let LiArc~s, keK ceC aCck(l Ic Ic)day(1) +sk =Bk, for all k EK, leS ceC xc e {0,1}, for all leTrArcs, c C, yze 0 and integer, for all l E AllArcs, c e C, (3.1a) (3.1b) (3.1c) (3.1d) (3.1e) (3.1f) (3.1g) (3.1h) 1i) 1j) z, a (0, 1), for all l E LiArcs, (3. sk 0, for all k K. (3. Constraint (3.1b) ensures that every train I is assigned exactly one active consist. Constraint (3.1c) ensures that the locomotive flow upperbound on each train arc is satisfied. Constraint (3.1d) ensures that flow is balanced at every node for every consist type. Constraint (3.1e) ensures that the locomotive flow upperbound on each light arc is satisfied. Constraint (3.1f) ensures that the number of locomotives of each fleet type used is no more than the fleet Size. While the locomotive flow based formulation (Ahuja et al. (2005)) did not converge to feasible solutions for some instances in over 10 hours of computational time, the consist based formulation was able to optimally solve the same instances within a few minutes of computational time. The reasons for this superior computational performance are: (1) In the locomotive flow formulation, we need to explicitly specify constraints that each train gets required tonnage, horsepower and does not exceed the 24active axle requirement. However, these constraints are implicitly handled in the consistbased formulation using much lesser number of constraints. We handle the active axle constraint by not creating consists which have more than 24 active axles. We handle the tonnage and horsepower constraints implicitly in the following way; if assigning consist c EC as an active consist to train l E TrArcs violates the tonnage or horse power constraints, we set xy = 0 thus disallowing the assignment of consist c to train 1. Thus, the consist flow formulation has 2 TrArcs lesser number of side constraints compared to the locomotive flow formulation; (2) All active consist assignment variables, xf are binary variables, whereas in the locomotive flow formulation active flow variables are general integer variables. The MIP optimization engine, which is typically a branchandbound algorithm, is likely to explore lesser branches for a binary integer program compared to a general integer program as there are lesser options to pursue; and (3) Each time branching occurs on a binary variable it is either prefixed to zero or to one in the subsequent problems. Hence, as the algorithm progresses down the branchandbound search tree, the problem size and complexity of the linear programs solved at each node reduces. The consist based formulation also has practical advantages. Railroads often impose complex rules on what locomotive types may be combined into ideal consists. Some locomotives do not work well together. Some railroads segregate AC powered locomotives and DC powered locomotives. These requirements are often very hard or impossible to honor in the locomotive flow formulation but are rather trivial in the consist flow formulation. Further, in the locomotive flow formulation, an outbound train often obtains its planned consist from locomotives coming from multiple trains and if any of these inbound trains is delayed, the outbound train is delayed as well. But in the consist flow formulation, all outbound trains derive their active consist only from one inbound train (but may derive their deadhead consists from other trains) thus reducing the impact of train delays. The consist flow formulation is superior to the previous locomotive flow formulation because (1) solution speed and robustness are greatly improved, (2) consist busting is reduced to zero, and (3) constraints are more easily incorporated, resulting in more practical solutions. Our computational tests show that while the consist flow formulation may have its optimal obj ective function value as much as 5% higher than that of the locomotive flow formulation, the solution is far superior in terms of consistency, simplicity, and robustness. Thus, it may be easier to comply with and may need overall fewer locomotives in practice (considering train delays, for example). And, the consist flow solution still requires far fewer locomotives than the manually generated plans currently in use by most railroads. 3.3.3 Hybrid Formulation for the LPP In order to evaluate the performance of the consist based formulation, we need to ideally compare it to the solution of the flow formulation (Ahuj a et al. (2005)). However, for some instances, the flow formulation does not converge to a feasible solution after several hours of computational time and this is hence not possible. We develop a hybrid formulation which can be used to benchmark the performance of the consist formulation. The hybrid formulation retains the structural properties of the consist formulation while also allowing total flexibility to bust consists at no additional cost. We realize that this is not a realistic assumption, but this model allows us to determine the impact on solution cost if consist busting is allowed. Hence, it serves as a good benchmark for the solution of the consist flow formulation. Also, since it retains some of the structural properties of the consist formulation, it is also computationally robust. In the hybrid formulation, we allow active locomotives on trains to travel as consists but the deadheading locomotives travel as individual locomotives. At the ground nodes, where inbound trains bring their consists, they are broken into individual locomotives. These individual locomotives flow on ground arcs. When outbound trains need active locomotives, they draw only the prespecified consists from the ground pool; but when they need deadhead locomotives, they can draw individual locomotives. The reader can observe that the solution space of the hybrid formulation is a subset of the solution space of the locomotive flow formulation but a super set of the solution space of the consist flow formulation. We next give the MIP formulation of this hybrid version. The decision variables are: xte: Binary variable representing the number of active consists of type c eC on arcl e TrArcs . yfk : Integer variable representing the number of nonactive locomotives (deadheading, light traveling or idling) of type k E K on arc e AllArcs . zz :Binary variable which takes value 1 if at least one locomotive flows on arc l e LiArcs and 0 otherwise. sk : Integer variable indicating the number of unused locomotives of type k E K . We formulate the problem as follows: minz = cCCxic + C d~lk I Fz CGkSk (3.2a) leTrArcs ceC leAl/Arcs keK leLArcs keK x ec = 1, for all I e~rArcsr, (3.2b) ceC 1ac kX, Ic +~ f y<12, for all l e TrArcs, (3.2c) ceC keK keK Cackc + J = C ~:, for all leTrArcsr,k eK, (3.2d) ceC heO(head(1)) Cack c Ik = C y, for all leTrArcs, k K, (3.2e) ceC hel(tall(1)) Syr yl = 0, for all i E GrNodes, k E K, (3.2f) lel(r) leo(r) yf~ < 12z,, for all le LiArc~s, (3.2g) keK acXLk~i~rSII~/ cday(1) + ~ yYda( +k=Bfor all k E K, (3.2h1) leS ceC leS xic E {0,1), for all l E TrArcs, c e C, (3.2i) y, 0 and integer, for all l E AllArcs, k E K, (.j z, a (0, 1), for all l E LiArcs, (3.2k) sk 0, for all k K. (3.21) The constraints in this formulation are similar to those in the consist flow formulation. The only difference is we have to construct the flow balance equations for train arrival and departure nodes (3.2d) and (3.2e) differently (with multipliers) because active locomotives flow as consists on trains and locomotives flow as individual locomotives on the connection arcs and ground arcs. In this formulation also, we enforce the tonnage, active axles and the horse power constraints implicitly and hence share some of the advantages that the consist formulation has over the flow formulation. The computational results presented in Section 3.5.1 show that consist flow formulation gives comparable solutions to the hybrid formulation, thereby demonstrating that disallowing consist busting does not come at a big cost. We also observe that hybrid formulation takes much more time compared to the consist flow formulation as the flexibility to break and reassemble consists, increases the solution space significantly and the decision variables have multipliers associated with them which makes the MIP harder to solve. 3.3.4 Identifying Good Consists During our computational testing of the consistbased and hybrid formulations, we observed that the performance critically depends on the number and types of consists. The greater the number of consists with different horsepower and tonnages, the better the quality of the solution since there are more potential matches between need and availability. However, from implementation perspectives, we would like to use the minimum number of consists as it keeps the solution simple and provides greater opportunities for substitution between different consist types which is done when trains run late. We are thus faced by the problem of finding a small set of good consist types which provide as good a solution as a large number of consist types. We show that using a minor change in our existing formulations, we can choose a small set of p good consist types from a given larger superset of potential consist types C. We accomplish it by introducing the following decision variables: ze = Binary variable which takes a value 1 if consist type c EC is used, and a value 0 otherwise and add the following constraints to the formulations: C(xic + yl) <: Mzc, for all c EC , where M is a sufficiently large number. The first constraint sets ze = 1 whenever a consist type is used, and the second constraint ensures that no more than p such variables are set to 1, or no more than p consist types are used. These constraints will ensure that the model picks a set of p optimal consists from the predefined superset of consists C that minimizes the overall solution cost. 3.4 Incorporating Practical Requirements We describe several additional requirements that a locomotive planning model must satisfy which we did not incorporate in our previous research reported in Ahuj a et al. (2005). These features are necessary to generate an implementable locomotive plan. 3.4.1 Incremental Locomotive Planning Our formulations described in Section 3.3 generate a locomotive plan for a given train schedule from scratch or zerobase. However, over time, train schedules change in response to shifts in traffic patterns, to free up tracks for periodic repair and replacement, and because of network outages such as hurricanes, floods, and winter blizzards. These changes include some trains being added or removed, or changes in train frequencies, train timings, and train tonnages. We can use our locomotive planning model to generate a brand new optimal locomotive plan for the modified train schedule. But, the former plan and the new plan could potentially be quite different requiring managers to reposition power from the old cycles to the new cycles causing much disruption to operations. Consequently, an additional challenge to locomotive planning is the development of implementation strategies for introducing new plans to an organization. Our research shows that the optimal (or nearoptimal) frontier of solutions for the LPP is quite broad and quite flat, which means that there are a very high number of combinations of locomotive plans that produce similar values for the model obj ective function. Consequently, it would be desirable to choose a new locomotive plan that closely resembles the current locomotive plan, minimizing the number of tactical repositioning moves required to transition from one plan to another. The incremental locomotive planning algorithm takes in the current locomotive plan and changes in the train schedule, and produces a new, incrementally different locomotive plan. The current weekly train schedules and their currently planned locomotive assignments are inputs to this problem. Since the current plan need not conform to prespecified consists, this model is a locomotive flow based model. The algorithm consists of the following steps: * Take the current weekly plan and obtain a current daily plan. The trains which are considered a part of the daily problem are those trains which have a frequency greater than p (usually p = 4). The current daily flows for these trains are taken to be the most frequent locomotive assignment on the sevenday trains corresponding to this daily train in the current solution. For example, if a train is assigned an active flow of 2 SD40 for five days of a week and an active flow of 2 AC44 for one day, then the corresponding daily train will be assigned a flow of 2 SD40 in the current daily plan. * Solve the incremental oneday flow formulation. * Use the output of the incremental oneday flow problem and transition back to the seven day problem by using the standard approach suggested in Ahuj a et al. (2005). Since consistency is enforced while moving from the oneday to the sevenday solution; the incremental model's output is likely to be similar to the current weekly plan. The incremental oneday flow formulation has the following decision variables: xf : Integer variable representing the number of active locomotives of type k E K on the arc lE TrArcs . yfk : Integer variable indicating the number of nonactive locomotives (deadheading, light traveling or idling) of type k e K on the arcl E AllArcs . afk :Positive deviation from the current flow for locomotive type k. af:Negative deviation from the current flow for locomotive type k. zz :Binary variable which takes value 1 if at least one locomotive flows on arc l e LiArcs and 0 otherwise. sk : Integer variable indicating the number of unused locomotives of type k E K . The obj ective function and constraints are: miz ckx +dly?GkSk+ Iak'+ k)P (3.3a) leTrArcs keK leAl/Arcs keK keK leTrArcs keK We consider the same constraint set as that in the flow formulation (Ahuja et al. (2005)) with the following additional constraint: afr af =xI + y (x, + yf ),foalv l ~le rcs ,L (3.3b) af ,a~ >0. (3.3c) where P is the penalty for deviating from the current daily plan's assignment, and x k, yl are the current daily flows on arc 1. This in effect sets a~k and afk to the positive and negative deviations from the current daily plan respectively. By varying the value of parameter P, we can get solutions which differ from the current daily plan and hence the current weekly plan by different degrees. We measure the difference between the output of the incremental planning model and the current plan as: Number of trains for which the model assignment differs from the current plan % difference = x 100 Total number of trains Note that while it is not possible to directly control the percentage difference (above). By suitably modifying P we can obtain solutions which differ from the current plan by varying degrees (Increase in the value of P leads to a decrease in the percentage difference). Incremental planning enables the railroad to make a sequence of incremental improvements and arrive at the optimal locomotive plan without huge transition costs. 3.4.2 Cab Signal Requirements Each locomotive in the fleet is equipped with specialized equipment that may enable it to operate in certain restricted territories while at the same time disqualify it from operating in other territories. Some of this equipment is required to enable the locomotive to be the first in a consist or the lead locomotive. Other equipment may be required by union rules or regulatory rules unique to certain geography. Some of these constraints are handled during tactical (real time) assignment of locomotives to trains. However, one particular constraint, which we call the cab signal constraint, must be a part of the locomotive plan. Railroad corridors are equipped with signaling systems to control the movement of trains. Most corridors are outfitted with wayside signals only; the crew in the locomotive observes the signal and slows, stops, or proceeds depending on it. To increase safety, some corridors do not have wayside signals but instead are equipped with cab signal systems, where the signal is displayed inside the locomotive. Not only do cab signals aid the crew in foggy weather or in cases where the wayside signal may be obscured but the cab signal systems also interface with the locomotive throttle and brake and in cases where a crew does not honor the signal, the system will automatically slow down and then stop the train to avert a possible collision. Federal law requires that all consists operating in cab signaled territory must have a lead locomotive that is outfitted to interface with the cabsignal system. For planning purposes, railroads like to have all locomotives in a consist equipped with cab signals so that suppose the lead locomotive breaks down, the units can be swapped on the line of road and the train will continue; or, at the end of the line, the consist can reverse direction without being turned. Outfitting a locomotive with cab signals costs in excess of $100,000 and there are increased maintenance and inspection requirements as well. Consequently, railroads do not equip every locomotive with cab signals since that is too costly. To incorporate the cab signal logic, we partition each consist type into two consist types, one with the cab signal capability and the other without the cab signal capability. For example, consist type 2[SD40] can be decomposed into the categories: 2[SD40Normal] and 2[SD40 Cab]. Similarly, we decompose the fleetsize requirements for SD40 locomotives into two parts: SD40Normal and SD40Cab (this decomposition is an input provided by the railroad). For each train 1, which operates in a cab signal corridor, we ensure that the all the consist flow variables on it, that is, x;f ,y; are zero when c is not a cab signal compatible consist. This change guarantees that all the trains in cab signal corridors are assigned cab signal consists, but those in normal corridors can be assigned either kind of consist. While this change does not change the nature of our model, it increases the number of consists which increases the number of decision variables and constraints proportionately, and leads to consequently longer run times. While the locomotive flow formulation (Ahuj a et al. (2005)) which suffers from intractability cannot handle the increased problem size, the consist based formulation is also able to solve this larger problem quickly. 3.4.3 Foreign Power Requirements Railroads often cooperate to run trains directly from the origin station on one railroad to the destination station on another railroad. These trains are called runthrough trains. By allowing locomotives from the originating railroad to stay with the train through to destination, the cooperating companies eliminate queuing of trains and locomotives at the interchange stations that would otherwise occur as one railroad would have to move extra locomotives to the interchange point in anticipation of the train arrival, or the train would have to sit at the interchange waiting for locomotives. Over the week, several inbound runthrough trains bring in foreign power into the network and several outbound runthrough trains return foreign power to other railroad networks. However, the inbound and outbound runthrough train schedules are not perfectly balanced and the foreign power often flows back to other interchange locations or on direct or indirect trains. But, at the end of the week, each company is obligated to return as many locomotives that it receives from each connecting carrier in order to maintain the overall balance of power across North America. The foreign power requirement is incorporated by making appropriate changes to the spacetime network. The network is augmented in such a way that solving the LPP would automatically guarantee a plan which accommodates foreign power. We create the augmented spacetime network in the following manner. We first create the spacetime network for the LPP as described in Section 3.3.1. Then, we create a pseudo super station for each of the foreign railroads. All the trains which bring in foreign power into the system originate at their respective super stations and terminate at their respective destinations. All the trains which send foreign power out of the system originate at their respective origins and terminate at their respective super stations. Due to the flow balance constraints, the number of locomotives (or consists) of a particular type entering a super node will be equal to the number of locomotives (or consists) of the same type leaving the same super node. However, the model may use the super station as a shortcut between two geographic stations. For e.g. a consist that needs to travel between Chicago and Memphis may be routed from Chicago to a super station and then from the super station to Memphis because it is cheaper to do so. To prevent this kind of shortcutting, we set the costs on ground arcs at the super node to a large value. This ensures that the solution does not misuse the super node as a shortcut between two geographic stations and that only essential foreign power movement takes place between railroads. 3.5 Computational Results We now present computational results on several problem instances. We also present the results of case studies and draw insightful conclusions. We implemented our algorithms in Visual Basic .NET programming language and tested them on the data provided by a maj or Class I railroad. We modeled our integer programs using Concert Technology 2.0 modeling language and solved them using the CPLEX 9.0 solver. We conducted all computational tests on a Pentium IV, 512 MB RAM and 2.4 GHz processor desktop computer. 3.5.1 Comparison of Formulations We compare the performances of the consist based formulation and the hybrid formulation on reallife instances while varying the prespecified input consist set as shown in Table 31. The first row of the table shows three input consists. Each subsequent row adds two more consists to the previous set of consists. We ran both the consist and hybrid formulations with these consist compositions and noted the running time and solution cost on two different reallife scenarios given to us by the railroad. Table 32, Table 33, and Figure 33 present the results of the comparison. We make the following observations from this study: * As we increase the number of consists used, the solution becomes progressively better. An increase from three to nine consists leads to an improvement of more than 17% whereas an increase from nine to seventeen consists gives an improvement of less than 3% demonstrating the law of diminishing returns. * The obj ective function of the hybrid formulation for all cases is only marginally (< 5 %) better than that of the consist formulation. We also applied the original flow formulation developed in Ahuj a et al. (2005) to these two scenarios but it did not converge to a feasible solution even after 10 hours computation time. From these tests, we conclude that the consist formulation is an excellent way to model the LPP and we need a small number of consists (less than 10) to obtain good solutions. 3.5.2 Identifying Good Consists In Section 3.3.4 we described a method to select a set of p optimal consists from a larger candidate set of consists. Here, we consider an instance of the LPP and a set of 15 candidate consists. We then determine the optimal set of consists as described in Section 3.3.4, varying the parameter p from 3 through 15, and note the obj ective function values of the problem for each case. We also compare these obj ective function values to the obj ective function value obtained when we use the set of eleven consist types specified by the railroad (blue line in the figure). Figure 34 presents these computational results. We draw the following conclusions from these results: * As the number of consists used increases, the solution quality improves. However, there are diminishing returns as we add more consists. * Using just five consists, we are able to match the solution obtained by using the eleven consists specified by the railroad. * Six consists, if chosen judiciously, can give as good a solution as fifteen consists. This is a gratifying observation as railroads desire five or six consists to ensure plan simplicity and plan compliance. 3.5.3 Incremental Locomotive Planning In this study, we present computational results of the method described in Section 3.4. 1 to solve the planning problem incrementally. In the incremental planning problem, we are given a possibly nonoptimal feasible solution xo and we wish to incrementally optimize it. Let x* denote the optimal solution of the LPP. We present the results of this test in Table 34. We start with solution xo and make incremental changes to it so that it gets closer to the optimal solution and we control the extent of changes. Observe that as we increase the extent of change allowed by decreasing the penalty, we progressively obtain improved solutions which differ from xo by a greater extent but use lesser number of locomotives. Also note that the solution when the penalty is zero is largely different from the current solution xo 3.5.4 Case Study We conduct a case study to demonstrate the usefulness of the model to assist decision making. The various aspects of the problem that we test in this case study are as follows: (1) Effect of varying minimum connection time on solution cost, (2) Effect of varying transport volumes on key transport performance characteristics; and (3) Effect of varying train times on key transport performance characteristics. Effect of varying minimum connection time on solution cost Freight trains do not run on time and often arrive later than their planned arrival time, which makes it difficult for locomotive dispatchers to adhere to the locomotive plan. One method commonly recommended to improve plan compliance is to increase the traintrain minimum connection times (defined in Section 3.2.1). Although increasing the minimum connection time may improve plan adherence, it also increases locomotive costs as more locomotives will be held in inventory at terminals. We quantify the impact of increasing the minimum connection times. We performed the test for a representative instance where we varied connection times from zero hours to ten hours and noted the total cost incurred by each solution. This test was done twice, first with an input set of nine consists and then with an input set of eleven consists. We present the results of the test in Table 35 and Figure 35. We draw the following conclusions from the study: * The minimum connection time could have a significant impact on the number of locomotives used and the solution cost. * The solution cost increases linearly with the increase in connection times at the rate of around $200,000 per hour. Depending upon the train lateness and the willingness of railroad planners to improve locomotive plan compliance, appropriate connection times can be used. In this study, we assumed same connection times systemwide. Railroads may want to experiment with station dependent connection times based on historical lateness performance of trains. As shown in this study, railroads can use the model to quantify the tradeoff between decreasing minimum connection times and increasing solution costs. Effect of varying transport volume on key performance characteristics We measure the impact of varying transport volumes (or train tonnages) on the following key transport characteristics: number of locomotives used, solution cost, mean pulling power of a consist, and mean miles traveled per consist. We start with a solution with specified tonnages on each train. We then proceed to decrease tonnages by steps of five percent and measure the impact on transport characteristics. We then repeat the test but this time increasing tonnages by steps of five percent. The results of these tests are presented in Table 36 and Figure 36. The consist flow formulation was able to solve all instances in less than two minutes of computational time. We draw the following conclusions from this study: * As the transport volume (mean tonnage) increases, the solution cost tested increases as a quadratic function with an increasing slope * The mean pulling power of each consist and the number of locomotives used increase as expected; however, the average number of miles traveled by each consist remains roughly the same. * The consist flow formulation is robust since it solves all the instances in less than two minutes of computational time. As we demonstrate, railroads can use the model as a generic approach for modeling the optimal number of locomotives needed or the cost as a function of the rail freight transport volume over the entire network. Effect of varying train speed on key performance characteristics We measure the impact of varying train speeds on the following key transport characteristics: number of locomotives used, solution cost, mean pulling power of a consist, and mean miles traveled per consist. We start with a solution with specified travel times on each train. We then proceed to decrease travel times by steps of five percent and measure the impact on the transport characteristics. We then repeat the test but this time increasing travel times by steps of five percent. The results of these tests are presented in Table 37 and Figure 37. The consist flow formulation was able to solve all these instances in less than two minutes of computational time. We draw the following conclusions from this study: * As the train travel times increase, the solution cost increases as a quadratic function with an increasing slope. * The number of locomotives used also increases as shown in the table; however, the mean miles per consist remains roughly constant. * The consist flow formulation is robust since it solves all the instances in less than two minutes of computational time. Increasing train speeds improves efficiency of the network and leads to lesser scheduling costs. However, it may also lead to an increase in other costs like fuel consumption cost, safety, etc. The railroad can use the model to perform costbenefit analysis to tradeoff the increase in cost of operations with the savings in scheduling costs and consequently determine their optimal strategy . 3.6 Summary and Conclusions Our research builds upon our previous work on railroad locomotive scheduling. We focus on improving the planning version of the problem, where we assign locomotive types to various trains. We extend the approach on several dimensions by adding new constraints to the planning problem required by the railroads, and by developing additional formulations necessary to transition solutions of our models to practice. The maj or contribution is to suggest a new approach of routing consists (a group of locomotives) rather than routing individual locomotives. We show through our computational tests that even though routing of consists seems to restrict the solution space of the LPP, if we create good consists, we can get almost as good solutions as with the earlier formulations. This is a very important observation since solutions of the consist formulation are much easier to implement, cause less train delays, and allow greater flexibility for mixandmatch for locomotive dispatchers. Further, we found that the consist formulation runs faster and is more robust than the earlier flowbased formulations. Another important contribution in the chapter is to enable a railroad to progressively move towards an optimal locomotive plan in several smaller and realistic steps by solving a sequence of incremental LPPs. Finally, we also added important practical features such as accounting for foreign power and cabsignal locomotives, which are critical to generating implementable locomotive plans. The locomotive planning model creates a blueprint for use by managers to assist them in making daytoday decisions regarding locomotive assignments. We demonstrate the usefulness of this model by performing extensive case studies to evaluate the impact of varying minimum connection times, freight transport volumes, and train speeds (or travel times). In the future, we hope to develop tools for use by tactical locomotive dispatchers to assign locomotives by specific tail numbers. This realtime model will strive to return the network to plan, while maintaining fluidity and minimizing overall costs. The locomotive planning models described will form the core of the realtime locomotive models. Table 31. Set of input consists. Index # Consists Consist Set Horsepower 1 3 2[SD40], 3 [SD40], 3 [CW408] 6000, 9000, 12000 2 5 & 2[CW60AC], 2[CW408]+1[SD40] 12000, 11000 3 7 & 1[CW408] + 2[SD40], 2[CW44AC] 10000, 8800 4 9 & 2[CW408], 2[SD40] + 1[SD60I] 8000, 9800 5 11 & 2[CW408] + 1[CW60AC], 1[CW408] + 1[SD40] 14000, 7000 6 13 & 1[SD60I] +1[GP40], 1[CW44AC] +1[SD40] 6800, 7400 7 15 & 4[SD40], 2[GP40] 12000, 6000 8 17 & 2[SD60I], 3[GP40] 7600, 9000 Table 32. Comparison of formulations: Scenario 1 Table 33. Comparison of formulations: Scenario 2 382 trains, 6 locomotive types, 87 stations Consist formulation Hybrid formulation # of Locos Locos consists used Cost ($) Time (sec) Status Used Cost ($) Time (sec) Status 388 trains, 6 locomotive types, 87 stations Consist formulation Hybrid formulation Locos # of consi sts 3 5 7 9 11 13 15 17 Locos used 1,376 1,330 1,183 1,051 1,047 1,045 1,047 1,047 Cost ($) Time (sec) used 1,338 1,285 1,141 1,052 1,051 1,057 1,058 1,056 Cost ($) 9,671,012 9,402,383 8,337,573 8,164,544 7,994,043 7,923,847 7,833,838 7,833,073 Time (sec) 120.0 (e 120.0 450.0 600.0 600.0 1,000.0 1,000.0 1,500.0 Status Optimal Optimal Optimal Optimal Optimal Optimal Optimal 0.1% gap Status 0.4% gap 0.1% gap 0.6% gap 4.1% gap 1.7% gap 8.6% gap 6.4% gap 6.7% gap 9,991,949 9,789,957 8,597,982 8,221,321 8,118,454 8,062,075 7,995,065 7,995,065 2.9 45.0 10.8 4.8 9.1 92.6 114.0 120.0 Optimal Optimal Optimal Optimal 0.1% gap 0.6% gap 1.8% gap 1.7% gap (c) 1,361 1,312 1,166 1,060 1,056 1,066 1,071 1,071 9,813,393 9,573,504 8,517,248 8,282,831 8,179,846 8,112,917 7,990,316 7,990,300 347.0 450.0 450.0 600.0 600.0 1,200.0 1,200.0 1,800.0 Optimal 0.4% gap 1.4% gap 2.6% gap 2.3% gap 8.1% gap 4.2% gap 4.9% gap 1,388 10,071,804 120.0 13.1 11.4 34.6 120.1 450.0 450.0 450.0 1,343 1,201 1,064 1,062 1,056 1,062 1,063 9,871,203 8,731,696 8,383,781 8,301,766 8,247,947 8,204,256 8,204,160 Table 34. Computational results of incremental locomotive planning. Penalty Value 1,800 1,600 1,400 1,200 1,000 800 600 500 400 300 200 100 0 Difference 5.5% 5.5% 6.3% 7.0% 7.4% 10.5% 19.4% 22.1% 26.4% 28.3% 36.8% 60.6% 81.0% Locos Used 1,463 1,463 1,430 1,393 1,382 1,352 1,214 1,175 1,159 1,141 1,146 1,130 1,128 Time (min) 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 Table 35. Effect of varying the minimum connection time. Min Scenario 1: 9 Consist Types Scenario 2: 11 Consist Types Connection Time (hrs) 0 1 2 3 4 5 6 7 8 9 10 Cost ($) Locos Used Time (sec) 19.8 7.5 4.0 2.6 2.9 10.0 14.3 7.2 23.2 20.6 12.3 Cost ($) 7,408,113 7,628,916 7,832,533 8,010,123 8,218,477 8,392,475 8,617,059 8,778,249 9,042,940 9,165,863 9,306,191 Locos Used 903 943 973 1,009 1,047 1,083 1,131 1,164 1,221 1,245 1,274 Time (sec) 38.3 3.3 16.3 5.5 4.2 4.2 9.7 34.6 86.8 57.7 37.7 7,497,798 7,734,067 7,926,831 8,112,888 8,330,598 8,506,699 8,732,819 8,896,129 9,163,605 9,277,919 9,439,117 903 947 977 1,015 1,049 1,081 1,127 1,159 1,221 1,245 1,277 Table 36. Effect of varying transport volumes. % increase in Mean tonnage Locos tonnage of trains Used 20 6,183 1,026 15 6,570 1,026 10 6,956 1,042 5 7,342 1,040 0 7,729 1,049 5 8,115 1,079 10 8,502 1,117 15 8,888 1,171 20 9,275 1,214 Table 37. Effect of varying train travel times. Solution Cost ($) 7,502,802 7,588,421 7,726,579 7,910,331 8,120,134 8,437,334 8,812,467 9,296,423 9,635,790 Mean pulling power/consist 10,099 10,373 10,464 10,841 11,093 11,457 11,828 12,483 12,715 Mean miles/ consist 405.05 405.04 404.17 405.14 403.73 403.86 405.27 403.98 405.12 % increase in travel time 20 15 10 5 0 5 10 15 20 Locos Used 915 937 975 1,003 1,049 1,073 1,111 1,148 1,171 Solution Cost ($) 6,959,179 7,189,839 7,531,424 7,778,318 8,120,834 8,383,096 8,702,847 8,967,099 9,194,210 Mean pulling power/consist 11,237 11,236 11,199 11,157 11,093 11,197 11,151 11,056 11,038 Mean miles/ consist 403.20 404.67 407.52 404.78 403.73 405.00 404.07 405.12 404.92 OneDay Scheduling Problem: Transform the problem to the _ oneday scheduling problem and solve it. SevenDay Scheduling Problem: Reoptimize oneday locomotive schedule to determine the sevenday schedule. Determine light travel Determine a sevenday assignments (possibly infeasible) solution. Determine traintrain Solve a sequence of single connections commodity flow problem to obtain a feasible sevenday Determine active & deadhead solution. assignments Improve solution using VLSN search Improve solution using VLSN search Figure 31. Overview of the locomotive scheduling algorithm Train Arcs Ground Nodes / 1 Train Arcs Arrival / Nodes 1C O ~ ~Train 1>  Deaur V INodes Time ~Train 4 O O ~ ~Train 2>0  ...L.. Train 5 O I Train3 ... ..... Train 6>O Train arcs: Connection arcs: .......... Ground arcs:  ) Figure 32. A part of the spacetime network.  Scertrio 1 Serario 2 Samonm 3 5 7 9 11 13 15 17 19 NaItmer of Consists Figure 33. Solution cost of the consist formulation vs. number of consists. Consist Optimization Problem 8,500,000 8 000 000 7,500,000 O 2 4 6 8 10 12 14 16 Number of Consists Figure 34. Solution cost vs. number of consists. $10o,000,000o S9 consist types 11 Iconsisttypes $9,500,000 $9,OOO, OOO $8,500,000 $8,OOO, OOO $7,500,000 $7,OOO, OOO O 123456789101 Mininurn Cornection tirne~ (hr~) Figure 35. Solution cost vs. minimum connection time. 10.000.000 9,500,000 S8,500,000 O 8,000,000 7,500,000 6,000 6,500 7,000 7,500 8,000 8,500 9,000 9,500 Mean tonnage Figure 36. Solution cost vs. transport volumes. y=11D1.7X2+556+E0 2 5 1 5 1 5 % icras i tavl im Fiue37 ouincs s.%ices ntae ie CHAPTER 4 THE LOCOMOTIVE ROUTINTG PROBLEM 4.1 Introduction The obj ective of the LPP is to assign locomotive types to trains in a cyclic train schedule, while honoring several operational constraints and minimizing the overall cost of assignment. Our models to solve the LPP, described in Chapter 3, assign locomotive types to trains in the schedule ensuring that every train in the weekly repeating schedule gets sufficient pulling power, locomotive flows are balanced, and several other operational constraints are satisfied; however, they do not account for the fueling and servicing feasibility of individual locomotive units. We bridge this gap and develop methods that can be used to route locomotive units on fueling and servicing friendly cycles. Locomotive plans or schedules are blue prints based on which the railroads manage their operations in realtime; our research is hence a vital cog in the area of locomotive management since it makes the blueprint more realistic and implementable. The LRP involves routing each locomotive unit on a cyclic sequence of trains so that it can be fueled and serviced as necessary; while at the same time satisfying all other business and operational constraints considered in the LPP. We refer to the sequence of trains on which a locomotive unit travels as a locomotive route. Fueling feasibility requires that each locomotive route has sufficient fueling opportunities to ensure that the locomotive does not run out of fuel (outoffuel event). This translates to the constraint that every locomotive needs to have a fueling opportunity at least once for every F miles (900 miles) of travel. Similarly, servicing feasibility requires that each locomotive route has sufficient servicing opportunities and this translates to the constraint that every locomotive needs to have a servicing opportunity at least once for every S miles (3,000 miles) of travel. Suppose all the stations in the network support fueling and servicing, any feasible solution to the LPP could be trivially decomposed into a fueling and servicing friendly routing of locomotives using a straight forward polynomialtime cycle decomposition algorithm (Ahuja, Magnanti, and Orlin (1993)). However, typically only 50% of the stations on the train network support fueling and 30% of the stations support servicing, and this makes the LRP an extremely complex combinatorial optimization problem. Indeed, this problem remains practically unstudied and unsolved, and our chapter reports the first attempt to model and solve the LRP using optimization methods. The LPP (Ahuj a et al. (2005), Vaidyanathan et al. (2007b)) is analogous to the well studied airline fleet assignment problem (Abara (1989), Talluri (1996), and Rexing et al. (2000)) and the LRP is analogous to the well studied aircraft maintenance routing problem (Clarke et al. (1997), Gopalan and Talluri (1998), Barnhart et al. (1998), and Talluri (1998)). Integrating airline fleet assignment and maintenance routing into a single problem makes the problem very hard to solve. Hence, the predominant approach adopted is sequential; i.e. the fleet assignment problem is solved first to fix the assignment of aircraft types to flights, and the aircraft routing problem is solved next to route individual aircraft. Several researchers have worked on the aircraft routing problem. Clarke et al. (1997) present a mathematical formulation for the aircraft routing problem and discuss its similarity with the asymmetric traveling salesman problem. Gopalan and Talluri (1998), and Talluri (1998) describe methods to generate aircraft routings that satisfy the fourday maintenance requirement. In another study with a different obj ective, Feo and Bard (1989) study the maintenance location problem to find the minimum number of maintenance stations required to meet the specified 4day maintenance requirements for a proposed flight schedule. The only study which considers the integrated fleet assignment and aircraft routing problem is due to Barnhart et al. (1998). They use a branchandprice based approach to solve the integrated airline fleet assignment and aircraft routing problem. However, even for small problems with 150200 flights their approach takes 34 hours of computational time. The study of various locomotive scheduling models has also been reported in the literature; however none of these consider the fueling and servicing requirements of locomotive units. In Chapter 3, we survey the preexisting research on the LPP. The most comprehensive multiple locomotive planning models are due to Ahuj a et al. (2005) and Vaidyanathan et al. (2007b). The only existing railroad research which considers maintenance requirements is due to Maroti and Kroon (2005). They consider the problem of routing locomotive units that require maintenance in the next one to three days and propose a multicommodity flow model to solve this problem. Their problem definition does not consider fueling requirements and this reason among several others makes their problem less general than the LRP that we consider. The existing methods in the literature for aircraft routing cannot be directly applied to the LRP. This is because the LRP is more complex than the aircraft routing problem due to the following reasons: (a) Every airport on the airline network supports fueling, making fueling feasibility a nonissue; however every station on a railroad network does not support fueling; (b) Airlines do not operate during the night and this gives added flexibility to satisfy maintenance requirements whereas railroads operate round the clock; (c) Flight legs on the airline network are assigned to only one aircraft whereas trains on a railroad network are usually assigned several locomotive units; and (d) Aircraft routing problems are typically solved for a few hundred flights whereas the LRPs need to be solved for schedules with a few thousand trains. Also, note that the integrated approach used by Barnhart et al. (1998) takes 34 hours of computational time even for a problem with 150200 flights; this is a very small problem from the railroad perspective. Due to these reasons, we adopt a two stage decomposition approach to solve the problem. In the first stage we solve the LPP, using existing methods, to obtain an assignment of locomotive types to trains (locomotive schedule). In the second stage, we use the methods described in this chapter to solve the LRP and route locomotive units on fueling and servicing friendly cyclic routes (locomotive routes). While solving the LRP, we fix the assignment of locomotive types to trains based on the output of the LPP, and use the flexibility of varying the connections of locomotives between trains (train connections) to achieve fueling and servicing feasibility. We illustrate the importance of train connections through the following example. Consider a locomotive that arrives at a station on train A having traveled 500 miles after its last fueling. Let this locomotive have the option to connect to either train B or train C. While train B has a length of 300 miles and terminates at a fueling location, train C has a length of 500 miles and also terminates at a fueling location. If the locomotive connects from train A to C, then the total length of travel between fueling opportunities becomes 1,000 miles (> 900 miles) and leads to an outoffuel event. On the other hand, if the same locomotive connects from train A to B, the total length of travel between fueling opportunities is 800 miles and the locomotive route is fueling feasible. However, note this example considers a local single connection (or two trains) case but fueling and servicing feasibility is often related to more than one connection (or a sequence of trains). We formalize this notion by introducing the concept of strings. Strings enable us to account for the fueling and servicing feasibility of a sequence of trains on which a locomotive unit travels. Hence, each locomotive route is made up of a sequence of strings. Since we fix the assignment of locomotive types to trains, the LRP can be solved as an independent problem for each locomotive type. Our solution approach for the LRP involves the following steps. First, we enumerate alternative fueling and servicing feasible paths (or strings) between service stations in the train network using dynamic programming. Once we enumerate the strings, we formulate an integer program called string decomposition problem (SDP) on a suitably defined spacetime network to decompose the locomotive schedule into flows on strings. The output of the SDP can then be assembled into fueling and servicing friendly cycles using the standard polynomialtime cycle decomposition algorithm (Ahuj a, Magnanti, and Orlin (1993)). However, SDP is NPComplete and has millions of decision variables. We develop an aggregationdi saggregation based method to solve thi s problem efficiently. Our aggregation disaggregation method involves two steps. In the first step, we formulate and solve a much smaller aggregated SDP and in the second step we disaggregate the solution of the first stage to obtain a solution to the original problem. Finally, we develop necessary constraints that can be added to the LPP so that the planning model also considers fueling and servicing constraints to some extent. Our maj or research contributions are: * We develop a modeling framework and a multistage decomposition solution approach for the LRP which is a previously unstudied and unsolved problem. This problem is more complex than the well studied analogous aircraft routing problem. * We formulate the LRP as an integer programming string decomposition problem (SDP) on a suitably defined spacetime network and prove that the problem is NPComplete. * We develop efficient dynamic programming algorithms to enumerate strings which are the decision variables in the SDP. * Due to the combinatorial nature of strings, the SDP has close to a million decision variables. We develop an aggregationdi saggregation based algorithm to solve thi s extremely large NPComplete problem to near optimality within a few minutes of computational time. * We present extensive computational results to validate the performance of our approach and present case studies of our algorithms on reallife data provided by a Class I US railroad. We present the first comprehensive study of the LRP, which has remained practically unstudied and unsolved. We model the LRP using network based integer programming techniques and design efficient algorithms to solve it. Our computational results demonstrate the efficacy of our algorithms; the algorithms that we present produce near optimal solutions within 5 minutes of computational time on several reallife instances obtained from a Class I US railroad. We also demonstrate the usefulness of our model to perform strategic analysis through suitable case studies. We believe that this research is a crucial step in our overall obj ective of enabling railroads to manage their locomotive resources more efficiently through optimization techniques. 4.2 Notations and Terminology Train Schedule: The train schedule (or train network) contains the set of trains which operate every week. Each train has the following attributes: train ID, departure station, departure time of the week, arrival station, arrival time of the week, and duration. Railroads typically have a train schedule that is periodic. We assume that the train schedule is weekly periodic and hence we refer to trains in the weekly train schedule as weekly trains. Each weekly train is identified by the unique combination of its train ID and day of operation. For e.g. Train ID TR0 1 which operates on Monday, Tuesday, and Thursday corresponds to three weekly trains, TR01Monday, TR01Tuesday, and TR01Thursday. TR01 is also referred to as a daily train. Locomotive Schedule: The locomotive schedule specifies the assignment of locomotive types to all trains in the week such that all operational constraints, other than the fueling and servicing requirements, are satisfied. These constraints include pulling effort and horse power constraints for each train, flow balance for each locomotive type, fleetsize constraints, flow upper and lower bounds on each train, and weekly repeatability of locomotive assignments. Decomposed Locomotive Schedule: The locomotive schedule can be decomposed with respect to the different locomotive types in the fleet. The decomposed locomotive schedule which corresponds to a particular locomotive type considers only the trains that carry that locomotive type and also considers only assignments of that particular locomotive type. For e.g. Suppose we consider a schedule with three trains, TR0 1 has an assignment of one unit of type A and one unit of type B, TRO2 has an assignment of two units of type A, and TRO3 has an assignment of two units of type B. Then, the decomposed locomotive schedule corresponding to locomotive type A will contain TR0 1 with as assignment of one unit and TRO2 with an assignment of two units; and the decomposed locomotive schedule corresponding to locomotive type B will contain TR01 with an assignment of one unit and TRO3 with an assignment of two umits. Decomposed Train Schedule: The set of trains in a decomposed locomotive schedule of a particular locomotive type constitutes the decomposed train schedule of that locomotive type. Fueling Station: A fueling station is a station that supports fueling of locomotives. Every fueling station has an associated fueling time and fueling cost per gallon. Servicing Station: A servicing station is a station that supports servicing of locomotives. All servicing stations are also fueling stations. Each servicing station has an associated servicing time and servicing cost. Train Connection: Refers to transfer of locomotives from an inbound train at a particular station to an outbound train at the same station. Minimum Connection Time: This refers to the minimum time required for a train connection to be made. It is a function of the station at which the connection is made. String: A string is a connected sequence of trains t, t2 . tn ; i.e. the destination of train t, is the same as origin of train toI Fuel String: A fuel string is a connected sequence of trains such that a locomotive unit traveling on this sequence can be fueled feasibly. Service String: A service string is a connected sequence of trains such that a locomotive traveling on this sequence can be fueled and serviced feasibly. 4.3 Overview of Our Approach We present our approach to solve the fueling and servicing friendly LRP in Figure 41. This flowchart presents the various steps in our approach and how these steps relate to each other. In subsequent sections, we then elaborate on details. Note that step 1 involves solving the LPP and steps 24 constitute solving the LRP. The LRP is solved as an independent problem for each locomotive type 4.4 The Locomotive Planning Problem (LPP) Our approach to solve the fueling and servicing routing problem is a two stage decomposition approach where in the first stage we solve the LPP and in the second stage we solve the LRP. The locomotive schedule obtained from the LPP is hence one of the inputs that goes into the LRP. In Chapter 3, we present our research on the LPP. The models developed there give us a locomotive plan that satisfies all constraints other than the fueling and servicing constraints. We develop methods to incorporate fueling and servicing constraints. We fix the assignments of locomotive types to trains based on the solution to the LPP and solve the LRP which uses the flexibility of modifying train connections to enforce fueling and servicing feasibility of locomotive routes. Since we fix the assignment of locomotive types to trains after the LPP, the LRP can be solved as an independent problem for each locomotive type. In our description of the LRP in Sections 4.54.8, we therefore assume that there is only one locomotive type. 4.5 Fuel and Service String Enumeration Algorithms In the introduction, we mentioned that the LRP uses the flexibility of switching train connections in order to achieve fueling and servicing feasibility. In this section, we formalize this notion by defining the concept of strings and also developing algorithms to enumerate strings. The obj ective of the LRP is to route locomotive units in cycles in such a way that each unit has sufficient fueling and servicing opportunities. Consider a unit that travels on one such cycle. This locomotive will visit several stations, some which are servicing stations, some which are fueling stations, and some which are neither. Suppose this cycle is a fueling and servicing friendly cycle. Then, by definition this would imply that the sequence of trains that the locomotive takes between fueling stops is a fuel string and the sequence of trains that the locomotive takes between servicing stops is a service string. This observation is the basis of our approach to solve the LRP. Our approach involves enumerating strings and then decomposing the locomotive schedule into flows on strings. In this section, we develop algorithms to enumerate strings efficiently. We next formally define fuel strings and then describe methods to enumerate them. Fuel string * A fuel string is a sequence of trains t, t2 ... tn Which satisfies the following properties: * It is connected i.e. arrival station of t = departure station oft, I * Departure station of tz and arrival station of tn are fueling stations. * Length of the sting is less than F miles. * The string is minimal; i.e., a fuel string cannot pass through an intermediate fueling station or a fuel string cannot contain another fuel string as a subsequence. * No train repeats in the string. Valid fuel sequence and algorithmic logic We define a valid fuel sequence as a sequence of trains which satisfies all the properties of a fuel string except that it does not terminate at a fueling station. Thus, a valid fuel sequence can be obtained from any fuel string by deleting the last train from it. Conversely, any fuel string can be represented as a valid fuel sequence plus one last train which terminates at a fueling station. Our dynamic programming algorithm uses this property to enumerate fuel strings. The algorithm starts with a seed set of trivial valid sequences and iteratively builds longer sequences from this set. The algorithm is based on repeated application of the following inductive logic: Consider a situation when we have the set of all valid fuel sequences of length k where length represents the number of trains in the sequence. Consider a train that departs from the destination of the last train in the valid sequence. When this train is added to the valid sequence to create an augmented sequence, the following possibilities could occur: * The augmented sequence is a valid fuel sequence in which case we store it in the set of valid fuel sequences of length k+1. * The train which is being added to the valid fuel sequence is already a part of the valid fuel sequence in which case we do not store the augmented sequence in the set of valid fuel sequences of length k+1. * The length of the augmented sequence is greater than F miles in which case we do not store it in the set of valid fuel sequences of length k+1. * The augmented sequence is a fuel string in which case we store it in the set of fuel strings. Fuel string enumeration The fuel string enumeration (FSE) algorithm starts with a set of valid fuel sequences of length one. By definition the set of valid sequences of length one contains all trains which originate at a fueling station and do not terminate at a fueling station. The algorithm then iteratively generates longer fuel strings until all such possibilities have been enumerated. We now give the notation and description of the algorithm. Let Pk denote the set of valid fuel sequences of length k, FS denote the set of fuel strings, and Trains denote the set of weekly trains in the schedule. Then, the fuel string enumeration algorithm can be formally written as shown in Figure 42. The number of valid sequences and fuel strings is finite. Each execution of the innermost loop produces a longer valid sequence, a fuel string, or fathoms that particular valid fuel sequence. Hence, FSE terminates in a Einite number of steps. We now define service strings and extend the dynamic programming approach to enumerate service strings. Service string A service string is a sequence of trains t, t2 ... tn Which is characterized by the following properties, * It is connected i.e. arrival station of t = departure station oft, I * Departure station of tz and arrival station of tn are service stations. * Length of the string is less than S miles. * The string is minimal; i.e., a service string cannot pass through an intermediate servicing station. This implies that a service string cannot contain another service string as a sub sequence. * No train repeats in the string. * The string is also fueling feasible. Since all service stations in the network also support fueling, it follows that for the last condition to be satisfied, every service string has to be constructed from one or more connected fuel strings. Valid service sequence and algorithmic logic We define a valid service sequence as a sequence of trains which satisfies all properties of a service string except that it does not terminate at a service station. Therefore, any service string can be represented as a valid service sequence plus one fuel string which terminates at a servicing station. Our dynamic programming algorithm uses this property to enumerate service strings. The algorithm starts with a seed set of trivial valid sequences and iteratively builds longer sequences from this set. Consider a situation when we have the set of all valid service sequences of length k where length represents the number of fuel strings in the sequence. Consider a fuel string that departs from the destination of the last fuel string in the valid sequence. When this fuel string is added to the valid sequence to create an augmented sequence, the following possibilities could occur: * The augmented sequence created is a valid service sequence in which case we store it in the set of valid service sequences of length k+1. * A train which belongs to the added fuel string is already a part of valid service sequence of length k in which case we do not store the augmented sequence in the set of valid service sequences of length k+1. * The length of augmented sequence is greater than S miles in which case we do not store it in the set of valid service sequences of length k+1. * The augmented sequence forms a service string in which case we store it in the set of service strings. Service string enumeration The service string enumeration (SSE) algorithm starts with a set of valid fuel sequences of length one. By definition the set of valid sequences of length one contains all fuel strings which originate at a service station but do not terminate at a service station. The algorithm then iteratively generates longer service strings until all such possibilities have been enumerated. We now give the formal description of the algorithm. Let Pk denote the set of valid service sequences of length k, FS denote the set of fuel strings, SS denote the set of service strings, Trains denote the set of weekly trains in the schedule, and Trains(1) denote the set of weekly trains that are a part of string 1. Then, the fuel string enumeration algorithm can be formally written as shown in Figure 43. The proof for finiteness of SSE follows in a similar manner to that of FSE. However, since the number of fuel and service strings is an exponential function of the problem size, both these algorithms are exponential time algorithms. Next, we formulate the string decomposition problem which is used to decompose a locomotive schedule into flows on service strings. 4.6 String Decomposition Problem (SDP) In the previous section, we described methods to enumerate service strings. These service strings are the decision variables in the SDP. The obj ective of the SDP is to determine the minimum cost decomposition of a locomotive schedule into flows on service strings. Due to the manner in which service strings are constructed, it follows that a locomotive schedule when decomposed into flows on service strings will give fueling and servicing compliant locomotive routings. We formulate the SDP as an integer programming problem on a suitably defined space time network. We first describe the construction of spacetime network and then the integer programming formulation. We also show that string decomposition is NPComplete by a polynomialtime reduction from the set partitioning problem which is known to be NPComplete (Garey and Johnson (1979)). 4.6.1 SpaceTime Network We denote the spacetime network by G (N, A) where N is the set of nodes and A is the set of arcs in the network. Each node in the network represents an event. The events that we consider are the arrival of weekly trains at service stations and departure of weekly trains from service stations. For each train arrival at a service station, we create a trainarrival node at that station. Once a locomotive arrives at a station, it needs a minimum connection time before being assigned to the next train; i.e., the time at which a locomotive on a train is available for future assignment is the arrival time of the train plus the minimum connection time. We call this time the ready time of the train. To each trainarrival node we assign a time attribute equal to the ready time of the corresponding train. For every train which departs from a service station, we create a traindeparture node at the departure station of the train. To each traindeparture node, we assign a time attribute equal to the departure time of the corresponding train. We now describe the construction of arcs on the network. Let S be the set of service strings enumerated using the methods described in the previous section. Let first(s) denote the first train in string s and last(s) denote the last train in string s ES Since every service string s E S by definition, originates at a service station and also terminates at a service station, the spacetime networks contains a traindeparture node n, E N that corresponds to first(s) and a trainarrival node n2 E N that corresponds to last(s). For each string s, we construct an arc between its corresponding nodes n, and n2 The other set of arcs on the network are train connection arcs. At each service station we construct train connection arcs (CoArcs) between all combination of inbound train and outbound train to model the different possibilities of inbound locomotives being assigned to outbound trains. The following important property directly follows from the construction of the spacetime network. Property 4.1. A locomotive which travels on a cycle in the spacetime network given above can be fueled and serviced feasibly. Proof: Consider a cycle on the spacetime network G (N, A). The cycle will consist of a service string, a connection arc, another service string, and so on until it loops back to the first service string. Since by definition, a locomotive traveling on a service string can be fueled and serviced feasibly, the result follows. * In Figure 44, we illustrate a part of the spacetime network at a particular service station. This station has two incoming trains (two trainarrival nodes), two outgoing trains (two train departure nodes), four incoming strings, seven outgoing strings, and four train connections. Note that the overall spacetime network contains one such component at each service station and the strings connect these components to each other. 4.6.2 Integer Programming Formulation We formulate the SDP as an integer programming problem on the spacetime network. The obj ective of this formulation is to partition the locomotive assignment on each train (locomotive schedule) into flows on the service strings that pass through it while ensuring locomotive flow balance at each station. We now layout the notation and formally define this problem. Trains: Set of all weekly trains. Indexed by 1. CoArcs: Set of all train connection arcs. S: Set of service strings. et,a : Event corresponding to the arrival of train I at a service station. 1,d : Event corresponding to the departure of train I from a service station. S, : Set of service strings ending with train 1. St : Set of service strings beginning with train 1. at~s = 1 if train I is a part of string s E S O otherwise. cs : Cost of a locomotive unit traveling on string s ES . f : Number of locomotives assigned on train I in the locomotive schedule. O: Set of arcs which cross the counttime. The counttime is a reference time at which we count the number of locomotives in the system. It is usually set as Sunday midnight. r : Number of times string s ES crosses the counttime. The decision variables are as follows: x, : Number of locomotives assigned to string s ES . y, : Number of locomotives assigned on train connection arc j e CoArcs. G: Ownership cost of a locomotive. The obj ective function is: M~inI c,x,+ + Gr,x, + 1G sES st(OnS) JE(OnCoArcs) The constraints are the following: al~sxs = J, for all l E Trauins, as x = y for all lE Trains4, seS; Jel(head(1)) Sxs = y ,, for all lE Trains, stS ]EO(tail(1)) y . (4.1a) (4.1b) (4.1c) (4.1d) xs 0 integer, y, >0 (4.1e) Constraint (4.1b) is the set partitioning constraint that ensures that the locomotive assignment on each train is distributed completely on the service strings that pass through it. Constraints (4.1c) and (4.1d) are the flow balance constraints at each node on the spacetime network and they ensure that the total flow entering a node is equal to the total flow leaving a node. The obj ective function (4.1la) is set up to minimize the total cost of fueling and servicing and also the ownership cost of locomotives used. Railroads operate in such a way that whenever a locomotive fuels, its tank is topped off. Based on this assumption and the average fuel burn rate of each locomotive, the cost of each service string cs can be computed considering the cost of servicing and fueling at the final station in the string and the costs of fueling at the other fueling stations encountered enroute. Note that once we obtain a solution to the SDP, the arc flows can be converted into flows on cycles using a standard polynomial time cycle decomposition algorithm (Ahuja, Magnanti, and Orlin (1993)). From Property 4.1, it directly follows that each of these cycles will be fueling and servicing friendly cycles and hence, constitute a solution to the LRP. We now prove that the SDP is NPComplete. Clearly, a certificate for the SDP can be verified in polynomial time. We next describe a polynomialtime reduction from the set partitioning problem which is known to be NPcomplete (Garey and Johnson (1979)) to a special case of the SDP. The set partitioning problem is defined as follows "Given a universe U of n elements, a collection of subsets of U, S = {S,,...,Sk), does there exist a subcollection of S that covers all the elements of U exactly once?" This problem can be formulated mathematically as follows : xs : Binary variable which indicates whether a set s ES is chosen or not ;( 1, if element l EU is contained in set s ES0 tews als x, = 1, for all le U , sE S xs E (0, 1) . We reduce the set partitioning problem to a special case of the SDP as follows. For each l EU we create a train I which departs from and also arrives at service station A. Let the set of strings S be train sequences corresponding to the sets in S. For e.g., If S, = (13,1 3,...,1 ly then the correpondil~ng strinngo isp the lnr seu ncof trains {1,3,.,. We create a pacetime network for these set of input trains and strings and set the flow (/) on each train to one. Now, note that for this specially constructed SDP, Constraint (4.1Ib) is identical to set partitioning constraint given above and the flow balance constraints are automatically satisfied because each string originates and terminates at the same station, and can therefore be relaxed. Hence, there is a onetoone correspondence between the set partitioning problem and the special case of SDP that we have constructed and the result follows. We state this result in the form of the following theorem: Theorem 4.2. The string decomposition problem (SDP) is NPComplete. In the next section, we address the computational complexities of the problem and also describe algorithmic approaches to solve this problem in an efficient manner. 4.7 A Tractable Solution Approach: Aggregation and Disaggregation A typical weekly train schedule has around 3,000 trains and the railroad network has around 100 stations out of which roughly 50% support fueling and 30% support servicing. For a problem of this size, the number of service strings runs into several million. Hence, a direct application of string enumeration to this large problem is not promising in terms of computational time and tractability. Another serious computational issue is the inherent complexity of the SDP. In addition to being NPComplete, this problem has around a million decision variables, one corresponding to each service string. Hence, a direct branchandbound approach using commercial software to solve the SDP is not a viable approach. In this section, we develop a tractable solution approach to solve the LRP. We use the concept of aggregation and disaggregation. The basic idea behind this approach is that instead of solving a large problem directly, we divide our algorithm into two stages. In the first stage, we construct a smaller aggregated model which can be solved quickly. Once we obtain the solution to the aggregated model, we use this information to disaggregate the solution and obtain a solution to the original problem. While this idea is quite intuitive to grasp, there are some issues which need to be considered to ensure that the solution produced using this approach in close to the global optimal solution. We next present our aggregationdisaggregation based algorithm and describe how we use this approach to effectively solve the LRP. 4.7.1 Aggregated Model The aggregated model is an approximation of the original model. However, this approximate model is much smaller than the original problem and is hence solvable more quickly. This leads to the issue of tradingoff between the degree of approximation and the ease of solution, i.e., an aggregate model may solve very quickly but may not produce good solutions or the aggregate model may be almost exact but may take a very long time to produce a good solution. The performance of an aggregated model depends on a few factors which need to be addressed while designing the aggregated model. The first question that needs to be asked while designing an aggregated model is "which entities to aggregate?" The second question that needs to be asked is "how to ensure that the aggregated model is as close as possible to the original problem?" The closer the aggregated model is to the original problem, the easier it will be to disaggregate the aggregate solution and obtain near optimal solutions to the original problem. In the rest of this section, we focus on answering these questions and developing a good aggregation model. We divide our discussion into two parts: we first focus on the feasibility aspect of the problem and in the process address the first question. Then, we focus on the optimality of the problem and in the process address the second question. The locomotive schedule gives an assignment of locomotive types to weekly trains and is an input to the SDP. The weekly train schedule consists of a set of daily trains, each with a pre specified frequency varying between one and seven. Note that all instances of a daily train in the week are similar in terms of origin station, destination station, departure time of the day, arrival time of the day, and duration. The only factors which differentiate these trains are the departure day of the week, arrival day of the week, and possibly their locomotive type assignments. Based on this observation, we aggregate all the instances of a daily train in the week (weekly trains) into a single aggregated daily train. Each aggregated train departs at the corresponding departure time of the day and arrives at the corresponding arrival time of the day. The total flow on each daily aggregated train represents the total flow on all weekly trains corresponding to it. The locomotive schedule obtained after aggregation is called the aggregated locomotive schedule and the set of trains in this schedule constitute the aggregated train schedule. For e.g., suppose daily train TR0 1 has a weekly frequency of three and operates on Monday, Tuesday, and Thursday (TR01Monday, TR01Tuesday, and TR01Thursday) and suppose each of these weekly trains carries a flow of one locomotive of type A and one of type B. Then in the aggregated locomotive schedule, aggregated daily train TR0 1 will have a flow of three units of type A and three units of type B. We refer to a string which is made up of daily trains as an aggregated string. We formulate an aggregated string decomposition model to decompose the aggregated locomotive schedule into flows on aggregated strings. The decision variables (or aggregated strings) of the aggregated model are enumerated using the aggregated train schedule (instead of the weekly train schedule). We next list the steps to formulate the aggregated string decomposition model: * Enumerate the set of service strings using the aggregated train schedule as input and the service string enumeration algorithm described in Section 4.4. * Construct a spacetime network as described in Section 4.5 but considering the aggregated strings (instead of strings) and the aggregated train schedule (instead of the train schedule). * Formulate the aggregated string decomposition problem as described in Section 4.5 but using the aggregated locomotive schedule (instead of the locomotive schedule) and the aggregated strings (instead of strings). Note that the aggregated model is identical in structure to the original model. However, the size of the aggregated model is several times smaller. The reason for that is aggregation happens at two levels: (1) decision variables, and (2) constraints. For e.g., consider an aggregated string made up of daily trains A, B, and C. Let each of these trains have a frequency of four. Then, there are 4 x 4 x 4 = 64 different strings possible in the original network using the weekly trains corresponding to A, B, and C (Refer Figure 45). However, the aggregated formulation considers only one aggregate string instead of the 64 strings. Hence, the flow on the aggregated string in this case represents the cumulative flow on these 64 strings. The decision variables corresponding to the connection arcs (CoArcs) are also aggregated in a similar manner. Using this method of variable aggregation, we are able to reduce the number of variables to a few thousand. Also, in the aggregated model we have only one partitioning constraint for every daily train instead of one for every weekly train in the original model. Since the average frequency of daily trains is close to Hyve, the number of partitioning constraints becomes roughly onefifth that of the original model. Also, since the number of trains in the aggregated model decreases by a factor of onefifth, the number of flow balance constraints also reduces by the same factor. Thus, the aggregation of variables and constraints results in a very compact formulation and consequently very fast run times. We now proceed to state and prove two important properties relating the feasibility of the aggregated problem and the feasibility of the original problem. Property 4.3. There exists a feasible solution to the string decomposition problem only if there exists a feasible solution to the aggregated string decomposition problem. Proof: Consider a feasible solution F to the string decomposition problem. We can obtain a feasible solution to the aggregated string decomposition problem by assigning each aggregated string a flow equal to the total flow on all strings corresponding to it in F. Since F partitions the flow on all weekly trains and satisfies flow balance at each station, it follows that the assignment to each aggregated string computed above will partition the flow on each aggregated train and also satisfies flow balance at each station. The result follows. * Property 4.4. There exists a feasible solution to the aggregated string decomposition problem only if there exists a feasible solution to the string decomposition problem. Proof: Consider a feasible solution F to aggregated string decomposition. We can obtain a feasible solution to string decomposition by distributing the flow on each aggregated string in F on the strings corresponding to it in the original network in such a way that the flow on all weekly trains is partitioned. Since, we merely redistribute the flows on the aggregated strings, the total flow entering a station and the total flow leaving a station in both the aggregated solution and the new solution will be the same. Hence, flow balance at each station is also satisfied and the result follows. * We state the results of Property 4.3 and Property 4.4 in the form of the following theorem. Theorem 4.5. There exists a feasible solution to the string decomposition problem if and only if there exists a feasible solution to the aggregated string decomposition problem. We have thus showed the equivalence between the feasibility version of the SDP and the feasibility version of the much smaller aggregated SDP and have hence addressed the feasibility aspect of the problem mentioned at the start of this section. The other aspect we need to address is optimality. The obj ective function of the SDP minimizes total fueling and servicing costs and the ownership costs of locomotives. We now describe methods to ensure that the aggregated model takes these costs into consideration. When we create an aggregated model for a problem, we lose some information about the original problem. The biggest approximation in the aggregated string decomposition model is that the information about departure day of the week and the arrival day of the week of weekly trains are lost. This could lead to the aggregated problem generating bad solutions in terms of locomotive usage. For e.g. Consider a weekly train A which arrives at a station on Monday at 10:00 AM and another weekly train B that departs from the same station at 11:00 AM on Sunday. The optimal solution of the SDP is not likely to use the connection between these weekly trains to route locomotives because the idling time of the locomotive would be extremely high (six days and one hour). On the other hand, in the aggregated train network, since we do not consider the arrival and departure days of trains and only consider the arrival and departure times, the connection time between the corresponding aggregated trains will be just one hour and hence it is very likely to be used in the solution since it seems to represent an efficient use of the locomotive resource. However, this is an incorrect representation of reality. We hence define an estimated connection time for each train connection on the aggregated network. The estimated connection time between daily trains A and B is computed to represent the most probable connection time if a locomotive connects between a weekly train corresponding to train A and a weekly train corresponding to train B. Note that we cannot compute this value exactly unless both A and B have a frequency of one. We represent the estimated connection time of a train connection j by t, Each string is made up of possibly several train connections. We estimate the duration of an aggregated string (t ) by adding the exact durations of the trains belonging to it and the estimated connection times ( t, ) for the connections that are a part of it. We next describe how to use these estimated durations to improve the aggregated model. Consider the objective function of the SDP. The first term c,x, represents the cost of fueling and servicing for the locomotives traveling on strings. The computation of cs is a function of the stations encountered enroute, the cost of fueling or servicing at these stations, and the length of trains that belong to the string and this logic is hence directly applicable to the aggregated strings. The second part of the objective function C Gr~xS + C y st(Or S) JE(Or Co.4rcs) minimizes the total ownership cost of locomotives by counting the number of locomotives traveling on overnight arcs. Note that in the aggregated problem, it is not straightforward to determine the set of overnight arcs or the number of times an aggregated string crosses the count time ( rs ). This is because the daily trains do not have arrival and departure day information. We handle this difficulty in the following manner. We first rewrite the objective function of the SDP in a slightly different though equivalent form. Instead of minimizing the ownership cost of locomotives flowing on overnight arcs, we now construct the obj ective function in terms of minimizing the total cost of locomotiveminutes used on all arcs. In the aggregated SDP, since we cannot know the exc durations, we use the estimated duration of train connections ( t, ) and the estimated duration of strings (t ) described in the previous paragraph to set up the obj ective function. The obj ective function now becomes: M/in Ccrx,+C G tpx, + C G t, y,= [cbx, + C G t y,. stS stS JECoAvcs stS JECoAvcs Using this objective function in the aggregated model makes it a much better approximation of the original problem. Next, we focus on the second stage of our approach which concerns the disaggregation of the aggregated solution. 4.7.2 Disaggregation Model We now consider the problem of disaggregating the solution to the aggregated problem to obtain a solution to the original problem. The proof of Property 4.4 describes a straightforward method to obtain a feasible string decomposition starting with a solution to the aggregated problem; however this method may give solutions which use a high number of locomotives and are hence not optimal. The method we describe in this section disaggregates the solution while minimizing the number of locomotives used. Note, that after the aggregation stage, the total fueling and servicing costs are already fixed and do not change in the disaggregation stage. The inputs to the disaggregation model are: * Locomotive schedule: This gives the assignment of locomotive types to weekly trains. * Solution of the aggregated model: This gives the aggregated strings and their locomotive assignments. The obj ective of the disaggregation model is to obtain a near optimal solution to the string decomposition problem; i.e. the obj ective is to redistribute the flow on each aggregated string on the strings corresponding to it in the original network while ensuring that the assignment on each weekly train is covered and minimizing the total number of locomotives used. We next formulate the disaggregation model as an integral multicommodity flow problem with side constraints on a suitably defined network. We denote the network as G (N, A) where N is the set of nodes and A is the set of arcs in the network. Each node on the network corresponds to an event. The events that we consider are the arrival of weekly trains at stations and departure of weekly trains from stations. We create a trainarrival node corresponding to each train arrival and a traindeparture node corresponding to each train departure. We also construct one supply node and one demand node corresponding to each aggregated string with positive flow ( xs > 0) and define a commodity corresponding to this string. We set the supply of the corresponding commodity at each supply node to xs and the supply of all other commodities to zero. Similarly, we set the demand of the corresponding commodity at each demand node to xs and the demand of all other commodities to zero. We now describe how to construct arcs. For each weekly train, we construct an arc connecting its traindeparture node and trainarrival node. We also construct connection arcs (CoArcs) between trainarrival nodes and traindeparture nodes at each station to model the different possibilities for train connections. Let first(s) be the set of weekly trains corresponding to the first daily train in aggregated string s, last(s) be the set of weekly trains corresponding to the last daily train in aggregated string s, and trains(s) be the set of weekly trains corresponding to all the daily trains in s. For each aggregated string s with positive flow( (x > 0 ), we connect its supply node to the departure nodes of all the trains in first(s) and we also connected the arrival nodes of all trains in last(s) to the demand node corresponding to s. The disaggregation model can be formulated as a multicommodity flow problem with side constraints (MCFSC) on the network constructed above. N: Set of nodes in the network. A: Set of arcs in the network. We represent each arc by (i, j). Trains: Set of weekly trains in the network. Indexed by 1. CoArcs: Set of connection arcs in the network. K: Set of commodities indexed by k. We define one commodity for each aggregated string s with positive flow. s(k): Represents the aggregated string corresponding to commodity k E K . Trains(s): Set of weekly trains corresponding to the daily trains in s. S: Total locomotive assignment on weekly train l E Trains in the locomotive schedule. bk : Supply/demand vector of commodity k E K . u : Upper bound on the flow of commodity k E K on arc (i, j) E A . 0, if (i, j) E Trains and (i, j) a s(k) u =f~,, if (i, j) E Trains and (i, j) E s(k) 00 c, otherwise t : Duration of arc (i, j) E A . N: Arc adj acency matrix of G(N,A). The decision variables are: xxk: Flow of commodity k E K on arc (i, j) E A . The obj ective function is Min t,,x,. (4.2a) ktK (I 7)& 4 The constraints are: x k = J for all (i, j) E Tra11ins, (4.2b) ktK Nxk = bk, for all k E K, (4.2c) 0 < xxk~ ,, xk integer. (4.2d) Note that the flow balance constraints at supply nodes, demand nodes, and transshipment nodes (Constraint 4.2c), and also setting flow upperbounds on trains as described above ensures that the flow on each aggregated string is redistributed completely on the strings corresponding to it. Also, Constraint (4.2b) ensures that the total flow on each weekly train is partitioned among the disaggregated strings that pass through it. Hence, MCFSC is a valid formulation for the disaggregation problem. The obj ective function is set up to minimize the total number of locomotive minutes used. Theorem 4.6 There is a onetoone correspondence between feasible solutions to the disaggregation problem and feasible solution to MCFSC. The MCFSC is an integral multicommodity flow problem and it is hence NPComplete (Garey and Johnson (1979)). Note that Constraints (4.2) are the bundling constraints which link more than one commodity together and complicate the model and if these constraints were relaxed, then this problem reduces to KI independent minimum cost flow problems. We hence adopt a sequential commoditybycommodity approach to obtain a feasible solution to the disaggregation problem. We first sort the aggregated strings with positive flow in the decreasing order of their lengths, where length is defined as the number of trains in the string. The reason we do this is that the aggregated stings with longer lengths have a larger impact on the obj ective function cost and we would like to optimize them first before moving to shorter strings. For each aggregated string s, we consider the subgraph G(Nk(s), Ak(s)) Which contains only those train arcs for which u r") > 0 and /f~ > 0 We solve a minimum cost flow problem on this subgraph, extract out the flows on the disaggregated strings, and update the total unaccounted flow on each train( (4). This is repeated until the flow on all aggregate strings is disaggregated. The disaggregation algorithm is formally stated in Figure 46. The algorithm for disaggregation solves KI independent minimum cost flow problems sequentially and is hence a polynomial time algorithm. The feasibility correctness of this algorithm follows from the fact that it is a special implementation of the general method described in the proof of Property 4.3 for obtaining a feasible solution to string decomposition problem starting from a feasible solution to the aggregated string decomposition problem. The following result is hence immediate. Theorem 4.7. The disaggregation algorithm produces a feasible solution to the string decomposition problem starting from a feasible solution to the aggregated string decomposition problem, in polynomial time. Our computational results show that the aggregationdi saggregation method solves the fueling and servicing problem very quickly and produces near optimal solutions. 4.8 Handling Infeasibilities The infeasibilities that are encountered while solving the fueling and servicing LRP can be of two kinds: hard infeasibilities and soft infeasibilities. Hard infeasibilities are due to the nature of the train schedule and cannot be fixed without modifying the data. For example, consider a situation where the train schedule is such that there does not exist a service string passing through a particular train. This implies that any locomotive unit which is assigned to this train cannot be serviced and fueled feasibly. Since fixing this infeasibility requires modifying the train schedule, we do not consider this kind of infeasibility in our research. Soft infeasibilities are introduced due to the two stage decomposition approach to solve the fueling and servicing LRP, i.e. we first solve the LPP and then the LRP, instead of solving the integrated problem. Since, the LPP completely ignores the fueling and servicing constraints, this may lead to the locomotive schedule being fueling and servicing incompatible while solving the LRP. Soft infeasibilities can manifest themselves in the following two ways: * A train which has a service string passing through it in the train network does not have a service string passing through it in the decomposed train network corresponding to a particular locomotive type assigned on it. * A train has service strings passing through it but in the decomposed network but the problem is still infeasible due to the nature of the set partitioning constraints. In order to handle this problem, we develop sideconstraints that can be added to the LPP so that it accounts for fueling and servicing feasibility to a greater extent. These constraints ensure that some necessary conditions for fueling and servicing feasibility are satisfied. We refer the reader to Ahuj a et al. (2005) and Vaidyanathan et al. (2007b) for more details about the locomotive planning model; here we describe the sideconstraints that we add to the model. * We enumerate a large number of service strings and only allow the set of train connections R contained in them while solving the LPP. Any locomotive which makes a train connection that is not a part of R cannot be fueled and serviced feasibly. Therefore, while solving the LPP, we ensure that only those connections which are a part of R are allowed. This approach eliminates local infeasibilities. For e.g. suppose the length of train A + the length of train B is more than the fueling threshold F, then the connection between these two trains will not be a part of R and will hence not be constructed. * Consider a situation where a set of trains have only one string passing through them. Let train A be one such train and s be the string passing through it. From the first case, it is clear that all train connections which are a part s will be allowed in the planning problem. Note that if the flow on any of these train connections is less than the flow on train A, then the locomotives assigned on train A cannot fueled and serviced feasibly. We therefore add sideconstraints to ensure that this does not happen; i.e. we ensure that the flow on each connection in s is greater than the flow on train A. *The first method handles local infeasibilities. However, it does not take into account higher level infeasibilities which are a function of more than one train connection. For e.g. Consider a train A which has two strings passing through it as shown in Figure 47. The first string contains the sequence 11A12 and the second string contains the sequence 21 A22 as shown in the Eigure (numbers represent train connections and letters represent trains). Note that the first method would allow all four train connections to be used in the LPP and the LPP has no constraints which prevent a locomotive from being routed along the sequence 11A22 or 21A12, even though these sequences are not feasible sequences. We now formally define constraints that we add to the planning problem to ensure that flow does not occur on these kinds of infeasible sequences. I(A): Set of incoming train connections at the tail node of train A. O(A): Set of outgoing connections at the head node of train A. C: Set of all locomotive types. Indexed by c. Yf: Flow of locomotive type c on connection j. FO(j): Set of fueling and servicing feasible outgoing connections in set O(A) which correspond to jE I(A) FI(j): Set of fueling and servicing feasible outgoing connections in set I(A) which correspond to jE O(A) We add the following constraints to the planning model for each train: y~ < C yic, for all jE I(A), cE C, ItFO(J) ye < C 720, for all jE O(A),ce C (. leFI(J) These constraints help eliminate higher level infeasibilities which are a function of two train connections. Our computational results show that the necessary conditions described in this section are very effective in ensuring that the locomotive schedule can be decomposed into a fueling and servicing friendly routing. In the next section, we present computational results to demonstrate the performance of all the algorithms developed and show that our approach is indeed a quick and effective approach to solve the locomotive fueling and servicing problem. 4.9 Computational Results In this section, we provide computational results of our algorithms on several instances and also some case studies on a representative instance. We implemented our algorithms in the Microsoft Visual Basic programming language and tested them on the data provided by a maj or Class I US railroad. We modeled our integer programs using ILOG Concert Technology 2.0 modeling language and solved them using the CPLEX 9.0 solver. We conducted all our computational tests on an Intel Pentium 4, 512MB RAM, and 2.4GHz processor desktop computer. 4.9.1 Testing the Performance of the Algorithm We test the performance of our locomotive routing algorithm on instances with different transport volumes. In order to estimate the performance of our algorithms, we first solve the LPP to obtain a locomotive schedule. Next, we solve the LRP using this locomotive schedule as a starting point and evaluate the locomotive routing cost as defined in the LPP (we do not consider fueling and servicing costs). Note that the solution cost of the LRP will always be greater than that of the LPP. However, the smaller the difference in cost between these two solutions, the better our algorithmic approach. We use this measure to estimate the performance of our algorithms and conduct our computational tests in the following sequence of steps for each instance: * Solve the LPP to obtain a locomotive schedule * Run the LRP on the locomotive schedule obtained from the LPP and compare the solution cost Notice that, suppose the difference in cost between the solution of the LRP and solution of the LPP is small, then this implies that the fueling and servicing algorithms are performing well since we are able to enforce the fueling and servicing constraints without a significant increase in the solution cost. The percentage difference in cost hence serves as an upper bound on the optimality gap of the LRP. In Table 41 and Figure 48, we present the results of our computational tests. From our computational tests, we draw the following conclusions: * We are able to achieve a fueling and servicing friendly routing on all instances with less than 2.2% increase in the locomotive routing cost. * The performance of our locomotive routing algorithm is consistent with a computational time of less than 5 minutes on all instances. * The locomotive routing algorithm is able to achieve a 100% fueling and servicing friendly routing on all instances. 4.9.2 Case Study We present a case study to demonstrate the uses of the locomotive routing model. We perform this case study on a representative instance with 2,824 trains, 77 stations, 39 fueling stations, 28 servicing stations, and 6 locomotive types. The various aspects of the problem that we study are reported in the following sections. Effect of varying the servicing distance threshold (S) In this study, we quantify the effect of varying the maximum distance that can be traveled before servicing (S) on the solution cost of the LRP. While fueling is a hard constraint since tank capacities of locomotives are well defined, servicing constraints are soft constraints since maintenance of units can usually be delayed to a later time. Table 42 presents the computational results, and Figure 49 shows the relationship between the servicing threshold and the solution cost. From our computational tests we draw the following conclusions: * As the servicing threshold is increased from 1,800 miles to 3,000 miles, the initial increase has a large impact on the solution quality, but subsequently the law of diminishing returns is observed. * Beyond a servicing threshold of around 2,000 miles there is almost no impact of increasing the servicing threshold on the solution cost. * The performance of our locomotive routing algorithm is consistent with a computational time of around 5 minutes on all instances. Effect of adding/removing fueling facilities In this study, we quantify the impact of varying the number of fueling facilities on the solution cost of the LRP. We start with the initial set of 39 fueling stations. To this set we add (or remove) fueling stations onebyone and measure the impact on the cost of locomotive routing. When we add fueling stations, we add them in the decreasing order of number of inbound trains. On the other hand, when we remove fueling stations, we remove them in the increasing order of number of inbound trains. The reason we add and remove fueling stations in this manner is because when we add fueling stations, we want to first add those stations which are likely to have a greater impact on the solution cost. On the other hand, when we remove fueling stations, we want to first remove those stations which are likely to have a smaller impact on the solution cost. Table 43 presents the computational results, and Figure 410 shows the relationship between the number of fueling stations and the solution cost. From our computational tests we draw the following conclusions: * As the number of fueling stations is increased from 33 to 43, the initial additions have a large impact on the solution cost, but subsequently the law of diminishing returns is observed. * Solution cost remains constant for the number of fueling stations varying between 35 and 40. This suggests that we could bring down the number of fueling stations from the current value of 39 to 35 without compromising much on the cost of locomotive routing. This could potentially translate into savings of several million dollars. * The performance of our locomotive routing algorithm is consistent with a computational time of around 5 minutes on all instances. Effect of adding/removing servicing facilities In this study, we quantify the impact of varying the number of servicing facilities on the solution cost of the LRP. We start with the initial set of 28 servicing stations. To this set we add (or remove) servicing stations onebyone and measure the impact on the cost of locomotive routing. When we add servicing stations, we add them in the decreasing order of number of inbound trains. On the other hand, when we remove servicing stations, we remove them in the increasing order of number of inbound trains. The reason we add and remove servicing stations in this manner is that when we add servicing stations, we want to first add those stations which are likely to have a larger impact on the solution cost. On the other hand, when we remove servicing stations, we want to first remove those stations which are likely to have a smaller impact on the solution cost first. Table 44 presents the computational results, and Figure 411 shows the relationship between the number of servicing stations and the solution cost. From our computational tests we draw the following conclusions: * As the number of servicing facilities is increased from 21 to 32, the initial additions have a large impact on the solution cost, but subsequently the law of diminishing returns is observed. * Solution cost remains constant for the number of servicing stations varying between 24 and 28. This suggests that we could bring down the number of servicing stations from the current value of 28 to 24 without compromising much on the cost of locomotive routing. This could potentially translate into savings of several million dollars. * The performance of our locomotive routing algorithm is consistent with a computational time of around 5 minutes for all instances. 4.10 Summary and Conclusions Our previous research on locomotive planning focused on creating locomotive schedules which satisfy several business and operational constraints. While that research on the LPP has several potential benefits, it has the drawback that it totally neglects fueling and servicing requirements and may hence generate solutions which are not implementable. We bridge this gap by considering fueling and servicing constraints and also develop optimization techniques in order to incorporate the fueling and servicing logic in our methodology to generate implementable locomotive routing. Due to the inherent complexity of the integrated problem of locomotive planning and locomotive routing, we decompose our approach to achieve fueling and servicing feasibility into two stages. The first phase involves solving the LPP (LPP) using the algorithms described in Ahuj a et al. (2005) and Vaidyanathan et al. (2007b). Once we have the solution to the LPP, we fix the assignment of locomotive types to trains and use the flexibility of train connections in order to enforce fueling and servicing feasibility in the second locomotive routing phase. We adopt the following approach to solve the LRP in the second phase. We enumerate the set of fueling and servicing feasible paths (or strings) on the network using dynamic programming algorithms and formulate the LRP as a string decomposition integer programming problem. Due to its prohibitive size and NPComplete nature, this problem cannot be directly solved using commercial optimization software. We handle this computational complexity by developing an aggregationdi saggregation based approach to solve thi s problem. Our computational results on reallife instances demonstrate that our algorithms enforce the fueling and servicing requirements with a runtime in the order of minutes and with less than 2.2 % increase in the locomotive routing costs. We also demonstrate the usefulness of the model to perform strategic analysis and give examples of the kind of insights that can be drawn from such analysis. We believe that this research is a vital stepping stone in our overall obj ective of enabling railroads to manage their locomotive operations more efficiently through optimization methods which produce practical and implementable solutions. We believe that our collective research in this area will lead to the large scale deployment of optimization based locomotive management software at North American railroads. Table 41. Performance of the locomotive routing algorithm. SNo Mean Locomotive Locomotive Routing Problem % tonnage Planning Problem Cost ($) # of locos Increase Time in cost Cost ($) # of # of locos infeasib ilities 6,192,415 1,566 0 6,565,983 1,632 0 6,982,995 1,687 0 7,317,678 1,733 0 7,755,512 1,738 0 8, 184,696 1,785 0 8,687,484 1,774 0 5,700 6,080 6,460 6,840 7,220 7,600 7,980 6,068,767 6,444,686 6,861,699 7,161,102 7,598,937 8,025,096 8,501,004 1,520 1,591 1,646 1,683 1,688 1,738 1,717 3 m 41 s 4 m 07 s 3 m 59 s 4 m 20 s 4 m 07 s 3 m 55 s 4 m 07 s 2.04 1.88 1.76 2.19 2.06 1.99 2.19 Table 42. Effect of varying servicing distance threshold. SNo Threshold S (miles) 1 1,800 2 1,900 3 1,950 4 2,000 5 2,200 6 2,400 7 2,600 8 2,800 9 3,000 Cost ($) 8,752,593 8,600,418 8,422,679 8,201,159 8,201,159 8,192,759 8,195,447 8,195,447 8,179,319 # of locos 1,679 1,695 1,736 1,775 1,775 1,776 1,777 1,777 1,771 # of infeasibilities 121 100 52 0 0 0 0 0 0 stations. # of infeasibilities 14 14 0 0 0 0 0 0 0 0 0 Time 4 m 59 s 4 m 40 s 4 m 39 s 4 m 40 s 5 m11 s 4 m 40 s 4 m 44 s 4 m 30 s 4 m 32 s Table 43. Effect of varying number of fueling SNo Number of Cost ($) # of facilities locos 1 33 8,253,831 1,767 2 34 8,253,831 1,767 3 35 8,179,319 1,771 4 36 8,179,319 1,771 5 37 8,179,319 1,771 6 38 8,179,319 1,771 7 39 8,179,319 1,771 8 40 8,179,319 1,771 9 41 8,173,943 1,769 10 42 8,168,567 1,767 11 43 8,168,567 1,767 Time 4 m 56 s 4 m 59 s 4 m 45 s 4 m 40 s 5 m 05 s 5 m 12 s 4 m 41 s 5 m 03 s 4 m 36 s 4 m 47 s 5 m 10 s Table 44. Effect of varying the number of SNo Number of Cost ($) # of facilities locos 1 21 8,490,764 1,748 2 22 8,319,852 1,770 3 23 8,306,412 1,765 4 24 8,182,704 1,763 5 25 8,179,139 1,771 6 26 8,179,139 1,771 7 27 8,179,319 1,771 8 28 8,179,319 1,771 9 29 8,158,151 1,759 10 30 8,147,063 1,759 11 31 8,130,935 1,753 12 32 8,112,119 1,746 servicing stations. # of infeasibilities 44 16 16 4 0 0 0 0 0 0 0 0 Time 4 m 22 s 4 m 40 s 4 m 26 s 4 m 35 s 4 m 47 s 4 m 50 s 4 m 36 s 4 m 32 s 3 m 27 s 3 m 28 s 3 m 29 s 3 m 43 s Start 1. Solve the LPP using the methods in Section 4.4 to obtain a locomotive schedule. 2. Enumerate the set of fuel and service strings on the network using the enumeration methods in Section 4.5. 3. Formulate the String Decomposition Problem (SDP) described in Section 4.6 and solve it using the aggregation disaggregation algorithm in Section 4.7. ; LRP 4. Decompose the solution of the SDP into fueling and servicing friendly cyclic locomotive routes using a polynomialtime cycle decomposition algorithm (Ahuja et al. (1993)). Stop Figure 41. Flowchart of the fuel and service routing algorithm. algorithm fuel string enumeration; begin k= 1; FS = #; P' #; for each E Trains do if I is a fuel string, FS = FS + 1; else if origin(1) is a fueling station then P' = P' +1I; while Pk fa do begin Pk+1 ~ for all pe Pk do let r = last train in valid sequence p; for all l E Trains : destination(r) = origin(1) do if length(p ul) <; F and I 0 p then begin if destination(p ulI) is a fueling station do FS = FS +(p ul) ; else Pk+1 = Pk+1 P ) end endfor endfor k=k+1; end return FS; end Figure 42. Fuel string enumeration algorithm. algorithm service string enumeration; begin k= 1; SS = #; P' #; Run the FSE algorithm to obtain the set of fuel strings FS; for each l E FS do if I is a service feasible string, SS = SS +1; else if origin(1) is a servicing station then P' = P' +1I; while Pk fa do begin Pk+1 ~ for all pe Pk do let r = last train in valid sequence p; for all l E FS : destination(r) = origin(1) and Trains(1) 0 p do if length(p ul) <: S then begin if destination(p ulI) is a servicing station do FS = FS +(p ul) ; else Pk+1 = Pk+1 P ) end endfor endfor k = k+ 1; end return SS; end Figure 43. Service string enumeration algorithm. Train arrival node String O Train departure node  Connection arcs Figure 44. A part of the spacetime network at a particular service station. ~A Bc C Figure 45. Disaggregated strings and corresponding aggregated string. begin Let S represent the set of aggregated service strings with positive flow. Let this set be indexed by Let SS = # represent the set of disaggregated service strings: Sort S in decreasing order of string length; for each s ES do Let k = K (s) : Consider the subgraph of G;(N\A) induced by trains I for which ulk > 0 and .f, > 0 Let this subgraph be denoted by G(Nk, Ak) Solve a minimum cost flow problem on this subgraph. Let the flow on each are in the optimal solution be x : Decompose x~ into flows on paths P. Let SS = S~S UP: Update the uncovered flow on each train .fl = / x for all (i, j) E Trauins ; end for return SS: end Figure 46. Disaggregation algorithm. 11 12 ,y ^21 22 Figure 47. Example of infeasibility. 5,500 6,000 6,500 7,000 7,500 8,000 IVkan tonnage Figure 48. Performance of the locomotive routing algorithm. 8,800,000 8,700,000 8,600,000 8,0,0 8,400,000 8,300,000 8,200,000 8,100,000 1,800 2,000 2,200 2,400 2,600 2,800 3,000 Servicing threshold (miles) Figure 49. Solution cost vs. servicing threshold. 8,270,000 8,260,000 8,250,000 8,240,000 8,230,000 );8,220,000 8,21 0,000 8,200,000 8,190,000 8,180,000 8,170,000 8,160,000 33 35 37 39 Number of fueling locations Figure 410. Solution cost vs. number of fueling locations. 41 43 8,550,000 ti8,300,000 8,250,000 8,200,000 8,150,000 8,100,000 8,050,000 21 23 25 27 29 31 33 Number of servicing locations Figure 411. Solution cost vs. number of servicing locations. CHAPTER 5 AGGREGATION FRAMEWORK TO SOLVE LARGESCALE INTEGER MULTICOMMODITY FLOW PROBLEMS 5.1 Introduction The multicommodity flow problem (MCFP) is a generalization of the classical minimum cost flow problem. These problems are frequently encountered in application domains like communication networks, railroad transportation networks, and distribution networks where numerous physical commodities, vehicles, or messages, each governed by their own network flow constraints, share the same underlying network. The obj ective of the MCFP is to send several commodities that reside at one or more points in a network (sources or supplies) with arc capacities to one or more points on the network (sinks or demands), incurring minimum cost. The arc capacities are one way in which the flows of all commodities are bound together. Note that if the commodities do not interact with each other, then the integer version of the MCFP can be solved as several independent single commodity minimum cost flow problems. But, since this is not valid in general, this problem is a difficult problem and in fact belongs to the class of NP Complete problems (Garey and Johnson (1979)). However, the MCFP problem has numerous applications and hence solving this problem efficiently has been an important area of research. We consider the integer version of MCFP, which we refer to henceforth by MCFP, and we propose an aggregation framework that can be used to efficiently solve a class of MCFPs. Researchers have proposed a number of basic approaches for solving both the integral version and the continuous version of the MCFP. The three classical approaches, all based upon exploiting network flow substructure, and selected references are: (1) Pricedirective decomposition algorithm (Cremeans, Smith, and Tyndall (1970), Swoveland (1971), Chen and Dewald (1974), Assad (1980a), Mamer and McBride (2000), Holmberg and Yuan (2003), and Larsson and Yuan (2004)); (2) Resourcedirective decomposition algorithm (Geoffrion and Graves (1974), Kennington and Shalaby (1977), and Assad (1980a)); and (3) Basis partitioning (Graves and McBride (1976), Kennington and Helgason (1980), and Castro and Nabona (1996)). Ford and Fulkerson (1958) and Tomlin (1966) first suggested the column generation approach. The first of these papers was the forerunner to the general DantzigWolfe (1960) decomposition procedure of mathematical programming. The excellent survey papers by Assad (1978) and by Kennington (1978) describe all of these algorithms and several standard properties of MCFPs. The book by Kennington and Helgason (1980) and the doctoral dissertation by Schneur (1991) are other valuable references on this topic. Other approaches to solve the MCFP are due to Gersht and Shulman (1987), Barnhart (1988), Pinar and Zenios (1990), Barnhart (1993), Barnhart and Sheffl (1993), Farvolden, Powell, and Lustig (1993), Frangioni and Gallo (1999), and Detlefsen and Wallace (2002). Schneur (1991), and Schneur and Orlin (1998) applied scaling techniques to solve the MCFP. Matsumoto, Nishizeki, and Saito (1985) gave a polynomialtime combinatorial algorithm for solving a MCFP in st planar networks. Radzig (1997) developed approximation algorithms for the MCFP. Barnhart, Hane, and Vance (2000a) developed a column generation model and an integer programming based branchandpriceandcut algorithm for integral MCFPs, and Brunetta, Conforti, and Fischetti (2000) investigated polyhedral approaches and branchandcut algorithms for the integral version. Multicommodity network flow models have found extensive applications in several areas. The routing of multiple commodities has been studied by Golden (1975), and Crainic, Ferland, and Rousseau (1984), and the multivehicle tanker scheduling problem by Bellmore, Bennington, and Lubore (1971). Other applications are due to Kaplan (1973), Evans (1977), Geoffrion and Graves (1974), Bodin et al. (1980), Assad (1980b), Korte (1988). In some recent research, Gautier and Granot (1995) formulate the forest management problem as a multicommodity flow problem, Lin and Yuan (2001) construct a multicommodity flow network reliability model and apply it to the container loading transportation problem, Ouaj a and Richards (2004) propose a hybrid algorithm for traffic engineering which uses Lagrangian relaxation and constraint programming, Ahuj a et al. (2005) solve the LPP using using problem decomposition, integer programming, greedy heuristics, and neighborhood search, Vaidyanathan, Jha, and Ahuja (2007a) formulate the CSP as a integer multicommodity network flow problem and solve it using branchandbound based heuristic methods, Vaidyanathan et al. (2007b) formulate the LPP as an integer multicommodity flow problem on a spacetime network and solve it using branchand bound methods, and Vaidyanathan, Ahuj a, and Orlin (2007c) solve the LRP using an aggregation based algorithm. The book by Ahuj a, Magnanti, and Orlin (1993) provides extensive coverage of applications of network and multicommodity flows. The predominant approaches that have been adopted to solve the integer MCFP are column generation, DantzigWolfe decomposition, Lagrangian relaxation, resource directive dec omp ositi on, integer programmi ng (b ran chandb ound and b ranch andpri ce and cut), polyhedral approaches, very large scale neighborhood search (VLSN), and other heuristic methods. To the best of our knowledge, nobody has applied an aggregation based approach to solve the MCFP. We develop an aggregation framework to solve largescale integral MCFPs which satisfy some special properties. Our approach to solve the MCFP works in the following manner. Instead of solving the largescale MCFP directly, we decompose our approach into two stages. In the first stage, we consider an approximate aggregated MCFP which is several times smaller than the original problem. We construct the aggregated MCFP in such a way that it is a very good approximation of the original problem. Since the aggregated MCFP is much smaller than the original problem, we can obtain the optimal solution to this problem very quickly. In the second stage, we use the solution to the aggregated MCFP as a starting point, and then disaggregate this solution to obtain near optimal solutions to the original problem. We demonstrate the efficacy of our approach by applying it to solve the LPP, which is a largescale MCFP. Our computational tests demonstrate that the aggregation framework proposed produces near optimal solutions to the LPP in a fraction of the original computational times. Finally, we also outline methods to apply the framework to effectively solve other realworld optimization problems. Our maj or contributions are: * We develop a novel aggregation based framework to solve a class of MCFPs. * We formulate an aggregated version of the MCFP which is several times smaller than the original problem and can hence be solved efficiently using standard branchandbound techniques. * We discuss methods by which we can ensure that the aggregated MCFP is a very good approximation of the original problem. * We develop fast disaggregation methods which are used to obtain a solution to the original MCFP from the solution of the aggregated problem. * We discuss application of the aggregation framework to solve other integer programming problems like the airline fleet assignment problem, the airline CSP, the LRP, and the aircraft routing problem. * We test the aggregation framework on the LPP and demonstrate that the approach produces near optimal solutions (less than two percent optimality gap) to the LPP while only taking a fraction (around onefifteenth) of the original computational times. Summarizing, we present the first attempt at developing an aggregation framework to solve a class of largescale MCFPs. From our experience, we believe that the framework developed has the potential to be a useful tool to solve many realworld problems including airline fleet assignment, airline crew scheduling, railroad locomotive routing, aircraft maintenance routing, and ship scheduling. 5.2 Problem Definition, Notation, and Formulation The aggregation framework proposed can be used to solve a class of MCFPs. In this section, we give the notation and terminology and also lay out properties of the underlying network, the constraints, and the obj ective function for this class of problems. We also formulate the MCFP as an integer programming problem on the network. 5.2.1 Network In this section, we describe properties that need to be satisfied by the underlying network. We denote the network by G(N, A) where N represents the set of nodes and A the set of arcs. This network has only two types of arcs. We call the two types of arcs load arcs (L) and free arcs (F). Load arcs are arcs on which flow is constrained. For example, in the airline fleet assignment problem, the flight legs to which aircraft need to be assigned are load arcs, and in the LPP, the trains to which locomotives need to be assigned to provide sufficient pulling power are load arcs. Free arcs are those arcs on which there is no restriction or constraint on the flow. Free arcs originate at the head node of a load arc and terminate at the tail node of another load arc. For example, in the railroad network, train connection arcs which are constructed between trains which arrive at a station and trains which depart from the same station are free arcs. Free arcs allow commodities to flow from one load arc to the next load arc. Each load arc 1 has the following four attributes associated with it: (1) A departure time represented by deptime(1); (2) An arrival time represented by the arrtime(1); (3) A departure location represented by dep location(1); and (4) An arrival location represented by arrlocation(1). We are now in a position to describe the construction of the network. For each load arc we create an arrival (head) node and a departure (tail) node. We represent the set of arrival nodes by N, and the set of departure nodes by Nd The arrival node corresponding to load arc 1 is at location arrlocation(1) and the departure node corresponding to a load arc 1 is at location dep location(1). Next, we construct free arcs between all arrival nodes at a location and all departure nodes at the same location. Note that due to the manner in which we construct the network, any walk on the network G(N,A) will contain alternate load and free arcs. Also, by construction, both the indegree of any arrival node and the outdegree of any departure node are one. Let C refer to the different commodities that need to be assigned to load arcs. These commodities need to be routed on G(N,A) in such a way as to satisfy a set of constraints while incurring minimal cost. In Figure 51, we present an example of the network that has five load arcs and eight free arcs. In this figure, the solid lines represent load arcs and the dotted lines represent free arcs. 5.2.2 Constraints In this section, we describe the constraints governing the class of MCFPs. Power requirement for load arcs: Each load arc 1 must be assigned a single unit of a particular commodity to provide sufficient power. Commodity to load are preferences: Only certain commodities are allowed to flow on certain load arcs. Flow balance constraints: The total incoming flow of a particular commodity at each node on the network must be equal to the total outgoing flow of the same commodity at that node. Arc flow lower bounds: Each load arc l EL should be assigned at least LB, units of flow. Arc flow upper bounds: Each load arc l EL can be assigned at most UB, units of flow. Fleetsize constraints: The number of units of each commodity used should be less than the fleetsize of that commodity Be. 5.2.3 Formulation In this section, we mathematically formulate the general class of MCFPs that can be solved using the aggregation framework. We formulate the MCFP on the network constructed as described in Section 5.2.1, and consider the constraints described in Section 5.2.2. Let I(i) denote the set of incoming arcs and O(i) denote the set of outgoing arcs at node i E N In order to count the total number of units of each commodity used in a solution, we set an arbitrarily chosen time as the counttime and count the total flow on all arcs that cross this counttime. We denote the set of arcs that cross the counttime by S. Each load arc l EL can have two kinds of flow of a particular commodity c e C : active flow ( x, )which represents those units which provide power on the load arc, and deadhead flow ( y,")which represents those units which do not provide power but are repositioning on the load arc using the power of the active flow. We represent the cost of assigning an active unit of commodity c EC to load arc l EL by c{, the cost of assigning a deadhead unit of commodity c EC to load arc l EL by do, the cost of assigning a unit of commodity c EC on free arc f e F by d and the ownership cost of a unit of commodity cEC by G" The decision variables in the MCFP are: x : Binary variable representing the active flow of commodity c EC on load arc l EL . y : Integer variable representing the deadhead flow of commodity c EC on load arc l EL . y : Integer variable representing the flow of commodity c EC on free arc fe F . s" : Number of unused units of commodity c E C. The MCFP is formulated as follows: minf Cf~ cri Cd4F dcte + d;i y Gs' (5.1a) leL ceC leL ceC feF ceC ceC Sxic = 1, for all I EL, (5.1b) ctC L~t (xc I ) : UB, fr al l L,(5.1c) ceC xic + Pl = y;, for all let L, ce C, (5.1d) feO[head(1)] Sy = xc+ ye, for all leL ce C, (5.1e) fel[tad(1)] C(x + y )+ s" = B", for all ce C (5.1f) atS xe E { 0,1}), for all l E L, c E C, (5.1g) yH > 0 and integer, for all a s A, c E C, (5.1h) s" > 0, for all c E C. (5.1i) Constraint (5.1b), which is the power requirement constraint for load arcs, ensures that every load arc 1 is assigned one unit which provides sufficient power. Constraint (5.1c), which is a flow bound constraint, ensures that the flow upper and lower bounds on each load arc 1 are satisfied. Constraint (5.1d) and (5.1e), which are flow balance constraints, ensure that flow is balanced at each arrival and departure node for each commodity type. Constraint (5.1f), which is the fleetsize constraint, ensures that the number of units of each commodity used is no more than the available fleetsize of that commodity. Note that the Formulation (5.1) is the general formulation and several of the applications described are special cases or minor variations of this formulation. We now describe another important property that needs to be satisfied by the set of load arcs in the underlying network so that the aggregation framework can be applied to solve the MCFP. 5.2.4 Reducibility Property of the Network The reducibility property is the most crucial property that needs to be satisfied by the set of load arcs L in the underlying network G(N,A) for the problem to fall in the class of MCFPs that can be solved using the aggregation framework proposed. The reason for this is that reducibility of the network is the property which allows us to aggregate and shrink the original problem. The set of load arcs L is said to satisfy the reducability property if it can be partitioned into several sets R such that the load arcs in each set r ER share several common properties. The load arcs in each set r ER have identical origin location, destination location, duration, power requirements, and flow bounds and only differ in their departure and arrival times. For each set r ER we consider an aggregated load arc and we denote the set of aggregated load arcs by L'. Hence, each aggregated load arc l' s L' has several arcs corresponding to it in the set L. Let the set of load arcs corresponding to aggregated load arc l' be represented by L(l'). 5.3 Aggregation and Disaggregation Algorithm The integer MCFP formulated in Section 5.2 is NPComplete and hence largescale MCFPs cannot be solved using commercial integer programming software. In this section, we develop an aggregationdisaggregation based approach to solve this problem. The basic idea behind this approach is that instead of solving a large problem directly, we divide our algorithm into two stages. In the first stage, we construct a smaller aggregated model which can be solved quickly. Once we obtain the solution to the aggregated model, we use this information to disaggregate the solution and obtain a solution to the original problem. While this idea is quite intuitive to grasp, there are some issues which need to be considered to ensure that the solution produced using this approach in close to the global optimal solution. We next present our aggregationdi saggregation based algorithm and describe how we use thi s approach to effectively solve the MCFP. 5.3.1 Aggregated Multicommodity Flow Problem The aggregated MCFP is an approximation of the original MCFP. However, this approximate model is much smaller than the original problem and is hence solvable more quickly. This leads to the issue of tradingoff between the degree of approximation and the ease of solution, i.e., (1) The aggregate model may be solvable very quickly but may not produce good solutions; or (2) The aggregate model may be almost exact but may take a very long time to produce a good solution. Hence, the performance of an aggregated model depends on a few factors that need to be addressed while constructing the model. The first issue that needs to be addressed while designing an aggregated model is which entities to aggregate. The second issue that needs to be addressed is how to ensure that the aggregated model is as close as possible to the original problem. The closer the aggregated model is to the original problem, the easier it will be to disaggregate the aggregate solution and obtain near optimal solutions to the original problem. In the rest of this section, we focus on answering these questions and developing a good aggregation model. We divide our discussion into two parts: we first focus on the feasibility aspect of the problem and, in the process, address the first question. Next, we focus on the optimality of the problem and, in the process, address the second question. Consider a network G(N,A) that satisfies the reducibility property (defined in Section 2.4). The set of load arcs L on this network can be partitioned into several sets L(l') where l' E L'. Note that the set of load arcs L can be written as L = U L(l') Similarly, the cardinality of the set of load arcs can be written as  L = [ L(l ') . We refer to the cardinality of set L(l') as the frequency of aggregated arc l' and denote it by /, Hence, the load arcs can be considered to be made up of a set of aggregated load arcs, each with a prespecified frequency. We refer to the set of arcs in the set L(l') as the instances of aggregated load arc i'. Due to the reducability property of the network, all instances of an aggregated load arc are similar in terms of their origin location, destination location, power requirements, flow bounds, and duration. They only differ in their departure times and arrival times. Based on this observation, in the aggregated network, we aggregate all instances of an aggregated load arc in the original network into a single aggregated load arc. The flow on an aggregated load arc l' s L' represents the total flow on all the instances corresponding to it (L(l')). Also, the total power requirement of an aggregated loaded arc is computed by adding up the total power requirements on all the load arcs corresponding to it. For example, suppose an aggregated load arc has a frequency of four and all the load arcs corresponding to it have a power requirement of T, then the power requirement of the aggregated load arc is 4T. Similarly, we define the flow bounds on each aggregated loaded arc by adding up the flow bounds on all the instances corresponding to it. We denote the aggregated network by G'(N' A') where N' represents the set of nodes and A' the set of arcs. This network has two kinds of arcs: aggregated load arcs (L') and aggregated free arcs (F'). The aggregated load arcs are obtained as described above. Each aggregated load arc l' has: (1) A departure location represented by deplocation(l'); (2) An arrival location represented by arrlocation(l'). For each aggregated load arc we create an arrival (head) node and a departure (tail) node. We represent the set of arrival nodes by Nk and the set of departure nodes by N Next, we construct aggregated free arcs between all arrival nodes at a location and all departure nodes at the same location. Aggregated free arcs allow commodities to flow from one aggregated load arc to the next aggregated load arc. Note that due to the manner in which we construct the network, any path on G'(N',A') will contain alternate aggregated load arcs and aggregated free arcs. Also, the indegree of any arrival node and the outdegree of any departure node are one. We consider a set of commodities (C) which need to be assigned to aggregated load arcs and flow on the network to satisfy a set of constraints at minimal cost. We use the following additional notation in our formulation: LB,, : Lower bound on total flow on aggregated load arc l'E L This lower bound is obtained by adding up the lower bounds on all instances of aggregated load arc i'. UB,,: Upper bound on total flow on aggregated load arc l'E L This upper bound is obtained by adding up the upper bounds on all instances of aggregated load arc i'. t,, : Duration of aggregated load arc l' s L' . tf,: Estimated duration of aggregated free arc f F'. R": Total number of time units of commodity c EC available. The decision variables in the aggregated MCFP are: x : Integer variable representing the active flow of commodity c EC on aggregated load arc l'EL'. yl : Integer~ varIialeU representinglf the, deadheadL flowV of commodVity cEC on aggregated load arc l'EL'. y ,: Integer variable representing the flow of commodity c EC on aggregated free arc f F'. s" : Number of unused time units of commodity c EC . We formulate the aggregated MCFP as follows: min Cc~ xC + dI~Y + Cd), y (5.2a) 1 tL ctC I'tL' ctC f'tF' ctC Sx~ = J;,, for all I' EL ', (5.2b) LB,, < (x; + 4';;)1 < B,,, for all 1' L L', (5.2c) xti + J'r = y Y,, for all I' t L ', c e C:, (5.2d) feO[head(l')] Sy = xfi + y~i, for all I'EL I', c E C, (5.2e) Sti, (xt + Pr)+ tf y + so = RC, for all c E C, (5.2f) I'eL' f 'eF' 0 <; x~i < f, and integer, for all I' E L ', c E C, (5.2g) y~i > 0 and integer, for all i' E A ', c E C, (5.2h) s" > 0, for all c E C. (5.2i) Constraint (5.2b), which is the aggregated power requirement constraint, ensures that each aggregated load arc is assigned sufficient power. Constraint (5.2c), which is the aggregated flow bound constraint, ensures that the flow bounds on each aggregated load arc are honored. Constraint (5.2d) and (5.2e), which are flow balance constraint, ensures that flow is balanced at each arrival and departure node for each commodity type. Constraint (5.2f), which is the fleet size constraint, limits the total number of commoditytime units used for by commodity type. In order to measure the total number of commodity minutes used, we cumulatively add up the commodity minutes used by commodities assigned on each aggregated load arc and the commodity minutes used by commodities assigned on each aggregated free arc. We then ensure that the total number of commodity minutes used is less than the total number of commodity minutes available. The reader may note that the aggregated MCFP is similar in structure to the MCFP but could be several times smaller in size. Also, the fleetsize constraints (5.2f) in the aggregated model are constructed in an equivalent though different manner to the fleetsize constraint (5.1f) of the MCFP. The reason for this is that in the original network, it is quite straight forward to determine whether a free arc crosses the counttime; however, in the aggregated network since we consider aggregated load arcs, it is not possible to state with certainty whether an aggregated free arc crosses the counttime. For the time being, we assume that we know the duration of aggregated free arc. In the later part of this section, we discuss the importance of having good estimates for the duration of aggregated free arcs. The size of the aggregated MCFP is several times smaller than the MCFP. The reason for that is aggregation happens at two levels: (1) decision variables, and (2) constraints. For example, consider an aggregated load arc which has a frequency of four. In the MCFP, this aggregated load arc will have 4C active flow decision variables corresponding to it and 4C deadhead flow decision variables corresponding to it. However, the aggregated MCFP will have only C active flow decision variables and C deadhead flow decision variables. Hence, the flow on the aggregated load arc in this case represents the cumulative flow on the four load arcs that correspond to it. The decision variables corresponding to the free arcs are also aggregated in a similar manner. Using this method of variable aggregation, we are able to reduce the number of variables. Also, in the aggregated MCFP we have: * One power requirement constraint (5.2b) for every aggregated load arc instead of one (5.1b) for every load arc in the MCFP. * One set of flow bound constraints (5.2c) for every aggregated load arc instead of one (5.1c) for every load arc in the MCFP. * One set of flow balance constraints (5.2d) and (5.2e) for each aggregated load arc arrival and departure node, instead of one for each load arc arrival and departure in the MCFP. Suppose the average frequency of aggregated load arcs is close to five. Then, the total number of constraints in the aggregated model is roughly onefifth that of the original model and the total number of variables is a fraction of that in the original model. Thus, the aggregation of variables and constraints has the potential to result in a very compact aggregated formulation and consequently very fast solution times. We now proceed to state and prove a few important properties relating the feasibility of the aggregated MCFP and the feasibility of the MCFP. Property 5.1: For any assignment of flows on load arcs such that the total flow of a commodity entering a location is equal to the total flow of the same commodity leaving the same location and satisfying the power requirement constraints (5.1b) and flow bound constraints (5.1c), there exists a solution to the MCFP satisfying all constraints other than fleetsize constraint (5.1If). Proof: Consider the assignment of flows on load arcs which satisfies the conditions stated above. Consider the set of inbound load arcs entering a particular location, the set of outbound load arcs leaving the same location, and the set of free arcs between these inbound load arcs and outbound load arcs. Since free arcs are constructed between all inbound load arcs and outbound load arcs at a particular location and since flow on these arcs is unrestricted, it follows that we can enforce flow balance constraints (5.1d) and (5.1e) at all nodes at that location by a simple runthrough method. Repeating the same procedure at all locations in the network gives us a solution to MCFP satisfying all constraints other than possibly the fleetsize constraint (5.1f). * Property 5.2: There exists a feasible solution to the MCFP only if there exists a feasible solution to the aggregated MCFP satisfying all constraints other than the fleetsize Constraint (5.2f). Proof: We prove this property by construction. Consider a feasible solution to the MCFP. We can compute flows on arcs in the aggregated network by: (1) Assigning each aggregated load arc active flow equal to the total active flow on all load arcs corresponding to it; (2) Assigning each aggregated load arc deadhead flow equal to the total deadhead flow on all load arcs corresponding to it; (3) Computing the flow on all aggregated free arcs using the procedure described in the proof of Property 5.1. Note that, due to the manner in which we formulate the aggregated MCFP, the constructed solution satisfies the aggregated power requirement constraint (5.2a) and the aggregated flow bound constraints (5.2b). Further, from Property 5.1, it follows that the assignment will also satisfy the flow balance constraints (5.2c) and (5.2d). The result is immediate. * Property 5.3: There exists a feasible solution to the aggregated MCFP only if there exists feasible solution to the MCFP satisfying all constraints other than the fleetsize constraints (5.1f). Proof: We prove this property by construction. Consider a feasible solution to the aggregated MCFP. We can compute flows on arcs in the original network by: (1) Distributing the total active flow on each aggregated load arc among the load arcs corresponding to it (one unit per load arc), (2) Distributing the total deadhead flow on each aggregated load arc among the load arcs corresponding to it in such a way that the flow bound constraints (5.1c) are not violated, (3) Computing the flow on all free arcs using the procedure described in the proof of Property 5.1. The constructed solution satisfies the power requirement constraints (5.1b) and the flow bound constraints (5.1c). Also, the total flow of a commodity entering a location is equal to the total flow of the same commodity leaving the same location. Hence, from Property 5.1, the result follows. * We have thus showed the equivalence between the feasibility version of the MCFP and the feasibility version of the aggregated MCFP and have hence addressed the feasibility aspect of the problem mentioned at the start of this section. The other aspect we need to address is optimality. The obj ective function of the MCFP minimizes total active assignment cost, deadhead assignment cost, idling cost, and ownership cost. We now describe methods to ensure that the aggregated model serves as a good approximation of the original problem. In the aggregated MCFP, we do not consider the individual load arcs and only consider aggregated load arcs. Due to the abstraction of information, the aggregated MCFP is an approximation of the MCFP. Consider the aggregated MCFP. Suppose we were somehow able to accurately determine the time duration for each commodity assigned on each free arc accurately, then the aggregated MCFP would indeed model the original MCFP exactly. However, the only way in which this information can be obtained is from the solution to the MCFP which is what we set out to determine in the first place. Hence, it is not possible to accurately determine the durations accurately. Hence, our goal is to devise an intelligent method to provide good estimates for the duration of free arcs. Also, since the number of free arcs could be quite large, the method needs to run very quickly. The right way to estimate the durations is a function of the problem being studied. In Section 5.4. 1, we describe a method to estimate the duration of free arcs (or train connections) while solving the LPP. Note that the aggregated MCFP is similar in structure to the original MCFP. In other words, our method of aggregation shrinks the problem size while leaving the structure virtually unaltered. Hence, the existing stateoftheart algorithms for the MCFP may often be directly applicable to solve the aggregated problem. We now describe the second stage of our approach which involves disaggregation of the solution. 5.3.2 Disaggregation In this section, we show how the solution of the aggregated MCFP can be used to obtain a solution to the original MCFP. The approaches proposed use the solution of the aggregated MCFP to restrict the search space of the MCFP in order to speedup computational times. We propose three different methods to disaggregate the solution and we now describe these methods. Restricted multicommodity approach: Method 1 In the restricted multicommodity approach, we reduce the solution space of the MCFP formulated in Section 5.2.3 in the following manner. On every load arc, we allow only those commodities that are assigned as active commodities in the solution to aggregated MCFP to be assigned as active commodities. For example, suppose an aggregated load arc carries only commodities A and B, then all the load arcs that correspond to it are also restricted to only having those commodities as active commodities. By using this method, we can reduce the solution space of the MCFP by a large extent leading to very fast computational times. Multicommodity approach which partitions the aggregated active and deadhead flows Method 2 Note that the solution to the aggregated MCFP satisfies flow balance at each location, i.e., in the solution to the aggregated MCFP, the total number of units of a particular commodity entering a location is equal to the total number of commodities of the same type leaving the location. In this method, we exploit this fact to solve the MCFP. Also, as long as the total flow on all instances of an aggregated train is equal to the total flow on the corresponding aggregated train, the total flow of a particular commodity between any pair of locations in the MCFP is equal to the total flow between the same pair of locations in the solution to the aggregate MCFP. Hence by Property 1, flow balance constraints for the MCFP are easily satisfied. Therefore, our goals are (1) To redistribute the active assignments on each aggregated load arc among the load arcs corresponding to it; (2) To redistribute the deadhead assignments on each aggregated load arc among all the load arcs corresponding to it. Let L'(1) refer to the aggregated load arc corresponding to load arc 1 and L(l') represent all load arcs corresponding to aggregated load arc i'. We write these constraints mathematically in the following manner: Sxe = xic, for all l'E L', c E C, leL(1') yC ~= z, for alll'E L ',c EC(. leL(1') The righthand side of these equations is obtained from the solution of the aggregated MCFP. These constraints, when added to the MCFP, restrict the solution space to a larger extent than the first method. Hence, the solution obtained using this method is slightly worse than that obtained using the first method; however, the computational times are faster. Method 3 In this method, while the aggregated active flows are redistributed as described in the previous method, the aggregated deadhead flows are handled differently. Observe that as long as the total flow between any pair of locations in the MCFP is equal to the total flow between any pair of locations in the solution to the aggregate MCFP, the total number of consists of a particular type which enter a station will be equal to the total number of consists of the same type which leave the same station. By Property 5.1, flow balance constraints for the MCFP are easily satisfied. We use this fact to restrict the solution space of the MCFP. First, we introduce some additional notation. Let Fe be the total deadhead flow of commodity c EC between station p and station q in the solution to the aggregated MCFP and let H represent the set of all locations. Let Lpq be the set of all load arcs that originate from location p and terminate at location q. We then write these constraints mathematically in the following manner: Sxe = xi, for all l'E L',c E C, leL(l') Syze = Fp for all p)E H, qI E H,ce C. The righthand side of these equations is obtained from the solution of the aggregated MCFP. These constraints are added to the MCFP to restrict the solution space and speedup computational time. Note that the previous method is more restrictive and is also a special case of this method. This method gives less flexibility than the restricted multicommodity approach but more flexibility than the method 2. 5.4 Applications of the Aggregation Framework As we mentioned in the introduction, the aggregation framework can be used an effective tool in solving several optimization problems. In this section, we outline some applications of the aggregation framework to solve largescale realworld optimization problems. The problems considered include the LPP, the airline fleet assignment problem, the airline CSP, the LRP, and the aircraft routing problem. We go into details of how we use customize this framework to solve the LPP and present computational results to demonstrate the performance of the aggregation algorithm. We also outline how the aggregation framework can be used to solve all the other problems mentioned above but do not present computational studies of the performance of our algorithms on these problems. 5.4.1 Locomotive Planning Problem The LPP involves the assignment of sets of locomotives, called consists, to each train in a preplanned weekly train schedule so that each train gets sufficient power to pull its load and the total cost of locomotive usage is minimized. The resulting plan must honor a variety of business rules, cannot require more locomotives than what is available in the total fleet, and must result in a plan that is relatively simple and repeatable. Another important feature of the LPP is that locomotives may deadhead on trains. Deadhead locomotives do not pull the train but are repositioned by the active locomotives from one place to another place. Deadheading plays an important role in locomotive planning, enabling extra locomotives to be moved from stations with a surplus to stations with a defecit. A locomotive plan specifies which types of locomotives will pull each train, and how locomotives will deadhead to obtain overall network wide efficiency. We present an extensive review of research in the area in Chapter 3. The most comprehensive multiple locomotive planning models are due to Ahuj a et al. (2005) and Vaidyanathan et al. (2007b). In Ahuj a et al. (2005), we formulate the LPP as an integer MCFP with side constraints on an underlying spacetime network and develop solution methodologies that use problem decomposition, integer programming, greedy heuristics, and neighborhood search. In Vaidyanathan et al. (2007b), we developed new formulations and approaches to make our planning model more implementable. The maj or outcome of that paper was a philosophy shift in the routing of locomotives. We showed that assigning consists (or a group of locomotives which are never broken up) to trains, instead of individual locomotives has the potential to generate implementable solutions without compromising much on the solution cost. We call this formulation of the LPP the consistbased formulation. The algorithms that we developed in our research in the past were able to effectively solve weekly LPPs where the train schedule repeats every week. These weekly train schedules typically have around 3,000 trains and our algorithms were able to solve these problems within 1060 minutes of computational time. However, subsequently railroads have expressed the need to solve much larger planning problems. One such problem is the 28day LPP, where the train schedule repeats only once in 28 days. The reason for this is that the weekly repeating schedule assumption may not be a good assumption in certain cases. These 28day train schedules have 3 5 times more number of trains than the weekly train schedules, and hence the associated LPPs are significantly larger optimization problems. Due to this fact and the additional fact that the LPP is NPComplete, our previous approaches are likely to be intractable when applied to these problems. Hence, there is a need for a novel scalable approach to solve the LPP and the aggregation framework addresses this need. We consider the consistbased formulation of the weekly LPP introduced in Vaidyanathan et al. (2007b) and apply the aggregation framework to solve this problem. We now show how the LPP is a special case of the MCFP formulated in Section 5.2.3. The trains in the weekly train schedule are analogous to the load arcs and the train connections, which allow the transfer of locomotives from inbound trains at a station to outbound trains at the same station, are analogous to the free arcs. Hence, the LPP can be formulated on a network as described in Section 2.1 which contains only two kinds of arcs: train arcs, and connection arcs. The consists are the commodities which flow on this network. Also, the weekly train schedule is such that it can be considered to be made up of a set of aggregated trains, each with a prespecified frequency varying between one and seven. These aggregated trains are analogous to aggregated load arcs. Note that all instances of an aggregated train in the week are similar in terms of origin station, destination station, departure time of the day, arrival time of the day, and duration. The only factors which differentiate these trains are the departure day of the week, and arrival day of the week. From these observations, it follows that the underlying network satisfies the reducability property. The LPP is also governed by power requirement constraints, flow bounds on all train arcs, flow balance constraints, and fleetsize constraints which are similar in structure to constraints (5.1b), (5.1c), (5.1d), (5.1e), and (5.1f) respectively. Hence, the LPP falls into the class of MCFPs that can be solved using the aggregation framework. We now proceed to estimate the size of a typical instance of the LPP. Problem size A typical weekly train schedule has around 3,000 trains and eight consist types. Hence, the spacetime network will contain around 3,000 train arcs, and more than 500,000 connection arcs for a total of more than 500,000 arcs. The number of nodes on this network will be 3,000 train arrival nodes, 3,000 train departure nodes, for a total of 6,000 nodes. On each arc, we consider decision variables for the flow of each of the eight commodities. Hence, the number of variables in the formulation is around 500,000 x 8 = 4,000,000 variables. There are 3,000 train power requirement constraints (5.1b), 3,000 train flow bound constraints (5.1c), 6,000 x 8 = 48,000 flow balance constraints corresponding to each commodity at each node (5.1d and 5.1e), and 8 fleetsize constraints (5.1f) giving a total of around 55,000 constraints. Hence, the LPP is a large scale integer MCFP with 55,000 constraints and millions of decision variables. Integer programming problems of this size are intractable when solved using commercial integer programming software. However, the aggregated LPP which is similar in structure to the aggregated MCFP, is much smaller. Suppose the average frequency of each train is five, then the aggregated LPP would roughly have only onefifth the number of constraints and a small fraction of the number of decision variables as the original problem. The aggregation of variables and constraints results in a very compact aggregated formulation which can consequently be solved very quickly using commercial software. In Section 5.3.1, we mentioned that the estimation of the duration of free arcs is crucial to ensure that the aggregated problem is a good approximation of the original problem. We now describe a method to estimate durations of train connection arcs. This step is a crucial part of our algorithmic approach and we empirically converged at the following method after a significant amount of research and computational testing of various possibilities. Estimating train connection times The biggest approximation in the aggregated LPP is that the departure day of the week and the arrival day of week information of trains are not considered. This could lead to the aggregated problem generating bad solutions in terms of locomotive usage. For e.g. Consider a weekly train A which arrives at a station on Monday at 10:00 AM and another weekly train B that departs from the same station at 1 1:00 AM on Sunday. The optimal solution of the LPP is not likely to use the connection between these weekly trains to route locomotives because the idling time of the locomotive would be extremely high (six days and one hour). On the other hand, in the aggregated network, since we do not consider the arrival and departure days of individual trains, the connection between the corresponding aggregated trains could be used in the solution. We handle this problem in the following manner. We define an estimated connection time for each train connection on the aggregated network. The estimated connection time between aggregated trains A and B is computed to represent the probable connection time if a consist connects between a instance of aggregated train A and an instance of aggregated train B. Note that we cannot compute this value exactly unless both A and B have a frequency of one. We represent the estimated connection time of a train connection j by t, Note that since the aggregated problem has several thousand train connections and the method used to estimate train connection times needs to be run once for every connection, this method has to be very efficient so as to not blow up overall computational times. Next, we describe the method used to estimate the train connection times. Consider an inbound aggregated train i and outbound aggregated train j at a particular station. In order to compute the estimated connection time between these two aggregated trains, we consider the trains corresponding to them and the complete set of connections between these trains. Each connection is assigned time duration equal to the duration of that connection on the original network. For example, suppose the inbound aggregated train has a frequency of four and the outbound aggregated train has a frequency three, then we have the possibilities for connections between corresponding seven day trains as shown in Figure 52. In a general case, let the frequency of train i be represented by f(i). Let the actual connection times between the corresponding weekly trains be represented as matrix M of dimensions f(i) x f(j). We divide the computation of train connection times into two cases: Case 1:  f(i) f(j)<; 1 This case is when the inbound aggregated train and the outbound aggregated train have similar frequencies. In this case the estimated connection time is computed by solving an assignment problem between the inbound weekly trains and the outbound weekly trains. The connection times in the matrix M represent the obj ective function of this problem, i.e., the element M(i, j) represents the cost of assigning the ith inbound train to the jth outbound train. Let the optimal obj ective function of this problem be obj. We then compute the estimated connection time of the connection as obj/ min (f(i), f(j)). Case 2:  f(i) f(j)> 1 This case is when the inbound aggregated train and outbound aggregated train have frequencies which are quite different. Suppose the method described in case 1 were used in this case, it may not give realistic estimates of connection times. For example, suppose the inbound aggregated train had a frequency of one and arrives at 11 AM on Monday, and the outbound aggregated train has a frequency of seven and departs at 1 1:30 AM every day of the week. Then, if we were to compute the connection time based on the method in case 1, then we will obtain an estimated connection time of 30 minutes. However, this value is over optimistic since there is no guarantee that the connection between the inbound train on Monday and the outbound train on Monday will be made. Based on our empirical analysis, we found that in this case we using the average of all the connection times in M gives a good estimate of the connection time. We were able to solve the aggregated LPP in a few seconds of computational time. We applied the three methods of disaggregation described in Section 3 with the following results: (1) The restricted multicommodity approach (method 1) produced solutions to the LPP that were less than 1% away from the optimal solution in around 10 seconds of computational time; (2) Method 2 produced solutions to the LPP that were around 1.75% away from the optimal solution in around 2 seconds of computational time; (3) Method 3 produced solutions to the LPP that were around 1.5% away from the optimal solution in around 2 seconds of computational time. Our computational results section demonstrates the success of the aggregation framework as an effective tool to solve the LPP. We were able to obtain near optimal solutions (less than two percent gap) while consuming only onefifteenth of the original computational times. 5.4.2 Airline Fleet Assignment Problem The obj ective of the airline fleet assignment problem is to assign aircraft belonging to different fleet types to flight legs to minimize the assignment cost and subj ect to the following three types of constraints: (1) Covering constraints: Each flight leg must be assigned exactly one aircraft; (2) Flow balance constraints: An aircraft must land before takeoff; and (3) Fleetsize constraints: For each fleet type, the number of aircraft used must not exceed the number of aircraft available. A model which solves the problem described above is called a basic fleet assignment model (FAM). The fleet assignment problem has been well studied (Abara (1989), Hane et al. (1995), Talluri (1996), Rexing et al. (2000), Barnhart, Kniker, and Lohatepanont (2002), and Ahuj a et al. (2004)). Predominant approaches to solve this problem include integer programming algorithms, branchandbound methods, and very large scale neighborhood search techniques. However, to the best of our knowledge, none of the research of the past has employed aggregation methods to solve this problem. Most US airlines have the same flight schedule for five days of the week and a subset of the week day schedule in the weekend. Thus, airlines typically solve a daily fleet assignment model whose solution is then repeated on each day of the week. Their approach assumes that the flight schedule is the same on all days, which, strictly speaking does not hold for most airline schedules. Also, the additional constraint that the fleet assignment should repeat daily gives less flexibility to the model to assign aircraft to flight legs and may hence lead to suboptimal solutions. US airlines typically operate 2,000 flights daily and the computational times using existing methods for daily fleet FAMs are of the order of hours. Given the fact that these problems are NPComplete, it is very likely that the computational times will explode if the existing approaches were applied to problems say five times larger. In order to demonstrate the applicability of the aggregation based framework to solve larger FAMs, we consider the 5day fleet assignment problem or the weekday fleet assignment problem. Note that the 5day flight schedule can be considered to be made up of a smaller aggregated flight schedule where each aggregated flight has a prespecified frequency varying between one and five. We now show how the FAM is a special case of the MCFP formulated in Section 2.3. The flight legs in the flight schedule are analogous to the load arcs and the aircraft connections, which allow the transfer of aircraft from inbound flights at an airport to outbound flight at the same airport, are analogous to the free arcs. Hence, the FAM can be formulated on a network as described in Section 2. 1 which contains only two kinds of arcs: flight arcs, and aircraft connection arcs. The various aircraft types in the fleet are the commodities which flow on this network. Also, the flight schedule, as mentioned in the previous paragraph, is such that it can be considered to be made up of a set of aggregated flight legs, each with a prespecified frequency varying between one and five. These aggregated flight legs are analogous to aggregated load arcs. Note that all instances of an aggregated flight leg in the week are similar in terms of origin airport, destination airport, departure time of the day, arrival time of the day, and duration. The only factors which differentiate these flight legs are the departure day of the week, and arrival day of the week. From these observations, it follows that the underlying network satisfies the reducability property. The FAM is governed by covering constraints which are similar to the power requirement constraints (lb), flow balance constraints which are similar to constraints (ld) and (le), and fleetsize constraints which are similar in structure to constraints (1f). Hence, the FAM is a special case of MCFPs that can be solved using the aggregation framework. The reader may also note that the FAM is in fact simpler than the LPP and the MCFP since aircraft cannot deadhead on flight legs whereas multiple units can deadhead on load arcs. Also, note that the aggregated FAM will have a similar structure to the daily FAM. Hence, it is quite possible that the existing stateofart algorithms to solve the daily FAM can be also be directly employed to solve the aggregated FAM. 5.4.3 Airline Crew Scheduling Problem The obj ective of airline crew scheduling is to assign individual crew members to flights in a prespecified schedule to minimize assignment costs and satisfy all governmental and contractual restrictions such as maximum daily working hours, minimum overnight rest period, maximum time away from a crew base, etc. In practice, airline crew scheduling is sequentially divided into two stages: crew pairing and crew rostering. Among all the airports served by airlines, some are called crew bases. Each crew belongs to a specific base. A crew pairing is a connected sequence of flight segments that starts and ends at the same base location and also satisfies all the legality constraints. The crew rostering problem then assigns individual crew members to pairings. The airline CSP is a well studied problem (Hoffman and Padberg (1993), Barnhart et al. (1994, 2003), Vance et al. (1997), and Gopalakrishnan and Johnson (2005)). Predominant approaches to solve this problem include column generation, zeroone programming, branch andcut, and other integer programming approaches. In this section, we give a description of the basic version of the problem and outline how the aggregation framework can be used to solve it. Given a set of feasible crew pairings, the airline CSP can be formulated as the problem of finding the best collection of crew pairings such that each flight leg is covered exactly once. This problem is essentially a set partitioning problem and can be formulated in the following manner: Mlin C clxj ]=1 to n Ax = em,, x, E (0, 1) for all j= 1ton where em, is a vector having m entries equal to 1 and n is the number of crew pairings considered. The matrix A is an m x n matrix where each row represents a flight leg and the matrix is constructed in such a way that ar = 1 if flight leg i is covered by rotation j, and 0 otherwise. This problem is an NPComplete problem with millions of decision variables and hence almost all existing research deals with handling this computational complexity in an efficient manner. To the best of our knowledge, none of the existing research has explored aggregation as a means to solve this problem. We next outline our aggregation based approach to solve this problem. Note that this problem does not exactly fall in the class of MCFP since there is no underlying network and it is also not a multicommodity flow problem. However, due to the reducability property of the flight schedule, it still lends itself to the aggregation framework proposed. In the previous section, we observed that 5day flight schedule can be considered as an aggregated flight schedule where each flight has a prespecified frequency varying between one and five. This gives us the intuition that instead of solving the larger CSP directly, we can adopt an aggregation approach. We aggregate all instances of a flight in the week into a single aggregated flight. Each aggregated flight now has a crew demand which is equal to its frequency in the week (instead of one in the original model). We also consider pairings which are now made up of aggregated flights and refer to these pairings as aggregated pairings. These aggregated pairings are the decision variables in the aggregated CSP. The aggregated CSP can be formulated as a set partitioning problem where the right hand side is now the frequency of the corresponding aggregated flight. The aggregated CSP is identical in structure to the original model. However, the size of the aggregated model could be several times smaller. The reason for that is aggregation happens at two levels: (1) decision variables, and (2) constraints. The flow on each aggregated pairing represents the cumulative flow on several crew pairings in the original network. Also, in the aggregated model we have only one partitioning constraint for every aggregated flight instead of one for every flight in the original model. This aggregation of variables and constraints results in a very compact formulation and consequently has the potential to be solvable quickly. Once we obtain the solution to the aggregated model, we can use this solution to obtain a near optimal solution to the original problem using suitably designed disaggregation methods. 5.4.4 Locomotive and Aircraft Routing Problems The LRP involves routing each locomotive unit on a cyclic sequence of trains so that it can be fueled and serviced as necessary; while at the same time satisfying all other business and operational constraints considered in the LPP. We refer to the sequence of trains on which a locomotive unit travels as a locomotive route. Fueling feasibility requires that each locomotive route has sufficient fueling opportunities to ensure that the locomotive does not run out of fuel (outoffuel event). This translates to the constraint that every locomotive needs to have a fueling opportunity at least once for every F miles (900 miles) of travel. Similarly, servicing feasibility requires that each locomotive route has sufficient servicing opportunities and this translates to the constraint that every locomotive needs to have a servicing opportunity at least once for every S miles (3,000 miles) of travel. The LRP, until very recently, was a practically unstudied problem. Our recent research reported in Vaidyanathan, Ahuj a, and Orlin (2007c) and Chapter 4 considers the LRP. In that paper and in Chapter 4, we develop an aggregationdi saggregation approach to solve the LRP. In this section, we give an overview of our research and refer the interested reader to that paper for more details. We use the concept of strings to formulate the LRP. A string is a connected sequence of trains such that any locomotive which travels on this sequence can be fueled and serviced as necessary. We formulate the LRP as an integer programming string decomposition problem (SDP) on a suitably defined spacetime network. The obj ective is to partition the locomotive assignment (obtained from the planning model) on each train in the schedule into flows on strings while simultaneously minimizing the solution costs. The SDP is essentially a set partitioning problem with side constraints and is NPComplete. The number of strings (decision variables) in this problem runs to several million. Hence, a direct approach to solve this problem is not likely to be tractable. Note that the LRP like the airline CSP does not exactly fall in the class of MCFP described. However, due to the reducability property of the train schedule, it still lends itself to the aggregation framework. We next summarize our aggregation based approach to solve this problem and refer the reader to Vaidyanathan, Ahuj a, and Orlin (2007c) for further details. The train schedule satisfies the reducability property. Hence, in a similar manner to the LPP, we aggregate all the instances of a train in the week into a single aggregated train. The flow on each aggregated train represents the total flow on all weekly trains corresponding to it. We also consider strings which are now made up of aggregated flights and refer to these strings as aggregated strings. These aggregated strings are the decision variables in the aggregated LRP. Using this method of variable aggregation, we are able to reduce the number of variables from close to a million, to several thousand. Also, in the aggregated LRP we have only one partitioning constraint for every aggregated train instead of one for every train in the original model. Since the average frequency of aggregated trains is close to five, the number of partitioning constraints becomes roughly onefifth that of the original model. Also, since the number of aggregated trains is onefifth the number of original trains, the number of flow balance constraints also reduces by the same factor. Thus, the aggregation of variables and constraints results in a very compact formulation and consequently very fast run times. We also developed a disaggregation algorithm using which this solution can be disaggregated to obtain near optimal solutions to the original problem. Our computational results demonstrated that the aggregation approach was able to solve a number of different instances of the LRP within five minutes of computational time and with less than a 2.2 % optimality gap. Another routing problem of interest is the aircraft maintenance routing problem. Several researchers have worked on this problem (Feo and Bard (1989), Clarke et al. (1997), Gopalan and Talluri (1998), Talluri (1998), Barnhart et al. (1998)). Barnhart et al. (1998) use a branch andprice based approach to solve the aircraft routing problem. Their formulation has a lot of similarities to the formulation of the LRP described above. However, even for small problems with 150200 flights their approach takes 34 hours of computational time. Since the aircraft routing problem is very similar in nature to LRP and is in fact simpler in several ways (described in Vaidyanathan, Ahuj a, and Orlin (2007c)), we believe that the aggregation framework has the potential to be a useful speedup tool to solve this problem too. 5.5 Computational Results In this section, we provide computational results of our algorithms on several instances of the LPP with varying transport volumes. We implemented our algorithms in the Microsoft Visual Basic programming language and tested them on the data provided by a maj or Class I US railroad. We modeled our integer programs using ILOG Concert Technology 2.0 modeling language and solved them using the CPLEX 9.0 solver. We conducted all our computational tests on an Intel Pentium 4, 512MB RAM, and 2.4GHz processor desktop computer. In order to test the performance of the aggregation framework, we first solve the LPP exactly using the consist based formulation proposed in Vaidyanathan et al. (2007b) and measure the solution cost and computational times. We then use the aggregation approach to solve this problem and tabulate the performance of the three disaggregation approaches described in Section 5.3. We present the results of our computational test in Table 51 and Figure 53. From our computational tests we make the following conclusions: * The aggregation based methods proposed were able to solve all instances of the LPP to less than 2% optimality gap in less than onefifteenth the original computational time. * The difference between method 1 and method 2 is close to 1% in terms of optimality gap. However, the difference in performance between methods 2 and 3 is only marginal. * The aggregation based framework is able speedup the solution times of all instances of the LPP from a few minutes to a few seconds. 5.6 Summary and Conclusions We develop an aggregation framework that that can be applied to solve a class of large scale integer multicommodity flow problems (MCFP). We define the terminology and describe the properties of this class of problems in terms of the underlying network, the objective function, and the constraints. The basic philosophy behind the aggregation approach is that instead of solving a largescale problem directly, we divide our approach into two stages. In the first stage, we solve a much smaller aggregated model to optimality. Then, in the next stage we disaggregate the solution of the first stage to obtain a near optimal solution to the original problem. We formulate the class of MCFP as an integer programming problem on a network and describe the constraints in this problem. We also identify the properties that the network has to satisfy for the aggregation framework to be applicable. We formulate the aggregated version of the MCFP and show that it is much smaller in size than the original problem in terms of number of decision variables and constraints. We establish the relationship between the feasibility of the original MCFP and the feasibility of the aggregated MCFP, and also describe the importance of estimating the duration of arcs to ensure that the aggregated model is a good approximation of the original model. Finally, we describe three methods by which we can disaggregate the solution to obtain the near optimal solutions to the original problem. We demonstrate the applicability of the aggregation framework to solve several problems. We first describe an application of the aggregation framework to solve the LPP. We show that the LPP is a special case of the MCFP. Due to the nature of the aggregated LPP, its performance depends critically on the estimation of train connection times. While the train connection times in the original network can be computed trivially, in the aggregated network this information is not readily available. This is because, in the aggregated network, we abstract out the information regarding the operating day of a train and only consider its frequency and arrival and departure times of the day. We describe methods to estimate train connection times on the aggregated network in such a way that the aggregated model is a very good approximation of the original model. Since the aggregated problem is much smaller in size than the original problem, it can be solved to optimality quickly. We provide extensive computational results on the LPP to demonstrate the efficacy of our approach. The computational results demonstrate that the aggregation algorithm is able to obtain near optimal solutions (less than two percent gap) while consuming only onefifteenth the original computational times. We also outline applications of the aggregation framework to solve airline fleet assignment problem, airline CSPs, LRPs, and aircraft routing problems. We believe that the aggregation framework described has the potential to be effectively applied to solve largescale optimization problems. The main benefit of this approach is the fact aggregation shrinks the problem size leaving its structure virtually unaltered. Hence, the existing stateoftheart algorithms may be directly applied to the aggregated problem. Due to this reason, it can be used as a tool to speedup existing solution techniques to a wide variety of problems. Table 51. Performance of the aggregation algorithm. SNo Tonnage Exact Formulation Aggregation method 1 Aggregation method 2 Aggregation method 3 Cost Time Con. Cost Time Con. Gap Cost Time Con. Gap Cost Time Con. Gap 1 5,700 5,911,644 3m 20s 94.82 5,936,426 20.18s 94.82 0.42 5,998,630 5.54s 95.47 1.47 5,985,253 5.74s 95.14 1.23 2 6,080 6,325,823 8m 52s 95.14 6,369,353 27.31s 95.79 0.69 6,439,583 5.8s 94.89 1.80 6,414,983 6.22s 94.78 1.39 3 6,460 6,693,232 5m 57s 94.85 6,719,490 25.41s 94.46 0.39 6,825,278 6.87s 93.85 1.97 6,795,265 7.20s 93.92 1.50 4 6,840 6,994,761 6m 41s 94.93 7,035,412 16.79s 95.43 0.48 7,113,596 6.43s 94.82 1.70 7,088,953 8.44s 94.93 1.33 5 7,220 7,444,726 6m 41s 94.75 7,519,868 23.57s 94.10 1.01 7,588,132 5.57s 94.28 1.93 7,588,063 5.74s 94.21 1.89 6 7,600 7,848,320 7m 09s 94.96 7,895,066 34.47s 95.29 0.60 7,982,082 6.09s 93.81 1.70 7,965,902 6.29s 93.59 1.48 7 7,980 8,295,953 6m 01s 94.64 8,369,668 20.05s 93.99 0.89 8,458,740 6.09s 92.88 1.96 8,442,541 6.50s 93.31 1.74 I I I I I I I I , I \ \I ~I I \I L I I \ I \ ii i I r r , i I ,I Load are Free are O Arrival node Departure node Figure 51. Network. OTrain 1Mon  Train 2Mon STrain 1Tue Tri 2e O~~~ Tri e O  Train 2Thr Figure 52. Potential train connections. Figure 53. Performance of the aggregation algorithm. ' 00 8,500,000 8,000,000 7,500,000 7,000,000 6,500,000 6,000,000  5,500,000  5,5(  Exact me INthod 1 A INbthod 2 6,000 6,500 7,000 Tonnage 7,500 8,000 8,500 LIST OF REFERENCES Abara, J. 1989. Applying integer linear programming to the fleet assignment problem. Interfaces 19 2028. Ahuja, R.K., K.C. Jha, J. Liu. 2007. Solving reallife railroad blocking problems.1interfaces forthcoming. Ahuja, R.K., J. Liu, J. Goodstein, A. Mukherjee, J.B. Orlin. 2004. A neighborhood search algorithm for the combined through and fleet assignment model with time windows. Networks 44 160171. Ahuja, R.K., T.L. Magnanti, J.B. Orlin. 1993. Network Flows: Theory, Algorithms, and Applications. Prentice Hall, Englewood Cliffs, NJ. Ahuja, R.K., J. Liu, J.B. Orlin, D. Sharma, L.A. Shughart. 2005. Solving reallife locomotive scheduling problems. Transportation Science 39 503517. Assad, A.A. 1978. Multicommodity network flows A survey. Networks 8 3791. Assad, A.A. 1980a. Solving linear multicommodity flow problems. Proceedings of the IEEE International Conference on Circuits and Computers, 157161. Assad, A.A. 1980b. Models for rail transportation. Transportation Research 14A 205220. Assad, A.A. 1981. Analytical models in rail transportation: an annotated bibliography. INFOR 19 5980. Assad, A.A. 1983. Analysis of rail classification policies. INFOR 21 2933 14. Bamhart, C. 1988. A networkbased primaldual solution methodology for the multicommodity network flow problem. Ph. D. Dissertation, Dept. of Civil Engineering, MIT, Cambridge, MA. Bamnhart, C. 1993. Dualascent methods for largescale multicommodity flow problems. Naval Research Logistics 40 305324. Bamnhart, C., N.L. Boland, L.W. Clarke, E.L. Johnson, G.L. Nemhauser, R.G. Shenoi. 1998. Flight string models for aircraft fleeting and routing. Transportation Science 32 208220. Bamhart, C., C.A. Hane, P.H. Vance. 2000a. Using branchandpriceandcut to solve origin destination integer multicommodity flow problems. Operations Research 48 318326. Bamnhart, C., H. Jin, P.H. Vance. 2000b. Railroad blocking : A network design application. Operations Research 48 603614. Bamhart, C., E. L. Johnson, R. Anbil, L. Hatay. 1994. A column generation technique for the longhaul crew assignment problem. T. Ciriano, R. Leachman, eds. Optimization in Industry: Volume II. John Wiley and Son, England, UK, 722. 183 Bamnhart, C., E. L. Johnson, G. L Nemhauser, P. H. Vance. 2003. Crew scheduling. R.W. Hall, eds. Handbook of Transportation Science. Kluwer Academic Publisher, Norwell, MA, 493 521. Bamnhart, C., T.S. Kniker, M. Lohatepanont. 2002. Itinerarybased airline fleet assignment. Transportation Science 36 199217. Bamnhart, C., Y. Sheffi. 1993. A networkbased primaldual heuristic for the solution of multicommodity network flow problems. Transportation Science 27 102117. Bellmore, M., G. Bennington, S. Lubore. 1971. A multivehicle tanker scheduling problem. Transportation Science 5 3647. Bodin, L., B. Golden, A.A. Assad, M. Ball. 1983. Routing and scheduling of vehicles and crews: The state of the art. Computer and' Operations Research 10 6321 1. Bodin, L.D., B.L. Golden, A.D. Schuster, W. Rowing. 1980. A model for the blocking of trains. Transportation Research 14B 115120. Booler, J.M.P. 1980. The solution of a railway locomotive scheduling problem. Journal of the Operational Research Society 31 943948. Booler, J.M.P. 1995. A note on the use of Lagrangean relaxation in railway scheduling. Journal of the Operational Research Society 46 123127. Brannlund, U., P.O. Lindberg, A. Nou, J.E. Nilson. 1998. Railway timetabling using Lagrangian relaxation. Transportation Science 32 358369. Brunetta, L., M. Conforti, M. Fischetti. 2000. A polyhedral approach to an integer multicommodity flow problem. Discrete Applied]\ AubeinalltliL 101 1336. Campbell, K.C. 1996. Booking and revenue management for rail intermodal services. PhD Dissertation. Department of Systems Engineering, University of Pennsylvania, Philadelphia, PA. Caprara, A., M. Fischetti, P. Toth, D. Vigo, P.L. Guida. 1997. Algorithms for railway crew management. Mathematical Programming 79 124141. Carraresi, P., G. Gallo. 1984. Network models for vehicle and crew scheduling. European Journal of Operational Research 16 1391 51 . Castro, J, N. Nabona. 1996. An implementation of linear and nonlinear multicommodity network flows. European Journal of Operational Research 92 3753. Chen, H., C.G. Dewald. 1974. A generalized chain labeling algorithm for solving multicommodity flow problems. Computers and' Operations Research 1 437465. Chih, K.C., M.A. Hornung, M. S. Rothenberg, A.L. Kornhauser. 1990. Implementation of a real time locomotive distribution system. T.K.S. Murthy, R.E. Rivier, G.F. List, J. Mikolaj, eds. Computer Applications in Railway Plan2ning and Management. Computational Mechanics Publications, Southampton, UK, 3949. Chu, C.K., C.H. Chan. 1998. Crew scheduling of light rail transit in Hong Kong: From modeling to implementation. Computer and' Operations Research 25 887894. Clarke, L., E. Johnson, G. Nemhauser, Z. Zhu. 1997. The aircraft rotation problem. Annals of Operations Research 69 3346. Cordeau, J.F., F. Soumis, J. Desrosiers. 1998a. A Benders decomposition approach for the locomotive and car assignment problem. Technical Report G9835, GERAD, Ecole des Hautes Etudes Commerciales de Montreal, Canada. Cordeau, J.F., P. Toth, D. Vigo. 1998b. A survey of optimization models for train routing and scheduling. Transportation Science 32 380404. Crainic, T.G., J.A. Ferland, J.M. Rousseau. 1984. A tactical planning model for rail freight transportation. Transportation Science 18 165184. Cremeans, J.E., R.A. Smith, G.R. Tyndall. 1970. Optimal multicommodity network flows with resource allocation. Naval Research Logistics Quarterly 17 269280. Dantzig, G.B., P. Wolfe. 1960. Decomposition principle for linear programs. Operations Research 8 101111. Desrosiers, J., Y. Dumas, M.M. Solomon, F. Soumis. 1995. Timeconstrained routing and scheduling. M.O. Ball, eds. Handbooks in OR & M~S, Vol. 8. Elsevier Science, 35139. Detlefsen, N.K., S.W. Wallace. 2002. The simplex algorithm for multicommodity networks. Networks 39 1528. Ernst, A.T., H. Jiang, M. Krishnamoorthy, H. Nott, D. Sier. 2001. An integrated optimization model for train crew management. Annals of Operations Research 108 2 1 1224. Evans, J.R. 1977. Some network flow models and heuristics for multiproduct production and inventory planning. AIIE Transactions 9 7581. Farvolden, J.M., W.B. Powell. 1994. Subgradient methods for service network design problem. Transportation Science 28 256272. Farvolden, J.M., W.B. Powell, I.J. Lustig. 1993. A primal partitioning solution for the arcchain formulation of a multicommodity network flow problem. Operations Research 41 669 693. Feo, T.A., J.F. Bard. 1989. Flight scheduling and maintenance base planning. Management Science 35 14151432. Fischetti, M., P. Toth. 1997. A package for locomotive scheduling. Technical Report DEISOR 9716, University of Bologna, Italy. Florian, M., G. Bushell, J. Ferland, G. Guerin, L. Nastansky. 1976. The engine scheduling problem in a railway network. INFOR 14 121138. Florida Department of Transportation Report. 2005. Freight rail component of the Florida Rail Plan. Technical Report. Freling, R., R.M. Lentink, A.P.M. Wagelmans. 2004. A decision support system for crew planning in passenger transportation using a flexible branchandprice algorithm. Annals of Operations Research 127 203222. Forbes, M.A., J.N. Holt, A.M. Watts. 1991. Exact solution of locomotive scheduling problems. Journal of Operational Research Society 42 82583 1. Ford, L.R., D.R. Fulkerson. 1958. A suggested computation for maximal multicommodity network flow. Management Science 5 97101. Frangioni, A., G. Gallo. 1999. A bundle type dualascent approach to linear multicommodity mincost flow problems. INFORM~S Journal on Computing 11 370393. Garey, M.R., D.S. Johnson. 1979. Computers and intractability: A guide to the theory ofNP completeness. W.H. Freeman, New York, NY. Gautier, A., F. Granot. 1995. Forest management: A multicommodity flow formulation and sensitivity analysis. Management Science 41 16541688. Gersht, A., A. Shulman. 1987. A new algorithm for the solution of the minimum cost multicommodity flow problem. Proceedings of the IEE Conference on Decision and Control 26, 748758. Goeffrion, A.M., G.W. Graves. 1974. Multicommodity distribution system design by Benders decomposition. Management Science 20 822844. Golden, B.L. 1975. A minimum cost multicommodity network flow problem concerning imports and exports. Networks 5 331356. Gopalakrishnan, B., E. Johnson. 2005. Airline crew scheduling: Stateoftheart. Annals of Operations Research 140 305337. Gopalan, R., K.T. Talluri. 1998. The aircraft maintenance routing problem. Operations Research 46 260272. Gorman, M.F., M. Sarrafzadeh. 2000. An application of dynamic programming to crew balancing at Burlington Northern Santa Fe Railway.1International Journal of Services Technology and Management 1 174187. Graves, G.W., R.D. McBride. 1976. The factorization approach to large scale linear programming. Mathematical Progrananing 10 91110. Hane, C.A., C. Barnhart, E.L. Johnson, R.E. Marsten, G.L. Nemhauser, G. Sigismondi. 1995. The fleet assignment problem: Solving a largescale integer program. Mathematical Progrananing 70 211232. Haghani, A.E. 1989. Formulation and solution of a combined train routing and makeup, and empty car distribution model. Transportation Research 23B 433452. Hoffman, K.L, M. Padberg. 1993. Solving airline crew scheduling problems by branchandcut. Management Science 39 657682. Holmberg, K., D. Yuan. 2003. A multicommodity networkflow problem with side constraints on paths solved by column generation. INFORM~S Journal on Computing 15 4257. Jha, K.C. 2004. Very largescale neighborhood search heuristics for combinatorial optimization problems. Department of Industrial and Systems Engineering, University of Florida, Gainesville, FL. Kaplan, S. 1973. Readiness and the optimal redeployment of resources. Naval Research Logistics Quarterly 20 62563 8. Keaton, M.H. 1989. Designing optimal railroad operation plans: Lagrangian relaxation and heuristic approaches. Transportation Research 23B 415431. Keaton, M.H. 1992. Designing optimal railroad operating plans: A dual adjustment method for implementing Lagrangian relaxation. Transportation Science 26 262279. Kennington, J.L., R.V. Hel gason. 1980. Algorithms for Network Progrananing. Wiley Interscience, NY. Kennington, J.L. 1978. Survey of linear cost multicommodity network flows. Operations Research 26 209236. Kennington, J.L., M. Shalaby. 1977. An effective subgradient procedure for minimal cost multicommodity flow problems. Management Science 23 9941004. Korte, B. 1988. Applications of combinatorial optimization. Technical Report No. 88541OR. Institute fiir Okonometrie und Operations Research, Nassestrasse 2, D5300, Bonn, West Germany. Kraft, E.R. 1998. A reservationbased railway network operations management system. PhD Dissertation. Department of Systems Engineering, University of Pennsylvania, Philadelphia, PA. Larsson, T., D. Yuan. 2004. An augmented Lagrangian algorithm for large scale multicommodity routing. Computational Optimization and Applications 27 187215. Lin, Y., J. Yuan. 2001. On a multicommodity flow network reliability model and its application to a containerloading transportation problem. Journal of Operations Research Society of Japan 44 366377. Lohatepanont, M., C. Barnhart. 2004. Airline schedule planning: integrated models and algorithms for schedule design and fleet assignment. Transportation Science 38 1932. Mamer, J.W., R.D. McBride. 2000. A decompositionbased pricing procedure for largescale linear programs: An application to the linear multicommodity flow problem. Management Science 46 693709. Maroti, G., L. Kroon. 2005. Maintenance routing for train units: the transition model. Transportation Science 39 518525. Matsumoto, K., T. Nishizeki, N. Saito. 1985. An efficient algorithm for finding multicommodity flows in planar networks. SIAM~Journal on Computing 14 289302. Newton, H.N., C. Barnhart, P.M. Vance. 1998. Constructing railroad blocking plans to minimize handling costs. Transportation Science 32 330345. Nou, A., J. Desrosiers, F. Soumis. 1997. Weekly locomotive scheduling at Swedish State Railways. Technical Report G973 5, GERAD, Ecole des Hautes Etudes Commerciales de Montreal, Canada. Ouaj a, W., Richards, B. 2004. A hybrid multicommodity routing algorithm for traffic engineering. Networks 43 125140. Pinar, M.C., S.A. Zenios. 1990. Parallel decomposition of multicommodity network flows using smooth penalty functions. Technical Report 901206, Department of Decision Sciences, Wharton School, University of Pennsylvania, Philadelphia, PA. Radzig, T. 1997. Fast deterministic approximation for the multicommodity flow problem. Mathematical Progrananing 78 4358. Ramani, K.V. 1981. An information system for allocating coach stock on Indian Railways. Interfaces 11 4451. Rexing, B., C. Barnhart, T. Kniker, A. Jarrah, N. Krishnamurthy. 2000. Airline fleet assignment with time windows. Transportation Science 34 120. Schneur, R. 1991. Scaling algorithms for multicommodity flow problems and network flow problems with side constraints. Ph.D. Dissertation, Department of Civil Engineering, MIT, Cambridge, MA. Schneur, R., J.B. Orlin. 1998. A scaling algorithm for multicommodity flow problems. Operations Research 46 23 1246. Smith, S., Y. Sheffi. 1988. Locomotive scheduling under uncertain demand. Transportation Research Records 1251 4553. Surface Transportation Board, US Department of Transportation, Bureau of Accounts, Employment Data, 2006. Swoveland, C. 1971. Decomposition algorithms for the multicommodity distribution problem. Working Paper No. 184, Westemn Management Science Institute, University of California, Los Angeles. Talluri, K.T. 1996. Swapping applications in daily airline fleet assignment. Transportation Science 30 237248. Talluri, K.T. 1998. The fourday aircraft maintenance routing problem. Transportation Science 32 4353. Tomlin, J.A. 1966. A linear programming model for the assignment of traffic. Proceedings of the 3rd C'onference of the Aurstrarlianr Road Researrch Board 3, 263271. Vaidyanathan, B., K.C. Jha, R.K. Ahuj a. 2007a. Multicommodity network flow approach to the railroad crewscheduling problem. IBM~Journal ofResearch andDevelopnzent 51 325344. Vaidyanathan, B., R.K. Ahuja, J. Liu, L.A. Shughart. 2007b. Reallife locomotive planning: new formulations and computational results. Transportation Research B forthcoming. Vaidyanathan, B., R.K. Ahuja, J.B. Orlin. 2007c. The locomotive routing problem. Working paper, Department of Industrial and Systems Engineering, University of Florida, Gainesville, FL. Vance, P.H., C. Bamnhart, E.L. Johnson, G.L. Nemhauser. 1997. Airline crew scheduling: A new formulation and decomposition algorithm. Operations Research 45 188200. Walker, C.G., J. N. Snowdon, D. M. Ryan. 2005. Simultaneous disruption recovery of train timetable and crew roster in real time. Computer and Operations Research 32 20772094. Wise, T. H. 1995. Colwnn Generation and Polyhedral Combinatorics for Airline Crew Scheduling. Ph.D. Dissertation, Comell University, Ithaca, NY. Wren, A. 1981. Computer Scheduling of Public Transport. NorthHolland, Amsterdam. Wright, M.B. 1989. Applying stochastic algorithms to a locomotive scheduling problem. Journal of the Operational Research Society 40 187192. Ziarati, K., F. Soumis, J. Desrosiers, S. Gelinas, A. Saintonge. 1997. Locomotive assignment with heterogeneous consists at CN North America. European Journal of Operational Research 97 281292. Ziarati, K., F. Soumis, J. Desrosiers, M.M. Solomon. 1999. A branchfirst, cutsecond approach for locomotive assignment. Management Science 45 11561168. BIOGRAPHICAL SKETCH Balachandran Vaidyanathan is from India and he received his early education in the coastal city of Chennai. He received his bachelor' s degree in naval architecture and ocean engineering from the Indian Institute of Technology, Madras, India in 2002. Since August 2003, he has been pursuing his doctoral degree at the Department of Industrial and Systems Engineering, University of Florida. His academic interests include mathematical modeling and design of algorithms to solve realworld problems. He has made contributions in the areas of railroad crew and locomotive scheduling and has been awarded INFORMS 2004 and 2006 Honorable Mentions in their annual student paper competition on Management Science in Railroad Applications. He also received the Graduate Student Best Paper Award 2007 from the Transportation Research Forum. PAGE 1 1 NEXT GENERATION ALGORITHMS FO R RAILROAD CREW AND LOCOMOTIVE SCHEDULING By BALACHANDRAN VAIDYANATHAN A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLOR IDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2007 PAGE 2 2 Balachandran Vaidyanathan PAGE 3 3 To my parents PAGE 4 4 ACKNOWLEDGMENTS First, I thank my advisor Dr. Ravindra K. Ahuja who has been a great supervisor and mentor through my study at the University of Fl orida. His drive, enthusiasm, and sense of purpose have been exemplary, and his advice and support extremely helpful. I also express my gratitude to Dr. Joseph P. Geunes, Dr. Donald W. Hearn, and Dr. Sa rtaj Sahni for serving as my supervisory committee members and giving me thoughtful suggestions. My special acknowledgement goes to my frie nd and professor Dr. G. Srinivasan who inspired me to take up Operations Research as a career. I thank all my collaborators, colleagues, and friends, especially, Dr. James B. Orlin, Dr. Jian Liu, Dr. Kris hna Jha, Dr. Arvind Kumar, Dr. Guvenc Sahin, Mr. Larry A. Shughart, Sailash Mani, Ashwin Arulselvan, Suchandan Guha, Ibrahim Karakayali, Ismail Bakal, and Ashish Nemani. I acknowledge my entire family and friends for their support. My utmost appreciation goes to my parents who taught me some of the most valuable lessons in life, to my sister whose energy and enthusiasm are limitless, and to my gr andparents for always believing in me. Finally, I thank my wife, Sirisha, for her unwavering su pport which was instrumental in the completion of my research and dissertation. PAGE 5 5 TABLE OF CONTENTS page ACKNOWLEDGMENTS...............................................................................................................4 LIST OF TABLES................................................................................................................. ..........8 LIST OF FIGURES................................................................................................................ .........9 ABSTRACT....................................................................................................................... ............11 CHAPTER 1 INTRODUCTION..................................................................................................................13 2 THE RAILROAD CREW SCHEDULING PROBLEM........................................................16 2.1 Introduction............................................................................................................... ........16 2.2 Problem Description........................................................................................................ .23 2.2.1 Terminology...........................................................................................................23 2.2.2 Regulatory and Contractual Requirements.............................................................26 2.2.3 Problem Inputs........................................................................................................27 2.2.4 Constraints and Objective Function.......................................................................28 2.3 Mathematical Modeling....................................................................................................28 2.3.1 SpaceTime Network..............................................................................................28 2.3.2 Integer Programming Formulation (IPF)................................................................31 2.4 Solution Approaches........................................................................................................ .37 2.4.1 Successive Constraint Generation (SCG) Algorithm.............................................37 2.4.2 Quadratic CostPerturbation (QCP) Algorithm......................................................39 2.5 Significances and Uses of the Model................................................................................42 2.5.1 Tactical Crew Scheduling.......................................................................................42 2.5.2 Crew Planning........................................................................................................43 2.5.3 Crew Strategic Analysis.........................................................................................44 2.6 Computational Results......................................................................................................46 2.6.1 Comparison of Algorithms.....................................................................................46 2.6.2 Case Study..............................................................................................................48 2.7 Summary and Conclusions...............................................................................................51 3 REALLIFE LOCOMOTIVE PLA NNING: NEW FORMULATIONS AND COMPUTATIONAL RESULTS............................................................................................61 3.1 Introduction............................................................................................................... ........61 3.2 Notation and Terminology................................................................................................64 3.2.1 Notation................................................................................................................. .64 3.2.2 Hard Constraints.....................................................................................................66 3.2.3 Soft Constraints......................................................................................................67 3.2.4 Previous Research..................................................................................................68 PAGE 6 6 3.3 Mathematical Modeling....................................................................................................69 3.3.1 SpaceTime Network..............................................................................................69 3.3.2 Consist Flow Formulation for the LPP...................................................................71 3.3.3 Hybrid Formulation for the LPP.............................................................................76 3.3.4 Identifying Good Consists......................................................................................79 3.4 Incorporating Practical Requirements..............................................................................80 3.4.1 Incremental Locomotive Planning.........................................................................80 3.4.2 Cab Signal Requirements.......................................................................................82 3.4.3 Foreign Power Requirements.................................................................................84 3.5 Computational Results......................................................................................................85 3.5.1 Comparison of Formulations..................................................................................86 3.5.2 Identifying Good Consists......................................................................................86 3.5.3 Incremental Locomotive Planning.........................................................................87 3.5.4 Case Study..............................................................................................................87 3.6 Summary and Conclusions...............................................................................................90 4 THE LOCOMOTIVE ROUTING PROBLEM......................................................................99 4.1 Introduction............................................................................................................... ........99 4.2 Notations and Terminology............................................................................................104 4.3 Overview of Our Approach............................................................................................106 4.4 The Locomotive Planning Problem (LPP).....................................................................106 4.5 Fuel and Service String Enumeration Algorithms..........................................................107 4.6 String Decomposition Problem (SDP)............................................................................111 4.6.1 SpaceTime Network............................................................................................111 4.6.2 Integer Programming Formulation.......................................................................113 4.7 A Tractable Solution Approach: Aggregation and Disaggregation................................116 4.7.1 Aggregated Model................................................................................................117 4.7.2 Disaggregation Model..........................................................................................122 4.8 Handling Infeasibilities...................................................................................................126 4.9 Computational Results....................................................................................................129 4.9.1 Testing the Performance of the Algorithm...........................................................129 4.9.2 Case Study............................................................................................................130 4.10 Summary and Conclusions...........................................................................................132 5 AGGREGATION FRAMEWORK TO SO LVE LARGESCALE INTEGER MULTICOMMODITY FLOW PROBLEMS......................................................................145 5.1 Introduction............................................................................................................... ......145 5.2 Problem Definition, Notation, and Formulation.............................................................149 5.2.1 Network................................................................................................................149 5.2.2 Constraints............................................................................................................150 5.2.3 Formulation..........................................................................................................151 5.2.4 Reducibility Property of the Network..................................................................153 5.3 Aggregation and Disa ggregation Algorithm..................................................................153 5.3.1 Aggregated Multicommodity Flow Problem........................................................154 5.3.2 Disaggregation......................................................................................................161 PAGE 7 7 5.4 Applications of the Aggregation Framework.................................................................164 5.4.1 Locomotive Planning Problem.............................................................................164 5.4.2 Airline Fleet Assignment Problem.......................................................................170 5.4.3 Airline Crew Scheduling Problem........................................................................172 5.4.4 Locomotive and Aircraft Routing Problems........................................................174 5.5 Computational Results....................................................................................................177 5.6 Summary and Conclusions.............................................................................................178 LIST OF REFERENCES.............................................................................................................183 BIOGRAPHICAL SKETCH.......................................................................................................191 PAGE 8 8 LIST OF TABLES Table page 21 Comparison of algorithmic performance...........................................................................53 22 Effect of varying crew pool sizes.......................................................................................54 23 Effect of varying deadhead cost.........................................................................................54 24 Effect of varying minimum rest time at home location.....................................................55 25 Effect of varying detention cost.........................................................................................55 26 Effect of varying detention time........................................................................................56 31 Set of input consists...................................................................................................... .....92 32 Comparison of formulations: Scenario 1...........................................................................92 33 Comparison of formulations: Scenario 2...........................................................................92 34 Computational results of incremental locomotive planning..............................................93 35 Effect of varying the minimum connection time...............................................................93 36 Effect of varying transport volumes..................................................................................94 37 Effect of varying train travel times....................................................................................94 41 Performance of the lo comotive routing algorithm...........................................................135 42 Effect of varying se rvicing distance threshold.................................................................135 43 Effect of varying number of fueling stations...................................................................135 44 Effect of varying the number of servicing stations..........................................................136 51 Performance of the aggregation algorithm......................................................................180 PAGE 9 9 LIST OF FIGURES Figure page 21 Spacetime network for a singleende d district with a single crew type...........................57 22 Illustration of the FirstInFirstOut (FIFO) rule...............................................................58 23 Crew assignments are made in (a) NonFIFO manner, and (b) FIFO manner..................58 24 Solution cost vs. number of crews.....................................................................................59 25 Solution cost vs. minimum rest time at home....................................................................59 26 Solution cost vs. detention time.........................................................................................60 31 Overview of the loco motive scheduling algorithm............................................................95 32 A part of the spacetime network.......................................................................................96 33 Solution cost of the consist fo rmulation vs. number of consists........................................96 34 Solution cost vs. number of consists..................................................................................97 35 Solution cost vs. minimum connection time......................................................................97 36 Solution cost vs. transport volumes...................................................................................98 37 Solution cost vs. % in crease in travel time........................................................................98 41 Flowchart of the fuel and service routing algorithm........................................................137 42 Fuel string enumeration algorithm...................................................................................138 43 Service string enumeration algorithm..............................................................................139 44 A part of the spacetime network at a particular service station......................................140 45 Disaggregated strings and corresponding aggregated string...........................................140 46 Disaggregation algorithm.................................................................................................141 47 Example of infeasibility.................................................................................................. .141 48 Performance of the lo comotive routing algorithm...........................................................142 49 Solution cost vs. servicing threshold...............................................................................143 410 Solution cost vs. number of fueling locations..................................................................143 PAGE 10 10 411 Solution cost vs. number of servicing locations..............................................................144 51 Network................................................................................................................... .........181 52 Potential train connections...............................................................................................181 53 Performance of the aggregation algorithm......................................................................182 PAGE 11 11 Abstract of Dissertation Pres ented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy NEXT GENERATION ALGORITHMS FO R RAILROAD CREW AND LOCOMOTIVE SCHEDULING By Balachandran Vaidyanathan August 2007 Chair: Ravindra K. Ahuja Major: Industrial and Systems Engineering Our research concerns optimal railroad crew and locomotive management. Crew scheduling entails assigning crews to trains while complying with union rules, so that the crew costs are minimal and train delays due to cr ew unavailability are minimized. Locomotive scheduling ensures the correct number and type of locomotives are attached to each train such that a train has sufficient pulli ng power while satisfying a variety of business constraints and minimizing locomotive costs. Locomotive rou ting involves routing each locomotive unit on a cyclic sequence of trains so that it can be fuel ed and serviced as necessary. These problems are difficult to solve NPComplete problems and the North American locomotive and crew scheduling problems have not yet been solved satisfactorily. However, solving these problems has the potential to save railroads several million dollars a year. First, we examine the North American ra ilroad crew scheduling problem (CSP). We develop a networkflow based crewoptimizatio n model and design efficient algorithms using problem decomposition and relaxati on techniques. Next, we extend th e earlier attempts to solve the locomotive planning problem (LPP) on severa l dimensions by considering new constraints desired by locomotive directors. We develop ad ditional formulations necessary to transition solutions of our models to practice and report co mputational tests of th ese models on the data PAGE 12 12 provided to us by a major US railroad. Next, we study the locomotive ro uting problem (LRP). The LRP is a very largescale combinatorial optimization problem and has previously been unstudied and unsolved. We formul ate the LRP as an integer programming problem on a suitably constructed spacetime network and develop fast aggregationdisaggregation based methods to solve this problem. Finally, we study the multic ommodity flow problem (MCFP). MCFPs have found application in wide variety of domains. Th e LPP and the CSP are indeed special cases of the MCFP. However, the integer version of th is problem is NPComplete. We propose a novel aggregationdisaggregation framework to solv e a class of largescale integer MCFPs. PAGE 13 13 CHAPTER 1 INTRODUCTION US railroads carry millions of railcars annuall y accounting for 40% of the nations intercity tonmiles. US freight tonnage is expected to double in volume over the next 20 years (Florida Department of Transportation Report (2005)). Po licy makers and corporate leaders are very concerned about the ability of the nations infrastructure to handle this growth. Congestion has increasingly become a major ec onomic barrier to the free flow of goods across the nation, with highways, airports, and railroads all laboring under record levels of volume, high energy costs, employee shortages, reduced funding, and additional challenges of security and severe weather. A number of recent studies from policy thi nk tanks, government agencies, and academic associations have shown that the railroad industry must do more to avert crippling gridlock. It is thus incumbent on us as a society to work t ogether to discover new and innovative techniques whereby all transportation provi ders, including the railroads, can improve the utilization, productivity, and reliability of the existing infrast ructure. In this study, we have considered two very important problems related to railro ad operations: crew scheduling and locomotive planning. We have developed robust optimization techniques to solve these problems quickly and to near optimality. In our research, we ha ve placed a large emphasi s on implementability of solutions, which refers to the ability of a solu tion to be used in reallife. Our algorithms for locomotive and crew scheduling are designed to produce implementable solutions which can be used by railroads to re alize potential savings. Railroads decompose their planning and sche duling problems into a number of stages. A blocking plan specifies how a set of cars with di fferent origindestination pairs be consolidated into relatively large groups (blocks) of cars to reduce handlings. These blocks then travel over the train network. The train schedu le prescribes the number of trai ns to assemble, the origin, the PAGE 14 14 destination, the route of each train, the arrival an d departure times of each train at each station, and the days of operation of each train. Once the train schedules have been finalized, locomotives and crews must be assigned to each train. Locomotive scheduling ensures the correct number and type of locomotives are atta ched to each train such that every train has sufficient pulling power, while simultaneously sa tisfying a variety of business constraints and minimizing locomotive costs. Crew scheduling enta ils assigning crews to trains in each crew district, while complying with union rules, so th at the crew costs are minimal and train delays due to crew unavailability are minimized. The railroad blocking problem and the train scheduling problem are well studied problems. Some recent references for the blocking probl em are Newton, Barnhart, and Vance (1998), Barnhart, Jin, and Vance (2000b), and Ahuja, Jha, and Liu (2007). Ahuja, Jha, and Liu (2007) conduct the most comprehensive study of the bl ocking problem. They developed a very large scale neighborhood search (VLSN) algorithm to so lve this problem. This algorithm was applied to data provided by several railroads producing ex cellent computational re sults. Their algorithms have also been licensed by two Class I railroads in the United States. Given a blocking plan, developing a train schedule is the next operationa l planning task faced by a railroad. The train scheduling problem is to identify train routes, their frequencies ( how often they run in a week), and their timetables so as to minimize the cost of carrying cars from their origins to their destinations. The train schedule developed is repeated every period (mostly weekly). Some recent research on this problem is due to Fa rvolden and Powell (1994), Campbell (1996), Kraft (1998), Brannlund et al. (1998), and Jha (2004). On ce the train schedule an d blocks are fixed, then next problem that needs to be solved is the blocktotrain assignment problem. This problem PAGE 15 15 has been studied by Crainic, Ferland, and Rousseau (1984), Haghani (1989), Keaton (1989, 1992), and Jha (2004). In our research, we focus on the crew pla nning problem, the locomotive planning problem, and the LRP. These problems are largescale NPComplete problems which have not yet been solved satisfactorily. Solving these problems has th e potential to save the railroads millions of dollars and make a significant impact on the bottomline. We devel op novel optimization techniques to generate realistic and implementab le solutions to these problems, employing robust algorithms. We have extensively applied theory from network optimization, linear programming, integer programming, and heuristic optim ization to solve these problems. PAGE 16 16 CHAPTER 2 THE RAILROAD CREW SCHEDULING PROBLEM 2.1 Introduction Crew scheduling problems consist of assigning crews to trains and creating rosters for each crew, while satisfying a variety of Federal Railway Administrati on (FRA) regulations and tradeunion work rules. The objectives are to minimize the cost of operating trains on one hand and to improve the crew qualityoflife on the other hand. Improved quality of crew life leads to more productive employees, less employee turnover, and much safer opera tions. Although airline CSPs have been well studied and well solve d, and railroad CSPs for European and Asian railroads have also been addressed to some exte nt, CSPs for North American railroads, due to various union and regulatory complexities, are unique and remain unsolved. Our focus is on developing efficient network flow optimizati on models that can form a backbone for all important aspects of crew scheduling for Nort h American railroads: tactical, planning and strategic analysis. Henceforth, unl ess otherwise specified, the CSP is referred to in the context of North American railroads. US freight tonnage is expected to double in volume over the next 20 years (Florida Department of Transportation Report (2005)). Railr oad executives are very concerned about their ability to attract, train, and retain sufficient semi skilled labor necessary to staff the increased number of train starts that will be needed to support this growth. Railroads pay train crew employees very high salaries (around $70,000 per y ear plus benefits) and yet have difficulty attracting a high quality work for ce. Operating a train as an engi neer or managing a train as a conductor is not an easy job. This is further co mplicated by the fact th at crews are seldom assigned to trains based on a fixed schedule. Generally the company telephones the next available crew and gives them their assignment tw o hours before a train departs. The crew takes PAGE 17 17 the train to an away location where they rest at a hotel and then return on another train as their turn is reached. Consequently, train crews do not know from one day to the next, let alone a week or a month ahead, when they will be wo rking. Train crews spend inordinate amounts of time on call, waiting for assignment and away fr om their homes and families. The irregular workstyle of railroad crews makes attracti ng potential employees to this career harder. Also, railroads are not very profitable, typica lly earning less than 10% return on capital, and are constrained from raising already high wa ges to attract more employees. To close the supply and demand gap for train crews, railroads must raise productivity of their existing crews and change the historical pattern of operations to improve employees qualityoflife. Success on both fronts will be required to ensure that rail roads can continue to profitably grow their businesses. Labor costs, the largest component of a railroads operating expense, account for a large percentage of the total revenue. Depe nding on the size of thei r network, each Class I railroad (a Class I railroad, as defined by th e Association of American Railroads, has an operating revenue exceeding $319.3 million) employs around 15,000 to 25,000 locomotive engineers, conductors, and brakemen (Surface Transportation Board, US DOT, Bureau of Accounts). Consequently, improving the efficiency and effectiveness of train crews has the potential to dramatically redu ce the cost of transportation. We propose a networkflow model and algorithms for assigning crews to trains that will make a significant impact on a railroads ontime performance, crew utilization and produ ctivity, while also impr oving both qualityoflives for crew and railroad safety. In a large Class I railroad, various divisions are tasked with analyzing train crews. Each group is interested in a different aspect of crew planning and sc heduling. These perspectives can generally be characterized based on the planning horizon of the issue at hand. Crew issues faced PAGE 18 18 by railroads can be broadly classifi ed into three categories: 1) Tac tical Decisions that must be made immediately to support realtime train ope rations. Tactical problems have a planning horizon of 24 to 48 hours. 2) Planning Decisions that must be made as a part of the crew schedule design process. Typically, railroads make adjustments to their network operating plan every month, with significant changes two or thre e times a year to account for both longrun and seasonal changes in traffic patterns. 3) Strategic Decisions that must be made well in advance (more than a year) of implementation to ensure sufficient lead time is available to properly prepare and implement a new bus iness practice. The models a nd algorithms proposed have applications in all thes e areas of decision making. Crew scheduling is one of the important mathem atical problems in th e rich set of planning and scheduling problems that can be modeled and solved using mathematical optimization techniques (Assad (1981, 1983), and Cordeau, Tot h, and Vigo (1998b)). Crew scheduling is a well known problem in operations research and has b een historically associat ed with airlines and masstransit companies. Several papers on crew scheduling management have appeared in the past literature; most notable among these are due to Wren (1981), Bodin et al. (1983), Carraresi and Gallo (1984), Wise (1995), and Desrosiers et al. (1995). All these ar ticles explore a set covering based approach to solve the CSP. Crew scheduling is conventionally divided into two stages: (1) Crew pairing: A crew pairing is a sequence of connected segments that start and end at the same crew base and satisfy all legality constraints. The objective is to find the minimumcost set of crew pairings such th at each flight or train segment is covered. (2) Crew rostering: The objective here is to assign in dividual crew members to trips or sequences of crew pairings. This pairing and rostering appro ach uses a set covering formulati on and is generally solved using column generation embedded in a branchandb ound framework (also called branchandprice). PAGE 19 19 The pairing and rostering approach has gain ed wide acceptance and application in the airline industry. Gopalakrishnan a nd Johnson (2005) in a recent su rvey paper discuss the stateoftheart in solution methodologies for the air line crew pairing and rostering problem. There have also been some applications of this approa ch in the railroad indus try. Caprara et al. (1997), Ernst et al. (2001), and Freling, Lentink, and Wagelmans (2004) desc ribe the application of this approach to railroad crew ma nagement. Caprara et al. (1997) describe the solution techniques adopted at an Italian railroad. They consider several business rules that are specific to European railroads and develop a heuristic algorithm to generate rosters. Ernst et al. (2001) consider the CSP faced by Australian railroads and develop an optimization model which constructs crew parings and rosters. While they consider several business rules, they still solve a relaxed version of the problem and mention the necessity for an exact method in their conclusions. Freling, Lentink, and Wagelmans (2004) deve lop a decision support system for airline and railroad crew planning using a branchandprice solution approach to solve the integrated problem of pairing and rostering. They show that the integrated ap proach provides signifi cant benefits over the sequential approach of solving th e pairing problem and then the rostering problem. Other articles which describe applications of the pairing and rostering approach include Barnhart et al. (1994, 2003). Other research in the area of railroad crew scheduling which uses a different approach is due to Chu and Chan (1998), and Walker, Snowdon, and Ryan (2005). Chu and Chan (1998) consider the problem of crew scheduling for light rail transit in Hong K ong. They decompose the problem into two stages, the first one involving pa rtitioning of driving blocks into pieces, and the second one involving the combination of pieces into runs. With added localized optimization heuristics, they were able to so lve the problem in less than half an hour of computational time. PAGE 20 20 However, their approach could not model the pr oblem completely and th e solution could only be used as a guideline for crew schedule generatio n. Walker, Snowdon, and Ryan (2005) develop an integer programming based method for simultaneous disruption recovery of train timetable and crew roster in real time in th e context of New Zealand railroad s. The crew rules that they consider are relatively simplistic and can be expressed in the form of integer programming constraints. They solve the problem using a column and constraint generation algorithm. While there have been several papers devoted to the study of the railroad CSPs in Europe, Asia, and Australia, North American railroad CS Ps are yet to be addressed satisfactorily. The only application of optimization methods to North American railroad crew scheduling is due to Gorman and Sarrafzadeh (2000). They studied crew balancing in the context of a major North American Railroad, Burlington Northern Santa Fe (BNSF) Railway and developed a dynamic programming approach to solve the problem. The major shortcoming of their research was that they did not consider the possibi lity of different crew types; each governed by a different set of rules. Another drawback is that their approach could handle only a particular crew district configuration (singleended crew district). While most crew districts in North America are singleended, there are several which ar e doubleended or even more complex. The multicommodity network flow approach described models all the rules considered by Gorman and Sarrafzadeh (2000) and also handles the case where different crew pools have different sets of rules. It is also applicable to all the crew district configurat ions encountered in North America (in Section 2.2, we describe these configurations). From our extensive review of the literature, we observe that the crew pairing and rostering approaches which use column generation have been the predominantly successful method to PAGE 21 21 solve CSPs. However, this approach cannot be used for North American railroads due to the following reasons: The rail network of North American railroad is divided into several crew districts. As a train follows its route, it goes from one crew district to another, picking up and dropping off crew at crew change terminals. Almost all crew districts cons ist of two or three terminals. Hence, a pairing and rostering appr oach is needlessly complex and not required since most pairings would consist of two tr ains, an outbound train from home to away and an inbound train from away to home. Also rail networks typically consist of 200300 crew districts and the emphasis is on an approach which is simple and fast, and column generation techniques which are computationa lly very intensive are not appropriate. The FRA regulations governing North Ameri can railroads are extremely complex. The most complicating of these rules is FirstInF irstOut (FIFO) requirement. FIFO constraints require that crews should be called on duty in the order in which they become qualified for assignment at a location. The reader may not e that none of the past research handles constraints of this kind. While this constraint is extremely easy to state, explicitly modeling these constraints make the problem computa tionally intractable. The success of all approaches using column generation or bran chandprice algorithms is dependant on the ease of solving the subproblem. Addition of the FIFO side constr aints to the problem would spoil the special structure of the subproblem and blow up th e computational times. Since our model needs to be fast enough to be used in a realtime environment, this approach is once again not suitable. While there has been significant work in the area of crew scheduling for European, Asian, and Australian railroads as well as in the area of airline crew scheduling, there is no modeling approach that is flexible enough to tackle CSPs faced by North American railroads. Our approach (Vaidyanathan, Jha, and Ahuja (2007a )), is the first of its kind and is a novel contribution to the application of innovative optimization techniques to solve realworld problems. We model the CSP as a multicommodity ne twork flow problem on an underlying spacetime network. In this model, crew pools (set of crews governed by same business rules in a crew district) represent commodities, and the flow of individual crew represents their assignments. The spacetime network is constructe d in such a way that flow of crew automatically satisfies all FRA regulations and tradeunion ru les other than the FirstInFir stOut (FIFO) requirement. We PAGE 22 22 formulate the CSP as an integer multicommodity flow problem on a spacetime network and the FIFO constraints are modeled as side constraint s to the multicommodity flow problem. We show that solving the integer programming fo rmulation using standard branchandbound methodology is computationally intractable. On th e other hand, the same problem with relaxed FIFO constraints can be solved very effici ently using branchandbound. We refer to the CSP with relaxed FIFO constraints as the Relaxed Pr oblem, and a solution to this problem provides a lower bound to the optimal solution of the CSP. We develop an algorithm, called Successive Constraint Generation (SCG) algor ithm, which starts with the so lution of the Relaxed Problem and then iteratively adds constraints to rem ove FIFO violations. We also develop another algorithm, called Quadratic Cost Perturbation (QCP ) algorithm, which pertur bs arc costs in the spacetime network to penalize FIFO violations, and we prove that this approach guarantees FIFO compliance. We also show that the QCP approach produces optim al solutions in most cases and less than 0.2% gap for a few cases, wi th running times in the order of minutes. Our major research contributions are: We develop a spacetime network so that the flow of crews on this network automatically satisfies all the FRA regulations and tradeuni on rules other than th e FirstInFirstOut (FIFO) requirement. The netw orkconstruction procedure is flexible enough to handle several combinations of rules and regulations and also vari ous different crew district configurations. It is also fl exible enough to handle costs wh ich are nonlinear functions of arc durations. We formulate the CSP as an integerprogr amming problem on the spacetime network, enforcing the FIFO requirements by adding si de constraints. We prove the onetoone correspondence between solutions to this integer program a nd solutions to the CSP. We show that the FIFO requirement, if ha ndled by the integerprogramming approach, complicates the structure of the problem and makes it computationally intractable. We develop an exact algorithm called Successive Constraint Generati on (SCG), which first solves the relaxed version of the integer program (without FIFO constraints) and then iteratively adds constraints in orde r to eliminate FIFO infeasibilities. PAGE 23 23 We develop an approach based on a Quadratic Cost Perturbation (QCP ) that perturbs the cost of arcs in the spacetime network in such a way as to penalize violations of the FIFO constraints. We prove that this method guara ntees FIFO compliance for the problem that we study and also show that it produces the optimal solution in most cases. We present extensive computational results a nd case studies of our algorithms on the reallife data. 2.2 Problem Description 2.2.1 Terminology Crew District: The rail network of a rail road is divided into crew districts that constitute a subset of terminals (nodes). Each crew distri ct is typically a geogr aphic corridor over which trains can travel with one crew. A typical railroad network for a ma jor railroad in the US may be divided into as many as 200 to 300 crew districts. As a train follo ws its route, it goes from one crew district to another, picki ng up and dropping off crew at crew change terminals. Contrary to the airline industry, where certain crews have the flexibility to operate over a large territorial domain, in the North American railroad industr y, crews are qualified to operate only in certain specific geographic territories. The physics of operating a train depend on the track geometry, which is defined by the hills and curves in th e route and by signaling and interlocking systems that control the movement of trains. A crew must be intimately familiar with all aspects of a route to safely operate a train on that route. Consequently, most crews are qualified to operate on a limited number of routes. Crew Pools: Within a crew district, there are seve ral types of crews called crew pools or crew types, which may be governed by different tradeunion rules and regulations. For example, a crew pool may have preference over the trai ns operated in a prespecified time window. Similarly, a crew pool consisting of senior crew personnel is a ssigned only to predesignated trains so that crews in that pool know their working hours ahead of time. The multiple crew PAGE 24 24 pools within each district with different constr aints make CSPs complex and difficult to model mathematically. Home and Away Terminals: The terminals where crews from a crew pool change trains are designated either as home terminals or away terminals. The railroad does not incur any lodging cost when a crew is at its home terminal. However, the railroad has to make arrangements for crew accommodation at their aw ay terminals. Different crew districts have different combinations of home and away terminal s. A crew district with one home terminal and one away terminal is called a singleended crew dist rict. In such crew districts, typically, a crew operates a train from its home location to an aw ay location, rests in a hot el for at least eight hours, operates another train back to its home term inal, rests for ten to twelve hours, and repeats this cycle. The other type of crew district is a doubleended crew district, in which more than one terminal is a home terminal for different cr ew pools. Some of the other crew district configurations are crew district s with one home terminal and several away terminals, and crew districts with several home terminals a nd corresponding sets of away terminals. Crew Detention : Once a crew reaches its away terminal and rests for the prescribed hours, the crew is ready to head back to its home termin al. However, if there is no train, then the crew may have to wait in a hotel. According to the tradeunion rules, once a crew is at the away terminal for more than a prespecified number of hours (generally 16 hours), the crew earns wages (called detention costs) without being on duty. For example, if a crew is waiting for assignment at the away terminal for 18 hours, it is paid detention charges for two hours. Crew Deadheading : Crew deadheading refers to th e repositioning of crew between terminals. A crew normally operates a train from its home terminal to an away terminal, rests for a designated time, and then operate s another train back to its home terminal. Sometimes, at the PAGE 25 25 away terminal, there is no return train projected fo r some time, or there is a shortage of crews at another terminal. Thus, instead of waiting for trai n assignment at its curre nt terminal, the crew can take a taxicab or a train (a s a passenger) and deadhead to the home terminal. Similarly, the crew may also deadhead from a home terminal to an away terminal in order to rebalance and better match the train demand patterns and avoid tr ain delays. Crew deadheading is expensive as the crew is considered to be onduty while deadheading and earns wages, and railroads also incur taxi expenses. Each year, a major freight railroad may spend tens of millions of dollars in crew deadheading. Onduty and Tieup Time : Whenever a crew is assigned to a train, it performs some tasks to prepare the train for departure, and hence cr ews are called on duty before train departure time. The time at which the crew has to report for dut y is called the onduty ti me. Similarly, a crew performs some tasks after the arrival of the trai n at its destination, and hence crews are released from duty after the train arrival. The time at whic h the crew is released from duty is called tieup time. We refer to the duty duration before train departure as dutybeforedeparture and the duty duration after train arrival as dut yafterarrival. Hence, the tota l duty time (or dutyperiod) of a crew assigned to a train is the sum of the dutybeforedeparture, the dutyafterarrival, and the travel time of the train. Duty Period: In most cases, dutyperiod of a crew a ssigned to a train is the total duration between the onduty time and the tieup time. In so me cases when a crew rests for a very short time at an away location before getting assigned to a train, the rest time a nd the duration of the second train may also included in the duty period of the crew. (S ection 2.2.2 describes calculation of duty period in more detail.) PAGE 26 26 Dead Crews : By federal law, a train crew can only be on duty for a maximum of 12 consecutive hours, at which time the crew mu st cease all work and it becomes dead or doglawed. Dead crews are a frequent consequen ce of delayed trains, congestion, mechanical breakdowns, etc. In these cases, cr ew dispatchers must send a relief crew by taxi or another train so that the dead crew can be relieved. The d ead crew must then get sufficient rest before becoming available to operate another train. Train Delays : When a train reaches a crew change lo cation and there is no available crew qualified to operate this train, th e train must be delayed. Each train delay disrupts the operating plan and causes further delays due to the propagating network eff ect. Train delays due to crew unavailability are quite common among railroad s. These delays are very expensive (some estimate $1,000 per hour) and can be reduced sign ificantly through better crew scheduling and train scheduling. 2.2.2 Regulatory and Contractual Requirements Assignment of crews to trains is governed by a variety of Federal Railway Administration (FRA) regulations and tradeuni on rules. These regulations ra nge from the simple to the complex. The regulations also vary from district to district and from cr ew pool to crew pool. We list below some examples of these kinds of c onstraints and their typical parameter values: Dutyperiod of a crew cannot exceed 12 hours. Du typeriod of a crew on a train is usually calculated as the time interval between th e onduty time and tieup time of the train. Whenever a crew is released from duty at the home terminal or has been deadheaded to the home terminal, they can resume duty only after 12 hours (10 hours rest followed by 2 hours call period) if dutyperiod is greater than 10 hours, and after 10 hours (8 hours rest followed by 2 hours call period) if dutyperi od is less than or equal to 10 hours. Whenever a crew is released from duty at th e away terminal, they must go for a minimum 8 hours rest, except for these circumstances: o If the total time period corresponding to the last travel time from the home terminal followed by a rest time of less th an 4 hours plus travel time of the next PAGE 27 27 assignment back home is shorter than 12 hours (in this case, dutyperiod = travel time on inbound train + rest time at aw ay location + travel time on outbound); o If the total time corresponding to the last tr avel time from the home terminal plus travel time of the next assignment back home is less than 12 hours when the rest time in between the assignments is more than 4 hours (in this case, dutyperiod = travel time on inbound train + travel time on outbound train) Crews belonging to certain pools must be assigned to trains in a FIFO order. A train can only be operated by crew s belonging to prespecified pools. Every train must be ope rated by a single crew. Crews are guaranteed a certain minimum pay pe r month regardless of whether or not they work. As the regulations for crew assi gnment can vary from district to district and crew pool to crew pool, it is a mathematical challenge to build a unified model to formulate and solve this problem. This partly explains why these problems remain unsolved and no commercial optimization product has been deployed yet at railro ads. Also, due to low margins in the railroad industry, investment in research funding is viewed as a luxury despite a potentially high return on investment in automated decision support systems. 2.2.3 Problem Inputs The inputs that go into the mathematic al formulation of the CSP include: Train Schedule: The train schedule provides informa tion about the departure time, arrival time, onduty time, tieup time, departure loca tion, and arrival locati on for every train in each crew district it passes through. We do not c onsider stochasticity in the train schedule and assume that train delays are only due to th e unavailability of crew and not due to train cancellations or other disruptions. Crew Pool Attributes: This includes attributes of various crew types, namely their home locations, their away locations, minimu m rest time, train preferences, etc. Crew Initial Position : This provides the position of crew at the beginning of the planning horizon and includes information of the terminal at which a crew is released from duty, the time of release, the number of hours of duty done in the previous assignment, and the crew pool the crew belongs to. PAGE 28 28 TrainPool Preferences: The trainpool preferen ces, if any, give us information about the set of trains that can be operated by a crew pool. Away Terminal Attributes: This gives us information about the away terminals for each crew pool. It also includes the rest rules and detention rules for each crew pool and at each away terminal. Deadhead Attributes: This gives us the time taken to travel by taxi between two terminals in a crew district. Cost Parameters: Cost parameters are used to set up the objective function for the CSP. They consist of crew wage per hour, deadhead cost per hour, detenti on cost per hour, and train delay cost per hour. 2.2.4 Constraints and Objective Function The CSP involves making decisions regardi ng the assignment of crews to trains, deadheading of crews by taxi, and train delays. The constraints can be categorized into two groups: operational constraints and contractual requirements. The operational constraints ensure that every train gets a qualified cr ew to operate it while a crew is not assigned to more than one train at the same time. These al so include assignment of certa in crew pools to prespecified trains. Assignment of crews to trains must, in addition, satisf y the contractual requirements described in Section 2.2.2. In our mathematical model, the operat ional constraints of the model are handled by the integer multicommodity flow formulation described in Section 2.3.2, and the contractual restrictions are honor ed in the network construction phase described in Section 2.3.1. The objective function of the CSP is to minimize the total cost of crew wages, the cost of deadheading, the cost of crew detent ions, and the cost of train delays. 2.3 Mathematical Modeling 2.3.1 SpaceTime Network The CSP is formulated as an integer multicom modity flow problem with side constraints on a spacetime network. We can decompose the C SP into an independent problem for each crew district and construct the spacetime network for a particular crew district. In the network, each PAGE 29 29 node corresponds to a crew event and has two defi ning attributes: location and time. The events that we model while constructing the spacetime network for the CSP are departure of trains, arrival of trains, departure of deadheads, arrival of deadheads, supply of crew, and termination of crew duty to mark the en d of the planning horizon. All the arcs in the network facilitate the flow of crews over time and space. Figure 21 presents an example of the spacetime network in a crew district. Note that for the sake of clarity, this network only represen ts a subset of all the arcs. For each crew, we create a supply node whose time corresponds to the time at which this crew is available for assignment, and whose locat ion corresponds to the te rminal from which the crew is released for duty. Each supply node is assigned a supply of one unit and corresponds to a crew member. We also create a common sink node for all crews at the end of the planning horizon. This sink has no location attribute and ha s the time attribute equa l to the end of the planning horizon. The sink node has a demand equa l to the total number of crew supplied. The supply and sink nodes ensure that a ll the crews that flow into the system at the beginning of the planning horizon are accounted for a nd flow out of the system at the end of the planning horizon. For each train (say l) passing through a crew di strict, we create a departure node (say l) at the first departing station of the train in the crew district and an arrival node (say l") at the last arriving station of the train in the crew district. Each arrival or departure node has two attributes: place and time. For example, place (l ') = departurestation (l) and time (l') = ondutytime (l); and similarly, place (l") = arrivalstation (l) and time (l") = tieuptime (l). In the network, we create a trai n arc (l', l") for each train l connecting the departure node and arrival node of train l. We create deadhead arcs to model the travel of crew by taxi. A deadhead arc is constructed betw een a train arrival or crew suppl y node at a location and a train PAGE 30 30 departure node at another location. All the deadhe ad arcs which satisfy th e contractual rules and regulations are created. We construc t rest arcs to model resting of a crew at a location. A rest arc is constructed between a train arrival node or a crew supply node at a location and a train departure node at the same locati on. Rest arcs are created in conf ormance to the contractual rules and regulations. All rest arcs which satisfy the contractual rules and regu lations are constructed. Since the contractual regulations are often crew pool sp ecific, deadhead arcs and rest arcs are created specific to a crew pool. This implies th at only crew belonging to a particular crew pool can flow on a particular rest arc or a dea dhead arc. For example, suppose a supply node corresponds to crew belo nging to crew pool A, then all the arcs which emanate from this node can only carry crew belonging to crew pool A. Finally, we create demand arcs from all train arrival nodes and crew supply nodes to the sink node. Each arc has an associated cost equivalent to the crew wages, deadhead cost s, or detention costs, as the cas e might be. Also in the network, the time at the tail of an arc is always less than the time at the head of an arc, which ensures the forward flow of commodities on the time scale. It can be noted that all co ntractual requirements other than the FIFO constraint are eas ily handled in the network construction. The spacetime network described above models the flow of crews while honoring all the contractual constraints ex cept the FIFO rule. However, it does not model the case when qualified crews are not available for assignment to a tr ain causing train delays. Next, we present the construction of additional arcs in corporating train delays. At a lo cation, we create rest arcs and deadhead arcs which do not honor th e rest regulations a nd penalize them to ensure that flows on these arcs occur only when qualified crews are no t available for assignment. The flows on these arcs denote that the train will be delayed until crew becomes qualified for train operation. However, as the delay of a train may have propa gating effect in the availability of crews in PAGE 31 31 subsequent assignments, we assume here that the crew assigned to a delayed train has sufficient slack in the rest time at the train arrival node to make it qualified for subsequent assignments. Thus, the additional rest arcs and deadhead arcs model the train delays, with the assumption that the effect of train delays is only local. The reader may also note that honoring cont ractual regulations wh ile constructing the network reduces the number of constraints in th e integer program significantly. Now, we present the multicommodity integer programming formulation of the CSP. 2.3.2 Integer Programming Formulation (IPF) We formulate the CSP as an integer multic ommodity flow problem on the spacetime network described in Section 2.3.1. In our formul ation, each crew pool represents a commodity. Crew enters the system at crew supply nodes, and hence every supply node corresponds to a supply of one crew. The crew takes a sequence of connected train, rest, and deadhead arcs before finally reaching the sink. While flow of more than one crew type can take place on a train arc, rest and deadhead arcs can have flow of only one type because the business rules for rest and deadhead are crew pool specific. Next we pres ent the integer programmi ng formulation of the problem. We use the following notati on in our formulation: N: Set of nodes in the space time network L: Set of train arcs in the network, indexed by l D: Set of deadhead arcs in the network, indexed by d R: Set of rest arcs in the network, indexed by r A: Set of arcs in the spacetime network, indexed by a G(N, A): Spacetime network Ns: Set of crew supply nodes PAGE 32 32 Nd: Sink node C: Set of crew pools in the system, indexed by c i: Set of outgoing arcs at node i i: Set of incoming arcs at node i ci: Set of outgoing arcs specifi c to crew pool c at node i ci: Set of incoming arcs specifi c to crew pool c at node i Ar: Set of arcs on which flow will violate FIFO constraint if there is flow on rest arc r f: Total number of available crew M: A very large number c lc: Cost of crew wages for crew pool cC on train arc lL dc : Cost of deadhead arc dD rc : Cost of rest arc rR tail(l): The node from which arc l originates head(l): The node at which arc l terminates The decision variables are: c l x : Flow of crew pool cC on each train arc lL d x : Flow on deadhead arc dD r x : Flow on rest arc rR We formulate the CSP as follows: Min cc llddrr lLcCdDrRcxcxcx (2.1a) 1c l cCx, for all lL (2.1b) PAGE 33 33 1a aix, for all s iN (2.1c) da aN x f (2.1d) (),cc la ataill x xfor all lLcC (2.1e) (),cc la aheadl x xfor all ,lLcC (2.1f) '(1)0,rrr rAxMxfor all rR (2.1g) 0,1c lx and integer, for all lLcC (2.1h) 0,1dx and integer, for all dD (2.1i) 0,1rx and integer, for all rR (2.1j) Constraint (2.1b) is the train cover constraint which ensures that every train is assigned a qualified crew to operate it. Constraint (2.1c) ensures flow balance at a crew supply node. Constraint (2.1d) ensures the flow balance at the sink node. Constraint s (2.1e) and (2.1f), respectively, ensure flow balance at train departure and arrival nodes. The flow balance constraints at a train arrival node ensure that the crew which is assigned to a train is subsequently assigned to a rest arc, a deadhead arc, or a sink arc which emanates from the arrival node of the train. Flow balance constraints at a train departure node ensure that the crew which is assigned to the train has been assigned to a rest arc, a dead head arc, or a supply arc which terminates at the departure node of the train. Constraint (2.1g) ensures that the crew assignment honors the FIFO constraint. Constraints (2.1h), (2 .1i), and (2.1j) specify that a ll the decision variables in the model are binary. The objective f unction (2.1a) is constructed to minimize the total cost of crew PAGE 34 34 wages, deadheading, detentions, and train delays. Note that th e detention and delay costs are taken into account while calcula ting the cost of rest arcs. Now we show how Constraint (2.1g) enforces FIFO requirements. Figure 22 illustrates crew assignments in two situations: one in which FIFO is satisfied and the other in which FIFO is violated. In case (a), the crew on train 13 arrive s at Terminal 2 first and also leaves first, and hence FIFO requirement is satisfied. In case (b), FIFO requirement is violated because the crew on train 13 enters terminal 2 firs t, but leaves after the other crew Therefore in the solution, if there is flow on arc (4, 5), there s hould not be any flow on arc (3, 6). Let us consider the following cases for Constrai nt (2.1g) with respect to flow on arc (4, 5): Case 1: (4,5)1 x: The constraint becomes(4,5)''(4,5) '00 rr rA x xrA. This ensures that if there is flow on rest arc (4, 5), then there cannot be flow on any arc belonging to the prohibited set(4,5)A, and hence there will not be any flow on arc (3, 6). Case 2: (4,5)0 x: The constraint becomes (4,5)'(4,5) r rA x MrAwhich essentially means that the constraint is relaxed. Let us now estimate the size of a typical instance of the CSP in a crew district. Most crew districts have two terminals, and a typical train schedule ha s around 500 trains running in a couple of weeks in a crew distri ct. Each crew district could ha ve two to four crew types and around 50 crews. Therefore, the spacetime network could have around 50 + 2 x 500 = 1,050 nodes. The number of arcs in the ne twork could be very large if we construct all feasible rest arcs and deadhead arcs. To restrict the number of arcs constructed, we place a limit on the maximum duration of rest arcs. For example, if the train schedule stretches over a pe riod of ten days, it is unrealistic for a crew to rest for more than three days. In this case, we can restrict the maximum PAGE 35 35 rest arc duration to thre e days. After the spacetime network of a typical problem is pruned based on this rule, the number of deadhead arcs is ty pically around 25,000, and the number of rest arcs is around 100,000. Since the number of rest arcs for a typical problem is of the order of 100,000, and as each rest arc has one FIFO constraint the number of FIFO constraint s in the model would be 100,000, which is too large. We would therefore be losing one of the main advantages of the network flow formulation, which is, by honori ng all business rules in the netw ork construction phase; we keep the number of constraints small. Our computati onal results also confir m that handling FIFO constraints explicitly in this manner makes the problem computationally intractable. Let us now consider the In teger Programming Formulati on where we relax the FIFO Constraint (2.1g); we call this problem the Re laxed Problem. This probl em typically has more than 100,000 variables and seve ral thousand constraints, whic h make it a large optimization problem. Integer programs of this size are usually very difficult to solve to optimality or nearoptimality in a reasonable amount of time. But we were able to solve this problem to optimality in a matter of minutes using commercial branchandbound based MIP solver provided by CPLEX 9.0. We believe that this is due to th e special structure of th e Relaxed Problem, which helps speed up the solution time significantly. Al l variables in the fo rmulation are binary variables, and this leads to the MIP engine exploring fewer branches on the branchandbound tree compared to the case where variables are inte ger variables. Whenever the engine branches on a noninteger variable, th e value on one branch is set to zero and on the other branch is set to one. Hence, at each level of the tr ee, one variables value is prefix ed and can be eliminated from the model. Consequently, it is very likely that a feasible integral solu tion is obtained early on, PAGE 36 36 and nodes in the branchandbound tree are fathomed much earlier than wh ile solving a general integer program. Another benefit of the netw ork flow based approach is that even though we do not explicitly model each crew the spacetime network and the c onstraints are such that from the final solution of the model, we can easily extract the set of trains a cr ew takes over the entire planning horizon. In order to do th is, we start at the s upply node of a particul ar crew and identify a path from this supply node to the sink node that has positive fl ow on it. Note that due to the commodity specific flow balance constraints at each node, every crew will have a unique path with positive flow fr om its supply node to the sink node. Theorem 2.1. There is a onetoone correspondence be tween a feasible flow on the spacetime network satisfying constraints (2.1a)(2.1 j) and a feasible solution to the CSP. Proof: Consider a feasible flow on the spacetime network. We have seen above how the path of each crew can be extracted from the so lution using a simple runthrough procedure. Due to the network construction met hodology, the extracted path of each crew has to satisfy all the business and contractual rules. Hence, we see th at every feasible solution on the spacetime network corresponds to a feasib le crew schedule. We can al so show that the reverse transformation from a feasible crew schedule to a feasible fl ow on the spacetime network is possible, hence establishing the result. Hence, we have shown the onetoone corres pondence between feasible solutions to the integer programming formulation an d feasible solutions to the CSP and thus have established the validity of our integer program ming approach. In the next se ction, we describe various algorithms to solve the CSP, which are cen tered on handling FIFO constraints in a computationally efficient manner. PAGE 37 37 2.4 Solution Approaches In this section, we present our approaches to solve the CSP. As the FIFO constraints are the ones which complicate the nature of the integer programming form ulation, our solution approaches are centered on effective ways to hand le this constraint. We develop a constraintgeneration based exact approach and a costperturbation based he uristic approach to solve the problem. While the constraintgen eration based approach performs significantly better than the direct approach to solve the in teger programming formulation, its application in a realtime environment may be restricted due to long running times. On the other hand, the costperturbation scheme produces good quality FIFO co mpliant solutions very efficiently and hence is better suited for th e realtime environment. 2.4.1 Successive Constraint Ge neration (SCG) Algorithm The SCG algorithm works by iteratively pruning out crew assignments which violate the FIFO constraints from the current solution of a more relaxed problem. We considered the following two methods for implementing constr aint generation: (1 ) A branchandbound algorithm where constraints are added to the LP re laxation that is solved at each node of the branchandbound tree until FIFO violations are eliminated (branchandcut); and (2) An iterative method where we run branchandbound algorithm on the relaxed problem, solve it to optimality, and then add constraints to remove in feasibilities which is followed by another run of branchandbound on the more constrained problem and so on. However, on further deliberation, we chose to implement the sec ond method over the first for the following reasons: Since the LP relaxation of the relaxed problem can have fractional flows on the rest arcs, the number of rest arcs with positive flow in the LP relaxation will be more than the number of rest arcs with positive flow in an integral version. Also, larger the number of rest arcs with positive flow, greater is the possibility of FIFO violations. Hence, more FIFO constraints are likely to be added to a nonintegral solution. PAGE 38 38 SCG implemented using method (2) allows us to stop at any point when we feel that the level of FIFO infeasibility is reasonably small. We are able to do that because after the addition of a set of constraints, we obtain an integral solution at regular intervals of less than a minute. On the other hand, in the bran chandcut method, the addition of constraints at a node on the branchandbound tree would only guarantee FI FO compliance of the LP relaxation which will not be an integral solu tion in general. Hence, we do not have the option to prematurely terminate until a point wh en we obtain at least one integral solution to the LP relaxation and consequently we do not have control over the quality of intermediate solutions in terms of number of FIFO violations. We show in our computational results that QCP does an excellent job in enforcing FIFO constraints for the current set of business ru les, but we also mention that QCP does not guarantee FIFO compliance when there is priority in assigning crews to trains. We believe that the real benefit of SCG c ould come from being used in conjunction with QCP. In this approach, we would first apply QCP to obtain a solution with very few FIFO violations. SCG is then applied on this solution to prune out the small number of remaining infeasibilities. A branchandcut approach in this context would be unnecessarily complicated since when a small number of c onstraints are added, the problem can be reoptimized within a few seconds using SCG. The SCG algorithm starts with the optimal solution of the Relaxed Problem, which may have several violations of the FI FO rule. In each iteration, the al gorithm scans the rest arcs in the current solution which have positive flow, and for each such rest arc assignment which violates FIFO constraints, it adds the co rresponding FIFO constraints. We then resolve the problem and recheck for FIFO infeasibilities. This process is repeated until all FI FO infeasibilities are removed. AlgorithmSCG Step 1: Solve the Relaxed Problem. If a feasible solution exists, then proceed to Step 2. Otherwise STOP as the problem is infeasible. Step 2: Examine all the rest arcs with positive flow in the solution of Step 1. Add FIFO constraints to the integer program on those rest arcs assignments which violate FIFO requirements. Step 3: If FIFO constraints are added in Step 2, reoptimize th e modified integer program and go to Step 2. Otherwise STOP as we have the optimal solution. PAGE 39 39 Note that the final solution of SCG satisfies all the constraints of the Integer Programming Formulation (IPF), and the constraints of SCG are a subset of the constraints of IPF. Hence, the SCG algorithm is an exact algorithm guaranteeing optimal solution to the original problem. However, in the worst case, SCG could add all th e FIFO constraints to the integer program and would hence become an intractable approach. Fort unately this seldom happens in practice. Our computational results show that the number of constraints ad ded is usually much less than the total number of rest ar cs in the network. While the SCG is an exact algorithm and pr oduces provably optimal solutions, the running time of this algorithm could be quite high. In our computational experiments, in some instances, SCG had a running time in the order of minutes while in others it had a running time in the order of hours. While these running tim es are acceptable in the pla nning environment, they would restrict the applicability of this algorithm in the realtime envir onment. In the next section, we describe a costperturbation based algorithm wh ich produces very good quality FIFOcompliant solutions with running times comparable to that of the Relaxed Problem. 2.4.2 Quadratic CostPerturbation (QCP) Algorithm In the previous section, we describe a succes sive constraintgeneration based approach to remove the FIFO violations iterati vely. In this section, we present an algorithm which penalizes the FIFO violations in a solution. We show that this method guarantees zero FIFO violations in the case where there is no prior ity in assigning crews to trains and serves as a heuristic method for the other case when there are priority restri ctions. Cost perturbation not only enforces FIFO constraints but also retains the special network flow structure of the problem leading to fast computational times. The basic intu ition behind this approach is that we perturb the costs of arcs while solving the Relaxed Problem in such a way as to guarantee FIFO compliance. PAGE 40 40 We present our cost perturba tion strategy through the illust ration shown in Figure 23 for the case when there is only one crew pool type. In case 23 (a), crew assignments are made in a nonFIFO manner, and in case 23 (b), the as signments are made in a FIFO manner. Now consider the case when crews are de tained at the Terminal 2. Then, due to the nature of detention costs, the cost of the assignment 23 (b) would definitely be less than or equal to the cost of assignment 23 (a), and hence the solution to the Relaxed Problem would honor FIFO constraints. On the other hand, suppose all the rest arcs had a cost of zero; then both the assignments would have the same cost, and the Relaxed Problem would ha ve no cost incentive to choose assignment 23 (b) over as signment 23 (a). Thus, a solu tion to the Relaxed Problem may violate the FIFO constraints. In order to provide an incentive to the Relaxed Problem to choose case 23 (b) over case 23 (a), we pe rturb the cost assignments on rest arcs so that the solution of the Relaxed Problem has assignments of type 23 (b) and not assignments of type 23 (a). The cost perturbation scheme that we use is a function of the duration of rest arcs. Suppose that the time duration between ev ents corresponding to nodes 2 and 4, 4 and 5, and 5 and 7 are a, b, and c, respectively. Consider a cost assignm ent which is proportional to the square of the duration of rest arcs. The constant of proportionality is represented by k. Then, Cost of assignment 23 (a) = 22( (2,7))( (4,5)) kdurationofarckdurationofarc = 22222()(2222)kabckbkabcabbcca Cost of assignment 23 (b) = 22( (2,5))( (4,7)) kdurationofarckdurationofarc = 22222()()(222)kabkbckabcabbc It can be observed that the cost of assignments in case 23 (b) is less than that in case 23 (a). Hence, when the rest arcs have zero cost s, the quadratic cost perturbation scheme in the PAGE 41 41 Relaxed Problem will give FIFO compliant assign ments, when there will be only one crew pool type. The observation made here can also be ge neralized for multiple crew pools unless there is priority of crew pools in assignm ents to trains. If there is a priority assigned to crews in assignments to trains, then a crew can have FIFOviolated assignment to gain the priority assignments. We state our observations here as the following theorem. Theorem 2.2. Quadratic Cost Perturbation applied to the Relaxed Problem guarantees FIFO compliant crew assignments, if there is no priority in assigning crews to the trains. Proof: In the spacetime network, rest arcs may have one of three co sts assigned to them: (a) zero costs, (b) detention costs, or (c) train dela y costs. For e.g., If all the rest arcs in Figure 23 had zero costs, then as shown above, the Re laxed Problem will choose the FIFO compliant assignment because it is cheaper. If the rest arcs in Figure 23(a) had detention costs on them, then the FIFO assignment shown in Figure 23(b) w ill either have the same level of detention or lesser detention. Hence, the perturbation scheme will work in this case too. A similar argument would also work for train delay costs because FIFO assignments will always have equal or lesser train delays than nonFIFO assignments. Since we do not want to change the cost structure of the orig inal problem by a large extent, we set the value of k to a very small value and perturb the cost of each rest arc by a value which is computed as described above. Our computationa l tests in Section 2.6.1 show that this method works very well, and the solutions produced by Quadratic Cost Perturba tion are indeed FIFOcompliant in the case where there are no priorities. The solution time of this method is very short and is comparable to that of the Relaxed Problem. Note that in the case where there are priorities, this approach could be used to obtain a solution with a small number of violations and then the SCG algorithm can be used to prune out these vi olations. Another interes ting observation is that PAGE 42 42 for most of the instances tested this method produces solutions with objective function values same as those for the Relaxed Problems. This implies that FIFO constraints can be satisfied with little or no impact on the solution cost. Hence, using this approach, we are able to obtain excellent quality of solutions using much less computational time. Due to its attractive running times and high solution quality, this method has the potential to be used in both the planning and the realtime environment. 2.5 Significances and Uses of the Model In the introduction, we mention that the cr ew scheduling model has applications in the tactical, planning and strategic environments. In this section, we elabor ate and provide specific examples of how the model can be used as an effective tool for decision making. 2.5.1 Tactical Crew Scheduling The defining problem in tactical crew sche duling is to determine which crew should be assigned to operate each train. However, there are a number of subproblems and issues that must be considered before assigning crews to trains. Railroads have aroundtheclock crew calling centers with the responsibilities of monito ring the status of each crew and the status of each train and anticipating when a particular crew should be called to operate a particular train. A typical crewcalling ce nter employs 200300 cler ks (crew callers) to call crews and answer inbound telephone queries from management and the crews. First, a crew caller looks at the projected lineup (crew assignment) of outbound trains at a particular crew change location. With a projection of train departure times, say 13:30, 15:00, and 16:00, the crew caller then goes through a number of checks before assigning a cr ew to a train: Is this train covered by a designated assigned pool, or is it to be covere d by FIFO assignment from the general pool? When is the next qualified crew rested and avai lable to operate this train? The actual rules are PAGE 43 43 very complex, and the combinations of soluti ons that must be cons idered can overwhelm a person. Our model has several applications in the tact ical scheduling environm ent. Some of these applications are given below: Assignment of crews to trains: The output of our model tells us how to assign crews to trains. Recommend which crews to place in hotels and which crews to deadhead home: When a crew arrives at an away term inal, the crew callers have to decide whether the crew should deadhead back home or go to a hotel for rest. The model can be used to mathematically look ahead and systematically make the tradeoff betw een different cost categories of crew wages, deadhead costs, detention costs, and rest violation costs. Minimize trains delayed due to shortage of crew: Train delays are potentially very costly because the delay of a trai n may lead to the unavailability of crew to operate another train in the future and may have a negative domino effect on networkwide operations. By creating several deadhead arcs while constr ucting the spacetime network, we ensure that such a situation is avoided. Disruption management: The crew scheduling m odel can be used as a tool to bring back disrupted operations to normalcy. Suppose at so me point in time the operations are disrupted. The current state or snapshot of the system gi ves us the location of each crew and the hours of duty already done. Using this information and the in formation about the future train schedule, the crew scheduling models can be used to optimally reassign crew to trains. 2.5.2 Crew Planning The essence of the crew planning problem for operations or planning is to determine how many crews should be in each crew pool. It can be noted that as each pos ition is guaranteed a PAGE 44 44 minimum number of work hours per month, it is quite costly to overe stimate the number of positions required to staff a pool. Currently, rail roads solve the pool sizing problem based on historical precedent and rulesofthumb, through negotiation with the union, and by trial and error. The network flow model can satisfy the need for a structured approach that captures all of the considerations, quantifies the various costs, and recommends the best way to define and staff crew pools. Some of the applic ations of the model in the pl anning environment are described next. Develop and evaluate crew schedules: The crew scheduling mode l can also be used to compare the current crew schedule used with the modelgenerated schedule on the basis of several criteria such as average rest time at the home locatio n, average rest time at the away location, average deadhead time, etc. By suitably changing the model cost parameters, we can obtain schedules with different ch aracteristics. For example, if we want to minimize detention, we can set the detention cost to a very large value and run the model. Size of crew pools: Using the crew scheduling model, we can study the impact of varying the crew pool size on the solution quality. For example, suppose our objective is to minimize the number of crew used. While formulating the prob lem, we give large cost incentives to flow on the sink arcs from crew supply nodes to the sink node. This woul d lead to the models producing a crew schedule which uses th e minimum number of crew. 2.5.3 Crew Strategic Analysis Strategic management involves development of policies and plans a nd allocating resources so as to implement these plans. The timeframe of strategic manageme nt extends over several months or even years. Strate gic crew problems include forecas ting future headcount needs and evaluating major policy changes such as negotiati ng changes to tradeunion rules or changing the number and location of crew change points on a network. Th e railroad industry is now PAGE 45 45 experiencing unprecedented traffic growth. Therefore, it is very important to be able to quantify the expected impact on manpower needs as traffi c grows since it takes 18 to 24 months to hire, train, and qualify train crew personnel. Recently, corporate strategists have been struggling with the tradeoff between crew costs and train delays Our model can be used to quickly calibrate efficient frontiers for each crew district and sh ow what number of crews minimizes the sum of train delay costs and crew costs. If railroad mana gement is dissatisfied with that level of train performance, one can simply increase the cost of train delay, and the model will request additional crews such that a new co stminimizing solution is obtained. Some of the applications of the network flow model in the strategic environment are listed below. Determining the number of crew distri cts and territory of crew districts: We can use the crew scheduling model to reoptimize and test different crew distri ct configurations. For example, suppose crew district 1 operates trains between loca tion A and location B, and crew district 2 operates trai ns between location B and location C. Merging all three stations into a single crew district coul d give us better opportun ity to optimize costs. Effect of changing crew tradeunion rules: The CSP is a complex optimization problem due to strict tradeunion rules re lated to crew operation. The cha nge of any of these rules will face a lot of resistance from the labor union. At the same time, change of any of these rules has the potential to impact crew costs substantially. Using the crew scheduling model, we can evaluate the impact of changi ng the tradeunion rules on the crew cost. For example, suppose we want to know the impact of changing the manda tory rest time at home from 12 hours to 10 hours. We can run the model with the parameter settin g of 10 hours and measure the change in crew cost. PAGE 46 46 Forecasting crew requirement: Based on the forecasted train schedule, we can use the model to help us forecast crew requirement. We first run the model assuming that a very large number of crew is available. Since the crew supply is much mo re than what is required, many crews will directly flow from th e crew supply to the sink node. The total crew supply minus the number of unused crews will give an idea of the number of crews required based on the forecasted train schedule. In this section, we have seen that the crew scheduling model has several reallife applications in the tactical, pl anning, and strategic environments. If put into production, the model has the potential to enable railroad professionals to improve their daytoday operations and to plan effectively in order to ac hieve their longterm organizational goals. 2.6 Computational Results In this section, we present computational results of our algorithms on several problem instances, and we also present a case study done on a representa tive instance. We implemented our algorithms in Visual Basic .NET program ming language and tested them on the data provided by a major Class I railroad. We m odeled our integer programs using Concert Technology 2.0 modeling language a nd solved them using the CPLEX 9.0 solver. We conducted all computational tests on a Pentium IV, 512 MB RAM and 2.4 GHz processor desktop computer. 2.6.1 Comparison of Algorithms In this section, we compare the performan ces of the Relaxed Problem, the exact Integer Programming Formulation (IPF), the Successive Constraint Gene ration (SCG) algorithm, and the Quadratic Cost Perturbation (QCP) algorithm on several reallife inst ances. Our problem instances consist of train schedules over a peri od of one to four weeks. In one instance, the number of crew pools is one, ma king the problem a singlecommod ity flow problem. In the other PAGE 47 47 set of instances, the number of crew pools is two, and the problem is formulated as a multicommodity flow problem. For each instance we measure the solution cost, the solution time, the number of FIFO constraints added to the formulation, and the number of FIFO constraints violated in the final solution. It can be noted that no FIFO c onstraints are added while solving the Relaxed Problem and the Quadratic Cost Perturbation (QCP). The results of our computational tests are pres ented in Table 21. We draw the following conclusions from the computational results: The solutions to the Relaxed Problem have the highest number of FIFO violations. However, the solution times are also the fastest. The Integer Programming Formulation (IPF) ha s several thousand FIFO constraints. These constraints make the problem co mputationally intractable, and we could not obtain feasible solution for any of the instances in one hour of computational time. The Successive Constraint Generation (SCG) algorithm starts with the solution to the Relaxed Problem as the initial solution and progressively reduces the number of infeasibilities. However, the amount of comput ational time taken by this algorithm is still quite large. We were able to obtain a FIFO compliant solution for two instances, and for all other instances, we terminated the algorith m when the iteration that was running at the 30th minute of computational time was complete. The Quadratic Cost Perturbation (QCP) al gorithm produces FIFOcompliant crew schedules for all instances. Also, in six inst ances out of eight, the objective function values are equal to that of the Relaxed Problem. Since the Relaxed Problem provides a lower bound to the optimal solution, QCP algorithm produces the optimal solution in six instances out of eight, and the optimality gap is less than 0.2% for the other two instances. This algorithm also has very fast solution times, which are comparable to that of the Relaxed Problem. Thus, we conclude that the QCP algorithm out performs the other algo rithms in terms of both solution quality and solution time. It produces optimal or nearoptimal solutions in a few minutes of running time, and it therefore has the po tential to be used in both the planning and realtime environments. PAGE 48 48 2.6.2 Case Study In this section, we conduct a ca se study to illustra te how the crew scheduling model can be used to derive useful information and drive de cision making at a railroad. We perform the case study on a representative twoweek data set which has 326 trains 2 crew pools, and 48 crews, and we run the computational tests using the Qu adratic Cost Perturbation (QCP) algorithm. The various aspects of the problem that we observe in this case study are as follows: (i) Effect of varying the number of available crews, (ii) Effect of varying deadhead cost, (iii) Effect of varying minimum rest time at the home location, (iv) Effect of varying detention time, and (v) Effect of varying detention cost. Effect of varying the number of available crews In this study, we quantify th e effect of varying the numbe r of available crews on the overall solution quality. We start with a set of 42 available crews and reduce the number of crews available until the problem becomes infeasible. Table 22 presents the computational results, and Figure 24 plots a chart between the numb er of available crews and solution cost. We draw the following observa tions from this study: As the number of available crews decreases, the model tries to compensate for the lack of crews by increasing the level of deadheading and train delays. Initially, reducing the number of available crews does not have an adverse effect on the solution cost, but as more crews are removed, the solution cost rises steeply. For example, reducing the number of crews available from 42 to 26 (38% reduction) has an insignificant impact on the solution cost, but reducing the number of crews from 24 to 22 leads to the solution cost jumping up by more than $59,000 (20% increase). The reader should note that the objective function in this case study is no t a function of the number of crews used and is only a function of total deadhead, detention and delay. This explains why solutions using diffe rent number of crews have iden tical cost provided their total deadhead, detention and delay are the same. PAGE 49 49 Effect of varying deadhead cost In this study, we quantify the effect of varying deadhead co st on the number of deadheads, total detention hours, total train delay hours, an d overall solution cost. The default cost of deadheading used by the railroad is $144 per hour. We start with a deadhead cost of $0 per hour and then progressively increase deadhead cost while measuring the impact on the solution as shown in Table 23. We make the following observations from this study: As the deadhead cost increases, the number of deadheads in th e solution decreases. However, after a certain point, there is no significant decrease in the number of deadheads. For example, even for a very high dea dhead cost of $10,000, the solution has 33 deadheads. From this observation we can conclu de that there is an inherent imbalance in the system that necessitates deadheading. As the deadhead cost increases, the solution of the model has fewer deadheads and more train delays. This behavior of the model give s us the insight that if the deadhead cost increases at some point in time, then the railroad needs to adap t by allowing far more flexibility in terms of the train delays. Alte rnatively, the management can also negotiate with crew unions and reduce the minimum rest hour requirements. Effect of varying minimum rest time at the home location In this study, we quantify the effect of varying the minimum rest time at the home location on the average rest time at the home location, trai n delays at the home location, average rest time at the away location, train dela ys at the away location, and th e overall solution cost. The default value of minimum rest time used by the railro ad is 12 hours. We star t with a minimum rest requirement of zero hours and progressively in crease the value of this parameter while measuring the impact on the solution as shown in Table 24 and Figure 25. From this study we observe that the minimum rest time at home can be increased to 16 hours without a significant incr ease in the solution cost. Howe ver, any increase beyond 16 hours leads to a steep increase in the solution cost. Th e railroad management can use these inputs to effectively negotiate rest times with the union. For example, if the union wants the minimum rest PAGE 50 50 time to be increased from 12 hours to 14 hours, then the management can use the model to quantify the impact of this cha nge and negotiate appropriately. Effect of varying detention cost The railroad pays detention charges for each hour of crew rest beyond 16 hours at an away location. In this study, we quantif y the effect of varying the dete ntion cost on the total detention hours, number of deadheads, total train delay hou rs, and overall solution cost as presented in Table 25. The default value of detention cost used by the railroad is $140 per hour. We make the following observations from this study: As the detention cost per hour increases, the number of detention hours in the solution decreases. As the detention cost per hour increases, th e solution has a greater number of deadheads and train delays. This behavior of the model gi ves us the insight that if the detention cost increases at some point in time, then th e railroad needs to adapt by allowing more flexibility in terms of train delays and crew deadheading. Effect of varying detention time on the solution In this study, we quantify the effect of varying the detentio n time (the minimum rest time at the away location after which a crew becomes eligible for dete ntion allowance) on the average rest time at the away location, detention hours, and overall solution cost. The default value of detention time provided by the railroad is 16 hour s. We present our results in Table 26 and Figure 26. This study shows that increasi ng the detention time has an im pact on the solution cost, but it diminishes as the detention time increases. We observe that increasing the detention time from 0 to 20 hours reduces the soluti on cost, but increasing it beyo nd 20 hours has almost no impact on the solution quality. PAGE 51 51 2.7 Summary and Conclusions In our research, we develop a network flowbas ed approach to solve the railroad CSP in the context of North American ra ilroads. The CSP for North Amer ican railroads is governed by several Federal Railway Administ ration (FRA) regulations and tradeunion work rules. In order to develop a good crew schedule, in addition to satisfying these regulations, we also need to minimize the total wage costs, train delay costs, d eadhead costs, and detention costs. The railroad divides the network into a number of crew districts, and each cr ew district has several crew pools. Each crew pool at a distri ct could have a different set of operating rules. These factors make this a complex probl em to model and solve. The network flow formulation for the CSP that we develop is both fl exible and robust and can be easily manipulated to re present each of the possibilities encountered in reallife. We formulate the CSP as an integer program on a spacetime network. The network is constructed in such a way that all FRA regulations and tradeun ion work rules other than FIFO constraints are enforced during the network construction phase it self. The operational cons traints are handled in the integer programming formulatio n. We develop two approaches to handle FIFO constraints. The first approach is a Successive Constraint Generation approach where constraints are generated iteratively to cut out FIFO violations. The second appr oach, which is called Quadratic Cost Perturbation, reli es on perturbing the objective func tion to generate FIFOcompliant solutions. We provide extensive computational results compari ng the performance of various approaches and show that the perturbation approach outperforms the other approaches both in terms of solution time and solution quality. We believe that this research will eventually lead to the deployment of crew planning models and algorithms at North Am erican railroads, replacing the current manual process and, in PAGE 52 52 doing so, make a significant imp act on the railroads ontime perf ormance, crew utilization, and productivity, while also improving the qualityoflife for crew and improving railroad safety. PAGE 53 53Table 21. Comparison of algorithmic performance. Relaxed Problem 2. Ex act Integer Programming Formulation 3. Successive Constraint Generati on 4. Quadratic Cost Perturbation # of FIFO constraints # of FIFO constraints # of week s # of crew pools Cost($) Time (Sec) # of FIFO constraints violated Cost ($) Time (Sec) Added Violated Cost($) Time (Sec) Added Violated Cost ($) Time (Sec) # of FIFO constraints violated 1 1 130,952 10.8 73 3,600 11,062 N/ A 132,022 2,015 958 25 130,952 10.9 0 2 1 265,284 30.3 148 3,600 23,527 N/ A 267,067 1,981 1,492 95 265,284 31.4 0 3 1 399,816 57.2 225 3,600 35,976 N/ A 399,816 1,908 1,657 151 399,816 60.0 0 4 1 531,378 91.8 274 3,600 48,797 N/ A 532,091 2,326 1,805 226 531,378 97.4 0 1 2 132,495 17.7 64 3,600 17,999 N/A 132,495 347 478 0 132,495 17.7 0 2 2 267,130 55.6 118 3,600 40,623 N/ A 267,316 2,423 1,068 0 267,221 60.9 0 3 2 402,045 112.0 173 3,600 63,215 N/ A 405,227 4,858 1,321 25 402,678 125.0 0 4 2 533,694 187.3 226 3,600 86,477 N/ A 538,039 3,928 1,745 25 534,327 210.7 0 PAGE 54 54 Table 22. Effect of va rying crew pool sizes. Num. of crew available Num. of crew used Num. of deadheads Detention hours Train Delay hours Solution cost ($) Increase in cost 42 31 38 37.008.77262,838 40 30 38 37.008.77262,838 0 38 29 38 37.008.77262,838 0 36 29 40 37.007.85263,340 502 34 29 40 37.007.85263,340 0 32 28 40 37.007.85263,340 0 30 28 41 37.007.85263,697 357 28 28 41 37.007.85263,697 0 26 26 43 30.6530.38268,704 5,007 24 24 43 17.50154.83295,486 26,782 22 22 44 6.37417.12354,610 59,115 20 Infeasible Table 23. Effect of varying deadhead cost. Deadhead Cost/hr ($/hr) Number o f deadheads Detention Hours Train delay hours Solution cost ($) 0 42 34.555.45253,079 100 38 37.008.77260,051 200 38 37.008.82266,396 300 37 40.339.48272,733 400 37 40.339.57278,918 500 36 40.3313.13284,955 600 36 40.3313.13290,955 700 36 40.3313.13296,955 800 36 40.3313.13302,955 900 36 40.3313.18308,967 1,000 35 36.8022.95314,935 10,000 33 36.8055.13813,771 PAGE 55 55 Table 24. Effect of varying mini mum rest time at home location. Minimum rest (hrs) Average rest at home (hrs) Train Delays at home (hrs) Average rest at away (hrs) Train Delays at away (hrs) Solution cost ($) 0 10.02 0.0012.838.77 262,838 2 11.60 0.0012.998.77 262,838 4 12.86 0.0013.128.77 262,838 6 14.37 0.0013.128.77 262,838 8 15.16 0.0013.158.77 262,838 10 16.81 0.0013.318.77 262,838 12 18.51 0.0013.338.77 262,838 14 20.48 0.0013.258.77 262,838 16 21.53 0.0713.098.77 262,853 18 23.98 1.2313.189.52 263,294 20 28.33 3.7813.0917.40 265,337 Table 25. Effect of varying detention cost. Detention cost/hr ($/hr) Detention hours Number o f deadheads Train delay hours Solution cost($) 0 305.45 351.17254,840 40 64.57 373.32258,630 80 40.33 378.77260,528 120 37.00 388.77262,098 160 34.55 398.77263,542 200 30.77 3911.97264,904 240 23.32 3918.50265,849 280 23.32 3918.50266,782 320 18.67 3924.18267,534 360 11.10 3935.53268,167 400 1.93 4049.23268,452 500 1.93 4049.23268,645 600 1.93 4049.23268,838 700 1.93 4049.23269,032 PAGE 56 56 Table 26. Effect of varying detention time. Detention time (hours) Avg. rest at away location Detention hours Solution cost ($) 0 8.95 1,136.60460,558 4 8.95 633.18390,079 8 10.41 331.60324,478 12 11.12 83.17280,491 16 13.33 37.00262,838 20 14.20 3.67256,561 24 14.78 1.52255,620 28 15.82 0.00254,840 PAGE 57 57 Figure 21. Spacetime network for a singleended district with a single crew type. PAGE 58 58 Figure 22. Illustration of the Fi rstInFirstOut (FIFO) rule. Figure 23. Crew assignments are made in (a) NonFIFO manner, and (b) FIFO manner PAGE 59 59 Figure 24. Solution cost vs. number of crews. Figure 25. Solution cost vs. minimum rest time at home. PAGE 60 60 Figure 26. Solution cost vs. detention time. PAGE 61 61 CHAPTER 3 REALLIFE LOCOMOTIVE PLANNING: NEW FORMULATIONS AND COMPUTATIONAL RESULTS 3.1 Introduction Locomotive scheduling involves optimally assi gning a set of locomotives to trains satisfying a variety of business constraints and minimizing the to tal scheduling cost. Everyday, railroad managers must assign hundreds of locomo tives to hundreds of di fferent trains. These problems are notoriously difficult NPhard (Ahuja et al. (2005)) trans portation problems that have not yet been solved satisfactorily. But so lving these problems eff ectively is of critical importance since a large US railroad has several billions of dollars of capital investment in locomotives. Our research is motivated by the n eed to develop effectiv e and practical solution techniques to solve this complex optimization problem. Locomotive scheduling problems arise at two levels: planning and dynamic assignment. A railroad has several loco motive types with different characteris tics, such as, horsepower, tonnage pulling capacity, and costs. The locomotive planni ng problem (LPP) assigns sets of locomotives, called consists, to each train in a preplanned weekly train sc hedule so that each train gets sufficient power to pull its load and the total cost of locomotive usage is minimized. The resulting plan must honor a variet y of business rules, cannot require more locomotives than what is available in the total fleet, and must result in a plan that is relatively simple and repeatable. Another important feature of the LPP is that locomotives may deadhead on trains. Deadhead locomotives do not pull the train but are repositio ned by the active locomotives from one place to another place. Deadheading play s an important role in loco motive planning, enabling extra locomotives to be moved from surplus locations to locations where locomotives are in short supply. Locomotives also light travel; that is, a se t of locomotives forms a group, and one locomotive in the group pulls others from an origin station to a destination st ation. Light travel is PAGE 62 62 not limited by the train schedule thus making it much faster than deadheading. However, light travel is more costly as a crew is required a nd the move does not generate any revenue as there are no cars attached. A locomotive plan specifies which types of locomotives will pull each train, and how locomotives will deadhead or light travel to obtain overall networ k wide efficiency. The locomotive plan gives the ideal locomotive assignment in the absence of any disruptions, and this plan is further refined and adjusted in realtime to obtain the dynamic locomotive assignment. We focus on the plan ning version of the problem. LPPs are notoriously hard combinatorial op timization problems. The paper by Cordeau, Toth, and Vigo (1998b) presents an excellent survey of existing locomotive planning models and algorithms for this problem. There are two kinds of locomotive planning models: Single and Multiple. Single locomotive planning models assume that there is only one type of locomotive available for assignment. These models can be fo rmulated as minimum co st flow problems with side constraints; some papers on single loco motive planning models are due to Wright (1989), Forbes, Holt, and Watts (1991), Booler (1980, 1995), and Fischetti and Toth (1997). Single locomotive assignment models ma y be appropriate for some Eu ropean railroads but are not suited for US railroads since most trains are assigned multiple types of locomotives. Such multiple locomotive assignment models have be en studied by Florian et al. (1976), Ramani (1981), Smith and Sheffi (1988), Chih et al. (1990), Nou, Desrosiers, and Soumis (1997), Cordeau, Soumis, and Desrosiers (1998a), and Ziarati et al. (1997, 1999). The most comprehensive and recent multiple locomotive assi gnment models are due to Ahuja et al. (2005) which is the starting point of our current research. In our past research, describe d in Ahuja et al. (2005), we formulate the LPP as a mixed integer multicommodity flow problem with si de constraints on an underlying network and PAGE 63 63 develop solution methodologies th at use problem decomposition, integer programming, greedy heuristics, and neighborhood search (Refer to Section 3.2.4 for an overview). About two years ago, we started working with the locomotiv e division at CSX Transportation (Class I US railroad) to get the lo comotive flowbased model developed by Ahuja et al. ( 2005) implemented. The locomotive division was very in terested but wanted some additi onal features to be added to our methodology to ensure that the solution is more implementable. Also, we were able to find instances of the LPP where the fi rst approach did not yield feasib le solutions in several hours of computational time. In order to eliminate th ese difficulties, we developed robust methods described to obtain realistic solu tions that can be used for pr actical locomotive planning. Our major contributions are listed below: Robust Approach: We were able to find instances fo r the LPP where we could not obtain a feasible solution in over 10 hours of computational time using the locomotive flowbased formulation (Ahuja et al. (2005)). In our computational result s, we show that using the consistflow formulation, we can obtain nea roptimal solutions to the same instances within a few minutes of computational time. Minimize Consist Bustings: Consistbusting involves mixing of locomotives from inbound trains and regrouping them to form new consists. This is undesirable due to several reasons described in Section 3.3.2. We propose a c onsistbased formulation where consists flow over the network instead of indi vidual locomotives. This formulation reduces consist busting to zero. We also devel op a second formulation called the hybrid formulation, which is used to benchmark the performance of the consistbased formulation. Incremental Locomotive Planning: Zero based approaches which develop a locomotive plan from scratch are almost impossible to implement. We describe how we can use the models developed for planning incrementally. Cab Signal Requirements: Federal law requires that trains operating in certain territories called cab signal territory must have a lead lo comotive that is outfitted with the cab signal system. We describe a method to incor porate the cab signal requirements in our formulations. Foreign Power Requirements: Different railroads in North America often cooperate with oneanother and allow direct tr ains, called runthroughtrains, from the origin station on one railroad to the destination station on a nother railroad in order to reduce cost by eliminating unnecessary intermediate switching at the interchange sta tions. We describe a PAGE 64 64 method to structure the model to allow loco motives to go to and come from foreign railroads. Computational Tests: We present extensive computati onal results and case studies on several instances and derive meaningful conclusions. Though our research has been conducted in co llaboration with CSX Transportation, the models proposed are applicable in general (with possible minimal contextual changes) to all North American railroads. 3.2 Notation and Terminology We give the notation and terminology related to the LPP. We also desc ribe the constraints in terms of these notations. The constraints can be clas sified into two groups: hard constraints (which each locomotive plan must satisfy) and so ft constraints (which are highly desirable but not always required to be satisfied). 3.2.1 Notation Locomotives pull a set of trains from their origins to their destinations. The train schedule is a weekly cyclic schedule. Trai ns have different weekly frequenc ies; some trains run every day, while others run less frequently. We consider the same train running on different days as different trains; that is, if a train runs five days a week, we will consider it as five different trains for which all data is the same except that they will have different depa rture and arrival time on the seven day clock. Each trai n has a required horsepower (HP) and tonnage. Tonnage represents the minimum pulling power required to pull the tr ain and the HP has a direct bearing on the speed at which the train can travel. Each train l has the following attributes associated with it: deptime(l): The depart ure time of train l arrtime(l): The arrival time of train l depstation(l): The depart ure station of train l arrstation(l): The arrival station of train l PAGE 65 65lT: Tonnage requirement for train l l : HP per tonnage requirement for train l lE: The penalty for using single locomotive consist on train l A railroad also has several types of locomotives. Let K denote the set of all locomotive types and k a particular locomotiv e type in this set. Locomotives which provide power and pull trains are called active locomotives and those wh ich are being repositioned on a train are called deadheading locomotives. For everykK we have the following attributes: kh: HP of a locomotive of type k k : Number of axles on a locomotive of type k kG: Ownership cost of a locomotive of type k k B : Fleetsize of a locomotive of type k k lc: Cost of assigning an active locomotive of type k to train l k ld: Cost of deadheading a loco motive of type k on train l k lt: Tonnage provided by a locomo tive of type k to train l The tonnage provided by a locomotive k depends on the train to which it is assigned. This is because different trains have different ruli ng grades or slopes and the pulling power of a locomotive depends on the ruling grade. Each train l has three sets of locomotives that could be assigned to it. MostPreferred[l] contains the locomotive types whic h are preferred on this train, LessPreferred[l] contains the locomotive types wh ich are accepted on this train with a certain penalty and Prohibited[l] contai ns the locomotive types which are not allowed on this train. Locomotives are assigned to these three groups fo r each train based on the business rules of the railroad. PAGE 66 66 Light travel refers to the travel of locomotiv es on their own from one location to another. Light travel is a fast though expensive way to reposition locomotives. Each light travel has a fixed cost which is a function of the distance of light travel (since we need a crew) and it also has a variable cost based on the number of locomotiv es light traveling and the duration of light travel. Consist is a collective term for the set of lo comotives assigned to a train. Consist busting refers to the breaking up of an incoming cons ist at a station and the assignment of the locomotives in it to more than one outgoing train. Consist busting has a fi xed cost B associated with it and also a variable component which depends upon the number of locomotives involved in consist busting. An efficient locomotive sche dule can help us reduce consist busting greatly. A traintrain connection refers to the direct transfer of a cons ist from an inbound train to an outbound train at the same station. Traintrain connections are hi ghly desirable since they reduce consist busting. Whenever a cons ist goes from one train to anothe r train, it needs some minimum time to make this connection; we refer to this time as the minimum connection time. 3.2.2 Hard Constraints Hard constraints are mandatory constraints wh ich have to be satisfied for a locomotive assignment plan to be feasible. Power requirement for trains: Each train must be assigned locomotives with at least the required tonnage and horsepower. Locomotive class to train type: Each train type (e.g., auto tr ain, or merchandise train, or intermodal train) is targeted to use specific cla sses of locomotive types. For example, we may specify that auto trains can be assi gned only AC44 or AC60 type locomotives. Geographic: Each geographic region permits the tr avel of only specific locomotive types. For example, we may specify that Atlanta can only use: C40, AC44, and AC60 locomotives. PAGE 67 67Locomotive balance constraints: The number of incoming locomotives of each type into a station must be equal to the number of outgoing locomotives of that type at that station. Active axle constraints: Each train must be assigned locomotives with at most 24 active axles. This business rule is de signed to protect the standard couplers used in North America. Exceeding 24 powered axles may overstress th e couplers and cause a train separation. Consist size constraints: Each train can be assigned at most 12 locomotives including both the active and deadheading locomotives. This business policy reduces risk exposure if the train were to suffer a catastrophic derailment. Fleet size constraints: The number of assigned locomotives of each type is at most the number of available locomotives of that type. Repeatability of the schedule: The assignment of locomotives to trains should be such that the number of locomotives of each type at each station at the end of the week should be equal to the number of locomotives of each type at each station at the beginning of the next week so that the plan is repeatable every week. 3.2.3 Soft Constraints These constraints are flexible constraints and they define characteristics which are preferred but not mandatory. Consistency in locomotive assignment: A train should be assigned the same consist each day that it runs. Railroads believe that crews will perform more efficiently and more safely if they operate the same equipment on a particular route and train. As the crews learn the operating nuances associated with each combination, they will adjust their throttle and braking control accordingly. Consistency in train connections: If locomotives traveling on a train to its destination station connect to another train originating at that station, then they s hould preferably make the PAGE 68 68 same connection on each day that both of the tr ains run. This allows station managers to optimize their subprocesses associated with arriving and departing trains. Avoid consist busting: Since consist busting involves th e use of more resources, it is preferable to avoid consist busting. Avoid single locomotive consists: If a single locomotive is a ssigned to a train and this locomotive breaks down, then the train will get stranded. 3.2.4 Previous Research In the previous research re ported in Ahuja et al. (2005), we developed an integrated planning model that determines the set of activ e and deadheading locomotives for each train, light traveling locomotives from power sources to power sinks, and traintotrain connections (specifying which inbound train a nd outbound trains can directly c onnect). We first developed a mixed integer programming (MIP) formulation of the LPP. This MIP formulation, the locomotive flow model, is a multicommodity flow problem where each locomotive type represents a commodity and assignment of locomotives to trains is transformed into the flow of locomotives on a sevenday or weekly spacetime train netw ork. There were two major difficulties in solving the MIP formulation. First, the problem size was too large to be solved by the available commercialgrade MIP software as it contains hundreds of thousands of decision variables and comparable number of constraints. Secondly, the solution obtained using this formulation was not likely to be consistent; that is, the optimal solution may have different consist assignments to the same tr ain on different days of the week In a plan, railroads want the same consist assignment to a train each day it runs. Our major contribution in the previous re search was to handle both these difficulties effectively by proposing a twopha se approach. In the first phase, we assumed that trains run every day of the week, and determined the loco motive assignments under th is assumption. (This PAGE 69 69 assumption is not a bad assumption in practice as most trains run ever y day). In the second phase, we considered the actual train schedule and reoptimized the locomotive assignment of the first phase by solving a sequence of single co mmodity flow problems. Assuming that trains run every day of the week reduces the weekly locomotive assignment problem to a daily (or one day) locomotive assignment problem (thus reduci ng problem size by a factor of seven thereby making it more tractable) and rep licating the locomotive assignment each day of the week gives us a perfectly consistent assignment. We give a brief overview of this twophase approach in Figure 31. We formulate the problem is such a way that determining traintrain connections is no longer a modeling issue. We focus our attenti on on the oneday LPP. While keeping the other features of the model identical to what they we re before; we change our approach to model the one day LPP and consider flows of consists ov er the network instead of flows of individual locomotives. In the next section, we give a de tailed description and motivation for the consistbased approach. In the rest of the chapter when we refer to LPP, we are referring to the oneday LPP. 3.3 Mathematical Modeling 3.3.1 SpaceTime Network The LPP is formulated as an integer multicommodity flow problem with side constraints on a spacetime network. Each consist type define s a commodity in this network. We denote the spacetime network as G (N, A), where N denotes the node set and A denotes the arc set. The spacetime network is constructed as follows. We crea te a train arc (l', l") for each train l; the tail node l' of the arc denotes the even t for the departure of train l at depstation(l) and is called a departure node. The head node l" denotes the arrival event of train l at arrstation(l) and is called an arrival node. Each arrival or departure node has two attributes: place and time. For example, PAGE 70 70 place(l') = depstation(l) and time(l') = deptime (l). Similarly, place(l") = arrstation(l) and time(l") = arrtime(l). Some trains are called forw ard trains and some trai ns are called backward trains. Forward trains are those tr ains for which deptime(l) < arrtime(l) and backward trains are those trains for which deptime(l) > arrtime(l). To allow the flow of locomotives from inbound trains to outbound trains, we introduce ground nodes and connection arcs. For each train a rrival node, we create a corresponding arrivalground node with the same place and time attribute as that of the arrival event. Similarly, for each train departure event, we create a de partureground node with the same place and time attribute as that of the depart ure node. We connect each arrival node to the associated arrivalground node by a directed arc ca lled the arrivalground connecti on arc. We connect each departureground node to the asso ciated departure node through a directed arc called the grounddeparture connection arc. Next, we sort all th e ground nodes at each station in the chronological order of their time attributes, and connect each ground node to the next ground node in this order through directed arcs called ground arcs. (We a ssume without any loss of generality that ground nodes at each station have distin ct time attributes) The ground nodes at a station represent the pool (or storage) of locomotives at the station at different instants of times. As trains arrive, they bring in locomotives to the pool through arrivalground c onnection arcs. As trains depart, they draw locomotives from the pool through grounddeparture connection ar cs. The ground arcs allow inbound locomotives to stay in the pool as they wait to be c onnected to the outbound trains. We also connect the last ground node of the week at a st ation to the firs t ground node of the week at that station thr ough a ground arc; this ground arc m odels the ending inventory of locomotives for a day becoming the starting inventory for the following day. PAGE 71 71 We also allow the possibility of light travel, that is, seve ral locomotives forming a group and traveling on their own from one station to another. We assume that the set of light travel possibilities is given to us. We create a light arc in the weekly spacetime network corresponding to each light travel possibility Each light arc originates at a ground node (with a specific time and at a specific station) and also terminates at a ground node. Each light arc has a fixed charge which denotes the fixed cost incurr ed to assign a crew to that li ght travel. We denote this fixed charge for a light travel arc l by Fl. The light arc also has a vari able cost which depends upon the number of entities li ght traveling on it. The spacetime network G = (N, A) has thre e types of nodes arrival nodes (ArrNodes), departure nodes (DepNodes), a nd ground nodes (GrNodes); and four kinds of arcs train arcs (TrArcs), connection arcs (CoArcs), ground arcs (G rArcs), and light travel arcs (LiArcs). Let AllNodes = ArrNodes DepNodes GrNodes, and AllArcs = TrArcs CoArcs GrArcs LiArcs. In Figure 32, we show a part of the sp acetime network at a particular station, which illustrates the various kinds of arcs. 3.3.2 Consist Flow Formulation for the LPP Consist busting refers to the process of decomposing inbound consists at a station into several locomotives and the assignment of these locomotives to several outgoing trains. Railroad managers prefer to minimize consistbusting as much as possible due to the following reasons. (1) Consistbusting often result s in outbound trains getting thei r locomotives from several inbound trains. If any of these i nbound trains is delayed, the ou tbound train is also delayed, which potentially propag ates further delays down the line ; and (2) Consist busting is an extremely labor, cost, and time intensive operation. Additional crews are required to transfer (or hostle) locomotives between the ra il yard and the shop facility wh ere consists are busted and PAGE 72 72 reassembled. Moving locomotives across a sta tion creates incremental moves for the yard masters to worry about; the hostlers block tracks so car switching activity must be paused; and train movements must be coordinated between transportation and mechan ical departments (as opposed to traintotrain connect ions which are entirel y within the purview of transportation). Consequently, consist busting consumes between two to six additiona l hours per locomotive within the station. We develop a formulation for LPP that almost completely eliminates consist busting; we call this formulation the consist flow formulatio n. This formulation is an extension of the locomotive flow formulation described in Ahuj a et al. (2005), which defines each locomotive type as a commodity and routes locomotives on the train ne twork. In the consist flow formulation, we define each consist type (t hat is, a group of locomotives) to be a single commodity and route consists on the train network. Thus, the c onsist flow formulation differs from the locomotive flow formulation in the sense that locomotive types are replaced by the consist types. Observe that each feasible solu tion of the consist flow formulation has a corresponding feasible solution of the locomotive flow formulati on with the same cost, but the converse is not true. Thus, the reader might be le d to believe that consist formulation is quite restrictive and may produce significantly inferior solutions co mpared to the flow formulation. However, our computational results reveal th at if the number and types of consists are judiciously chosen, then both formulations pr oduce solutions with comparable quality. In the formulation described next, we assu me that the consist types are prespecified; we describe later in Section 3.3.4 how to de termine good consist types. The consist flow formulation is a multico mmodity integer program formulated on the spacetime network. We next describe the add itional notations used in this formulation. PAGE 73 73 C: Denotes the set of consist types available for assignment and cC represent a particular consist. :lFFixed charge cost for using the light arc l. c lc: Cost of assigning an active consist of type cC to train l. c ld: Defined for every arclAllArcs For a train arclTrArcs c ldcaptures the cost of deadheading a consist of typecC on arc l. For a light arc lLiArcs c ldcaptures the cost of traveling for a consist type cC on arc l. For an arclCoArcsGrArcs c ldcaptures the cost of idling for a consist type cC on arc l. ck : Number of locomotives of type kK in consist typecC I[i]: Set of arcs entering node i. O[i]: Set of arcs leaving node i. S:Set of overnight arcs or arcs that cross the midnight timeline. (We choose midnight as the time for counting the number of locomo tives used in our solution) day(l): Number of times an arc l crosses the midni ght timeline. Suppose, a train l leaves at 8 AM on day 1 and arrives at 2 AM on day 2, then day( l) = 1; whereas suppose it leaves at 8 AM on day 1 and arrives at 2 AM on day 3, then day(l) = 2. The decision variables are: c l x : Binary variable representing the nu mber of active consists of type cC on arclTrArcs c ly: Integer variable representing the number of nonactive consis ts (deadheading, lighttraveling or idling) of type cC on arclAllArcs lz: Binary variable which takes value 1 if at least one consist flows on arc lLiArcs and 0 otherwise. PAGE 74 74k s : Integer variable indicating the num ber of unused locomotives of typekK We formulate the problem as follows: mincccckk llllll lTrArcscClAllArcscClLiArcskKzcxdyFzGs (3.1a) for all1, ,c l cC x lTrArcs (3.1b) ()12,forall,ckcc ll cCkK x ylTrArcs (3.1c) [][]()(),forall,,cccc llll lIilOi x yxyiAllNodescC (3.1d) 12, for all ,c ckll kKcCyzlLiArcs (3.1e) ()(),forall,ckcckk ll lScC x ydaylsBkK (3.1f) {0,1},forall,,c l x lTrArcscC (3.1g) 0 and integer, for all ,c lylAllArcscC (3.1h) 0,1 for all ,,lzlLiArcs (3.1i) 0, for all .k s kK (3.1j) Constraint (3.1b) ensures that every trai n l is assigned exactly one active consist. Constraint (3.1c) ensures that the locomotiv e flow upperbound on each train arc is satisfied. Constraint (3.1d) ensures that flow is balanced at every node for every consist type. Constraint (3.1e) ensures that the locomotive flow upperbound on each light arc is satisfied. Constraint (3.1f) ensures that the number of locomotives of each fleet type used is no more than the fleet size. While the locomotive flow based formulati on (Ahuja et al. (2005)) did not converge to feasible solutions for some instances in over 10 hours of co mputational time, the consist based PAGE 75 75 formulation was able to optimally solve th e same instances within a few minutes of computational time. The reasons for this superi or computational perfor mance are: (1) In the locomotive flow formulation, we need to explic itly specify constraint s that each train gets required tonnage, horsepower and does not exceed the 24active axle requirement. However, these constraints are implicitly handled in th e consistbased formulation using much lesser number of constraints. We handl e the active axle constraint by not creating consists which have more than 24 active axles. We handle the tonnag e and horsepower constraints implicitly in the following way; if assigning consist cC as an active consist to train lTrArcs violates the tonnage or horse power constraints, we set 0c lx thus disallowing the assi gnment of consist c to train l. Thus, the consist flow formulation has 2 TrArcs lesser number of side constraints compared to the locomotive flow formulation; (2) All active consist assignment variables, ,c l x are binary variables, whereas in the locomotive flow formulation active flow variables are general integer variables. The MIP optimization e ngine, which is typical ly a branchandbound algorithm, is likely to explore lesser branches for a binary integer program compared to a general integer program as there are lesser options to pursue; and (3) Each time branching occurs on a binary variable it is either prefixed to zero or to one in the su bsequent problems. Hence, as the algorithm progresses down the br anchandbound search tree, the problem size and complexity of the linear programs solv ed at each node reduces. The consist based formulation also has pr actical advantages. Railroads often impose complex rules on what locomotive types may be combined into ideal consists. Some locomotives do not work well together. Some railroads segr egate AC powered locomotives and DC powered locomotives. These requirements are often very hard or impossible to honor in the locomotive flow formulation but are rather trivial in the cons ist flow formulation. Further, in the locomotive PAGE 76 76 flow formulation, an outbound tr ain often obtains its planned c onsist from locomotives coming from multiple trains and if any of these inbound trains is delayed, the outbound train is delayed as well. But in the consist flow formulation, all outbound trains derive their active consist only from one inbound train (but may deri ve their deadhead consists from other trains) thus reducing the impact of train delays. The consist flow formulation is superior to the previous locomotive flow formulation because (1) solution speed and robustness are grea tly improved, (2) consis t busting is reduced to zero, and (3) constraints are more easily incorpor ated, resulting in more practical solutions. Our computational tests show that while the consist flow formulation may have its optimal objective function value as much as 5% higher than that of the locomotive flow formulation, the solution is far superior in terms of consistency, simplicity, and robustness. Thus, it may be easier to comply with and may need overall fewer locomotives in practice (considering train delays, for example). And, the consist flow solution still requires far fewer locomotives than the manually generated plans currently in use by most railroads. 3.3.3 Hybrid Formulation for the LPP In order to evaluate the performance of the c onsist based formulation, we need to ideally compare it to the solution of the flow formula tion (Ahuja et al. (2005)). However, for some instances, the flow formulation does not converge to a feasible solution after several hours of computational time and this is hence not possi ble. We develop a hybrid formulation which can be used to benchmark the performance of the cons ist formulation. The hybrid formulation retains the structural properties of the consist formula tion while also allowing total flexibility to bust consists at no additional cost. We realize that th is is not a realistic assumption, but this model allows us to determine the impact on solution cost if consist busting is allowed. Hence, it serves PAGE 77 77 as a good benchmark for the solution of the consist flow formulation. Also, since it retains some of the structural properties of the consist fo rmulation, it is also computationally robust. In the hybrid formulation, we allow active loco motives on trains to travel as consists but the deadheading locomotives travel as indivi dual locomotives. At the ground nodes, where inbound trains bring their consists they are broken into individua l locomotives. These individual locomotives flow on ground arcs. When outbound trai ns need active locomotives, they draw only the prespecified consists from the ground pool; but when they need deadhead locomotives, they can draw individual locomotives. The reader ca n observe that the solution space of the hybrid formulation is a subset of the solution space of the locomotive flow formulation but a super set of the solution space of the consist flow formulati on. We next give the MIP formulation of this hybrid version. The decision variables are: c l x : Binary variable representing the nu mber of active consists of type cC on arclTrArcs k ly: Integer variable representi ng the number of nonactive lo comotives (deadheading, lighttraveling or idling) of type kK on arclAllArcs lz: Binary variable which takes value 1 if at least one locomotive flows on arc lLiArcs and 0 otherwise. k s : Integer variable indicating the number of unused locomotives of typekK We formulate the problem as follows: mincckkkk llllll lTrArcscClAllArcskKlLiArcskKzcxdyFzGs (3.2a) 1, for all ,c l cC x lTrArcs (3.2b) 12,forall,ckck ll cCkKkK x ylTrArcs (3.2c) PAGE 78 78(()), for all ,,ckckk llh cChOheadl x yylTrArcskK (3.2d) (()), for all ,,ckckk llh cChItaill x yylTrArcskK (3.2e) ()()0, for all ,,kk ll lIilOiyyiGrNodeskK (3.2f) 12, for all ,k ll kKyzlLiArcs (3.2g) ()(), for all ,ckckkk ll lScClS x daylydaylsBkK (3.2h) 0,1, forall,,c l x lTrArcscC (3.2i) 0 and integer, for all ,k lylAllArcskK (3.2j) 0,1 for all ,,lzlLiArcs (3.2k) 0, for all .k s kK (3.2l) The constraints in this formulation are similar to those in the consist flow formulation. The only difference is we have to construct the flow balance equations for trai n arrival and departure nodes (3.2d) and (3.2e) differently (with multipliers) because active locomotives flow as consists on trains and locomotives flow as individual locomotives on the connection arcs and ground arcs. In this formulation also, we enforce the tonnage, active axles and the horse power constraints implicitly and hence share some of the advantages th at the consist formulation has over the flow formulation. The computational results presented in Secti on 3.5.1 show that consist flow formulation gives comparable solutions to the hybrid formul ation, thereby demonstrating that disallowing consist busting does not come at a big cost. We also observe that hybrid formulation takes much more time compared to the consist flow formula tion as the flexibility to break and reassemble PAGE 79 79 consists, increases the solution space significantly and the decision variables have multipliers associated with them which makes the MIP harder to solve. 3.3.4 Identifying Good Consists During our computational testing of the c onsistbased and hybrid formulations, we observed that the performance critically depends on the number and types of consists. The greater the number of consists with different hor sepower and tonnages, the better the quality of the solution since there are more potential matc hes between need and availability. However, from implementation perspectives, we would like to use the minimum number of consists as it keeps the solution simple and provides greater opportunities for substitu tion between different consist types which is done when trains run la te. We are thus faced by the problem of finding a small set of good consist types which provide as good a solution as a large number of consist types. We show that using a minor change in our existing formulations, we can choose a small set of p good consist types from a given larger superset of potential consist types C. We accomplish it by introducing the following decision variables: cz= Binary variable which take s a value 1 if consist typecC is used, and a value 0 otherwise and add the following constrai nts to the formulations: (), forallcc llc lS x yMzcC, ,c cCzp where M is a sufficiently large number. The first constraint sets zc = 1 whenever a consist type is used, and the second constraint ensures that no more than p such variables are set to 1, or no more than p consist types are used. These constr aints will ensure that the model picks a set of p optimal consists from the predefined superset of consists C that minimizes the overall solution cost. PAGE 80 803.4 Incorporating Practical Requirements We describe several additional requirements that a locomotive planning model must satisfy which we did not incorporate in our previous research reporte d in Ahuja et al. (2005). These features are necessary to generate an implementable locomotive plan. 3.4.1 Incremental Locomotive Planning Our formulations described in Section 3.3 ge nerate a locomotive plan for a given train schedule from scratch or zeroba se. However, over time, train sc hedules change in response to shifts in traffic patterns, to free up tracks for periodic repair and repla cement, and because of network outages such as hurricanes, floods, and winter blizzards. These changes include some trains being added or removed, or changes in train frequencies, train timings, and train tonnages. We can use our locomotive planning model to ge nerate a brand new optimal locomotive plan for the modified train schedule. But, the former pl an and the new plan could potentially be quite different requiring managers to reposition power from the old cy cles to the new cycles causing much disruption to operations. Consequently, an additional cha llenge to locomotive planning is the development of implementati on strategies for introducing new plans to an organization. Our research shows that the optimal (or nearoptimal) frontier of solutions for the LPP is quite broad and quite flat, which means that there are a ve ry high number of combinations of locomotive plans that produce similar values for the model objective functi on. Consequently, it would be desirable to choose a new locomotive plan that closely resembles the current locomotive plan, minimizing the number of tactical repositioning m oves required to transition from one plan to another. The incremental locomotive planning algorithm takes in the current locomotive plan and changes in the train schedule, and produces a ne w, incrementally different locomotive plan. The current weekly train schedules and their currently planned loco motive assignments are inputs to PAGE 81 81 this problem. Since the current plan need not c onform to prespecified consists, this model is a locomotive flow based model. The algorithm consists of the following steps: Take the current weekly plan and obtain a current daily plan. The trains which are considered a part of the daily problem are thos e trains which have a frequency greater than p (usually p = 4). The current daily flows for th ese trains are taken to be the most frequent locomotive assignment on the sevenday trains corresponding to this daily train in the current solution. For example, if a train is as signed an active flow of 2 SD40 for five days of a week and an active flow of 2 AC44 for one day, then the corresponding daily train will be assigned a flow of 2 SD40 in the current daily plan. Solve the incremental oneday flow formulation. Use the output of the incremental oneday flow problem and transition back to the sevenday problem by using the standard approach suggested in Ahuja et al. (2005). Since consistency is enforced while moving from the oneday to the sevenday solution; the incremental models output is likely to be similar to the current weekly plan. The incremental oneday flow formulati on has the following decision variables: k l x : Integer variable representing the nu mber of active locomotives of type kK on the arc lTrArcs k ly: Integer variable indicating the number of nonactive locomotives (deadheading, lighttraveling or idling) of type kK on the arclAllArcs :k lPositive deviation from the curren t flow for locomotive type k. :k lNegative deviation from the current flow for locomotive type k. lz: Binary variable which takes value 1 if at least one locomotive flows on arc lLiArcs and 0 otherwise. k s : Integer variable indicating the number of unused locomotives of typekK The objective function and constraints are: min()kkkkkkkk llllll lTrArcskKlAllArcskKkKlTrArcskKzcxdyGsP (3.3a) PAGE 82 82 We consider the same constraint set as that in the flow formula tion (Ahuja et al. (2005)) with the following additional constraint: (), for all kkkkkk llllll x yxylTrArcs, (3.3b) ,0.kk ll (3.3c) where P is the penalty for deviating from the current daily plans assignment, and ,kk ll x yare the current daily flows on arc l. This in effect sets k l and k l to the positive and negative deviations from the current daily plan respectively. By varying the value of parameter P, we can get solutions which differ from the current daily plan and hence the current weekly plan by different degrees. We measure the difference between the output of the incremental planning model and the current plan as: Number of trains for which the model assignment differs from the current plan % difference = 100 Total number of trains Note that while it is not possi ble to directly control the pe rcentage difference (above). By suitably modifying P we can obtain solutions wh ich differ from the current plan by varying degrees (Increase in the value of P leads to a decrease in the per centage difference). Incremental planning enables the railroad to make a sequence of incremental improvements and arrive at the optimal locomotive plan wit hout huge transition costs. 3.4.2 Cab Signal Requirements Each locomotive in the fleet is equipped with specialized equipment that may enable it to operate in certain restricted territories while at the same time disqualify it from operating in other territories. Some of this equipment is required to enable the locomotive to be the first in a consist or the lead locomotive. Other equipmen t may be required by union rules or regulatory PAGE 83 83 rules unique to certain geography. Some of thes e constraints are handle d during tactical (realtime) assignment of locomotives to trains. Howeve r, one particular constr aint, which we call the cab signal constraint, must be a part of the locomotive plan. Railroad corridors are equipped with signaling systems to cont rol the movement of trains. Most corridors are outfitted with wayside signal s only; the crew in the locomotive observes the signal and slows, stops, or proc eeds depending on it. To increas e safety, some corridors do not have wayside signals but instea d are equipped with cab signal systems, where the signal is displayed inside the locomotive. Not only do cab signals aid the crew in foggy weather or in cases where the wayside signal may be obscured but the cab signal system s also interface with the locomotive throttle and brake and in cases wh ere a crew does not honor the signal, the system will automatically slow down and then stop the train to avert a possible collision. Federal law requires that all consists operating in cab signaled territory must have a lead locomotive that is outfitted to interface with the cabs ignal system. For planning purposes, railroads like to have all locomotives in a consist equipped with cab signa ls so that suppose the lead locomotive breaks down, the units can be swapped on the line of road and the train will conti nue; or, at the end of the line, the consist can revers e direction without being turned Outfitting a locomotive with cab signals costs in excess of $100,000 and there are increased maintenance and inspection requirements as well. Consequently, railroads do not equip every locomotive with cab signals since that is too costly. To incorporate the cab signal logic, we parti tion each consist type into two consist types, one with the cab signal capability and the other without the cab signal capabi lity. For example, consist type 2[SD40] can be decomposed into the categories: 2[SD 40Normal] and 2[SD40Cab]. Similarly, we decompose the fleetsize requ irements for SD40 locomotives into two parts: PAGE 84 84 SD40Normal and SD40Cab (this decomposition is an input provided by the railroad). For each train l, which operates in a cab si gnal corridor, we ensure that th e all the consist flow variables on it, that is, ,cc ll x yare zero when c is not a cab signal comp atible consist. This change guarantees that all the trains in cab signa l corridors are assigned cab sign al consists, but those in normal corridors can be assigned either kind of consist. While this change does not change the nature of our model, it increases the number of consists which increases the number of decision variables and constraints proportionately, and leads to consequently longer run times. While the locomotive flow formulation (Ahuja et al. ( 2005)) which suffers from intractability cannot handle the increased problem size, the consist based formulation is also able to solve this larger problem quickly. 3.4.3 Foreign Power Requirements Railroads often cooperate to r un trains directly from the orig in station on one railroad to the destination station on another railroad. These trains are called runthrough trains. By allowing locomotives from the orig inating railroad to stay with the train through to destination, the cooperating companies eliminate queuing of trains and locomotives at the interchange stations that would otherwise occu r as one railroad would have to move extra locomotives to the interchange point in anticipation of the train arrival, or the tr ain would have to sit at the interchange waiting for locomotives. Over the we ek, several inbound runthrough trains bring in foreign power into the network and several outbo und runthrough trains retu rn foreign power to other railroad networks. However, the inbound and outbound runthrough tr ain schedules are not perfectly balanced and the foreign power often fl ows back to other inte rchange locations or on direct or indirect trains. But, at the end of the week, each company is obligated to return as many PAGE 85 85 locomotives that it receives from each connecting car rier in order to maintain the overall balance of power across North America. The foreign power requirement is incorporat ed by making appropriate changes to the spacetime network. The network is augmented in such a way that solving the LPP would automatically guarantee a plan which accommodate s foreign power. We create the augmented spacetime network in the following manner. We fi rst create the spacetime network for the LPP as described in Section 3.3.1. Then, we creat e a pseudo super station for each of the foreign railroads. All the trains which bring in foreign po wer into the system originate at their respective super stations and terminate at their respective destinations. All the trains which send foreign power out of the system originate at their resp ective origins and terminate at their respective super stations. Due to the flow balance constraint s, the number of locomotives (or consists) of a particular type entering a super node will be equal to the number of locomotives (or consists) of the same type leaving the same super node. However, the model may use the super station as a shortcut between two geographic stations. For e. g. a consist that needs to travel between Chicago and Memphis may be routed from Chica go to a super station and then from the super station to Memphis because it is cheaper to do so. To prevent this kind of shortcutting, we set the costs on ground arcs at the supe r node to a large value. This en sures that the solution does not misuse the super node as a shortcut between tw o geographic stations a nd that only essential foreign power movement takes place between railroads. 3.5 Computational Results We now present computational results on seve ral problem instances. We also present the results of case studies and dr aw insightful conclusions. We implemented our algorithms in Visual Basic .NET programming lan guage and tested them on the data provided by a major Class I railroad. We modeled our integer programs using Concert Technology 2.0 modeling language PAGE 86 86 and solved them using the CPLEX 9.0 solver We conducted all computational tests on a Pentium IV, 512 MB RAM and 2.4 GHz processor desktop computer. 3.5.1 Comparison of Formulations We compare the performances of the consist based formulation and the hybrid formulation on reallife instances while varyi ng the prespecified input consist set as shown in Table 31. The first row of the table shows three input consists. Each subsequent row adds two more consists to the previous set of consists. We ran both the co nsist and hybrid formulations with these consist compositions and noted the running time and solu tion cost on two differen t reallife scenarios given to us by the railroad. Table 32, Table 33, and Figure 33 present the results of the comparison. We make the following observations from this study: As we increase the number of consists used, the solution becomes progr essively better. An increase from three to nine consists leads to an improvement of more than 17% whereas an increase from nine to seventeen consists gives an improvement of less than 3% demonstrating the law of diminishing returns. The objective function of the hybrid formulation for all cases is only marginally (< 5 %) better than that of the consist formulation. We also applied the original flow formulation developed in Ahuja et al. (2005) to these two scenarios but it did not converg e to a feasible solution even after 10 hours computation time. From these tests, we conclude that the consist formulation is an excellent way to model the LPP and we need a small number of consists (less than 10) to obtain good solutions. 3.5.2 Identifying Good Consists In Section 3.3.4 we described a method to select a set of p optimal consists from a larger candidate set of consists. Here, we consider an instance of the LPP a nd a set of 15 candidate consists. We then determine the optimal set of cons ists as described in S ection 3.3.4, varying the parameter p from 3 through 15, and note the objec tive function values of the problem for each PAGE 87 87 case. We also compare these objective function values to the objective function value obtained when we use the set of eleven consist types sp ecified by the railroad (blue line in the figure). Figure 34 presents these computational results. We draw the following conclusions from these results: As the number of consists used increases, the solution quality improves. However, there are diminishing returns as we add more consists. Using just five consists, we are able to ma tch the solution obtained by using the eleven consists specified by the railroad. Six consists, if chosen judicious ly, can give as good a solution as fifteen consists. This is a gratifying observation as railroads desire five or six consists to ensure plan simplicity and plan compliance. 3.5.3 Incremental Locomotive Planning In this study, we present com putational results of the method described in Section 3.4.1 to solve the planning problem increm entally. In the incremental planning problem, we are given a possibly nonoptimal feasible solution x0 and we wish to incrementally optimize it. Let x* denote the optimal solution of the LPP. We present the results of this test in Table 34. We start with solution x0 and make incremental changes to it so that it gets closer to the optimal solution and we control the extent of changes. Observe that as we increase the extent of change allowed by decreasing the penalty, we progressively obt ain improved solutions which differ from x0 by a greater extent but use le sser number of locomotives. Also note that the solution when the penalty is zero is largely different from the current solution x0. 3.5.4 Case Study We conduct a case study to demonstrate the us efulness of the model to assist decision making. The various aspects of the problem that we test in this case study are as follows: (1) Effect of varying minimum connection time on so lution cost, (2) Effect of varying transport PAGE 88 88 volumes on key transport performance characteristic s; and (3) Effect of varying train times on key transport performance characteristics. Effect of varying minimum connection time on solution cost Freight trains do not run on tim e and often arrive later than their planned arrival time, which makes it difficult for locomotive dispatch ers to adhere to the locomotive plan. One method commonly recommended to improve plan co mpliance is to increase the traintrain minimum connection times (defined in Secti on 3.2.1). Although increasing the minimum connection time may improve plan adherence, it also increases locomotive costs as more locomotives will be held in inventory at termin als. We quantify the impact of increasing the minimum connection times. We performed the test for a representative instance where we varied connection times from zero hours to ten hours and noted the total cost incurred by each solution. This test was done twice, first with an input set of nine consists and then with an input set of eleven consists. We present the results of the test in Table 35 and Figure 35. We draw the following conclusions from the study: The minimum connection time could have a significant impact on the number of locomotives used and the solution cost. The solution cost increases linearly with the increase in connection times at the rate of around $200,000 per hour. Depending upon the train lateness and the willin gness of railroad planners to improve locomotive plan compliance, appropriate connec tion times can be used. In this study, we assumed same connection times systemwide. Rail roads may want to experiment with stationdependent connection times based on historical la teness performance of trains. As shown in this study, railroads can use the m odel to quantify the tradeoff between decreasing minimum connection times and increasing solution costs. PAGE 89 89Effect of varying transport volume on key performance characteristics We measure the impact of varying transport volumes (or train tonnages) on the following key transport characteristics: number of locomoti ves used, solution cost, mean pulling power of a consist, and mean miles traveled per consist. We start with a solution wi th specified tonnages on each train. We then proceed to decrease tonnages by steps of five percent and measure the impact on transport characteristics. We then repeat the test but this time increasing tonnages by steps of five percent. The results of these test s are presented in Table 36 and Figure 36. The consist flow formulation was able to solve all instances in less than two minutes of computational time. We draw the following conclusions from this study: As the transport volume (mean tonnage) increases the solution cost te sted increases as a quadratic function with an increasing slope The mean pulling power of each consist and th e number of locomotives used increase as expected; however, the average number of m iles traveled by each consist remains roughly the same. The consist flow formulation is robust since it solves all the instances in less than two minutes of computational time. As we demonstrate, railroads can use the m odel as a generic approach for modeling the optimal number of locomotives needed or the co st as a function of the rail freight transport volume over the entire network. Effect of varying train speed on key performance characteristics We measure the impact of varying trai n speeds on the following key transport characteristics: number of locomotives used, solu tion cost, mean pulling power of a consist, and mean miles traveled per consist. We start with a solution with specified travel times on each train. We then proceed to decrease travel time s by steps of five percent and measure the impact on the transport characteristics. We then repeat the test but this time increasing travel times by PAGE 90 90 steps of five percent. The results of these test s are presented in Table 37 and Figure 37. The consist flow formulation was able to solve a ll these instances in le ss than two minutes of computational time. We draw the following conclusions from this study: As the train travel times increase, the soluti on cost increases as a quadratic function with an increasing slope. The number of locomotives used also increases as shown in the table; however, the mean miles per consist remains roughly constant. The consist flow formulation is robust since it solves all the instances in less than two minutes of computational time. Increasing train speeds improves efficiency of the network and lead s to lesser scheduling costs. However, it may also lead to an increase in other costs like fuel consumption cost, safety, etc. The railroad can use the model to perform co stbenefit analysis to tradeoff the increase in cost of operations with the savings in schedulin g costs and consequently determine their optimal strategy. 3.6 Summary and Conclusions Our research builds upon our previous work on railroad locomotive scheduling. We focus on improving the planning version of the problem, where we assign locomotive types to various trains. We extend the approach on several dimens ions by adding new constr aints to the planning problem required by the railroads, and by deve loping additional formulations necessary to transition solutions of our models to practice. The major contribution is to suggest a new approach of routing consists (a group of locomotives) rather th an routing individual locomotives. We show through our computational tests that even though routing of consists seems to restrict the solution space of the LPP, if we create good consists, we can get almost as good solutions as with the earlier formulations. This is a very im portant observation since so lutions of the consist PAGE 91 91 formulation are much easier to implement, cause less train delays, and allow greater flexibility for mixandmatch for locomotive dispatchers. Fu rther, we found that the consist formulation runs faster and is more robust than the earlie r flowbased formulations. Another important contribution in the chapter is to enable a rail road to progressively move towards an optimal locomotive plan in several smaller and realistic steps by solving a sequence of incremental LPPs. Finally, we also added important practical features such as accounting for foreign power and cabsignal locomotives, which are critical to generating implementable locomotive plans. The locomotive planning model creates a bluepr int for use by managers to assist them in making daytoday decisions regarding locomotiv e assignments. We demonstrate the usefulness of this model by performing extensive case studies to evaluate the impact of varying minimum connection times, freight transport volumes, and tr ain speeds (or travel times). In the future, we hope to develop tools for use by tactical locomo tive dispatchers to assign locomotives by specific tail numbers. This realtime model will strive to return the network to plan, while maintaining fluidity and minimizing overall costs. The loco motive planning models described will form the core of the realtime locomotive models. PAGE 92 92 Table 31. Set of input consists. Index # Consists Consist Set Horsepower 1 3 2[SD40], 3[SD40], 3[CW408] 6000, 9000, 12000 2 5 & 2[CW60AC], 2[CW408]+1[SD40] 12000, 11000 3 7 & 1[CW408] + 2[SD40], 2[CW44AC] 10000, 8800 4 9 & 2[CW408], 2[SD 40] + 1[SD60I] 8000, 9800 5 11 & 2[CW408] + 1[CW60AC], 1[CW408] + 1[SD40] 14000, 7000 6 13 & 1[SD60I] + 1[GP40], 1[CW44AC] + 1[SD40] 6800, 7400 7 15 & 4[SD40], 2[GP40] 12000, 6000 8 17 & 2[SD60I], 3[GP40] 7600, 9000 Table 32. Comparison of formulations: Scenario 1 388 trains, 6 locomotive types, 87 stations Consist formulation Hybrid formulation # of consists Locos used Cost ($) Time (sec)Status Locos usedCost ($)Time (sec) Status 3 1,376 9,991,949 2.9Optimal1,3389,671,012120.0 0.4% gap 5 1,330 9,789,957 45.0Optimal1,2859,402,383120.0 0.1% gap 7 1,183 8,597,982 10.8Optimal1,1418,337,573450.0 0.6% gap 9 1,051 8,221,321 4.8Optimal1,0528,164,544600.0 4.1% gap 11 1,047 8,118,454 9.1Optimal1,0517,994,043600.0 1.7% gap 13 1,045 8,062,075 92.6Optimal1,0577,923,8471,000.0 8.6% gap 15 1,047 7,995,065 114.0Optimal1,0587,833,8381,000.0 6.4% gap 17 1,047 7,995,065 120.00.1% gap1,0567,833,0731,500.0 6.7% gap Table 33. Comparison of formulations: Scenario 2 382 trains, 6 locomotive types, 87 stations Consist formulation Hybrid formulation # of consists Locos used Cost ($) Time (sec)Status Locos Used Cost ($)Time (sec) Status 3 1,388 10,071,804 120.0Optimal1,3619,813,393347.0 Optimal 5 1,343 9,871,203 13.1Optimal1,3129,573,504450.0 0.4% gap 7 1,201 8,731,696 11.4Optimal1,1668,517,248450.0 1.4% gap 9 1,064 8,383,781 34.6Optimal1,0608,282,831600.0 2.6% gap 11 1,062 8,301,766 120.10.1% gap1,0568,179,846600.0 2.3% gap 13 1,056 8,247,947 450.00.6% gap1,0668,112,9171,200.0 8.1% gap 15 1,062 8,204,256 450.01.8% gap1,0717,990,3161,200.0 4.2% gap 17 1,063 8,204,160 450.01.7% gap1,0717,990,3001,800.0 4.9% gap (c) PAGE 93 93 Table 34. Computational results of incremental locomotive planning. Penalty Value % Difference Locos Used Time (min) 1,800 5.5% 1,463 10.0 1,600 5.5% 1,463 10.0 1,400 6.3% 1,430 10.0 1,200 7.0% 1,393 10.0 1,000 7.4% 1,382 10.0 800 10.5% 1,352 10.0 600 19.4% 1,214 10.0 500 22.1% 1,175 10.0 400 26.4% 1,159 10.0 300 28.3% 1,141 10.0 200 36.8% 1,146 10.0 100 60.6% 1,130 10.0 0 81.0% 1,128 10.0 Table 35. Effect of varyi ng the minimum connection time. Scenario 1: 9 Consist Types Scenario 2: 11 Consist Types Min Connection Time (hrs) Cost ($) Locos Used Time (sec) Cost ($) Locos Used Time (sec) 0 7,497,798 90319.87,408,11390338.3 1 7,734,067 9477.57,628,9169433.3 2 7,926,831 9774.07,832,53397316.3 3 8,112,888 1,0152.68,010,1231,0095.5 4 8,330,598 1,0492.98,218,4771,0474.2 5 8,506,699 1,08110.08,392,4751,0834.2 6 8,732,819 1,12714.38,617,0591,1319.7 7 8,896,129 1,1597.28,778,2491,16434.6 8 9,163,605 1,22123.29,042,9401,22186.8 9 9,277,919 1,24520.69,165,8631,24557.7 10 9,439,117 1,27712.39,306,1911,27437.7 PAGE 94 94 Table 36. Effect of varying transport volumes. % increase in tonnage Mean tonnage of trains Locos Used Solution Cost ($) Mean pulling power/consist Mean miles/ consist 20 6,1831,0267,502,80210,099 405.05 15 6,5701,0267,588,42110,373 405.04 10 6,9561,0427,726,57910,464 404.17 5 7,3421,0407,910,33110,841 405.14 0 7,7291,0498,120,13411,093 403.73 5 8,1151,0798,437,33411,457 403.86 10 8,5021,1178,812,46711,828 405.27 15 8,8881,1719,296,42312,483 403.98 20 9,2751,2149,635,79012,715 405.12 Table 37. Effect of varying train travel times. % increase in travel time Locos Used Solution Cost ($) Mean pulling power/consist Mean miles/ consist 20 915 6,959,17911,237403.20 15 937 7,189,83911,236404.67 10 975 7,531,42411,199407.52 5 1,003 7,778,31811,157404.78 0 1,049 8,120,83411,093403.73 5 1,073 8,383,09611,197405.00 10 1,111 8,702,84711,151404.07 15 1,148 8,967,09911,056405.12 20 1,171 9,194,21011,038404.92 PAGE 95 95 Figure 31. Overview of the locomotive scheduling algorithm SevenDay Scheduling Problem : Reoptimize oneday locomotive schedule to determine the sevenday schedule. OneDay Scheduling Problem : Transform the problem to the oneday scheduling problem and solve it. Determine traintrain connections Determine active & deadhead assignments Improve solution using VLSN search Solve a sequence of singlecommodity flow problem to obtain a feasible sevenday solution. Determine light travel assignments Determine a sevenday (possibly infeasible) solution. Improve solution using VLSN search PAGE 96 96 Figure 32. A part of the spacetime network. $7,500,000 $8,000,000 $8,500,000 $9,000,000 $9,500,000 $10,000,000 $10,500,000 135791113151719Number of Consists Scenario 1 Scenario 2 C os t ($) Figure 33. Solution cost of the consis t formulation vs. number of consists. Train arcs: Connection arcs: Ground arcs: Train Arcs Train 1 Train 4 Train 5 Arrival Nodes Train 2 Train 3 Train 6 Departure Nodes Train Arcs Ground Nodes Time PAGE 97 97 7,000,000 7,500,000 8,000,000 8,500,000 9,000,000 9,500,000 10,000,000 0246810121416 Consist Optimization Problem Railroad solution Number of Consists Figure 34. Solution cost vs. number of consists. $7,000,000 $7,500,000 $8,000,000 $8,500,000 $9,000,000 $9,500,000 $10,000,000 01234567891011Minimum Connection time (hr) 9 consist types 11 consist types Figure 35. Solution cost vs. minimum connection time. PAGE 98 98 y = 0.1844x2 2144.7x + 1E+077,000,000 7,500,000 8,000,000 8,500,000 9,000,000 9,500,000 10,000,000 6,0006,5007,0007,5008,0008,5009,0009,500Mean tonnageCost ($) Figure 36. Solution cost vs. transport volumes. y = 1101.7x2 + 54516x + 8E+067,000,000 7,500,000 8,000,000 8,500,000 9,000,000 9,500,000 10,000,000 2520151050510152025% increase in travel timeCost ( $ ) Figure 37. Solution cost vs. % increase in travel time. PAGE 99 99 CHAPTER 4 THE LOCOMOTIVE ROUTING PROBLEM 4.1 Introduction The objective of the LPP is to assign locomotive types to trains in a cyclic train schedule, while honoring several operational constraints and minimizing the overall cost of assignment. Our models to solve the LPP, described in Chap ter 3, assign locomotive types to trains in the schedule ensuring that every train in the weekly repeating schedule gets sufficient pulling power, locomotive flows are balanced, and several other operational constraints ar e satisfied; however, they do not account for the fueling and servicing feasibility of individual locomotive units. We bridge this gap and develop met hods that can be used to route locomotive units on fueling and servicing friendly cycles. Locomotive plans or schedules are blue prints based on which the railroads manage their operations in realtime; our research is hence a vital cog in the area of locomotive management since it makes the bluep rint more realistic and implementable. The LRP involves routing each locomotive unit on a cyclic sequence of trains so that it can be fueled and serviced as necessary; while at the same time satisfying all other business and operational constraints considered in the LPP. We refer to th e sequence of trains on which a locomotive unit travels as a locomotive route. Fu eling feasibility requires that each locomotive route has sufficient fueling opportun ities to ensure that the loco motive does not run out of fuel (outoffuel event). This translates to the constr aint that every locomotive needs to have a fueling opportunity at least once for every F miles (900 mile s) of travel. Similarly, servicing feasibility requires that each locomotive route has sufficient servicing opportunities and this translates to the constraint that every locomotive needs to ha ve a servicing opportunity at least once for every S miles (3,000 miles) of travel Suppose all the stations in the network support fueling and servicing, any feasible solution to the LPP coul d be trivially decomposed into a fueling and PAGE 100 100 servicing friendly routing of locomotives us ing a straight forwar d polynomialtime cycle decomposition algorithm (Ahuja, Magnanti, and Orlin (1993)). However, typically only 50% of the stations on the train network support fueling and 30% of the stations support servicing, and this makes the LRP an extremely complex comb inatorial optimization problem. Indeed, this problem remains practically unstudied and unsolved, and our chapter reports the first attempt to model and solve the LRP using optimization methods. The LPP (Ahuja et al. (2005), Vaidyanathan et al. (2007b)) is analogous to the well studied airline fleet assignment problem (A bara (1989), Talluri (1996), a nd Rexing et al. (2000)) and the LRP is analogous to the well studied aircraft ma intenance routing proble m (Clarke et al. (1997), Gopalan and Talluri (1998), Barnha rt et al. (1998), and Talluri (1998)). Integr ating airline fleet assignment and maintenance routing into a single pr oblem makes the problem very hard to solve. Hence, the predominant approach adopted is se quential; i.e. the fleet assignment problem is solved first to fix the assignment of aircraft types to flights, an d the aircraft routing problem is solved next to route individual ai rcrafts. Several researchers have worked on the aircraft routing problem. Clarke et al. (1997) present a mathemati cal formulation for the aircraft routing problem and discuss its similarity with the asymmetric traveling salesman problem. Gopalan and Talluri (1998), and Talluri (1998) describe methods to generate aircraft routings that satisfy the fourday maintenance requirement. In another study with a different objective, Feo and Bard (1989) study the maintenance location problem to find the mini mum number of maintena nce stations required to meet the specified 4day maintenance requir ements for a proposed flight schedule. The only study which considers the integrat ed fleet assignment and aircra ft routing problem is due to Barnhart et al. (1998). They use a branchandprice based approach to solve the integrated airline PAGE 101 101 fleet assignment and aircraft routing problem However, even for small problems with 150200 flights their approach takes 34 hours of computational time. The study of various locomotive scheduling models has also been reported in the literature; however none of these consider the fueling and servicing requirements of locomotive units. In Chapter 3, we survey the preexisting research on the LPP. The most comprehensive multiple locomotive planning models are due to Ahuja et al. (2005) and Vaidyanath an et al. (2007b). The only existing railroad research which considers maintenance requi rements is due to Maroti and Kroon (2005). They consider the problem of rout ing locomotive units that require maintenance in the next one to three days and propose a multicommodity flow model to solve this problem. Their problem definition does not consider fuel ing requirements and this reason among several others makes their problem less genera l than the LRP that we consider. The existing methods in the lite rature for aircraft routing canno t be directly applied to the LRP. This is because the LRP is more complex than the aircraft routing problem due to the following reasons: (a) Every airport on the airl ine network supports fu eling, making fueling feasibility a nonissue; however every station on a railroad network does not support fueling; (b) Airlines do not operate dur ing the night and this gives added flexibility to satisfy maintenance requirements whereas railroads opera te round the clock; (c) Flight le gs on the airline network are assigned to only one aircraft wher eas trains on a railroad networ k are usually assigned several locomotive units; and (d) Aircraft routing problems are typically solved for a few hundred flights whereas the LRPs need to be solved for schedules with a few thousand trains. Also, note that the integrated approach used by Bar nhart et al. (1998) takes 34 hours of computational time even for a problem with 150200 flights; this is a very small problem from the railroad perspective. Due to these reasons, we adopt a two stage decom position approach to solve the problem. In the PAGE 102 102 first stage we solve the LPP, using existing me thods, to obtain an assignment of locomotive types to trains (locomotive schedule). In the seco nd stage, we use the methods described in this chapter to solve the LRP and r oute locomotive units on fueling and servicing friendly cyclic routes (locomotive routes). While solving the LRP, we fix the assignment of locomotive types to trains based on the output of the LPP, and use the flexibility of varying the connections of locomotives between trains (train connections) to achieve fueling and servicing feasibility. We illustrate the importance of train connections through the following example. Consider a locomotive that arrives at a station on train A ha ving traveled 500 miles afte r its last fueling. Let this locomotive have the option to connect to either train B or train C. Wh ile train B has a length of 300 miles and terminates at a fueling locati on, train C has a length of 500 miles and also terminates at a fueling location. If the locomo tive connects from train A to C, then the total length of travel between fueli ng opportunities becomes 1,000 miles (> 900 miles) and leads to an outoffuel event. On the other hand, if the same locomotive connects from train A to B, the total length of travel between fueli ng opportunities is 800 m iles and the locomotive route is fueling feasible. However, note this example considers a local single connection (or two trains) case but fueling and servicing feasibility is often relate d to more than one connection (or a sequence of trains). We formalize this notion by introducing the concept of strings. Strings enable us to account for the fueling and servicing feasibility of a sequence of trains on which a locomotive unit travels. Hence, each locomotive rout e is made up of a sequence of strings. Since we fix the assignment of locomotive type s to trains, the LRP can be solved as an independent problem for each locomotive type. Ou r solution approach for the LRP involves the following steps. First, we enumerate alternative fueling and servicing feas ible paths (or strings) between service stations in the train network using dynamic programming. Once we enumerate PAGE 103 103 the strings, we formulate an integer program called string decompos ition problem (SDP) on a suitably defined spacetime network to decompose the locomotive schedule into flows on strings. The output of the SDP can then be assembled into fueling and servicing frie ndly cycles using the standard polynomialtime cycl e decomposition algorithm (Ahuja, Magnanti, and Orlin (1993)). However, SDP is NPComplete and has millions of decision variables. We develop an aggregationdisaggregation base d method to solve this problem efficiently. Our aggregationdisaggregation method involves two steps. In the first step, we formulate and solve a much smaller aggregated SDP and in the second step we disaggregate the solution of the first stage to obtain a solution to the original problem. Finally we develop necessary co nstraints that can be added to the LPP so that the planning model also considers fueling and se rvicing constraints to some extent. Our major research contributions are: We develop a modeling framework and a multistage decomposition solution approach for the LRP which is a previously unstudied a nd unsolved problem. This problem is more complex than the well studied anal ogous aircraft routing problem. We formulate the LRP as an integer progr amming string decompos ition problem (SDP) on a suitably defined spacetime network and pr ove that the problem is NPComplete. We develop efficient dynamic programming algor ithms to enumerate strings which are the decision variables in the SDP. Due to the combinatorial nature of strings, the SDP has close to a million decision variables. We develop an aggregationdi saggregation based algorithm to solve this extremely large NPComplete problem to near optimality within a few minutes of computational time. We present extensive computational results to validate the performance of our approach and present case studies of our algorithms on reallife da ta provided by a Class I US railroad. We present the first comprehensive study of the LRP, which has re mained practically unstudied and unsolved. We model the LRP using network based integer programming PAGE 104 104 techniques and design efficient algorithms to solv e it. Our computational results demonstrate the efficacy of our algorithms; the algor ithms that we present produce near optimal solutions within 5 minutes of computational time on several re allife instances obtained from a Class I US railroad. We also demonstrate the usefulness of our model to perform strategic analysis through suitable case studies. We believe that this research is a crucial step in our overall objective of enabling railroads to manage their locomotive resources more efficiently through optimization techniques. 4.2 Notations and Terminology Train Schedule: The train schedule (or train network) contains the set of trains which operate every week. Each train has the following at tributes: train ID, depart ure station, departure time of the week, arrival station, arrival time of the week, and duration. Railroads typically have a train schedule that is periodic. We assume th at the train schedule is weekly periodic and hence we refer to trains in the weekly train schedule as weekly trains. Each weekly train is identified by the unique combination of its tr ain ID and day of operation. For e.g. Train ID TR01 which operates on Monday, Tuesday, and Thursday corre sponds to three weekly trains, TR01Monday, TR01Tuesday, and TR01Thursday. TR01 is also referred to as a daily train. Locomotive Schedule: The locomotive schedule specifies the assignment of locomotive types to all trains in the week such that all operational constrai nts, other than the fueling and servicing requirements, are satisfied. These cons traints include pulling e ffort and horse power constraints for each train, flow balance for each locomotive type, fleetsize constraints, flow upper and lower bounds on each train, and weekly repeatability of locomotive assignments. Decomposed Locomotive Schedule: The locomotive schedule can be decomposed with respect to the different locomotive types in the fleet. The decomposed locomotive schedule which corresponds to a particular locomotive type considers only the trai ns that carry that PAGE 105 105 locomotive type and also considers only assignments of that particular locomotive type. For e.g. Suppose we consider a schedule w ith three trains, TR01 has an assignment of one unit of type A and one unit of type B, TR02 has an assignment of two units of type A, and TR03 has an assignment of two units of type B. Then, th e decomposed locomotive schedule corresponding to locomotive type A will contain TR01 with as assignment of one unit and TR02 with an assignment of two units; and the decomposed locomotive schedule corresponding to locomotive type B will contain TR01 with an assignment of one unit and TR03 with an assignment of two units. Decomposed Train Schedule: The set of trains in a decomposed locomotive schedule of a particular locomotive type constitutes the decom posed train schedule of that locomotive type. Fueling Station: A fueling station is a station that supports fue ling of locomotives. Every fueling station has an associated fuel ing time and fueling cost per gallon. Servicing Station: A servicing station is a station that supports se rvicing of locomotives. All servicing stations are also fueling stations. E ach servicing station has an associated servicing time and servicing cost. Train Connection: Refers to transfer of locomotives from an inbound train at a particular station to an outbound train at the same station. Minimum Connection Time: This refers to the minimum time required for a train connection to be made. It is a function of the station at which the connection is made. String: A string is a connected sequence of trains 12...nttt ; i.e. the destination of train it is the same as origin of train 1it. Fuel String: A fuel string is a connected sequence of trains such that a locomotive unit traveling on this sequence can be fueled feasibly. PAGE 106 106 Service String: A service string is a connected sequence of trains such that a locomotive traveling on this sequence can be fueled and serviced feasibly. 4.3 Overview of Our Approach We present our approach to solve the fueli ng and servicing friendly LRP in Figure 41. This flowchart presents the various steps in our approach and how these steps relate to each other. In subsequent sections, we then elaborate on details. Note that step 1 involves solving the LPP and steps 24 constitute solving the LRP. The LRP is solved as an independent problem for each locomotive type 4.4 The Locomotive Planning Problem (LPP) Our approach to solve the fueling and se rvicing routing problem is a two stage decomposition approach where in the first stage we solve the LPP and in the second stage we solve the LRP. The locomotive schedule obtained fr om the LPP is hence one of the inputs that goes into the LRP. In Chapter 3, we present our research on the LPP. The models developed there give us a locomotive plan that satisfies al l constraints other than the fueling and servicing constraints. We develop methods to incorporate fueli ng and servicing constraints. We fix the assignments of locomotive types to trains ba sed on the solution to the LPP and solve the LRP which uses the flexibility of modifying train connections to enforce fueling and servicing feasibility of locomotive routes. Since we fix the assignment of locomotive types to trains after the LPP, the LRP can be solved as an indepe ndent problem for each locomotive type. In our description of the LRP in Sections 4.54.8, we therefore assume that there is only one locomotive type. PAGE 107 107 4.5 Fuel and Service String Enumeration Algorithms In the introduction, we mentioned that the LRP uses the flexibility of switching train connections in order to achieve fueling and servici ng feasibility. In this section, we formalize this notion by defining the concept of strings and also developing algorithms to enumerate strings. The objective of the LRP is to route locomotive units in cycles in such a way that each unit has sufficient fueling and servicing oppo rtunities. Consider a unit that tr avels on one such cycle. This locomotive will visit several stations, some which are servicing stations, some which are fueling stations, and some which are neither. Suppose this cy cle is a fueling and servicing friendly cycle. Then, by definition this would imply that the sequence of trains that the locomotive takes between fueling stops is a fuel string and the sequence of trains that the locomotive takes between servicing stops is a servic e string. This observation is the basis of our approach to solve the LRP. Our approach involves enumerating strings and then decomposing the locomotive schedule into flows on strings. In this section, we develop algorithms to enumerate strings efficiently. We next formally de fine fuel strings and then desc ribe methods to enumerate them. Fuel string A fuel string is a sequence of trains 12...nttt which satisfies the following properties: It is connected i.e. arrival station of it= departure station of1it Departure station of 1tand arrival station of ntare fueling stations. Length of the sting is less than F miles. The string is minimal; i.e., a fuel string cannot pass through an intermediate fueling station or a fuel string cannot contain anothe r fuel string as a subsequence. No train repeats in the string. Valid fuel sequence and algorithmic logic We define a valid fuel sequence as a sequence of trains which satisfies all the properties of a fuel string except that it does not terminate at a fueling station. Thus, a valid fuel sequence can be obtained from any fuel string by deleting the last train from it. Conversely, any fuel string can PAGE 108 108 be represented as a valid fuel se quence plus one last train which te rminates at a fueling station. Our dynamic programming algorithm uses this property to enumerate fuel strings. The algorithm starts with a seed set of trivial valid sequences and iteratively builds longer sequences from this set. The algorithm is based on repeated applicat ion of the following induc tive logic: Consider a situation when we have the set of all valid fuel sequences of length k where length represents the number of trains in the sequence. Consider a trai n that departs from the destination of the last train in the valid sequence. When this train is added to the valid sequence to create an augmented sequence, the following po ssibilities could occur: The augmented sequence is a valid fuel sequence in which case we store it in the set of valid fuel sequences of length k+1. The train which is being added to the valid fuel sequence is already a pa rt of the valid fuel sequence in which case we do not store the au gmented sequence in the set of valid fuel sequences of length k+1. The length of the augmented sequence is great er than F miles in which case we do not store it in the set of valid fu el sequences of length k+1. The augmented sequence is a fuel string in which case we store it in the set of fuel strings. Fuel string enumeration The fuel string enumeration (FSE) algorithm star ts with a set of valid fuel sequences of length one. By definition the set of valid sequences of length one contains all trains which originate at a fueling station and do not terminate at a fuelin g station. The algorithm then iteratively generates longer fuel strings until al l such possibilities have been enumerated. We now give the notation and desc ription of the algorithm. Let kPdenote the set of valid fuel sequences of length k, FS denote the set of fuel strings, and Trains denote the set of weekly trains in the schedule. Then, the fuel string enumeration algorithm can be formally written as shown in Figure 42. PAGE 109 109 The number of valid sequences and fuel strings is finite. Each execu tion of the innermost loop produces a longer valid sequence, a fuel stri ng, or fathoms that particular valid fuel sequence. Hence, FSE terminates in a finite numbe r of steps. We now defi ne service strings and extend the dynamic programming approach to enumerate service strings. Service string A service string is a sequence of trains 12...nttt which is characterized by the following properties, It is connected i.e. arrival station of it= departure station of1it Departure station of 1tand arrival station of ntare service stations. Length of the string is less than S miles. The string is minimal; i.e., a service string ca nnot pass through an in termediate servicing station. This implies that a service string cannot contain another se rvice string as a subsequence. No train repeats in the string. The string is also fueling feasible. Since all service stations in the network also support fueling, it follows that for the last condition to be satisfied, every service string has to be construc ted from one or more connected fuel strings. Valid service sequence and algorithmic logic We define a valid service sequence as a sequence of trains which satisf ies all properties of a service string except that it does not terminate at a service station. Therefore, any service string can be represented as a valid service sequence plus one fuel string which terminates at a servicing station. Our dynamic programming algor ithm uses this property to enumerate service strings. The algorithm starts with a seed set of trivial valid sequences and iteratively builds longer sequences from this set. Consider a situat ion when we have the set of all valid service sequences of length k where length represents the number of fuel strings in the sequence. Consider a fuel string that depa rts from the destination of the last fuel string in the valid PAGE 110 110 sequence. When this fuel string is added to th e valid sequence to create an augmented sequence, the following possibilities could occur: The augmented sequence created is a valid se rvice sequence in which case we store it in the set of valid service sequences of length k+1. A train which belongs to the added fuel string is already a part of va lid service sequence of length k in which case we do not store the augmented sequence in the set of valid service sequences of length k+1. The length of augmented sequence is greater th an S miles in which case we do not store it in the set of valid service sequences of length k+1. The augmented sequence forms a service string in which case we store it in the set of service strings. Service string enumeration The service string enumeration (SSE) algorithm st arts with a set of valid fuel sequences of length one. By definition the set of valid sequences of length one contains all fuel strings which originate at a service station but do not termin ate at a service stati on. The algorithm then iteratively generates longer service strings until all such possibilities have been enumerated. We now give the formal description of the algorithm. Let kPdenote the set of valid service sequences of length k, FS denote the set of fuel strings, SS denote the set of service strings, Tr ains denote the set of weekly trains in the schedule, and Trains(l) denote the set of weekly trai ns that are a part of string l. Then, the fuel string enumeration algorithm can be form ally written as shown in Figure 43. The proof for finiteness of SSE follows in a si milar manner to that of FSE. However, since the number of fuel and service strings is an e xponential function of the problem size, both these algorithms are exponential time algorithms. Ne xt, we formulate the string decomposition problem which is used to decompose a locomo tive schedule into flows on service strings. PAGE 111 111 4.6 String Decomposition Problem (SDP) In the previous section, we described methods to enumerate service strings. These service strings are the decision variables in the SDP. The objective of the SDP is to determine the minimum cost decomposition of a locomotive sche dule into flows on service strings. Due to the manner in which service strings are constructed, it follows th at a locomotive schedule when decomposed into flows on service strings will give fueling and servicing compliant locomotive routings. We formulate the SDP as an integer programming problem on a suitably defined spacetime network. We first describe the constructi on of spacetime network and then the integer programming formulation. We also show th at string decomposition is NPComplete by a polynomialtime reduction from the set partitioning problem which is known to be NPComplete (Garey and Johnson (1979)). 4.6.1 SpaceTime Network We denote the spacetime network by G (N, A) where N is the set of nodes and A is the set of arcs in the network. Each node in the netw ork represents an event. The events that we consider are the arrival of weekly trains at service stations and departure of weekly trains from service stations. For each train arri val at a service station, we crea te a trainarrival node at that station. Once a locomotive arrives at a station, it needs a minimum conne ction time before being assigned to the next train; i.e., the time at which a locomotive on a train is available for future assignment is the arrival time of the train plus the minimum connection time. We call this time the ready time of the train. To each trainarri val node we assign a time attribute equal to the ready time of the corresponding trai n. For every train which depart s from a service station, we create a traindeparture node at th e departure station of the train. To each traindeparture node, we assign a time attribute equal to the de parture time of the corresponding train. PAGE 112 112 We now describe the construction of arcs on the network. Let S be the set of service strings enumerated using the methods described in the prev ious section. Let first( s) denote the first train in string s and last(s) denot e the last train in stringsS Since every service string sS by definition, originates at a service station and also terminates at a service station, the spacetime networks contains a traindeparture node 1nN that corresponds to firs t(s) and a trainarrival node 2nN that corresponds to last(s). For each st ring s, we construct an arc between its corresponding nodes 1n and 2n. The other set of arcs on the network are train connection arcs. At each service station we construct train connect ion arcs (CoArcs) between all combination of inbound train and outbound train to model the di fferent possibilities of inbound locomotives being assigned to outbound trains. The following important property directly follo ws from the construction of the spacetime network. Property 4.1. A locomotive which travels on a cycl e in the spacetime network given above can be fueled and serviced feasibly. Proof: Consider a cycle on the spacetime networ k G (N, A). The cycle will consist of a service string, a connection arc, another service string, and so on until it loops back to the first service string. Since by definiti on, a locomotive traveling on a se rvice string can be fueled and serviced feasibly, the result follows. In Figure 44, we illustrate a part of the spac etime network at a particular service station. This station has two incoming trains (two trai narrival nodes), two outgoi ng trains (two traindeparture nodes), four incoming strings, seven ou tgoing strings, and four train connections. Note that the overall spacetime networ k contains one such component at each service station and the strings connect these components to each other. PAGE 113 113 4.6.2 Integer Programming Formulation We formulate the SDP as an integer program ming problem on the spacetime network. The objective of this formulation is to partition the locomotive assi gnment on each train (locomotive schedule) into flows on the service strings that pass through it while ensuring locomotive flow balance at each station. We now layout the notation and formally define this problem. Trains: Set of all weekly trains. Indexed by l. CoArcs: Set of all train connection arcs. S: Set of service strings. ,lae: Event corresponding to th e arrival of train l at a service station. ,lde: Event corresponding to the departure of train l from a service station. lS: Set of service strings ending with train l. lS: Set of service strings beginning with train l. ,1lsa if train l is a part of stringsS 0 otherwise. s c: Cost of a locomotive unit traveling on stringsS l f : Number of locomotives assigned on train l in the locomotive schedule. O: Set of arcs which cross the counttime. The co unttime is a reference time at which we count the number of locomotives in the system. It is usually set as Sunday midnight. s r: Number of times string sS crosses the counttime. The decision variables are as follows: s x : Number of locomotives assigned to stringsS j y : Number of locomotives assi gned on train connection arcjCoArcs G: Ownership cost of a locomotive. PAGE 114 114 The objective function is: ()() s sssj sSsOSjOCoArcs M incxGrxGy (4.1a) The constraints are the following: for all ,lssl sSaxflTrains (4.1b) (()), for all ,lsj jIheadl sS x ylTrains (4.1c) (()), for all ,lsj jOtaill sS x ylTrains (4.1d) 0 integer, 0.s jx y (4.1e) Constraint (4.1b) is the set partitioning constraint that ensures that the locomotive assignment on each train is distributed complete ly on the service strings that pass through it. Constraints (4.1c) and (4.1d) are the flow balance constraint s at each node on the spacetime network and they ensure that the total flow entering a node is e qual to the total flow leaving a node. The objective function (4.1a) is set up to minimize the total cost of fueling and servicing and also the ownership cost of locomotives used. Railroads operat e in such a way that whenever a locomotive fuels, its tank is topped off. Based on this assumption and the average fuel burn rate of each locomotive, the cost of each service string s c can be computed cons idering the cost of servicing and fueling at the final station in the string and the costs of fueling at the other fueling stations encountered enr oute. Note that once we obtain a solu tion to the SDP, the arc flows can be converted into flows on cycles using a standard polynomial time cycle decomposition algorithm (Ahuja, Magnanti, and Orlin (1993)). From Property 4.1, it directly follows that each PAGE 115 115 of these cycles will be fueling and servicing frie ndly cycles and hence, constitute a solution to the LRP. We now prove that the SDP is NPComplete. Clearly, a certificat e for the SDP can be verified in polynomial time. We next descri be a polynomialtime reduction from the set partitioning problem which is known to be NPcom plete (Garey and Johnson (1979)) to a special case of the SDP. The set partitioning problem is defined as follows Given a universe U of n elements, a collection of subsets of U, 1,...,kSSS does there exist a subcollection of S that covers all the elements of U ex actly once? This problem can be formulated mathematically as follows: : s x Binary variable which indicates whether a set sS is chosen or not Let 1, if element is contained in set 0, otherwiselslUsS a 1, for all ,lss sSaxlU 0,1.sx We reduce the set partitioning problem to a sp ecial case of the SDP as follows. For each lU we create a train l which departs from and also arrives at service stat ion A. Let the set of strings S be train sequen ces corresponding to the sets in S. For e.g., If 112,,...,rSlll then the corresponding string is the sequence of trains 12,,...,rlll. We create a spacetime network for these set of input trains a nd strings and se t the flow (l f ) on each train to one. Now, note that for this specially constructed SDP, Constraint (4.1b) is identical to set partitioning constraint given above and the flow balance constraints are automa tically satisfied because each string originates and terminates at the same station, and can ther efore be relaxed. Hence, there is a onetoone PAGE 116 116 correspondence between the set part itioning problem and the special case of SDP that we have constructed and the result follows. We state this result in the form of the following theorem: Theorem 4.2. The string decomposition probl em (SDP) is NPComplete. In the next section, we address the computa tional complexities of the problem and also describe algorithmic approaches to solv e this problem in an efficient manner. 4.7 A Tractable Solution Approach: Aggregation and Disaggregation A typical weekly train sche dule has around 3,000 trains and the railroad network has around 100 stations out of which roughly 50% support fueling and 30% support servicing. For a problem of this size, the number of service stri ngs runs into several million. Hence, a direct application of string enumeration to this la rge problem is not promising in terms of computational time and tractability. Another se rious computational issue is the inherent complexity of the SDP. In addition to bei ng NPComplete, this problem has around a million decision variables, one corresponding to each se rvice string. Hence, a direct branchandbound approach using commercial software to so lve the SDP is not a viable approach. In this section, we develop a tractable solu tion approach to solve the LRP. We use the concept of aggregation and disaggr egation. The basic idea behind this approach is that instead of solving a large problem directly, we divide our algorithm into two stages. In the first stage, we construct a smaller aggregated model which can be solved quickly. Once we obtain the solution to the aggregated model, we use this information to disaggregate the solution and obtain a solution to the original problem. While this idea is quite intuitive to grasp, there are some issues which need to be considered to ensure that the solution produced using this approach in close to the global optimal solution. We next present ou r aggregationdisaggrega tion based algorithm and describe how we use this approach to effectively solve the LRP. PAGE 117 117 4.7.1 Aggregated Model The aggregated model is an approximation of the original model. However, this approximate model is much smaller than the original problem and is hence solvable more quickly. This leads to the issue of tradingo ff between the degree of approximation and the ease of solution, i.e., an aggregate model may solv e very quickly but may not produce good solutions or the aggregate model may be almost exact but may take a very long time to produce a good solution. The performance of an aggregated mode l depends on a few factors which need to be addressed while designing the aggregated model. Th e first question that needs to be asked while designing an aggregated model is which entities to aggregate? The second ques tion that needs to be asked is how to ensure th at the aggregated model is as cl ose as possible to the original problem? The closer the aggregat ed model is to the original pr oblem, the easier it will be to disaggregate the aggregate solution and obtain near optimal solutions to the original problem. In the rest of this section, we focus on an swering these questions and developing a good aggregation model. We divide ou r discussion into two parts: we first focus on the feasibility aspect of the problem and in the process addr ess the first question. Then, we focus on the optimality of the problem and in the process address the second question. The locomotive schedule gives an assignment of locomotive types to weekly trains and is an input to the SDP. The weekly train schedule consists of a set of daily trains, each with a prespecified frequency varying between one and seven. Note that all instances of a daily train in the week are similar in terms of origin station, dest ination station, departure time of the day, arrival time of the day, and duration. The only factors wh ich differentiate these trains are the departure day of the week, arrival day of the week, and possibly their lo comotive type assignments. Based on this observation, we aggregate all the instances of a daily trai n in the week (weekly trains) into a single aggregated daily tr ain. Each aggregated train departs at the corresponding departure PAGE 118 118 time of the day and arrives at the corresponding a rrival time of the day. The total flow on each daily aggregated train represen ts the total flow on all weekly trains co rresponding to it. The locomotive schedule obtained after aggregation is called the aggregated locomotive schedule and the set of trains in this schedule constitute the aggregated train schedule. For e.g., suppose daily train TR01 has a weekly frequency of three a nd operates on Monday, Tuesday, and Thursday (TR01Monday, TR01Tuesday, and TR01Thursday ) and suppose each of these weekly trains carries a flow of one locomotive of type A and one of type B. Then in the aggregated locomotive schedule, aggregated daily train TR01 will have a fl ow of three units of type A and three units of type B. We refer to a string which is made up of daily trains as an aggregated string. We formulate an aggregated string decom position model to decompose the aggregated locomotive schedule into flows on aggregated st rings. The decision variables (or aggregated strings) of the aggregated model are enumerated using the aggregated trai n schedule (instead of the weekly train schedule). We next list th e steps to formulate the aggregated string decomposition model: Enumerate the set of service strings using th e aggregated train sche dule as input and the service string enumeration algorith m described in Section 4.4. Construct a spacetime network as described in Section 4.5 but considering the aggregated strings (instead of strings) and the aggregated train schedule (instead of the train schedule). Formulate the aggregated stri ng decomposition problem as de scribed in Section 4.5 but using the aggregated locomotive schedule (ins tead of the locomotive schedule) and the aggregated strings (ins tead of strings). Note that the aggregated model is identical in structure to the original model. However, the size of the aggregated model is several times sma ller. The reason for that is aggregation happens at two levels: (1) decision variab les, and (2) constraints. For e.g ., consider an aggregated string made up of daily trains A, B, and C. Let each of these trains have a frequency of four. Then, there are 4 x 4 x 4 = 64 different strings possible in the original network using the weekly trains PAGE 119 119 corresponding to A, B, and C (Refer Figure 45). However, the aggregated formulation considers only one aggregate string instead of the 64 string s. Hence, the flow on the aggregated string in this case represents the cumulative flow on these 64 strings. Th e decision variables corresponding to the connection ar cs (CoArcs) are also aggregat ed in a similar manner. Using this method of variable aggregat ion, we are able to reduce the number of variables to a few thousand. Also, in the aggregated model we have only one partitioning cons traint for every daily train instead of one for every weekly train in th e original model. Since the average frequency of daily trains is close to five, the number of pa rtitioning constraints becomes roughly onefifth that of the original model. Also, since the number of trains in the aggregated model decreases by a factor of onefifth, the number of flow balance constraints also re duces by the same factor. Thus, the aggregation of variables and constraints results in a very compact formulation and consequently very fast run times. We now proceed to state and prove two importa nt properties relating the feasibility of the aggregated problem and the feasib ility of the original problem. Property 4.3. There exists a feasible solution to the string decompositi on problem only if there exists a feasible solution to the aggregated string decomposition problem. Proof: Consider a feasible solution F to the string decomposition problem. We can obtain a feasible solution to the aggregated string decomposition problem by assigning each aggregated string a flow equal to the total flow on all strings corresponding to it in F. Since F partitions the flow on all weekly trains and sati sfies flow balance at each stati on, it follows that the assignment to each aggregated string computed above will partition the flow on each aggregated train and also satisfies flow balance at each station. The result follows. PAGE 120 120 Property 4.4. There exists a feasible solution to the aggregated string decomposition problem only if there exists a feasible so lution to the string de composition problem. Proof: Consider a feasible solution F to aggreg ated string decompositi on. We can obtain a feasible solution to string decomposition by dist ributing the flow on each aggregated string in F on the strings corresponding to it in the original network in such a way that the flow on all weekly trains is partitioned. Since, we merely redistribute the flows on the aggregated strings, the total flow entering a station and the total fl ow leaving a station in both the aggregated solution and the new solution will be the same. He nce, flow balance at each station is also satisfied and the result follows. We state the results of Property 4.3 and Propert y 4.4 in the form of the following theorem. Theorem 4.5. There exists a feasible solution to the string decompositi on problem if and only if there exists a feasible solution to the aggregated string decomposition problem. We have thus showed the equivalence between the feasibility version of the SDP and the feasibility version of the much smaller aggregat ed SDP and have hence addressed the feasibility aspect of the problem mentioned at the start of this section. The other aspect we need to address is optimality. The objective function of the SDP mi nimizes total fueling and servicing costs and the ownership costs of locomotives. We now desc ribe methods to ensure that the aggregated model takes these costs into consideration. When we create an aggregated model for a problem, we lose some information about the original problem. The biggest approximation in the aggregated string decomposition model is that the information about depart ure day of the week and the arri val day of the week of weekly trains are lost. This could lead to the aggregat ed problem generating bad solutions in terms of locomotive usage. For e.g. Cons ider a weekly train A which a rrives at a station on Monday at PAGE 121 121 10:00 AM and another weekly train B that de parts from the same station at 11:00 AM on Sunday. The optimal solution of the SDP is not likely to use the c onnection between these weekly trains to route locomotiv es because the idling time of th e locomotive would be extremely high (six days and one hour). On the other hand, in the aggregated train network, since we do not consider the arrival and departur e days of trains and only cons ider the arrival and departure times, the connection time between the corresponding aggregated trains will be just one hour and hence it is very likely to be used in the soluti on since it seems to represen t an efficient use of the locomotive resource. However, this is an incorrec t representation of realit y. We hence define an estimated connection time for each train connecti on on the aggregated network. The estimated connection time between daily tr ains A and B is computed to represent the most probable connection time if a locomotive connects between a w eekly train corresponding to train A and a weekly train corresponding to train B. Note th at we cannot compute th is value exactly unless both A and B have a frequency of one. We repr esent the estimated connection time of a train connection j by jt Each string is made up of possibly se veral train connections. We estimate the duration of an aggregated string ( s t ) by adding the exact durations of the trains belonging to it and the estimated connection times (jt ) for the connections that are a part of it. We next describe how to use these estimated durations to improve the aggregated model. Consider the objective function of the SDP. The first term s s sScx represents the cost of fueling and servicing for the locomotives traveling on strings. The computation of s c is a function of the stations encountered enroute, the cost of fueling or servicing at these stations, and the length of trains that bel ong to the string and this logic is hence directly a pplicable to the aggregated strings. The second part of the objective function ()() s sj sOSjOCoArcsGrxGy PAGE 122 122 minimizes the total ownership cost of loco motives by counting the number of locomotives traveling on overnight arcs. Note that in the aggr egated problem, it is not straightforward to determine the set of overnight arcs or the number of times an aggregated string crosses the counttime ( s r). This is because the daily trains do not ha ve arrival and departure day information. We handle this difficulty in the following manner. We first rewrite the objective function of the SDP in a slightly different though equivalent form. Instead of mi nimizing the ownership cost of locomotives flowing on overnight arcs, we now construct the objective function in terms of minimizing the total cost of locomotiveminutes used on all arcs. In the aggregated SDP, since we cannot know the exc durations, we use th e estimated duration of train connections (jt) and the estimated duration of strings ( s t) described in the previous pa ragraph to set up the objective function. The objective function now becomes: Min ''''. s sssjjssjj sSsSjCoArcssSjCoArcscxGtxGtycxGty Using this objective function in the a ggregated model makes it a much better approximation of the original problem. Next, we focus on the second stage of our approach which concerns the disaggregation of the aggregated solution. 4.7.2 Disaggregation Model We now consider the problem of disaggregati ng the solution to the aggregated problem to obtain a solution to the original problem. The proof of Property 4.4 describes a straightforward method to obtain a feasible string decomposition starting with a solution to the aggregated problem; however this method may give solutions which use a hi gh number of locomotives and are hence not optimal. The method we describe in this section disaggreg ates the solution while minimizing the number of locomotives used. Note, that after the aggrega tion stage, the total fueling and servicing costs are already fixed and do not change in the disaggregation stage. PAGE 123 123 The inputs to the disaggregation model are: Locomotive schedule: This gives the assignmen t of locomotive types to weekly trains. Solution of the aggregated model: This gives the aggregated strings and their locomotive assignments. The objective of the disaggregati on model is to obtain a near optimal solution to the string decomposition problem; i.e. the objective is to re distribute the flow on each aggregated string on the strings corresponding to it in the original ne twork while ensuring that the assignment on each weekly train is covered and minimizing the total number of locomotives used. We next formulate the disaggregation model as an integral multicomm odity flow problem with side constraints on a suitably defined network. We denote the network as G (N, A) where N is the set of nodes and A is the set of arcs in the network. Each node on the netw ork corresponds to an event. Th e events that we consider are the arrival of weekly trains at stations and departure of weekly trains from stations. We create a trainarrival node corresponding to each train arrival and a trai ndeparture node corresponding to each train departure. We also construct one supply node and one demand node corresponding to each aggregated string with positive flow (0sx ) and define a commodity corresponding to this string. We set the supply of the corre sponding commodity at each supply node to s x and the supply of all other commodities to zero. Sim ilarly, we set the demand of the corresponding commodity at each demand node to s x and the demand of all other commodities to zero. We now describe how to construct arcs. Fo r each weekly train, we construct an arc connecting its traindeparture nod e and trainarrival node. We al so construct connection arcs (CoArcs) between trainarrival nodes and traindeparture nodes at each station to model the different possibilities fo r train connections. Let first(s) be the set of weekly trains corresponding to the first daily train in aggreg ated string s, last(s) be the set of weekly trains corresponding to PAGE 124 124 the last daily train in aggregated string s, and trains(s) be the set of weekly trains corresponding to all the daily trains in s. For each aggregated string s with positive flow (0sx ), we connect its supply node to the departure nodes of all the trains in first(s) a nd we also connected the arrival nodes of all trains in last(s) to the demand node corresponding to s. The disaggregation model can be formulated as a multicommodity flow problem with side constraints (MCFSC) on the network constructed above. N: Set of nodes in the network. A: Set of arcs in the network. We represent each arc by (i, j). Trains: Set of weekly trains in the network. Indexed by l. CoArcs: Set of connection arcs in the network. K: Set of commodities indexed by k. We define one commodity for each aggregated string s with positive flow. s(k): Represents the aggregated string corresponding to commodity kK Trains(s): Set of weekly trains co rresponding to the daily trains in s. l f : Total locomotive assignment on weekly train lTrains in the locomotive schedule. kb: Supply/demand vector of commodity kK k iju: Upper bound on the flow of commodity kK on arc (,)ijA 0, if (,) and (,)() if (,) and (,)(). otherwisek ijijijTrainsijsk ufijTrainsijsk ijt : Duration of arc (,) ijA N: Arc adjacency matrix of G(N,A). The decision variables are: PAGE 125 125 k ij x : Flow of commodity kK on arc (,) ijA The objective function is Min (,).k ijij kKijAtx (4.2a) The constraints are: for all (,),k ijij kK x fijTrains (4.2b) for all ,kkNxbkK (4.2c) 0, integer.kkk ijijijxux (4.2d) Note that the flow balance constraints at supply nodes, demand nodes, and transshipment nodes (Constraint 4.2c), and also setting flow upperbounds on trai ns as described above ensures that the flow on each aggregated string is re distributed completely on the strings corresponding to it. Also, Constraint (4.2b) en sures that the total flow on each w eekly train is partitioned among the disaggregated strings that pass through it. Hence, MCFSC is a valid formulation for the disaggregation problem. The objective function is set up to minimize the total number of locomotive minutes used. Theorem 4.6 There is a onetoone correspondence be tween feasible solutions to the disaggregation problem and f easible solution to MCFSC. The MCFSC is an integral multicommodity flow problem and it is hence NPComplete (Garey and Johnson (1979)). Note that Constrai nts (4.2) are the bundling constraints which link more than one commodity together and compli cate the model and if these constraints were relaxed, then this problem reduces to K inde pendent minimum cost flow problems. We hence adopt a sequential commoditybycommodity approach to obtain a feasible solution to the disaggregation problem. We first sort the aggregat ed strings with positive flow in the decreasing PAGE 126 126 order of their lengths, where length is defined as the number of trains in the string. The reason we do this is that the aggregated stings with l onger lengths have a larg er impact on the objective function cost and we would like to optimize them first before moving to shorter strings. For each aggregated string s, we consider the subgraph ()()(,)ksksGNA which contains only those train arcs for which ()0ks iju and 0ijf We solve a minimum cost flow problem on this subgraph, extract out the flows on the disa ggregated strings, and update the total unaccounted flow on each train (ij f ). This is repeated until the flow on a ll aggregate strings is disaggregated. The disaggregation algorithm is form ally stated in Figure 46. The algorithm for disaggregation solves K independent minimum cost flow problems sequentially and is hence a polynomial time al gorithm. The feasibility correctness of this algorithm follows from the fact that it is a special implementation of the general method described in the proof of Property 4.3 for obtai ning a feasible soluti on to string decomposition problem starting from a feasible solution to the aggregated string decomposition problem. The following result is hence immediate. Theorem 4.7. The disaggregation algorithm produces a feasible solution to the string decomposition problem starting from a feasible solution to the aggregat ed string decomposition problem, in polynomial time. Our computational results show that the a ggregationdisaggregation method solves the fueling and servicing problem very quickly and produces near optimal solutions. 4.8 Handling Infeasibilities The infeasibilities that are encountered while solving the fueling and servicing LRP can be of two kinds: hard infeasibilities and soft infeasibilities. Hard inf easibilities are due to the nature of the train schedule and cannot be fixed without modifying the data. For example, consider a PAGE 127 127 situation where the train schedule is such that there does not exist a service string passing through a particular train. This implies that a ny locomotive unit which is assigned to this train cannot be serviced and fueled feasibly. Since fixi ng this infeasibility requires modifying the train schedule, we do not consider this ki nd of infeasibility in our research. Soft infeasibilities are introduced due to the two stage decomposition approach to solve the fueling and servicing LRP, i.e. we first solve th e LPP and then the LRP, instead of solving the integrated problem. Since, the LPP completely ignor es the fueling and servicing constraints, this may lead to the locomotive schedule being fuelin g and servicing incompatible while solving the LRP. Soft infeasibilities can manifest themselves in the following two ways: A train which has a service string passing thr ough it in the train network does not have a service string passing through it in the decomposed train network corresponding to a particular locomotive type assigned on it. A train has service strings passing through it but in the d ecomposed network but the problem is still infeasible due to the na ture of the set partitioning constraints. In order to handle this problem, we develop si deconstraints that can be added to the LPP so that it accounts for fueling and servicing feas ibility to a greater extent. These constraints ensure that some necessary conditions for fueling and servicing feasibility are satisfied. We refer the reader to Ahuja et al. (2005) and Vaidyanathan et al. (200 7b) for more details about the locomotive planning model; here we describe the sideconstraints that we add to the model. We enumerate a large number of service string s and only allow the set of train connections R contained in them while solving the LPP. Any locomotive which makes a train connection that is not a part of R cannot be fu eled and serviced feasibly. Therefore, while solving the LPP, we ensure that only those c onnections which are a part of R are allowed. This approach eliminates local infeasibilitie s. For e.g. suppose the length of train A + the length of train B is more than the fueling threshold F, then the connection between these two trains will not be a part of R and will hence not be constructed. Consider a situation where a se t of trains have only one string passing through them. Let train A be one such train and s be the stri ng passing through it. From the first case, it is clear that all train connections which are a pa rt s will be allowed in the planning problem. Note that if the flow on any of these train conn ections is less than the flow on train A, then PAGE 128 128 the locomotives assigned on train A cannot fuel ed and serviced feasibly. We therefore add sideconstraints to ensure that this does not happen; i.e. we ensure that the flow on each connection in s is greater than the flow on train A. The first method handles local in feasibilities. However, it does not take into account higher level infeasibilities which are a function of more than one train connection. For e.g. Consider a train A which has two strings pass ing through it as shown in Figure 47. The first string contains the se quence 11A and the second string contains the sequence 21 A as shown in the figure (numbers repres ent train connections and letters represent trains). Note that the first method would allow all four train connections to be used in the LPP and the LPP has no constraints which pr event a locomotive from being routed along the sequence 11A or 21A, even thoug h these sequences are not feasible sequences. We now formally define constraint s that we add to the planning problem to ensure that flow does not occur on th ese kinds of infeasible sequences. I(A): Set of incoming train connectio ns at the tail node of train A. O(A): Set of outgoing connections at the head node of train A. C: Set of all locomotive types. Indexed by c. c j y : Flow of locomotive type c on connection j. FO(j): Set of fueling and servicing feasible outgoing connections in set O(A) which correspond to () jIA FI(j): Set of fueling and servici ng feasible outgoing connections in set I(A) which correspond to () jOA We add the following constraints to the planning model for each train: (), for all (),,cc jl lFOjyyjIAcC (), for all (),.cc jl lFIjyyjOAcC These constraints help eliminate higher level in feasibilities which are a function of two train connections. Our computational results show that the necessary conditions de scribed in this section are very effective in ensuring that the locomotive schedule can be decomposed into a fueling and PAGE 129 129 servicing friendly routing. In th e next section, we present com putational results to demonstrate the performance of all the algorith ms developed and show that our approach is indeed a quick and effective approach to solve the lo comotive fueling and servicing problem. 4.9 Computational Results In this section, we provide computational re sults of our algorithms on several instances and also some case studies on a representative in stance. We implemented our algorithms in the Microsoft Visual Basic programmi ng language and tested them on the data provided by a major Class I US railroad. We modeled our intege r programs using ILOG Concert Technology 2.0 modeling language and solved them using the CPLEX 9.0 so lver. We conducted all our computational tests on an Intel Pentium 4, 512MB RAM, and 2.4GHz processor desktop computer. 4.9.1 Testing the Performance of the Algorithm We test the performance of our locomotive routing algorithm on instances with different transport volumes. In order to estimate the perf ormance of our algorithms, we first solve the LPP to obtain a locomotive schedule. Next, we solv e the LRP using this locomotive schedule as a starting point and evaluate the locomotive routing cost as defined in the LPP (we do not consider fueling and servicing costs). Note that the soluti on cost of the LRP will always be greater than that of the LPP. However, the smaller the difference in cost between these two solutions, the better our algorithmic approach. We use this m easure to estimate the performance of our algorithms and conduct our computational tests in the following sequence of steps for each instance: Solve the LPP to obtain a locomotive schedule Run the LRP on the locomotive schedule obtained from the LPP and compare the solution cost PAGE 130 130 Notice that, suppose the differen ce in cost between the solution of the LRP and solution of the LPP is small, then this implies that the fueling and servicing algorithms are performing well since we are able to enforce the fueling and servic ing constraints without a significant increase in the solution cost. The percentage difference in cost hence serves as an upper bound on the optimality gap of the LRP. In Table 41 and Figure 48, we present the results of our co mputational tests. From our computational tests, we draw the following conclusions: We are able to achieve a fueling and servic ing friendly routing on a ll instances with less than 2.2% increase in the locomotive routing cost. The performance of our locomotive routing al gorithm is consistent with a computational time of less than 5 minutes on all instances. The locomotive routing algorithm is able to achieve a 100% fueling a nd servicing friendly routing on all instances. 4.9.2 Case Study We present a case study to demonstrate the us es of the locomotive routing model. We perform this case study on a representative instan ce with 2,824 trains, 77 stations, 39 fueling stations, 28 servicing stations, a nd 6 locomotive types. The various aspects of the problem that we study are reported in the following sections. Effect of varying the serv icing distance threshold (S) In this study, we quantify the effect of va rying the maximum distance that can be traveled before servicing (S) on the solution cost of the LRP. While fueling is a hard constraint since tank capacities of locomotives are well defined, serv icing constraints are so ft constraints since maintenance of units can usually be delayed to a later time. Table 42 presents the computational results, and Figure 49 shows th e relationship between the servic ing threshold and the solution cost. PAGE 131 131 From our computational tests we draw the following conclusions: As the servicing threshold is increased from 1,800 miles to 3,000 mile s, the initi al increase has a large impact on the solution quality, but subsequently the law of diminishing returns is observed. Beyond a servicing threshold of around 2,000 miles there is almost no im pact of increasing the servicing threshold on the solution cost. The performance of our locomotive routing al gorithm is consistent with a computational time of around 5 minutes on all instances. Effect of adding/removing fueling facilities In this study, we quantify the impact of va rying the number of fueling facilities on the solution cost of the LRP. We start with the initial set of 39 fueling stations. To this set we add (or remove) fueling stations onebyone and measure the impact on the cost of locomotive routing. When we add fueling stations, we add them in the decreasing order of number of inbound trains. On the other hand, when we remove fueling statio ns, we remove them in the increasing order of number of inbound trains. The reason we add and remove fueling stations in this manner is because when we add fueling stations, we want to first add those stations which are likely to have a greater impact on the solution cost. On th e other hand, when we re move fueling stations, we want to first remove those stations which ar e likely to have a smaller impact on the solution cost. Table 43 presents the computational results, and Fi gure 410 shows the relationship between the number of fueling st ations and the solution cost. From our computational tests we draw the following conclusions: As the number of fueling stations is increased from 33 to 43, the initial additions have a large impact on the solution cost, but subse quently the law of diminishing returns is observed. Solution cost remains constant for the number of fueling st ations varying between 35 and 40. This suggests that we could bring down the number of fueling stations from the current value of 39 to 35 without compromising much on the cost of locomotive routing. This could potentially translate into savings of several million dollars. PAGE 132 132 The performance of our locomotive routing al gorithm is consistent with a computational time of around 5 minutes on all instances. Effect of adding/removing servicing facilities In this study, we quantify the impact of vary ing the number of servicing facilities on the solution cost of the LRP. We star t with the initial set of 28 servic ing stations. To this set we add (or remove) servicing stations onebyone and measure the impact on the cost of locomotive routing. When we add servicing stations, we add them in the decreasing order of number of inbound trains. On the other hand, when we remove servicing stations, we remove them in the increasing order of number of inbound trains. The reason we add and remove servicing stations in this manner is that when we add servicing stat ions, we want to first add those stations which are likely to have a larger impact on the solu tion cost. On the other hand, when we remove servicing stations, we want to first remove those stations whic h are likely to have a smaller impact on the solution cost first. Table 44 pres ents the computational results, and Figure 411 shows the relationship between the number of servicing stations and the solution cost. From our computational tests we draw the following conclusions: As the number of servicing facilities is increased from 21 to 32, the in itial additions have a large impact on the solution cost, but subse quently the law of diminishing returns is observed. Solution cost remains constant for the number of servicing sta tions varying between 24 and 28. This suggests that we could bring down the number of servicing stations from the current value of 28 to 24 without compromisi ng much on the cost of locomotive routing. This could potentially translate into savings of several million dollars. The performance of our locomotive routing al gorithm is consistent with a computational time of around 5 minutes for all instances. 4.10 Summary and Conclusions Our previous research on locomotive pla nning focused on creating locomotive schedules which satisfy several business and operational c onstraints. While that research on the LPP has PAGE 133 133 several potential benefits, it has the drawback that it totally neglects fueling and servicing requirements and may hence generate solutions whic h are not implementable. We bridge this gap by considering fueling and servicing constraint s and also develop optim ization techniques in order to incorporate the fueling and serv icing logic in our methodology to generate implementable locomotive routing. Due to the inherent complexity of the in tegrated problem of locomotive planning and locomotive routing, we decompose our approach to achieve fueling and servicing feasibility into two stages. The first phase involves solving th e LPP (LPP) using the algorithms described in Ahuja et al. (2005) and Va idyanathan et al. (2007b). Once we have the solution to the LPP, we fix the assignment of locomotive types to trains and use the flexibility of train connections in order to enforce fueling and servicing feasibility in the second locomotive routing phase. We adopt the following approach to solve the LRP in the second phase. We enumerate the set of fueling and servicing feasible paths (or st rings) on the network using dynamic programming algorithms and formulate the LRP as a string decomposition integer programming problem. Due to its prohibitive size and NPComplete nature, th is problem cannot be directly solved using commercial optimization software. We handle this computational complexity by developing an aggregationdisaggregation based approach to solve this proble m. Our computational results on reallife instances demonstrate th at our algorithms enforce the fu eling and servicing requirements with a runtime in the order of minutes and with less than 2.2 % increase in the locomotive routing costs. We also demonstrate the usefulness of the model to perform strategic analysis and give examples of the kind of insights that can be drawn from such analysis. We believe that this research is a vital step ping stone in our overall objective of enabling railroads to manage their locomotive operations more efficiently through optimization methods PAGE 134 134 which produce practical and implem entable solutions. We believe that our collective research in this area will lead to the large scale deploym ent of optimization based locomotive management software at North American railroads. PAGE 135 135 Table 41. Performance of th e locomotive routing algorithm. Locomotive Planning Problem Locomotive Routing Problem SNo Mean tonnage Cost ($) # of locos Cost ($)# of locos # of infeasib ilities Time % Increase in cost 1 5,700 6,068,767 1,5206,192,4151,56603 m 41 s 2.04 2 6,080 6,444,686 1,5916,565,9831,63204 m 07 s 1.88 3 6,460 6,861,699 1,6466,982,9951,68703 m 59 s 1.76 4 6,840 7,161,102 1,6837,317,6781,73304 m 20 s 2.19 5 7,220 7,598,937 1,6887,755,5121,73804 m 07 s 2.06 6 7,600 8,025,096 1,7388,184,6961,78503 m 55 s 1.99 7 7,980 8,501,004 1,7178,687,4841,77404 m 07 s 2.19 Table 42. Effect of varying servicing distan ce threshold. SNo Threshold S (miles) Cost ($) # of locos # of infeasibilities Time 1 1,800 8,752,593 1,679 121 4 m 59 s 2 1,900 8,600,418 1,695 100 4 m 40 s 3 1,950 8,422,679 1,736 52 4 m 39 s 4 2,000 8,201,159 1,775 0 4 m 40 s 5 2,200 8,201,159 1,775 0 5 m 11 s 6 2,400 8,192,759 1,776 0 4 m 40 s 7 2,600 8,195,447 1,777 0 4 m 44 s 8 2,800 8,195,447 1,777 0 4 m 30 s 9 3,000 8,179,319 1,771 0 4 m 32 s Table 43. Effect of varying number of fueling stations. SNo Number of facilities Cost ($) # of locos # of infeasibilities Time 1 33 8,253,831 1,767 14 4 m 56 s 2 34 8,253,831 1,767 14 4 m 59 s 3 35 8,179,319 1,771 0 4 m 45 s 4 36 8,179,319 1,771 0 4 m 40 s 5 37 8,179,319 1,771 0 5 m 05 s 6 38 8,179,319 1,771 0 5 m 12 s 7 39 8,179,319 1,771 0 4 m 41 s 8 40 8,179,319 1,771 0 5 m 03 s 9 41 8,173,943 1,769 0 4 m 36 s 10 42 8,168,567 1,767 0 4 m 47 s 11 43 8,168,567 1,767 0 5 m 10 s PAGE 136 136 Table 44. Effect of varying th e number of servicing stations. SNo Number of facilities Cost ($) # of locos # of infeasibilities Time 1 21 8,490,764 1,748 44 4 m 22 s 2 22 8,319,852 1,770 16 4 m 40 s 3 23 8,306,412 1,765 16 4 m 26 s 4 24 8,182,704 1,763 4 4 m 35 s 5 25 8,179,139 1,771 0 4 m 47 s 6 26 8,179,139 1,771 0 4 m 50 s 7 27 8,179,319 1,771 0 4 m 36 s 8 28 8,179,319 1,771 0 4 m 32 s 9 29 8,158,151 1,759 0 3 m 27 s 10 30 8,147,063 1,759 0 3 m 28 s 11 31 8,130,935 1,753 0 3 m 29 s 12 32 8,112,119 1,746 0 3 m 43 s PAGE 137 137 Figure 41. Flowchart of the fuel and service routing algorithm. Star t 2. Enumerate the set of fuel and service strings on the network using the enumeration methods in Section 4.5. Stop 1. Solve the LPP using the methods in Section 4.4 to obtain a locomotive schedule. 3. Formulate the String Decomposition Problem ( SDP ) described in Section 4.6 and solve it using the aggregationdisaggregation algorithm in Section 4.7. 4. Decompose the solution of the SDP into fueling and servicing friendly cyclic locomotive routes using a polynomialtime cycle decom position algorithm (Ahuja et al. (1993)). LRP PAGE 138 138 Figure 42. Fuel string enumeration algorithm. algorithm fuel string enumeration ; begin k = 1; FS ; 1P ; for eachlTrains do if l is a fuel string, F SFSl ; else if origin(l) is a fueling station then 11PPl ; while kP do begin 1;kP for all k p P do let r = last train in valid sequence p ; for all :()()lTrainsdestinationroriginl do if ()lengthplF and lp then begin if ()destinationpl is a fueling station do ()FSFSpl ; e lse 11()kkPPpl; end endfor endfor k=k+ 1; end return FS ; e nd PAGE 139 139 Figure 43. Servi ce string enumeration algorithm. algorithm service string enumeration ; begin k = 1; SS ; 1P ; Run the FSE algorithm to obtain the set of fuel strings FS ; for each lFS do if l is a service feasible string, SSSSl ; else if origin(l) is a servicing station then 11PPl ; while kP do begin 1;kP for all k p P do let r = last train in valid sequence p ; for all :()() lFSdestinationroriginl and () Trainslp do if ()lengthplS then begin if ()destinationpl is a servicing station do () FSFSpl ; else 11()kkPPpl; end endfor endfor k =k+ 1; end return SS ; end PAGE 140 140 Figure 44. A part of the spacetime netw ork at a particular service station. Figure 45. Disaggregated strings and corresponding aggregated string. A2 A3 A4 B1 B2 B3 B4 C1 C2 C3 C4 A B C A1 Trainarrivalnode Train departure node String Connectionarcs PAGE 141 141 Figure 46. Disaggr egation algorithm. Figure 47. Example of infeasibility. A 11 12 21 22 algorithm disaggregation ; begin Let S represent the set of aggregated service strings with positive flow. Let this set be indexed by s ; Let SS represent the set of disaggregated service strings; Sort S in decreasing order of string length; for each sS do Let k = K(s) ; Consider the subgraph of G(N,A) induced by trains l for which 0k lu and 0ijf Let this subgraph be denoted by (,)kkGNA; Solve a minimum cost flow problem on this subgraph. Let the flow on each arc in the optimal solution be k ij x ; Decompose k ij x into flows on paths P Let SSSSP ; Update the uncovered flow on each train for all (,)k ijijij f fxijTrains ; end for return SS ; end PAGE 142 142 6,000,000 6,500,000 7,000,000 7,500,000 8,000,000 8,500,000 9,000,000 5,5006,0006,5007,0007,5008,000 Mean tonnage LPP LRPCost ($) Figure 48. Performance of th e locomotive routing algorithm. PAGE 143 143 8,100,000 8,200,000 8,300,000 8,400,000 8,500,000 8,600,000 8,700,000 8,800,000 1,8002,0002,2002,4002,6002,8003,000 Servicing threshold (miles) Cost ($ ) Figure 49. Solution cost vs. servicing threshold. 8,160,000 8,170,000 8,180,000 8,190,000 8,200,000 8,210,000 8,220,000 8,230,000 8,240,000 8,250,000 8,260,000 8,270,000 333537394143 Number of fueling locations Cost ($ ) Figure 410. Solution cost vs. number of fueling locations. PAGE 144 144 8,050,000 8,100,000 8,150,000 8,200,000 8,250,000 8,300,000 8,350,000 8,400,000 8,450,000 8,500,000 8,550,000 21232527293133 Number of servicing locations Cost ($) Figure 411. Solution cost vs. number of servicing locations. PAGE 145 145 CHAPTER 5 AGGREGATION FRAMEWORK TO SO LVE LARGESCALE INTEGER MULTICOMMODITY FLOW PROBLEMS 5.1 Introduction The multicommodity flow problem (MCFP) is a generalization of the classical minimum cost flow problem. These problems are frequen tly encountered in application domains like communication networks, railroad transportatio n networks, and distribution networks where numerous physical commodities, vehicles, or messages, each governed by their own network flow constraints, share the same underlying network. The objective of the MCFP is to send several commodities that reside at one or more poi nts in a network (sources or supplies) with arc capacities to one or more points on the network (sinks or dema nds), incurring minimum cost. The arc capacities are one way in which the flows of all commodities are bound together. Note that if the commodities do not interact with each other, then the integer version of the MCFP can be solved as several independent single commodity minimum cost flow probl ems. But, since this is not valid in general, this pr oblem is a difficult problem and in fact belongs to the class of NPComplete problems (Garey and Johnson (1979)). However, the MCFP problem has numerous applications and hence solving this problem effi ciently has been an important area of research. We consider the integer versi on of MCFP, which we refer to henceforth by MCFP, and we propose an aggregation framework that can be us ed to efficiently solve a class of MCFPs. Researchers have proposed a number of basic approaches for solving both the integral version and the continuous version of the MCFP. The three classical ap proaches, all based upon exploiting network flow substructure, and sele cted references are: (1) Pricedirective decomposition algorithm (Cremeans, Smith, an d Tyndall (l970), Swoveland (1971), Chen and Dewald (l974), Assad (1980a), Mamer and Mc Bride (2000), Holmberg and Yuan (2003), and Larsson and Yuan (2004)); (2) Resourcedire ctive decomposition algorithm (Geoffrion and PAGE 146 146 Graves (l974), Kennington and Sh alaby (l977), and Assad (1980a)); and (3) Basis partitioning (Graves and McBride (l976), Ke nnington and Helgason (l980), a nd Castro and Nabona (1996)). Ford and Fulkerson (1958) and Tomlin (1966) fi rst suggested the column generation approach. The first of these papers was the forerunner to the general DantzigWolfe (1960) decomposition procedure of mathematical progr amming. The excellent survey papers by Assad (l978) and by Kennington (l978) describe all of these algorithms and several standard properties of MCFPs. The book by Kennington and Helgason (1980) and th e doctoral dissertation by Schneur (1991) are other valuable references on this topic. Other approaches to solve the MCFP are due to Gersht and Shul man (l987), Barnhart (l988), Pinar and Zenios (l990), Barnhart (1993), Barnhart and Sheffi ( 1993), Farvolden, Powell, and Lustig (l993), Frangioni and Gallo (1999) and Detlefsen and Wallace (2002). Schneur (l99l), and Schneur and Orlin (1998) applied scal ing techniques to solve the MCFP. Matsumoto, Nishizeki, and Saito (l985) gave a polynomialtime combinatorial algorithm for solving a MCFP in st planar networks. Radz ig (1997) developed approximation algorithms for the MCFP. Barnhart, Hane, and Vance (2000a) developed a column generation model and an integer programming based branchandpriceandcut algorithm for integral MCFPs, and Brunetta, Conforti, and Fischetti (2000) investigated polyhedral appr oaches and branchandcut algorithms for the integral version. Multicommodity network flow m odels have found extensive app lications in several areas. The routing of multiple commodities has been st udied by Golden (1975), and Crainic, Ferland, and Rousseau (1984), and the multivehicle tanker scheduling problem by Bellmore, Bennington, and Lubore (1971). Other applicat ions are due to Kaplan (197 3), Evans (1977), Geoffrion and Graves (1974), Bodin et al. (1980), Assad (1980b), Korte (1988). In some recent research, PAGE 147 147 Gautier and Granot (1995) formulate the forest management problem as a multicommodity flow problem, Lin and Yuan (2001) construct a multicommodity flow network reliability model and apply it to the container load ing transportation problem, Ouaja and Richards (2004) propose a hybrid algorithm for traffic engineering which us es Lagrangian relaxation and constraint programming, Ahuja et al. (2005) solve the L PP using using problem decomposition, integer programming, greedy heuristics and neighborhood search, Vai dyanathan, Jha, and Ahuja (2007a) formulate the CSP as a integer multicommod ity network flow problem and solve it using branchandbound based heuristic methods, Vaidyanath an et al. (2007b) formulate the LPP as an integer multicommodity flow problem on a spacetime network and solve it using branchandbound methods, and Vaidyanathan, Ahuja, and Orlin (2007c) solve the LRP using an aggregation based algorithm. The book by Ahuja, Magnanti, a nd Orlin (1993) provides extensive coverage of applications of network and multicommodity flows. The predominant approaches that have been adopted to solve the integer MCFP are column generation, DantzigWolfe decomposition, La grangian relaxation, resource directive decomposition, integer programming (branc handbound and brancha ndpriceandcut), polyhedral approaches, very large scale nei ghborhood search (VLSN), and other heuristic methods. To the best of our knowledge, nobody has applied an aggregation based approach to solve the MCFP. We develop an aggregation fr amework to solve largescale integral MCFPs which satisfy some special properties. Our approach to solve the MCFP works in the following manner. Instead of solving the largescale MCFP directly, we decompose our approach into two stages. In the first stage, we consider an a pproximate aggregated MCFP which is several times smaller than the original problem. We construct the aggregated MCFP in such a way that it is a very good approximation of the original problem. Since the aggregated MCFP is much smaller PAGE 148 148 than the original problem, we can obtain the optima l solution to this problem very quickly. In the second stage, we use the solution to the aggr egated MCFP as a star ting point, and then disaggregate this solution to obtain near opt imal solutions to the original problem. We demonstrate the efficacy of our approach by applyi ng it to solve the LPP, which is a largescale MCFP. Our computational tests demonstrate that the aggregation framework proposed produces near optimal solutions to the LPP in a fraction of the original computational times. Finally, we also outline methods to apply the framework to effectively solve other realworld optimization problems. Our major contributions are: We develop a novel aggregation based fr amework to solve a class of MCFPs. We formulate an aggregated version of the MCFP which is several times smaller than the original problem and can hence be solved efficiently using standard branchandbound techniques. We discuss methods by which we can ensure that the aggregated MCFP is a very good approximation of the original problem. We develop fast disaggregation methods which ar e used to obtain a so lution to the original MCFP from the solution of the aggregated problem. We discuss application of the aggregation framework to solve ot her integer programming problems like the airline fleet assignment pr oblem, the airline CSP, the LRP, and the aircraft routing problem. We test the aggregation framework on the LPP and demonstrate that the approach produces near optimal solutions (less than two percent optim ality gap) to the LPP while only taking a fraction (around onefifteenth) of the orig inal computational times. Summarizing, we present the first attempt at developing an aggregation framework to solve a class of largescale MCFPs. From our experience, we believe that the framework developed has the potential to be a useful tool to solve ma ny realworld problems including airline fleet assignment, airlin e crew scheduling, railroad locomotive routing, aircraft maintenance routing, and ship scheduling. PAGE 149 149 5.2 Problem Definition, Notation, and Formulation The aggregation framework proposed can be us ed to solve a class of MCFPs. In this section, we give the notati on and terminology and also lay out properties of the underlying network, the constraints, and the objective function for this class of problems. We also formulate the MCFP as an integer program ming problem on the network. 5.2.1 Network In this section, we describe properties that need to be satisfied by the underlying network. We denote the network by G(N, A) where N represents the set of nodes and A the set of arcs. This network has only two types of arcs. We call th e two types of arcs load arcs (L) and free arcs (F). Load arcs are arcs on which flow is constr ained. For example, in th e airline fleet assignment problem, the flight legs to which aircrafts need to be assigned are load arcs, and in the LPP, the trains to which locomotives need to be assigned to provide sufficient pulli ng power are load arcs. Free arcs are those arcs on which there is no re striction or constraint on the flow. Free arcs originate at the head node of a load arc and term inate at the tail node of another load arc. For example, in the railroad networ k, train connection arcs which are constructed between trains which arrive at a station and tr ains which depart from the same station are free arcs. Free arcs allow commodities to flow from one load arc to the next load arc. Each load arc l has the following four attributes associated with it: (1 ) A departure time represented by deptime(l); (2) An arrival time represented by the arrtime(l) ; (3) A departure location represented by deplocation(l); and (4) An arrival loca tion represented by arrlocation(l). We are now in a position to describe the cons truction of the network. For each load arc we create an arrival (head) node a nd a departure (tail) node. We repr esent the set of arrival nodes by aN and the set of departure nodes by dN. The arrival node correspo nding to load arc l is at PAGE 150 150 location arrlocation(l) and the departure node co rresponding to a load arc l is at location deplocation(l). Next, we construct fr ee arcs between all arrival nodes at a location and all departure nodes at the same location. Note that due to the manner in which we construct the network, any walk on the network G(N,A) will contain alternate load and free arcs. Also, by construction, both the indegree of any arrival node and the outdegr ee of any departure node are one. Let C refer to the different commodities that need to be assigned to load arcs. These commodities need to be routed on G(N,A) in such a way as to satisfy a set of constraints while incurring minimal cost. In Figure 51, we present an example of the network th at has five load arcs and eight free arcs. In this figure, the solid lines represent load arcs and the dotted lines represent free arcs. 5.2.2 Constraints In this section, we describe the c onstraints governing the class of MCFPs. Power requirement for load arcs: Each load arc l must be assigned a single unit of a particular commodity to provide sufficient power. Commodity to load arc preferences: Only certain commodities are allowed to flow on certain load arcs. Flow balance constraints: The total incoming flow of a particular commodity at each node on the network must be equa l to the total outgoing flow of the same commodity at that node. Arc flow lower bounds: Each load arc lL should be assigned at least lLB units of flow. Arc flow upper bounds: Each load arc lL can be assigned at most lUB units of flow. Fleetsize constraints: The number of units of each comm odity used should be less than the fleetsize of that commodity c B PAGE 151 151 5.2.3 Formulation In this section, we mathematically formulate the general class of MCFPs that can be solved using the aggregation framework. We formul ate the MCFP on the network constructed as described in Section 5.2.1, and c onsider the constraints described in Section 5.2.2. Let I(i) denote the set of incoming arcs and O(i) de note the set of outgoing arcs at node iN In order to count the total number of units of each commodity used in a solution, we set an arbitrarily chosen time as the counttime and count the tota l flow on all arcs that cross th is counttime. We denote the set of arcs that cross the counttime by S. Each load arc lL can have two kinds of flow of a particular commodity cC : active flow (c l x ) which represents those units which provide power on the load arc, and deadhead flow (c l y ) which represents those units which do not provide power but are repositioning on the load arc using the power of th e active flow. We represent the cost of assigning an ac tive unit of commodity cC to load arc lL by c lc, the cost of assigning a deadhead unit of commodity cC to load arc lL by c ld, the cost of assigning a unit of commodity cC on free arc f F by c f d, and the ownership cost of a unit of commodity cC by cG. The decision variables in the MCFP are: c l x : Binary variable representing the active flow of commodity cC on load arc lL c l y : Integer variable representing th e deadhead flow of commodity cC on load arc lL c f y : Integer variable represen ting the flow of commodity cC on free arc f F cs: Number of unused units of commodity cC The MCFP is formulated as follows: PAGE 152 152 mincccccccc llllff lLcClLcCfFcCcCcxdydyGs (5.1a) for all1, ,c l cC x lL (5.1b) (), forall,cc llll cC L BxyUBlL (5.1c) [()], forall,,ccc llf fOheadl xyy lLcC (5.1d) [()], for all ,ccc fll fItaillyxylLcC (5.1e) (), forall,cccc aa aS x ysBcC (5.1f) {0,1}, forall,,c l x lLcC (5.1g) 0 and integer, for all ,c ayaAcC (5.1h) 0, for all .c s cC (5.1i) Constraint (5.1b), which is the power requireme nt constraint for load arcs, ensures that every load arc l is assigned one unit which provides sufficient power Constraint (5.1c), which is a flow bound constraint, ensures that the flow upper and lower bounds on each load arc l are satisfied. Constraint (5.1d) and (5.1e), which are flow balance constraints, ensure that flow is balanced at each arrival and depa rture node for each commodity type Constraint (5.1f), which is the fleetsize constraint, ensure s that the number of units of each commodity used is no more than the available fleetsize of that commodity. Note that the Fo rmulation (5.1) is the general formulation and several of the appl ications described are special case s or minor variations of this formulation. We now describe a nother important property that need s to be satisfied by the set of load arcs in the underlying networ k so that the aggregation fram ework can be applied to solve the MCFP. PAGE 153 153 5.2.4 Reducibility Property of the Network The reducibility property is the most crucial prop erty that needs to be satisfied by the set of load arcs L in the underlying network G(N,A) for th e problem to fall in the class of MCFPs that can be solved using the aggregat ion framework proposed. The reason for this is that reducibility of the network is the property which allows us to aggregate and shrink th e original problem. The set of load arcs L is said to satisfy the reducab ility property if it can be partitioned into several sets R such that the load arcs in each set rR share several common properties. The load arcs in each set rR have identical origin location, de stination location, duration, power requirements, and flow bounds and only differ in th eir departure and arrival times. For each set rR we consider an aggregated load arc and we denote the set of aggregated load arcs by L. Hence, each aggregated load arc '' lL has several arcs corresponding to it in the set L. Let the set of load arcs corresponding to aggregat ed load arc l be represented by L(l). 5.3 Aggregation and Disaggregation Algorithm The integer MCFP formulated in Section 5. 2 is NPComplete and hence largescale MCFPs cannot be solved using commercial intege r programming software. In this section, we develop an aggregationdisaggregation based a pproach to solve this problem. The basic idea behind this approach is that instead of solving a large problem directly, we divide our algorithm into two stages. In the first stage, we construc t a smaller aggregated model which can be solved quickly. Once we obtain the solution to the aggregated model, we use this information to disaggregate the solution and obtai n a solution to the original probl em. While this idea is quite intuitive to grasp, there are some issues which ne ed to be considered to ensure that the solution produced using this approach in close to the global optimal solution. We next present our aggregationdisaggregation base d algorithm and describe how we use this approach to effectively solve the MCFP. PAGE 154 154 5.3.1 Aggregated Multicommodity Flow Problem The aggregated MCFP is an approximation of the original MCFP. However, this approximate model is much smaller than the or iginal problem and is hence solvable more quickly. This leads to the issue of tradingo ff between the degree of approximation and the ease of solution, i.e., (1) The aggregate model may be solvable very quickly but may not produce good solutions; or (2) The aggregat e model may be almost exact but may take a very long time to produce a good solution. Hence, the performance of an aggregated model depends on a few factors that need to be addressed while construc ting the model. The first issue that needs to be addressed while designing an aggregated model is which entities to aggregate. The second issue that needs to be addressed is how to ensure that the aggregated model is as close as possible to the original problem. The closer th e aggregated model is to the orig inal problem, the easier it will be to disaggregate the aggregate solution and ob tain near optimal solutions to the original problem. In the rest of this section, we fo cus on answering these questions and developing a good aggregation model. We divi de our discussion into two pa rts: we first focus on the feasibility aspect of the problem and, in the pro cess, address the first question. Next, we focus on the optimality of the problem and, in th e process, address the second question. Consider a network G(N,A) that satisfies the re ducibility property (def ined in Section 2.4). The set of load arcs L on this network can be partitioned into se veral sets L(l) where ''lL Note that the set of load arcs L can be written as ''(')lLLLl. Similarly, the cardinality of the set of load arcs can be written as ''(')lLLLl We refer to the cardinality of set L(l) as the frequency of aggregated arc l and denote it by 'l f Hence, the load arcs can be considered to be made up of a set of aggregated lo ad arcs, each with a prespecifie d frequency. We refer to the set PAGE 155 155 of arcs in the set L(l) as the instances of aggregated load arc l. Due to the re ducability property of the network, all instances of an aggregated load arc are similar in terms of their origin location, destination lo cation, power requirements, flow bounds and duration. They only differ in their departure times and arrival times. Based on this observation, in th e aggregated network, we aggregate all instances of an aggregated load arc in the or iginal network into a single aggregated load arc. The flow on an aggregated load arc '' lL represents the total flow on all the instances corresponding to it (L(l)). Also, the total power requirement of an aggregated loaded arc is computed by adding up the to tal power requirements on all the load arcs corresponding to it. For example, suppose an aggregated load arc ha s a frequency of four and all the load arcs corresponding to it have a power requirement of T, then the power requirement of the aggregated load arc is 4T. Similarly, we define the flow bounds on each aggregated loaded arc by adding up the flow bounds on all the instances corresponding to it. We denote the aggregated network by G(N A ) where N represents the set of nodes and A the set of arcs. This network has two kinds of arcs: aggregated load arcs (L) and aggregated free arcs (F). The aggregated load arcs are obt ained as described above. Each aggregated load arc l has: (1) A departure location represente d by deplocation(l); (2) An arrival location represented by arrlocation( l). For each aggregated load arc we create an arrival (head) node and a departure (tail) node. We repr esent the set of arrival nodes by 'aN and the set of departure nodes by'dN Next, we construct aggregated free arcs between all arrival nod es at a location and all departure nodes at the same location. Aggregated free arcs allow commodities to flow from one aggregated load arc to the ne xt aggregated load arc. Note th at due to the manner in which we construct the network, any path on G(N,A) will contain altern ate aggregated load arcs and aggregated free arcs. Also, the indegree of any arrival node and the outd egree of any departure PAGE 156 156 node are one. We consider a set of commodities (C) which need to be assigned to aggregated load arcs and flow on the ne twork to satisfy a set of constraints at minimal cost. We use the following additional notation in our formulation: 'lLB : Lower bound on total flow on aggregated load arc 'lL This lower bound is obtained by adding up the lower bounds on all instances of aggr egated load arc l. 'lUB : Upper bound on total flow on aggregated load arc 'lL This upper bound is obtained by adding up the upper bounds on all instances of aggr egated load arc l. 'lt : Duration of aggregated load arc ''lL f t : Estimated duration of aggregated free arc '' f F c R : Total number of time units of commodity cC available. The decision variables in the aggregated MCFP are: 'c l x : Integer variable representing the active flow of commodity cC on aggregated load arc '' lL 'c l y : Integer variable representing th e deadhead flow of commodity cC on aggregated load arc ''lL 'c f y: Integer variable represen ting the flow of commodity cC on aggregated free arc '' f F cs: Number of unused time units of commodity cC We formulate the aggregated MCFP as follows: '''' ''''''mincccccc l'l'llff lLcClLcCfFcCcxdydy (5.2a) ''for all, '',c ll cC x flL (5.2b) ''''(), forall'',cc llll cC L BxyUBlL (5.2c) PAGE 157 157 ''' [(')], forall'',,ccc llf fOheadl xyy lLcC (5.2d) ''' [(')], for all '', ,ccc fll fItaillyxylLcC (5.2e) ''''' ''''(), forall,ccccc lllff lLfFtxytysRcC (5.2f) ''0 and integer, forall'',,c ll x flLcC (5.2g) '0 and integer, for all '', ,c iyiAcC (5.2h) 0, for all .cscC (5.2i) Constraint (5.2b), which is th e aggregated power requirement constraint, ensures that each aggregated load arc is assigned sufficient power. Constraint (5.2c) which is the aggregated flow bound constraint, ensures that the flow bounds on each aggregated load arc are honored. Constraint (5.2d) and (5.2e), whic h are flow balance constraint, ensu res that flow is balanced at each arrival and departure node fo r each commodity type. Constraint (5.2f), which is the fleetsize constraint, limits the total number of comm oditytime units used fo r by commodity type. In order to measure the total num ber of commodity minutes used we cumulatively add up the commodity minutes used by commodities assi gned on each aggregated load arc and the commodity minutes used by commodities assigned on each aggregated free arc. We then ensure that the total number of commodity minutes used is less than the total number of commodity minutes available. The reader may note that the aggregated MC FP is similar in structure to the MCFP but could be several times smaller in size. Also, the fleetsize constraints (5.2f) in the aggregated model are constructed in an equivalent though differe nt manner to the fleetsize constraint (5.1f) of the MCFP. The reason for this is that in the original network, it is quite stra ight forward to PAGE 158 158 determine whether a free arc crosses the counttime; however, in the a ggregated network since we consider aggregated load arcs it is not possible to state with certainty whether an aggregated free arc crosses the counttime. For the time bei ng, we assume that we know the duration of aggregated free arc. In the later part of this section, we discuss the importance of having good estimates for the duration of aggregated free arcs. The size of the aggregated MCFP is several times smaller than the MCFP. The reason for that is aggregation happens at two levels: (1) decision variab les, and (2) constraints. For example, consider an aggregated load arc whic h has a frequency of four. In the MCFP, this aggregated load arc will have 4C active flow decision variab les corresponding to it and 4C deadhead flow decision variable s corresponding to it. However, the aggregated MCFP will have only C active flow decision variables and C dea dhead flow decision variables. Hence, the flow on the aggregated load arc in this case represents the cumulative flow on th e four load arcs that correspond to it. The decision vari ables corresponding to the free ar cs are also aggregated in a similar manner. Using this method of variable aggr egation, we are able to reduce the number of variables. Also, in the aggregated MCFP we have: One power requirement constrai nt (5.2b) for every aggregated load arc instead of one (5.1b) for every load arc in the MCFP. One set of flow bound constraints (5.2c) for ever y aggregated load arc instead of one (5.1c) for every load arc in the MCFP. One set of flow balance constraints (5.2d) a nd (5.2e) for each aggregated load arc arrival and departure node, instead of one for each lo ad arc arrival and departure in the MCFP. Suppose the average frequency of aggregated load arcs is close to five. Then, the total number of constraints in the aggregated model is roughly onefifth that of the original model and the total number of variables is a fraction of that in the original model. Thus, the aggregation of PAGE 159 159 variables and constraints has the po tential to result in a very co mpact aggregated formulation and consequently very fast solution times. We now proceed to state and prove a few importa nt properties relating th e feasibility of the aggregated MCFP and the feasibility of the MCFP. Property 5.1: For any assignment of flows on load ar cs such that the total flow of a commodity entering a location is equal to the tota l flow of the same commodity leaving the same location and satisfying the power requirement constraints (5. 1b) and flow bound constraints (5.1c), there exists a solution to the MCFP satisfying all cons traints other than fleetsize constraint (5.1f). Proof: Consider the assignment of flows on load arcs which satisfies the conditions stated above. Consider the set of inbound load arcs entering a particul ar location, the set of outbound load arcs leaving the same location, and the se t of free arcs between th ese inbound load arcs and outbound load arcs. Since free arcs are constr ucted between all inbound load arcs and outbound load arcs at a particular locati on and since flow on these arcs is unrestricted, it follows that we can enforce flow balance constrai nts (5.1d) and (5.1e) at all n odes at that location by a simple runthrough method. Repeating the same procedure at all locations in the network gives us a solution to MCFP satisfying all c onstraints other than possibly th e fleetsize constraint (5.1f). Property 5.2: There exists a feasible solution to th e MCFP only if there exists a feasible solution to the aggregated MCFP satisfying all co nstraints other than the fleetsize Constraint (5.2f). Proof: We prove this property by construction. C onsider a feasible solution to the MCFP. We can compute flows on arcs in the aggregated network by: (1) Assignin g each aggregated load arc active flow equal to the to tal active flow on all load arcs corresponding to it; (2) Assigning PAGE 160 160 each aggregated load arc deadhead flow equal to the total deadhead flow on all load arcs corresponding to it; (3) Computing the flow on all aggregat ed free arcs using the procedure described in the proof of Property 5.1. Note th at, due to the manner in which we formulate the aggregated MCFP, the constructed solution satisfies the aggregated power requirement constraint (5.2a) and the aggregated flow bound constraints (5.2b). Further, fr om Property 5.1, it follows that the assignment will also sa tisfy the flow balance constraints (5.2c) and (5.2d). The result is immediate. Property 5.3: There exists a feasible solution to th e aggregated MCFP only if there exists feasible solution to the MCFP satisfying all constrai nts other than the fleetsize constraints (5.1f). Proof: We prove this property by construction. Consider a feasible solution to the aggregated MCFP. We can compute flows on arcs in the original network by: (1) Distributing the total active flow on each aggregated load arc am ong the load arcs corresponding to it (one unit per load arc), (2) Distributing the total deadhe ad flow on each aggregated load arc among the load arcs corresponding to it in such a way that the flow bound constraints (5.1c) are not violated, (3) Computing the flow on all free arcs using the proce dure described in the proof of Property 5.1. The constructed solution satisfies th e power requirement constraints (5.1b) and the flow bound constraints (5.1c). Also, the total flow of a commodity en tering a location is equal to the total flow of the same commodity leaving th e same location. Hence, from Property 5.1, the result follows. We have thus showed the equi valence between the feasibility version of the MCFP and the feasibility version of the aggregated MCFP and have hence addressed the feas ibility aspect of the problem mentioned at the start of this section. The other aspect we need to address is optimality. The objective function of the MCFP minimizes total active assignment cost, deadhead PAGE 161 161 assignment cost, idling cost, and ownership cost. We now describe methods to ensure that the aggregated model serves as a good a pproximation of the original problem. In the aggregated MCFP, we do not consider the individual load ar cs and only consider aggregated load arcs. Due to the abstraction of information, the aggregated MCFP is an approximation of the MCFP. Consider the aggreg ated MCFP. Suppose we were somehow able to accurately determine the time duration for each commodity assigned on each free arc accurately, then the aggregated MCFP would indeed model the original MCFP exactly. However, the only way in which this information can be obtained is from the solution to the MCFP which is what we set out to determine in the first place. Hence, it is not possible to accurately determine the durations accurately. Hence, our goal is to devise an intelligent method to provide good estimates for the duration of free arcs. Also, since the numbe r of free arcs could be quite large, the method needs to run very quickly. The right way to esti mate the durations is a function of the problem being studied. In Section 5.4.1, we describe a method to estima te the duration of free arcs (or train connections) whil e solving the LPP. Note that the aggregated MCFP is similar in structure to the original MCFP. In other words, our method of aggregation shrinks the pr oblem size while leaving the structure virtually unaltered. Hence, the existing stateoftheart algorithms for the MCFP may often be directly applicable to solve the aggregat ed problem. We now describe the second stage of our approach which involves disaggregation of the solution. 5.3.2 Disaggregation In this section, we show how the solution of the aggregated MCFP can be used to obtain a solution to the original MCFP. The approaches proposed use the solutio n of the aggregated MCFP to restrict the search space of the MCFP in order to speedup computational times. We propose three different methods to disaggregate the solution and we now describe these methods. PAGE 162 162 Restricted multicommodi ty approach: Method 1 In the restricted multicommodity approach we reduce the solution space of the MCFP formulated in Section 5.2.3 in the following ma nner. On every load arc, we allow only those commodities that are assigned as active commodities in the solu tion to aggregated MCFP to be assigned as active commodities. For example, suppose an aggregated load arc carries only commodities A and B, then all the load arcs th at correspond to it are al so restricted to only having those commodities as act ive commodities. By using this method, we can reduce the solution space of the MCFP by a large extent le ading to very fast computational times. Multicommodity approach which partitions the aggregated active and deadhead flows Method 2 Note that the solution to the aggregated MCFP sa tisfies flow balance at each location, i.e., in the solution to the aggregated MCFP, the to tal number of units of a particular commodity entering a location is equal to the total number of commodities of the sa me type leaving the location. In this method, we exploit this fact to solve the MCFP. Also, as long as the total flow on all instances of an ag gregated train is equal to the total flow on th e corresponding aggregated train, the total flow of a part icular commodity between any pair of locations in the MCFP is equal to the total flow between the same pair of locations in the solution to the aggregate MCFP. Hence by Property 1, flow balance constraints fo r the MCFP are easily sa tisfied. Therefore, our goals are (1) To redistribute the active assignm ents on each aggregated load arc among the load arcs corresponding to it; (2) To redistribute the deadhead assignments on each aggregated load arc among all the load arcs corresponding to it. Let L(l) refer to the aggregated load arc co rresponding to load arc l and L(l) represent all load arcs corresponding to aggregated load arc l We write these constraints mathematically in the following manner: PAGE 163 163 ('), for all '',,cc ll lLl x xlLcC ('), for all '',.cc ll lLlyylLcC The righthand side of these equations is obt ained from the solution of the aggregated MCFP. These constraints, when added to the MCFP, restrict the solution sp ace to a larger extent than the first method. Hence, th e solution obtained using this method is slightly worse than that obtained using the first method; however, the computational times are faster. Method 3 In this method, while the aggregated active flows are redistributed as described in the previous method, the aggregated deadhead flows are handled differently. Observe that as long as the total flow between any pair of locations in the MCFP is equal to the total flow between any pair of locations in the solution to the aggr egate MCFP, the total number of consists of a particular type which enter a stati on will be equal to the total number of consists of the same type which leave the same station. By Property 5.1, flow balance constraints for the MCFP are easily satisfied. We use this fact to rest rict the solution space of the MCFP. First, we introduce some additional notation. Let c pq F be the total deadhead flow of commodity cC between station p and sta tion q in the solution to th e aggregated MCFP and let H represent the set of all locations. Let pqL be the set of all load arcs that originate from location p and terminate at location q. We then write th ese constraints mathematically in the following manner: ('), for all '',,cc ll lLl x xlLcC for all ,,.pqcc lpq lL y FpHqHcC PAGE 164 164 The righthand side of these equations is obt ained from the solution of the aggregated MCFP. These constraints are added to the MC FP to restrict the solution space and speedup computational time. Note that the previous method is more restrictive and is also a special case of this method. This method gives less flexibilit y than the restricted multicommodity approach but more flexibility than the method 2. 5.4 Applications of the Aggregation Framework As we mentioned in the introduc tion, the aggregation framewor k can be used an effective tool in solving several optimizati on problems. In this section, we outline some applications of the aggregation framework to solve largescale re alworld optimization problems. The problems considered include the LPP, the airline fleet assi gnment problem, the airline CSP, the LRP, and the aircraft routing problem. We go into details of how we use cu stomize this framework to solve the LPP and present computationa l results to demonstrate the pe rformance of the aggregation algorithm. We also outline how the aggregation framework can be used to solve all the other problems mentioned above but do not present comput ational studies of th e performance of our algorithms on these problems. 5.4.1 Locomotive Planning Problem The LPP involves the assignment of sets of loco motives, called consists, to each train in a preplanned weekly train schedule so that each train gets sufficient power to pull it s load and the total cost of locomotive usage is minimized. The resulting plan must honor a variety of business rules, cannot require more locomotives than what is available in the total fleet, and must result in a plan that is relatively simple and repeatable Another important featur e of the LPP is that locomotives may deadhead on trains. Deadhead locomotives do not pul l the train but are repositioned by the active locomotives from one place to another place. Deadheading plays an important role in locomotive planning, enabling extra locomotives to be moved from stations PAGE 165 165 with a surplus to stations with a defecit. A loco motive plan specifies which types of locomotives will pull each train, and how locomotives will deadhead to obtain overall network wide efficiency. We present an extensive review of resear ch in the area in Chapter 3. The most comprehensive multiple locomotive planning m odels are due to Ahuja et al. (2005) and Vaidyanathan et al. (2007b). In Ahuja et al. (2005), we formul ate the LPP as an integer MCFP with side constraints on an underlying spaceti me network and develop solution methodologies that use problem decomposition, integer pr ogramming, greedy heuris tics, and neighborhood search. In Vaidyanathan et al. (2007b), we developed new formulat ions and approaches to make our planning model more implementable. The major outcome of that paper was a philosophy shift in the routing of locomoti ves. We showed that assigning c onsists (or a group of locomotives which are never broken up) to trains, instead of individual locomotives has the potential to generate implementable solutions without compro mising much on the solution cost. We call this formulation of the LPP the consistbased formulation. The algorithms that we developed in our research in the past we re able to effectively solve weekly LPPs where the train schedule repeat s every week. These weekly train schedules typically have around 3,000 trains and our algorithms were able to solve these pr oblems within 1060 minutes of computational time. However, s ubsequently railroads have expressed the need to solve much larger planning problems. One su ch problem is the 28day LPP, where the train schedule repeats only once in 28 days. The reason for this is that the weekly repeating schedule assumption may not be a good assumption in certai n cases. These 28day tr ain schedules have 35 times more number of trains than the weekly train schedules, and hence the associated LPPs are significantly larger optimization problems. Due to this fact and the additional fact that the PAGE 166 166 LPP is NPComplete, our previous approaches are likely to be intractable when applied to these problems. Hence, there is a need for a novel scalable approach to solve the LPP and the aggregation framework addresses this need. We consider the consistbased formulation of the weekly LPP introduced in Vaidyanathan et al. (2007b) and apply the aggr egation framework to solve this problem. We now show how the LPP is a special case of the MCFP formulated in Section 5.2.3. The trains in the weekly train schedule are analogous to the load arcs and the train connections, which allow the transfer of locomotives from inbound trains at a station to outbound tr ains at the same st ation, are analogous to the free arcs. Hence, the LPP can be formul ated on a network as described in Section 2.1 which contains only two kinds of arcs: train arcs, and connecti on arcs. The consists are the commodities which flow on this network. Also, the weekly train schedule is such that it can be considered to be made up of a set of aggregat ed trains, each with a prespecified frequency varying between one and seven. These aggregated trains are analogous to aggregated load arcs. Note that all instances of an aggregated train in the week are similar in terms of origin station, destination station, departure ti me of the day, arrival time of the day, and duration. The only factors which differentiate these trains are the de parture day of the week, and arrival day of the week. From these observations, it follows that the underlying network sati sfies the reducability property. The LPP is also governed by power re quirement constraints, flow bounds on all train arcs, flow balance constraints, and fleetsize constraints which are similar in structure to constraints (5.1b), (5.1c), (5.1d), (5.1e), and (5.1f) respectively. Hence, the LPP falls into the class of MCFPs that can be solved using th e aggregation framework. We now proceed to estimate the size of a typical instance of the LPP. PAGE 167 167 Problem size A typical weekly train schedul e has around 3,000 trains and eight consist types. Hence, the spacetime network will contain around 3,000 train arcs, and more than 500,000 connection arcs for a total of more than 500, 000 arcs. The number of nodes on this network will be 3,000 train arrival nodes, 3,000 train departure nodes, for a to tal of 6,000 nodes. On each arc, we consider decision variables for the flow of each of the ei ght commodities. Hence, the number of variables in the formulation is around 500,000 x 8 = 4, 000,000 variables. There are 3,000 train power requirement constraints (5.1b), 3,000 train flow bound constraints (5.1c), 6,000 x 8 = 48,000 flow balance constraints corresponding to each commodity at each node (5.1d and 5.1e), and 8 fleetsize constraints (5.1 f) giving a total of around 55,000 constr aints. Hence, the LPP is a largescale integer MCFP with 55,000 c onstraints and millions of decision variables. Integer programming problems of this size are intrac table when solved using commercial integer programming software. However, the aggregated LPP which is similar in structure to the aggregated MCFP, is much smaller. Suppose the av erage frequency of each train is five, then the aggregated LPP would roughly have only onefifth the number of c onstraints and a small fraction of the number of decision variables as the orig inal problem. The aggregation of variables and constraints results in a very compact aggregated formulation which can c onsequently be solved very quickly using commercial software. In Section 5.3.1, we mentioned that the estimation of the durati on of free arcs is crucial to ensure that the aggregated problem is a good approximation of the orig inal problem. We now describe a method to estimate durations of train c onnection arcs. This step is a crucial part of our algorithmic approach and we empirically converg ed at the following method after a significant amount of research and computationa l testing of vari ous possibilities. PAGE 168 168 Estimating train connection times The biggest approximation in the aggregated LPP is that the departure day of the week and the arrival day of week information of trains are not considered. This could lead to the aggregated problem generating bad solutions in terms of locomotiv e usage. For e.g. Consider a weekly train A which arrives at a station on Mo nday at 10:00 AM and another weekly train B that departs from the same station at 11:00 AM on Sunday. The optimal solution of the LPP is not likely to use the connection between these we ekly trains to route locomotives because the idling time of the locomotive w ould be extremely high (six days and one hour). On the other hand, in the aggregated network, since we do not consider the arrival and departure days of individual trains, the connection between the co rresponding aggregated trai ns could be used in the solution. We handle this problem in the following manner. We define an estimated connection time for each train connection on the aggregated network. The estimated connection time between aggregated trains A and B is comput ed to represent the prob able connection time if a consist connects between a instance of aggregated train A and an instance of aggregated train B. Note that we cannot compute this value exactly unless both A and B have a frequency of one. We represent the estimated connect ion time of a train connection j by jt Note that since the aggregated problem has several t housand train connections and the method used to estimate train connection times needs to be run once for every c onnection, this method has to be very efficient so as to not blow up overall co mputational times. Next, we desc ribe the method used to estimate the train connection times. Consider an inbound aggregated train i and out bound aggregated train j at a particular station. In order to compute the estimated conne ction time between these two aggregated trains, we consider the trains correspond ing to them and the complete se t of connections between these PAGE 169 169 trains. Each connection is assigne d time duration equal to the dur ation of that connection on the original network. For example, suppose the inbound aggregated trai n has a frequency of four and the outbound aggregated train ha s a frequency three, then we have the possibilities for connections between corresponding seven da y trains as shown in Figure 52. In a general case, let the fre quency of train i be represen ted by f(i). Let the actual connection times between the corresponding weekly trains be represented as matrix M of dimensions f(i) x f(j). We di vide the computation of train connection times into two cases: Case 1: ()()1 fifj This case is when the inbound aggregated tr ain and the outbound aggr egated train have similar frequencies. In this case the estima ted connection time is computed by solving an assignment problem between the inbound weekly trains and the outbound weekly trains. The connection times in the matrix M represent the objective function of this problem, i.e., the element M(i, j) represents the cost of assigning the ith inbound train to th e jth outbound train. Let the optimal objective function of this problem be obj. We then compute the estimated connection time of the connection as obj/ min (f(i), f(j)). Case 2: ()()1 fifj This case is when the inbound aggregated train and outbound aggreg ated train have frequencies which are quite differe nt. Suppose the method described in case 1 were used in this case, it may not give realistic estimates of connection times. For example, suppose the inbound aggregated train had a freque ncy of one and arrives at 11 AM on Monday, and the outbound aggregated train has a frequency of seven and departs at 11:30 AM every day of the week. Then, if we were to compute the connection time based on the method in case 1, then we will obtain an estimated connection time of 30 minutes. However, this value is over optimistic since there is no PAGE 170 170 guarantee that the connection between the inbound train on M onday and the outbound train on Monday will be made. Based on our empirical analysis, we found th at in this case we using the average of all the connection times in M gi ves a good estimate of the connection time. We were able to solve the aggregated LPP in a few seconds of computational time. We applied the three methods of disa ggregation described in Section 3 with the followi ng results: (1) The restricted multicommodity approach (method 1) produced solutions to the LPP that were less than 1% away from the optimal solution in around 10 seconds of co mputational time; (2) Method 2 produced solutions to the LPP that we re around 1.75% away from the optimal solution in around 2 seconds of computational time; (3) Method 3 produced solutions to the LPP that were around 1.5% away from the optimal soluti on in around 2 seconds of computational time. Our computational results section demonstrates the success of the aggregation framework as an effective tool to solve the LPP. We were able to obtain near optimal so lutions (less than two percent gap) while consuming only onefifteen th of the original computational times. 5.4.2 Airline Fleet Assignment Problem The objective of the airline fl eet assignment problem is to assign aircrafts belonging to different fleet types to flight legs to minimize the assignment co st and subject to the following three types of constraints: (1) C overing constraints: Each flight leg must be assigned exactly one aircraft; (2) Flow balance constraints: An aircra ft must land before takeoff; and (3) Fleetsize constraints: For each fleet type, the number of aircrafts used must not exceed the number of aircrafts available. A model which solves the problem described above is called a basic fleet assignment model (FAM). The fleet assignment problem has been well studied (Abara (1989), Hane et al. (1995), Talluri (1996), Rexing et al. ( 2000), Barnhart, Kniker, and Lohate panont (2002), and Ahuja et al. (2004)). Predominant approaches to solve this problem include integer programming algorithms, PAGE 171 171 branchandbound methods, and very large scale ne ighborhood search techniques. However, to the best of our knowledge, none of the research of the past has employed aggregation methods to solve this problem. Most US airlines have the same flight schedule for five days of the week and a subset of the week day schedul e in the weekend. Thus, airlines typically solve a daily fleet assignment model whose solution is then repeat ed on each day of the week. Their approach assumes that the flight schedule is the same on all days, which, strict ly speaking does not hold for most airline schedules. Also the additional constraint that the fleet assignment should repeat daily gives less flexibility to the model to assign aircrafts to flight legs and may hence lead to suboptimal solutions. US airlines typically operate 2,000 flights da ily and the computationa l times using existing methods for daily fleet FAMs are of the order of hours. Given the fact th at these problems are NPComplete, it is very like ly that the computational time s will explode if the existing approaches were applied to problems say five times larger. In order to demonstrate the applicability of the aggregation based framework to solve larger FAMs, we consider the 5day fleet assignment problem or th e weekday fleet assignment problem Note that the 5day flight schedule can be considered to be made up of a smaller aggregated flight schedule where each aggregated flight has a prespecified fr equency varying between one and five. We now show how the FAM is a special case of the MCFP formulated in Section 2.3. The flight legs in the flight sche dule are analogous to the load arcs and the aircraft connections, which allow the transfer of aircrafts from inboun d flights at an airport to outbound flight at the same airport, are analogous to the free arcs. He nce, the FAM can be form ulated on a network as described in Section 2.1 which contains only two kinds of arcs : flight arcs, and aircraft connection arcs. The various aircraft types in the fleet are the commodi ties which flow on this PAGE 172 172 network. Also, the flight schedule, as mentioned in the pr evious paragraph, is such that it can be considered to be made up of a set of aggregated flight legs, each with a prespecified frequency varying between one and five. These aggregated flight legs are analogous to aggregated load arcs. Note that all instances of an aggregated flig ht leg in the week are similar in terms of origin airport, destination airport, depa rture time of the day, arrival time of the day, and duration. The only factors which differentiate th ese flight legs are the departur e day of the week, and arrival day of the week. From these observations, it fo llows that the underlyi ng network satisfies the reducability property. The FAM is governed by c overing constraints which are similar to the power requirement constraints ( 1b), flow balance cons traints which are similar to constraints (1d) and (1e), and fleetsize constr aints which are similar in struct ure to constraints (1f). Hence, the FAM is a special case of MC FPs that can be solved using the aggregation framework. The reader may also note that the FAM is in fact simpler than the LPP and the MCFP since aircrafts cannot deadhead on flight legs whereas multiple units can deadhead on load arcs. Also, note that the aggregated FAM will have a similar structure to the daily FAM. Hence, it is quite possible that the existing stateofart algorithms to solve the daily FAM can be also be directly employed to solve the aggregated FAM. 5.4.3 Airline Crew Scheduling Problem The objective of airline crew scheduling is to assign individual crew members to flights in a prespecified schedule to minimize assignm ent costs and satisfy all governmental and contractual restrictions such as maximum daily working hours, minimum overnight rest period, maximum time away from a crew base, etc. In practice, airline crew sc heduling is sequentially divided into two stages: crew pairing and crew rostering. Am ong all the airports served by airlines, some are called crew ba ses. Each crew belongs to a sp ecific base. A crew pairing is a connected sequence of flight segm ents that starts and ends at the same base location and also PAGE 173 173 satisfies all the legality constr aints. The crew rostering probl em then assigns individual crew members to pairings. The airline CSP is a well studied problem (Hof fman and Padberg (1993), Barnhart et al. (1994, 2003), Vance et al. (1997), and Gopala krishnan and Johnson (2005)). Predominant approaches to solve this problem include colu mn generation, zeroone programming, branchandcut, and other integer program ming approaches. In this section, we give a description of the basic version of the problem and outline how the aggregation framew ork can be used to solve it. Given a set of feasible crew pa irings, the airline CSP can be formulated as the problem of finding the best collection of crew pairings such th at each flight leg is covered exactly once. This problem is essentially a set part itioning problem and can be formul ated in the following manner: 1 to jj jn M incx ,mAxe {0,1}, for all 1 to .j x jn where me is a vector having m entr ies equal to 1 and n is the number of crew pairings considered. The matrix A is an m x n matrix wh ere each row represents a flight leg and the matrix is constructed in such a way that 1ija if flight leg i is covered by rotation j, and 0 otherwise. This problem is an NPComplete problem with mill ions of decision variables and hence almost all existing research deals with handling this computati onal complexity in an efficient manner. To the best of our knowledge none of the existing research has explored aggregation as a means to solve this problem. We next outline our aggrega tion based approach to solve this problem. Note that this problem does not exactly fall in the cl ass of MCFP since there is no underlying network and it is also not a mult icommodity flow problem. However, due to the PAGE 174 174 reducability property of the flight schedule, it still lends itself to the aggregation framework proposed. In the previous section, we obs erved that 5day flight schedu le can be considered as an aggregated flight schedule wher e each flight has a prespecified frequency varying between one and five. This gives us the intuit ion that instead of solving the la rger CSP directly, we can adopt an aggregation approach. We aggregate all instan ces of a flight in the week into a single aggregated flight. Each aggregat ed flight now has a crew demand which is equal to its frequency in the week (instead of one in the original model). We also consider pairings which are now made up of aggregated flights and refer to th ese pairings as aggregated pairings. These aggregated pairings are the deci sion variables in the aggregated CSP. The aggregated CSP can be formulated as a set partitioning problem where th e right hand side is now the frequency of the corresponding aggregated flight. The aggregated CSP is identical in structure to the original m odel. However, the size of the aggregated model could be several times smaller. The reason for that is aggregation happens at two levels: (1) decision variables, and (2) cons traints. The flow on each aggregated pairing represents the cumulative flow on several crew pa irings in the original network. Also, in the aggregated model we have only one partitioning constraint for ever y aggregated flight instead of one for every flight in the origin al model. This aggregation of va riables and constraints results in a very compact formulation and consequently has the potential to be solvable quickly. Once we obtain the solution to the aggregat ed model, we can use this solution to obtain a near optimal solution to the original problem using suitably designed disaggregation methods. 5.4.4 Locomotive and Aircraft Routing Problems The LRP involves routing each locomotive unit on a cyclic sequence of trai ns so that it can be fueled and serviced as necessary; while at the same time satisfyi ng all other business and PAGE 175 175 operational constraints considered in the LPP. We refer to the sequence of trains on which a locomotive unit travels as a locomotive route. Fu eling feasibility requires that each locomotive route has sufficient fueling opportun ities to ensure that the locomotive does not run out of fuel (outoffuel event). This translates to the constr aint that every locomotive needs to have a fueling opportunity at least once for every F miles (900 mile s) of travel. Similarly, servicing feasibility requires that each locomotive route has sufficient servicing opportunities and this translates to the constraint that every locomotive needs to ha ve a servicing opportunity at least once for every S miles (3,000 miles) of travel The LRP, until very recently, was a practically unstudied problem. Our recent research re ported in Vaidyanathan, Ahuja, and Orlin (2007c) and Chapter 4 considers the LRP. In that paper and in Chapte r 4, we develop an a ggregationdisaggregation approach to solve the LRP. In this section, we give an overview of our research and refer the interested reader to that paper for more details. We use the concept of strings to formulate the LRP. A string is a connected sequence of trains such that any locomotive which travels on this sequence can be fueled and serviced as necessary. We formulate the LRP as an inte ger programming string decomposition problem (SDP) on a suitably defined spacetime network. The objective is to partition the locomotive assignment (obtained from the planning model) on each train in the schedule into flows on strings while simultaneously minimizing the so lution costs. The SDP is essentially a set partitioning problem with side constraints and is NPComplete. The number of strings (decision variables) in this problem runs to several million. Hence, a direct approach to solve this problem is not likely to be tractable. Note that the LR P like the airline CSP does not exactly fall in the class of MCFP described. However, due to the redu cability property of the tr ain schedule, it still lends itself to the aggregation framework. We next summarize our aggregation based approach to PAGE 176 176 solve this problem and refer the reader to Va idyanathan, Ahuja, and Orlin (2007c) for further details. The train schedule satisfies th e reducability property. Hence, in a similar manner to the LPP, we aggregate all the instances of a train in the week into a single aggregated train. The flow on each aggregated train represen ts the total flow on all weekly trains corresponding to it. We also consider strings which are now made up of aggregated flight s and refer to these strings as aggregated strings. These aggregated strings are the decision variables in the aggregated LRP. Using this method of variable aggregation, we ar e able to reduce the num ber of variables from close to a million, to several thousand. Also in the aggregated LRP we have only one partitioning constraint for every aggregated train instead of one for every train in the original model. Since the average freque ncy of aggregated trains is close to five, the number of partitioning constraints becomes roughly onefifth that of the or iginal model. Also, since the number of aggregated trains is onefifth the number of original trains the number of flow balance constraints also reduces by the same f actor. Thus, the aggregation of variables and constraints results in a very compact formulation and consequently very fast run times. We also developed a disaggregation algorit hm using which this solution can be disaggregated to obtain near optimal solutions to the or iginal problem. Our computational results demonstrated that the aggregation approach was able to solve a number of different instances of the LRP within five minutes of computational time and with less than a 2.2 % optimality gap. Another routing problem of inte rest is the aircraft mainte nance routing problem. Several researchers have worked on this problem (Feo and Bard (1989), Clarke et al. (1997), Gopalan and Talluri (1998), Talluri (1998), Barnhart et al. (1998 )). Barnhart et al. (1998) use a branchandprice based approach to solve the aircraft routing problem. Their fo rmulation has a lot of PAGE 177 177 similarities to the formulation of the LRP de scribed above. However, even for small problems with 150200 flights their approach takes 34 hou rs of computational time. Since the aircraft routing problem is very similar in nature to LRP and is in fact simpler in several ways (described in Vaidyanathan, Ahuja, and Orlin (2007c)), we believe that the aggreg ation framework has the potential to be a useful speedup tool to solve this problem too. 5.5 Computational Results In this section, we provide computational re sults of our algorithms on several instances of the LPP with varying transport volumes. We impl emented our algorithms in the Microsoft Visual Basic programming language and tested them on the data provided by a major Class I US railroad. We modeled our integer programs using ILOG Concert Technology 2.0 modeling language and solved them using the CPLEX 9.0 so lver. We conducted all our computational tests on an Intel Pentium 4, 512MB RAM, a nd 2.4GHz processor desktop computer. In order to test the performance of the a ggregation framework, we first solve the LPP exactly using the consist based fo rmulation proposed in Vaidyana than et al. (2007b) and measure the solution cost and computational times. We then use the aggregation a pproach to solve this problem and tabulate the performance of the th ree disaggregation approaches described in Section 5.3. We present the results of our co mputational test in Ta ble 51 and Figure 53. From our computational tests we make the following conclusions: The aggregation based methods pr oposed were able to solve a ll instances of the LPP to less than 2% optimality gap in less than onefifteenth the original computational time. The difference between method 1 and method 2 is close to 1% in terms of optimality gap. However, the difference in performance be tween methods 2 and 3 is only marginal. The aggregation based framework is able speedup the solution times of all instances of the LPP from a few minutes to a few seconds. PAGE 178 178 5.6 Summary and Conclusions We develop an aggregation framework that that can be applied to so lve a class of largescale integer multicommodity flow problems (M CFP). We define the te rminology and describe the properties of this class of problems in terms of th e underlying network, the objective function, and the constraints. The basic philosophy behind the a ggregation approach is that instead of solving a largescale pr oblem directly, we divide our a pproach into two stages. In the first stage, we solve a much smaller aggregated model to optimality. Then, in the next stage we disaggregate the solution of the first stage to obtain a near optimal solution to the original problem. We formulate the class of MCFP as an in teger programming problem on a network and describe the constraints in this problem. We also identify the pr operties that the network has to satisfy for the aggregation framework to be app licable. We formulate the aggregated version of the MCFP and show that it is much smaller in si ze than the original problem in terms of number of decision variables and constrai nts. We establish the relationshi p between the feasibility of the original MCFP and the feasibility of the aggregat ed MCFP, and also describe the importance of estimating the duration of arcs to ensure that the aggregated model is a good approximation of the original model. Finally, we describe three methods by which we can disaggregate the solution to obtain the near optimal solutions to the original problem. We demonstrate the applicability of the aggr egation framework to solve several problems. We first describe an applicati on of the aggregation framework to solve the LPP. We show that the LPP is a special case of the MCFP. Due to the nature of the aggregated LPP, its performance depends critically on the estimation of train c onnection times. While the train connection times in the original network can be computed trivially, in the aggregated network this information is not readily available. This is because, in the aggr egated network, we abst ract out the information PAGE 179 179 regarding the operating da y of a train and only consider its frequency and arrival and departure times of the day. We describe methods to es timate train connection times on the aggregated network in such a way that the aggregated mode l is a very good approxi mation of the original model. Since the aggregated problem is much smalle r in size than the original problem, it can be solved to optimality quickly. We provide ex tensive computational results on the LPP to demonstrate the efficacy of our approach. The computational results demonstrate that the aggregation algorithm is able to obtain near opt imal solutions (less than two percent gap) while consuming only onefifteenth the or iginal computational times. We also outline applications of the aggregation framework to solve airline fl eet assignment problem, airline CSPs, LRPs, and aircraft routing problems. We believe that the aggregation framework de scribed has the potential to be effectively applied to solve largescale optimi zation problems. The main benefit of this approach is the fact aggregation shrinks the problem si ze leaving its structure virtuall y unaltered. Hence, the existing stateoftheart algorithms may be directly applied to the aggregated problem. Due to this reason, it can be used as a tool to speedup existing so lution techniques to a wi de variety of problems. PAGE 180 180Table 51. Performance of the aggregation algorithm. Exact Formulation Aggregation method 1 Aggr egation method 2 Aggregation method 3 SNo Tonnage Cost Time Con. Cost Time Con. Gap (%) Cost Time Con. Gap (%) Cost Time Con. Gap (%) 1 5,700 5,911,644 3m 20s 94.82 5,936,426 20.18s 94.82 0.42 5,998,630 5.54s 95.471.47 5,985,2535.74s 95.141.23 2 6,080 6,325,823 8m 52s 95.14 6,369,353 27.31s 95.79 0.69 6,439,583 5.8s 94.891.80 6,414,9836.22s 94.781.39 3 6,460 6,693,232 5m 57s 94.85 6,719,490 25.41s 94.46 0.39 6,825,278 6.87s 93.851.97 6,795,2657.20s 93.921.50 4 6,840 6,994,761 6m 41s 94.93 7,035,412 16.79s 95.43 0.48 7,113,596 6.43s 94.821.70 7,088,9538.44s 94.931.33 5 7,220 7,444,726 6m 41s 94.75 7,519,868 23.57s 94.10 1.01 7,588,132 5.57s 94.281.93 7,588,0635.74s 94.211.89 6 7,600 7,848,320 7m 09s 94.96 7,895,066 34.47s 95.29 0.60 7,982,082 6.09s 93.811.70 7,965,9026.29s 93.591.48 7 7,980 8,295,953 6m 01s 94.64 8,369,668 20.05s 93.99 0.89 8,458,740 6.09s 92.881.96 8,442,5416.50s 93.311.74 PAGE 181 181 181 Figure 51. Network. Figure 52. Potentia l train connections. Train 1Mon Train 1Tue Train 1Wed Train 1Th r Train 2Mon Train 2Wed Train 2Th r Arrivalnode Departure node Loadarc Freearc PAGE 182 182 182 5,500,000 6,000,000 6,500,000 7,000,000 7,500,000 8,000,000 8,500,000 5,5006,0006,5007,0007,5008,0008,500 Tonnage Exact Method 1 Method 2Cost ($) Figure 53. Performance of the aggregation algorithm. PAGE 183 183 LIST OF REFERENCES Abara, J. 1989. Applying integer linear pr ogramming to the fleet assignment problem. Interfaces 19 2028. Ahuja, R.K., K.C. Jha, J. Liu. 2007. Solv ing reallife railroad blocking problems. Interfaces forthcoming. Ahuja, R.K., J. Liu, J. Goodstein, A. Mukhe rjee, J.B. Orlin. 2 004. A neighborhood search algorithm for the combined through and fleet assignment model with time windows. Networks 44 160171. Ahuja, R.K., T.L. Magnanti, J.B. Orlin. 1993. Network Flows: Theory, Algorithms, and Applications Prentice Hall, Englewood Cliffs, NJ. Ahuja, R.K., J. Liu, J.B. Orlin, D. Sharma, L.A. Shughart. 2005. Solving reallife locomotive scheduling problems. Transportation Science 39 503517. Assad, A.A. 1978. Multicommodity network flows A survey. Networks 8 3791. Assad, A.A. 1980a. Solving linear multicommodi ty flow problems. Proceedings of the IEEE International Conference on Circ uits and Computers, 157161. Assad, A.A. 1980b. Models for rail transportation. Transportation Research 14A 205220. Assad, A.A. 1981. Analytical models in rail transportation: an a nnotated bibliography. INFOR 19 5980. Assad, A.A. 1983. Analysis of rail classification policies. INFOR 21 293314. Barnhart, C. 1988. A networkba sed primaldual solution met hodology for the multicommodity network flow problem. Ph. D. Dissertation, Dept. of Civil Engineering, MIT, Cambridge, MA. Barnhart, C. 1993. Dualascent methods for la rgescale multicommodity flow problems. Naval Research Logistics 40 305324. Barnhart, C., N.L. Boland, L.W. Clarke, E.L. Johnson, G.L. Nemhauser, R.G. Shenoi. 1998. Flight string models for ai rcraft fleeting and routing. Transportation Science 32 208220. Barnhart, C., C.A. Hane, P.H. Vance. 2000a. Usi ng branchandpriceandc ut to solve origindestination integer multic ommodity flow problems. Operations Research 48 318326. Barnhart, C., H. Jin, P.H. Vance. 2000b. Rail road blocking : A networ k design application. Operations Research 48 603614. Barnhart, C., E. L. Johnson, R. Anbil, L. Ha tay. 1994. A column generation technique for the longhaul crew assignment problem. T. Ciriano, R. Leachman, eds. Optimization in Industry: Volume II John Wiley and Son, England, UK, 722. PAGE 184 184 Barnhart, C., E. L. Johnson, G. L Nemhauser, P. H. Vance. 2003. Crew scheduling. R.W. Hall, eds. Handbook of Transportation Science. Kluwer Academic Publisher, Norwell, MA, 493521. Barnhart, C., T.S. Kniker, M. Lohatepanont. 200 2. Itinerarybased airl ine fleet assignment. Transportation Science 36 199217. Barnhart, C., Y. Sheffi. 1993. A networkbase d primaldual heuristi c for the solution of multicommodity network flow problems. Transportation Science 27 102117. Bellmore, M., G. Bennington, S. Lubore. 1971. A multivehicle tanker scheduling problem. Transportation Science 5 3647. Bodin, L., B. Golden, A.A. Assad, M. Ball. 1983. Routing and scheduling of vehicles and crews: The state of the art. Computer and Operations Research 10 63211. Bodin, L.D., B.L. Golden, A.D. Schuster, W. Ro wing. 1980. A model for the blockings of trains. Transportation Research 14B 115120. Booler, J.M.P. 1980. The solution of a ra ilway locomotive scheduling problem. Journal of the Operational Research Society 31 943948. Booler, J.M.P. 1995. A note on the use of La grangean relaxation in railway scheduling. Journal of the Operational Research Society 46 123127. Brannlund, U., P.O. Lin dberg, A. Nou, J.E. Nilson. 1998. Ra ilway timetabling using Lagrangian relaxation. Transportation Science 32 358369. Brunetta, L., M. Conforti, M. Fischetti. 2000. A polyhedral approach to an integer multicommodity flow problem. Discrete Applied Mathematics 101 1336. Campbell, K.C. 1996. Booking and revenue manage ment for rail intermodal services. PhD Dissertation. Department of Systems Engi neering, University of Pennsylvania, Philadelphia, PA. Caprara, A., M. Fischetti, P. Toth, D. Vigo, P.L. Guida. 1997. Algorithms for railway crew management. Mathematical Programming 79 124141. Carraresi, P., G. Gallo. 1984. Network mode ls for vehicle and crew scheduling. European Journal of Operational Research 16 139151. Castro, J, N. Nabona. 1996. An implementation of linear and nonlinear multicommodity network flows. European Journal of Operational Research 92 3753. Chen, H., C.G. Dewald. 1974. A generalized chain labeling algorithm for solving multicommodity flow problems. Computers and Oper ations Research 1 437465. PAGE 185 185 Chih, K.C., M.A. Hornung, M.S. Rothenberg, A. L. Kornhauser. 1990. Implementation of a real time locomotive distribution system. T.K.S. Murt hy, R.E. Rivier, G.F. List, J. Mikolaj, eds. Computer Applications in Railway Planning and Management Computational Mechanics Publications, Southampton, UK, 3949. Chu, C.K., C.H. Chan. 1998. Crew scheduling of light rail tran sit in Hong Kong: From modeling to implementation. Computer and Operations Research 25 887894. Clarke, L., E. Johnson, G. Nemhauser, Z. Zhu. 1997. The aircraft rotation problem. Annals of Operations Research 69 3346. Cordeau, J.F., F. Soumis, J. Desrosiers. 1998a A Benders decomposition approach for the locomotive and car assignment problem. Technical Report G9835, GERAD, Ecole des Hautes Etudes Commercial es de Montreal, Canada. Cordeau, J.F., P. Toth, D. Vigo. 1998b. A survey of optimization models for train routing and scheduling. Transportation Science 32 380404. Crainic, T.G., J.A. Ferland, J.M. Rousseau. 1984. A tactical planni ng model for rail freight transportation. Transportation Science 18 165184. Cremeans, J.E., R.A. Smith, G.R. Tyndall. 1970. Optimal multicommodity network flows with resource allocation. Naval Research Logistics Quarterly 17 269280. Dantzig, G.B., P. Wolfe. 1960. Decompos ition principle for linear programs. Operations Research 8 101111. Desrosiers, J., Y. Dumas, M.M. Solomon, F. Soumis. 1995. Timeconstrained routing and scheduling. M.O. Ball, eds. Handbooks in OR & MS Vol. 8 Elsevier Science, 35139. Detlefsen, N.K., S.W. Wallace. 2002. The simp lex algorithm for multi commodity networks. Networks 39 1528. Ernst, A.T., H. Jiang, M. Krishnamoorthy, H. Nott, D. Sier. 2001. An integrated optimization model for train crew management. Annals of Operations Research 108 211224. Evans, J.R. 1977. Some network flow models and heuristics for mu ltiproduct production and inventory planning. AIIE Transactions 9 7581. Farvolden, J.M., W.B. Powell. 1994. Subgradient methods for service network design problem. Transportation Science 28 256272. Farvolden, J.M., W.B. Powell, I.J. Lustig. 1993. A primal partitioning solution for the arcchain formulation of a multicomm odity network flow problem. Operations Research 41 669693. Feo, T.A., J.F. Bard. 1989. Flight sche duling and maintenance base planning. Management Science 35 14151432. PAGE 186 186 Fischetti, M., P. Toth. 1997. A package for lo comotive scheduling. Technical Report DEISOR9716, University of Bologna, Italy. Florian, M., G. Bushell, J. Ferland, G. Guerin, L. Nastan sky. 1976. The engine scheduling problem in a railway network. INFOR 14 121138. Florida Department of Transportation Report. 20 05. Freight rail component of the Florida Rail Plan. Technical Report. Freling, R., R.M. Lentink, A.P.M. Wagelm ans. 2004. A decision support system for crew planning in passenger transportation usi ng a flexible branchandprice algorithm. Annals of Operations Research 127 203222. Forbes, M.A., J.N. Holt, A.M. Watts. 1991. Ex act solution of locomotive scheduling problems. Journal of Operational Research Society 42 825831. Ford, L.R., D.R. Fulkerson. 1958. A suggest ed computation for maximal multicommodity network flow. Management Science 5 97101. Frangioni, A., G. Gallo. 1999. A bundle type dualascent appro ach to linear multicommodity mincost flow problems. INFORMS Journal on Computing 11 370393. Garey, M.R., D.S. Johnson. 1979. Computers and intractability: A guide to the theory of NPcompleteness W.H. Freeman, New York, NY. Gautier, A., F. Granot. 1995. Forest manage ment: A multicommodity flow formulation and sensitivity analysis. Management Science 41 16541688. Gersht, A., A. Shulman. 1987. A new algorit hm for the solution of the minimum cost multicommodity flow problem. Proceedings of the IEE Conference on Decision and Control 26, 748758. Goeffrion, A.M., G.W. Graves. 1974. Multico mmodity distribution sy stem design by Benders decomposition. Management Science 20 822844. Golden, B.L. 1975. A minimum cost multicommod ity network flow problem concerning imports and exports. Networks 5 331356. Gopalakrishnan, B., E. Johnson. 2005. Air line crew scheduling: Stateoftheart. Annals of Operations Research 140 305337. Gopalan, R., K.T. Talluri. 1998. The ai rcraft maintenance routing problem. Operations Research 46 260272. Gorman, M.F., M. Sarrafzadeh. 2000. An appl ication of dynamic programming to crew balancing at Burlington Nort hern Santa Fe Railway. International Journal of Services Technology and Management 1 174187. PAGE 187 187 Graves, G.W., R.D. McBride. 1976. The factorization approach to large scale linear programming. Mathematical Programming 10 91110. Hane, C.A., C. Barnhart, E.L. Johnson, R.E. Marsten, G.L. Nemhauser, G. Sigismondi. 1995. The fleet assignment problem: Solving a largescale integer program. Mathematical Programming 70 211232. Haghani, A.E. 1989. Formulation and solution of a combined train routing and makeup, and empty car distribution model. Transportation Research 23B 433452. Hoffman, K.L, M. Padberg. 1993. Solving airline crew scheduling proble ms by branchandcut. Management Science 39 657682. Holmberg, K., D. Yuan. 2003. A multicommodity ne tworkflow problem wi th side constraints on paths solved by column generation. INFORMS Journal on Computing 15 4257. Jha, K.C. 2004. Very largescale neighborhood sear ch heuristics for combinatorial optimization problems. Department of Industrial and Syst ems Engineering, University of Florida, Gainesville, FL. Kaplan, S. 1973. Readiness and the opt imal redeployment of resources. Naval Research Logistics Quarterly 20 625638 Keaton, M.H. 1989. Designing optimal railroad operation plans: Lagran gian relaxation and heuristic approaches. Transportation Research 23B 415431. Keaton, M.H. 1992. Designing optimal railroad ope rating plans: A dual adjustment method for implementing Lagrangian relaxation. Transportation Science 26 262279. Kennington, J.L., R.V. Helgason. 1980. Algorithms for Network Programming WileyInterscience, NY. Kennington, J.L. 1978. Survey of linear cost multicommodity network flows. Operations Research 26 209236. Kennington, J.L., M. Shalaby. 1977. An effect ive subgradient procedure for minimal cost multicommodity flow problems. Management Science 23 9941004. Korte, B. 1988. Applications of combinatoria l optimization. Technica l Report No. 88541OR. Institute fr Okonometrie und Operations Rese arch, Nassestrasse 2, D5300, Bonn, West Germany. Kraft, E.R. 1998. A reservati onbased railway network operati ons management system. PhD Dissertation. Department of Systems Engi neering, University of Pennsylvania, Philadelphia, PA. Larsson, T., D. Yuan. 2004. An augmente d Lagrangian algorithm for large scale multicommodity routing. Computational Optimi zation and Applications 27 187215. PAGE 188 188 Lin, Y., J. Yuan. 2001. On a multicommodity flow network reliability model and its application to a containerloading transportation problem. Journal of Operations Research Society of Japan 44 366377. Lohatepanont, M., C. Barnhart. 2004. Airlin e schedule planning: in tegrated models and algorithms for schedule desi gn and fleet assignment. Transportation Science 38 1932. Mamer, J.W., R.D. McBride. 2000. A decompositi onbased pricing proc edure for largescale linear programs: An application to th e linear multicommodity flow problem. Management Science 46 693709. Maroti, G., L. Kroon. 2005. Maintenance routin g for train units: th e transition model. Transportation Science 39 518525. Matsumoto, K., T. Nishizeki, N. Saito. 1985. An efficient algorithm for finding multicommodity flows in planar networks. SIAM Journal on Computing 14 289302. Newton, H.N., C. Barnhart, P.M. Vance. 1998. C onstructing railroad bloc king plans to minimize handling costs. Transportation Science 32 330345. Nou, A., J. Desrosiers, F. Soumis. 1997. Weekly locomotive scheduling at Swedish State Railways. Technical Report G9735, GERAD, Ecole des Hautes Etudes Commerciales de Montreal, Canada. Ouaja, W., Richards, B. 2004. A hybrid mult icommodity routing algorithm for traffic engineering. Networks 43 125140. Pinar, M.C., S.A. Zenios. 1990. Parallel decomp osition of multicommodity network flows using smooth penalty functions. Technical Report 901206, Department of Decision Sciences, Wharton School, University of Pennsylvania, Philadelphia, PA. Radzig, T. 1997. Fast deterministic approxima tion for the multicommodity flow problem. Mathematical Programming 78 4358. Ramani, K.V. 1981. An information system for allocating coach stock on Indian Railways. Interfaces 11 4451. Rexing, B., C. Barnhart, T. Kniker, A. Jarrah, N. Krishnamurthy. 2000. Airline fleet assignment with time windows. Transportation Science 34 120. Schneur, R. 1991. Scaling algorithms for multi commodity flow problem s and network flow problems with side constraints. Ph.D. Dissertation, Department of Civil Engineering, MIT, Cambridge, MA. Schneur, R., J.B. Orlin. 1998. A scaling algo rithm for multicommod ity flow problems. Operations Research 46 231246. PAGE 189 189 Smith, S., Y. Sheffi. 1988. Locomoti ve scheduling under uncertain demand. Transportation Research Records 1251 4553. Surface Transportation Board, US Department of Transportation, Bureau of Accounts, Employment Data, 2006. Swoveland, C. 1971. Decomposition algorithms for the multicommodity distribution problem. Working Paper No. 184, Western Management Sc ience Institute, University of California, Los Angeles. Talluri, K.T. 1996. Swapping applications in daily airline fleet assignment. Transportation Science 30 237248. Talluri, K.T. 1998. The fourday aircraft maintenance routing problem. Transportation Science 32 4353. Tomlin, J.A. 1966. A linear programming model for the assignment of traffic. Proceedings of the 3 rd Conference of the Australian Road Research Board 3, 263271. Vaidyanathan, B., K.C. Jha, R.K. Ahuja. 2007a. Multicommodity network flow approach to the railroad crewscheduling problem. IBM Journal of Research and Development 51 325344. Vaidyanathan, B., R.K. Ahuja, J. Liu, L.A. Sh ughart. 2007b. Reallife lo comotive planning: new formulations and computational results. Transportation Research B forthcoming. Vaidyanathan, B., R.K. Ahuja, J.B. Orlin. 2007c. The locomotive routing problem. Working paper, Department of Industrial and System s Engineering, Univer sity of Florida, Gainesville, FL. Vance, P.H., C. Barnhart, E.L. Johnson, G.L. Nemhauser. 1997. Airline crew scheduling: A new formulation and decomposition algorithm. Operations Research 45 188200. Walker, C.G., J. N. Snowdon, D. M. Ryan. 2005. Simultaneous disruption recovery of train timetable and crew ro ster in real time. Computer and Operations Research 32 20772094. Wise, T. H. 1995. Column Generation and Polyhedral Combinatorics for Airline Crew Scheduling. Ph.D. Dissertation, Cornel l University, Ithaca, NY. Wren, A. 1981. Computer Scheduling of Public Transport NorthHolland, Amsterdam. Wright, M.B. 1989. Applying stoc hastic algorithms to a loco motive scheduling problem. Journal of the Operational Research Society 40 187192. Ziarati, K., F. Soumis, J. Desrosiers, S. Ge linas, A. Saintonge. 1997. Locomotive assignment with heterogeneous consists at CN North America. European Journal of Operational Research 97 281292. PAGE 190 190 Ziarati, K., F. Soumis, J. Desrosiers, M.M. So lomon. 1999. A branchfirst, cutsecond approach for locomotive assignment. Management Science 45 11561168. PAGE 191 191 BIOGRAPHICAL SKETCH Balachandran Vaidyanathan is fr om India and he received his early education in the coastal city of Chennai. He received his bachelors de gree in naval architectu re and ocean engineering from the Indian Institute of Technology, Madras India in 2002. Since August 2003, he has been pursuing his doctoral degree at the Department of Industrial and Systems Engineering, University of Florida. His academic interest s include mathematical modeling and design of algorithms to solve realworld probl ems. He has made contributions in the areas of railroad crew and locomotive scheduling and has been awarded INFORMS 2004 and 2006 Honorable Mentions in their annual student paper comp etition on Management Science in Railroad Applications. He also received the Gradua te Student Best Paper Award 2007 from the Transportation Research Forum. 