【正文】
le, cargo placed in speci?c holds or deck sections on ships, or in sections within yards. Containers are unloaded from ships by quay cranes onto movers or trailers which carry them to assigned yard locations where they are loaded onto stacks by yard cranes. Containers destined for import are set aside, and restacking, if required, is carried out. In the movement of containers, sequencing is crucial because containers are stored in stacks in the ship and on the yard and lanes may be designated to speci?c trailers at certain times. In addition, the movement of containers involves routing and crane operations where timings may be uncertain. In fact, crane scheduling is one activity among many that determine the movement of containers. Other such activities include 3 berthing, yard storage, ship stowage and vehicle allocation and routing, all of which can be uncertain. Because of the uncertainty present over all activities, it is almost impossible to implement a plan over any length of time. This di?culty is present in scheduling cranes. For example, although a set of jobs may be assigned to a certain crane, it may not be possible for the crane to plete processing a job in this set onto movers once it was known that the route these movers are to take was congested. As another example, although we can specify that jobs bound for the same yard space are not unloaded from ships simultaneously, we cannot expect such containers to be unloaded at a time other than the allotted time interval, since a required resource to plete the job may bee unavailable after this time, as for example, if the yard crane bees unavailable. In view of the dynamically changing environment, a central control devises and maintains a job assignment plan that is periodically updated in order to coordinate operations, including crane scheduling. The system will allocate all jobs and resources periodically. In the port we studied, a job parcel can include a number of ships and a number of cranes together with jobs. Typically, there can be up to ?ve ships with four to seven cranes per ship and a number of jobs depending on the size and con?guration of ships. Jobs have a pro?t value assigned to them and resources, ., cranes, movers, lanes etc., are assigned to each of the jobs depending on their value to the overall operations plan which aims to optimize total throughput. When an assignment plan is updated, the central system reassesses the current state of operations to regroup and reassign job parcels. Because of this, time is acmodated by constant adjustments of job parcels and assignments based on the current state of all operations. Hence, once jobs and resources are assigned for the time period no update is necessary. Jobs e in di?erent sizes, and cranes have di?erent handling capacities. Since we make the assumption that any crane assigned to a job pletes it, the throughput or pro?t, for a given cranetojob assignment, is a ?xed value independent of other cranetojob assignments. The problem is naturally represented by a bipartite graph matching problem when we take cranes and jobs to be the vertices and de?ne the weights of connecting edges to be cranetojob throughput. This representation is shown in Figure 1. 4 Figure 1 This matching problem is interesting because, in practice, a number of spatial constraintsarise for cranes and jobs. We ?rst introduce qualitative notions of three particularly mon constraints which we call ―spatial‖ constraints since they are related to the relative positions of cranes and jobs. Our objective is to ?nd a cranetojob assignment scheme which maximizes throughput under these constraints. For reasons given above, we assume that cranetojob assignments are performed in a given time interval, ., there is no temporal ponent in the problem. Detailed de?nitions will be given in the relevant sections of this paper. 1. Noncrossing constraint: Cranes cannot cross over each other. This is a structural constraint on cranes and crane tracks. 2. Neighborhood constraint: There is a minimum distance between cranes. This arises, for example, since cranes require ?exibility in space to perform jobs and/or for safety reasons. The e?ect of this constraint is that neighboring jobs may be a?ected and may not be assignable to other cranes. 3. Jobseparation constraint: Certain jobs cannot be done simultaneously. For example, jobs bound for the same yard may require separation in time to avoid trailer congestion in lanes. In the following sections, we ?rst consider these constraints separately and then simultaneously. In section 3, an O(mn) dynamic programming (DP) algorithm is given to solve the problem with only the Noncrossing constraint where m is the number of cranes and n is the number of jobs. In section 4, we use an O(m2n) dynamic programming algorithm to achieve an optimal solution for the problem with both the Noncrossing and Neighborhood constraints. In section 5, assuming all three spatial constraints, we show the problem to be NPplete and give two heuristic approaches to solve the problem — a probabilistic tabu search and a squeaky wheel optimization 5 with local search method. In section 6, we provide experimental results and pare the di?erent approaches. 3 Scheduling with the NonCrossing Constraint The Problem Throughout this work, C= {c1, c2, . . . , cm} is a set of cranes and J= {j1, j2, . . . , jn} a set of jobs. The order of subscripts assigned to the cranes and jobs represents their spatial (assumed linear) distribution, ., the neighbor of j1is j2, the neighbors of j2are j1and j3,. . . , and the neighbor of jnis jn?1, The same holds for the cranes. An m n adjacency matrix, W , is used to represent the relationships between jobs and cranes. For each Wx,y∈ W , the value Wx,y represents the throughpu