By analyzing the characteristics of whole-set orders problem and combining the theory of glowworm swarm optimization, a new glowworm swarm optimization algorithm for scheduling is proposed. A new hybrid-encoding schema combining with two-dimensional encoding and random-key encoding is given. In order to enhance the capability of optimal searching and speed up the convergence rate, the dynamical changed step strategy is integrated into this algorithm. Furthermore, experimental results prove its feasibility and efficiency.
Whole-set orders problem refers to customers’ orders including multiple workpieces with different processing time and completion deadlines; since these workpieces are matching together as one, the delivery delay of the whole order will account for one delayed piece; customers are meeting a matching problem. In the customized production environment, whole-set orders problem can better reflect the corporations’ service level and customers’ satisfaction. It has become an important branch in the field of production scheduling and has broadened practical backgrounds.
At present, the algorithms used in production scheduling can be divided into accurate algorithms and approximation algorithms. Accurate algorithms (mathematical programming, branch and bound algorithm, Lagrangian relaxation, etc.) can get accurate solutions of problems, but big amount of calculation and time-consumption limit their applications in solving small-scale problems. Approximation algorithms (genetic algorithm, particle swarm optimization, ant colony algorithm, etc.) for their simple operation, parallel processing, have been widely applied in production scheduling and large-scale problems.
Glowworm swarm optimization (GSO) is proposed by Krishnanand and Ghose as one of the newest nature inspired heuristics [
Due to the definition of whole-set orders problem, when each order includes only one workpiece, it becomes a problem of weighed number of delay jobs, so whole-set orders problem is a kind of NP-hard problem.
Maximizing the number of weighted whole-set orders is our objective function:
We suppose the following. There are
Consider
The processing time of workpiece All the workpieces are got ready, which means arriving time One piece can only be processed once, and single machine should process one job each time, Once processed the workpiece should not be terminated. The complete time of workpiece
The characteristics of whole orders problem include its complexity, restriction, and discreteness.
Most kinds of glowworms can locate its position and exchange information by sending out rhythmed short beam. The idea of GSO is glowworm individual finding flaring neighbors in its searching scope. Move from initial position to a better one and at last assemble into one or more extreme value point.
In GSO algorithm, Glowworm individuals’ attraction is only related to its brightness. Attraction of individual is proportional to brightness and inversely proportional to the distance between the two individuals. The position of individuals account for objective function value. Define dynamic decision domain as individual searching scope. When updating position, individuals move by step.
Detailed procedures of classical GSO are as follows. Initialize parameters. The objective function value in which In each The probability of individual in which The position of individual The dynamic decision domain can be updated as
By analyzing the characteristics of whole-set orders problem, this paper will solve it by using glowworm swarm optimization. The key of this algorithm includes encoding and decoding schema, individuals standing without neighbors, variable step strategy, and the distance of individuals.
A sound encoding method can lower solving difficulty caused by constraint conditions and raise efficiency. The common encoding methods in approximation algorithms at present include machine-based coding and process-based coding. Among these methods, machine-based coding can reflect limitations of the processing machines, while it may easily result in deadlock scheduling; Jobs’ relation-based coding uses binary coding method which may easily cause redundant scheduling results. Process-based coding assigns the same symbol to every process of the same job, but the result producing through this method is not an initiative scheduling.
In view of this, a hybrid encoding schema combining with 2-dimensional coding and random-key coding is given. In whole-set orders problem, one individual’s location accounts for one feasible code, and the movement of individual means the exchange of codes.
In the coding, the method in this paper combines natural numbers and randomly real numbers between 0 and 1. Natural numbers 1,2,3,…
2-dimensional individual encoding.
1 | 2 | 3 |
|
|
|
| |||||
|
|
|
|
|
|
This method increases bits of valid number. It could avoid some repetitive sorts that may lead to invalid codes. In decoding, relative size of number accounts for the process position of workpiece
In example 1, there are 6 workpieces and their 2-dimensional codes like Table
Case of codes.
1 | 2 | 3 | 4 | 5 | 6 |
| |||||
0.23 | 0.48 | 0.76 | 0.01 | 0.44 | 0.79 |
There are 6 workpieces and their 2-dimensional codes like Table
Ascending sort the real numbers we get 0.01-0.23-0.44-0.48-0.76-0.79; the code of workpiece number 1 is 0.23, and 0.23 is the second minimum in the sort, so workpiece 1 will be processed at second position. Successively analyzing, we can get the process sequence: 4-1-5-2-3-6.
Furthermore, all the feasible codes and process sequences are one-to-one correspondence. Because of the difference of each real number, their ascending sort would be uniqueness.
According to classical GSO, an individual glowworm performs random move towards a neighbor better than itself through probability in accordance with the neighborhoods’ fluorescent brightness. If there are too many candidate solution or the neighborhoods distribute unevenly, there may be a small probability of the event that some individuals do not have neighbors so that they would like to be stagnant, which may results in the slowing down of the rate of convergence and the likely access into the local optimization. To avoid the above disadvantages, every individual must be ensured to be dynamic in the optimizing process. Thus, in this algorithm, if an individual has no neighbor, it should move one step at random in the optimizing process of its own generation.
The step size of an individual in GSO is ordinarily fixed. In solving the whole-set orders problem or similar special problems, both bigger and smaller steps will cause adverse effects in that the bigger steps may result in missing the optimal solution, slowing down of the rate of convergence, and the easy occurrence of shaking, while the smaller steps may result in an early trapping in the local optimization by which the optimal solution cannot be obtained. Therefore, changing the step size dynamically can improve the solving efficiency of the algorithm.
At the beginning of the algorithm, the step size should be kept big enough to avoid trapping into the local optimization. With the increasing of iteration, the step size should be shortened gradually to ensure an optimal solution at the later stage of the algorithm. So the formula of moving step is designed as
Curve of
In whole-set orders problem, bit of codes is related to the numbers of workpiece and usually may be multidimensional array, and the key of it is how to calculate distance between individuals. Here, we suppose there are
For example, there are two process sequences after decoding (6-5-4-3-2-1) and (1-2-4-3-6-5). By
The pseudo codes of GSOS as shown in Pseudocode
(a) Initialization: (b) While { for for each { for each {
To verify the feasibility of GSOS, we have tested two simulations of different scales.
According to [
In Table
The efficiency of results is shown in Table
The results of optimization numbers are shown in Table
Orders and weights.
Order | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Weight | 0.08 | 0.1 | 0.09 | 0.11 | 0.12 | 0.2 | 0.05 | 0.15 | 0.05 | 0.05 |
Information of orders.
2 | 3 | 7 | 10 | 14 | 16 | 19 | 30 | 38 | 42 | 52 | 60 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | (1) | (2) | (2) | (2) | (2) | (2) | ||||||
2 | (1) | (2) | (1) | (2) | ||||||||
3 | (1) | (2) | (2) | (2) | ||||||||
4 | (1) | (2) | (2) | (1) | (2) | |||||||
5 | (1) | (1) | (2) | (2) | ||||||||
6 | (1) | (2) | (2) | |||||||||
7 | (1) | (2) | (2) | |||||||||
8 | (2) | (1) | (2) | (1) | (2) | |||||||
9 | (1) | (1) | (2) | (1) | ||||||||
10 | (2) | (1) | (2) |
Comparison of time consumption.
Algorithm | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Ave |
---|---|---|---|---|---|---|---|---|---|---|---|
GA | 121.8 | 117.9 | 118.2 | 117.6 | 118.2 | 117.5 | 119.6 | 117.9 | 117.8 | 118.6 | 118.5 |
GSO | 84.90 | 83.70 | 83.81 | 83.15 | 83.39 | 83.72 | 84.19 | 83.63 | 83.54 | 83.52 | 83.76 |
Results of numbers.
Algorithm | Max | Min | Ave | Var |
---|---|---|---|---|
GA | 0.77 | 0.68 | 0.727 | 0.0762 |
GSOS | 0.77 | 0.72 | 0.752 | 0.0531 |
To insure the performance of GSOS, Example 2 is generated randomly, information is in detail in Tables
The results of optimization numbers are shown in Table
From Tables
The searching curves of GSOS and GA are shown in Figures
According to the Figures
Orders and weights.
Order | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
Weight | 0.14 | 0.15 | 0.15 | 0.13 | 0.12 | 0.12 | 0.09 | 0.1 |
(a) Information of orders for Job 1–10. (b) Information of orders for Job 11–21.
Job | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Order | 1 | 1 | 1 | 2 | 2 | 2 | 3 | 3 | 3 | 4 |
Deadline | 8 | 23 | 40 | 10 | 26 | 42 | 15 | 32 | 48 | 17 |
Cpu time | 4.5 | 4 | 3.5 | 4 | 2 | 4 | 3 | 3 | 3.5 | 3 |
Job | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
---|---|---|---|---|---|---|---|---|---|---|---|
Order | 4 | 4 | 5 | 5 | 5 | 6 | 6 | 7 | 7 | 8 | 8 |
Deadline | 36 | 56 | 20 | 39 | 60 | 12 | 35 | 16 | 40 | 22 | 50 |
Cpu time | 3 | 5 | 3.5 | 4.5 | 3 | 2 | 4 | 4 | 4 | 3 | 2 |
Results of numbers.
Algorithm | Max | Ave | Var |
---|---|---|---|
GA | 0.77 | 0.728 | 0.0493 |
GSOS | 0.78 | 0.749 | 0.0491 |
Comparison of time consumption.
Algorithm | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Ave |
---|---|---|---|---|---|---|---|---|---|---|---|
GA | 121.8 | 117.9 | 118.2 | 117.6 | 118.2 | 117.5 | 119.6 | 117.9 | 117.8 | 118.6 | 118.5 |
GSO | 84.90 | 83.70 | 83.81 | 83.15 | 83.39 | 83.72 | 84.19 | 83.63 | 83.54 | 83.52 | 83.76 |
Curves in case 1.
Curves in case 2.
An improved glowworm swarm optimization for scheduling (GSOS) is proposed in this paper; we have verified its high rate of convergence, efficiency, accuracy, and easy operation through simulations on different scales of whole-set orders problem. To test its performance on parallel machines and bigger scales that will be our research direction later on.
This work is partially supported by the National Natural Science Foundation of China (Grant no. 70971080) and the doctoral fund of Taiyuan University of Science & Technology (Grant no. 20102028). The authors also gratefully acknowledge the helpful comments and suggestions of the reviewers, which have improved the presentation.