An improved sine cosine algorithm for assignment problem

The assignment problem is a NP-hard combinatorial optimization problem, where assignees are being assigned to perform tasks. This paper presents an improved sine and cosine algorithm (ISCA) to solve this problem. Nonlinear decreasing inertia weight, chaotic map and greedy strategy are added to the original sine cosine algorithm (SCA) to enhance the ability of focusing on optimal and avoiding local optima. Simulation results show that the proposed algorithm can get more competitive solutions when compared with differential evolution (DE), particle swarm optimization (PSO) and original SCA.


Introduction
The State Grid Corporation of China (SGCC) hires many employees every year and each employee has different skills to perform different kinds of tasks. Reasonable human resource employment strategy may promote the motivation and creativity of employees and reduce human resource costs [1]. A big problem is how to assign employees to do the right work. This problem is also known as assignment problem [2].
The assignment problem is a special type of linear programming problem where assignees are being assigned to perform different tasks. A well-known algorithm designed for this problem is called the Hungarian algorithm which is developed by Hungarian mathematicians [3]. However, the Hungarian algorithm is difficult to understand and apply. It is often used to solve small scale problems. In recent years, swarm intelligent optimization algorithm has gained great concern in the theory of intelligent systems research. DE [4], PSO [5] and other algorithms have been widely used in each engineering fields.
In this paper, we develop the ISCA to solve the assignment problem. The main contribution is as follows:  A nonlinear decreasing inertia weight is added to the SCA.  Two chaotic random number generating techniques based on Logistic map and Chebyshev map respectively are used to generate new random numbers instead of uniform random number.  We propose a greedy strategy to enhance the convergence performance. The rest paper are organized as follows: the basic assignment problem model is described in Section 2. Section 3 provides the improvement to the original SCA. Section 4 describes the implementation of the Proposed ISCA. The simulation results and discussion are illustrated in Section 5. Finally, conclusions and future extensions are addressed in Scetion6.

The basic assignment problem
The basic assignment problem should satisfy the following assumptions:  The number of assignees and the number of tasks are the same.  Each assignee is to be assigned to exactly one task.  Each task is to be performed by exactly one assignee.  There is a cost associated with each assignee when performing each task.  The objective is to determine how all assignments should be made to minimize the total cost. The assignment problem model uses the following decision variables: 1 if assignee periforms task The assignment problem model is as follow: where ij c represents the cost that assignee i performing task j. The first constraint specifies that each assignee is to perform exactly one task. The second set requires each task to be performed by exactly one assignee.

Mathematical formulation of SCA
The SCA is a population-based optimization technique that founds the optimization process with a set of random solutions [6][7][8]. The SCA creates multiple initial random candidate solutions and requires them to fluctuate outwards or towards the best solution using a mathematical model based on sine and cosine functions. Some random and adaptive variables are integrated to this algorithm to emphasize exploration and exploitation of the search space.
The following position updating equations are proposed for both phases: These two equations are combined to be used as follows: where maxIter represents the maximum number of iterations, t is the current iteration, and a and b are two positive constants less than one with a > b. Fig. 1 shows the value of  with iterations. (2) Chaotic map In Eq. (5), 2 r is replace with the Chebyshev map [9]: where   (3) Greedy strategy When a candidate solution +1 t i U is generated by Eq. (5), the following expression is used.

ISCA for the assignment problems
The implementation steps for solving the OPF problem are done as follows: (1) Initialization Generate N solutions by the following equation: where i X is a uniformly distributed random number between 0 and 1.
(2) Calculate the objective function First, sort the vector components ordered by ascend for each X . Then, Find the column with the smallest number in cost matrix. At last, Find the rower with the smallest number in that column and assign task. Here, 3 assignees and 3 tasks for instance. The cost matrix and a solution are described as follows: The smallest number in X is 0.1 and it is in the third column. Select the third vector components in C. Then find the rower with the smallest number in this vector and assign assignee W1 perform task T3. Next, 0.6 is the smallest number in X except 0.1 and it is in the first column. Select the first vector components in C. Then find the rower with the smallest number in this vector. Because assignee W1 have assigned task T1, we find the rower with the smallest number except 2 in this vector and assign assignee W2 perform task T1. At last, assign assignee W3 perform task T2. The total cost is 6.

Simulation results
In order to demonstrate the efficiency and robustness of ISCA for solving the assignment problems. A 10 assignees and 10 tasks case is selected, and the results are compared with DE and PSO algorithms in the literature. Simulation Experiment is implemented in MATLAB R2016a, on a personal computer with Intel i5 2.3GHz processor, 4GB of RAM and Windows 10 Professional. Due to the stochastic nature of an evolutionary algorithm in each case, 30 independent trials are conducted to calculate the best, mean, and the worst costs, and its standard deviation for each test system. The cost data for the experiment is shown in Table 1.  T1  T2  T3  T4  T5  T6  T7  T8  T9  T10  W1  3  3  10  9  5  2  11  2  11  5  W2  6  2  7  11  4  In DE, PSO, SCA and ISCA, the population size is 10 and the maximum number of iterations 100. Other parameters are set the recommended value in corresponding paper. Table 2 shows the best assignment solution and the best cost is 29.  T1  T2  T3  T4  T5  T6  T7  T8  T9  T10  W1 0 Table 3 shows the obtained best cost, mean cost, worst cost and standard deviation after 30 trial runs. As observed from it, all algorithms could get the best assignment solution. The PSO and SCA have the same results. ISCA produces the optimal or the same in all experiment when compared with other algorithms.

Conclusion
In this paper, an improved sine and sine algorithm is proposed. It is implemented to solve the classic assignment problems. Three techniques including nonlinear decreasing inertia weight, chaotic map and greedy strategy are used in the proposed algorithm. Statistical results are compared with the reported results in literature. It is found that ISCA can yield a suitable balance between exploitation and exploration and has a better performance in terms of efficiency and robustness. The ISCA shows a good application prospect in enterprise. In the future, we will try to use the ISCA to solve other engineering optimization problems.