A Novel Discrete Fruit Fly Optimization Algorithm for Intelligent Parallel Test sheets Generation

Parallel test sheet generation (PTSG) is a NP-hard combinational optimization problem, in which test sheet generation algorithm with high quality and efficiency is the core technology. Basic fruit fly optimization algorithm (FOA) has the defects of easily relapsing into local optimal and low convergence precision when solving PTSG problem. In this paper, a novel discrete fruit fly optimization algorithm is proposed to solve the PTSG problem, in which a discrete osphesis searching operator based on the problem-specific knowledge is designed to help the FOA escaping from being trapped in local minima. To evaluate the performance of the proposed algorithm, the simulation experiments were conducted using a series of item banks with different scales. The superiority of the proposed algorithm is demonstrated by comparing it with the particle swarm optimization algorithm and differential evolution algorithm.


INTRODUCTION
In order to handle emergency event or prevent cheating, parallel test sheets have to be constructed in a large variety of large scale examinations, such as achievement testing, college and graduate testing, professional certification and licensure testing, language testing and so on.Usually, parallel test sheets are generated according to similar test specifications, which should not only be paralleled in content but also should be paralleled in structure.With the efficiency and effectiveness of computer-based test, sheet generation has been confirmed by many early studies [1], and parallel test sheet generation by computer automatically has become an important and interesting research issue of computer-aided testing (CAT).
The PTSG problem is a NP-hard multiple constrained combinatorial optimization problem [1,2,3].The goal of the problem is to select a subset of test items from test item bank to construct a series of parallel test sheets, which can meet multiple parallel test sheets assessment requirements (such as number of parallel test sheets, difficulty degree and etc.) of the user simultaneously.In order to solve the PTSG problem effectively, evolutionary algorithms are attractive option for their simplicity and computational efficiency.Previous investigations have shown that most of the existing test item selection approaches focus on the composition of a single test sheet, such as genetic algorithm [4], particle swarm optimization algorithm [5], and Tabu algorithm [6].However, little research has been reported about parallel test sheet generation algorithm.
Very recently, a novel effective swarm intelligence optimization method, named fruit fly optimization algorithm (FOA), which is inspired by the knowledge from the fruit fly's foraging behavior, has been developed by Pan [7].Compared with other existed swarm intelligence methods, FOA has some attractive characteristics including few parameters to adjusted, simple computation process, ease to understand and implement, and good convergence.Owing to these merits, the FOA has been successfully applied to tackling some academic and engineering optimization problems and becomes a competitive optimizer [8,9,10].
As the basic FOA is originally proposed to solve the continuous optimization problem, its main algorithm operations and strategies are developed for the continuous variables.When using it to solve PTSG problem, constrained by its optimization mechanism, FOA has the defects of easily relapsing into local optimal and low convergence precision in the later optimization.Therefore, in this study, we propose an improved FOA to solve the PTSG problem, which is designed based on the problem-specific knowledge.The effectiveness and efficiency of the proposed DFOA is demonstrated by simulation tests on a series of item , ,..., N B q q q contain N test items, K parallel test sheets with specific difficulty degree and similar discrimination need to be composed out of test item bank B.Moreover, all the K parallel test sheets will involve M course-related concepts ^1 2 , ,..., M C c c c to be tested and have no same test items.The variables used in the model are defined as follows.

Test item attributes
In addition to the test item content and answer, each question i q B , {1,2,..., } i N , has 4+M measurement attributes: Num_id: it is used to store the question identity.
i dis , 1≤i≤N: discrimination degree of q i .i dif , 1≤i≤N: difficulty degree of q i .i t , 1≤i≤N: time needed for answering q i .rela ij , 1≤i≤N, 1≤j≤M: degree of association between q i and concept c i .

Parallel test sheets specification
K: number of parallel test sheets that will be composed simultaneously.
Dif: target degree of difficulty for parallel test design.
h j ,1≤j≤M: lower bound ratio on the expected relevance of C j for each test sheet.S: number of test items that each parallel test sheets must contain.

Problem Model
The model aims to choose a fixed number of test items so that the maximum difference of discrimination degrees between any pair of the parallel test sheets is minimized and the difficulty degrees of all of the test sheets are the closest to the specified target difficulty.The goal of PTSG problem is to minimize the following objection function: Where Subject to If test item q i is chosen into the K parallel test sheet, then the decision variable x ik =1, otherwise x ik =0.Constraint (4) indicates that the selected test items in each parallel test sheet must have a relevance degree no less than the expected relevance degree to each specified concept.Equations ( 5) and ( 6) emphasis that total expected test time of each generated parallel test sheet must be in its specified range.Constraints (7) require that no pair of parallel test sheets can contain any identical test items.Finally, equation (8) claims that every parallel test sheet must contain S test items.

