An Iterated Local Search Algorithm for a Place Scheduling Problem

We study the place scheduling problem which has many application backgrounds in realities. For the block manufacturing project with special manufacturing platform requirements, we propose a place resource schedule problem. First, the mathematical model for the place resource schedule problem is given. On the basis of resource-constrained project scheduling problem and packing problem, we develop a hybrid heuristic method which combines priority rules and three-dimensional best fit algorithm, in which the priority rules determine the scheduling order and the three-dimensional best fit algorithm solves the placement. After this method is used to get an initial solution, the iterated local search is employed to get an improvement. Finally, we use a set of simulation data to demonstrate the steps of the proposed method and verify its feasibility.


Introduction
One of the main works in ship manufacturing is hull section processing.This process is always implemented on the block manufacturing platform, which usually takes a long time to finish.Because of the limited area, it cannot meet the requirement of the shipbuilding enterprises.Effective use of limited resources has become a concern for the shipbuilding enterprises.
For utilization of the platform in block manufacturing, we propose a place scheduling problem.It includes two related problems.One is resource constrained project scheduling problem (RCPSP), and the other is bin packing problem.
The RCPSP is described as an individual project that includes  activities; these activities cannot stop during its processing time.There are two kinds of restrictions during the process.One is precedence constraints.It means that activity  cannot start before its predecessor activity in   .The other one is resource constraints.To make the activity work smoothly, the activity  needs   unit resources during its process.We decide the finish time of every activity under the priority and resource constraints to get the shortest project makespan.Hartmann proposes algorithm for static job scheduling problem which belongs to NP-hard problem [1].Kelley, Alvar-Valdes, and Tamarit give approximate and exact methods [2,3].Alcaraz and Maroto develop a heuristic method based on priority rules [4].It consists of two parts, a scheduling generation method and a priority rule.Kolisch summarizes the scheduling generation methods into two categories, serial and parallel methods [5].Serial schedule is implemented by the addition of activities, while parallel schedule is produced with the increasing of the time.Baker considers that every activity should only be scheduled once for a single path [6].Mingozzi et al. propose a RCPSP problem based on a new mathematical model and use an exact method [7].
Packing problem is about how to put more boxes into a bin in which the bottom area is limited.We can divide the packing problem into two categories for discussion: twodimensional and three-dimensional packing problems.For two-dimensional packing problem, Burke et al. propose a new placement heuristic for the rectangular cutting issues [8].Egeblad and Pisinger provide a new method for the two-dimensional packing problem and extend to threedimensional packing problem [9].In three-dimensional packing, the method of 3BF is based on searching the list in order.Similar to 2BF algorithm, it searches dynamically to find suitable boxes to be put in the available space.The 3BF defines that blank area is at the farthest point where the boxes are to be put.The 3BF is raised by Martello et al. [10]; it solves the problem of how to select suitable boxes, and the point cannot be blocked by other boxes.This paper is organized as follows.Section 2 gives a mathematical model.Section 3 proposes an iterated local search algorithm.Section 4 presents a set of simulation examples to demonstrate the method.Section 5 comes up with a summary for this paper.

