CN107451393A - Nurse Scheduling method and apparatus based on random variable neighborhood search algorithm - Google Patents
Nurse Scheduling method and apparatus based on random variable neighborhood search algorithm Download PDFInfo
- Publication number
- CN107451393A CN107451393A CN201710514796.6A CN201710514796A CN107451393A CN 107451393 A CN107451393 A CN 107451393A CN 201710514796 A CN201710514796 A CN 201710514796A CN 107451393 A CN107451393 A CN 107451393A
- Authority
- CN
- China
- Prior art keywords
- solution
- nurse
- random
- search algorithm
- neighborhood search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000010845 search algorithm Methods 0.000 title claims abstract description 30
- 238000012804 iterative process Methods 0.000 claims abstract description 10
- 238000011160 research Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 230000002354 daily effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention discloses a kind of Nurse Scheduling method based on random variable neighborhood search algorithm, comprise the following steps:The constraints that setting Nurse Scheduling need to meet, establishes object function;A random initial solution is generated, and as current solution and history optimal solution;Search is iterated to current optimal solution using random variable neighborhood search algorithm, and stopping criterion for iteration is set;In the iterative process, exchanged using random selection or moving operation operator performs operation to interim solution;When the target function value solution searched for temporarily corresponding to is less than or equal to target function value corresponding to current solution, the solution that this is searched for temporarily is as new current solution;Conversely, if iterations meets certain threshold value, history optimal solution is set to currently to solve and perform disturbance operation operator obtains new current solution.Using technical scheme, arranging an order according to class and grade rapidly and efficiently can be carried out to nurse.
Description
Technical field
The present invention relates to personal scheduling field, more particularly to a kind of Nurse Scheduling side based on random variable neighborhood search algorithm
Method and device.
Background technology
Multiple constraint personnel shifts arrangement in hospital department is all filled with the work of challenge all the time.Establish a shield
Scholar's shift report will not only consider the workload in section office, at the same need to consider the technical merit of nurse itself and demand etc. because
Element.It is very time-consuming if artificial arrange an order according to class and grade is carried out, and the section office for still having many hospitals at present carry out artificial arrange an order according to class and grade to nurse watch.
The foundation that shift report is carried out using software is a complexity and the discrete optimization problems of device being difficult to resolve.In the past few decades, permitted
More algorithms are studied.The algorithm for solving Nurse Scheduling can classify two major classes:It is the certainty based on integer programming respectively
Algorithm and the heuristic search algorithm based on heuristic strategies or first heuristic search framework.The former can find the optimal solution of determination
But the cost time is longer and the latter can more quickly find approximate optimal solution.It is how efficient under the constraints of complexity
Carry out Nurse Scheduling be still those skilled in the art's technical issues that need to address.
The content of the invention
In order to solve the above problems, the present invention provide a kind of Nurse Scheduling method based on random variable neighborhood search algorithm and
Device, the search being iterated using random exchange and mobile two operators to the solution of shift report, and use a loopy moving
Operator carries out disturbance to solution can jump out local optimum.The more existing change of random variable neighborhood search algorithm that the present invention uses
Neighborhood-region-search algorithm is more simple and more stable, can reach current existing best algorithm performance.
To achieve these goals, the present invention adopts the following technical scheme that:
A kind of Nurse Scheduling method based on random variable neighborhood search algorithm, comprises the following steps:
Step 1:The constraints that setting Nurse Scheduling need to meet, establishes object function;
Step 2:A random initial solution is generated, and as current solution and history optimal solution;
Step 3:Search is iterated to current solution using random variable neighborhood search algorithm, and stopping criterion for iteration is set;
In the iterative process, exchanged using random selection or moving operation operator is to interim solution, i.e., the pair currently solved
This execution operates;
When target function value corresponding to interim solution is less than or equal to target function value corresponding to current solution, the interim solution is made
For new current solution;Conversely, if iterations meets certain threshold value, history optimal solution is set to currently to solve and perform disturbance operation
Operator obtains new current solution.
Further, the object function is expressed as:
Here pj(Ci) represent nurse NjSoft constraint CiPenalty value, f (x) is the target function value of whole shift report.
Further, when target function value corresponding to interim solution is less than target function value corresponding to current solution, also again
Count iterations.
Further, when performing disturbance operation operator to current solution, iterations is also counted again.
Further, the random selection exchange or moving operation operator, performing operation to interim solution includes:
Randomly select two nurses, the random number b between a period of time length, and [0,1];If b<0.95, grasped using exchanging
Make operator, if b >=0.95, using moving operation operator.
Further, the determination method of the time span is:A number conduct is randomly selected between [1,28] first
D1, a number is then randomly selected between [D1,28] as D2, [D1, D2] i.e. selected time span.
Further, the disturbance operation operator is loopy moving operator, and operating process is as follows:Random selection one day, with
Machine selects one section of continuous nurse of sequence number, arranging an order according to class and grade for this part of nurse is carried out into loopy moving operation, mobile step number is one solid
Definite value.
According to another aspect of the present invention, present invention also offers a kind of nurse row based on random variable neighborhood search algorithm
Class's device, including:
Object function establishes module, the constraints that need to meet for setting Nurse Scheduling, establishes object function;
Initial solution generation module, for generating a random initial solution, and as current solution and history optimal solution;
Optimal solution search module, for being iterated search to current optimal solution using random variable neighborhood search algorithm, and
Stopping criterion for iteration is set;
In the iterative process, random selection exchanges or moving operation operator, and to interim solution, i.e., the copy currently solved is held
Row operation;
When target function value corresponding to interim solution is less than or equal to target function value corresponding to current solution, the interim solution is made
For new current solution;Conversely, if iterations meets certain threshold value, history optimal solution is set to currently to solve and perform disturbance operation
Operator obtains new current solution.
9. a kind of Nurse Scheduling device based on random variable neighborhood search algorithm as claimed in claim 1, its feature exist
In the random selection exchanges or moving operation operator, and performing operation to interim solution includes:
Randomly select two nurses, the random number b between a period of time length, and [0,1];If b<0.95, grasped using exchanging
Make operator, if b >=0.95, using moving operation operator.
10. a kind of Nurse Scheduling device based on random variable neighborhood search algorithm as claimed in claim 5, its feature exist
In the disturbance operation operator is loopy moving operator, and operating process is as follows:Random selection one day, randomly choose one section of sequence number
Continuous nurse, arranging an order according to class and grade for this part of nurse is subjected to loopy moving operation, mobile step number is a fixed value.
Beneficial effects of the present invention:
1st, the operation operator used in the present invention occurs among certain day, and two firm constraints are not in conflict, and
And operation operator is exchange and movement, realizes efficiency high.
2nd, object function can be regarded as | D |, | C | and | N | function.In the present invention, | D | and | C | all it is fixed value, because
This time complexity can be reduced to O (| N |).And due to exchanging and between mobile operator all simply acts on two nurses, because
This need not recalculate the value of other nurses when each iteration and only calculate the function of two nurses to change
Value.Therefore time complexity is reduced to O (1), and calculating time of shortening is so as to improving the efficiency of algorithm.
3rd, the present invention is selected to exchange and is moved two shirtsleeve operation operators using random manner, is not used extra
Complicated strategy, simplifies traditional algorithm of arranging an order according to class and grade.
Brief description of the drawings
Fig. 1 is inventive algorithm flow chart;
Fig. 2 is swap operation operator operation chart, wherein 2 (a) represents the shift report before exchanging, the row after 2 (b) exchange
Shift report;
Fig. 3 is moving operation operator operation chart, wherein 3 (a) preoperative shift report, arranging an order according to class and grade after 3 (b) operation
Table;
Fig. 4 is loopy moving operation operator operation chart;
The algorithm effect comparison diagram of Fig. 5 searching operators difference combinations;
The algorithm effect comparison diagram of two kinds of solution acceptance mechanisms of Fig. 6.
Embodiment
The invention will be further described with embodiment below in conjunction with the accompanying drawings.
Embodiment 1
A kind of Nurse Scheduling method based on random variable neighborhood search algorithm is present embodiments provided, as shown in figure 1, including
Following steps:
Step 1:The constraints that setting Nurse Scheduling need to meet, object function f (x) is obtained according to the constraints;
The present invention arranges an order according to class and grade contest (FirstInternational Nurse using first international nurse
Rostering Competition, INRC-2010) used by model and data set, the model can substantially describe very
Arranging an order according to class and grade in truth condition and can carry out certain extension at scene, here abbreviation INRC models.Generally, a nurse row
Shift report can regard a bivariate table as.The row of table is different nurses, the different times of row.What the content in table was filled in is
Work title of some nurse in some time.Work title refer to nurse on species in shifts.Make in INRC models
Work title includes:Morning (E), night shift (L), night shift (N), day shift (D) and charge nurse class (HD).And in most reality
Border is arranged an order according to class and grade essentially identical in scene, can also be replaced according to different situations.The basic process for establishing a Nurse Scheduling is exactly
Different work titles is distributed to different nurses, while to meet different constraints.
In the case of most, constraint can be divided into two kinds.One kind is firm constraints, and one kind is soft constraint.Hardness is about
Beam ensures to arrange an order according to class and grade to be able to carry out, therefore the situation that can not have any violation firm constraints during arranging an order according to class and grade occurs.Another kind is
Soft constraint, the soft constraint of ordinary circumstance can not all meet, it is therefore desirable to be reduced to the conflict to soft constraint at least.
Here is partial symbols explanation, for more easily illustrating model:
D:The set in continuous day, and the general name of a period of time.D size is 28 in INRC models, i.e., 28 days (four
Week);
N:It is nurse's set, we are with | N | representing the total number of persons of nurse, Ni represents i-th of nurse;
S:It is the set of work title.
C:It is the set of soft constraint, i-th of constraint is represented with Ci;
W:It is the weight of soft constraint.In the model instance of this research, each nurse has a task contract parameter,
It is used to specify the constraint weight of each nurse.We use WijTo represent nurse NjSoft constraint CiWeighted value;
H:Represent the set of firm constraints;
X:Represent a feasible solution, i.e. a shift report for meeting all firm constraints.
Constraints in INRC models is described in detail below and (also refers to the description in official document and other words).
Interim C1-9 sets the scope of some value, if super go beyond the scope of shift report means that conflict.C10-18 is mainly for uncommon
Hope and undesirable mode of operation, if there is or occur without some mode of operation, then conflict occur.Here work
Pattern refers to the work distribution set in a period of time.
Firm constraints:
H1:Daily a kind of work title can only be distributed to some nurse;
H2:Necessary work all daily will distribute to nurse's (meeting certain workload).
Soft constraint:
C1,C2:Specify and distribute to the minimum and maximum working days of some nurse;
C3,C4:Specify and distribute to the minimum and maximum stream day number of some nurse;
C5,C6:Minimum and maximum continuous rest number of days;
C7,C8:Minimum and maximum continuous work weekend number (if weekend at least darg, is considered as one
Work weekend);
C9:Maximum functional weekend number;
C10:Complete weekend constraint --- according to the definition at weekend, if a nurse is to be worked in some day at weekend
Rather than work for all days, then conflict;
C11:If identical work weekend constraint --- the work title difference of a nurse is distributed at weekend, is occurred
Conflict;
C12:Rest within two days after night shift --- after a night shift, if without two day time of having a rest, conflict;
C13:If all night in before rest weekend --- weekend is rest, should not be in the front-seat night shift at weekend;
C14:Undesirable mode of operation --- each nurse has several undesirable mode of operations, such as
There is the pattern within the cycle of arranging an order according to class and grade in fruit, then conflicts;
C15:Rest demand --- each nurse is not intended to go to work in some time, if arranging an order according to class and grade, conflicts;
C16:If level of skill constrains --- a nurse has been assigned to inefficient work title, rushes
It is prominent, for example charge nurse class is arranged to a general duty nurse;
C17:Specific demand of arranging an order according to class and grade --- similar C15, each nurse are not intended to arrange certain class in some time, if there is
Then conflict;
According to constraints above, the object function of the problem can be expressed as:
Here Pj(Ci) represent nurse NjSoft constraint CiValue penalty value, f (x) is the object function of whole shift report
Value.
Step 2:A random initial solution X is generated, and as current optimal solution;
Step 3:Search is iterated to current optimal solution using the random neighborhood search that becomes, the iterative process is as follows:
step1:If current solution and history optimal solution are X, and set stag_counter=0;
step2:The iteration ends time is set, whether evaluation algorithm reaches time restriction, if so, algorithm terminates, return is gone through
History optimal solution;If it is not, perform step3;
step3:Stag_counter=stag_counter+1, X ' is entered as into X, and as interim solution, (interim solution can be regarded as
The copy currently solved, it is an intermediate variable in this algorithm);
step4:Randomly select two nurses, the random number b between a period of time length, and [0,1];
step5:If b<0.95, group_swap operations are carried out to X ';
If b >=0.95, group_move operations are carried out to X ';
step6:Calculate f (X ');
step7:Judge f (X ') and f (X) magnitude relationship
If f (X ')<F (X), more new historical optimal solution;Stag_counter=0;X=X ' receives the solution after operation to work as
Preceding solution;Return to step2;
If f (X ')=f (X), X=X ' receives the solution after operation as current solution;Return to step2;
If f (X ') > f (X), judge that stag_counter exceedes some numerical value stag_limit, if so, stag_
Counter=0;X is arranged to history optimal solution;Part_cycle_shift operations are carried out to X;Return to step2;If it is not, return
step2。
Explanation is further explained to above-mentioned iterative process below:
(1) iterative process relate to two operation operators group_swap and group_move.Wherein group_
Swap operating process is to exchange all working title of two nurses selected at random in a period of time.Group_move behaviour
The process of work can be illustrated with:Select two nurses (N1 and N2) and a period of time length at random first.In every day, if
N1 rests and N2 goes to work, then N2 work title is distributed to N1, and allow N2 to rest.Therefore can also regard as N2 work
Movement is to N1.As shown in Figures 2 and 3, time span is arranged to 3 for the operating process of the two operation operators.Group_move is calculated
Son further relates to moving direction problem, and because this parameter is in the algorithm and insensitive, therefore we use from lower past in the implementation
On direction.Here the lower direction for representing that nurse's sequence number is larger.
(2) the two operators are selected using a kind of combination randomly selected in the present embodiment.
Two operation operators are required for first determining time span and two nurses to be operated.
The determination method of time span is:Choose a number as D1 between [1,28] at random first, then [D1,
28] number is chosen between as D2.
Two nurses N1 and N2 selection are directly to randomly select two different digitals between [1, | N |].
The selection of group_swap or group_move operators determines at random, by between [0,1] in algorithm
Random number and setting value b magnitude relationship determine.B=0.95, thus group_swap selection probability are chosen in the present embodiment
It is larger.B value is fixed value, it is not necessary to is adjusted for different data sets.
(3) during an iteration, if target function value is lower than the value currently solved or identical, this solution can be connect
Solved by be current.And stag_counter is only being found than can just be re-set as 0 when current preferably solution.Cross herein
History optimal solution is updated in journey.
Under normal circumstances, only target function value is lower than the value currently solved, that is, has obtained just receiving during more preferable solution, and this
In embodiment in each iteration when algorithm have found an equal solution of functional value, still receive the solution as current solution, it is real
Verify bright, the method for the present embodiment is more highly efficient than only receiving preferably to solve.
(4) we record the iterations before disturbance operation using stag_counter.Using stag_limit this
Individual numerical value is as the tolerance value for jumping out locally optimal solution.Carrying out a number of iteration and any not more preferable or identical
Solution occur, algorithm restarts.And the current solution restarted is then by a disturbance operation operator by history optimal solution
Obtained after part_cycle_shift operations.
The course of work of this operation operator is as follows:Selection random first one day, then randomly choose one section of sequence number and connect
Continuous nurse.Loopy moving operation is carried out in the arranging an order according to class and grade of this sub-fraction, specifically as shown in figure 4, step number is set in the present embodiment
1 is set to, nurse's number is 3.We use a fixed value to the step number of this operation in the algorithm, therefore need not adjust.Move
Dynamic direction is equally insensitive, so we take direction from bottom to top.
Embodiment 2
Based on the method described in embodiment 1, present invention also offers a kind of nurse based on random variable neighborhood search algorithm
Arrange an order according to class and grade device, including:
Object function establishes module, the constraints that need to meet for setting Nurse Scheduling, establishes object function;
Initial solution generation module, for generating a random initial solution, and as current solution and history optimal solution;
Optimal solution search module, for being iterated search to current optimal solution using random variable neighborhood search algorithm, and
Stopping criterion for iteration is set;
In the iterative process, random selection exchanges or moving operation operator, and interim solution (copy currently solved) is held
Row operation;
When target function value corresponding to interim solution is less than or equal to target function value corresponding to current solution, the interim solution is made
For new current solution;Conversely, if iterations meets certain threshold value, history optimal solution is set to currently to solve and perform disturbance operation
Operator obtains new current solution.
The object function is expressed as:
Here pj(Ci) represent nurse NjSoft constraint CiValue penalty value, f (x) is the object function of whole shift report
Value.
When target function value corresponding to interim solution is less than target function value corresponding to current solution, iteration time is also counted again
Number.
When performing disturbance operation operator to current solution, iterations is also counted again.
The random selection exchanges or moving operation operator, and performing operation to interim solution includes:Randomly select two shields
Random number b between scholar, a period of time length, and [0,1];If b<0.95, using swap operation operator, if b >=0.95, using shifting
Dynamic operation operator.
The determination method of the time span is:A number is randomly selected between [1,28] first as D1, Ran Hou
A number is randomly selected between [D1,28] as D2, [D1, D2] i.e. selected time span.
The disturbance operation operator is loopy moving operator, and operating process is as follows:Random selection one day, randomly choose one section
The continuous nurse of sequence number, arranging an order according to class and grade for this part of nurse is subjected to loopy moving operation, mobile step number is a fixed value.
Because said apparatus is that method according to embodiment 1 obtains, specific implementation details can be found in embodiment 1.
The present invention uses the form of the method for expressing, i.e. bivariate table of nurse-time view.Because all operation operators are complete
All it is to occur among certain day, therefore two firm constraints are not in conflict.And because operation operator is exchange and shifting
It is dynamic, realized in computer very soon, therefore the main time is spent in the calculating to object function.Object function can be seen
Work is | D |, | C | and | N | function.For example we need to calculate the value of each constraint of each nurse in 28 days.Therefore the time
Complexity can be seen as O (| D | | C | | N |).In the model that we use, | D | and | C | all it is fixed value, therefore the time is complicated
Degree can be reduced to O (| N |).And because group_swap and group_move simply occur between two nurses, therefore
The value of other nurses need not be recalculated when each iteration and only calculates the functional value of two nurses to change
.Therefore time complexity is reduced to O (1), and calculating time of shortening is so as to improving the efficiency of algorithm.
Experiment effect
Table 1 is experimental result of the algorithm for 55 data instances within the standard time limit.First row in table is Instance Name
Claim, secondary series is the optimal solution for the newest each example delivered at present.Four row next are that the algorithm of this research obtains respectively
The minimum value (Min) arrived, maximum (Max), average value (Avg) and standard deviation (Std).Wherein known optimal solution black matrix mark
Note, and the theoretical optimal solution being proved marks with an asterisk.
Data in table 1 are shown can find known preferred for Sprint track, this algorithm to 24/25 example
Solution.And for unique Sprint_late07, if we are by the time limit of time lengthening to twice, algorithm can find known
Optimal solution.For Medium track, algorithm can to 7/15 example search to known preferred solution.And for Long
Track, algorithm can reach known preferred solution to 11/15 example.For other examples, value and optimal value that algorithm obtains
All very close to.If seeing maximum, that is, obtained worst solution is repeatedly searched for, still can reached for 21/55 example
Know optimal solution.The all very close optimal solution of the average value of all examples.The standard deviation for wherein there was only 3 examples is more than 3,44 realities
The standard deviation of example is both less than 1.The algorithm of this research is can be seen that from this table efficiently and stably.
In table 2, we are contrasted the algorithm of this research and international best several algorithms at present.These algorithms
Result be all to have delivered, and run time is all the time limit for the corresponding hardware that conventional tool is calculated, therefore is contrasted more
It is fair.These algorithms include:(a) algorithm of this research;(b-g) it is international at present to be directed to the best algorithm of the data set.Some are calculated
Method does not report result to some examples, therefore is had vacant position in table.
The known preferred solution number percentage of table 3 contrasts
In addition to clearer comparison, we account in the number that table 3 gives algorithm (a-d) and can find known preferred solution
The percentage of total instance number.From table 3 it can be seen that although the algorithm of this research is slightly lower to the percentage of Spring track groups,
But all it is highest or highest arranged side by side for Medium and Long groups.So for all 55 examples this research algorithm still
It is so highest.From the statistics of table 2, the example such as Medium_late01 of known preferred solution is not reaching to for some,
Medium_late05 and Long_late03, this algorithm can reach the best value in addition to algorithm (e).In addition, for
Example Medium_hidden01, the algorithm of this research may search for the solution for solving known preferred the most within the standard time limit.And
What algorithm was only showed example Medium_hidden02 is not fine, is in average level for remaining example.
Due to algorithm (b) (c) and (d) average value provided in paper and standard deviation, thus we equally with this research
Algorithm contrasted, be shown in Table 4.From table 4, it can be seen that either average value or standard deviation, this algorithm is all than other
The value of three algorithms is low, therefore can be with it is concluded that the performance of this i.e. algorithm is more stable.
The average value and standard deviation of table 4 and other algorithms contrast
The effect of each committed step in iterative process of the present invention:
(1) effect of combination
Being previously mentioned group_swap and group_move is scanned for by certain probability selection one, Wo Menshe
Fixed probable value is λ=0.95.Here keep other experiment conditions constant, and uses different λ values to carry out Comparative result.
The value that we choose λ respectively is 1,0.95,0.50,0.25 and 0.When value is 1, only group_swap can be used, and when value
For 0 when, only group_move can be used.We used a more difficult example Medium_late01 as object, other
Example behaves like.From figure 5 it can be seen that when λ is 0, that is, be that the performance of algorithm shows when using group_move
Write and decline.And other situations, even λ is 1, the effect of algorithm is closely similar.And why we select in actual algorithm
0.95 is because this numerical value relative performance is more preferable.
(2) overall period searching method is directed to searching operators
The searching operators group_swap and group_move of two that we use above are improved both for shift report
All arrange an order according to class and grade in middle a period of time is operated.Here calculate and just for the exchange of independent some day and the search of movement
Son is analyzed.Although occurring similar analysis in existing research, but whether being data set algorithm frame
Frame all with difference here.We are contrasted with three kinds, are that (a) initial algorithm (b) only swaps to some day respectively
Or mobile (c) only swaps to some day, mobile constant (d) only moves to some day, exchanges constant.Algorithm is other
Condition keeps constant, and for the selection of certain day, we were that the selection of mean random operates for one day.
For clearer contrast, we employ and the identical statistical of table 1.Because the performance of other examples is similar,
So we are only contrasted to some representational examples.As a result it is as shown in table 5.As can be seen from Table 5, for calculating
Method (b) and (c) hydraulic performance decline are notable.And the performance of algorithm (d) is held essentially constant.One reason is that we set in itself
Group_move select probability is with regard to very little (0.05).Nevertheless, the algorithm is compared with our initial algorithm or can see
Go on business away from.Such as some more difficult example (Sprint_late01, Sprint_hidden01, and Medium_
Hidden03 the optimal solution that) initial algorithm can reach is more preferable.This demonstrates us to use overall period searching algorithm
Importance.
(3) contribution of disturbing operator
In theory, it is any to can serve as disturbance operation calculation to the current operation operator for solving generation large change
Son.Here mainly with three kinds of strategies contrasted, and is that (a) initial algorithm (b) is first randomly generated one completely newly respectively
Initial solution, then randomly choose 14 days and by the copy content of this shift report of 14 days to the current solution (c) to be disturbed with
Machine, which generates a brand-new initial solution and directly replaced with, currently solves (d) for the solution that currently to be disturbed, random first
Selection belong to [| D |, | D |/2] number between scope is as number of days, then some days of this numerical values recited of random selection.
In this every day, then random two nurses of selection and exchange the work title of the two.These three strategy with iteration
Search operation operator is different, therefore can be regarded as a kind of supplement and as disturbance operation operator.We take an ibid section one
The method of sample carries out contrast experiment, the results are shown in Table 6.
It is still very steady to can be seen that the effect that algorithm is run for other tactful standard deviations and maximum as can be seen from Table 6
It is fixed.This result shows though which type of perturbation strategy taken, the search of iteration phase can find preferable solution.From
From the point of view of optimal solution and average value, the strategy of initial algorithm is more highly efficient than the performance of other algorithms.Therefore can with it is concluded that
The part_cycle_shift operation operators that i.e. algorithm uses can help to jump out the local optimum area that iterative search operator is absorbed in
More preferable solution is found so as to aided algorithm in domain.One be the reason for possible the operator mode of operation and the operation side of iteration phase
Formula is entirely different, therefore can be used as preferably supplement, algorithm is reached different solution regions.
The contrast of the different search operation operator of table 5
The different disturbance operation operator contrast of table 6
(4) effect of acceptance mechanism is solved
One of innovative point of the present invention is in each iteration when algorithm have found an equal solution of functional value
When, still receive the solution as current solution.The present invention carries out experimental analysis to show the tactful importance to this mechanism.We
Contrasted with only receiving this mode preferably solved, using with (1) identical experiment method, as a result as shown in Figure 6.From this
Figure can significantly find out that the strategy of initial algorithm is more highly efficient than only receiving preferably to solve.
In theory, this mechanism can cause the solution searched for before repeat search.For example we once search X,
Before finding more preferable solution, we may can also receive X as current solution, therefore can reduce the efficiency of algorithm.But in reality
In running, such case does not almost influence on algorithm, it is possible to infers that the probability for such case occur is relatively low.Although
The theoretical reasons of the mechanism are not known, but experimental result can illustrate that this mechanism is really extremely important for algorithm.
It will be understood by those skilled in the art that above-mentioned each module of the invention or each step can use general computer
Device realizes that alternatively, they can be realized with the program code that computing device can perform, it is thus possible to they are deposited
Storage performed in the storage device by computing device, either they are fabricated to respectively each integrated circuit modules or by it
In multiple modules or step be fabricated to single integrated circuit module to realize.The present invention is not restricted to any specific hardware
With the combination of software.
Although above-mentioned the embodiment of the present invention is described with reference to accompanying drawing, model not is protected to the present invention
The limitation enclosed, one of ordinary skill in the art should be understood that on the basis of technical scheme those skilled in the art are not
Need to pay various modifications or deformation that creative work can make still within protection scope of the present invention.
Claims (10)
- A kind of 1. Nurse Scheduling method based on random variable neighborhood search algorithm, it is characterised in that comprise the following steps:Step 1:The constraints that setting Nurse Scheduling need to meet, establishes object function;Step 2:A random initial solution is generated, and as current solution and history optimal solution;Step 3:Search is iterated to current optimal solution using random variable neighborhood search algorithm, and stopping criterion for iteration is set;In the iterative process, random selection exchanges or moving operation operator, and to interim solution, i.e., the copy currently solved performs behaviour Make;When target function value corresponding to interim solution is less than or equal to target function value corresponding to current solution, using the interim solution as new Current solution;Conversely, if iterations meets certain threshold value, history optimal solution is set to currently to solve and perform disturbance operation operator Obtain new current solution.
- A kind of 2. Nurse Scheduling method based on random variable neighborhood search algorithm as claimed in claim 1, it is characterised in that institute Object function is stated to be expressed as:<mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>&Element;</mo> <mi>C</mi> </mrow> </munder> <munder> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>&Element;</mo> <mi>N</mi> </mrow> </munder> <msub> <mi>W</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&times;</mo> <msub> <mi>p</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>C</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow>Here pj(Ci) represent nurse NjSoft constraint CiValue penalty value, f (x) is the target function value of whole shift report.
- A kind of 3. Nurse Scheduling method based on random variable neighborhood search algorithm as claimed in claim 1, it is characterised in that when Target function value corresponding to interim solution is less than corresponding to current solution during target function value, also counts iterations again.
- 4. a kind of Nurse Scheduling method based on random variable neighborhood search algorithm as claimed in claim 1, it is characterised in that right When current solution performs disturbance operation operator, iterations is also counted again.
- A kind of 5. Nurse Scheduling method based on random variable neighborhood search algorithm as claimed in claim 1, it is characterised in that institute Random selection exchange or moving operation operator are stated, performing operation to interim solution includes:Randomly select two nurses, the random number b between a period of time length, and [0,1];If b<0.95, calculated using swap operation Son, if b >=0.95, using moving operation operator.
- A kind of 6. Nurse Scheduling method based on random variable neighborhood search algorithm as claimed in claim 5, it is characterised in that institute The determination method for stating time span is:A number is randomly selected between [1,28] first as D1, then between [D1,28] A number is randomly selected as D2, [D1, D2] i.e. selected time span.
- A kind of 7. Nurse Scheduling method based on random variable neighborhood search algorithm as claimed in claim 5, it is characterised in that institute It is loopy moving operator to state disturbance operation operator, and operating process is as follows:Random selection one day, one section of sequence number of random selection are continuous Nurse, arranging an order according to class and grade for this part of nurse is subjected to loopy moving operation, mobile step number is a fixed value.
- A kind of 8. Nurse Scheduling device based on random variable neighborhood search algorithm, it is characterised in that including:Object function establishes module, the constraints that need to meet for setting Nurse Scheduling, establishes object function;Initial solution generation module, for generating a random initial solution, and as current solution and history optimal solution;Optimal solution search module, for being iterated search to current optimal solution using random variable neighborhood search algorithm, and set Stopping criterion for iteration;In the iterative process, random selection exchanges or moving operation operator, and to interim solution, i.e., the copy currently solved performs behaviour Make;When target function value corresponding to interim solution is less than or equal to target function value corresponding to current solution, using the interim solution as new Current solution;Conversely, if iterations meets certain threshold value, history optimal solution is set to currently to solve and perform disturbance operation operator Obtain new current solution.
- A kind of 9. Nurse Scheduling device based on random variable neighborhood search algorithm as claimed in claim 1, it is characterised in that institute Random selection exchange or moving operation operator are stated, performing operation to interim solution includes:Randomly select two nurses, the random number b between a period of time length, and [0,1];If b<0.95, calculated using swap operation Son, if b >=0.95, using moving operation operator.
- A kind of 10. Nurse Scheduling device based on random variable neighborhood search algorithm as claimed in claim 5, it is characterised in that The disturbance operation operator is loopy moving operator, and operating process is as follows:Random selection one day, one section of sequence number of random selection are continuous Nurse, arranging an order according to class and grade for this part of nurse is subjected to loopy moving operation, mobile step number is a fixed value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710514796.6A CN107451393B (en) | 2017-06-29 | 2017-06-29 | Nurse Scheduling method and apparatus based on random variable neighborhood search algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710514796.6A CN107451393B (en) | 2017-06-29 | 2017-06-29 | Nurse Scheduling method and apparatus based on random variable neighborhood search algorithm |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107451393A true CN107451393A (en) | 2017-12-08 |
CN107451393B CN107451393B (en) | 2018-08-28 |
Family
ID=60488409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710514796.6A Expired - Fee Related CN107451393B (en) | 2017-06-29 | 2017-06-29 | Nurse Scheduling method and apparatus based on random variable neighborhood search algorithm |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107451393B (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110189041A (en) * | 2019-06-04 | 2019-08-30 | 湖南智慧畅行交通科技有限公司 | A kind of bus driver and conductor's scheduling method based on the search of change field |
CN110570937A (en) * | 2019-09-17 | 2019-12-13 | 上海劳勤信息技术有限公司 | Method for scheduling by doctors and assistants |
CN110858506A (en) * | 2018-08-24 | 2020-03-03 | 青岛海信医疗设备股份有限公司 | Automatic scheduling method, device, equipment and computer storage medium |
WO2020133273A1 (en) * | 2018-12-28 | 2020-07-02 | 深圳迈瑞生物医疗电子股份有限公司 | Group switching method, central monitoring system and storage medium |
CN111627535A (en) * | 2020-05-14 | 2020-09-04 | 广元市中心医院 | Scheduling system and scheduling method suitable for hospital nurses |
CN111669794A (en) * | 2020-06-18 | 2020-09-15 | 南京邮电大学 | Variable neighborhood searching method for solving wireless network base station switching minimization problem |
CN112331315A (en) * | 2020-10-19 | 2021-02-05 | 山东师范大学 | Nurse automatic scheduling method and system based on VBA |
CN112700850A (en) * | 2020-12-30 | 2021-04-23 | 杭州电子科技大学 | Household medical care scheduling random optimization method based on three-stage hybrid heuristic algorithm |
CN112749942A (en) * | 2019-10-30 | 2021-05-04 | 顺丰科技有限公司 | Scheduling method, device, equipment and storage medium |
CN112837565A (en) * | 2021-01-20 | 2021-05-25 | 山东师范大学 | Multi-label teaching demonstration system and method for scatter diagram |
CN113066568A (en) * | 2021-04-13 | 2021-07-02 | 安徽医科大学第二附属医院 | PETCT inspection scheduling method based on GVNS-OP algorithm |
CN113743761A (en) * | 2021-08-26 | 2021-12-03 | 山东师范大学 | Intern shift-by-shift scheduling method and system based on random neighborhood search algorithm |
CN114091717A (en) * | 2021-01-11 | 2022-02-25 | 北京京东振世信息技术有限公司 | Site selection method and device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104517021A (en) * | 2013-09-30 | 2015-04-15 | 中国科学院深圳先进技术研究院 | Scheduling method based on bee colony algorithm |
CN105574668A (en) * | 2015-12-16 | 2016-05-11 | 山东澳迪赛企业管理咨询有限公司 | Particle swarm optimization algorithm-based call center scheduling method |
KR101674185B1 (en) * | 2014-12-17 | 2016-11-08 | 한국철도기술연구원 | Scheduling system for duty |
-
2017
- 2017-06-29 CN CN201710514796.6A patent/CN107451393B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104517021A (en) * | 2013-09-30 | 2015-04-15 | 中国科学院深圳先进技术研究院 | Scheduling method based on bee colony algorithm |
KR101674185B1 (en) * | 2014-12-17 | 2016-11-08 | 한국철도기술연구원 | Scheduling system for duty |
CN105574668A (en) * | 2015-12-16 | 2016-05-11 | 山东澳迪赛企业管理咨询有限公司 | Particle swarm optimization algorithm-based call center scheduling method |
Non-Patent Citations (2)
Title |
---|
王超: "人员排班问题的变邻域搜索算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
苏宙行等: "求解多阶段护士排班问题的带权禁忌搜索算法", 《中国科学:信息科学》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110858506A (en) * | 2018-08-24 | 2020-03-03 | 青岛海信医疗设备股份有限公司 | Automatic scheduling method, device, equipment and computer storage medium |
WO2020133273A1 (en) * | 2018-12-28 | 2020-07-02 | 深圳迈瑞生物医疗电子股份有限公司 | Group switching method, central monitoring system and storage medium |
CN110189041A (en) * | 2019-06-04 | 2019-08-30 | 湖南智慧畅行交通科技有限公司 | A kind of bus driver and conductor's scheduling method based on the search of change field |
CN110570937A (en) * | 2019-09-17 | 2019-12-13 | 上海劳勤信息技术有限公司 | Method for scheduling by doctors and assistants |
CN112749942A (en) * | 2019-10-30 | 2021-05-04 | 顺丰科技有限公司 | Scheduling method, device, equipment and storage medium |
CN111627535A (en) * | 2020-05-14 | 2020-09-04 | 广元市中心医院 | Scheduling system and scheduling method suitable for hospital nurses |
CN111669794A (en) * | 2020-06-18 | 2020-09-15 | 南京邮电大学 | Variable neighborhood searching method for solving wireless network base station switching minimization problem |
CN111669794B (en) * | 2020-06-18 | 2022-05-27 | 南京邮电大学 | Variable neighborhood searching method for solving wireless network base station switching minimization problem |
CN112331315A (en) * | 2020-10-19 | 2021-02-05 | 山东师范大学 | Nurse automatic scheduling method and system based on VBA |
CN112331315B (en) * | 2020-10-19 | 2023-05-05 | 山东师范大学 | Automatic nurse scheduling method and system based on VBA |
CN112700850A (en) * | 2020-12-30 | 2021-04-23 | 杭州电子科技大学 | Household medical care scheduling random optimization method based on three-stage hybrid heuristic algorithm |
CN112700850B (en) * | 2020-12-30 | 2024-04-02 | 杭州电子科技大学 | Household medical care dispatching random optimization method based on three-stage hybrid heuristic algorithm |
CN114091717A (en) * | 2021-01-11 | 2022-02-25 | 北京京东振世信息技术有限公司 | Site selection method and device |
CN112837565A (en) * | 2021-01-20 | 2021-05-25 | 山东师范大学 | Multi-label teaching demonstration system and method for scatter diagram |
CN112837565B (en) * | 2021-01-20 | 2022-11-11 | 山东师范大学 | Multi-label teaching demonstration system and method for scatter diagram |
CN113066568A (en) * | 2021-04-13 | 2021-07-02 | 安徽医科大学第二附属医院 | PETCT inspection scheduling method based on GVNS-OP algorithm |
CN113743761A (en) * | 2021-08-26 | 2021-12-03 | 山东师范大学 | Intern shift-by-shift scheduling method and system based on random neighborhood search algorithm |
Also Published As
Publication number | Publication date |
---|---|
CN107451393B (en) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451393A (en) | Nurse Scheduling method and apparatus based on random variable neighborhood search algorithm | |
CN109190857B (en) | Optimization algorithm based on multi-target resource limited project scheduling model | |
Janga Reddy et al. | An efficient multi-objective optimization algorithm based on swarm intelligence for engineering design | |
CN104885078A (en) | Method for two-stage query optimization in massively parallel processing database clusters | |
Zhang et al. | A hybrid intelligent algorithm and rescheduling technique for job shop scheduling problems with disruptions | |
CN108846570A (en) | A method of solving resource constrained project scheduling problem | |
Vasiljevic et al. | Handling ties in heuristics for the permutation flow shop scheduling problem | |
Walȩdzik et al. | Applying hybrid Monte Carlo tree search methods to risk-aware project scheduling problem | |
CN109784656A (en) | A kind of discrete manufacture collaborative production planning scheduling method | |
CN110515956A (en) | Sequence number acquisition methods, device, system, electronic equipment and storage medium | |
CN109739646A (en) | A kind of data processing method and device | |
Yousefikhoshbakht et al. | A mixed integer programming formulation for the heterogeneous fixed fleet open vehicle routing problem | |
CN103294912B (en) | A kind of facing mobile apparatus is based on the cache optimization method of prediction | |
US7363324B2 (en) | Method, system and program for prioritizing maintenance of database tables | |
Alzaqebah et al. | Self-adaptive bee colony optimisation algorithm for the flexible job-shop scheduling problem | |
CN107155215A (en) | The distribution method and device of a kind of application home service cluster | |
Wang et al. | Modeling and analysis for multi-period, multi-product and multi-resource production scheduling | |
Barth et al. | Shaving peaks by augmenting the dependency graph | |
Pei et al. | Research of order batching variable neighborhood search algorithm based on saving mileage | |
JP6388486B2 (en) | Production planning device, production planning method, and production planning program | |
Nasonov et al. | Metaheuristic coevolution workflow scheduling in cloud environment | |
Zhang et al. | Time optimal reachability analysis using swarm verification | |
Chen et al. | An evolutionary algorithm with multi-local search for the resource-constrained project scheduling problem | |
Czarnowski et al. | A new cluster-based instance selection algorithm | |
Wang et al. | A Deep Reinforcement Learning Scheduler with Back-filling for High Performance Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180828 |
|
CF01 | Termination of patent right due to non-payment of annual fee |