Article Versions
Export Article
Cite this article
  • Normal Style
  • MLA Style
  • APA Style
  • Chicago Style
Research Article
Open Access Peer-reviewed

A Duty Scheduler for Veterinary Teaching Hospitals Using Tabu Search Algorithm

Terungwa Simon Yange , Oluoha Onyekwere, Oluchi Blessing Okeke
Journal of Computer Sciences and Applications. 2020, 8(1), 30-39. DOI: 10.12691/jcsa-8-1-5
Received April 26, 2020; Revised May 28, 2020; Accepted June 04, 2020

Abstract

This research deals with the design, developing and testing of web-based duty scheduling system to schedule staff on a monthly basis so that a staff can have access to their duty roster irrespective of his/her location. The Federal University of Agriculture Veterinary Teaching Hospital was used the case study for this work. A computer web based system called “Veterinary Duties Scheduler” was developed to this effect using PHP as the programming language, MySQL as the database and Unified Modelling Language (UML) as system design tool. After the new system was implemented, the results gotten showed clearly that staffs were now able to view their duty roster from any location by simply logging into the system using their staff-id and password. Therefore, the new system was able to solve most of the problems associated with the existing manual system of duty scheduling as witnessed in the case study.

1. Introduction

A Schedule, often called a rota or roster, is a list of employees and associated information e.g. location, working times, responsibilities for a given time period e.g. week, month or season 1. Duty scheduling is the assignment of tasks to staff by means of a schedule. It is the process of analysing the workload in an organization, time available to implement the workload and the distribution of the work according to the time available.

In many organizations, the people involved in developing rosters need decision support tools to help provide the right employees at the right time and at the right cost while achieving a high level of employee job satisfaction 2. The components of such a decision support system typically include spreadsheet and database tools and also scheduling tools developed from appropriate mathematical models and algorithms, examples of which includes Genetic algorithm, Ant Colony Optimization (ACO), simulated annealing and other forms of local search are appropriate for this kind of problem.

According to Urmila and Dinesh 3, effective labour scheduling can reduce the cost of human resources and also improve the customer service and increase customer satisfaction.

In the last few decades, personnel scheduling problems have been studied widely. The increase in research attention could be motivated by economic considerations. For many companies, labour cost is the major direct cost component. Cutting this cost by a small percent by implementing a new personnel schedule could therefore prove very beneficial.

There is a significant workforce planning literature dealing with strategic questions relating to the optimal mix of a workforce although, there may be some flexibility associated with the utilisation of permanent and part-time staff, scheduling is primarily concerned with the allocation of jobs among a given workforce 2.

Duty Scheduling has a vast area of application as almost all organizations which have relatively large workforce, schedule their employees. One of such organisations is veterinary hospitals.

A Veterinary hospital is an area where scheduling plays an important role for a successful achievement of her fundamental objectives. The organisation of the hospital, and the quality of care provided to patients have direct correlation, as a result, veterinary duties scheduling is one major part of medical organisation that requires urgent attention if the success of the organisation is paramount.

Duty scheduling in the veterinary hospitals is challenging in large hospitals especially when it is done manually. These challenges arise while trying to satisfy a host of legal and policy constraints, and simultaneously attempting to achieve an acceptable trade-off between some set of objectives. Examples of legal constraints typically include minimum and maximum restrictions on the number of working hours per veterinarian per week, or an upper limit on the number of shifts that may be worked before off-duty time is assigned to a veterinarian. Examples of hospital policy constraints may include ensuring that enough personnel are on duty for adequate patient care, a requirement that no veterinarian may work fewer than a specified number of shifts consecutively (so as not to fragment the nurses’ off-duty time too much), or a minimum restriction on the number of veterinarians of a particular rank (and hence with specific qualifications) that should be present in each ward at all times. Examples of scheduling objectives might include minimization of remuneration costs or maximization of staff satisfaction associated with a duty schedule. Cost efficient scheduling is very important, because veterinarians’ salaries typically constitute significant portions of hospital budgets and because schedules may influence the quality of health care hospitals are able to provide to patients.

The duties performed in the hospital are all channelled towards the achievement of her overall objective. Steps taken towards this objective has a specified duration of time and a mapped out work associated with it. The time stipulated is to be utilized maximally to enable you cover the work load elaborately and efficiently.

