Computers & Operatons Research 34 (2007) 900 917 www.elsever.com/locate/cor A mult-start local search heurstc for shp schedulng a computatonal study Ger BrZnmo a,b,, Marelle Chrstansen b, Kjetl Fagerholt c,bjzrn Nygreen b a MARINTEK, Trondhem, Norway b Secton of Manageral Economcs and Operatons Research, Norwegan Unversty of Scence and Technology, Trondhem, Norway c Department of Marne Technology, Norwegan Unversty of Scence and Technology, Trondhem, Norway Avalable onlne 28 June 2005 Abstract We present a mult-start local search heurstc for a typcal shp schedulng problem. A large number of ntal solutons are generated by an nserton heurstc wth random elements. The best ntal solutons are mproved by a local search heurstc that s splt nto a quck and an extended verson. The quck local search s used to mprove a gven number of the best ntal solutons. The extended local search heurstc s then used to further mprove some of the best solutons found. The mult-start local search heurstc s compared wth an optmzaton-based soluton approach wth respect to computaton tme and soluton qualty. The computatonal study shows that the mult-start local search method consstently returns optmal or near-optmal solutons to real-lfe nstances of the shp schedulng problem wthn a reasonable amount of computaton tme. 2005 Elsever Ltd. All rghts reserved. Keywords: Martme transportaton; Integer programmng; Set parttonng; Routng 1. Introducton Durng the last couple of decades we have wtnessed tough competton between shppng companes, where the proft margns have been squeezed to a mnmum. Ths stuaton has been amplfed by the Correspondng author. E-mal addresses: ger.bronmo@ot.ntnu.no (G. BrZnmo), marelle.chrstansen@ot.ntnu.no (M. Chrstansen), kjetl.fagerholt@ntnu.no (K. Fagerholt), bjorn.nygreen@ot.ntnu.no (B. Nygreen). 0305-0548/$ - see front matter 2005 Elsever Ltd. All rghts reserved. do:10.1016/j.cor.2005.05.017
G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 901 consoldaton n the manufacturng sector. The growth n the sze of the man actors on the demand sde for sea transport servces has resulted n ncreased market power for the cargo owners or shppers. In order to reduce ths mbalance, there have been many mergers among shppng companes n the last decade. Many of them have also entered nto poolng and collaboraton efforts n order to ncrease ther market power and gan economcs of scale. These trends of mergers and poolng collaboratons result n larger operatng fleets and more nformaton spread over several geographcally separated areas. Ths means that t becomes much harder to decde on a good fleet schedule usng smple manual plannng methods that have been wdely used n the past. Further, the ncreasng competton n the shppng ndustry forces the companes to manage ther fleets effcently, smply to reman n busness. These ssues are some of the reasons for an ncreased need for advanced decson-support systems wthn shp schedulng, somethng that wll probably contnue to ncrease n the future. In Chrstansen et al. [1], further arguments are gven for the acceleratng needs for and benefts from such systems. In shppng, we usually dstngush between three general modes of operaton: ndustral, tramp and lner; see [2]. In ndustral shppng, the cargo owner or shpper controls the shps. Industral operators strve to mnmze the costs of shppng ther cargoes. Tramp shps follow the avalable cargoes, lke a tax. A tramp shppng company may have a certan amount of contract cargoes that t s commtted to carry, and tres to maxmze the proft from optonal cargoes. Lners operate accordng to a publshed tnerary and schedule smlar to a bus lne. Durng the last few decades there has been a shft from ndustral to tramp shppng. Perhaps the man reason for ths s that many cargo owners are now focusng on ther core busness and have outsourced other actvtes, such as transportaton, to ndependent shppng companes. The dfferent modes of operaton are descrbed n more detal n [1], a paper whch dscusses other reasons for the shft from ndustral to tramp shppng as well. In ths paper, we wll consder short-term schedulng problems wthn tramp shppng. In the lterature, we observe that most contrbutons are related to ndustral shppng, whle only a few have consdered the tramp market; see surveys [1,3,4]. The man reason for the mnmal attenton to tramp schedulng n the lterature may be that hstorcally the tramp market was operated by a large number of small operators. However, ths s not the case anymore. Appelgren [5,6] descrbed a typcal tramp shp schedulng problem already durng the end of the 1960s. Ths work was the frst to use a Dantzg Wolfe decomposton approach for routng and schedulng, an approach that has been used later n numerous other studes. The purpose of ths paper s to present a new mult-start local search heurstc for a tramp shp schedulng problem. We compare the heurstc wth a set parttonng approach regardng computatonal tme and soluton qualty. The heurstc s desgned for use n a decson-support system for tramp shp schedulng. Decson-support tools for the tramp market are n great demand, and ths study wll contrbute by analyzng whether the proposed heurstc suffcently meets the requrements of the tramp shppng ndustry. The rest of the paper s organzed as follows: In Secton 2 we present the shp schedulng problem that s addressed. The set parttonng approach s brefly descrbed n Secton 3, whle the multstart local search heurstc s descrbed n Secton 4. A computatonal study based on real tramp shp schedulng problems from several shppng companes s presented n Secton 5. Ths secton ncludes case descrptons, computatonal results and a dscusson of the results. Our conclusons follow n Secton 6.
902 G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 2. Problem descrpton The short-term shp schedulng problem that s studed corresponds to a maxmum proft problem wth pckups and delveres of bulk cargoes n the tramp market. A tramp shppng company often engages n contracts of affreghtment (COA). These are contracts to carry specfed quanttes of cargo between specfed ports wthn a specfc tme frame for an agreed payment per tonne. In some cases the controlled fleet may have nsuffcent capacty to serve all COA-cargoes durng the plannng horzon. In such a case some of the cargoes can be servced by spot charters, whch are shps chartered for a sngle voyage. In addton to the COA-cargoes, a tramp shppng company may take optonal spot cargoes. These cargoes wll be pcked up at a gven loadng port and delvered to a correspondng unloadng port f the shppng company fnds t proftable. Tme wndows are usually mposed for the loadng of the cargoes, and sometmes also for the unloadng. For some operatons, the shp capactes, the cargo type and quanttes are such that the shps may carry multple cargoes smultaneously. Ths means that a new loadng port can stll be vsted wth some cargoes onboard. We assume that the cargoes can be loaded onboard rrespectve of the type of product already onboard, gven that the shp s capacty s not exceeded. In addton, not all shps can vst all ports and take all cargoes. At the begnnng of the plannng perod, a shp may be n a port or at a pont at sea, whle at the end of the plannng perod we assume that the shp s n the last planned unloadng port. If the shp s not used durng the plannng perod, the start and end postons of the shp s assumed to be the same. In the short-term, t s of no nterest to plan a change n the fleet sze. Therefore, we are concerned wth the operatons of a gven number of shps wthn the plannng horzon. The fxed costs can be dsregarded as they have no nfluence on the plannng of optmal routes and schedules. We assume a heterogeneous fleet of shps wth specfc shp characterstcs ncludng dfferent cost structures and load capactes. The shps are charged port and channel tolls when vstng ports and passng channels and these costs depend on the sze of the shp. The remanng varable salng costs consst manly of fuel and desel ol costs. We assume that the salng costs do not depend on the load onboard the shp. Normally, tramp shppng companes seek to maxmze the proft of ther actvty, so we use ths objectve when optmzng the shp schedules. 3. The set parttonng approach The problem descrbed n Secton 2 can be formulated as an arc-flow model, see [7], and solved drectly by use of standard commercal optmzaton software for mxed nteger lnear programmng. Due to ts complexty, only small-szed data nstances can be solved to optmalty. In order to establsh real-lfe benchmarks for the heurstc, the model s formulated as a set parttonng problem nstead, wth columns correspondng to feasble shp schedules. All columns are pre-calculated and transferred to the set parttonng problem before t s solved. Ths s an approach that has been wdely used for solvng shp schedulng problems; see for nstance [8 12]. Secton 3.1 gves the set parttonng formulaton of the short-term tramp shp plannng problem, whle the column generaton algorthm s descrbed n Secton 3.2.
G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 903 3.1. The tramp shp schedulng problem formulated as a set parttonng problem The tramp shp schedulng problem can be formulated as a set parttonng problem wth varables that correspond to feasble shp schedules. In the mathematcal descrpton of the problem each cargo s represented by an ndex. We need to partton the set of cargoes, N, nto two subsets, N = N C N O, where N C s the set of cargoes the shppng company has commtted tself to carry, whle N O represents the optonal spot cargoes. Further, let V be the set of shps n the fleet ndexed by v. Let us assume that for each shp v, a set of canddate schedules s avalable, denoted R v, and a specfc schedule s ndexed by r. For each schedule r, the vstng sequence of all the loadng and unloadng ports and the assocated arrval tmes at each port are known. For a gven combnaton of cargo set and shp, the schedule wth maxmum proft s represented by a varable n the model. P vr s the proft from carryng the cargoes on schedule r by shp v, whle π s the proft f cargo s servced by a spot charter. Ths spot charter proft can be ether postve or negatve. Constant A vr s equal to one f schedule r for shp v servces cargo and zero otherwse. In the mathematcal formulaton, we use the followng types of varables. The bnary varable y vr, v V, r R v, equals one f shp v sals schedule r and zero otherwse, whle the varable s, N C, s equal to one f the COA-cargo s servced by a spot charter and zero otherwse. The set parttonng formulaton of the tramp shp schedulng problem wth spot charters can then be gven as follows: max P vr y vr + π s, (1) v V r R v N C A vr y vr + s = 1, N C, (2) v V r R v A vr y vr 1, N O, (3) v V r R v y vr = 1, v V, (4) r R v y vr {0, 1}, v V, r R v, (5) s {0, 1}, N C. (6) The objectve functon (1) maxmzes the proft ganed by operatng the fleet n the tramp market (or actually the margnal contrbuton, snce fxed costs are excluded from the formulaton). The terms are dvded nto the proft ganed by (a) operatng the fleet and (b) servcng the cargoes by spot charters. Constrants (2) ensure that all cargoes that the shppng company has commtted tself to carry are servced, ether by a shp n the company s fleet or by a spot charter. The correspondng constrants for the optonal cargoes are gven n (3). Note that the equalty sgn n (2) s replaced by an nequalty n (3) snce these cargoes do not have to be carred. Due to the branch-and-bound algorthm, t mght be useful to nsert an explct slack varable nto constrants (3). The set packng constrants (3) wll then become set parttonng constrants and the model becomes a pure set parttonng model. Constrants (4) assure that each shp n the fleet s assgned exactly one schedule (column). We have ntroduced schedules contanng
904 G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 no real ports for each of the vessels. Ths means that f a shp s not used durng the plannng perod, such an artfcal schedule s chosen n the optmal soluton. Constrants (5) and (6) mpose the bnary requrements on the varables. Accordng to (2), the s varables do not need to be defned as bnary snce the schedule varables are bnary. However, normally the bnary defnton s preferable wth regard to the branch-and-bound search. In the short-term tramp shppng problem descrbed, we assumed that the cargoes and shps are such that the shps may carry multple cargoes smultaneously. For some fleets operatng n partcular segments, only full loads are possble and feasble. Ths means that each cargo s loaded n a loadng port and the cargo s transported drectly to ts unloadng port. The set parttonng formulatons (1) (6) hold for both multple and full cargo problems. 3.2. Generaton of the shp schedules A column vector n the set parttonng formulaton gven n Secton 3.1 corresponds to one of the feasble schedules belongng to the set R v for shp v. Each column n the set parttonng formulaton contans nformaton about the actual cargoes n the schedule and the shp that s used. The route and schedule are not gven n the column, but are the bass for the proft coeffcent n the objectve functon. Here, we generate all columns a pror by use of an enumeraton technque. Frst, all feasble schedules for each cargo set and shp combnaton are calculated. Each schedule contans the sequence of loadng ports and unloadng ports of each cargo n the cargo set. Second, the loadng port s vsted before ts correspondng unloadng port n the schedule, but not necessarly n successon. Fnally, each cargo has to be servced wthn ts specfed tme wndows at the loadng and unloadng ports and the shp capacty constrants have to be fulflled. When all the feasble schedules are generated for a cargo set and shp combnaton, the one wth maxmum proft s the bass for the column transferred to the set parttonng model. As mentoned, the set parttonng model also apples for a case where only full loads are possble. In the schedule generaton phase, the number of feasble schedules for a specfed number of cargoes s lmted compared wth the multple cargo case. For nstance, wth three cargoes the maxmum number of dfferent schedules s sx. Normally, several of these schedules are not feasble due to the tme wndows. It s possble to generate all columns a pror for many of the real nstances of the tramp shp schedulng problem, snce they are often relatvely small or tghtly constraned [1]. Due to the tme wndows and capacty constrants, just a small part of the possble cargo combnatons s feasble. However, the approach s tme consumng compared wth an effcent heurstc and unsutable when solvng very large problems. Ths approach wll be used as a benchmark for the heurstc presented n Secton 4, and computatonal results for many real nstances wll be presented n Secton 5. 4. A mult-start local search heurstc Ths secton descrbes a mult-start local search heurstc for the tramp shp schedulng problem. In mult-start local search heurstcs a number of dfferent ntal solutons are generated by a constructve heurstc and mproved by local search. The framework s thoroughly descrbed n [13]. Mult-start heurstcs are effcent for problems where solutons can be easly constructed and where t s dffcult to make local search neghborhoods that can move far n the feasble search space. Shp schedulng problems normally have these characterstcs, snce they are often tghtly constraned.
G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 905 To the authors knowledge there has been lmted research on local search-based heurstcs for shp schedulng problems. However, wthn related routng problems, such as the vehcle routng problem wth tme wndows (VRPTW), the dal-a-rde problem wth tme wndows and the mult-vehcle pckup and delvery problem wth tme wndows, numerous heurstcs have been developed. In later years tabu search heurstcs have been consdered by many authors to be the most effcent approach for a number of problems, see for nstance [14 16]. Mult-start local search heurstcs for routng and schedulng problems have not receved much attenton n the lterature. However, Bräysy et al. [17] recently presented an effcent mult-start local search heurstc for the VRPTW, gvng compettve results. Also, Secton 5 shows that mult-start local search heurstcs can also be effcent n solvng shp schedulng problems. Secton 4.1 deals wth the generaton of ntal solutons. We construct a large number of such solutons by a partly randomzed nserton heurstc. Normally, n a mult-start local search every ntal soluton wll be mproved by a local search heurstc. In order to speed up the heurstc, we have decded to mprove only a selecton of the best ntal solutons, and splt the local search heurstc nto a quck and an extended verson. Frst, the selected ntal solutons are mproved by the quck local search heurstc, descrbed n Secton 4.2. Then a number of the best solutons from the quck local search are chosen, and these solutons are mproved by the extended local search heurstc. Secton 4.3 descrbes the extended local search heurstc, whle an overvew of the heurstc s gven n Secton 4.4. 4.1. Generatng ntal solutons The set of ntal solutons s very mportant for the performance of a mult-start local search heurstc. It should contan a combnaton of hgh-qualty and dverse solutons brngng the search as close as possble to the optmum. Ronen [18] showed that a based random algorthm provded good solutons to a smpler problem from ndustral shppng. In ths paper we generate dverse ntal solutons by constructng a part of each soluton randomly by usng a smlar based random nserton procedure. The rest of each soluton s then constructed usng a determnstc nserton heurstc that mports hgh-qualty to the soluton. A large number of ntal solutons are generated by repeatng the followng procedure a specfed number of tmes. Frst, a percentage of the cargoes, specfed by the parameter RANDOM_P, s subjected to the based random nserton procedure. The procedure s based snce the sequence of port nodes s determned determnstcally. The based random procedure s as follows: Step I : Make a lst L of the unassgned cargoes. Step II : Untl a percentage RANDOM_P of the cargoes s removed from L do: Step IIa : Randomly select a cargo from L, and randomly select a shp v. Step IIb : Assgn cargo to shp v by fndng the best possble nserton n the gven schedule. Step IIc : If the assgnment s feasble, remove cargo from L. Step IId : If the assgnment s nfeasble, select the next shp n the lst of shps (as the new shp v) and proceed from Step IIb. If cargo remans unassgned after all shps have been tested, remove t from L. We now use the determnstc nserton heurstc to construct the rest of the soluton. The nserton heurstc s a shp schedulng adaptaton of the heurstc presented n [19]. Frst, the lst of unassgned cargoes s sorted ncreasngly by the start of the pckup tme wndow (tme sort) or decreasngly by the cargo quantty (quantty sort). Then, the heurstc processes all cargoes n the lst n sequence. Each cargo s assgned
906 G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 shp v N+ N+ Fg. 1. 1-resequence neghborhood. to the avalable shp that gves the hghest proft gven that the assgnments already made are fxed. One half of the specfed number of ntal solutons s generated usng tme sort, whle the other half s generated usng quantty sort. 4.2. Quck local search The quck local search explores a unon of three dfferent neghborhoods. Each neghborhood s assgned a frequency, makng t possble to explore some neghborhoods more often than others. As opposed to the classc local search strategy of checkng all neghbors and selectng the best, our strategy s to perform all mprovng passes as they are found. The search contnues untl a local optmum s found,.e. when all neghborhoods are explored wthout fndng any mprovement. The neghborhoods are a collecton of ntra-route and nter-route operators. Intra-route operators try to mprove the schedule of one shp, whle nter-route operators look for mprovements by movng cargoes between two or more shps. The neghborhoods are presented n Fgs. 1 3. The descrptons below do not ndcate how the neghbors are enumerated; they are made as smple as possble to show how one neghbor s defned. Fg. 1 descrbes the 1-resequence neghborhood. The schedule of shp v s vsualzed by a strng of crcles representng the sequence of port nodes. The dotted crcles represent port nodes that are moved durng the process. Here, cargo s removed from the schedule of shp v. The cargo s then re-nserted nto the schedule of shp v at the best possble place. Let N be the number of cargoes n the cargo set N. Node represents the loadng port of cargo, whle node N + represents the unloadng port of cargo. In the example shown n the fgure, the loadng port node s moved, whle the unloadng port node s re-nserted at the same place as before. Fg. 2 llustrates the prncples of the Reassgn neghborhood. Cargo s removed from the schedule of shp v. Then the best nserton nto each of the other shps s found. Cargo s assgned to the shp that gves the best feasble nserton shp u. If there s one or more rejected cargoes n the cargo lst,.e.
G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 907 shp v shp u N+ N+ j rejected j N+j N+j Fg. 2. Reassgn neghborhood. shp v shp u N+ N+ j j N+j N+j Fg. 3. 2-nterchange neghborhood.
908 G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 ter=1 s=1 f(s,ter)=true? no yes Use neghborhoods s=s+1 no s>s? ter=ter+1 yes Local optmum? no yes stop Fg. 4. A flowchart of the quck local search heurstc. cargoes for whch the heurstc has not found any feasble nserton so far, the heurstc tres to fnd room for one of them. If a feasble reassgn s found, the rejected cargo j s nserted nto the schedule of shp v. Fg. 3 shows how the 2-nterchange neghborhood works. Cargo s removed from the schedule of shp v, and cargo j s removed from shp u. Then cargo s nserted nto the schedule of shp u, whle cargo j s nserted nto the schedule of shp v. The quck local search heurstc s llustrated by the flowchart n Fg. 4. Only a subset of the neghborhoods s used at each teraton. The motvaton behnd ths s that the neghborhoods have sgnfcantly dfferent computatonal complextes. The dea s that complex neghborhoods should not be used as often as smple ones. The neghborhoods are ndexed by s rangng from 1 to S, where S s the number of neghborhoods. At each teraton (ter) the heurstc loops through the neghborhood ndces and performs one round of each
G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 909 shp v N+ N+ j j N+j N+j Fg. 5. 2-resequence neghborhood. neghborhood that s allowed by the test f(s,ter) = TRUE?. Two nteger parameters are assgned to each neghborhood: FREQ s : nverse frequency,.e. the number of teratons between each tme neghborhood s s used. FIRST s : frst teraton neghborhood s s used. For nstance, f FREQ s s set to 5 and FIRST s s set to 2, the neghborhood s to be used at teraton numbers 2, 7, 12, etc. If no mprovement has been found durng an teraton, the soluton s locally optmal wth respect to the neghborhoods that were used n that teraton. However, n order to conclude that we have a local optmum, the soluton must be locally optmal wth respect to all the neghborhoods n S. Hence, the rest of the neghborhoods n S are used. If no mprovement s found, we have a local optmum and the quck local search heurstc termnates. One can easly magne parameter settngs where some of the teratons are empty,.e. that no neghborhoods wll be used n a specfc teraton. Such teratons wll not be performed. The heurstc also stores the neghborhoods that have been used snce the last mprovement was found, n order to prevent neghborhoods from beng used unnecessarly.
910 G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 shp u shp v N+ N+ j N+j j N+j shp w k N+k k N+k Fg. 6. 3-nterchange neghborhood. 4.3. Extended local search The extended local search heurstc s used n the last stage of the mult-start local search heurstc to gan further mprovements n the best solutons found so far. The search heurstc uses fve dfferent neghborhoods: the three neghborhoods that are used n the quck local search and two neghborhoods that are descrbed n the followng. The flowchart presented n Secton 4.2 s also vald for the extended local search heurstc. Fg. 5 llustrates the 2-resequence neghborhood. Cargoes and j are removed from the schedule of shp v. Cargo s then renserted nto the schedule of shp v at the best possble place. Fnally, cargo j s renserted at the best possble place. Fg. 6 presents the prncples of the 3-nterchange neghborhood. Cargoes, j and k are removed from shps v, u and w, respectvely. The cargoes, j and k are then nserted nto the schedule of shps u, w and v, respectvely. 4.4. Heurstc overvew The mult-start local search heurstc uses the followng addtonal parameters: NO_INIT: The number of ntal solutons generated. NO_QUICK: The number of ntal solutons to be mproved by quck local search. NO_EXTENDED: The number of solutons to be mproved by extended local search.
G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 911 The outlne of the mult-start local search heurstc s as follows: Step I : Generate NO_INIT ntal solutons. Step II : Choose the NO_QUICK best solutons and use the quck local search heurstc to mprove them. Step III : Choose the NO_EXTENDED best solutons and use the extended local search heurstc to mprove them. 5. Computatonal study The computatonal study s performed on eght real test cases from the tramp shppng ndustry. The data are collected from four dfferent shppng companes. The test cases are descrbed n Secton 5.1, whle Secton 5.2 descrbes the parameter settngs that are used. The mult-start local search heurstc s tested on all cases and compared wth the set parttonng approach. The results are presented n Secton 5.3. 5.1. Case descrptons Case 1 s collected from a shppng company operatng n northern Europe, transportng dry bulk commodtes such as rock, ron ore and alumnum. Cases 2 6 are represented by a chemcal commodtes shppng company operatng between Europe and the Carbbean. In these cases the number of shps vares from 3 to 13. The shps come from the same fleet. Case 2 s an artfcal test case based on real data. In cases 3 and 4 the rest of the fleet s engaged n fulfllng other oblgatons, whle n cases 5 and 6 the whole fleet s avalable. Case 7 s collected from a shppng company that carres petroleum commodtes between ports n northern Europe. Fnally, case 8 s represented by a short sea shppng company transportng dry bulk commodtes n northern Europe. The shps n cases 1 6 may have multple cargoes on board smultaneously, whle n cases 7 and 8 the shps can only carry full load,.e. one cargo on board smultaneously. The case descrptons are presented n Table 1. 5.2. Heurstc parameter settngs Table 2 presents fve dfferent frequency settngs for the quck and extended local search heurstcs. For the quck local search, only the frst three neghborhoods are used. The frequency settngs are Table 1 Case descrptons Cases 1 2 3 4 5 6 7 8 Case descrptons Plannng horzon n days 23 75 75 40 35 150 20 35 # of cargoes 18 9 17 14 17 50 30 15 # of shps 6 3 6 7 13 13 13 4
912 G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 Table 2 Frequency settngs for the dfferent neghborhoods n the local search (FREQ s FIRST s ) Parameter settngs F1 F2 F3 F4 F5 Neghborhood, s 1-resequence 1 1 1 1 1 1 1 1 1 1 Reassgn 1 1 1 1 1 1 2 2 2 2 2-nterchange 1 1 2 1 3 2 5 5 5 5 2-resequence 1 1 2 2 2 2 3 3 3 3 3-nterchange 1 1 2 2 5 4 9 8 100 100 Table 3 The effect of the dfferent frequency settngs for cases 1 and 3 6 Best soluton Quckest response Frequency settngs F3 1 0 F4 0 1 F5 0 2 Te between F4 and F5 0 2 Te between all settngs (F1 F5) 4 0 numbered from F1 to F5, and are represented by two numbers. The left number s FREQ s.e. how many teratons that wll be performed between each tme the actual neghborhood s s explored. The rght number represents the frst teraton neghborhood s s used (FIRST s ). Frequency settng F1 represents the standard way of executng local search, explorng all neghborhoods at each teraton, whle settngs F2 to F4 represent an ncreasng emphass on assgnng low frequences to computatonally expensve neghborhoods. F5 s equal to F4, wth the excepton of assgnng an artfcally hgh nverse frequency (.e. low frequency) on the trangle nterchange neghborhood (FREQ s = 100). For the cases presented here, ths low frequency means that the trangle nterchange s nvoked only when no mprovement can be found by any of the other neghborhoods. In order to select a reasonable frequency settng for the mult-start local search heurstc, we tested the extended local search heurstc outsde the mult-start framework. Two ntal solutons were generated by usng the determnstc nserton heurstc alone (.e. RANDOM_P = 0). The extended local search was tested on top of these two solutons for the sx multple cargo cases. In case 2 no mprovement was found by the extended local search heurstc. Table 3 shows the effect of the dfferent frequency settngs on the other fve cases. Settng F3 gave the best soluton n case 6. For all the other cases, there was no dfference n soluton value between the settngs. However, the response tmes were dfferent. Settngs F4 and F5 gave a qucker response than the other frequency settngs. It should be noted that there was a substantal effect on response tmes, whle the effect on soluton qualty was neglgble. These results ndcate that t s computatonally effcent to assgn a low frequency to a complex neghborhood and use smple neghborhoods more often. On the bass of these results, frequency settng F5 was chosen for the mult-start local search heurstc.
G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 913 Optmalty gap 2.5% 2.0% 1.5% 1.0% 0.5% Smallest Average 0.0% 0 5 10 15 20 25 30 35 40 45 50 Value of RANDOM_P Fg. 7. Senstvty to the value of the parameter RANDOM_P for case 5. Fg. 7 shows how the mult-start local search heurstc results from case 5 vary wth the parameter RANDOM_P. The smallest and average optmalty gaps from ten runs are reported for each value of RAN- DOM_P. The followng parameter settng was used: NO_INIT=100, NO_QUICK=6, NO_EXTENDED= 1. The fgure shows that the stablty of the heurstc decreases wth the value of RANDOM_P. The optmal RANDOM_P value, gvng the smallest average optmalty gap, for case 5 s 14. For the sake of brevty, we do not show charts for the other cases, but t should be noted that there are dfferences between the cases. The optmal value of RANDOM_P vared from 5 n case 6 to 25 n case 4. Hence, we have chosen to set RANDOM_P = 15 for all cases n the followng. Two dfferent parameter settngs were tested for the mult-start local search heurstc: Parameter settng 1: NO_INIT = 100, RANDOM_P = 15, NO_QUICK = 6, NO_EXTENDED = 1. Parameter settng 2: NO_INIT = 1000, RANDOM_P = 15, NO_QUICK = 14, NO_EXTENDED = 4. Frequency settng F5 was used n both the local search and the extended local search. 5.3. Computatonal results The tests were performed on a PC wth a Pentum IV, 2.8 GHz processor and 1.5 GB RAM under Wndows XP. The heurstc and the a pror column generaton were developed n C++ and the set parttonng model was solved by XpressMP. In the followng we wll concentrate prmarly on the multple cargo cases. The full load cases represent an easer problem than the multple cargo cases, snce pckup and delvery can be modeled as one operaton. However, we fnd t mportant that the heurstc works for the full load cases as well, snce many shppng companes are engaged n ths type of operaton. Table 4 shows the performance of the set parttonng approach for fve of the sx multple cargo cases. For case 6 the set parttonng approach faled, snce t was mpossble to generate all columns a pror. The frst two rows of the table gve a good characterstc of the complexty of each case. For each combnaton of cargo set and shp all feasble schedules were enumerated, and the best schedule was used n the set parttonng problem. In case 4 there s on average approxmately 7800 feasble schedules per cargo set shp combnaton. Ths s a lot compared to case 2, where there are less than three feasble schedules per cargo set shp combnaton. However, snce the average number of cargoes per feasble schedule s 6.9 we can also compare t wth an unconstraned travelng salesman problem nstance wth 14 ctes n addton to the orgn havng 14! feasble schedules.
914 G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 Table 4 Informaton from the set parttonng approach for the multple cargo cases Cases 1 2 3 4 5 Set parttonng nformaton # of feasble schedules 1 306 704 327 2 609 685 26 512 819 19 240 874 # of cargo set shp combnatons 46 254 113 6973 3399 21 257 Avg. # of cargoes per feasble schedule 6.0 4.1 7.0 7.6 6.9 Max # of cargoes n a feasble schedule 10 5 10 9 10 Column generaton CPU (s) 6482 < 1 9300 13 325 27 469 Set parttonng CPU (s) 5 < 1 < 1 < 1 2 Table 5 Soluton qualtes and computatonal results from testng the mult-start local search heurstc Cases 1 2 3 4 5 6 Parameter settng 1 Smallest gap from best soluton (%) 0.0 0.0 0.0 0.4 0.3 0.4 Average gap (%) 0.1 0.0 0.5 1.3 0.9 1.0 Average heurstc CPU (s) 4 0.5 3 3 4 72 Parameter settng 2 Smallest gap from best soluton (%) 0.0 0.0 0.0 0.4 0.1 0.0 Average gap (%) 0.0 0.0 0.2 0.7 0.4 0.5 Average heurstc CPU (s) 22 4 17 16 30 283 From Table 4 t can be seen that t s a computatonally expensve task to generate all columns a pror even for relatvely small problem nstances. Only for case 2, that s very tghtly constraned, the set parttonng approach proved to be hghly effcent. It s nterestng to note that when all columns were generated, the correspondng set parttonng problem was easy to solve. The optmal soluton was found n the frst branch-and-bound node for all the fve cases. Table 5 shows the results from testng the mult-start local search heurstc. For cases 1 5 the heurstc solutons are compared wth the optmal soluton. We cannot say anythng about the optmalty gap for case 6, so for ths case we use the best heurstc result (usng any settng) for comparson. Snce the heurstc s stochastc regardng the generaton of ntal solutons, we performed ten runs n order to make sensble comparsons. The smallest gap and the average gap from the best soluton and the average response tme are reported for parameter settngs 1 and 2. For cases 1 to 3 the heurstc produces excellent results already for parameter settng 1 wth 100 ntal solutons. It should be noted that for case 2 the optmal soluton was found among the ntal solutons n all runs. For parameter settng 2, wth 1000 ntal solutons, the mult-start local search heurstc produced near-optmal solutons n cases 4 and 5 as well, and the performance was stable for all the multple cargo cases. The results show that when usng ths heurstc one has to make some compromse between soluton
G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 915 Table 6 Computatonal results from testng the set parttonng approach and the heurstc full load cases Cases 7 8 Set parttonng approach # of feasble schedules 62 877 34 454 # of cargo combnatons 31 330 29 611 Avg. # of cargoes per feasble schedule 4.4 6.0 Max # of cargoes n a feasble schedule 7 11 Column generaton CPU (s) 235 454 Set parttonng CPU (s) 91 4 # of branch-and-bound nodes 5101 1 Mult-start local search heurstc Smallest gap from optmal soluton (%) 0.1 0.0 Average gap (%) 2.2 0.0 Average response tme (s) 65 14 qualty and response tme. For nstance, for case 5, f you use parameter settng 1, you can expect to obtan a soluton that s less than 1% from the optmal soluton n 4 s. Wth parameter settng 2 the average gap s 0.4% wth an average response tme of 30 s. And, fnally, f you choose to run the heurstc ten tmes wth parameter settng 2, you can expect a gap of approxmately 0.1% n 300 s. The dfference n response tme between the set parttonng approach and the heurstc s very large; see Tables 4 and 5. The set parttonng approach solves case 1 to optmalty wth more than 100 mn of computaton tme, whle the heurstc actually fnds the optmal soluton n many of the runs wthn a CPU tme of 4 s. A smlar stuaton s seen for case 3. Table 6 shows computatonal results for the full load cargo cases. The heurstc was run ten tmes wth parameter settng 2. The table shows that the heurstc works well also for these cases. For both cases the optmalty gap s small. The set parttonng approach was very effcent for these cases. Ths s probably because they are more constraned than the multple cargo cases, and that the pckup and delvery of each cargo can be treated as one operaton. It s nterestng to observe that case 7 was as the only case n ths paper not solved n the frst node of the branch-and-bound tree. 6. Conclusons We have presented a mult-start local search heurstc for solvng tramp shp schedulng problems. A set parttonng approach where all columns were generated a pror was used as a benchmark. In the mult-start local search heurstc, a set of ntal solutons s constructed by a partly randomzed nserton heurstc. A local search heurstc s then used to mprove a gven number of the best ntal solutons. In order to ncrease effcency, the local search s dvded nto a quck and an extended verson. Both local search heurstcs explore a collecton of neghborhoods wth dfferent frequences. The extended local search heurstc uses a larger collecton of neghborhoods than the quck verson. The quck local search heurstc s used to mprove all the selected ntal solutons, whle the extended verson s used to
916 G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 mprove a small number of the quck local optma. A verson of the mult-start local search heurstc s mplemented n the commercal decson support system TurboRouter [20], whch s appled by several shppng companes. In our opnon, the mult-start local search heurstc s well suted for the tramp shp schedulng problem snce real-lfe nstances are often tghtly constraned. The computatonal study supports ths and shows that the heurstc provdes optmal or near-optmal solutons for real-lfe nstances wthn a reasonable response tme. The heurstc also shows good robustness n terms of soluton qualty. Robust results n a short response tme may often be crucal for planners n the shppng ndustry, for nstance gvng quck answers to customers about whether to accept or reject spot cargoes. The results ndcate that a decson support system based on the descrbed heurstc wll be a valuable tool for planners n the shppng ndustry. There are several nterestng future research areas for tramp shp schedulng problems.a Dantzg Wolfe decomposton approach would be able to solve larger cases than the set parttonng approach wth a pror column generaton. It would also be nterestng to nvestgate other types of heurstcs, such as a talormade tabu search heurstc. Benchmark test cases are demanded. Such cases would probably accelerate the development of hgh qualty soluton methods, lke we have seen wthn vehcle routng research. Furthermore, t would be nterestng to consder rcher models of the problem. As an example, we can menton that n many contracts between shppng companes and cargo owners the quantty of each cargo s not fxed, but s rather gven n an nterval. The ntroducton of soft tme wndows s another example; see [21] and [22] for some partcular shp schedulng problems wth soft tme wndows. In practce, tme wndows are seldom seen as hard constrants. In the modelng, ths mght be handled by enforcng a penalty each tme a tme wndow s broken. Introducng such features nto the model provdes new challenges n the development of soluton methods. Acknowledgements Ths work was carred out wth fnancal support from the TOP project on transport optmzaton and the Research Councl of Norway. References [1] Chrstansen M, Fagerholt K, Ronen D. Shp routng and schedulng: status and perspectves. Transportaton Scence 2004;39(1):1 18. [2] Lawrence SA. Internatonal sea transport: the years ahead. Lexngton, MA: Lexngton Books; 1972. [3] Ronen D. Shp schedulng: the last decade. European Journal of Operatonal Research 1993;71:325 33. [4] Ronen D. Cargo shps routng and schedulng: survey of models and problems. European Journal of Operatonal Research 1983;12:119 26. [5] Appelgren LH. A column generaton algorthm for a shp schedulng problem. Transportaton Scence 1969;3:53 68. [6] Appelgren LH. Integer programmng methods for a vessel schedulng problem. Transportaton Scence 1971;5:64 78. [7] Chrstansen M, Fagerholt K, Nygreen B, Ronen D. Martme transportaton. In: Barnhart C, Laporte G, edtors. Handbooks n operatons research and management scence: transportaton. Amsterdam: North-Holland; 2006. 113p, forthcomng. [8] Brown GG, Graves W, Ronen D. Schedulng ocean transportaton of crude ol. Management Scence 1987;33(3):335 46. [9] Fsher ML, Rosenwen MB. An nteractve optmzaton system for bulk-cargo shp schedulng. Naval Research Logstcs 1989;36:27 42.
G. BrZnmo et al. / Computers & Operatons Research 34 (2007) 900 917 917 [10] Bausch DO, Brown GG, Ronen D. Schedulng short-term marne transport of bulk products. Martme Polcy and Management 1998;25(4):335 48. [11] Fagerholt K, Chrstansen M. A travellng salesman problem wth allocaton, tme wndow and precedence constrants an applcaton to shp schedulng. Internatonal Transactons n Operatonal Research 2000;7(3):231 44. [12] Chrstansen M, Fagerholt K. Robust shp schedulng wth multple tme wndows. Naval Research Logstcs 2002;49(6): 611 25. [13] Mart R. Mult-start methods. In: Glover FW, Kochenberger GA, edtors. Handbook of metaheurstcs. Berln: Sprnger; 2003. p. 355 68. [14] Nanry WP, Barnes JW. Solvng the pckup and delvery problem wth tme wndows usng reactve tabu search. Transportaton Research Part B 2000;34:107 21. [15] Cordeau JF, Laporte G. A tabu search heurstc for the statc mult-vehcle dal-a-rde problem. Transportaton Research Part B 2003;37:579 94. [16] Cordeau JF, Laporte G, Mercer A. A unfed tabu search heurstc for vehcle routng problems wth tme wndows. Journal of the Operatonal Research Socety 2001;52(8):928 36. [17] Bräysy O, Hasle G, Dullaert W. A mult-start local search algorthm for the vehcle routng problem wth tme wndows. European Journal of Operatonal Research 2004;159:586 605. [18] Ronen D. Short-term schedulng of vessels for shppng bulk or sem-bulk commodtes orgnatng n a sngle area. Operatons Research 1986;34(1):164 73. [19] Madsen O, Ravn H, Rygaard JM. A heurstc algorthm for a dal-a-rde problem wth tme wndows, multple capactes, and multple objectves. Annals of Operatons Research 1995;60:193 208. [20] Fagerholt K. A computer-based decson support system for vessel fleet schedulng experence and future research. Decson Support Systems 2004;37(1):35 47. [21] Fagerholt K. Shp schedulng wth soft tme wndows: an optmzaton based approach. European Journal of Operatonal Research 2001;131:559 71. [22] Chrstansen M, Nygreen B. Robust nventory shp routng by column generaton. In: Desaulners G, Desrosers J, Solomon M, edtors. Column generaton. Sprnger, 2005. p. 197 224. (Chapter 7).