A Machine Learning Model For Task Allocation
A Machine Learning Model For Task Allocation
A Machine Learning Model For Task Allocation
University Library
2020
Recommended Citation
Kibiwot, S. K. (2020). A Machine learning model for task allocation. [Thesis, Strathmore University].
http://hdl.handle.net/11071/12051
This work is availed for free and open access by Strathmore University Library.
It has been accepted for digital distribution by an authorized administrator of SU+ @Strathmore University.
For more information, please contact library@strathmore.edu
A Machine Learning Model for Task Allocation
049552
Strathmore University
Nairobi, Kenya
June, 2020
This thesis is available for library use on the understanding that it is copyright material and that
no quotation from the thesis may be published without proper acknowledgement.
Declaration
I declare that this work has not been previously submitted and approved for the award of
a degree by this or any other University. To the best of my knowledge and belief, the research
proposal contains no material previously published or written by another person except where
due reference is made in the research itself.
© No part of this thesis may be reproduced without the permission of the author and Strathmore
University.
Approval
The thesis of Kibiwot Simon Kipkemboi was reviewed and approved by the following:
Sign:
Date: 7th July 2020
ii
Abstract
Task allocation is one among the key planning exercises that plays a major role in an
organization’s quest to satisfy Service Level Agreements and to attain operational excellence. Task
allocation is a difficult issue that addresses the inter-dynamics of tasks and employees, having in
mind factors such as skills utilization, fairness and diversity. Conflicts arise when tasks take too
long to be resolved due to in expertise and poor task allocation. The individuals assigned end up
not performing the task well and incomplete tasks/project are presented. The end user is usually
dissatisfied and will end up giving negative feedback. Previous studies have not addressed the
issue of matching two or more employees to the task with qualities possessed by the employee,
preference of the team or partner given and the qualifications for the task given. The nature of this
problem has within this research been equated to the stable marriage problem solved by the Gale
and Shapley’s Algorithm. However, a serious concern of the Gale-Shapley algorithm is its non-
truthfulness also known as the man optimal result. Gale-Shapley’s algorithm was used to bring out
the human aspect during task allocation. The aim of this research is to formulate an algorithm to
support task allocation problem using machine learning. To ensure time efficiency, a predictive
machine learning algorithm (artificial neural network) has been used to show improved time with
each pair towards a task. A mixed method research methodology was used whereby it combined
elements of quantitative and qualitative research approaches. The precision of the developed model
was at 0.713421 bringing the estimate of the regression model to 71.34%. The findings showed
that the neural network can be used as an effective algorithm for predicting the task allocation.
Keywords: Task allocation, Stable Marriage Problem, Gale and Shapley’s Algorithm, Matching
Problem, Man optimal result, regression model.
iii
Dedication
First and foremost, I dedicate this research to the Almighty God who is the source of wisdom
and skills to accomplish this study. I also want to dedicate this to my wife and my family for their
prayers, heartfelt support and encouragement.
iv
Acknowledgement
Foremost I would like to express my sincere gratitude to my supervisor Dr. Bernard Shibwabo
whose knowledge, support and guidance helped me to complete the research in time.
I would also like to appreciate my colleagues; Thomas and Richard and friends who advised and
helped in the course of my research project. Their efforts made the project a success. Much
appreciation goes to my friend Mr. Ochieng for his mentorship.
Finally, I highly appreciate the support of my manager Mr. Charles Kiilur for easing my work to
enable me complete my research.
v
Table of Contents
Declaration..................................................................................................................................... ii
Abstract......................................................................................................................................... iii
Abbreviations/Acronyms ............................................................................................................. xi
vi
2.4 Variations for the Gale and Shapley’s Algorithm ............................................................... 15
2.4.1 An equal approach to the stable marriage problem ................................................ 15
2.4.2 Rotation-Based Formulation for Stable Matching .................................................. 16
2.5 Alternative Algorithms for solving Task Allocation........................................................... 17
2.5.1 Dynamic Task Allocation Algorithm for Hiring Workers that Learn .................... 18
2.5.2 Solving Task Allocation to the Worker Using Genetic Algorithm......................... 19
2.5.3 Worker Friend Relationship model for task allocation ........................................... 20
2.6 Review of Artificial Neural Network .................................................................................. 22
2.6.1 Justification for Artificial Neural Network .................................................................. 22
2.7 Conceptual Framework ....................................................................................................... 23
2.6.1 Partner Selection ........................................................................................................... 24
2.6.2 Task Allocation............................................................................................................. 24
Chapter 3: Research Methodology ............................................................................................ 26
vii
4.6 Class Diagram ..................................................................................................................... 35
4.7 Data Flow Diagram ............................................................................................................. 36
4.8 Database Schema................................................................................................................. 37
Chapter 5: Implementation and Testing................................................................................... 39
Appendices ................................................................................................................................... 64
viii
List of Figures
Figure 2.1: Collabcrew System Architecture Outline (Samath, et al., 2017) .............................. 12
Figure 2.2: Concept Model, Further Developed from DYNAMO++ (Fasthe & Stahre, 2010) ... 14
Figure 2.3: Layers of the Artificial Neural Network .................................................................... 22
Figure 2.4: Conceptual Framework for A Machine Learning Model for Task Allocation........... 24
Figure 3.1: System Prototyping Development Methodology (Alan, et al., 2012) ........................ 28
Figure 4.1: Use Case Diagram ...................................................................................................... 33
Figure 4:2: System Sequence Diagram ......................................................................................... 35
Figure 4.3: Class Diagram ............................................................................................................ 36
Figure 4.4: Data Flow Diagram .................................................................................................... 37
Figure 4.5: Database schema ........................................................................................................ 38
Figure 5.1: HR data Extraction Screenshot................................................................................... 40
Figure 5.3: Extraction Removing Repeated Rows ........................................................................ 41
Figure 5.4: Complete Extraction ................................................................................................... 42
Figure 5.5: RT and HR datasets Joining ....................................................................................... 42
Figure 5.6: Merged HR and RT datasets in CSV.......................................................................... 43
Figure 5.7: List of task categories. ................................................................................................ 44
Figure 5.8: List of employees who can perform the task. ............................................................. 45
Figure 5.9: Selection of preferred employee................................................................................. 46
Figure 5.10: Selection workings ................................................................................................... 46
Figure 5.11: Output best pairs with time taken ............................................................................. 46
Figure 5.12: The Proposed Model Architecture ........................................................................... 51
ix
List of Tables
Table 4.1: Partner Selection…………………………………………………………………... 30
Table 4.2: Ranking the matches and Calculating Time Taken………………………………... 31
Table 4.3: Initiating Task Allocation……………………………………………………......... 31
Table 5.1: Dataset Description………………………………………………………………... 45
Table 5.2: Model and System Testing……………………………………………………........ 49
Table 5.3: Model and System Test Results………………………………………………….... 49
Table 5.4: User Acceptance Testing…………………………………………………………... 50
Table 6.1: Precision Comparison Table…………………………………………………......... 54
x
Abbreviations/Acronyms
xi
Chapter 1: Introduction
1.1 Background
Task allocation is one among the key planning exercises that plays a major role in an
organization’s quest to satisfy Service Level Agreements and to attain operational excellence.
Employees within an organization assume roles based on their skills, proficiency, and experience
(Mulla et al., 2016). Since the execution of tasks requires specific skills, tasks need to be assigned
to employees with appropriate skills/proficiency.
Incident management is a standard support activity in most companies aimed at ensuring a
high quality of service and availability by restoring normal service operations as soon as possible
and mitigating business effects. Enterprises also keep many applications in place to support their
business. Diagnosing incidents is an important task because of complex triggers often aggregated
by changes in the common environment, network, hardware and software (Liu & Lee, 2012).
According to Barash et al. (2007), one of the main indicators for an IT support
organization's success is the amount of time it takes to resolve an accident. Reducing this value
not only reduces total cost and cost of resource allocation but also increases customer satisfaction,
which is one of the most important measures of a support center's performance. Effective assigning
of duties to staff is critical in service delivery. It facilitates meeting the Service Level Agreements,
makes good use of the employees and increases operational efficiency. Task allocation is a
challenging issue that addresses the inter-dynamics of tasks and employees, taking into account
factors such as diversity, usage, skills, and fairness.
This problem of task allocation whereby individuals are matched to tasks has been equated
to the stable marriage problem which is the problem whereby two equal sized sets of participants
who are elements of some under lying set or sets are to be matched or assigned to each in some
way to meet some specified criterion-stability, which is dependent on the preferences of the
participants (Gale & Shapley, 1962).
Gale and Shapley’s algorithm has been used to solve problems that resemble the stable
marriage problem in real life applications such as the college admission, the hospital resident’s
problem, employee shift scheduling for jobs and application in router technology. However, Gale
and Shapley's algorithm major concern is its non-truthfulness also known as the woman pessimal
or man optimal results. This is the result where every woman gets her worst choice partner or every
man does not get the best partner he would have opted for. This means that the marriages are stable
1
but the women or men are highly unsatisfied with their partners (Gale & Shapley, 1962). Gale and
Shapley’s algorithm brings the aspect of human consideration whereby the employee’s preference
are taken into account for harmony and cohesion during execution of a task.
Gale and Shapley’s algorithm has been used widely and different variations have been
formed and improvements made to suite different problems in hand. (Iwama & Miyazaki, 2008).
Most variations have been used to solve particular problems. Giannakopoulos et al. (2016) in their
paper on a question of equitable stable marriage, try to find stable match which satisfies the notion
of equity between the two sides of the market examined. Such equity means preventing varying
degrees of satisfaction between the two sides. They focused on equity which is not addressed by
the Gale and Shapley's algorithm. Another variation which was a rotational-base formulation of
the stable marriage focused on many to many stable matching which is a subset of the general
whole. Their experimental analysis of two hard forms of stable matching called sex-equal and
balanced stable matching found that the SAT formulation outperformed the best Constraint
Programming approach.
Alternative algorithms for the Gale and Shapley’s algorithm mostly provided stable
matching but did not address the human aspect of work thus there was no cohesion among
employees. Some alternatives paired together employees to perform a task having proper skills but
the employees were not of each other’s preference. This did not provide efficiency where
employees were goal oriented but were not friends. Other alternatives addressed the issue of job
scheduling and task allocation but do not provide solutions in cases where more than one worker
were assigned to a task. They also overlooked major factors such as knowledge and skills
possessed by the human resource as determinants for efficient task allocation.
Research done showed that most current task allocation systems focus on task allocation
efficiency without focusing on the human aspect of choice of partner and employee or worker
attributes. Even though they focused on efficiency of task allocation, they did not investigate the
relationship between the team members who will work together by providing cohesion between
them.
2
1.2 Problem Statement
Two employees possessing same skills but have different proficiencies in those skills can
take different times for a task to be processed. When assigning tasks, consideration must be given
to a number of factors such as task complexity and the skill requirements specifications, processing
times and employee skills, workload, usage and fairness (Paul et al., 2017). Presently, all these
factors are mentally processed making the problem of task allocation extremely challenging and
making it almost impossible to keep in check the above-mentioned factors and thereby having a
higher risk of impacting the completion of the task.
According to Paul et al. (2017), previous works have not addressed the issue of matching
two or more employees to the task with qualities possessed by the employee, preference of the
team or partner given and the qualifications for the task given. The research problem addressed by
this study is how to assign a task to the right combination of employees having preferences and
attributes by developing a model that will correctly assign tasks to the right combination of
employees completing the task in the shortest time thus ensuring efficiency and productivity.
1.3 Aim
The aim of this research is to formulate an algorithm to support task allocation using
machine learning.
3
1.6 Justification
The research aims at formulating an algorithm that improves task allocation with machine
learning. This can enhance the matching of two employees who need to work together thus being
an improvement to the body of knowledge. By having a correct pair matching of individuals to the
task, work is done in the least time and individuals work harmoniously and therefore improving
efficiency and productivity. In the end the customer experience is improved. Towards the body of
research Gale and Shapley’s algorithm is reviewed to bring out the human aspect to task allocation.
This brings about the employee preference in partner selection.
4
Chapter 2: Literature Review
2.1 Introduction
This section provides information regarding task allocation challenges, a review of the
current approaches in task allocation, a review of the variations and alternatives for the Gale and
Shapley’s algorithm, a review of the machine learning algorithm used and the conceptual
framework that will give more information on the proposed model.
2.2 Challenges in Task Allocation
These are the problems faced during assigning of tasks that have proved to be a setback in
the efficient and effective completion of tasks. Challenges include: group cohesion, allocating the
right person for the job, saving cost and time and best fitting tasks to human resource. These are
explained further below.
5
socially fit individuals but do not have the technical requirements or a technically fit group but not
socially fit. These two problems occur in large groups as explained. This shows that although the
outcome of a team is highly dependent on how individuals communicate socially and build
relations, it also is an outcome on the contribution of an individual towards the project. This is by
the technical requirements required for the project which are composed of the individual skills
possessed (Andrews et al., 2008).
6
using this profile. To them, this substantially influences the performance of an organization. The
second solution was the project scatter factor which is the number of staff/resources needed to
fulfill a one-year task. The lower the scatter factor means that less human resource will be needed
on task/project thus an efficient allocation is observed.
Nedzelsky (2016) also raised this challenge whereby lack of available human resources
due to over allocation, under allocation or unavailability lead to constraints in project/task
scheduled. The project does not end in time and performance is jeopardized which is also known
as Resource Constrained Project Scheduling. According to the Nedzelsky (2016), projects take
longer due to the lack of human resource information in the HRIS system that would be essential
during the allocation of a task to a human resource.
A balance is achieved on a project's portfolio which is a key concept of project
methodologies when human resource information is added on the HRIS system. Resource
availability has led to stalled projects especially when a resource leaves the company and no one
else can handle the same work. In his approach in adding the information of the human resources
to the system this is in terms of skills and education plan, reduces the duration of time to
accomplish a task and increases efficiency. He further explains that a set of attributes identifying
with particular roles by the resource better feature the specialization of every employee. Prompting
a reality that every employee exercises what he is best at (Nedzelsky, 2016).
Having looked at specialization, which solves the over allocation and under allocation
problems and in a way the unavailability of human resource to a project. He also highlights that in
times of unavailability of resource, it is easy to assign another resource to the project who has the
skill but no experience to hold the position until a fitting resource has been assigned to the project.
He takes into consideration resource information pertaining to availability of resources in relation
with the individual's schedule, the duty of the source taken from the individual’s profile and lastly
total capacity taken from the resource's information. This data is deemed useful especially in
allocation of projects with regards to specialization (Nedzelsky, 2016).
7
organization. They further note that most software development projects have fallen because they
have not gained adequate consideration from project management on the appropriate distribution
of human resources to projects.
They go on to state that the management of software staff remains a very complicated task,
given all the work and advances in the field. This is because people play a fundamental role in
software development, and evaluate a project's quality and profitability (Silva & Costa, 2013).
Therefore, it is very important to staff a project properly (Daniel et al., 2009).
The implementation of the model is important as there are many projects with various
requirements that directly impact the time required to complete the project by allocating a greater
or lesser number of human resources. However, the approach used by the author assumes that
variations in the skills of professionals are highly important when solving the issue, because the
allocation of human capital in software projects is especially complicated since developers' human
characteristics affect the allocation. (Kang, et al., 2011).
However, this strategy does have certain drawbacks. First, developers are essentially not
shared among teams, and sharing developers among teams lowers productivity as different teams
are under the control of these developers. The second relates to project reach. When the scope
changes, this change will only impact the time required to carry out the project, and not the
reallocation of human capital, as that has been established previously. In the other hand, if a
professional leaves the project, the team remains the same, because no project can be disrupted
and/or delayed and this model does not involve sharing human capital (Kang, et al., 2011).
2.2.4 Human Resource Allocation to Tasks for Project Cost and Time Saving
As the size of software project increases, software planning process becomes more
complicated and important. An inappropriate software plan often results in the failure of a project.
The basic goal of the issue of human resource management is to create a project schedule that can
be completed within the required time period, in order to minimize the overall cost of the project
in terms of time and resources. The longer the project, the higher the cost and this may cause
project failure (Park et al., 2014).
A developer can operate on more than one task at a time, although other researchers
thought that only one task at a time could be performed by a developer. If at any stage a developer
is involved in so many tasks, productivity may decline because the developer is unable to focus on
one task due to constantly juggling tasks (Park et al., 2014).
8
Since the preceding task relationship suggests closely related tasks, assigning both pre-task
and post-task to a developer is efficient in reducing context-switching costs. If a developer is
required to work on a set of tasks that are not connected to each other, the developer may need to
learn the new context for each assigned task. In allocation balance, the job size should be
considered in the question of the allocation of human capital. On the one hand, if a few developers
are assigned to a huge job, then the heavy workload will overwhelm developers. By comparison,
if too many developers are assigned to a small job, the high overhead communication causes
inefficiency (Park et al., 2014).
Developers with high staff level have more experiences than lower level developers, so
they will manage a task rather than concentrating on the implementation, which is the main work
of a low staff level developer. To manage each task efficiently, developers having different staff
levels should be assigned together (Park et al., 2014).
In Park et al. (2014) search to assign a resource automatically to the task and to schedule
the project optimally in terms of time and resources, they based their research on key practical
consideration such as short project plan, reduction of multitasking time, allocation on relevant
tasks and allocation balance.
Park et al. (2014) proposed solution for solving the human resource allocation problem
uses a genetic algorithm that focuses on the practical considerations. By keeping in mind
minimizing of the cost, they have also considered practical issues affecting a project schedule
during planning. They also looked at the problem in a software project planning point of view, that
even though the main purpose is to reduce cost, human resource allocation is also of important.
2.2.5 Task identification and Assigning Suitable Employees to Best Fitted Tasks
Lack of flexibility in human resources and poor project planning and scheduling increase
inefficiency and projects delay leading to increased costs (Avinash & Ramani, 2014). Existing
exploration shows that task pre-emption can decrease the time and cost of the product venture. Be
that as it may, it decreases the adaptability of human asset allotment in venture arranging. In their
quest of identifying task needs and assigning of appropriate resources to tasks based on their skills
and experience with least cost, they propose an Event Based Scheduling technique and Ant Colony
Optimization techniques to provide software project Scheduling and human resource allocation.
9
The event-based scheduling technique reduces cost and enables optimized resource
utilization while the task precedence graph obtained through Ant Colony Optimization provides
efficiency as the best employee is selected (Avinash & Ramani, 2014).
10
ratio of the capacity value required to do a job to itself. This builds a multidimensional model
(Baseline MD Model). The theory goes further to take the ratios of a person's skill to the ability
value needed to do the job as the length of the model's edges to construct another one. Competence
is obtained by comparing the volume of the two MD models, resulting in a participant carrying out
the task according to the task's needs. Further estimation of the summation of the effects (the
member's effect performs the task and effect of each participant performing each task in the
projects) gives full effect to the multi-projects.
According to Chen et al. (2009), the best allocation of human resource is given when the
positive effect of multi-projects comes to maximum and the personnel capabilities meet the task
requirements. The approach focuses on an MD model which focuses on improving human resource
quality to meet the needs of the projects. The other strength they have is that, in terms of
consistency, they look at the human resource, which means allocating the participants to the tasks
based on the various abilities of individuals.
Chen et al. (2009) explains the attributes of everyone as different from others and brings
the greatest difference to other resources. They go further to show that the MD model is an
improvement of the cube model by its multidimensionality. A cube model cannot be used to
determine a matter of more than three attributes.
The major weakness of the model is that it does not address the emergent attribute from
the human resource. Due to the changing nature of human beings, a person may develop negative
or positive attributes these can still be used in the model. This is where artificial intelligence comes
in whereby every attribute deemed to be possessed by the human resource will be used. Every
attribute that emerges will be fed to ANN as inputs. With ANN there are no limits.
11
themselves. This data was collected and pre-processed in a data warehouse. Prediction analysis is
performed on the data to know the employee suitable tasks as dependent on their skills. The
predictive analysis results are sent to a task assignment and scheduling model which based on
project limitations allocates teams to projects. There is also a peer reviewing feature that allows
employees to review and rate their colleagues and this data will be summarized to be used for
allocation on a later date (Samath et al., 2017). Figure 2.1 below depicts the model architecture of
the components and how it works.
.
Figure 2.1: Collabcrew System Architecture Outline (Samath, et al., 2017)
Here the people factor is appreciated in that proper allocation of human resource to a task
is key for a successful outcome and that this requires critical thinking and frequent team meetings
and discussions.
A task management tool known as CollabCrew is introduced that dynamically allocates
tasks based on the previous history of tasks done by team members and also the skills they possess.
According to them, this program uses historical data for comparison in research performed by team
members from its own database or from an external source to automatically allocate new tasks to
it This tool saves time and reduces complexity for project managers in trying to allocate the right
resource to the right task (Samath et al., 2017).
This solution, however, does not investigate the relationship between the team members
who will be working together. It focuses on the efficiency in the point of view of historical data of
12
how a task was done by each individual and the skills possessed by everyone. Cohesion is not
emphasized if the task has been completed. Samath et al., (2017) show this by explaining that the
purpose of their research is focused on an intelligent system that allocates team members
dynamically to tasks based on historical data of previous works done by team members and skills
possessed by the members within software based projects.
13
to allow a decision to be made in the main loop. The concept model is designed to allow companies
to increase versatile assembly methods and means for making assembly systems more proactive.
The concept model aimed to imagine relationships between various areas and activities
within an organization while redesigning a structure by task allocation in terms of levels of
automation. Therefore, to have a clear understanding of why the method should be modified to
stop over- or under-automated systems (Fast-Berglund & Stahre, 2013).
In addition, their model also considers the operator group's cognitive LoA, the LoI to and
from the operators and different LoC levels. Figure 2.2 illustrates the concept.
Figure 2.2: Concept Model, Further Developed from DYNAMO++ (Fasthe & Stahre, 2010)
This concept yields industry-relevant results and improves the efficiency of advanced,
semi-automated device analysis for manufacturing. They also note that the validation and
evaluation shows that the design model is easy for end-users to use and offers quantitative evidence
for the comparison and analysis of various solutions. The various systems may be used at a
comprehensive level depending on the client's reasons for modifying the system. It is true of
Older’s, et al. (2017) criteria to be cost-effective and convenient to use.
The concept model aimed at visualizing relationships between various fields and activities
within an organization while redesigning a program in terms of level of automation through task
allocation by adopting Older’s, et al. (2017) 15 task allocation criteria process. It does not go
14
further to look on the skills of the personnel allocated the task or any of their attributes. Though
this approach may validate that efficiency is improved, it is implied that levels of automation will
improve efficiency. The concept as tried should be researched further to have additions of
intelligence in the automation process.
15
Shapley algorithm assigns the two sides of the problem with two narrowly defined and mutually
exclusive functions. One side is appointed as proposers, assuming an active role, while the other
side is relegated to accepter’s role, anticipating and responding to the initiatives of the proposers.
The result of the algorithm is therefore proposer-optimal, and accepter-pessimal. Their approach
produces a problem of non-termination often known as the issue of circular dependencies, because
the repeatability of certain preferences will lead to endless repetitions of the states of the algorithm.
According to Giannakopoulos et al. (2016), unless the agents' preferred lists follow a
circular pattern, there may be an endless loop in which a group of agents continuously reissue and
break with each other's proposals. So long as the decision on who serves as proposers is taken in
a state-dependent way, it is likely to undergo an endless loop until the system arrives at a state it
was in before. The same conditions will result in an endless repetition of the same sequence of acts
and return to the same state. For the correctness and termination of the algorithm, the monotonic
property retained by SMA is necessary. Any approach that attempts to provide "equal" features to
the problem while infringing this monotonous property can lead to unstable solutions and/or fail
to terminate. A solution for this proposal was found, the use of a periodic function as a picking
method for the proposer. This leads the algorithm to infinite loops, as the task time was correlated
with the problem states being repeated. The ESMP cannot be used in our situation as an algorithm
to solve matching, because it can lead to endless loops if consistency is not achieved. This will
consume more time in solving the match problem.
16
issue also requires additional optimist requirements. For certain cases, the problem is intractable,
and advanced algorithms used to solve the standard version are typically difficult to adapt. The use
of a modular approach, such as constraint programming, is very useful when dealing with these
situations. In this paper, the authors continue this line of research by proposing an accurate and
efficient model for all three stable matching variants: one-to-one, many-to-one, and many-to-
many. Their proposals are based on a powerful structure called rotations. The latter was used to
model the problem of stable roommates. They exploit some established rotation-related properties
to suggest a novel SAT formulation of the general case of many-to-many stable matching. They
have been able to demonstrate that the unit distribution on this formula ensures the survival of a
particular solution. Next, they used this property to give an algorithm that maintains arc
consistency if one considers many-to-many stable matching to be a (global) restriction. Their
experimental analysis of hard instances of gender-equal and balanced stable matching shows that
their approach is superior to the state-of-the-art constraint programming approach.
Siala and O’Sullivan (2017) in their results in the absence of known hard problems for
many to many stable matchings, proposed to evaluate their approach on two hard problem variants;
the sex-equal and the balance stable matchings variants of stable marriage. Using fundamental
properties related to the notion of rotation in stable matching, we introduced a novel SAT
formulation of the problem and then showed that arc continuity can be sustained in quadratic time.
Our experimental analysis of two hard forms of stable matching called sex-equal and balanced
stable matching found that the SAT formulation outperformed the best Constraint Programming
approach in this literature.
Siala and O’Sullivan (2017) addressed the general case of many-to-many secure matching
within the context of constraint programming. Since this was not experimentally evaluated on the
propositions on hard variants in the many-to-many setting it cannot offer a solution to our problem
even though constraint programming was being improved. It focuses on only the many-to-many
matching which is a just but a subset of our target issue as it includes one-to-one and one-to-many
stable matching.
17
2.5.1 Dynamic Task Allocation Algorithm for Hiring Workers that Learn
Pan et al. (2016) work explores the issue of hiring workers who improve with experience.
Experiments are performed to demonstrate that the output of employees increases with experience
and that it is possible to model and forecast their learning rate. They suggest a complex recruiting
process that represents the learning ability of workers. Both simulation and real-world crowd
sourcing data indicate that their recruitment process can lead to high-precision results at lower cost
compared to other mechanisms. Pan et al. (2016) propose to model the learning cycle of crowd
workers using hyperbolic learning curves, to predict both their present output and their predicted
future development. By allowing the system to balance the cost of hiring workers, the quality of
the task results and the future benefit got from allocating tasks to workers for training purposes
show how possible it is to incorporate information about workers learning into the hiring process.
In this work, Pan et al. (2016) demonstrated that, with some types of tasks, crowd workers
will benefit from experience and improve their quality of work over time. After 15 separate case
studies, a decision-theoretic selection paradigm was developed that reflects the thinking process
of the workers. They found out that everyone's learning curve could be modeled and be presented
on a decision-theoretic hiring model. The findings of the simulation and the tests have shown that,
in terms of accuracy, unlike many widely employed hiring methods, their approach and model
reduced the hiring costs and provided competitive performance.
Pan et al. (2016) model makes the unreasonable supposition that workers are constantly
available; A further move forward in their research is to apply the concept and algorithm to the
contexts where workers will join and exit the application., prompting intriguing elements as the
framework attempts to find the correct harmony between greedily conglomerating answers from
at presently available staff and educating potential employees whose future employment is
uncertain. This can be easily achieved with machine learning algorithms whereby the algorithm
adapts to different settings which can go beyond consensus task to handle even more complicated
hierarchical tasks. This algorithm does not provide a stable allocation as random decision based
on the learning potential while Gale and Shapley’s algorithm provides a stable environment for
the allocation of task.
18
2.5.2 Solving Task Allocation to the Worker Using Genetic Algorithm
This paper deals with the issue of job scheduling and staff distribution, in which each
qualified staff is capable of performing several tasks and has different normal and worker ability
to execute tasks, and the assigning of tasks is carried out on a daily basis. Kotwal and Tanuja
(2015) propose a worker assignment model and create a heuristic algorithm that is a genetic
algorithm whose output is to be tested against the best methods of discovering small-scale
problems. According to them, the genetic algorithm is implemented in a manner that eliminates
the amount of intervention required to consider the current solution. Genetic algorithm is basically
used to minimize the total make-spam for scheduling jobs and assigning task to the worker.
Kotwal and Tanuja (2015) primary goal was to devote a number of employees to an
equivalent amount of operations in order to minimize overall costs and thus to increase net income
when assigning jobs / tasks to workers. According to them, the question of assignment occurs
because the available tools, such as people, machines, etc., have differing degrees of productivity
for carrying out specific tasks. Therefore, the expense, benefit or time of conducting the various
activities is different. The question, therefore, is how the assignments can be made in order to
maximize the goal. There are a variety of officers and a range of duties involved.
Any agent may be assigned to perform some role, incurring some expenses that will vary
based on the nature of the agent job. Kotwal and Tanuja (2015) propose an algorithm that
dynamically incorporates a heuristic approach during the decoding process to make it easier to
solve GA job assignment problems. Use the GA operator as: Selection method, fitness function,
crossover and mutation operator. They use a genetic algorithm, a type of machine learning, which
draws its behavior from a representation of evolutionary processes in nature. It is achieved by
generating inside a computer a population of individuals represented by chromosomes, basically a
collection of character strings that are similar to the base-4 chromosomes that we see in our own
DNA. Individuals in the population then undergo a phase of evolution. In the first case, their
process starts with a solution called a demographic solution from one demographic to create a new
population and that would provide a new population that is stronger than the existing one. Here in
the population, every chromosome is represented as chromosomes. In each generation, the three
key operators of genetic algorithm are performed; the selection, crossover and mutation.
The main weakness is that the algorithm cannot give solutions in cases where more than
one worker is assigned to a task. This has been seen by the assumptions made by the authors. that
19
a worker is assigned to only one station and that the job assigned to that station is only processed
and that the job cannot be split between two or more workers. This has also been shown when they
conclude that future works should extend by assigning more than one worker to the job and the
processing time often varies. Genetic algorithm cannot be used in our model as an algorithm to
solve task allocation as it will not be enough to solve issues addressed.
20
and budget deadline, their paper applies friendly relationships to the mobile crowdsourcing task
allocation problem, which can improve the accuracy of the task allocation, reduce the workers
'travel costs and optimize the total allocation utilities (defined as total workers' utilities). Given
that the platform needs to monitor workers 'positions in SAT mode, it needs to protect workers'
spatial privacy. This research also notes that GeoHash coding can provide a high degree of security
of the spatial location information of workers.
Zhao et al. (2019) first explore the timely attribute of relationship strength between the
workers and their friends. They then explore the strength of the relationship between workers and
their friends in terms of geographical attributes. At the end of the day, their proposed FRS-MC
algorithm is used to select the workers with the highest relationship strength. The FRS-MC
algorithm measures the time relationship strength and the geographic relationship strength of the
newly emerging worker and his colleagues, who already live in the mobile crowdsourcing network.
The system selects the worker with the strongest relationship with the newly emerged worker and
finds the task category this worker has accomplished. The system then considers the current
activities in this group that it has. The system then selects the task from the task collection for
allocation for them with the highest budget.
The algorithm helps workers to perform the part of the spatial task close enough to them
so that workers can travel to the position of the spatial task before the time limit for the job. Thus
mobile crowdsourcing systems can assign or suggest spatial tasks to active workers close to the
job site, their system allocates the most appropriate crowd workers for each task based on the
spatiotemporal attributes and task characteristics. Another strength aspect covered by the team is
the protection of the location privacy of the workers (Zhao et al., 2019).
The algorithm is based on the social relationship built around friends which is one aspect
of the problem statement being faced by my model, whereby two people paired together to perform
a task can have the proper skills but are not friends which might impede the task assigned. This
overlooks the situations where workers are goal oriented but are not friends. The algorithm limits
our research in finding an optimal pair for a task with the efficient time as it focuses on the social
relationship while overlooking other major Factors such as knowledge and expertise.
21
2.6 Review of Artificial Neural Network
An artificial neural network consists of processing units called neurons. An artificial
neuron tries to replicate the structure and behavior of the natural neuron. A neuron consists of
inputs (dendrites), and one output (synapse via axon). The neuron has a function that determines
the activation of the neuron (Kukreja et al., 2016). In multi-layer artificial neural networks, there
are also neurons placed in a similar manner to the human brain. Each neuron is connected to
other neurons with certain coefficients. During training, information is distributed to these
connection points so that the network is learned (Mijwil, 2018).
As shown in Figure 2.3, a neural network consists of three layers: an input layer, an
intermediate layer and an output layer. The blue boxes shown here represent the neurons and the
arrows represent the connection points. The data set prepared for training at the input layer is
shown to the network. The network assigns the weights of the events it learns to the connection
points in the intermediate layer. Not every point has to be a value, and some points can be zero.
A threshold value is added between the layers so that the zero values at the connection points do
not become zero (Mijwil, 2018).
22
feature is the ability of fault tolerance whereby corruption of one or more cells of ANN does not
prevent it from generating output. This feature makes the networks fault tolerant. In addition to
this (like other machine learning methods), they are capable of generalization, so they can interpret
information which is different to that of the training data, thus representing a ‘real-world’ solution
to a given problem by their ability to predict future cases or trends based on what they have
previously seen. Thus, trained ANNs can be used as standalone executable systems in order to
predict the class of an unknown case of interest, and therefore have the potential application in
diagnosis (Lancashire et al., 2009).The ability of ANN to make machine learning whereby it learns
events and make decisions by commenting on similar events is also a specified advantage of ANN.
ANN also provides for parallel processing capability whereby they have numerical strength that
can perform more than one job at the same time (Mijwil, 2018).
Finally, there are several techniques that can be used to extract knowledge from trained
ANNs, and the importance of individual variables can be easily recovered using various methods
such as the analysis of interconnecting network weights, sensitivity analysis and rule extraction.
This, from a biological perspective, is perhaps one of the most useful aspects of ANN modelling
(Lancashire et al., 2009).
A comparison was made between ANN, Naïve Bayes and Support Vector Machine results
to determine the success rate. The results as displayed in Table 5.6. The output shows that ANN
outperformed the rest. The precision of ANN was at 71.34% as compared to Naïve Bayes and
Support Vector Machine with 61.33% and 52.7% respectively. This shows that ANN can be used
as the machine learning approach for providing efficiency during task allocation.
23
Figure 2.4: Conceptual Framework for A Machine Learning Model for Task Allocation
24
unallocated task. This includes experience, nature of work, location of work, problem domain and
the average time required. This is run against the historical data that was used in training the model.
The data used from the HR and the RT datasets include the time taken for task accomplishment,
the level of education, employment status, the age, the experience level, gender, marital status and
also the religion. The output for the regression model will be the ranking of paired teams against
time taken.
This output is displayed to the supervisor having details of the task with the best two paired
teams. The supervisor can decide to choose who to work on the task of the two teams or can choose
the best of the two. Supervisors decision can be based on the availability of the team members. On
the same interface, the employee will view the task given and who the he/she will work with.
25
Chapter 3: Research Methodology
3.1 Introduction
Research methodology suggests the philosophy of process construction used to produce
the hypothesis that is the methodological structure through which the analysis is performed
(Remenyi et al. 1998). It lays forth the criteria for coordinating, preparing, developing and
performing studies. Methodological decisions are dictated by the study method that the researcher
practices. The research paradigm not only directs the use of data collection and interpretation
approaches, but also the preference of opposing theorizing approaches (Sayer, 1992).
This Chapter reviewed the research design, tools and methodology used for the
development of the model and finally the system design method adopted. For this research, mixed
research method was used. This entails the use of qualitative and quantitative research methods.
The quantitative aspect came into play through measuring accuracy of the proposed model. The
qualitative aspect was applied in the process of proving the concept that the application of the
proposed solution does have a direct positive correlation with the research problem.
26
3.2.3 Data Collection and Procedure
Secondary sources of data were used in this study. This made use of the existing databases,
that is the RT ticketing system historical data and the HR system data.
27
3.4 System Development Methodology
The system development methodology that was used was system prototyping. System
prototyping was used to develop the system which allows for changes and refinements in quick
succession, throughout the process. System prototyping is acknowledged as excellent choices
when deadlines are limited, as they best allow the project team to change the system functionality
based on a particular delivery date (Dennis et al., 2012). Deliverable of the thesis is a working
prototype proving a concept that task allocation can be improved using Artificial Intelligence.
The general flow of system prototyping is as illustrated in Figure 3.1.
System prototyping operates by carrying out stages of analysis, design and implementation
at the same time in order to easily create a streamlined version of the proposed system and to offer
review and input to users. After receiving feedback from the system's intended users, the
developers are tasked with the task of re-analyzing, redesigning and re-implementing a second
prototype that corrects bugs and adds more functionality. This cycle as outlined by Dennis et al.
(2012) continues until the analysts, users, and sponsors agree that the prototype provides enough
functionality to be installed and used in the organization.
28
different classes implemented. System design is very important as it will aid in outlining the
different parts of the proposed model in solving the problem as indicated in the chapter 1.
Object Oriented analysis and design was used for the system design which is based on
UML specification which offers an understandable model that reduces the system's complexity.
According to Booch et al. (2007), object-oriented analysis and design is the method that leads us
to an Object Oriented decomposition whereby object-oriented design uses a notation and process
for constructing complex software systems and offers a rich set of models with which we s reason
about different aspects of the system under consideration.
They go further in stating that Object-oriented design is a design approach that incorporates
the object-oriented decomposition process and a language designed to represent both conceptual
and physical as well as static and dynamic representations of the system under design. OOAD was
selected as the system design as compared to other system designs because it could simply our
design into small modules that can be understood by users and others who would like an
understanding of the same. OOAD provides clarity and understanding and provides concurrent
model use by multiple users (Booch et al., 2007). This enabled the visualization of the model in a
way that users will understand the step by step process.
Some of the UML diagrams that were used include, the data flow diagrams, use case
diagrams, system sequence diagram and collaboration diagrams, class diagram and the Star
Schema.
29
and was only used for academic purposes and only for the purpose of the research. A letter of
ethical approval was sought from the Strathmore University Institution Review Board.
Confidentiality and anonymity was upheld through the removal of identifying information
from the individual data, securely storing the electronic data and properly dispose or delete the
study data.
30
Chapter 4: System Analysis and Design
4.1. Introduction
In this section, we outline the design architecture of the task allocation prediction model.
This architecture will follow from the conceptual model shown in Figure 2.3. This section covers
the interaction between the users and the model, the components of the model and the interaction
between the various components of the model. The system design and architecture are represented
using Unified Modeling Language (UML) diagrams.
31
4.2.2.3. Supportability Requirements
The model should be accessible via the command line prompt. The system should be
accessible across all operating systems.
32
Figure 4.1: Use Case Diagram
33
Table 4.2: Ranking the matches and Calculating Time Taken
Use Case: Ranking the matches and Calculating Time Taken
Primary Actors: Task Allocation Regression Model
Precondition: Task details and top matched pairs data available
Post-condition: Ranking of paired teams against Time Taken
Main Success Scenarios
Actor Intention System Responsibility
1. Input layer receives details of
unallocated task
2. Input layer receives details of
selected pairs
3. Hidden layer learns data
4. Hidden layer ranks the paired teams
against Time Taken
5. Display paired rankings against time taken
34
4.5 System Sequence Diagram
Figure 4.2 shows the sequence diagram for the model. An employee enters details of his
preferred partners, these are partners that he would like to work with. The system returns and
displays the employee’s selection. The selection which has details of the employee and choice of
partner is matched to produce a stable matching. This is then passed to the task regressor as one of
the inputs. During this time, the supervisor initiates task allocation by entering details of the task.
This forms the second part of the inputs for the task allocation regressor.
The system then predicts the output which is the ranking of the matches against time taken
to accomplish a given task. This result is given to the supervisor and also the employee. Employee
receives an email notification of the task and the partner they are going to work with to accomplish
the task.
36
Figure 4.4: Data Flow Diagram
37
Figure 4.5: Database schema
38
Chapter 5: Implementation and Testing
5.1. Introduction
The prototype was developed through the use of neural network multilayer perceptron
which is a class of feedforward artificial neural network. The model was implemented in two
phases:
a) Pairing Phase - this relied heavily on user preference.
b) Time regression Phase - finding the pair with the least time taken. This was also
implemented using Python version 3 (Artificial Neural Network).
Data was entered through the command line prompt, this data consisted of the employee
preference on who to work and also data consisting of the task that needs to be worked on. This
formed the input to the neural network. Historical data was also used which was stored as a pickle
file and also used as an input to the neural network. Data was split into training, testing and
validation set. The training set was fed into the neural network model.
39
Figure 5.1: HR data Extraction Screenshot
40
Upon extraction, data was then merged together by removing the repeated rows in both the
two datasets. Merging entailed the connection of the two datasets to one having similarities in the
attributes. The attributes include: staff ID, time taken, gender, marital status, religion, meal
allowance status, level, employment status, years in the organization and finally the age. This
process is also known as transformation. Figures 5.3 and 5.4 depict the extraction process which
is the removal of the repeated rows while Figure 5.5 shows how joining was done.
41
Figure 5.4: Complete Extraction
42
The output is loaded to file awaiting testing or training. Figure 5.6 is a screenshot of the merged
HR and RT datasets in CSV format.
43
Figure 5.7: List of task categories.
44
Figure 5.8: List of employees who can perform the task.
45
Figure 5.9: Selection of preferred employee.
46
5.2.3 Neural Network Components
The components for the multilevel perceptron are as follows:
47
5.3.2 Dataset Description
This is the description of the dataset attributes from the two dataset, i.e. RT and HR
databases. featured selection was done and a list of attributes were chosen to be used in the task
allocation model. Only data relating to task allocation and identification were used to train, validate
and test the model, this ensured clean data. Table 5.1 illustrates the attributes with their numerical
values.
Table 5.1: Dataset Description
Variable Description Possible Values
48
Gender This attribute shows whether the person is Male (1) or female (2)
male or female
Marital Status This shows whether the employee is married Married (1) or Not Married (0)
or not.
Religion This attribute shows the religion of the Catholic (1), Protestant (2),
employee Muslim (3)
Age This is the length of time a person has lived Age is between 19-60 years
49
list of task categories which task was to be worked on. The system saves this selection. This
selection is displayed on the interface. The second phase on the interface is for the employee to
select his preferred employees. Employees had three options of selecting a preferred partner. The
system saved the selection. This selection is displayed on the interface.
The third phase is the workings output whereby it displays the workings and the summary
of the task and matches. This is fed to the neural network as input. It consists of the three preferred
pairs as selected by the employee and the task details as selected by the supervisor.
Once prediction is done, feedback in the form of ranking of paired teams to a given task
with the time taken is given on the prompt on the interface. This feedback enables the supervisor
to assign or not assign to an employee the task.
The major challenge with the model creation was the issue of missing data and scanty data.
Data like location and subject were missing and in some areas data was scanty. Another Challenge
was the operational expenses during the transformation of data, this came due to issues with finding
a laptop that can run and analyze the data without slowing down and hanging.
50
is written and stored into an executable file called task_match_Pred.pkl. This file is called up
whenever a user needs to make a prediction. When a supervisor enters unassigned task details and
needs to predict the pair that will be assigned the task, to avoid overfitting, a criterion is first chosen
which is already encoded in the dataset stored that is separate from those used for training and
validation.
51
Table 5.2: Model and System Testing
Test Case Criteria Check Priority
Functionality Does the model allow users to select pairs? High
Functionality Does the model allow users to upload High
unassigned task details?
Performance Does the model take a short time in High
prediction?
Reliability Does the model consistently give correct High
matching?
52
Table 5.4: User Acceptance Testing
Test Case Criteria Check Priority
Functionality Does the model allow users to select pairs? High
Functionality Does the model allow users to upload unassigned task High
details?
Reliability How reliable is the proposed model according to the High
users in performing their tasks?
Functionality Does the model notify users of matched assignments? High
Acceptability How likely is the proposed model likely to adopted by High
the ICT team for efficiency in performing their tasks?
53
Chapter 6: Discussion
6.1 Introduction
This section discusses the testing of the model which focused on the effectiveness, the
efficiency, the ease of use, the interactivity, utility and convenience. The model’s accuracy level
was satisfactory enough as it was able to predict the best pairs for a given task, this made it reliable.
This proved the functionality to be effective and efficient.
Since the output interface was command line based, it was easy to interact with the model
as everything was straight forward for the functionalities. The speed of the model in executing the
predictions in shortest time period was made possible by pickle and the use of stub files.
54
6.4 Contribution to Research
The model developed provided an efficient way to allocate tasks to employees who can
perform the task within the shortest time possible. This was effective in utilizing the employees
well thus improving performance and also increased the end user satisfaction because the quick
resolution means return to normalcy by the users.
Additionally, users who were supposed to be assisted, were not able to interact with the
model in stating clearly their issues. This would have brought the aspect of specifics in the tasks
or issues raised. User data can enhance the prediction in adding information about the user history.
This can improve the levels of certainty and efficiency. Furthermore, since data obtained contained
duplicates and gaps, data processing proved a challenge during the study. This reduced the
available data that could be used for an effective model accuracy.
55
Chapter 7: Conclusions and Recommendations
7.1 Conclusion
The main objective of this research was to develop a predictive algorithm for task
allocation that utilizes the artificial neural network algorithm. This objective was divided into five
major objectives in order to adequately achieve the main objective. These major objectives are as
follows:
i. To investigate the factors to consider during task allocation.
ii. To analyze challenges faced during task allocation.
iii. To examine algorithms, approaches and models used in task allocation.
These first three objectives were met by reviewing the existing literature. Factors to
consider during task allocation, challenges and approaches aided in understanding the whole
concept of task allocation in different settings.
56
This research aimed at matching employees to tasks with consideration of the qualities
possessed by the employee and choice of partner. The research was able to prove that when
employee preference is taken into account together with right skills for the task, time is saved thus
providing efficiency as tasks are performed faster and are done well.
7.2 Recommendations
In consideration of the results obtained from the implementation and testing of the
proposed prototype, the following recommendations were made:
i. To increase efficiency tasks that require one person and those that require more than two
people to complete it effectively should be considered on the system.
ii. To improve the levels of certainty and efficiency, users should be able to request directly
on the system. User data will enhance the prediction in adding information about the user
history. This can assist especially in cases where a task or issue has been reoccurring and
this also it improves the level of preparedness of the IT personnel required to resolve the
issue.
iii. To ease the use of the proposed model, an end to end system should be developed that
offers a web application and is incorporated to the RT ticketing system.
57
References
Andrews, M. C., Kacmar, K. M., Blakely, G. L., & Bucklew. (2008). Group Cohesion as an
Enhancement to the Justice—Affective Commitment Relationship. Group &
Organization Management, 736–755.
Avinash, A., & Ramani, K. (2014). A Hybrid Technique for Software Project Scheduling and
Human Resource Allocation. International Journal of Engineering Development and
Research, 2(3), 3243–3251.
Baiden, B. K., & Price, A. D. F. (2011). The effect of integration on project delivery team
effectiveness. International Journal of Project Management, 29(2), 129–136.
https://doi.org/10.1016/j.ijproman.2010.01.016
BallesterosPérez, P., GonzálezCruz, M. C. and F., & Diego, M. (2012). Human resource
allocation management in multiple projects using sociometric techniques.
International Journal of Project Management, 901–913.
Barash, G., Bartolini, C., & Wu, L. (2007). Measuring and improving the performance of an
IT support organization in managing service incidents. Second IEEE/IFIP
International Workshop on Business-Driven IT Management, BDIM 2007, c, 11–18.
https://doi.org/10.1109/BDIM.2007.375007
Bartolini, C., Stefanelli, C., & Tortonesi, M. (2008). SYMIAN: A simulation tool for the
optimization of the IT incident management process. Lecture Notes in Computer
Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture
Notes in Bioinformatics), 5273 LNCS, 83–94. https://doi.org/10.1007/978-3-540-
87353-2-7
Booch, G., Maksimchuk, R. a., Engle, M. W., Young, B. J., Conallen, J., & Houston, K. a.
(2007). Object-Oriented Analysis and Design with Applications. In Chemistry &
biodiversity (Vol. 1, Issue 11). https://doi.org/10.1145/1402521.1413138
58
Campion, M. a., & Gina J. Medsker. (1993).
Campion_Medsker1993_Relations_Between_Work.pdf. In Personnel Psychology
(Vol. 46, pp. 823-). https://doi.org/10.1111/j.1744-6570.1993.tb01571.x
Chen, J., Wang, Z., & Wang, S. (2010). Method research for the allocation of project human
resources based on multi-dimensional model. Proceedings - 3rd International
Conference on Information Management, Innovation Management and Industrial
Engineering, ICIII 2010, 1, 160–163. https://doi.org/10.1109/ICIII.2010.44
Chen, J., Yun, C., & Wang, Z. (2009). Multi-dimensional model method for the human
resource allocation in multi-project. 2009 International Conference on Information
Management, Innovation Management and Industrial Engineering, ICIII 2009, 4,
364–366. https://doi.org/10.1109/ICIII.2009.547
Daniel, L., Centeno, G., Ruiz-torres, A. J., & Otero, C. E. (2009). Computers & Industrial
Engineering A systematic approach for resource allocation in software projects.
Computers & Industrial Engineering, 56(4), 1333–1339.
https://doi.org/10.1016/j.cie.2008.08.002
Dennis, Wixom, & Roth. (2012). Systems Analysis & Design (5th Edition). John Wiley &
Sons, Inc.
e Silva, L. C., & Costa, A. P. C. S. (2013). Decision model for allocating human resources in
information system projects. International Journal of Project Management, 31(1),
100–108. https://doi.org/10.1016/j.ijproman.2012.06.008
Fast-Berglund, A., & Stahre, J. (2013). Task allocation in production systems - Measuring
and analysing levels of automation. IFAC Proceedings Volumes (IFAC-
PapersOnline), 46(15 PART 1), 435–441. https://doi.org/10.3182/20130811-5-US-
2037.00032
Gale, D., & Shapley, L. S. (1962). College Admissions and the Stability of Marriage Author
( s ): D . Gale and L . S . Shapley Source : The American Mathematical Monthly , Vol
59
. 69 , No . 1 ( Jan ., 1962 ), pp . 9-15 Published by : Mathematical Association of
America Stable URL : http://ww. Mathematical Association of America, 69(1), 9–15.
https://doi.org/10.2307/2312726
Giannakopoulos, I., Karras, P., Tsoumakos, D., Doka, K., & Koziris, N. (2016). An equitable
solution to the stable marriage problem. Proceedings - International Conference on
Tools with Artificial Intelligence, ICTAI, 2016-Janua(i), 989–996.
https://doi.org/10.1109/ICTAI.2015.142
Hendriks, M. H. A., Voeten, B., & Kroep, L. (1999). Human resource allocation in a multi-
project R&D environment: Resource capacity allocation and project portfolio
planning in practice. International Journal of Project Management, 17(3), 181–188.
https://doi.org/10.1016/S0263-7863(98)00026-X
Iwama, K., & Miyazaki, S. (2008). A survey of the stable marriage problem and its variants.
Proceedings - International Conference on Informatics Education and Research for
Knowledge-Circulating Society, ICKS 2008, i, 131–136.
https://doi.org/10.1109/ICKS.2008.7
Korathi, C. R. (2004). Research Methodology Methods and Techniques (Second Edi, Issue
c). New Age International Publishers.
Kotwal, J. G., & Tanuja, S. D. (2015). Solving Task Allocation to the Worker Using Genetic
Algorithm. 6(4), 3736–3741.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.695.7180&rep=rep1&typ
e=pdf
Kukreja, H., N, B., S, S. C., & S, K. (2016). An introduction to Artificial Neural Network.
Appita Journal, 1(5).
Lancashire, L. J., Lemetre, C., & Ball, G. R. (2009). An introduction to artificial neural
networks in bioinformatics - Application to complex microarray and mass
60
spectrometry datasets in cancer studies. Briefings in Bioinformatics, 10(3), 315–329.
https://doi.org/10.1093/bib/bbp012
Liu, R., & Lee, J. (2012). IT incident management by analyzing incident relations. Lecture
Notes in Computer Science (Including Subseries Lecture Notes in Artificial
Intelligence and Lecture Notes in Bioinformatics), 7636 LNCS, 631–638.
https://doi.org/10.1007/978-3-642-34321-6-49
Mulla, A., Raravi, G., Rajasubramaniam, T., Bose, R. P. J. C., & Dasgupta, K. (2016).
Efficient task allocation in services delivery organizations. Proceedings - 2016 IEEE
International Conference on Services Computing, SCC 2016, 555–562.
https://doi.org/10.1109/SCC.2016.78
Pan, S., Larson, K., Bradshaw, J., & Law, E. (2016). Dynamic task allocation algorithm for
hiring workers that learn. IJCAI International Joint Conference on Artificial
Intelligence, 2016-Janua, 3825–3831.
61
Park, J., Seo, D., Hong, G., Shin, D., Hwa, J., & Bae, D. H. (2014). Practical human resource
allocation in software projects using genetic algorithm. Proceedings of the
International Conference on Software Engineering and Knowledge Engineering,
SEKE, 2014-Janua(January), 688–694.
Paul, R., Bose, R. P. J. C., Chalup, S. K., & Raravi, G. (2017). Improving Operational
Performance in Service Delivery Organizations by Using a Metaheuristic Task
Allocation Algorithm. CEUR Workshop Proceedings, 1985, 25–37.
Remenyi, D.S.J.; Swartz, E.; Money, A. and Williams, B. (1998). Doing Research in Business
and Management: An Introduction to Process and Method. SAGE Publications,
London.
Samath, S., Udalagama, D., Kurukulasooriya, H., Thelijjagoda, S., & Premarathne, D. (2017).
Collabcrew - An Intelligent Tool for Dynamic Task Allocation within a Software
Development Team.
Sayer, A. (1992). Method in Social Science: A Realist Approach. London: Routledge. nd.
Schulte, D. (2012). Towards a human task management reference model. CEUR Workshop
Proceedings, 847, 104–111.
Siala, M., & O’Sullivan, B. (2017). Rotation-based formulation for stable matching. Lecture
Notes in Computer Science (Including Subseries Lecture Notes in Artificial
Intelligence and Lecture Notes in Bioinformatics), 10416 LNCS, 262–277.
https://doi.org/10.1007/978-3-319-66158-2_17
Zhao, B., Wang, Y., Li, Y., Gao, Y., & Tong, X. (2019). Task allocation model based on
worker friend relationship for mobile crowdsourcing. Sensors (Switzerland), 19(4),
1–23. https://doi.org/10.3390/s19040921
Zhou, L. (2008). A project human resource allocation method based on software architecture
and social network. 2008 International Conference on Wireless Communications,
62
Networking and Mobile Computing, WiCOM 2008, 1–6.
https://doi.org/10.1109/WiCom.2008.1749
63
Appendices
Appendix A: Originality report
64
Appendix B: Ethical Approval Letter
65
Appendix C: Complete Model Interface
66
67
Appendix C: Model Training Code Snippet
68