The manually operated system is full of errors leading to clashes of appointment which, in turn affect the smooth running of the organization. Over the years, manually designed duty rosters have been used in many organisations to assign duties to their personnel. There are so many factors that make the manually operated system inefficient. These include clash of duties among staff (double scheduling a staff and over-staffing per shift), which is a major issue as staff are most often schedule to work at the same time, date and unit/department which could bring reluctance and idleness among staff, thus affecting the smooth running of the organisation and reducing productivity, biasness in scheduling duties among staffs as the person in charge of scheduling may decide to favour some staff at the expense of others which thus defeat equity in duty distribution and also, the time taken to process these duties manually is enormous and tedious.

For maximum, efficient and non-partial distribution of work load (scheduling), there is a great need to automate the system. This is where a comprehensive veterinary duties schedule is always designed to suit the overall objectives of the hospital. This work is limited to the study of the veterinary duty scheduling system existing in Federal University of Agriculture Veterinary Teaching Hospital (VTH), Makurdi (which is the case study) and automating same.

2. Literature Review

Duty scheduling or scheduling is the process of constructing work timetables for its staff so that an organization can satisfy the demand for goods or services. The first part of this process involves determining the number of staff, with particular skills, needed to meet the service demand 2. Individual staff members are allocated to shifts so as to meet the required staffing levels at different times and duties are allocated to individuals for each shift. Duty scheduling is a complex optimization problem of allocating staffs or personnel to duty rosters in organizations 4. It is extremely difficult to find acceptable solutions to these highly constrained and complex problems and even more difficult to determine optimal solutions that minimize costs, meet employee preferences, distribute shifts equitably among employees and satisfy all the workplace constraints. According to Bester 4, the aim in these problems is usually to assign a work pattern in the form of a duty roster, while satisfying a host of legal and policy constraints and simultaneously attempting to achieve an acceptable trade-off between some set of objectives.

Scheduling process has a number of modules starting with the determination of staffing requirements and ending with the specification of the work to be performed, over a period of time, by each individual in the work force. The assigning of tasks and responsibilities is intended to provide transparent governance over rostering/scheduling to ensure the needs of staff, customers and the organization are met. Phases of this process are shown below.

Demand Modelling: The first step in developing a duty schedule is to determine how many staffs are needed at different times over some planning period 4. Staff are needed to attend to duties that arise from incidents that occur during the planning period. In this context, incidents could be taken to mean situations like enquiries to a call centre, a specified sequence of tasks, attending to a sick animal, or simply a per shift specification of staff levels. Demand modelling is the process of translating some predicted pattern of incidents into associated duties and then using the duty requirements to ascertain a demand for staff 5. There are three broad incident categories on which staff demand can be based.

Task based demand: - In this case, demand is gotten from lists of individual tasks to be performed. Tasks are usually defined in terms of a starting time and duration, or a time window within which the task must be accomplished, and the skills required to perform the task. Tasks are often derived from timetables of services to be rendered by an organisation. Rostering from task based demand is commonly used in transport applications where the demand modelling module is associated with crew pairing generation and crew pairing optimization 2.

Flexible demand: - In this case, the likelihood of future incidents is less well known and must be modelled using forecasting techniques. Requests for service may have random arrival rates and possibly random service times. According to Gondane and Zanwar 4, the link between the requests for service and staffing levels often takes a form which is applied to a queuing analysis of the incident arrival distributions. They also pointed out that the outcome is usually a specification of the numbers of staff required at different times of the day for each day in the rostering horizon. For example, staff levels could be specified for each hourly interval over a five week planning period. This kind of rostering to flexible demand is usually needed for call centres, police services and airport ground staff. Once a flexible demand pattern has been generated, it may be apportioned to shifts that cover the demand for staff. For example, three shifts may be needed to cover the demand between 6 am and 2 pm on a given day. Once the shifts are determined they can be scheduled into lines of work.

Shift based demand: - Here the demand is gotten directly from a specification of the number of staff that is required to be on duty during different shifts. Shift based demand arises naturally in applications such as nurse scheduling and ambulance services where staff levels are determined from a need to meet service measures such as nurse/patient ratios or response times 5. Shift based demand also may be applied as a simplification of task based or flexible demand rostering.

Days Off Scheduling: This module is concerned with the determination of how rest days are to be inserted between work days for different lines of work. This problem arises frequently when rostering to flexible or shift based demand than when rostering to task based demand.

Shift Scheduling: Shift scheduling deals with the problem of selecting from a potentially large pool of employees, what shifts are to be worked, together with an assignment of a number of employees to each shift, in order to meet the demand 1. There is also need to consider the timing of work and meal breaks within the limits allowed by workplace regulations and company requirements when scheduling.

