Project Final Rev
Project Final Rev
2023-06-15
1
Table of Contents
Abstract
1. Introduction
2. Literature Review
3. Problem Definition
4. Mathematical Model
5. Model Implementation
6. Results
7. Shiny UI
8. Conclusion
9. Recommendations
10. References
Appendix
2
Abstract
It is quite challenging to efficiently schedule volunteer activities while considering the dynamic changes in
volunteers’ preferences, age, and activity. Currently, most public or university libraries are using manual
scheduling methods which are laborious and prone to errors, resulting in suboptimal allocation of resources.
Our study proposes the development of an optimized model for volunteer scheduling for Hillsboro library
using Integer programming methods by using R studio and simulating results using the Shiny application.
Using volunteer management principles, we aim to create a multi-criteria optimization model which incor-
porates preferences, events, and availability of volunteers. By employing glpk solver our model seeks to
maximize volunteer preferences to event shifts based on volunteer availability and preferences. Additionally,
deviation variables were used to address the effective assignment of volunteers by using event and maximum
volunteer constraints. Besides that, with the aid of the Shiny application, we can simulate a volunteer
assignment which provides a flexible and efficient schedule tool compared to the current Hillsboro Library
system (google sheets). All in all, our model will enhance volunteer scheduling at Hillsboro Library, optimize
resource allocation for activities and improve overall scheduling quality. This project also contributes to a
broader aspect of volunteer management in the library sector, offering insights and methods which can apply
to different activities or organizations.
1. Introduction
Hillsboro Library was established in 1976 as part of and funded by WCCLS. The library’s mission and values
are to provide an inclusive environment with a world-class system for all communities to gather, connect,
and explore. The library wants to provide events for families and children as part of its mission. There are
currently four events conducted every week; each one lasts for about four hours per day.
Hillsboro Library allows local community members to participate in these events and engage with each
other. This initiative allows these community members to participate as volunteers. As a result, the library
is recruiting three volunteers per event based on certain factors like skills, language, and location. Recruiting
volunteers aims to help manage the event, where volunteers can perform different tasks and facilitate event
participants. In order to register as a volunteer for the events, volunteers must visit the library website
and fill out the registration form. Also, volunteers can record their volunteer hours on the same website.
However, the Hillsboro library scheduler uses “Google Sheets” as a volunteer scheduling system that does
not display volunteer preferences for events and shifts.
Utilization of this limited scheduling system creates some challenges. As a result, the scheduler cannot track
the availability and working hours of the volunteers, which can lead to volunteer burnout or losing volunteers.
In order to overcome these challenges and better implement a scheduling system that can optimize volunteer
hours based on preferences and provide resolution for volunteer absence by providing an immediate substitute
volunteer, this can be implemented by using an optimization model using R that will be explored through
this report.
2. Literature Review
One of the research papers by Abigail Palmer et al [1] aims to “assign the staff to the days and locations for
telemedical services treating adolescent mental health patients by minimizing the number of staff to run the
service”. This paper provided us with insights on how general staffing and mathematical models function by
considering real time scenarios. This paper mentions two objective functions in which the former is to find
a minimum staffing pattern to run the hybrid telehealth services, and the latter is to minimize the distance
traveled by staff. The decision variables of their model were binary variables, assigning ‘1’ if the staff member
works at a location ‘l’ on a day “d,”’ otherwise assumed to be zero. The first constraint illustrates demand
satisfaction. Additionally, a member of staff cannot be assigned to multiple locations at the same time.
They had developed a 3D mathematical model with the aid of Microsoft Excel using Open Solver and the
COIN-OR optimization library by the authors and stated the results by displaying them in different tables
3
as week-day dependent demand distribution, solution with the first objective function, mileage for the first
objective, and the second objective, respectively.
The authors stated that in the future, it could be preferable to set a restriction requiring personnel to work
remotely at least once every two weeks, for instance. The limitation of this research would be to presume
that once a staff person is given a shift at a hospital, they cannot relocate. Instead, a staff member of the
agency is necessary to meet the unmet demand. [1] All-in-all, this helped us explore how deviation variables
and constraints should be set for Hillsboro scheduling activities.
Secondly, Anderson et al [2] published a paper on how optimization helps schedule Nursing Staff at the
Long-Term Care Homes of the City of Toronto. Their team developed a hierarchical optimization model for
their scheduling tool. It uses nurses shift preferences to generate feasible schedules that adhere to complex
seniority requirements, prioritizing more-senior nurses when allocating available shifts. The tool involves
solving two integer programs (IPs) sequentially—one for demand maximization and the other for preference
maximization. The model has an implemented solution approach, which employs an approximate version
of the Armstrong seniority rules, and an exact solution approach. Furthermore, the model had two phases,
i.e., the main decision variables for both phases are binary variables indicating whether each nurse in the
scheduling pool is assigned to any shifts within the scheduling horizon. Finally, the study also presents
technical and practical challenges in building the tool, including Armstrong seniority rules. It uses open-
source solvers and heuristics to generate optimal or near-optimal schedules for each scheduling pool. [2] The
lessons learned from this article include how to grade volunteer preferences when considering the type of
activity, duration of the event, and the availability of volunteers.
Effective volunteer scheduling is crucial for any organization to ensure smooth operations and maintain vol-
unteer retention. However, traditional manual scheduling methods often need help to meet the complexities
of modern workplaces. In recent years, research in operations optimization has emerged as a solution to
address staff scheduling challenges. By leveraging optimization techniques and computing programs like R,
organizations can achieve optimal solutions for volunteer scheduling, resulting in improved efficiency and
volunteer retention.
Volunteer Management
Volunteer management and retention are crucial to successful nonprofit organizations and community ini-
tiatives. Effective management involves recruiting, training, and coordinating volunteers to ensure they are
aligned with the organization’s goals and activities. A volunteer is defined as “any individual who offers
their service without expecting any monetary benefits in return”. [3] Providing clear expectations, meaning-
ful roles, and regular communication is essential to keeping volunteers engaged and motivated. Recognizing
and appreciating their contributions is also vital for retention. [4,5]
Studies show that two-fifths of volunteers have stopped volunteering for organizations due to poor man-
agement practices. One of these practices is utilizing the basic traditional scheduling systems and needing
to update these systems more timely. Volunteer recruitment and retention resources are available to pro-
gram administrators. With the professionalization of volunteer administration, public and nonprofit leaders,
agency administrators, and subject-matter specialists have focused on enhancing host organizations’ ability
to host volunteers. [5]
Managing staff schedules poses various challenges and factors, such as shift patterns, employee preferences,
availability, skill requirements, and workload distribution. Manual scheduling methods are time-consuming,
error-prone, and often fail to optimize schedules based on multiple objectives. These challenges lead to
sub-optimal schedules, increased costs, and reduced volunteer morale. As a result, organizations have sought
alternative approaches to improve staff scheduling efficiency.
4
Numerous difficulties arise with scheduling volunteers, and from an optimization standpoint, a simple schedul-
ing system may have a major influence on volunteer retention. Here is an examination of the issues and how,
in terms of optimization, a straightforward scheduling system might impact volunteer retention.
It may be difficult to guarantee enough coverage for all shifts and events using a simple scheduling system.
Finding overlaps or gaps in volunteer availability may be challenging for coordinators. This may lead to
open shifts or insufficient staffing, which might result in greater stress for the available volunteers and a bad
experience for both the volunteers and the organization. If schedule conflicts arise frequently, volunteers may
feel overwhelmed or discouraged, which can have a detrimental impact on their retention.
Unexpected changes in volunteer availability may occur, and a simple scheduling system may not offer the
required flexibility to effectively handle these changes. Volunteers may feel constrained or discouraged from
continuing their commitment if it is difficult for them to locate substitutes or modify their schedules. To
meet the dynamic nature of volunteers’ availability and improve their retention, volunteer scheduling must
be flexible and adaptable.
Operations Optimization
An operations research approach to decision-making looks for the optimum system design and operation,
typically when allocating scarce or constrained resources is necessary. Finding the best conclusion requires
the scientific method for decision-making involves the use of one or more mathematical optimization models,
which are representations of the real situation.
Research in operations optimization offers a powerful tool to address staff scheduling challenges. By formu-
lating staff scheduling as an optimization problem, organizations can consider various factors, constraints,
and objectives to create schedules that minimize costs, maximize workforce utilization, and satisfy volun-
teers’ preferences. This field applies mathematical modeling, algorithms, and optimization techniques to find
optimal solutions that meet specific criteria and objectives.
Using R
Computing programs like R have played a crucial role in transforming staff scheduling. R is a widely used
open-source programming language and software environment known for its extensive statistical analysis,
data manipulation, and optimization modeling capabilities. By harnessing the computational power of R,
organizations can build complex mathematical models that capture the intricacies of staff scheduling and
apply optimization algorithms to find the most optimal solution. By defining the objective and constraints,
data collection and loading required packages, formulating an optimization problem, implementing and
solving the optimization model, and presenting the results using the Shiny application.
3. Problem Definition
Volunteer scheduling can be a challenging task for organizations (like Libraries) that sometimes rely on
the contributions of volunteers to support their events and fulfill their mission. The problem revolves
around efficiently assigning volunteers to shifts or events while considering various factors such as volunteer
availability, skill sets, preferences, and the organization’s operational requirements. The overarching goal is
to create a well-balanced and optimized schedule that ensures adequate coverage, minimizes conflicts, and
maximizes volunteer engagement and satisfaction.
5
The Hillsboro Library relies on the support of volunteers to ensure the smooth operation of its events.
However, the library needs more volunteer staffing for the various events it hosts each week. This problem has
prompted the need for an optimization solution to effectively schedule event volunteers, ensuring maximum
coverage and a successful event experience for participants.
Hillsboro Library has 4 new events planned for Summer ’23
Event 1 (E1): Summer Reading Program (Adults) Tue Morning (2 hours)
Event 2 (E2): Summer Reading Program (Children) Tue Evening (2 hours)
Event 3 (E3): Summer Reading Program (Adults) Thu Morning (2 hours)
Event 4 (E4): Summer Reading Program (Children) Thu Evening (2 hours)
Event 5 (E5): International Story Time (Family) Sat Morning (1 hour)
Event 6 (E6): Teen Story Time (13-18 years) Sat Evening (1 hour)
Event 7 (E7): International Story Time (Family) Sun Morning (1 hour)
Event 8 (E8): Teen Story Time (13-18 years) Sun Evening (1 hour)
Our team sought to develop an optimization model and an interactive web application to address the vol-
unteer scheduling challenges faced by Hillsboro Library. To achieve these goals, we worked on gathering the
necessary data through individual interviews with library stakeholders and leveraged this information to cre-
ate a robust optimization model to prevent volunteer burnout, ensure the fulfillment of event requirements,
and enhance the overall volunteer management experience. Additionally, we aimed to design an intuitive
web application using Shiny that enables R developers to easily produce interactive data visualizations for
the web and do as much or as little GUI (graphical user interface) richness as the developer chooses to spend.
4. Mathematical Model
Data Sets
Decision Variables
Variables
Parameters
1. Aev = 1 ; if event ‘e’ time slot works for volunteer ‘v’; 0 otherwise
2. Pev ; preference to be assigned to event ‘e’ for volunteer ‘v’ (Scale of 1-5)
3. Be = Minimum volunteer requirement for every event (4 volunteers)
4. Cv = Ideal number of events that volunteers should be assigned (2 events per week)
5. Dv = Max number of events that volunteers should be assigned (3 events per week)
6
Objective Function
X
Max xev · Pev
ev
Constraints
1. Availability Constraint: Ensures that volunteers are not assigned to an event if they are not available
2. Requirement Constraint: Ensures that the min requirement of volunteers for every event is met
X
xev ≥ Be (Be = 4)
e
X
xev ≤ Dv (Dv = 3)
v
4. The sum of the differences between the ideal number of events and the assigned number of events and
the deviation constraint should be equated to 0.
X
Cv − xev − q1 = 0
v
5. The sum of the differences between the ideal number of volunteers and the assigned number of volunteers
and the deviation constraint should be equated to 0.
X
Be − xev − q2 = 0
e
xev ∈ [0, 1]
7. Non-negativity Constraint
xev ≥ 0 ∀e, v
7
5. Model Implementation
The mathematical model is implemented by building a preference matrix as shown in Table 1. This matrix
is generated based on the responses filled in by the volunteers when they fill in the application questionnaire.
Volunteers are asked to rate their preference to be assigned to each event on a scale of 1-5 (5 is the highest).
Next, the availability matrix is constructed using the time slot availability data obtained from each volunteer
as shown in Table 2. We use the minimum requirement constraint to ensure that at least 4 Volunteers are
assigned to every Event.
Additionally, each volunteer should be assigned to at least 1 event but not more than 3 events per week so
that the assignment is well-balanced and no volunteer is overloaded.
6. Results
The model implementation was successful using the glpk solver which gave the Objective Function a value
of 181. Table 3 shows the assignment of the Volunteers to Event 1 through Event 8 while ensuring that the
event preference is maximized while meeting the availability constraint of the volunteers.
Table 4 shows that each most events have 5 volunteers assigned. Only 1 event has been assigned 4 volunteers
and another with 6 volunteers. Overall, the minimum requirement constraint of each event is satisfied.
Table 5 confirms that no volunteer is overloaded with event coverage. Each volunteer has at least 1 assigned
event with some of them covering a maximum of 3 events per week. With this model, 50% of the registered
volunteers have been assigned the ideal number if events (2 events per week).
From the above results, we can conclude that the obtained solution is optimal which satisfies all the con-
straints and maximizes the objective function of the model.
## Status: success
## Objective value: 181
8
Table 1: Volunteer Preference
9
Table 2: Volunteer Availability
10
Table 3: Volunteer Scheduling
11
Table 4: Total Volunteers per Event
Volunteer Count
Tue - Event1 5
Tue - Event2 5
Thu - Event3 5
Thu - Event4 5
Sat - Event5 4
Sat - Event6 6
Sun - Event7 5
Sun - Event8 5
Event Count
Volunteer 1 3
Volunteer 2 2
Volunteer 3 3
Volunteer 4 1
Volunteer 5 1
Volunteer 6 2
Volunteer 7 2
Volunteer 8 3
Volunteer 9 3
Volunteer 10 2
Volunteer 11 2
Volunteer 12 2
Volunteer 13 2
Volunteer 14 2
Volunteer 15 1
Volunteer 16 2
Volunteer 17 2
Volunteer 18 1
Volunteer 19 1
Volunteer 20 3
7. Shiny UI
1. UI - The R files which hold code for user interface were designed as per our need to develop UI
12
for our optimization App. The parent component “FluidPage” has “titlePanel”, “SidebarLayout”.
“SidebarLayout” has two components “sidebarPanel” and “mainPanel” as shown in Figure 1.
• We included an introduction and instructions to use the app for convenience and self service.
• After selecting the appropriate values for constraints, click “Optimize!” to run the model and display
the solution results on the “Schedule Assign” tab, as shown in Figure 2.
2. Server - The backend code is written on the server, which takes input from the UI and executes the
model to display the results back on the UI. As the interface is reactive, it takes action as per the
interaction on the UI.
Shinyapp.IO
Although we developed the application wrapper for our optimization model, it was still running on a local
computer. We deployed it as a web application and hosted it on the internet to provide open access to the
application. To achieve this, we utilized a cloud solution offered by “www.shinyapps.io”.
13
8. Conclusion
Our team conducted an extensive literature study and interviewed the Library Volunteer Coordinator to
determine the scheduling problem. We worked on representing this problem through a mathematical model
and employed integer linear programming to obtain the optimal scheduling solution. Finally, we created a
user-friendly scheduling interface with the help of the Shiny app.
The key highlights of the scheduling model implementation are listed below: 1. The team came up with a
linear programming model and solved it using R Studio to obtain a simple yet effective scheduling interface. 2.
The model implementation successfully found optimized results that satisfied all the requirements/constraints
that can be further enhanced to address any future scheduling needs. 3. If implemented in real-time, this
project will help the Volunteer Coordinators to schedule the volunteers more efficiently compared to the
traditional scheduling systems using Google Sheets. 4. In the manual scheduling method, the volunteer
preference was not taken into account when they are assigned to various events. Since Hillsboro Library
is looking to increase the percentage of returning volunteers, this project will help in accommodating the
preferences of the volunteers and encourage them to return for upcoming events.
Finally, the main learning from this project is hands-on experience with operations research and how opti-
mization models may be utilized to solve real-world problems in diverse sectors such as health care, produc-
tion, planning, and, manufacturing, etc. The team members are looking forward to utilizing these skills and
knowledge in their respective professional lives.
9. Recommendations
To enhance the scheduling systems and effectively recruit and retain volunteers within the Washington
County Cooperative Library Services, future recommendations include implementing optimization models for
all sixteen libraries. These models will aid in optimizing scheduling processes. Furthermore, integrating real-
time data will make the scheduling system more dynamic and adaptable. To further improve efficiency and
accuracy, the utilization of machine learning algorithms is suggested, which can enhance the performance of
the scheduling models. Monthly feedback forms can be utilized to collect suggestions from both coordinators
and volunteers, enabling the implementation of any improvements to the current or existing scheduling
systems. Additionally, automated monthly surveys can be generated for all sixteen libraries, and coordinators
and volunteers can receive notifications via text or email, leveraging the contact information stored in the
database (such as in a Shiny app), to facilitate further enhancements. To make this application industry
ready, move all the input and out data to be accessible from Shiny App. This included but was not limited
to allowing users to upload all volunteer data, allowing them to adjust requirements/constraints. Further,
enhance schedule assign model output results with a more user-readable format and the option to download.
14
10. References
[1] Palmer, Abigail, et al. “Optimizing an Adolescent Hybrid Telemedical Mental Health Service Through
Staff Scheduling Using Mathematical Programming: Model Development Study.” JMIR Formative Research,
October 04, 2022 doi.org/10.2196/43222.
[2] Manion Anderson, Merve Bodur, Scott Rathwell, Vahid Sarhangian “Optimization Helps Scheduling
Nursing Staff at the Long-Term Care Homes of the City of Toronto”, Informs Journal on Applied Analytics,
25 July, 2022, doi.org/10.1287/inte.2022.1132.
[3] Shin, Sunney & Kleiner, Brian, “How to manage unpaid volunteers in organisations”, Management
Research News, March 2003, www.researchgate.net/
[4] Benjamin Gidron, “Predictors of Retention and Turnover Among Service Volunteer Workers.” Journal of
Social Service Research, Jan 1, 1984, psycnet.apa.org
[5] Hager M, Brudney J, “Volunteer management practices and retention of volunteers”, The Urban Institute,
January 2004, www.researchgate.net/
15
Appendix
For instance, we created a public url for our application wherein we could make necessary changes and
publish to the cloud. [https://enzjqk-kaushik-chaudhary.shinyapps.io/LibraryVolunteringScheduling/]
6. [https://www.shinyapps.io/] give ability to monitor usage of applications, troubleshooting and managing
access and other features.
16