DISCRETE FRUIT FLY ALGORITHM FOR PTSG PROBLEM
In this section, the basic FOA is introduced firstly.Then a novel discrete fruit fly optimization algorithm (DFOA) is illustrated for solving PTSG problem, including the flowchart of FOA, population initialization, the encoding and decoding strategy, discrete osphesis food searching operator, vision food searching operator and repair operator.

FOA introduction
Fruit fly optimization algorithm [7] is a new swarm intelligence method for global optimization, which is

Web of Conferences MATEC
inspired by the food foraging behavior of fruit flies.Generally speaking, FOA mimics two foraging processes: (1) the fruit flies smell the food source by osphresis organs and fly towards the food location; (2) after getting close to the food, they fly towards a better direction using the sensitive vision ability and the location information of the swarm.The procedure of FOA can be presented as follows.
Step1.Initialize the algorithm parameter, that is, population size and a termination criterion.
Step2.Initialize the location of fruit fly swarm randomly in the search space.
Step3.Generate a fruit fly population randomly around the fruit fly swarm location using osphresis foraging process.
Step4.Evaluate the smell concentration or the fitness value of the individual location of each fruit fly.
Step5.Find the best food source, and then the fruit fly swarm flies towards that location using vision foraging ability.
Step6.Repeat step 3-5 to optimize iteratively until the termination condition is reached.