Line of Work Construction: According to 4, this module involves the creation of lines of work, which are sometimes referred to as work schedules or roster lines, spanning the entire working duration which could be in weeks or months, for each staff member. The process of constructing a line of work depends on the basic building blocks which are typically shifts, duties and stints. If the basic building blocks are shifts, then any shift can be allocated to a staff’s work days. There could also be some additional constraints limiting the valid shift patterns, for example, it may not be right to immediately follow a sequence of night shifts with a day shift. Duties arise from tasks which may take up only part of a shift or may extend through several shifts. Stints are predefined sequences of shifts and rest days (days off). They could be the result of an aggregation of tasks during the demand modelling module, or simply predefined patterns that reflect workplace rules and regulations. This module involves a consideration of both the rules relating to lines of work and the pattern of demand. The former ensures the feasibility of the individual lines of work while the latter ensures that, taken together, they satisfy the work requirements at all times.

Task Assignment: It may be necessary to assign one or more tasks (duties) to be carried out during each shift. These tasks may require particular staff skills or levels of seniority and must therefore be associated with particular lines of work.

Staff Assignment: This module involves the assignment of individual staff to the lines of work earlier created. Staff assignment is often done during construction of the work lines.

2.1. Duty Scheduling Algorithms

The literature on duty scheduling exhibits a wide range of research methodologies that combine a various types of analysis with some solution or evaluation technique. They can be categorized as follows:

Mathematical Programming: In this approach, the duty scheduling problem is modelled as a linear, integer or mixed integer program. This set covering formulation allows researchers to add a number of constraints based on their own particular needs. Many of these variations to the set covering model tend to create programs with a huge number of variables. Researchers are trying to overcome these large scale formulations by decomposition techniques and heuristic algorithms. Integer programming, linear programming, Mixed Integer programming, column generation, etc. are examples of mathematical programming methods.

Metaheuristics: Not all problems related to personnel scheduling can be modelled with a set-covering formulation. Metaheuristics form an important class of solution methods employed to solve the personnel scheduling problem. Metaheuristics are designed to tackle complex optimization problems where other optimization methods have failed to be either effective or efficient 4. The practical advantage of metaheuristics lies in both their effectiveness and their general applicability. The effectiveness lies in the production of reasonably good feasible solutions within a limited amount of running time. Some algorithms that fall in this category are tabu search, genetic algorithms, amongst others.

Genetic Algorithm

Genetic Algorithms (GA) were originally developed in the US in the 1970 by John Holland at University of Michigan and are intelligent search heuristics based on evolution theory. The basic idea of genetic algorithms is that, during the course of evolution, the best fitted individuals have better chance to survive and reproduce, meanwhile the least fitted individuals will be eliminated. A GA simulates this behaviour by taking into account an initial population of solutions (individuals) and fitness function, usually associated with the objective function, and by means of some selection techniques and operators, this population is replaced by a new one, with higher fitness. This cycle is repeated until a satisfactory solution is found.

Considering the limitations of Genetic Algorithm (GA), as explained earlier it is the heuristic method and are based on randomness so results obtained are of trial and error nature so to get accuracy always in results would be difficult. Another weakness of this algorithm is that the application of crossover or a mutation operator frequently produces an unfeasible solution but this can be controlled by using a fitness function. Some strengths of the genetic algorithm are:

• Genetic algorithms can explore the solution space in multiple directions at once. So convergence to an optimal solution does not depend on the chosen initial solution.

• They are well-suited for solving problems having huge search space.

• They perform well in complex optimization problems.

To implement GA, a solution to the problem must be represented as a genome (Chromosome). The GA then creates populations of the solution and applies its operators such as crossover and mutation to evolve optimal solution. There are three most important aspects of GA: Objective function must be defined, Genetic representation must be defined and implemented and implementation of GA operators. GA uses population of solutions rather than the single solution for searching and uses fitness function to evaluate rather than derivatives.

The evolutionary process of a GA is a highly simplified and stylized simulation of the biological version. It starts from a population of individuals randomly generated according to some probability distribution, usually uniform and updates this population in steps called generations. Each generation, multiple individuals are randomly selected from the current population based upon some application of fitness, bred using crossover, and modified through mutation to form a new population.

Crossover - exchange of genetic material (substrings) denoting rules, structural components, features of a machine learning, search, or optimization problem.

Selection - the application of the fitness criterion to choose which individuals from a population will go on to reproduce.