Place Scheduling Problem
The project consists of  activities  = {1, 2, . . ., }.Every activity should be processed on the required platform, that is, place.We define it as   =   ×   , where   and   denote the length of the place  that activity  requires, respectively.The duration that activity  requires is defined as   .  and   represent the start and finish time of the activity , respectively.In the project, there are  kinds of place recourses, and every place resource is given by   =   ×   , where   and   denote the length and width of the available place , respectively.There are  types of places  = {1, 2, . . ., }.All activities have priority constraints;   is the predecessors of .We assume that the start time of the project is 0. We decide the start time of the activities so that the makespan of the project is minimized.
For modeling this problem, two dummy nodes 0 and +1 are introduced.0 is the predecessor of all the activities, and  + 1 is the successor of all the activities in the project.The duration and required place resource of the two dummy nodes are 0. Obviously, the finish time of  + 1 is the makespan of the project, so the problem can be formulated as follows: minimize  +1 . ( Priorities between activities can be defined as We can show it by a network diagram as in Figure 1.
We regard an activity as a cuboid, and it is defined as Constraint (3) denotes that any two cuboids cannot overlap.Constraints ( 4) and ( 5) denote that any cuboid should be finished within the available place.Constraint (6) means that the cuboid can rotate ninety degrees, which is represented by two values.

The Initial Solution Method.
For the initial solution, we develop a hybrid heuristic method of project scheduling problem and packing problem to solve it.Each activity is abstracted as a cuboid and is put in the available place.As we put the cuboid into the space, we divide different places according to different heights.Every place is a twodimensional area.
There are many methods of how to place the rectangle.We will use best fit [8] heuristic algorithm to solve our problem.We cannot just rely on the size of the rectangle to judge which is more suitable, because cuboids have their sequences.But in the Best Fit method, the standard to select the cuboid to be moved only relies on the lengths and widths of the unselected cuboids.Inspired by this, we should consider the sequence before we select the cuboids using the Best Fit method.We place the larger bottom area first; if they are equal, select the one with the higher height.
Before placing it, we can regard the bottom area as an object in a two-dimensional packing problem.After packing, we can use some methods of the three-dimensional packing.We can put them according to some rules.Length, width, and height can be interchanged when we put them.But in our problem, the height is the duration, so only length and width can be interchanged.This is different from the threedimensional packing.There are many methods regarding the three-dimensional packing problem.We mainly use the algorithm of Crainic et al. which is based on the extreme point [13].Its main objective is to determine the placement.We place the bottom-left-rear point on the selected placement.The extreme point is represented as {, , }.We select the location based on the extreme point.We give the description on how to select the position as follows.
(1) Put the first activity on the origin (0, 0, 0), and then it will produce three new extreme points.
(2) Put the second activity by our  −  −  rule which means that the smaller  among the extreme points is preferred.Then, the smaller  will be considered.Finally, the  will be selected.Meanwhile, we consider rotation when we place the boxes.
(3) If an activity cannot match the placement, we will use another activity.In the worse condition, if all activities cannot match the placement, we will find another placement to find a bigger  as a placement.
(4) If the extreme point of   cannot meet the activity's requirement, we will delete this point.In other words, we will not search for it again in the next stage.
Priority rule based scheduling is an important method to RCPSP.It is straightforward and easy to use.There are many priorities; the better ones are presented in Table 1.
We cannot use these rules directly, but we can learn some ideas, like MTS.It is sorted by the minimum of the latest finish time.We use it in the improvement algorithm.In our rule, the larger bottom area will be considered first; if they are the same, the longer duration (i.e., ) will be considered.
It is closely related to priority and schedule generation scheme (SGS).SGS gets a feasible schedule by local search.Local search means arranging part of activities in stage.There are two different SGSs.We call them serial and parallel.The arrangement is described as follows.
(1) We select the activities from the network graph according to the priority rule.Then, we put them in the set   which means that activities can be arranged.
(2) We will select an activity from   .The larger bottom area will be considered first; if they are the same, the longer duration (i.e., ) will be considered.
(3) We put the activities into the set   which means that activities have been scheduled.This is one cycle.Then, a new cycle will begin.
(4) According to the rule, we arrange new activities which are in the set   on the extreme point.If it cannot be placed, we will consider the rotation.If not, the second in the set   will be placed.The process will not finish until all the activities are scheduled.
There are some kinds of placement.We consider putting the cuboid along the -axis or the -axis.

Optimization Solution Method.
For the initial solution, we solve it by a rule, so the result is not necessarily the best.Iterated local search will be used to improve the initial solution by searching the local neighborhood to produce local optimum.[14].Voudouris and Tsang apply local search in the traveling salesman problem [15].Schaerf and Meisels use local search in the employee timetabling problems [16].Marco et al. reviews the local search and introduces specific applications [17].The idea of the local search is to search for the neighborhood of the initial solution and then iterate constantly.Local search is not only attractive but also very successful in practice.In recent research, combinatorial optimization and continuous optimization problems can be applied by local search.There is essential difference in search space type between combinatorial optimization problems and continuous optimization problems.The space of combinatorial optimization is finite, but the space of the continuous optimization is infinite.We use the space of the combinatorial optimization, and then the local search will be used to find the optimal.

Local Search. Savelsbergh proposes the ideas of local search to solve the time window problem
Lucio et al. use the local search in a network planning algorithm that incorporates uncertain traffic demands [18].[19].Funke et al. use it in the vehicle routing and scheduling problems [20].Tricoire proposes multidirectional local search [21].Ricca and Simeone apply it in political districting [22].Mills et al. propose an extended guided local search to the quadratic assignment problem [23].

Iterated Local Search.
Iterated local search is widely used because of its simplicity and efficiency.It starts the search from the initial solution.So, before we use it, an initial solution should be obtained.In general, a more optimal solution can be found based on several initial solutions.For nondeterministic polynomial (NP) problem, it is difficult to enumerate all circumstances, so we find a generally better solution.From an initial solution, we can find a better solution by constantly search.It may take more time.
The key to the iterated local search is searching the local neighborhood constantly.Then, we decide whether it is the solution we want.It is as follows.
(2) Start the local search from the initial solution.
(3) Get another solution by perturbation.(4) Start the local search from the recent solution.
(5) Compare and choose a better solution.( 6) Repeat until the termination condition is met.
For combinatorial optimization problems, the candidate feasible solutions in the neighborhood of the feasible solution are countable.Local optimum can be defined as ∀ ∈ (  ).We get () ≤ (  ).The  is the objective function.We can enumerate all the candidate solutions and check them if they are better than the current solution.If there is no better solution, the current solution is the optimal.
It is very important to learn the concept of neighborhood for the local search.If a feasible solution   can change into a feasible solution  by a step, a feasible solution   can be called a neighboring feasible solution .Neighborhood is the set of the feasible solution .It begins by local search to find local optimum.The initial solution changes after being constantly perturbed.We can find a new local optimum this way.The purpose of perturbation is to find different solutions.Then, we compare them to find a better one.
The local search is demonstrated in Figure 2.There are six activities, A, B, C, D, E, and F. The old stands for the previous solution.The new means the current solution after the local search.Local search is based on the old solution; the new one is the one among the neighboring feasible solutions of the old.
In Figure 2, the B is inserted into the front of the D to form a new solution.In our problem, we can consider the activities that start at the same time to exchange to get a new sequence.

Simulation Experiment
We use a set of simulation data to show our algorithm.This set of data is adapted from PSPLIB by Kolisch and Sprecher [24], in which any two resources are set as the length and width of a place, respectively.One of the generated instances is described as follows.
There are two places; the length and width of place 1 are 3 and 2 are 3 and 2 for place 2. The activities of odd numbers work on place 1.The activities of even numbers work on place 2. The network diagram is given in Figure 3.The data of activities is presented in Table 2.
The arrangement steps described as follows.
(1) At first, the lowest time is 0, the activities that can be arranged are {2, 3, 4, 5}, and the odd activities of place 1 are {3, 5}.The bottom area of them is the same, so we compare their duration.We arrange activity 3 at first.According to our rule, we put bottom left rear of activity 3 on the (0, 0, 0).Then, it produces three new extreme points; see Figure 4.
(4) There is still available space at time 0, but it cannot meet the activity needs.We should find another space.According to our rule, we search for the space from time 4. At time 4, there are some activities to be arranged {5, 6, 7}, which include unscheduled activities at time 0. According to the area and duration, the activity sequence of place 1 is {5, 7}.We put activity 5 on the (0, 0, 4); see Figure 7.
(     part is compared with previous solution to decide which is better until the termination condition is met.As in our example, we swap two activities that start at the same time during the local search.The others are arranged according to our normal rule.The perturbation of ILS in our example is that any two activities are swapped at any time in the local optimum.The activities that have been swapped will not be considered.The others are scheduled according to our normal rule.
The initial solution of this example is 27.After ILS, the optimal solution is 21, producing about 22% improvement.For the set of instances, the average improvement is 21%.

Conclusion
For the proposed place scheduling problem, we have developed a hybrid heuristic method to generate the initial solution.In order to produce local optimal solution, we have designed ILS method to create improvement for the initial solution.In the improvement, the random disturbance has an impact on the result.So, the improvement based on randomness will be the future research.

Figure 2 :
Figure 2: The demonstration of local search.

4 Figure 4 :
Figure 4: The status while activity 3 is put.

Figure 5 :
Figure 5: The status while activity 2 is put.

Figure 6 :
Figure 6: The status while activity 4 is put.

Figure 9 :
Figure 9: The status while activity 14 is put.

Table 2 :
The parameters of activities.