DFOA procedure
The evolution procedure of FOA reveals that the swarm will only learn from the best individual, which makes the algorithm be relapsed into local optimal in the later evolution easily.To balance the global and local search effectively, we designed an improved FOA for PTSG problem, which is presented in Figure 1. ( , where NP and D don't change during the population evolution process.Inspired by the research report [1], each fruit fly individual is sequentially divided into K segments with equal length, in which each segment represents the selected test item number of a dependent parallel test-sheet.Therefore, the dimension D of each fruit fly individual is equal to the total test item number selected in the K parallel test-sheets.

Initialize algorithm parameters
For the PTSG problem, each decision variable of the fruit fly individual is used to denote a number of the selected test item.The following decoding strategy is used to translate each component of the individual into a test item number.
(1) Distance vector G i dis is calculated by equation ( 11) where, each component x y to the origin point (0,0) .(2) The smell concentration vector G i s corresponding to the distance vector is calculated by equation ( 12).
(3) As PTSG is a discrete combinatorial optimization problem, the real parameter individual G i s must be decoded to a solution composed of integer variables.According to the designed decoding schema, each element G ij s of the smell concentration vector should belong to [0,1) .If [0,1) , the later repair operator will be employed until [0,1) ICETA 2015 The smell concentration vector G ij s is mapped to the PTSG problem solution 1 2 ( , ,..., )

D tin tin tin tin
as the following way: ( ) where, () floor is a function for truncating a floating-point number to an integer.

Discrete osphresis searching operator
The basic FOA is originally proposed to solve the continuous optimization problem, its main algorithm operations and strategies are developed for the continuous variables, which has the problems of being trapped in local optimal or premature in the later optimization procedure.In order to improve the performance of FOA, a discrete osphresis food searching strategy based on the characteristic of the PTSG problem is designed to balance the global and local searching ability of FOA.The procedure of the strategy is shown in Figure 2. Set c= z +(m-1) u S 9: (2 [0,1]-1) y yPosition rand u 11: END FOR

Vision searching operator
In vision food searching process, the smell concentration of each fruit fly is evaluated by equation (1).Then, the best fruit fly with the minimum smell concentration in the population is found out, and the fruit fly group is replaced with the best fruit fly.Simultaneously, the fruit fly population location is refreshed with the best individual location.where, bestIndexj is the position index of the best individual.

Repair operator
If the element G ij s of each individual not belong to [0,1) , the repair operator will be employed by equa- tion (20) and ( 21) until the newly refreshed [0,1)

SIMULATION TESTING RESULTS AND COMPARISION
To test the performance of the proposed DFOA, five simulation item banks with different scale are used.
There are 20 concept topics in each item bank and all the item banks have the same table structure.All the algorithms used in this paper are coded using C language in Microsoft Windows 2008 server (32bite) operating system on a PC with 2.7GHz CPU, 2G RAM.

Performance comparison
First, we compare the DFOA with the particle swarm optimization algorithm (PSO) and differential evolution (DE) algorithm on five simulation item banks.Suppose three parallel test sheets with sixty test items will be generated.The parameters of the three algorithms were set empirically in the following.We set w=0.5, c1=2.05,c2=2.05,MAXV=1.5,NP=20, and D=180 for PSO.Set NP=20, D=180, F=0.5, CR=0.1forDE.For DFOA, we set NP=30 and D=180.All algorithms are stopped when the fitness value is smaller than 1 or the running time reaches 10 minutes.Each algorithm is executed 20 times on each simulation item bank independently.
Table 1 gives the comparative results of success ratio for three approaches on five different item banks, where the column "SR" is the success ratio, which denotes the ratio of number of successful runs to that of total runs.Table 2 presents the time efficiency of the three compared algorithms running successful on three item banks, which is reflected by the execution time of the algorithm in searching for the optimal solution.In table 2, "Avg" and "Std" stand for the average value and standard deviation of the execution time in 20 runs.According to the PTSG problem model, a run is considered to be successful if it stops after the fitness value of the algorithm is smaller than one, and simultaneously the running time is not more than 10 minutes.The shorter the execution time, the faster the algorithm find the optimal solution.

01040-p.4
For the small-scale test item banks, it can be seen from Table 1 that the success ratios of DFOA are all 100%.Although the success ratios of PSO and DE on large-scale can reach 100%, but the success ratios of them on small-scale test item banks will descend.Furthermore, as shown in Table 2, it can be clearly seen that the DFOA is superior to the PSO and DE in terms of the average value and standard deviation of the execution time on three large-scale test item banks.The comparative results of Tables 1 and 2 indicate that the DFOA is able to obtain better solutions than the PSO and DE in a more effective way on five item banks with different scale.
Then, the three compared algorithms were used to compose two and three parallel test sheets simultaneously on item bank 10000.The stopping criterion is the same with previous experiment and each algorithm is also executed 20 times on every test sheet specification.The comparative results are listed in Table 3, in which "NOPTS" denotes the number of parallel test sheets, "Avg" and "Std" respectively denotes the average value, and standard deviation of the execution time.
It can be observed from Table 3 that when generating two or three parallel test sheets simultaneously, DFOA exhibit superior optimization performance than PSO and DE in terms of the average value and the standard deviation of the execution time.Besides, although the average execution time of the three compared algorithms will both increase when the number of parallel test sheets grows, but the execution time DFOA has no significant increase.

Convergence analysis
The convergence curves of the three compared algorithms on item bank 1000 are shown in Figure 3.
The convergence curves of the Figure 3 reveals that DFOA can balance the exploitation and exploration effectively, therefore it has better convergence speed and accuracy than PSO and DE algorithm.testing system development.To solve the problem, a novel discrete fruit fly algorithm was put forward, in which a discrete osphesis food search operator is designed based on the characteristic of the PTSG problem.Several comparative experiments results conducted on a series of item banks with different scale demonstrate that the DFOA can solve the PTSG problem effectively.In addition, it could be interesting to make the PTSG problem model in line with the actual exam and how to further exploring problem-specific characteristics to enhance the performance of the DFOA in the future.
t upp : upper bound on the expected time needed for answering each test sheet.t low : lower bound on the expected time needed for answering each test sheet.

Figure 3 .
Figure 3. Convergence curves of three algorithms

Figure 4 .
Figure 4. Flying route of the fruit fly swarm Parallel test sheet generation (PTSG) is a NP-hard combinational optimization problem, in which test sheet generation algorithm with high quality and efficiency is the core technology.Basic fruit fly optimization algorithm (FOA) has the defects of easily relapsing into local optimal and low convergence precision when solving PTSG problem.In this paper, a novel discrete fruit fly optimization algorithm is proposed to solve the PTSG problem, in which a discrete osphesis searching operator based on the problem-specific knowledge is designed to help the FOA escaping from being trapped in local minima.To evaluate the performance of the proposed algorithm, the simulation experiments were conducted using a series of item banks with different scales.The superiority of the proposed algorithm is demonstrated by comparing it with the particle swarm optimization algorithm and differential evolution algorithm.

Table 1 .
Success ratio of three compared algorithms