Replication - the propagation of individuals from one generation to the next.

Mutation - the modification of chromosomes for single individuals.

The pseudocode for a genetic algorithm is shown below:

a) Generate a family of trial solutions.

b) Calculate the fitness of each solution.

c) While a certain stop-criteria is not verified

• Select elements from the population

• Crossover these elements.

• Mutate some elements

• Population replacement

d) Return the best solution found.

The GA approach was by 4 in their work to solve the problem of Staff scheduling for health care systems. They used the GA to solve the defined problem for a given set of data using GUI (Graphical User Interface) and considered all the hard and soft constraints for getting the best optimal solution in form of an optimized schedule for the staffs. The feasibility of the method of Genetic Algorithm was tested by applying it to a nurse scheduling problem and ensuring that all the constraints are satisfied. Here, the data was made of static nature without making any changes in the data and output was obtained as per the requirement for staff scheduling. The algorithm was coded using MatLab.

After running the software accordingly, the output was shown in the required format. The present work was found different as preference matrix was considered for the present work which was earlier not considered by the others. The preference section was not taken into account by previous researchers on staff scheduling in hospitals or in some other work domain. In this work, the preference parameter was taken into account for further coding of genetic algorithm such that the scheduling of nurses in hospitals was obtain by using the preference matrix which played a vital role in the process. The significant limitation of this work was that the GA was used to solve only a nurse scheduling problem hence its ability to be used in different areas could not be ascertained.

The GA approach was also used by Loureco et al. 6 in their work to solve a bus-driver scheduling problem. All numerical tests here were carried on a Workstation IBM RISC 600 with 128 MB Ram memory and the algorithms were coded in C. For each test problem, the value of the cost function was given as well as the following evaluation functions: unfitness, total number of duties, the number of single piece-of-work duties, and the time to find the best solution.

They also went further at some stages of the search to apply a diversification strategy by considering several evaluation functions based on the service quality.

On implementation, the algorithm yielded good results within reasonable computation time and the results compared favourably with manual-based solutions. It also created real schedules and met the requirement of the final users.

Tabu Search Algorithm

The tabu search method according to Glover and Laguna 7 is a heuristic local search procedure whereby a sequence of potential duty schedules is updated iteratively, by repeatedly applying modifications (called moves) to attributes of the previous schedule in the sequence. The basic idea of tabu search is to escape from a local optimum by means of memory structures. Each neighbour solution is characterized by the move and short term memory is used to memorize the attributes of the most recent applied moves, by keeping a list of them (tabu list). Therefore, some moves are classified as tabu and consecutively some neighbour solutions are not considered. To avoid unfeasible solutions, an aspiration criterion can be considered. At each iteration, the best neighbour of the current solution that it is not tabu or verifies an aspiration criterion is chosen. The algorithm stops when a certain stopping-criteria is verified. The best solution found during the search is then the output of the method.

The main steps of the TS are:

a) Obtain an initial solution x.

b) While a certain stop-criteria is not verified

• Obtain a neighbour of x, x’, not on the tabu list or satisfying an aspiration criterion with minimal cost among the neighbours of x

• Set x=x’ and update the tabu list and aspiration criteria.

c) Return the best solution found.

The initial solution can be obtained using two methods: a random initial heuristic and a greedy heuristic. The random initial works as follows: For each line, randomly select a column between the ones that cover it. When all the lines have been considered, the redundant columns are removed. The greedy heuristic builds a solution in a greedy fashion, at each step, a column is selected to enter the solution following some greedy function; repeat this step until all lines have been covered.

This approach was used by Bester et al. 4 in their work to solve the problem of scheduling nurses in a hospital. In their implementation the search process (move sequence) was guided by a recency-based memory structure, where the reversal of recent moves was prohibited in order to prevent cycling during the search. This prohibition was enforced by maintaining a list (called the tabu list) of reversals of the last τ moves performed during the search (called the tabu tenure). No move in the tabu list was chosen when scouting the neighbourhood of permissible modified attributes of a potential schedule during any iteration of the search. However, an aspiration criterion was enforced whereby a move was chosen if it resulted in a schedule whose quality was superior to the best schedule encountered during the search, even if that move was in the tabu list.

After testing different tabu search moves, it was found that the implementation of a compound or ejection chain move achieved the best results. This move type was incorporated in a user-friendly Windows 2000 supported decision support system, called NuRoDSS. The limitations to this work were that NuRoDSS generates the initial schedule in a random fashion which is not very much desirable and throughout this project it was always assumed that the horizon of the schedule was given, but the solution quality could perhaps be improved considerably by allowing the horizon to be variable and then attempting to obtain an optimal horizon time-frame.

Also, Loureco et al. 6 made use of the Tabu Search algorithm to solve the problem of bus-driver scheduling in their work. They considered three neighbourhoods, the exchange neighbourhood, the remove and the insert neighbourhood. The exchange neighbourhood, leads to unfeasible solutions. The insert neighbourhood considers all solutions that can be obtain from the current solution by the introduction of one column. In the opposite way, the remove neighbourhood considers all solutions that are obtained from the current one by removing one column. For each of the three neighbourhoods a certain number of iterations were performed, which depends on a parameter related to the size of the neighbourhood. The order of the neighbourhood search was as follows: insert neighbourhood, exchange neighbourhood, remove neighbourhood, exchange neighbourhood, and repeat. To each solution, its value using a fitness function is calculated, in order to avoid unfeasible solutions. Other evaluation functions related to the quality of the service or combinations could also be used. Two tabu list were considered: the insert tabu list and the remove tabu list. The remove tabu list contains all columns that have been inserted recently in the solution and therefore they cannot be removed. The insert tabu list contains the columns that have been removed in the most recent iterations, and therefore it is tabu(wrong) to insert them again in the solution. Finally, the aspiration criteria used was the most common one: the tabu status is overruled if the neighbour solution has an objective function value smaller than the best found up to that iteration. The tabu search produces good results for all the evaluations functions, however a few final solutions where unfeasible and it was necessary to apply a heuristic to restore feasibility.

GRASP Algorithm

The Greedy Randomized Adaptive Search Procedure, GRASP, was proposed by Feo & Resende 8, and since then it has been applied to several Combinatorial Optimization problems with success. The basic idea of GRASP is to combine constructive methods with local search and this is done in two phases. In the first phase, the construction phase, a feasible solution is built in a greedy fashion, introducing an element at each time while considering some random choices. At each step of the greedy heuristic, a restricted list of the best elements to be included in the solution is created, then one of these elements is randomly selected and inserted into the solution. The process is repeated until a feasible solution is found. In the second phase, a local search method is applied to try to improve the solution found in the first phase. Both phases are repeated until a certain stopping-criteria is verified.

GRASP can be seen has a multi-start sampling algorithm, but instead of starting from purely random solutions, it constructs the initial solution using a greedy adaptive probabilistic heuristic.

a) While a certain stop-criteria is not verified

• Get a greedy randomized initial solution x

• Apply local search starting with solution x.

b) Return the best solution found.

This algorithm was used by Loureco et al. 6 in their work to solve the problem of bus-driver scheduling. All numerical tests were carried on a Workstation IBM RISC 600 with 128 MB Ram memory. The algorithm was coded in C. Five real data-sets obtained directly from the company used as the case study for the research. To test the algorithm, the cost function along with the following evaluation functions was provided: unfitness, total number of duties, the number of single piece-of-work duties, and the time to find the best solution.

1) Consider an initial solution x

2) While there is an untested neighbor of x:

• Let x’ be the next untested neighbor of x;

• If f(x’) <f(x) let x=x’

3) Return x

Where f(x) is the fitness function which is employed as a control measure to avoid visiting too many unfeasible solutions.

However, after testing, the computational results revealed that GRASP algorithm produced the worst results as there were many unfeasible final solutions and the computation wasted a lot of time.

In summary, there are many types of algorithms or methods that can be used to solve the problem of duty scheduling. The methods are often based on mathematical programming, artificial intelligence and a variety of heuristics such as Scatter search, Ant Colony Optimization (ACO), simulated annealing, Memetic algorithms and other forms of local search.

The comparison of these methods is a multi-criteria problem, in which different criteria relevant for the comparison are identified, which includes the expressive power, the flexibility, the algorithmic power, the learning capabilities, the maintenance, the rescheduling capabilities and the parameter tuning. Therefore, the best method to apply to solve a given scheduling problem depends on the environmental constraints on the case study.

3. Methodology

3.1. The Existing System

The Federal University of Agriculture Veterinary Teaching Hospital (VTH), Makurdi (Case Study), uses manually generated roster to schedule her staff. The monthly duty roster is prepared every month to schedule staff on a weekly basis. The whole process is done within the administrative sector of the hospital. The clinic coordinator prepares or drafts out the duty roster and sends it to the clinic director’s office to be typed, vetted and signed.

Shifts in this hospital are for senior staff, drivers and non-technical staffs. Veterinary doctors are placed on call duty which is superior to shifts. A group of staffs are placed in a week and it is left the members to decide among themselves who comes during the days of that week. Anyone among that group can be called upon whenever there is a case at the hospital. Likewise, any case that comes up within a week, the doctor on call duty for that week would be called upon to attend to that case. The duty roster for a month is generated in such a way that the same set of staffs scheduled for a particular week would also be on duty on another week within the same month, that is, each staff runs shift for two weeks in a month. Doctors are also placed on call duty the same way.

Work starts by 8:00 am and ends normally by 4:00pm and 2:00pm during weekends. Regardless of whether they are on duty or not, all staffs are expected to come to work every day. Shifts starts by 4:00pm and ends by 6:00pm. When its 2:00pm or 4:00pm as the case may be, those staffs that are not on duty closes for the day while those on duty stay till 6:00pm. The newly generated duty roster is pasted on the hospital’s notice board. Also, copies of this roster are sent to the various departments in the hospital ahead of time such that everyone has his/her own copy of the roster. Some limitations of the existing system are:

• Only staff present in the hospital can have first-hand access to the duty roster.

• The clinic coordinator must always be physically available to draft out the duty roster.

• The clinic director must also be physically available to vet and sign each drafted duty roster before it is sent out and displayed accordingly.

• Since copies of the roster are sent to each department manually, there are chances that some departments may not get it or may get it late.

• If the clinic coordinator and director are not on seat, it stalls the entire process.

• In a case where a staff has complaints about his/her schedule, reporting and resolution of this case may be impossible when the clinic director or coordinator as the case may be, is not on seat.

3.2. Proposed System

The proposed system is the Veterinary Duty Scheduler (VDS). This is a web application that will schedule the veterinary hospital personnel into shifts based on their roles in the hospital. This application generates a new duty roster every month and would only grant access to users who have attained the required posture (i.e. they have successfully entered the correct username and password) enabling them to view the entire duty roster and also the particular week they are on duty. The processes of the VDS are that, after the program is deployed on the server and run on the browser; it will load the homepage where a staff can register by clicking the ‘Register’ button. This would open the registration page where registration is done by filling a form with a mandatory username and password which is stored in the database and is required for logging into the system in order to view the roster.

• Staffs can easily have access to the duty roster and know the week in which they are on duty without being physically present in the hospital.

• It relieves the clinic coordinator of the stress of drafting a new roster every month.

• The database of registered staff can serve as a backup copy of the number of staff working in the hospital.

• The director does not necessarily have to be on seat in order to vet and sign the generated roster.

• Complaints can be rendered via the site and the director can handle them from any location.

• This application can be attached as a module to the official Veterinary Teaching Hospital site.

3.3. System Design

This captures the algorithm, unified modelling language diagrams and entity relationship diagrams.


3.3.1. Unified Modelling Language Diagrams

System modelling is use to conceptualize system. The Unified Modelling Language (UML) is an object oriented software notation that provides a set of modelling conventions that describes a software system in terms of objects. It is a modelling language used in object oriented software design to provide a detailed view of how data flows in a system. It has become a modelling standard and offers a variety of diagrams to model a system. The following are different models of the proposed system:

Use Case Diagram

The use case diagram for the proposed system as shown in Figure 1 depicts the actors (staff and admin) and their interactions with the system.

Sequence Diagram

The Sequence Diagram for the proposed system as shown in Figure 2 depicts the system logic in a detailed form showing the processes that takes place with the system in order to produce the required output.


3.3.2. Algorithm

This work adopts the Tabu Search Algorithm. The overall process of implementing tabu search is described by the flow chart in Figure 3. Checking tabu status is the first step in screening for admissibility. If the move is not tabu, it is immediately accepted; otherwise, the aspiration criteria are given an opportunity to override the tabu status, providing the move a second chance to qualify as admissible. The process of selecting the best admissible move is represented in the flowchart in Figure 4. In some cases, if the tabu restrictions and aspiration criteria are sufficiently limiting, none of the available moves will qualify as admissible. A “least inadmissible” move is saved to handle such a possibility and is chosen if no admissible alternatives emerge.


3.3.3. Database Design

A database is a shared collection of interrelated data designed to meet the various information needs of a system. It is structured as a two-dimensional table with columns (attributes) and rows (attribute values). A well designed database enables effective management of data and also becomes a valuable and easily accessible source for data and information. The Entity Relationship Diagram for the proposed system as shown in Figure 8; depicts the relationship between the various tables in the system’s database.

4. Results

The system was evaluated to ascertain its compliance with the requirements. This was done using data collected from the Case Study. The observation from the tested data showed that the system was able to received staff details and schedule them on the duty roster appropriately using the Tabu Algorithm. The sample outputs of the newly proposed system are shown below:

Personal Schedule: This page extracts the staff schedule of a particular staff on the general duty roster and displays it for that staff to view. This is shown in Figure 6.

General Duty Roster: This page displays the general duty roster for the month so that the staff can view. This is shown in Figure 7.

Complaints: This page allows the staff to lay complaints if he/she is not comfortable with his/her schedule. It also shows the reply to the complaint from the admin. This is shown in Figure 8.

5. Discussion

This research developed a web-based system to schedule staff on a monthly basis so that a staff can have access to their duty roster irrespective of location. The Federal University of Agriculture Veterinary Teaching Hospital was used as the testbed. The problems with the existing manual operations developing the hospital duty roaster were identified.

The system has been built in a fashion in which there are two users; the staff and the admin. The staff logs into the system providing a mandatory staff-id and password to enable login validation. After successful login, he/she will have access to the duty roster showing the weeks of the month during which he/she is on duty. The admin on the other hand, manages all the modules and functionality of the system.

Based on the implementation of the system and its output (results), the web-based veterinary duties scheduling system proved to be more convenient than the manual duty roster system as both the hospital staff and the administrative sector of the hospital do not have to be physically present in the hospital premises before the process of duty scheduling can take place as it can be easily done from any location. Also, complaints and staff information update can be done easily on the site amidst many other benefits.

In comparison with previous work on this field of study such as Staff scheduling and rostering by Ernest et al. 2, Scheduling in Health Care Systems by 4 amongst others previously reviewed, this new system is better suited for this case study. This is because closer observations were made to determine the data flows and overall functioning of the existing (manual) system. Whereas, previous researches carried out did not considered the peculiarities of veterinary hospital; their focus was on a more general basis of hospital setting; hence, some key functionalities were ignored making it rather difficult and complex to implement directly. In addition, particular emphasis was given to proper presentation of data processed by the system, so that the data can be effectively migrated to another system or archived for future use.

6. Conclusion

In this research work, an online duty scheduling system was developed to cater for the inefficiency of the manual duty roster system. With the new system, staffs can easily access the duty roster from any location and also lay complaints directly on the site. The clinic coordinator (admin) must not always be physically available to draft out and vet the duty roster as he/she can do it from any location as well as attend to complaints from staff.

Research carried out shows that the computerized system yields more advantages than the manual system of scheduling. The system can also be modified to cover aspects deemed relevant by the administrative sector of the Veterinary Teaching Hospital. Hence the system is of immense importance to entire hospital personnel.

Based on the achieved objective of this project and the experiences gained during its development, the following recommendations are made:

1. The system should be implemented only when the requirements stated in the previous chapter are completely met.

2 Staffs should be trained on how to effectively use this system before it can be fully incorporated into the system.

3. For a research of this kind to be done in a more complex and robust form; more time, resources including finance must be put into consideration in order to achieve the desired objectives.

Further works is still required to make the system have more functionality and function optimally. It is expected that email and/or SMS alert system can be incorporated into the system in order to alert staff of their schedule and also to alert the admin when the duty roster expires in order to generate a new one. The system can also be broadened to cover patients round schedule.

References

[1]  Turker, T. and Demiriz, A. (2018). An Integrated Approach for Shift Scheduling and Rostering Problems with Break Times for Inbound Call Centers. Mathematical Problems in Engineering, 19-27.
In article      
 
[2]  Ernest A.T., Jiang H., Krishnamoorth M. and Sier D. (2004). Staff scheduling and rostering: A review of applications, methods and models. European Journal of Operational Research, 153 (2):3-17.
In article      
 
[3]  Urmila S. P. and Dinesh B. H. (2013). Literature review on personnel scheduling. International Journal of Computer Engineering and Technology (IJCET), 4(5): 45-53.
In article      
 
[4]  Bester, M.J., Nieuwoudt, I. and Van Vuuren, J. H. (2007). Finding good nurse duty schedules: A case study. Journal of scheduling, 387-390.
In article      
 
[5]  Van den Bergh J., Belien J., De Bruecker P., Demeulemeester E. and De Boeck L. (2013). Personnel Scheduling: A literature review. European Journal of Operational Research, 226(3): 367-370.
In article      
 
[6]  Loureco, H.R., Paixao, J. P. and Portugal, R. (n.d). Metaheuristics for The Bus-Driver Scheduling Problem. Department of Economics and Management, Universitat Pompeu Fabra, R.Trias Fargas, Barcelona: Spain, 25-27.
In article      
 
[7]  Glover, F., & Laguna, M. (1993). Tabu search. In C. Reeves (Ed.), Modern Heuristic techniques for combinatorial problems. Oxford: Backwell Scientific Publications.
In article      
 
[8]  Feo, T.A. and Resende, M.G.C. (1995). Greedy randomized adaptive search heuristic. Journal of Global Optimization 6(1): 109-113.
In article      
 
[9]  Gondane, M. S. and Zanwar, D. R. (2012). Staff Scheduling in Health Care Systems: IOSR Journal of Mechanical and Civil Engineering, 1(6): 28-40.
In article      
 

Published with license by Science and Education Publishing, Copyright © 2020 Terungwa Simon Yange, Oluoha Onyekwere and Oluchi Blessing Okeke

Creative CommonsThis work is licensed under a Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/

Cite this article:

Normal Style
Terungwa Simon Yange, Oluoha Onyekwere, Oluchi Blessing Okeke. A Duty Scheduler for Veterinary Teaching Hospitals Using Tabu Search Algorithm. Journal of Computer Sciences and Applications. Vol. 8, No. 1, 2020, pp 30-39. http://pubs.sciepub.com/jcsa/8/1/5
MLA Style
Yange, Terungwa Simon, Oluoha Onyekwere, and Oluchi Blessing Okeke. "A Duty Scheduler for Veterinary Teaching Hospitals Using Tabu Search Algorithm." Journal of Computer Sciences and Applications 8.1 (2020): 30-39.
APA Style
Yange, T. S. , Onyekwere, O. , & Okeke, O. B. (2020). A Duty Scheduler for Veterinary Teaching Hospitals Using Tabu Search Algorithm. Journal of Computer Sciences and Applications, 8(1), 30-39.
Chicago Style
Yange, Terungwa Simon, Oluoha Onyekwere, and Oluchi Blessing Okeke. "A Duty Scheduler for Veterinary Teaching Hospitals Using Tabu Search Algorithm." Journal of Computer Sciences and Applications 8, no. 1 (2020): 30-39.
Share
[1]  Turker, T. and Demiriz, A. (2018). An Integrated Approach for Shift Scheduling and Rostering Problems with Break Times for Inbound Call Centers. Mathematical Problems in Engineering, 19-27.
In article      
 
[2]  Ernest A.T., Jiang H., Krishnamoorth M. and Sier D. (2004). Staff scheduling and rostering: A review of applications, methods and models. European Journal of Operational Research, 153 (2):3-17.
In article      
 
[3]  Urmila S. P. and Dinesh B. H. (2013). Literature review on personnel scheduling. International Journal of Computer Engineering and Technology (IJCET), 4(5): 45-53.
In article      
 
[4]  Bester, M.J., Nieuwoudt, I. and Van Vuuren, J. H. (2007). Finding good nurse duty schedules: A case study. Journal of scheduling, 387-390.
In article      
 
[5]  Van den Bergh J., Belien J., De Bruecker P., Demeulemeester E. and De Boeck L. (2013). Personnel Scheduling: A literature review. European Journal of Operational Research, 226(3): 367-370.
In article      
 
[6]  Loureco, H.R., Paixao, J. P. and Portugal, R. (n.d). Metaheuristics for The Bus-Driver Scheduling Problem. Department of Economics and Management, Universitat Pompeu Fabra, R.Trias Fargas, Barcelona: Spain, 25-27.
In article      
 
[7]  Glover, F., & Laguna, M. (1993). Tabu search. In C. Reeves (Ed.), Modern Heuristic techniques for combinatorial problems. Oxford: Backwell Scientific Publications.
In article      
 
[8]  Feo, T.A. and Resende, M.G.C. (1995). Greedy randomized adaptive search heuristic. Journal of Global Optimization 6(1): 109-113.
In article      
 
[9]  Gondane, M. S. and Zanwar, D. R. (2012). Staff Scheduling in Health Care Systems: IOSR Journal of Mechanical and Civil Engineering, 1(6): 28-40.
In article