
Citation 
 Permanent Link:
 http://digital.auraria.edu/AA00002332/00001
Material Information
 Title:
 Optimal volunteer assignment with an application to the Denver bcycle bike sharing program
 Creator:
 Kaspari, Matthew
 Publication Date:
 2010
 Language:
 English
 Physical Description:
 x, 68 leaves : ; 28 cm
Subjects
 Subjects / Keywords:
 Voluntarism  Management  Mathematical models ( lcsh )
Denver BCycle (Program)  Management ( lcsh )
 Genre:
 bibliography ( marcgt )
theses ( marcgt ) nonfiction ( marcgt )
Notes
 Bibliography:
 Includes bibliographical references (leaf 68).
 General Note:
 Department of Mathematical and Statistical Sciences
 Statement of Responsibility:
 Kaspari Matthew.
Record Information
 Source Institution:
 University of Colorado Denver
 Holding Location:
 Auraria Library
 Rights Management:
 All applicable rights reserved by the source institution and holding location.
 Resource Identifier:
 672293457 ( OCLC )
ocn672293457
 Classification:
 LD1193.L622 2010m M37 ( lcc )

Downloads 
This item has the following downloads:

Full Text 
OPTIMAL VOLUNTEER ASSIGNMENT WITH AN APPLICATION TO
THE DENVER BCYCLE BIKE SHARING PROGRAM
by
Kaspari, Matthew
B.S., University of Colorado Denver, 2005
A thesis submitted to the
University of Colorado Denver
in partial fulfillment
of the requirements for the degree of
Master of Science
Applied Mathematics
2010
This thesis for the Master of Science
degree by
Kaspari, Matthew
has been approved
by
Alexander Engau
Steven Billups
Harvey J. Greenberg
Loren Cobb
Gary Kochenberger
Date
Matthew, Kaspari, (M.S., Applied Mathematics)
Optimal Volunteer Assignment with an Application to the Denver BCycle Bike
Sharing Program
Thesis directed by Assistant Professor Alexander Engau
ABSTRACT
Volunteers are critical for many organizations and events to run properly.
Assigning volunteers to tasks they prefer will increase the probability that they
enjoy themselves and volunteer again in the future. We construct a goal pro
gramming model that maximizes the volunteers preferences in a timely, effec
tive, and fair manner. We use a twophase model to assign volunteers. The first
phase determines if a feasible assignment exists. If a feasible assignment does
not exist, the model solution indicates what jobs and what shifts need more vol
unteers. The second phase of the model is not used unless the first phase solves
with an objective function value of zero. The second phase is used to make a
feasible assignment of volunteers while maximizing their preferences. Simula
tion experiments are conducted to study the longterm effects of the volunteer
pool over time, demonstrating the importance and potential impact of assigning
volunteers using our proposed methodology. Colorados nonprofit corporation
Denver Bike Sharing used the model to assign volunteers for the launch of
Denver BCycle, Denvers new bike sharing to promote health, quality of life
and preservation of the environment in Denver.
This abstract accurately represents the content of the candidates thesis. I
recommend its publication.
Signed
Alexander Engau
DEDICATION
This thesis is dedicated to Harvey J. Greenberg who introduced me to the
volunteer assignment problem. It was my relationship with Harvey that not
only got me excited about graduate school but about operations research in
general. Thank you Harvey for always being there to mentor me.
ACKNOWLEDGMENT
This thesis would not have been possible without the support of Alexander
Engau, my graduate advisor. I appreciate all the time that Alex helped guide
and advise me. I also want to thank Jeffery Larson for all the times he would
answer his phone late at night to answer one of my many questions. I want
to thank my committee for taking time away from their busy lives to help me
further my career.
CONTENTS
Figures ................................................................ ix
Tables................................................................... x
Chapter
1. Introduction.......................................................... 1
2. Literature Review..................................................... 5
2.1 Volunteerism ....................................................... 5
2.1.1 What is volunteerism?............................................. 6
2.1.2 Why do people volunteer?.......................................... 6
2.1.3 What motivates someone to volunteer?.............................. 7
2.1.4 Why is volunteering important and what are the social consequences? 8
2.2 Assignment Problem.................................................. 8
2.3 Goal / Multiobjective Programming................................. 12
3. Model................................................................ 14
3.1 Mathematical Model................................................. 15
3.2 TwoPhase Approach................................................. 23
4. Simulation........................................................... 26
4.1 Motivation and Description......................................... 26
4.2 Simulation Model................................................... 29
4.3 Scenarios ......................................................... 32
4.3.1 Simulation Insight............................................... 37
vii
5. Application to Denver Bike Sharing................................ 38
6. Conclusion........................................................ 42
6.1 Future Work .................................................... 43
Appendix
A. BikeDenver Client Letter......................................... 44
B. BikeDenver Volunteer Survey ..................................... 45
C. Simulation Program............................................... 48
References......................................................... 68
viii
FIGURES
Figure
3.1 Phase 2 Model..................................................... 25
4.1 Simulation Model.................................................. 31
4.2 Simulation Plot................................................... 33
IX
TABLES
Table
3.1 Nomenclature.................................................................. 16
4.1 Simulation Nomenclature....................................................... 30
4.2 Simulation: Base Case p^k = 6, p7k = 6, p^k = 6, = .25, Â£ = .90, 9 = .50 . 32
4.3 Simulation: rj = .50 ......................................................... 34
4.4 Simulation: (= .70 35
4.5 Simulation: 9 = .25 36
4.6 Simulation: pjk = 4.5 .......................................... 36
x
1. Introduction
Volunteers are critical for many organizations and events to run properly.
Many factors determine if someone volunteers for the first time or continues
doing so. Smith [21] suggests that more collaboration needs to be done between
disciplines in order to better understand what keeps a volunteer returning for
future volunteer opportunities. Volunteer coordinators have little control over
many of the reasons that keep someone volunteering. If a job is closely con
nected with a volunteers motives they are more likely to continue volunteering
for that organization [6]. Volunteer coordinators do not have control over some
ones motivation or many other factors, therefore focusing on what one can do
to keep volunteers coming back is essential.
Volunteer coordinators have control over what jobs they assign a volunteer
to do if any. Assigning volunteers randomly, or on a firstcome firstserve basis,
might not be the best option if one wants volunteers to continue volunteering.
Assunring volunteers are more satisfied assigning them jobs they prefer than
assigning them jobs they do not to want work. Volunteers will not always get
their first choice because there are jobs that are fun and jobs that are not as
much fun. A volunteer coordinator needs to make sure that all of the jobs are
filled when appropriate. This is precisely why one wants to assign volunteers in
a way that will maximize the overall satisfaction of the group of volunteers.
When an organization needs volunteer labor to complete various tasks, it is
uncommon to have the exact number of volunteers needed. In many cases vol
1
unteer coordinators may not have enough volunteers to complete all of the jobs;
however, if the volunteer opportunity is exciting volunteer coordinators may
have more volunteers than they can use. In 2008 over 23,000 volunteers applied
for hundreds of jobs over a two week period for the Democratic National Conven
tion [15]. The volunteer assignment problem differs from the classic assignment
problem, which most commonly assigns labor to tasks while minimizing the
cost. Compared to the classical assignment problem, the main difference is to
maximize volunteers preferences; however, many other features are interesting
to look at as well. Since there are costs associated with labor; employers usually
want to make an assignment using the least amount of people. Volunteers do
not produce a cost, therefore assigning the minimum number is not an issue. If
a volunteer feels that an organization is wasting their time, it may negatively
affect their future volunteer involvement.
Chapter 2 reviews the literature in order to understand and model the vol
unteer assignment problem effectively. The literature review consists of three
major sections volunteerism, assignment problem and goal programming. We
discuss different meanings of the word volunteer, why people volunteer, what
motivates a person to volunteer and why volunteering is important to help for
mulate a model that incorporates the true objectives of both volunteers and
volunteer coordinators. The differences of the classical assignment problem and
the volunteer assignment problem are addressed as well. The section concludes
discussing some goal programming techniques.
In chapter 3 the mathematical model created to assign volunteers while max
imizing their preferences is discussed. Introducing the twophase model that we
2
developed to make assignments independent of the number of volunteers who
sign up. The first phase of the model uses ghost volunteers to determine those
jobs and shifts that the volunteer coordinator does not have enough volunteers
for, if any. If the first phase of the model solves with an objective function value
of zero, there exists a feasible assignment and consequently solve the problem
using the second phase model. The first phase tells volunteer coordinators if
they need to recruit more volunteers or relax some of the volunteer constraints.
To the authors knowledge this is the first time this approach has been used in
the context of volunteer assignments.
In chapter 4 we discuss a simulation developed to investigate how the vol
unteer pool is affected by the assignments the program determines. There are
many aspects that affect someones future volunteer involvement other than the
assignments they were given; however, volunteer coordinators have control over
the assignments so we studied how the assignments affect the volunteer pool
over time. The twophase model was not used in our simulation, therefore we
introduce a model to run without interruption because the model is always fea
sible. Defining volunteer satisfaction by the assignments that the volunteers
were given, allows the author to observe what happens to the volunteer pool
over time. Based on extensive literature review it seems that it is a novel idea
to define volunteer satisfaction in this context. We used MATLAB, a highlevel
technical computing language, to run our simulation and AMPL (A Mathemat
ical Programming Language) to solve our volunteer assignment problem.
In chapter 5 the model that determined the assignment of the volunteers
for the launch of the Denver Bike Sharing program is presented. The twophase
3
model was used and solved using GAMS (General Algebraic Modeling System).
Denver Bike Sharing will be changing how people get around in Denver. Bike
sharing programs are in Paris, Barcelona, Prance, Rome, and Montreal. There
are many other U.S. cities that are preparing for a bike sharing system in the
future; however, Denver will be the first to launch a large scale program in
the United States. This section discusses the model in detail that was used to
assign 284 volunteers to 35 kiosks located at 7 different geographical locations
for 3 shifts during 3 days. On a personal note, assigning the volunteers for the
launch was a great opportunity to demonstrate how mathematics can be applied
to help solve realworld problems.
We conclude in chapter 6 by reviewing the benefits of using mathematical
modeling to make volunteer assignments. Taking volunteers preferences into
consideration will allow volunteer coordinators to make better assignments and
create a more pleasurable experience for both the volunteer and the volunteer
coordinator. Having loyal volunteers that continue volunteering is important
because volunteer labor is a competitive commodity that is limited. We con
clude by exploring some possible avenues of future research.
4
2. Literature Review
This section reviews the models that are available and the reasons why
people volunteer. This chapter is divided into three main areas: volunteerism,
assignment problem and goal programming. The first section highlights many
volunteer motives that volunteer coordinators do not have control over, for ex
ample a persons values. Recognizing there are many factors that determine if
volunteers are satisfied with their volunteer experience is important.
2.1 Volunteerism
In this section we will address the following questions:
What is volunteerism?
Why do people volunteer?
What motivates someone to volunteer?
Why volunteering is important and what are the social consequences of
volunteering?
The answers to these questions support our hypothesis that volunteer satisfac
tion is of crucial importance and high relevance as reflected in our objective
to assign volunteers to jobs they prefer in order to promote their return in the
future.
5
2.1.1 What is volunteerism?
There are many different ideas of what volunteerism is. Freeman [12] defines
volunteer activity to be work that is performed without monetary recompense.
He finds that volunteering is a conscience good and that people do so when
asked, but would rather let someone else do it. He also claims that since volun
teers do not get paid they must receive greater utility from volunteering than
from working for wages or leisure.
Cnaan and Amrofell [7] look at the different uses and contexts of the word
volunteer. Their aim is to clarify and better understand what volunteer ac
tivity is. They use a mapping sentence method which grouped volunteer char
acteristics such as men and women motives to volunteer, their preferences for
certain tasks, and the level of education of volunteers together systematically
into ten interrelated facets. Who is the volunteer, what is being volunteered and
who manages volunteers are three of the facets they use. They state that the
word volunteer is used to cover a wide range of nonsalaried activities.
2.1.2 Why do people volunteer?
Many researchers have tried to answer this question. A fair amount of
literature looks at what motivates a person to engage in volunteerism, however
very few articles address what keeps them coming back [18]. Some people may
feel that it is their responsibility as a member of society to volunteer [8]. Many
others volunteer to acquire social status or gain skills. Some even volunteer
because they are forced to. Chapman and Morley study college students that
6
are required to volunteer 34 hours a week as part of the class requirements
[4]. This is interesting because if one forces someone to do something is that
considered volunteering? If we use Freemans definition of volunteering and the
person being forced is not getting paid, then one must consider that volunteering.
If we use MerriamWebsters definition of voluntary: proceeding from the will or
from ones own choice or consent; unconstrained by interference; one would not
consider that volunteering because the students are not necessarily choosing to
volunteer. In some cases people want to volunteer because they receive a tshirt,
food, or entry into a concert [13]. Besides receiving perks there are many other
reasons why people are motivated to volunteer, which will become apparent in
the following subsection.
2.1.3 What motivates someone to volunteer?
Clary and Snyder [6] look in depth at why someone becomes a volunteer in
the first place and why someone would continue volunteering. To understand
the answers to these questions they develop six functions or motives of why
people volunteer: values, understanding, enhancement, career, social, and pro
tective. They conclude that if volunteers satisfaction of their service is paired
with receiving functionally relevant benefits the volunteer is much more likely
to continue volunteering.
Chapman and Morley [4] investigate volunteer motives in college students.
They use the six functions to analyze the differences in motives in each gender,
whether motives change as a function of service, and to see if motives were pre
dictive of satisfaction. The values motive is linked with high satisfaction among
the college students and the social motive was associated with low satisfaction.
7
Their findings suggest that aligning volunteers experiences with motives that
interest the students will have a significant impact on the overall satisfaction of
the volunteers and therefore affect their future volunteer involvement.
Green [14] looked at the relationship between altruistic and nonaltruistic
volunteer motivation and how the two differed in future volunteer involvement.
She found that institutions should encourage selfinterest as well as altruism in
volunteer recruitment because this will increase the chance that the volunteer
will come back.
2.1.4 Why is volunteering important and what are the social
consequences?
Volunteers help many organizations fiscally as well as socially. Volunteerism
encourages innovation, efficiency and social cohesiveness. Freeman and many
other authors provide ample evidence that show volunteers play a vital role in
many organizations [7, 13, 14, 18, 19]. Shin and Kleiner determine that managing
a volunteer correctly is very important in retaining the volunteer [20]. Making
use of volunteers and being conscious of their time commitment will lead to a
more pleasurable experience for the volunteer and more volunteer time later [11],
Assigning volunteers to tasks they prefer will increase the probability that they
enjoy themselves and increase the chance they will volunteer in the future.
2.2 Assignment Problem
The assignment problem is one of the fundamental building blocks in com
binatorial optimization and operations research. This thesis complies with this
goal from a mathematical point of view, using the techniques and models dis
cussed in the following two sections. Let there be two sets / and J. Each
8
element of / can be assigned to an element of J at a cost or utility C\j. The
assignment problem is to match elements of I and J so that every element is
assigned to at most one other element from the other set, and that the sum of
the costs or utilities is minimized or maximized, respectively. The mathematical
min
jeJ
Xij < 1V i G /
jeJ
< lVj g j
iei
>0 \/i E I, j
if person i is assigned to job j
otherwise
The objective function is what we are optimizing. The first constraint guaran
tees that each element in I is assigned to at most one element in J. The second
constraint is forcing each element in J to be assigned to at most one element in
/.
Considerable amount of work done has been done on the assignment problem
over the past 60 years [9]. The assignment problem is polynomialtime solvable
as a linear program, and more efficient algorithms have been developed using
network flow concepts [2]. An overview of many fundamental network flow algo
rithms is given by Ahuja, Magnanti, and Orlin [1], Few papers are mentioned in
programming model is given by
objective function
subject to
where
x
9
this thesis that address the assignment problem [3, 9], however, there are many
more available.
Many research papers are done in the context of assigning tasks to work
stations in manufacturing or data processing settings [20]. Many times it is
thought that the person can move from work station to work station, which is
the same as assigning labor to machines or labor to tasks. Dantzig [9] deter
mines the total number of booth hours required during a day. In this paper,
the simplex method is used to minimize the number of men needed to run the
required number of toll booths. Thompson [22] follows Dantzigs method and
points out some weaknesses such as different levels of customer service, that
were addressed to find a better optimum. Thompson claims that different lev
els of customer service will affect profits. By changing the number of employees
working in a planning period Thompson made schedules that are more profitable
than Dantzigs method. Briefly discussing a few papers is important because
highlighting the fact that researchers have been looking at these problems and
refining their approaches to solve them for many years.
Although there are many papers on the labor assignment problem, very
few address the idea of volunteer labor or entertain the idea of labor at no cost.
This is a modified form of the traditional assignment problem because we replace
costs with preferences and we maximize instead of minimizing. Mathematically
there is not a difference, but there are interesting features that come from look
ing at the problem differently. Emanuele [11] has pointed out that it might not
be reasonable to consider volunteer labor as a zero cost or costfree because if
volunteer labor is not utilized correctly there might be a chance of less volunteer
10
activity in the future. Implying that a nonutilized volunteer carries a negative
cost, which we address in our model by introducing a penalty for assigning too
many volunteers to a particular job.
Although mathematically equivalent in its basic formulation, the volunteer
assignment problem is different than the traditional labor assignment problem
in many aspects [19] and often subject to additional constraints. The objective
function for many traditional labor assignment problems is to minimize the cost
while completing all of the tasks. Volunteers do not endure a cost, therefore
maximizing volunteers preferences is an alternative to minimizing labor costs.
Sampson [19] shows how the different assumptions in the volunteer assignment
lead to significantly different results than those coming from traditional labor
assumptions. Both papers [19, 20] find that volunteers that are not utilized at all
are much less likely to volunteer in the future. However, Sampson [19] also finds
that volunteers that are utilized less than what they sign up for are as likely to
volunteer in the future as volunteers that are assigned exactly what they sign
up for. Sampson also finds that volunteers that are not utilized at all have less
of a chance volunteering than if they are utilized a portion of what they sign
up for because future volunteer labor is a function of current task assignment.
The author addresses this in chapter 4, when we show how volunteer satisfac
tion effects future volunteer involvement. Highlighting the fact that it might
be worthwhile to involve more volunteers than trying to assign the minimum
number of volunteers needed.
Gordan and Erkut [13] developed a novel decision support tool which was
used in 2003 at the Edmonton Folk Festival to assign the volunteers. They were
11
able to provide a master schedule and individual schedules for the event. Mak
ing assignments by maximizing the volunteers shift preferences while obeying
a set of constraints. Each volunteer had to work a minimum of 20 hours, one
shift on Thursday, one shift on Friday and could not work more than 6 hours
on Saturday or Sunday. Working with a volunteer coordinator they were able
to accommodate the coordinators requests as well as many of the volunteers
requests.
2.3 Goal / Multiobjective Programming
Goal programming (GP), an extension of linear programming (LP), is a
branch of multiobjective optimization and multiplecriteria decision making
that is well established in the held of operations research. GP differs from LP
most notably because its ability to deal with multiple, often conflicting, ob
jective functions. LP deals with single objectives such as maximizing revenue,
maximizing return, minimizing cost or minimizing travel time. GP problems of
ten have conflicting objectives; upgrade product quality and reduce production
costs, maximize profits and increase wages, maximize return and minimize risk
to name a few. Each of the objectives are given a measure and each of these
measures are given a target or goal that is desired to be achieved. Deviations
from the goals are usually penalized in the objective function. Being able to
consider conflicting objectives allows modelers to work on a large number of
applied problems.
In 1955 Charnes, Cooper and Ferguson [5] introduce goal programming.
They discuss executive compensation plans but noted that one can apply these
methods to many other problems such as production scheduling, logistics, and
12
market analysis, to name only a few. However, the term goal program first
appears in text in 1961 by Charnes and Cooper [5]. One can solve employee
scheduling problems using deterministic or stochastic goal programs. In most
cases the models seek to assign employees while minimizing the total operating
costs. Mabert and Watts [17] apply a deterministic goal program to tourshift
scheduling problems so that employers can make use of part time employees in
order to save money. They were able to identify feasible staffing schedules that
maximized productivity and minimized cost. Easton and Rossin [10] show that
by using a stochastic goal program they can integrate labor requirements and
scheduling decisions to make less costly staffing decisions than many determin
istic goal programs. The reason is that many times deterministic goal programs
violate labor requirements by assigning a worker to a single period of work.
Violations of the labor requirements may penalize the objective function when
solving.
Many different procedures exist for estimating penalties for target deviations
in goal programming. Lam and Choo [16] look at using a linear goal program
to estimate the criterion weights that influence the preferences of all the alter
natives presented. If decision makers can make preference judgments on which
alternative they prefer and by how much, their method has greater predictive
power on choosing the best weights. Their simulation experiment proves that
goal programming performed better than ordinary least squares. The following
model combines an assignment model with goal programming formulations to
allow the simultaneous consideration of both volunteer and volunteer preferences
and requirements by the volunteer coordinator.
13
3. Model
Before we discuss the mathematical model we explain what the model does,
what the model needs and how the data is collected. This provides the necessary
framework that we can build on. Given an event or volunteer opportunity that
offers different jobs at different locations for a specific number of shifts, the
model assigns volunteers to tasks in consideration of preferences, geographical
location, time availability and demand requirements by a volunteer coordinator.
The model makes an optimal assignment of volunteers to tasks by maximizing
the volunteers preferences while satisfying a set of relevant constraints. Our
formulation takes into account the preferences of the volunteers as well as the
requests from one or more volunteer coordinators. Volunteer coordinators are
required to provide information on the number of volunteers that need to be
at each job during each shift, along with the minimum number of shifts each
volunteer is required to work. Preferences are collected by asking volunteers to
fill out a survey to gather information regarding their availability and preferences
with respect to the type and number of jobs they are willing to work. An
example for such a survey can be found in appendix B for the problem discussed
in Chapter 5. We ask the volunteer how much they prefer to do each job, not
how much they prefer to do each shift which is a slight modification of what
the authors did for the Edmonton Folk Festival [13]. This allows us to assign
volunteers to what jobs they prefer to do and the shifts they are available to
work, which to our knowledge is different than any models presented in the
14
literature.
3.1 Mathematical Model
First we introduce the sets, parameters, and variables that we use in the
model, refer to table 3.1. Using roman letters for the variables and Greek letters
for the parameters allows us to determine what each symbol is quickly. The pri
mary decision is whether to assign volunteer i to job j during shift k. Therefore,
a binary decision variable is defined by
This produces a 3dimensional assignment matrix that shows what job and what
shift each volunteer works, if any. The matrix can be thought of as the
master schedule.
A secondary decision variable j/j will be used to turn on constraints in the model
and is denoted by
In order to ensure that j/* takes the correct value we introduce the constraint
%ijk Vi i
If a volunteer is not assigned to any shift at all then we do not need to satisfy
the constraints that pertain to the number of shifts they want to work or are
required to work.
0 otherwise.
1 if volunteer i is assigned to job j during shift k;
0 otherwise.
1 if volunteer i is assigned to any job at all;
15
Table 3.1: Nomenclature
Symbol Description
Sets / Indicies
i e {l, Volunteer
j e J} Job
k e {l,s'} Shift
te {l,t} Year
c Conflict Set
Decision Variables
xijk Equals 1 if we assign volunteer i to job j during shift, k, 0 otherwise
Vi Equals 1 if volunteer i is assigned to any job at all, 0 otherwise
Preferences / Penalties
^ijk How much volunteer i prefers to do job j during shift k
p)k Penalty for assigning less volunteers to job j during shift, k than the goal
p% Penalty for assigning more volunteers to job j during shift, k than the goal
p! Penalty for assigning volunteer i less shifts than their goal
pi Penalty for assigning volunteer i more shifts than their goal
p! Penalty for assigning a volunteer less shifts than they are required to work
Variables
Gjk Number of ghost volunteers assigned to job j during shift k
utk The number of volunteers assigned to job j during shift k above the goal
uJk The number of volunteers assigned to job j during shift k below our goal
4 The number of shifts assigned to volunteer i above their goal
vi The number of shifts assigned to volunteer i below their goal
wi The number of volunteers assigned to job j during shift k below the required number
wf The number of volunteers assigned to job j during shift k above the required number
Parameters
OLj_k Equals 1 if volunteer i is available to work shift. k: 0 otherwise
Pi] Equals 1 if volunteer i has the required skill needed for job j
Pjk Goal for the number of volunteers to be assigned to job j during shift k
Vi Goal for the number of shifts volunteer i wants to work
LOi Minimum number of shifts volunteer i is required to work
4k Maximum deviation from the assignment goal of job j during shift, k
4k Minimum deviation from the assignment goal of job j during shift, k
4 Maximum deviation from the number of shifts goal of volunteer i
vk Minimum deviation from the number of shifts goal of volunteer i
16
To obtain results that are reasonable we have to constrain our variables using
the information obtained from the volunteers and the volunteer coordinators.
We assume that each volunteer can be assigned to at most one job per shift, if
they are available
^ ^ %ijk Wfc V i, k.
j
We define the parameter a^ = 1 if volunteer i is available to work during shift
k. This constraint will make sure that we do not assign a volunteer to a job if
they are not available and we will not assign a volunteer to more than one job
per shift.
The volunteer may be required to lift a certain number of pounds, have a driver
license or be proficient with a particular kind of software. These are just a few
of the possible requirements that may need to be addressed; there are obviously
many others that may be event specific. In order for a volunteer to be assigned
a particular job they need to have the required skill to work the job if any is
required at all
Xijk
We define the parameter /3y = 1 if volunteer i has the required skill needed to
work job j.
The volunteer coordinator provides us with appropriate values for the minimum,
maximum, and ideal number of volunteers needed to work each job during each
of the shifts. These values will be represented by /d*.ax, and hjfc respectively.
We calculate the minimum and maximum deviations from the target number of
17
volunteers working job j during shift k as follows
k'jk ~ k'jk hjfc )
__ max _
r^jk r^'jk H'jk*
The variables u~k and u^k are the number of volunteers assigned below and
above the goal, respectively. They will be bounded below by 0 and above by the
minimum and maximum deviation from the volunteer assignment goal
0 < ufk <
0 < u~k < (j,jk.
The constraint for assigning the target number of volunteers fijk needed to work
each job j and shift k is
'y ] xijk + ujk ~ u% ~ k'jk V j,k.
i
The volunteer coordinator also gives us the minimum number of shifts that
volunteer i is required to work, denoted by cty. In order to ensure that we do
not assign a volunteer less shifts than they are required we need the constraint
y, y Xijk + w~ w? = UiUJi V i.
j k
We can think of w~ and wk as nonnegative slack and surplus variables. If w+
is positive for any % that means that we assigned a volunteer less shifts then they
are required to work and the objective function will be penalized.
The constraint for volunteer % is activated if and only if volunteer % is assigned
to any job at all.
18
Each volunteer is required to provide us with the minimum, maximum, and ideal
number of shifts they want to work. These values will be represented by zqmm,
z/ax, and Vi respectively. Similarly as above these requests will be used in our
model. We calculate the minimum and maximum deviations from the target
number of shifts volunteer i is willing to work as follows:
The variables and v~ represent the number of shifts above and below their
goal, respectively. They are bounded below by 0 and above by the minimum
and maximum deviation from the volunteer shift goal
The constraint for assigning a volunteer the number of shifts they want to work
is:
If any volunteers are not assigned any job at all we do not have to satisfy their
shift constraints because j/* = 0 and therefore v~ = v+ = 0. The variables
v~ = ut+ = 0 because they have to be equal in this situation and if we allowed
either one to be greater than zero our objective will be penalized, thus the model
forces them to be equal to zero.
Sometimes there will be jobs that can not be worked consecutively because of
a number of different reasons. Two common conflicts may be if two jobs are
0 < v, < v .
j k
19
located too far apart or if a volunteer coordinator does not want a volunteer to
work too many shifts in one day. We define the conflict set as
C = {{j,;])' job f cannot be assigned to the same volunteer in the shift that
follows job j}.
The model captures a conflict set by putting a constraint in our model that
will not allow assigning volunteers if there is a conflict. The objective func
tion combines several components that are discussed in detail in the following
paragraphs. The first term
represents the sum of the volunteer preferences and is considered the total pref
erences of all of the volunteers.
The second term
j k
penalizes the objective if we assign less volunteers to a particular job than the
j during shift k is denoted by u~k. It is important to note that the penalty can
be different for the same job occurring at different shifts because there may be
times when assigning more or less is suitable. For example trash pick up in the
beginning or middle of the day might be different than trash clean up at the
end of the day. There are jobs that are more critical than others and assigning
appropriate penalties allows us to assign some jobs with a higher priority.
The third term
j k
specified goal. The number of volunteers we are short of the goal for each job
EE Pjk^jk
j k
20
corresponds to assigning more volunteers than desired to job j during shift k.
We penalize the objective function differently for some jobs because having more
volunteers at some jobs may not be as important as other jobs. The number of
volunteers that we assign above the target specified for each job j and shift k is
expressed by u^k.
The fourth term addresses the shortage of assignments of volunteer i, using
in the objective penalizes if we assign a volunteer to less shifts than their goal.
The shortage of shifts volunteer i is assigned, compared to their target number is
denoted by v~. Sampson [19] found that volunteers that were assigned less work
than they signed up for were just as satisfied as the people who were assigned
the number they signed up for, there was not a negative affect on their future
volunteer involvement. Therefore the penalty for assigning a volunteer less shifts
than they signed up for may be small.
The fifth term
represents the penalty if we assign a volunteer to more shifts than his or her goal.
The number of shifts that volunteer i is assigned above their goal is denoted by
vt+. The penalty p\ might be constant because assigning someone more shifts
than their goal may have the same negative impact no matter who the person
is. This penalty might be larger given that if one asks a volunteer to work more
than they desire the volunteer coordinator runs the risk of them not coming at
all or feeling taken advantage of and once again negatively affecting their future
21
volunteering [19].
The last term
^ ^Pi)
i
penalizes the objective if we must assign volunteers to less shifts than the vol
unteer coordinator requires them to work. We represent the number of shifts
volunteer i is assigned less than the required number by w~. The penalty on
this term depends on how much the volunteer coordinator wants to enforce this
rule.
The model will maximize the objective function. This implies that we are mak
ing assignments in such a way that maximizes our volunteer preferences, which
is captured by the first term. The remaining terms in the objective function
are subtracted from the first term because they capture violations of the re
quests of volunteers and volunteer coordinators. If the model violates any of
the targets specified by a volunteer or volunteer coordinator one or more of the
variables u~k, u^k, v~, v+ and w~ will have a value greater than 0. Since these
variables penalize the objective the model seeks to minimize them. However, if
a volunteers preference to work a job is higher than the penalty for assigning
the volunteer, the model will make the assignment because it will increase our
objective.
Now that the components of the model have been discussed in detail we present
the goal programming model, refer to figure 3.1.
22
3.2 TwoPhase Approach
The model discussed above can not make an assignment if the model is not
feasible. If we do not have enough qualified volunteers available to work all of
the tasks, then the model above will not be able to make an assignment. In order
to test feasibility we develop a twophase approach to the volunteer assignment
problem, because it is likely that in many situations volunteer coordinators will
not have the required number of skilled volunteers to complete all of the tasks.
If there is not enough volunteers to complete all of the tasks it will be helpful
to provide the volunteer coordinators with what jobs and what shifts they need
more volunteers. Solving the firstphase of our model will tell us what volunteer
shortages we have if we have any at all. Before one knows if the problem is
feasible, the firstphase model will have to be solved with an objective function
value of zero. When that happens we can solve the secondphase model because
there is enough volunteers to work all of the tasks. We need to introduce the
new variables
Gjk = number of ghost volunteers assigned to job j during shift k,
which are referred to as the ghost variables. Gjk equals the number of volunteers
short of the required number needed to work job j during shift k. The fourth
constraint in the model above is changed to
'y ]xijk + Gjk Ujk U^k = lljk V j,k.
23
The objective function is changed to
min Â£Â£<*
j k
We want to minimize the number of ghost volunteers that are assigned. If the
revised model solves with an objective function value of zero, that means the
model is feasible and can be solved using the original model. If the objective
function value is not zero the volunteer coordinator needs to recruit more volun
teers, relax some of the constraints, or change some of the parameters. This is
very valuable to volunteer coordinators because if there is not enough volunteers
they will know precisely what jobs and shifts where the shortages occur.
This phase of the model solves even if the volunteer coordinator does not have
the required number of volunteers and the model shows them what particular
jobs and shifts they need more volunteers for. This is useful information to pro
vide the volunteer coordinator with. To our knowledge this approach has not
been used in any previous volunteer assignment model and is first proposed in
this thesis.
24
Figure 3.1: Phase 2 Model
objective function:
max Xijk7Tijk Y PjkUjk Y P%U% ~ ~ PiVt ~ PiWi
ijk jk jk i i i
subject to:'Y/xijk < aik Vi,k
j
Kijk Pij Vi, j; k
%ijk Vi V j, k
E i xijk + ujk ~ utk  Hjk V j, k
E xijk  v+ = : y&i Vi
jk
E xijk  wf  ~ Vi^i V i
jk
o < Utk Pjk Vj,fc
o < Ujk Vjk V j, k
o < vt < vt V i
o < vi < V i
w~, Wi > 0 Vi,j,k
where
%ijk
1 if we assign volunteer i to job j during shift k
0 otherwise
I 1 if volunteer i is assigned to any job at all
V% = \
0 otherwise
25
4. Simulation
There are a many different ways one can go with this model. One possible
avenue of research is to look at the volunteer assignment problem over many
years where the volunteer pool is a result of how satisfied the volunteers were
the previous year. A simulation allows us to validate that the model increases
volunteer satisfaction improving the event and increases the chance of a volun
teer coming back. The simulation also allows us to find appropriate penalties
and parameters in the model and justify our objective function. This is the topic
of this chapter.
We modified the previous model to a onephase model in order to simulate
multiple years without having the program break down. If the volunteer co
ordinator does not have enough volunteers to satisfy all of the constraints, the
previous model will solve using ghost volunteers. In order to solve without using
ghost volunteers we construct a third goal program that will allow us to make
assignments without having the required number of volunteers.
4.1 Motivation and Description
The new model we construct will assign volunteers in such a way that maxi
mizes their preferences subject to a set of constraints given any number of volun
teers signing up. We built a simulation model that allows one to observe how the
number of volunteers change over time and to gain insight to make suggestions
to volunteer coordinators that help them assign volunteers more strategically.
Strategically means assigning volunteers more fairly, efficiently and in less time.
26
Since the model makes the assignments looking at how these assignments effect
the volunteers future involvement is important.
We assume that if volunteer coordinators assign volunteers to jobs they prefer
to do the volunteers are more likely to comeback and volunteer the following
year than if they were given a job they did not want to do. We also assume
that if volunteers are satisfied then there is a chance that they may invite a
friend to volunteer with them the following year. Our last assumption is that
if a volunteer is not assigned any jobs in the current year there is still a chance
that they will return the following year.
Next we discuss the new parameters and penalties that effect the volunteer as
signments and the volunteer pool over time. The return rate of a nonassigned
volunteer is represented by rj, the return rate of an assigned volunteer is denoted
by (, and the rate at which a volunteer invites someone is 0. Since these param
eters are unknown, in general, we want to illustrate what impact they have on
the results of our model to help show volunteer coordinators the importance of
assigning volunteers according to their preferences. The penalties directly effect
the number of people that are assigned each year because they effect whether we
assign a volunteer to more shifts than they signed up for or if the model allows
to assign more or less volunteers to a particular job. The number of volunteers
that volunteer the following year depends on the number of volunteers being as
signed because the more volunteers that are assigned increases the chance that
more volunteers return and are invited the following year.
Now we introduce uu, which represents the number of shifts volunteer i is as
signed during year t. Determining a volunteers satisfaction accurately is very
27
hard to provide a metric for. We quantify a volunteers satisfaction in terms of
the assignments they were given because we think it makes sense:
This ratio helps determine the volunteer pool for our simulation because it is
used to determine the rate that a volunteer returns next year and the rate that
the volunteer invites someone else to participate. Note that when a volunteer is
not assigned a job, volunteer satisfaction is defined to be 0.
The rate that a volunteer returns the following year is defined by
Although it seems reasonable to assume that the more satisfied volunteers are
with their job the more likely they are to continue volunteering and invite some
one else to participate, we understand that volunteers satisfaction levels are not
the only factor that determines their future volunteer involvement.
The rate that a volunteer invites someone else to volunteer is given by
lit 0sit.
Note that if a volunteer was not assigned a job during year t, the rate that the
volunteer will invite someone is 0. This is not true all the time, but seems a valid
assumption, in general, because if one did not have the volunteer experience they
may not be as eager to convince or invite someone else to partake. The model
assumes that ( >9, based on the assumption that a volunteer is more likely to
ri] if sit = 0
(sit if > 0.
28
volunteer them self than invite someone else to volunteer.
The volunteer pool for the following year is a result of how satisfied the volunteers
were the previous year, new volunteers signing up and volunteers not coming
back. There are a number of reasons why a person might volunteer for the first
time, refer to section 2.1.2, however people may have heard of the opportunity on
marketing collateral, a website, through the grapevine, or many other sources.
There are also a number of reasons why a person will not volunteer in the future;
people may have moved out of the area, died, or just do not want to volunteer
again. There will be people that volunteer or do not volunteer for a particular
reason which has nothing to do with the volunteer assignments, however we do
not consider them in our simulation and may assume for simplicity that the
effects cancel each other out.
The volunteer pool for year t is represented by
i i
The new volunteer pool is used as input data into the model for the following
year. Before the model makes an assignment the following year we have to ran
domly generate new data for the new volunteers. The data consists of preference
levels for the jobs, maximum number of shifts they are willing to work and their
availability. Then we use the goal programming assignment model presented in
this chapter to assign the new volunteer pool, calculate the satisfaction levels of
the new volunteers, and continue this process for the desired number of years.
4.2 Simulation Model
Before we discuss the model the new parameters and penalties are presented;
refer to table 4.1. Next we introduce the simulation model, refer to figure 4.1.
29
Table 4.1: Simulation Nomenclature
Symbol Description
Sets / Indicies
i e {l,v} Volunteer
j e (lJ} Job
k Â£ Shift
te {l,t} Year
c Conflict Set
Decision Variable
xijk Equals 1 if we assign volunteer i to job j during shift Jc, 0 otherwise
Preferences / Penalties
^ijk How much volunteer i prefers to do job j during shift k
pi Penalty for assigning less than minimum number of volunteers needed
pi Penalty for assigning more than maximum number of volunteers needed
pi Penalty for assigning a volunteer more shifts than maximum number indicated
Variables
Sit Satisfaction percentage of volunteer i during year t
nu Number of shifts volunteer i is assigned during year t
aik Number of volunteers above the minimum needed
ajk Number of volunteers below the minimum needed
btk Number of volunteers above the maximum needed
bik Number of volunteers below the maximum needed
ct jk Number of shifts above the maximum determined by volunteer i
ejk Number of shifts below the maximum determined by volunteer i
Parameters
aik Equals 1 if volunteer i is available to work shift k, 0 otherwise
ijk Minimum number of volunteers needed to work job j during shift k
$jk Maximum number of volunteers needed to work job j during shift, k
n Maximum number of shifts volunteer i is willing to work
Rit Rate that volunteer i will come back in year t
lit Rate that volunteer i will invite someone for year t
V Return rate of nonassigned volunteer
t Return rate of assigned volunteer
e Rate that volunteer invites someone else
(VP)t Volunteer pool during year t
30
The main differences compared to the previous model are that all of the con
Figure 4.1: Simulation Model
objective function:
max 'y ] Xijk^ijk~ y ] Pjkajk ~ 'y y Pjkb~jk ~ y y PiCi
ijk
subject to:
jk jk i
^ ^ Xijk E &ik /l
j
E i %ijk + ajk ~ = Ijk Vj,fc
E %'ijk + bJk ~ b% = 5jk V i
jk
E %ijk + Ci ~ 4 =  Ti V i
jk
ajk ajki bJk, btk c~ ) 5 c+ > u% 0 Vi,j,k
where Xijk
1 if we assign volunteer i to job j during shift k
0 otherwise.
straints are considered goals, which we can violate. The objective function is
penalized if the model violates the goal or target. This allows one to make an
assignment even if there is not the required number of volunteers needed. We
want to make an assignment without introducing ghost volunteers, so we mod
ified the model.
31
4.3 Scenarios
Looking at a few specific examples highlights some of the characteristics of
the model and helps show how the penalties and rates effect the average number
of volunteers and the total preferences. Starting with a base case that we sim
ulate for 30 years; refer to table 4.2. Then we change one penalty or parameter
at a time to see how the change effects the model. We can see that in the base
Table 4.2: Simulation: Base Case p^k = 6, p^k = 6, pk = 6, rj = .25, ( = .90, 6 = .50
Problem ID # of Jobs Start # of Vol. Avg. # of Vol. Total Pref. Avg. Sat. of Vol.
1 5 5 8.20 23.27 2.84
2 5 10 8.01 23.43 2.91
3 5 15 8.03 23.93 2.97
4 5 20 7.77 23.77 3.06
5 10 5 15.07 47.50 3.15
6 10 10 15.23 48.73 3.19
7 10 15 15.43 48.83 3.16
8 12 5 17.77 56.57 3.18
9 12 10 19.93 59.63 3.03
10 12 15 17.60 59.20 3.36
case, the average number of volunteers is slightly higher than the number of
jobs. This occurs because we successfully assign volunteers to the exact number
of jobs and therefore volunteers might not only return themselves but they may
invite someone as well. By setting all of the penalties sufficiently large we do not
encourage assigning more than the maximum number or less than the minimum
number of volunteers needed and we do not assign a volunteer to more shifts
than they signed up for. We learned that as the number of volunteers increases
the average satisfaction of the volunteers usually decreases. We plot the volun
32
teer pool over time and the average satisfaction of volunteers for problem ID 1
and ID 10 in the base case, refer to figure 4.2.
If we increase q = .50 that means if you were not assigned a job then you
Plot: Problem ID 1 base case
Volunteer Pool Over Time
121111r
41111111
0 5 10 15 20 25 30
Year
Figure 4.2: Simulation Plot
33
have a 50% chance of volunteering again. The average number of volunteers
increases slightly because more volunteers come back each year; refer to table
4.3. When we increase the return rate of a volunteer that did not get assigned,
Table 4.3: Simulation: i] = .50
Problem ID Of Jobs Start # of Vol. Avg. # of Vol. Total Pref. Avg. Sat. of Vol.
1 5 5 10.20 23.30 2.28
2 5 10 8.93 23.67 2.66
3 5 15 10.97 24.23 2.20
4 5 20 10.40 23.87 2.30
5 10 5 19.90 47.60 2.39
6 10 10 22.50 48.80 2.16
7 10 15 21.93 49.10 2.23
then the average number of volunteers increases, total preferences and average
satisfaction stays approximately the same.
Next observe what happens to the volunteer pool when we change ( and 0,
the rates that volunteers return and invite someone respectively. The results
for ( = .7 are given in table 4.4. We can observe that the average number of
volunteers is much smaller for all cases which is because we reduced the rate
that volunteers would come back. One interpretation of ( = .9 is that he more
satisfied the volunteer is the more likely they will return. By reducing the rate
to .70 we relax the dependence of our assignments on the rate at which the
volunteers come back, resulting in a lower average number of volunteers. The
total preferences is slightly lower as well because less volunteers are available to
be assigned to jobs.
34
Table 4.4: Simulation: ( = .70
Problem ID # of Jobs Start # of Vol. Avg. # of Vol. Total Pref. Avg. Sat. of Vol.
i 5 5 4.43 14.70 3.32
2 5 10 5.13 17.70 3.45
3 5 15 4.50 15.40 3.42
4 5 20 5.60 19.10 3.41
5 10 5 9.33 38.33 4.40
6 10 10 10.80 40.73 3.96
7 10 15 11.57 45.23 3.91
8 12 5 13.57 52.53 3.87
9 12 10 14.97 55.13 3.68
10 12 15 15.97 57.93 3.63
Results of changing 9 = .25 are given in table 4.5. Since we reduced 9 to .25
there is smaller chance that volunteers will invite someone, which is why deter
mine the average number of volunteers decreases. We think that the average
satisfaction increases slightly because there are not as many new volunteers to
assign so the average satisfaction is slightly higher than the base case.
If we change the penalty for assigning more volunteers than the maximum num
ber needed to a value less than the maximum preference
p]k < max 7Tijk,
then the average number of volunteers and the total preferences increases in
almost every case. The average satisfaction stays about the same, as shown in
table 4.6. We stopped the simulation after half the time due to the apparent
explosion in the number of volunteers, caused by allowing the model to assign
volunteers that have a job preference larger than the penalty for assigning the
35
Table 4.5: Simulation: 9 = .25
Problem ID # of Jobs Start # of Vol. Avg. # of Vol. Total Pref. Avg. Sat. of Vol.
i 5 5 3.60 15.03 4.17
2 5 10 5.83 22.67 3.89
3 5 15 4.60 16.57 3.60
4 5 20 6.13 22.17 3.61
5 10 5 10.30 43.57 4.23
6 10 10 9.93 41.67 4.19
7 10 15 11.43 47.57 4.16
8 12 5 12.93 51.73 4.00
9 12 10 13.97 57.03 4.08
10 12 15 13.47 56.87 4.22
maximum number of volunteers needed. If we change the penalty for assigning
Table 4.6: Simulation: pjk = 4.5
Problem ID # of Jobs Start # of Vol. Avg. # of Vol. Total Pref. Avg. Sat. of Vol.
i 5 5 10.33 33.40 3.14
2 5 10 14.80 50.20 3.39
3 5 15 9.33 29.53 3.16
4 5 20 23.20 78.86 3.40
less volunteers than the minimum number needed it will not effect the number
of people being assigned because assigning a volunteer increases the objective
function so assigning less than the minimum needed will not happen. Therefore
we do not need to look at changing pfc. If we change the penalty for assigning a
volunteer more shifts than they signed up for to a value less than the maximum
36
preference
p% < max 7Tijk,
we allow assigning a volunteer to more shifts than they signed up for. We do
not recommend allowing this to occur because it increases the chance that the
volunteer has a positive volunteer experience. We do not show results on this
penalty because the student version of AM PL reaches its maximum number of
variables very quickly.
4.3.1 Simulation Insight
One can run the simulation with infinitely many different penalties, return
rates and invitation rates of the volunteers; we highlighted a view instances in
this chapter so that one can see how the parameters and penalties effect the
number of people volunteering each year. We simulated several representative
scenarios to highlight how changing the penalties or parameters the model makes
different assignments. To learn more about the effects of penalties and rates
a sensitivity analysis could be applied to the simulation and larger problems
would need to be investigated. This is a good starting point for researchers
to continue this preliminary investigation of the potential impact of volunteer
assignments and how they effect future volunteer involvement. Understanding
the effect that assignments have on a volunteer returning or inviting someone
is why we conduct this investigation. Since the model makes the assignments
investigating the impact of these assignments is an interesting extension of the
volunteer assignment problem.
37
5. Application to Denver Bike Sharing
Denver will be the first U.S. city to have a bike sharing program as large
as other programs around the world. Kiosks are located throughout the city
which allows a person to ride a bike and drop it off at different locations. The
vision of Denver Bike Sharing is to change how people get around in Denver.
The program promotes a healthier life style and an alternative way of getting
around the city.
The Denver Bike Sharing volunteer assignment problem consisted of assigning
volunteers for three different shifts to 35 kiosks that were located in 7 geograph
ical areas throughout Denver for three days. On April 22, 2010, Denver BCycle
launched Denver Bike Sharing.
We helped solve the Denver Bike Sharing volunteer assignment problem by ap
plying our model. We collected information from the volunteers and worked
very closely with the volunteer coordinator Piep Van Heuven. Participants were
required to fill out a volunteer survey; to provide information on what shifts
they were available, how much they prefer to work at each of the locations, and
the number of shifts they are willing to work. The volunteer coordinator was
asked how many kiosks needed volunteers, how many volunteers were needed
at each kiosk, and what days were we assigning volunteers for. The volunteer
coordinator determined that a volunteer can work one shift, however with a
preference that they work at least two shifts. This information was used to
formulate the goal programming model we created. However, after the model
38
output the assignments the volunteer coordinator realized that some people had
was accomplished by adding an additional constraint to our model that did not
allow a volunteer to be assigned more than 4 shifts.
A description of the sets, variables, and parameters used in the model is given
in table 3.1.
Decision Variables
Decision variables and j/* are described in section 3.1.
Constraints
A volunteer can only be assigned to at most one kiosk during each shift if they
are available, because we assume a person can not be at two different kiosks at
the same time:
Volunteers that are assigned to the first shift need to be able to ride a bike
because the volunteers were riding bikes in the parade that launched Denver
Bike Sharing:
The model needed to assign the required number of volunteers to each kiosk
during each shift:
a large number of shifts and she wanted to spread the jobs more evenly. This
i A Pij k /. j
where
39
Assigning volunteer i the ideal number of shifts, if any at all:
y, Xijk A v~ V? = ViVi V i.
jk
Assign each volunteer the minimum number of shifts required to work:
y Xijk A W~  = 2DiM i.
jk
Do not allow a volunteer to be assigned to more than 4 shifts:
y Xijk <4 Vi.
jk
A volunteer cannot work a consecutive shift at a conflicting area, where we
define a conflict to be kiosks that are located at different locations located too
far apart:
Xijk + Xij>k+i <1 Vz,fc, (j,f) G C.
A volunteer can not work 3 consecutive shifts:
^ y Xjjk A ^ ^ Xjjk~\~ i A ^ ^ Xjjk~\~ 2 A 2 Vi, A: 1,  , S' 2.
i j j
Objective Function
The objective was to make an assignment in such a way that maximized the
preferences of the volunteers while satisfying all of the needs of the volunteer
coordinator. The objective function was penalized if the model did not assign
the volunteers their ideal number of shifts requested. We choose to use a penalty
of 10 for assigning a volunteer more or less shifts than they signed up for because
we wanted to choose a number larger than the maximum preference indicated
40
to encourage the model to assign the volunteers their ideal number of shifts. We
could have chosen any positive number, however we choose appropriate penalties
to get an assignment that the volunteer coordinator approved. We penalized the
objective function if we assigned a volunteer only one job and not at least two.
We made the penalty larger for assigning a volunteer less than two jobs because
the volunteer coordinator determined that it was more important than assigning
a volunteer a different number of shifts than their ideal number. Mathemati
cally, the bojective function is:
max ^ xijk7rijk 10 v~ 10 v? 20 w~.
ijk i i i
Denver Bike Sharing was able to use the assignments that our model made.
Piep was very impressed with the final schedule produced and pleased with the
amount of time the model saved her as well. A letter from the client can be
found in Appendix A. We produced a master schedule in Excel and created an
oncall volunteer list that the volunteer coordinator used to make assignments
the day of if there was a cancellation. The master schedule was sent out to all of
the volunteers and was available on line. A few requests came in the last minute
so we made a minimal number of manual adjustments.
41
6. Conclusion
We propose a twophase modeling approach to solve the volunteer assign
ment problem. The first phase is used to tell volunteer coordinators if an as
signment of volunteers is possible, given the number of qualified volunteers that
are currently signed up and that are needed for every job during each shift. The
second phase makes the assignment of volunteers. Our twophase approach to
the volunteer assignment problem is very helpful in determining if there exists
a feasible assignment and making the assignment if one exists. To our knowl
edge this is the first time anyone in the literature presents solving the volunteer
assignment problem this way.
We construct a simulation program to observe how assignments effect vol
unteers future involvement. A series of test scenarios show that the penalties
and rates affect the number of volunteers being assigned and the number of vol
unteers coming back. The insight gained from the simulation allows the modeler
to choose appropriate penalties to accomplish what each volunteer coordinator
wants to achieve.
Our twophase model assigned the volunteers for the launch of Denver B
Cycle, Denvers new bike sharing program. A master schedule and an on call
volunteer list were produced. The volunteer coordinator determined that the
model was able to make fair, efficient, and timely assignments.
42
6.1 Future Work
This thesis offers many avenues for further research. Applying the model
to larger problems is a possible extension. Determining how satisfied volunteers
are given their assignments will allow us to justify rates used in our simulation.
One can apply the twophase modeling approach to other volunteer assignment
problems as well as find new assignment problems where the model may be
applicable. Building on the simulation and doing sensitivity analysis would be
worthwhile as well.
43
APPENDIX A. BikeDenver Client Letter
BikeDenver
A Voice for Denver Cyclists
Box 801,1536 Wynkoop St., Denvet, CO 80202
hikedenver.org
July 13, 2010
To Whom It May Concern:
It was a pleasure to work with graduate student Matt Kaspari of the University of Colorado at Denvers
Department of Mathematics and Statistical Sciences on the volunteer coordination project for the Denver
Bike Sharing launch this April.
BikeDenver was contracted to provide volunteer services on a complex multiday event to support the
launch of Denvers new bike share program this April and working with Matt helped simplify the process
enormously! My challenges included:
Placing volunteers at multiple locations during 3 shift times over a 3day period.
Placing volunteers during dates and times and at locations that Gt their availability and
interest.
Identifying experienced volunteers and placing them at highproGle or hightraffic
locations before assigning less experienced volunteers.
Restricting the number of shifts that a volunteer could sign up for in order to stay in
keeping with the community volunteer effort concept that would engage more people in the
project
Identifying volunteers willing to be oncall on certain days.
Communicating the complex master schedule once placements were made.
The math model Matt created took all of these complex considerations into account and helped us assign
over 300 volunteers in a manner that was fair, quick, and easy to explain.
It was a pleasure to work with Matt on the project and the volunteer effort proved to be successful even
given some weather events that required us to cancel one day and reschedule all volunteers to the
following Saturday. Please contact me at piep@bikedenver.org if I can provide any additional
information about the project.
Sincerely,
/s/ Piep van Heaven
Piep van Heuven
Executive Director, BikeDenver
44
APPENDIX B. BikeDenver Volunteer Survey
BikeDenver Volunteer Application Survey
BikeDenver
BikeDenver Volunteer Application
 1. Denver BCycle Launch Days Application
All volunteers that want to be eligible for a job will need to answer all of the survey questions.
We will be using a mathematical model to make the volunteer assignments. Preference will be
given to those volunteers that sign up for at least 2 shifts.
* 1. CONTACT INFORMATION
First Name
Last Name
Street Address
City
State
Zip Code
Daytime Phone
Number
Night Time Phone
Number
Email Address
5c2. HELP US GET TO KNOW YOU
Yes No
Do you volunteer for nonprofit groups or events at least once a year? ,
Did you volunteer at the DNC Freewheelin' bike share project?
Have you volunteered for a bike group or bike event in the past year (not
45
BikeDenver Volunteer Application Survey
including Freewheelin')? Did you participate in the Denver Bike Initiative? > > >
Are you personally acquainted with a staff member at Denver Bike Sharing? > >
Have you taken a League of American Bicyclist's education class?
Do you work in the outdoor industry, or for a group that encourages outdoor activities? >
Do you work in a professional field with an emphasis on alternative modes of transportation? ,
Are you an appointed member of the Mayor's Bicycle Advisory Committee? >
Would you be willing to ride a bicycle for 3 or more miles? '
3. What tshirt size and style do you wear?
Small Medium La rge X Large
Men ^ ** >
Women ' j
4. What time(s) are you available to work? (check yes for all that apply) Preference will be given to volunteers committed to two or more shifts. Yes No
Thursday 4/22 Morning (7:00am 10:30am) > >
Thursday 4/22 Afternoon (11:00am 1:00pm)
Thursday 4/22 Evening (4:00pm 6:00pm) >
Friday 4/23 Morning (7:00am 9:00am)
Friday 4/23 Afternoon (11:00am 1:00pm) > >
Friday 4/23 Evening (4:00pm 6:00pm) S
Saturday 4/24 Morning (9:00am 11:00am) >
Saturday 4/24 Afternoon (11:00am 2:00pm) S
Saturday 4/24 Evening (2:00pm 5:00pm) >
Monday 4/26 Morning (7:00am 9:00am)
Monday 4/26 Afternoon (11:00am 1:00pm) > >
Monday 4/26 Evening (4:00pm 6:00pm)  '
5. Are you available to be an "oncall" volunteer for any of the days?
Yes No
Thursday 4/22
Friday 4/23 j
46
BikeDenver Volunteer Application Survey
Saturday 4/24 ^
Monday 4/26
$6. For the following areas of town determine how willing you are to work at the particular area.
Highly Desirable Desirable Indifferent Not Desirable Unable
University of Denver .y > >
Cherry Creek ,
Capitol Hill > >
Central Downtown , y ,
Union Station > > y >
North Downtown ,
Highlands .y > y V
7. Number of Shifts 1 2 3 4 5 6 7 8 9 10 11 12
What is the minimum number of shifts you are willing to
work? s y y y > y y V
Ideally how many shifts do you want to work? , y / y , >
What is the maximum number of shifts you are willing to
work? y y y > y > >
*8.1 WILL ATTEND ONE OF THE MANDATORY VOLUNTEER TRAINING SESSIONS*
. Monday 4/19 (6:00pm 7:30pm)
Tuesday 4/20 (6:00pm 7:30pm)
Wednesday 4/21 (6:00pm 7:30pm)
#9. YOUR COMMITMENT
Yes No
I understand that only 2 volunteers will be assigned per kiosk per shift and I commit to volunteering when and where I am assigned. > >
I will be on time for my assigned shifts. / ,
I understand that I will be representing Denver Bike Sharing and the City of Denver at a high profile event and I will dress and act _y >
in a professional manner.
10. Do you have any other comments?
(ex. I want to work with Sally. I can not lift heavy things.)
47
APPENDIX C. Simulation Program
/0This function writes an ampl data file that we use in VolAssignGP.mod
function [obj_avg, vol_avg, vol_sat_avg] = Program(V, J, S, N)
rand('seed',10);
Uni Preference, Availability, Max Volunteer, Min Volunteer, Max Shift
Pref = round(rand(V,J)*5);
Avail = ceil(rand(V,S));
for i = 1:J;
for j = 1:S;
MinVol(i,j) = 1;
MaxVol(i,j) = 1;
end
end
MaxShift = ceil(rand(l,V)*V);
/o0/o0/o0/o/ovCreate file to write to
48
fn = Program.dat;
fid = fopen(fn,w); %The 'w' dentoes writing privilages.
/o0/o0/o0/o/oCreate Sets
fprintf(fid,set VOL := ');
for i = 1:V
fprintf(fid, 'v/0d \t i) ;
end
fprintf(fid, \n);
fprintf(fid,set JOBS := ');
for i = 1:J
fprintf(fid, j/d \t' i) ;
end
fprintf(fid, \n);
fprintf(fid,'set SHIFTS := ');
for i = 1:S
fprintf(fid, 's/0d \t' i) ;
end
fprintf(fid, \n \n');
49
11111 Create par am preference
fprintf(fid,'param preferences: \t');
for j = 1:J
fprintf (fid, 'j/d \t' j);
end
fprintf(fid, ':= \n');
for i = 1:V
fprintf (fid, 'v/0d \t\t\t', i) ;
for j = 1:J
fprintf (fid, '%d \tJ Pref(i,j));
end
if i == V
fprintf(fid, \n \n');
else
fprintf(fid, '\n');
end
end
Uni Create param availability
fprintf(fid,'param availability: \t');
for k = 1:S
fprintf (fid, 's/0d \t' k) ;
end
50
fprintf(fid, : = \n');
for i = 1:V
fprintf (fid, 'v/0d \t\t\t', i) ;
for k = 1:S
fprintf (fid, '%d \t' Avail (i,k))
end
if i == V
fprintf(fid, \n \n');
else
fprintf(fid, '\n');
end
end
mil Create param MaxVol
fprintf(fid,'param maxVol: \t');
for k = 1:S
fprintf (fid, 's/0d \t' k) ;
end
fprintf(fid, ':= \n');
for j = 1:J
fprintf (fid, 'j/d \t\t', j);
for k = 1:S
51
fprintf(fid, '%d \t' MaxVol (j ,k) ) ;
end
if j == J
fprintf(fid, \n \n');
else
fprintf(fid, '\n');
end
end
mil Create param MinVol
fprintf(fid,'param minVol: \t');
for k = 1:S
fprintf (fid, 's/0d \t' k) ;
end
fprintf(fid, ':= \n');
for j = 1:J
fprintf (fid, 'j/d \t\t', j);
for k = 1:S
fprintf(fid, '%d \t', MinVol(j,k));
end
if j == J
fprintf(fid, \n \n');
else
52
fprintf(fid, '\n');
end
end
lllll Create param Penalty
fprintf(fid,'param penalties:= 162636; \n');
IT/ll Create param MaxShift
fprintf(fid,'param maxShift: \t');
for i = 1:V
fprintf (fid, 'v/0d \t' i) ;
end
fprintf(fid, ':= \n');
for j = 1
fprintf (fid, 'numShift/0d \t\t', j);
for i = 1:V
fprintf(fid, '%d \t', MaxShift(j,i));
end
if j == 1
fprintf(fid, '; \n \n');
else
fprintf(fid, '\n');
end
53
end
fclose(fid);
%this runs ampl
! ./Program.bash
/X/This prints zp
z = load('ascii', 'zp.mat');
/0/owe need these for the first loop
newV = V;
newPref = Pref;
zNEW = z;
0/.0/.0/.0/.0/.0/.0/.0/.0/.0/.0/.0/.Run ProgramNewV/XyXV/XV/XV/XyXVLV/X
for y = 1:N %where N = number of years we want to run our simulation
a = zeros(newV,J);
w = zeros(newV,J);
for i = 1:S;
a = a + zNEW((((il)*newV)+l):(i*newV), 1:J);
end
for i = l:newV;
54
for j = 1:J;
w(i,j) = a(i,j)*newPref(i,j);
end
end
*/. # of shifts a volunteer works
numShiftsVol = [] ;
sumWrow = [] ;
for i = l:newV;
numShiftsVol(i,1) = sum(a(i,:));
end
% Sum of the job preferences of the jobs the volunteer works
for i = l:newV;
sumWrow(i,l) = sum(w(i,:));
end
%intialize
percentage = [] ;
%this calculates the % of satisfaction each volunteer is
for i = l:newV;
if numShiftsVol(i,1) >= 1;
percentage(i,1) = sumWrow(i,l) / (numShiftsVol(i,1)*max(newPref(i,:))>
55
else
percentage(i,1) = .25;
end
end
/0/0intialize
r = [];
q = ;
%find out what volunteer is coming back
r = 1 .9*percentage;
for i = l:newV;
if newV > 0;
q = rand(newV,1);
else
q(i 1) = 0;
end
end
dif = qr;
comeBack = find(dif > 0);
sizeCB = size(comeBack,1);
Vhold = [] ;
for i = l:newV;
56
if dif(i,l) > 0;
Vhold = [Vhold; newPref(i,:)];
end
end
%find out what volunteer is invited
if newV > 0
percentage2 = .5*percentage;
r2 = 1 percentage2;
q2 = rand(newV,1);
dif2 = q2r2;
invite = find(dif2 > 0) ;
sizel = size(invite,1);
else
invite = 0;
sizel = 0;
end
/(generate new preference, avail, maxshift matrices
Vnewhold2 = [];
if sizel > 0;
for i = l:sizel
57
Vnewhold2 = round(rand(i,J)*5);
end
newPref = [Vhold;Vnewhold2];
else newPref = Vhold;
end
%%%if no one is coming back and no one is invited bring in a new volunteer
if size(newPref,1) == 0;
newPref = round(rand(1,J)*5);
newV = 1;
newAvail = ones(l,S);
newMaxShift = ones(1,1);
else
newV = size(newPref,1);
newAvail = ones(newV,S);
newMaxShift = ones(1,newV)*S;
end
/o0/o0/o0/o/oneed to get the right 0,1 variable for ampl to solve
sumNewAvail = [];
shif tNewAvail = [] ;
for i = l:newV
for k = 1:S
sumNewAvail(i,k) = sum(newAvail(i,:));
58
if sumNewAvail >= 1;
shiftNewAvail(i,k) = 1;
else
shiftNewAvail(i,k) = 0;
end
end
end
/o0/o0/o0/o/oVector for plot
plot_newV(l,y) = [newV];
/o0/o0/o0/o/ovCreate file to write to
fn = ['ProgramNew','.dat'];
fid = fopen(fn,'w'); %The 'w' dentoes writing privilages.
'/.r/.y.y.Create Sets
fprintf(fid,set VOL := ');
for i = l:newV
fprintf(fid, v/0d \t i) ;
end
fprintf(fid, \n');
59
fprintf(fid,set JOBS := );
for i = 1:J
fprintf(fid, 'j/0d \t i) ;
end
fprintf(fid, \n');
fprintf(fid,set SHIFTS := ');
for i = 1:S
fprintf(fid, 's/0d \t' i) ;
end
fprintf(fid, \n \n');
Uni Create par am preference
fprintf(fid,'param preferences: \t');
for j = 1:J
fprintf (fid, 'j/d \t' j);
end
fprintf(fid, ':= \n');
for i = l:newV
fprintf (fid, 'v/0d \t\t\t', i) ;
for j = 1:J
fprintf (fid, ,0/od \t' newPref (i, j ) ) ;
60
end
if i == newV
fprintf(fid, \n \n');
else
fprintf(fid, '\n');
end
end
Uni Create param availability
fprintf(fid,'param availability: \t');
for k = 1:S
fprintf (fid, 's/0d \t' k) ;
end
fprintf(fid, ':= \n');
for i = l:newV
fprintf (fid, 'v/0d \t\t\t', i) ;
for k = 1:S
fprintf(fid, '%d \t', shiftNewAvail(i,k));
end
if i == newV
fprintf(fid, \n \n');
else
61
fprintf(fid, '\n');
end
end
mil Create param MaxVol
fprintf(fid,'param maxVol: \t');
for k = 1:S
fprintf (fid, 's/0d \t' k) ;
end
fprintf(fid, ':= \n');
for j = 1:J
fprintf (fid, 'j/d \t\t', j);
for k = 1:S
fprintf(fid, '%d \t', MaxVol(j,k))
end
if j == J
fprintf(fid, \n \n');
else
fprintf(fid, '\n');
end
end
V/XVL Create param MinVol
62
fprintf(fid,'param minVol: \t');
for k = 1:S
fprintf (fid, 's/0d \t' k) ;
end
fprintf(fid, ':= \n');
for j = 1:J
fprintf (fid, 'j/d \t\t', j);
for k = 1:S
fprintf (fid, '%d \t' MinVol(j,k));
end
if j == J
fprintf(fid, \n \n');
else
fprintf(fid, '\n');
end
end
Uni Create param Penalty
fprintf(fid,'param penalties:= 162636; \n');
UUl Create param MaxShift
fprintf(fid,'param maxShift: \t');
for i = l:newV
63
fprintf(fid, 'v/0d \t i) ;
end
fprintf(fid, ':= \n');
for j = 1
fprintf (fid, numShift/0d \t\t ', j);
for i = l:newV
fprintf (fid, ,0/od \t' newMaxShift(j,i) ) ;
end
if j == 1
fprintf(fid, \n \n');
else
fprintf(fid, '\n');
end
end
fclose(fid);
/0/oThis runs external program ampl
! ./ProgramNew.bash
/o0/o/oThis prints z2
zNEW = load('ascii', 'zNew.mat');
Uni need to make zNEW work for our plots
64
for k=l:S
for i=l:newV
for j=l:J
Znew(i,j) = zNEW((i+((kl)*newV)),j);
end
end
/o/o/oGet objective function value so we can plot
objMat = times(newPref,Znew);
objValrow = sum(objMat);
objValShift = sum(objValrow);
objVal = sum(objValShift);
objectiveValue(l,k)= objVal;
Znew=[]; %reintialize... program needed it
end
objectiveValueSum = sum(objectiveValue);
plot_objVal(1,y) = objectiveValueSum;
/o0/o/oPrinting Cell Arrays of data
NEWpref{y} = newPref;
NEWv{y} = newV;
NEWavail{y} = newAvail;
NEWmaxshift{y} = newMaxShift;
65
/0/o/oPrint results to file so that we can retreive later
fn = ['ProgramNew_info','.dat'];
fid = fopen(fn,'w'); %The 'w' dentoes writing privilages.
fprintf(fid,'newV = ');
fprintf(fid,'%g', newV);
fprintf(fid, '\n');
fprintf(fid,'newAvail = ');
fprintf(fid,'%g ', newAvail);
fprintf(fid, '\n');
fclose(fid);
/o0/o/oreinitialize everything
end % end of for loop ProgramNew
obj_avg = sum(plot_objVal)/size(plot_newV,2)
vol_avg = sum(plot_newV)/size(plot_newV,2)
vol_sat_avg = obj_avg / vol_avg
y.y.y.r/o'/.help nargin0/0/0/0//this will allow me to
/o/o/o/oplot number of volunteers at event
figure
subplot(2,1,1);
plot(plot_newV)
66
xlabel('Year')
ylabel('# of Volunteers')
title('Volunteer Pool Over Time')
/X/./X/.plot objective function/newV this will give us the average happiness of
avgHap = (plot_objVal./plot_newV);
subplot(2,1,2);
plot(avgHap)
xlabel('Year')
ylabel('Preference Level')
title('Average Satisfaction Volunteers')
end
67
REFERENCES
[1] R.H. Ahuja, T.L. Magnanti, and J.B. Orlin. Some recent advances in net
work flows. Society for Industrial and Applied Mathematics, 33(2): 175219,
1991.
[2] R.K. Ahuja, Magnanti T.L., and Orlin J.B. Network Flows: Theory, Algo
rithms, and Applications. Prentice Hall, 1993.
[3] D.P. Bertsekas. The auction algorithm. Annals of Operations Research,
14(1): 105123, 1988.
[4] J.G. Chapman and R. Morley. Collegiate servicelearning: Motives un
derlying volunteerism and satisfaction with volunteer service. Journal of
Prevention and Intervention in the Community, 18(1): 19 33, 1999.
[5] A. Charnes, W.W. Cooper, and R.O. Ferguson. Optimal estimation of
executive compensation by linear programming. Management Science,
1 (2): 138151, 1955.
[6] E.G. Clary and M. Snyder. The motivations to volunteer: Theoretical
and practical considerations. Current Directions in Psychological Science,
8(5): 156159, 1999.
[7] R.A. Cnaan and L. Amrofell. Mapping volunteer activity. Nonprofit and
Voluntary Sector Quarterly, 23(4):335351, 1994.
[8] J.E. Crandall and M.D. Harris. Social interest, cooperation, and altruism.
Journal of Individual Psychology, 32:5054, 1976.
[9] G.B. Dantzig. A comment on edies traffic delays at toll booths. Journal
of the Operations Research Society of America, 2(3):339341, 1954.
[10] F.F. Easton and D.F. Rossin. A stochastic goal program for employee
scheduling. Decision Sciences, 27(3) :541568, 1996.
[11] R. Emanele. Is there a (downward sloping) demand curve for volunteer
labour. Annals of Public and Cooperative Economics, 67(2):193208, 1996.
68
[12] R.B. Freeman. Working for nothing: The supply of volunteer labor. The
Journal of Labor Economics, 15(1):S140S166, 1997.
[13] L. Gordon and E. Erkut. Improving volunteer scheduling for the edmonton
folk festival. Interfaces, 34(5):367376, 2004.
[14] S.K. Green et al. Volunteer motivation and its relationship to satisfaction
and future volunteering. Paper presented at the Annual Convention of the
American Psychological Association, 0(0): 115, 1984.
[15] H.J. Greenberg and T. (eds.) Morrison. Preparing for the democratic na
tional convention. Mathematics Clinic Report MC08S001, University of
Colorado Denver, Denver, CO, 2008.
[16] K.F. Lam and E.U. Choo. Goal programming in preference decomposition.
The Journal of the Operational Research Society, 46(2):205213, 1995.
[17] V.A. Mabert and C.A. Watts. A simulation analysis of tourshift construc
tion procedures. Management Science, 28(5):520532, 1982.
[18] R.L. Ryan, R. Kaplan, and R.E. Grese. Predicting volunteer commitment
in enviromental stewardship programmes. Journal of Envirornental Plan
ning and Mangernent, 44(5):629648, 2001.
[19] S.E. Sampson. Optimization of volunteer labor assignments. Journal of
Operations Management, 24(4):363377, 2006.
[20] S. Shin and B.H. Kleiner. How to manage unpaid volunteers in organisa
tions. Management Resource News, 26(24):63 71, 2003.
[21] D.H. Smith. Determinants of voluntary association participation and vol
unteering: A literature review. Nonprofit and Voluntary Sector Quarterly,
23(3):243263, 1994.
[22] G.M. Thompson. Labor scheduling using npv estimates of the marginal
benefit of additional labor capacity. Journal of Operations Management,
13(1):67 86, 1995.
69

Full Text 
PAGE 1
OPTIMALVOLUNTEERASSIGNMENTWITHANAPPLICATIONTO THEDENVERBCYCLEBIKESHARINGPROGRAM by Kaspari,Matthew B.S.,UniversityofColoradoDenver,2005 Athesissubmittedtothe UniversityofColoradoDenver inpartialfulllment oftherequirementsforthedegreeof MasterofScience AppliedMathematics 2010
PAGE 2
ThisthesisfortheMasterofScience degreeby Kaspari,Matthew hasbeenapproved by AlexanderEngau StevenBillups HarveyJ.Greenberg LorenCobb GaryKochenberger Date
PAGE 3
Matthew,Kaspari,M.S.,AppliedMathematics OptimalVolunteerAssignmentwithanApplicationtotheDenverBCycleBike SharingProgram ThesisdirectedbyAssistantProfessorAlexanderEngau ABSTRACT Volunteersarecriticalformanyorganizationsandeventstorunproperly. Assigningvolunteerstotaskstheypreferwillincreasetheprobabilitythatthey enjoythemselvesandvolunteeragaininthefuture.Weconstructagoalprogrammingmodelthatmaximizesthevolunteer'spreferencesinatimely,eective,andfairmanner.Weuseatwophasemodeltoassignvolunteers.Therst phasedeterminesifafeasibleassignmentexists.Ifafeasibleassignmentdoes notexist,themodelsolutionindicateswhatjobsandwhatshiftsneedmorevolunteers.Thesecondphaseofthemodelisnotusedunlesstherstphasesolves withanobjectivefunctionvalueofzero.Thesecondphaseisusedtomakea feasibleassignmentofvolunteerswhilemaximizingtheirpreferences.Simulationexperimentsareconductedtostudythelongtermeectsofthevolunteer poolovertime,demonstratingtheimportanceandpotentialimpactofassigning volunteersusingourproposedmethodology.Colorado'snonprotcorporation DenverBikeSharing"usedthemodeltoassignvolunteersforthelaunchof DenverBCycle,Denver'snewbikesharingtopromotehealth,qualityoflife andpreservationoftheenvironmentinDenver.
PAGE 4
Thisabstractaccuratelyrepresentsthecontentofthecandidate'sthesis.I recommenditspublication. Signed AlexanderEngau
PAGE 5
DEDICATION ThisthesisisdedicatedtoHarveyJ.Greenbergwhointroducedmetothe volunteerassignmentproblem.ItwasmyrelationshipwithHarveythatnot onlygotmeexcitedaboutgraduateschoolbutaboutoperationsresearchin general.ThankyouHarveyforalwaysbeingtheretomentorme.
PAGE 6
ACKNOWLEDGMENT ThisthesiswouldnothavebeenpossiblewithoutthesupportofAlexander Engau,mygraduateadvisor.IappreciateallthetimethatAlexhelpedguide andadviseme.IalsowanttothankJeeryLarsonforallthetimeshewould answerhisphonelateatnighttoansweroneofmymanyquestions.Iwant tothankmycommitteefortakingtimeawayfromtheirbusylivestohelpme furthermycareer.
PAGE 7
CONTENTS Figures....................................ix Tables.....................................x Chapter 1.Introduction................................1 2.LiteratureReview.............................5 2.1Volunteerism..............................5 2.1.1Whatisvolunteerism?........................6 2.1.2Whydopeoplevolunteer?......................6 2.1.3Whatmotivatessomeonetovolunteer?...............7 2.1.4Whyisvolunteeringimportantandwhatarethesocialconsequences?8 2.2AssignmentProblem..........................8 2.3Goal/MultiobjectiveProgramming.................12 3.Model...................................14 3.1MathematicalModel..........................15 3.2TwoPhaseApproach..........................23 4.Simulation.................................26 4.1MotivationandDescription......................26 4.2SimulationModel............................29 4.3Scenarios................................32 4.3.1SimulationInsight..........................37 vii
PAGE 8
5.ApplicationtoDenverBikeSharing...................38 6.Conclusion.................................42 6.1FutureWork..............................43 Appendix A.BikeDenverClientLetter.........................44 B.BikeDenverVolunteerSurvey......................45 C.SimulationProgram............................48 References ...................................68 viii
PAGE 9
FIGURES Figure 3.1Phase2Model.............................25 4.1SimulationModel............................31 4.2SimulationPlot.............................33 ix
PAGE 10
TABLES Table 3.1Nomenclature..............................16 4.1SimulationNomenclature.......................30 4.2 Simulation:BaseCase5 jk =6 ; 7 jk =6 ; 8 jk =6 ; = : 25 ; = : 90 ; = : 50 ..32 4.3Simulation: = : 50 ..........................34 4.4Simulation: = : 70 ..........................35 4.5Simulation: = : 25 ..........................36 4.6Simulation: 7 jk = 4 : 5 .........................36 x
PAGE 11
1.Introduction Volunteersarecriticalformanyorganizationsandeventstorunproperly. Manyfactorsdetermineifsomeonevolunteersforthersttimeorcontinues doingso.Smith[21]suggeststhatmorecollaborationneedstobedonebetween disciplinesinordertobetterunderstandwhatkeepsavolunteerreturningfor futurevolunteeropportunities.Volunteercoordinatorshavelittlecontrolover manyofthereasonsthatkeepsomeonevolunteering.Ifajobiscloselyconnectedwithavolunteer'smotivestheyaremorelikelytocontinuevolunteering forthatorganization[6].Volunteercoordinatorsdonothavecontroloversomeonesmotivationormanyotherfactors,thereforefocusingonwhatonecando tokeepvolunteerscomingbackisessential. Volunteercoordinatorshavecontroloverwhatjobstheyassignavolunteer todoifany.Assigningvolunteersrandomly,oronarstcomerstservebasis, mightnotbethebestoptionifonewantsvolunteerstocontinuevolunteering. Assumingvolunteersaremoresatisedassigningthemjobstheypreferthan assigningthemjobstheydonottowantwork.Volunteerswillnotalwaysget theirrstchoicebecausetherearejobsthatarefunandjobsthatarenotas muchfun.Avolunteercoordinatorneedstomakesurethatallofthejobsare lledwhenappropriate.Thisispreciselywhyonewantstoassignvolunteersin awaythatwillmaximizetheoverallsatisfactionofthegroupofvolunteers. Whenanorganizationneedsvolunteerlabortocompletevarioustasks,itis uncommontohavetheexactnumberofvolunteersneeded.Inmanycasesvol1
PAGE 12
unteercoordinatorsmaynothaveenoughvolunteerstocompleteallofthejobs; however,ifthevolunteeropportunityisexcitingvolunteercoordinatorsmay havemorevolunteersthantheycanuse.In2008over23,000volunteersapplied forhundredsofjobsoveratwoweekperiodfortheDemocraticNationalConvention[15].Thevolunteerassignmentproblemdiersfromtheclassicassignment problem,whichmostcommonlyassignslabortotaskswhileminimizingthe cost.Comparedtotheclassicalassignmentproblem,themaindierenceisto maximizevolunteerspreferences;however,manyotherfeaturesareinteresting tolookataswell.Sincetherearecostsassociatedwithlabor;employersusually wanttomakeanassignmentusingtheleastamountofpeople.Volunteersdo notproduceacost,thereforeassigningtheminimumnumberisnotanissue.If avolunteerfeelsthatanorganizationiswastingtheirtime,itmaynegatively aecttheirfuturevolunteerinvolvement. Chapter2reviewstheliteratureinordertounderstandandmodelthevolunteerassignmentproblemeectively.Theliteraturereviewconsistsofthree majorsectionsvolunteerism,assignmentproblemandgoalprogramming.We discussdierentmeaningsofthewordvolunteer,whypeoplevolunteer,what motivatesapersontovolunteerandwhyvolunteeringisimportanttohelpformulateamodelthatincorporatesthetrueobjectivesofbothvolunteersand volunteercoordinators.Thedierencesoftheclassicalassignmentproblemand thevolunteerassignmentproblemareaddressedaswell.Thesectionconcludes discussingsomegoalprogrammingtechniques. Inchapter3themathematicalmodelcreatedtoassignvolunteerswhilemaximizingtheirpreferencesisdiscussed.Introducingthetwophasemodelthatwe 2
PAGE 13
developedtomakeassignmentsindependentofthenumberofvolunteerswho signup.Therstphaseofthemodelusesghostvolunteerstodeterminethose jobsandshiftsthatthevolunteercoordinatordoesnothaveenoughvolunteers for,ifany.Iftherstphaseofthemodelsolveswithanobjectivefunctionvalue ofzero,thereexistsafeasibleassignmentandconsequentlysolvetheproblem usingthesecondphasemodel.Therstphasetellsvolunteercoordinatorsif theyneedtorecruitmorevolunteersorrelaxsomeofthevolunteerconstraints. Totheauthor'sknowledgethisisthersttimethisapproachhasbeenusedin thecontextofvolunteerassignments. Inchapter4wediscussasimulationdevelopedtoinvestigatehowthevolunteerpoolisaectedbytheassignmentstheprogramdetermines.Thereare manyaspectsthataectsomeonesfuturevolunteerinvolvementotherthanthe assignmentstheyweregiven;however,volunteercoordinatorshavecontrolover theassignmentssowestudiedhowtheassignmentsaectthevolunteerpool overtime.Thetwophasemodelwasnotusedinoursimulation,thereforewe introduceamodeltorunwithoutinterruptionbecausethemodelisalwaysfeasible.Deningvolunteersatisfactionbytheassignmentsthatthevolunteers weregiven,allowstheauthortoobservewhathappenstothevolunteerpool overtime.Basedonextensiveliteraturereviewitseemsthatitisanovelidea todenevolunteersatisfactioninthiscontext.WeusedMATLAB,ahighlevel technicalcomputinglanguage,torunoursimulationandAMPLAMathematicalProgrammingLanguagetosolveourvolunteerassignmentproblem. Inchapter5themodelthatdeterminedtheassignmentofthevolunteers forthelaunchoftheDenverBikeSharingprogramispresented.Thetwophase 3
PAGE 14
modelwasusedandsolvedusingGAMSGeneralAlgebraicModelingSystem. DenverBikeSharingwillbechanginghowpeoplegetaroundinDenver.Bike sharingprogramsareinParis,Barcelona,France,Rome,andMontreal.There aremanyotherU.S.citiesthatarepreparingforabikesharingsysteminthe future;however,Denverwillbethersttolaunchalargescaleprogramin theUnitedStates.Thissectiondiscussesthemodelindetailthatwasusedto assign284volunteersto35kioskslocatedat7dierentgeographicallocations for3shiftsduring3days.Onapersonalnote,assigningthevolunteersforthe launchwasagreatopportunitytodemonstratehowmathematicscanbeapplied tohelpsolverealworldproblems. Weconcludeinchapter6byreviewingthebenetsofusingmathematical modelingtomakevolunteerassignments.Takingvolunteer'spreferencesinto considerationwillallowvolunteercoordinatorstomakebetterassignmentsand createamorepleasurableexperienceforboththevolunteerandthevolunteer coordinator.Havingloyalvolunteersthatcontinuevolunteeringisimportant becausevolunteerlaborisacompetitivecommoditythatislimited.Weconcludebyexploringsomepossibleavenuesoffutureresearch. 4
PAGE 15
2.LiteratureReview Thissectionreviewsthemodelsthatareavailableandthereasonswhy peoplevolunteer.Thischapterisdividedintothreemainareas:volunteerism, assignmentproblemandgoalprogramming.Therstsectionhighlightsmany volunteermotivesthatvolunteercoordinatorsdonothavecontrolover,forexampleaperson'svalues.Recognizingtherearemanyfactorsthatdetermineif volunteersaresatisedwiththeirvolunteerexperienceisimportant. 2.1Volunteerism Inthissectionwewilladdressthefollowingquestions: Whatisvolunteerism? Whydopeoplevolunteer? Whatmotivatessomeonetovolunteer? Whyvolunteeringisimportantandwhatarethesocialconsequencesof volunteering? Theanswerstothesequestionssupportourhypothesisthatvolunteersatisfactionisofcrucialimportanceandhighrelevanceasreectedinourobjective toassignvolunteerstojobstheypreferinordertopromotetheirreturninthe future. 5
PAGE 16
2.1.1Whatisvolunteerism? Therearemanydierentideasofwhatvolunteerismis.Freeman[12]denes volunteeractivitytobeworkthatisperformedwithoutmonetaryrecompense. Hendsthatvolunteeringisa"consciencegood"andthatpeopledosowhen asked,butwouldratherletsomeoneelsedoit.Healsoclaimsthatsincevolunteersdonotgetpaidtheymustreceivegreaterutilityfromvolunteeringthan fromworkingforwagesorleisure. CnaanandAmrofell[7]lookatthedierentusesandcontextsoftheword "volunteer".Theiraimistoclarifyandbetterunderstandwhatvolunteeractivityis.Theyuseamappingsentencemethodwhichgroupedvolunteercharacteristicssuchasmenandwomenmotivestovolunteer,theirpreferencesfor certaintasks,andthelevelofeducationofvolunteerstogethersystematically intoteninterrelatedfacets.Whoisthevolunteer,whatisbeingvolunteeredand whomanagesvolunteersarethreeofthefacetstheyuse.Theystatethatthe wordvolunteerisusedtocoverawiderangeofnonsalariedactivities. 2.1.2Whydopeoplevolunteer? Manyresearchershavetriedtoanswerthisquestion.Afairamountof literaturelooksatwhatmotivatesapersontoengageinvolunteerism,however veryfewarticlesaddresswhatkeepsthemcomingback[18].Somepeoplemay feelthatitistheirresponsibilityasamemberofsocietytovolunteer[8].Many othersvolunteertoacquiresocialstatusorgainskills.Someevenvolunteer becausetheyareforcedto.ChapmanandMorleystudycollegestudentsthat 6
PAGE 17
arerequiredtovolunteer34hoursaweekaspartoftheclassrequirements [4].Thisisinterestingbecauseifoneforcessomeonetodosomethingisthat consideredvolunteering?IfweuseFreeman'sdenitionofvolunteeringandthe personbeingforcedisnotgettingpaid,thenonemustconsiderthatvolunteering. IfweuseMerriamWebster'sdenitionofvoluntary: proceedingfromthewillor fromonesownchoiceorconsent;unconstrainedbyinterference ;onewouldnot considerthatvolunteeringbecausethestudentsarenotnecessarilychoosingto volunteer.Insomecasespeoplewanttovolunteerbecausetheyreceiveatshirt, food,orentryintoaconcert[13].Besidesreceivingperkstherearemanyother reasonswhypeoplearemotivatedtovolunteer,whichwillbecomeapparentin thefollowingsubsection. 2.1.3Whatmotivatessomeonetovolunteer? ClaryandSnyder[6]lookindepthatwhysomeonebecomesavolunteerin therstplaceandwhysomeonewouldcontinuevolunteering.Tounderstand theanswerstothesequestionstheydevelopsixfunctionsormotivesofwhy peoplevolunteer:values,understanding,enhancement,career,social,andprotective.Theyconcludethatifvolunteers'satisfactionoftheirserviceispaired withreceivingfunctionallyrelevantbenetsthevolunteerismuchmorelikely tocontinuevolunteering. ChapmanandMorley[4]investigatevolunteermotivesincollegestudents. Theyusethesixfunctionstoanalyzethedierencesinmotivesineachgender, whethermotiveschangeasafunctionofservice,andtoseeifmotiveswerepredictiveofsatisfaction.Thevaluesmotiveislinkedwithhighsatisfactionamong thecollegestudentsandthesocialmotivewasassociatedwithlowsatisfaction. 7
PAGE 18
Theirndingssuggestthataligningvolunteersexperienceswithmotivesthat interestthestudentswillhaveasignicantimpactontheoverallsatisfactionof thevolunteersandthereforeaecttheirfuturevolunteerinvolvement. Green[14]lookedattherelationshipbetweenaltruisticandnonaltruistic volunteermotivationandhowthetwodieredinfuturevolunteerinvolvement. Shefoundthatinstitutionsshouldencourageselfinterestaswellasaltruismin volunteerrecruitmentbecausethiswillincreasethechancethatthevolunteer willcomeback. 2.1.4Whyisvolunteeringimportantandwhatarethesocial consequences? Volunteershelpmanyorganizationsscallyaswellassocially.Volunteerism encouragesinnovation,eciencyandsocialcohesiveness.Freemanandmany otherauthorsprovideampleevidencethatshowvolunteersplayavitalrolein manyorganizations[7,13,14,18,19].ShinandKleinerdeterminethatmanaging avolunteercorrectlyisveryimportantinretainingthevolunteer[20].Making useofvolunteersandbeingconsciousoftheirtimecommitmentwillleadtoa morepleasurableexperienceforthevolunteerandmorevolunteertimelater[11]. Assigningvolunteerstotaskstheypreferwillincreasetheprobabilitythatthey enjoythemselvesandincreasethechancetheywillvolunteerinthefuture. 2.2AssignmentProblem Theassignmentproblemisoneofthefundamentalbuildingblocksincombinatorialoptimizationandoperationsresearch.Thisthesiscomplieswiththis goalfromamathematicalpointofview,usingthetechniquesandmodelsdiscussedinthefollowingtwosections.Lettherebetwosets I and J .Each 8
PAGE 19
elementof I canbeassignedtoanelementof J atacostorutility C ij .The assignmentproblemistomatchelementsof I and J sothateveryelementis assignedtoatmostoneotherelementfromtheotherset,andthatthesumof thecostsorutilitiesisminimizedormaximized,respectively.Themathematical programmingmodelisgivenby objectivefunction min X i 2 I X j 2 J C ij x ij subjectto X j 2 J x ij 1 8 i 2 I X i 2 I x ij 1 8 j 2 J x ij 0 8 i 2 I;j 2 J where x ij = 8 > < > : 1ifpersoniisassignedtojobj 0otherwise Theobjectivefunctioniswhatweareoptimizing.Therstconstraintguaranteesthateachelementin I isassignedtoatmostoneelementin J .Thesecond constraintisforcingeachelementin J tobeassignedtoatmostoneelementin I Considerableamountofworkdonehasbeendoneontheassignmentproblem overthepast60years[9].Theassignmentproblemispolynomialtimesolvable asalinearprogram,andmoreecientalgorithmshavebeendevelopedusing networkowconcepts[2].AnoverviewofmanyfundamentalnetworkowalgorithmsisgivenbyAhuja,Magnanti,andOrlin[1].Fewpapersarementionedin 9
PAGE 20
thisthesisthataddresstheassignmentproblem[3,9],however,therearemany moreavailable. Manyresearchpapersaredoneinthecontextofassigningtaskstowork stationsinmanufacturingordataprocessingsettings[20].Manytimesitis thoughtthatthepersoncanmovefromworkstationtoworkstation,whichis thesameasassigninglabortomachinesorlabortotasks.Dantzig[9]determinesthetotalnumberofboothhoursrequiredduringaday.Inthispaper, thesimplexmethodisusedtominimizethenumberofmenneededtorunthe requirednumberoftollbooths.Thompson[22]followsDantzig'smethodand pointsoutsomeweaknessessuchasdierentlevelsofcustomerservice,that wereaddressedtondabetteroptimum.Thompsonclaimsthatdierentlevelsofcustomerservicewillaectprots.Bychangingthenumberofemployees workinginaplanningperiodThompsonmadeschedulesthataremoreprotable thanDantzig'smethod.Brieydiscussingafewpapersisimportantbecause highlightingthefactthatresearchershavebeenlookingattheseproblemsand reningtheirapproachestosolvethemformanyyears. Althoughtherearemanypapersonthelaborassignmentproblem,very fewaddresstheideaofvolunteerlabororentertaintheideaoflaboratnocost. Thisisamodiedformofthetraditionalassignmentproblembecausewereplace costswithpreferencesandwemaximizeinsteadofminimizing.Mathematically thereisnotadierence,butthereareinterestingfeaturesthatcomefromlookingattheproblemdierently.Emanuele[11]haspointedoutthatitmightnot bereasonabletoconsidervolunteerlaborasazerocostorcostfreebecauseif volunteerlaborisnotutilizedcorrectlytheremightbeachanceoflessvolunteer 10
PAGE 21
activityinthefuture.Implyingthatanonutilizedvolunteercarriesanegative cost,whichweaddressinourmodelbyintroducingapenaltyforassigningtoo manyvolunteerstoaparticularjob. Althoughmathematicallyequivalentinitsbasicformulation,thevolunteer assignmentproblemisdierentthanthetraditionallaborassignmentproblem inmanyaspects[19]andoftensubjecttoadditionalconstraints.Theobjective functionformanytraditionallaborassignmentproblemsistominimizethecost whilecompletingallofthetasks.Volunteersdonotendureacost,therefore maximizingvolunteer'spreferencesisanalternativetominimizinglaborcosts. Sampson[19]showshowthedierentassumptionsinthevolunteerassignment leadtosignicantlydierentresultsthanthosecomingfromtraditionallabor assumptions.Bothpapers[19,20]ndthatvolunteersthatarenotutilizedatall aremuchlesslikelytovolunteerinthefuture.However,Sampson[19]alsonds thatvolunteersthatareutilizedlessthanwhattheysignupforareaslikelyto volunteerinthefutureasvolunteersthatareassignedexactlywhattheysign upfor.Sampsonalsondsthatvolunteersthatarenotutilizedatallhaveless ofachancevolunteeringthaniftheyareutilizedaportionofwhattheysign upforbecausefuturevolunteerlaborisafunctionofcurrenttaskassignment. Theauthoraddressesthisinchapter4,whenweshowhowvolunteersatisfactioneectsfuturevolunteerinvolvement.Highlightingthefactthatitmight beworthwhiletoinvolvemorevolunteersthantryingtoassigntheminimum numberofvolunteersneeded. GordanandErkut[13]developedanoveldecisionsupporttoolwhichwas usedin2003attheEdmontonFolkFestivaltoassignthevolunteers.Theywere 11
PAGE 22
abletoprovideamasterscheduleandindividualschedulesfortheevent.Makingassignmentsbymaximizingthevolunteersshiftpreferenceswhileobeying asetofconstraints.Eachvolunteerhadtoworkaminimumof20hours,one shiftonThursday,oneshiftonFridayandcouldnotworkmorethan6hours onSaturdayorSunday.Workingwithavolunteercoordinatortheywereable toaccommodatethecoordinator'srequestsaswellasmanyofthevolunteer's requests. 2.3Goal/MultiobjectiveProgramming GoalprogrammingGP,anextensionoflinearprogrammingLP,isa branchofmultiobjectiveoptimizationandmultiplecriteriadecisionmaking thatiswellestablishedintheeldofoperationsresearch.GPdiersfromLP mostnotablybecauseitsabilitytodealwithmultiple,oftenconicting,objectivefunctions.LPdealswithsingleobjectivessuchasmaximizingrevenue, maximizingreturn,minimizingcostorminimizingtraveltime.GPproblemsoftenhaveconictingobjectives;upgradeproductqualityandreduceproduction costs,maximizeprotsandincreasewages,maximizereturnandminimizerisk tonameafew.Eachoftheobjectivesaregivenameasureandeachofthese measuresaregivenatargetorgoalthatisdesiredtobeachieved.Deviations fromthegoalsareusuallypenalizedintheobjectivefunction.Beingableto considerconictingobjectivesallowsmodelerstoworkonalargenumberof appliedproblems. In1955Charnes,CooperandFerguson[5]introducegoalprogramming. Theydiscussexecutivecompensationplansbutnotedthatonecanapplythese methodstomanyotherproblemssuchasproductionscheduling,logistics,and 12
PAGE 23
marketanalysis,tonameonlyafew.However,thetermgoalprogramrst appearsintextin1961byCharnesandCooper[5].Onecansolveemployee schedulingproblemsusingdeterministicorstochasticgoalprograms.Inmost casesthemodelsseektoassignemployeeswhileminimizingthetotaloperating costs.MabertandWatts[17]applyadeterministicgoalprogramtotourshift schedulingproblemssothatemployerscanmakeuseofparttimeemployeesin ordertosavemoney.Theywereabletoidentifyfeasiblestangschedulesthat maximizedproductivityandminimizedcost.EastonandRossin[10]showthat byusingastochasticgoalprogramtheycanintegratelaborrequirementsand schedulingdecisionstomakelesscostlystangdecisionsthanmanydeterministicgoalprograms.Thereasonisthatmanytimesdeterministicgoalprograms violatelaborrequirementsbyassigningaworkertoasingleperiodofwork. Violationsofthelaborrequirementsmaypenalizetheobjectivefunctionwhen solving. Manydierentproceduresexistforestimatingpenaltiesfortargetdeviations ingoalprogramming.LamandChoo[16]lookatusingalineargoalprogram toestimatethecriterionweightsthatinuencethepreferencesofallthealternativespresented.Ifdecisionmakerscanmakepreferencejudgmentsonwhich alternativetheypreferandbyhowmuch,theirmethodhasgreaterpredictive poweronchoosingthebestweights.Theirsimulationexperimentprovesthat goalprogrammingperformedbetterthanordinaryleastsquares.Thefollowing modelcombinesanassignmentmodelwithgoalprogrammingformulationsto allowthesimultaneousconsiderationofbothvolunteerandvolunteerpreferences andrequirementsbythevolunteercoordinator. 13
PAGE 24
3.Model Beforewediscussthemathematicalmodelweexplainwhatthemodeldoes, whatthemodelneedsandhowthedataiscollected.Thisprovidesthenecessary frameworkthatwecanbuildon.Givenaneventorvolunteeropportunitythat oersdierentjobsatdierentlocationsforaspecicnumberofshifts,the modelassignsvolunteerstotasksinconsiderationofpreferences,geographical location,timeavailabilityanddemandrequirementsbyavolunteercoordinator. Themodelmakesanoptimalassignmentofvolunteerstotasksbymaximizing thevolunteerspreferenceswhilesatisfyingasetofrelevantconstraints.Our formulationtakesintoaccountthepreferencesofthevolunteersaswellasthe requestsfromoneormorevolunteercoordinators.Volunteercoordinatorsare requiredtoprovideinformationonthenumberofvolunteersthatneedtobe ateachjobduringeachshift,alongwiththeminimumnumberofshiftseach volunteerisrequiredtowork.Preferencesarecollectedbyaskingvolunteersto lloutasurveytogatherinformationregardingtheiravailabilityandpreferences withrespecttothetypeandnumberofjobstheyarewillingtowork.An exampleforsuchasurveycanbefoundinappendixBfortheproblemdiscussed inChapter5.Weaskthevolunteerhowmuchtheyprefertodoeachjob,not howmuchtheyprefertodoeachshiftwhichisaslightmodicationofwhat theauthorsdidfortheEdmontonFolkFestival[13].Thisallowsustoassign volunteerstowhatjobstheyprefertodoandtheshiftstheyareavailableto work,whichtoourknowledgeisdierentthananymodelspresentedinthe 14
PAGE 25
literature. 3.1MathematicalModel Firstweintroducethesets,parameters,andvariablesthatweuseinthe model,refertotable3.1.UsingromanlettersforthevariablesandGreekletters fortheparametersallowsustodeterminewhateachsymbolisquickly.Theprimarydecisioniswhethertoassignvolunteer i tojob j duringshift k .Therefore, abinarydecisionvariableisdenedby x ijk = 8 > < > : 1ifvolunteeriisassignedtojobjduringshiftk; 0otherwise. Thisproducesa3dimensionalassignmentmatrixthatshowswhatjobandwhat shifteachvolunteerworks,ifany.Thematrix X ijk canbethoughtofasthe masterschedule. Asecondarydecisionvariable y i willbeusedtoturnonconstraintsinthemodel andisdenotedby y i = 8 > < > : 1ifvolunteer i isassignedtoanyjobatall; 0otherwise : Inordertoensurethat y i takesthecorrectvalueweintroducetheconstraint x ijk y i 8 i: Ifavolunteerisnotassignedtoanyshiftatallthenwedonotneedtosatisfy theconstraintsthatpertaintothenumberofshiftstheywanttoworkorare requiredtowork. 15
PAGE 26
Table3.1: Nomenclature Symbol Description Sets/Indicies i 2f 1 ;:::;V g Volunteer j 2f 1 ;:::;J g Job k 2f 1 ;:::;S g Shift t 2f 1 ;:::;T g Year C ConictSet DecisionVariables x ijk Equals1ifweassignvolunteer i tojob j duringshift k ,0otherwise y i Equals1ifvolunteer i isassignedtoanyjobatall,0otherwise Preferences/Penalties ijk Howmuchvolunteer i preferstodojob j duringshift k 1 jk Penaltyforassigninglessvolunteerstojob j duringshift k thanthegoal 2 jk Penaltyforassigningmorevolunteerstojob j duringshift k thanthegoal 3 i Penaltyforassigningvolunteer i lessshiftsthantheirgoal 4 i Penaltyforassigningvolunteer i moreshiftsthantheirgoal 5 i Penaltyforassigningavolunteerlessshiftsthantheyarerequiredtowork Variables G jk Numberofghostvolunteersassignedtojob j duringshift k u + jk Thenumberofvolunteersassignedtojob j duringshift k abovethegoal u )]TJ/F20 5.9776 Tf 0 6.416 Td [(jk Thenumberofvolunteersassignedtojob j duringshift k belowourgoal v + i Thenumberofshiftsassignedtovolunteer i abovetheirgoal v )]TJ/F20 5.9776 Tf 0.286 6.225 Td [(i Thenumberofshiftsassignedtovolunteer i belowtheirgoal w )]TJ/F20 5.9776 Tf 0.214 6.225 Td [(i Thenumberofvolunteersassignedtojob j duringshift k belowtherequirednumber w + i Thenumberofvolunteersassignedtojob j duringshift k abovetherequirednumber Parameters ik Equals1ifvolunteer i isavailabletoworkshift k ,0otherwise ij Equals1ifvolunteer i hastherequiredskillneededforjob j jk Goalforthenumberofvolunteerstobeassignedtojob j duringshift k i Goalforthenumberofshiftsvolunteer i wantstowork i Minimumnumberofshiftsvolunteer i isrequiredtowork + jk Maximumdeviationfromtheassignmentgoalofjob j duringshift k )]TJ/F20 5.9776 Tf 0 6.416 Td [(jk Minimumdeviationfromtheassignmentgoalofjob j duringshift k + i Maximumdeviationfromthenumberofshiftsgoalofvolunteer i )]TJ/F20 5.9776 Tf 0.521 6.225 Td [(i Minimumdeviationfromthenumberofshiftsgoalofvolunteer i 16
PAGE 27
Toobtainresultsthatarereasonablewehavetoconstrainourvariablesusing theinformationobtainedfromthevolunteersandthevolunteercoordinators. Weassumethateachvolunteercanbeassignedtoatmostonejobpershift,if theyareavailable X j x ijk ik 8 i;k: Wedenetheparameter ik =1ifvolunteer i isavailabletoworkduringshift k .Thisconstraintwillmakesurethatwedonotassignavolunteertoajobif theyarenotavailableandwewillnotassignavolunteertomorethanonejob pershift. Thevolunteermayberequiredtoliftacertainnumberofpounds,haveadriver licenseorbeprocientwithaparticularkindofsoftware.Thesearejustafew ofthepossiblerequirementsthatmayneedtobeaddressed;thereareobviously manyothersthatmaybeeventspecic.Inorderforavolunteertobeassigned aparticularjobtheyneedtohavetherequiredskilltoworkthejobifanyis requiredatall x ijk ij 8 i;j;k: Wedenetheparameter ij =1ifvolunteer i hastherequiredskillneededto workjob j Thevolunteercoordinatorprovidesuswithappropriatevaluesfortheminimum, maximum,andidealnumberofvolunteersneededtoworkeachjobduringeach oftheshifts.Thesevalueswillberepresentedby min jk max jk ,and jk respectively. Wecalculatetheminimumandmaximumdeviationsfromthetargetnumberof 17
PAGE 28
volunteersworkingjob j duringshift k asfollows )]TJ/F19 7.9701 Tf 0 8.277 Td [(jk = jk )]TJ/F18 11.9552 Tf 11.955 0 Td [( min jk ; + jk = max jk )]TJ/F18 11.9552 Tf 11.955 0 Td [( jk : Thevariables u )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk and u + jk arethenumberofvolunteersassignedbelowand abovethegoal,respectively.Theywillbeboundedbelowby0andabovebythe minimumandmaximumdeviationfromthevolunteerassignmentgoal 0 u + jk + jk ; 0 u )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk : Theconstraintforassigningthetargetnumberofvolunteers jk neededtowork eachjob j andshift k is X i x ijk + u )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk )]TJ/F18 11.9552 Tf 11.955 0 Td [(u + jk = jk 8 j;k: Thevolunteercoordinatoralsogivesustheminimumnumberofshiftsthat volunteer i isrequiredtowork,denotedby i .Inordertoensurethatwedo notassignavolunteerlessshiftsthantheyarerequiredweneedtheconstraint X j X k x ijk + w )]TJ/F19 7.9701 Tf 0.321 8.012 Td [(i )]TJ/F18 11.9552 Tf 11.955 0 Td [(w + i = y i i 8 i: Wecanthinkof w )]TJ/F19 7.9701 Tf 0.321 8.012 Td [(i and w + i asnonnegativeslackandsurplusvariables.If w + i ispositiveforany i thatmeansthatweassignedavolunteerlessshiftsthenthey arerequiredtoworkandtheobjectivefunctionwillbepenalized. Theconstraintforvolunteer i isactivatedifandonlyifvolunteer i isassigned toanyjobatall. 18
PAGE 29
Eachvolunteerisrequiredtoprovideuswiththeminimum,maximum,andideal numberofshiftstheywanttowork.Thesevalueswillberepresentedby min i max i ,and i respectively.Similarlyasabovetheserequestswillbeusedinour model.Wecalculatetheminimumandmaximumdeviationsfromthetarget numberofshiftsvolunteer i iswillingtoworkasfollows: )]TJ/F19 7.9701 Tf 0.754 8.011 Td [(i = i )]TJ/F18 11.9552 Tf 11.955 0 Td [( min i ; + i = max i )]TJ/F18 11.9552 Tf 11.955 0 Td [( i : Thevariables v + i and v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i representthenumberofshiftsaboveandbelowtheir goal,respectively.Theyareboundedbelowby0andabovebytheminimum andmaximumdeviationfromthevolunteershiftgoal 0 v + i + i ; 0 v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i )]TJ/F19 7.9701 Tf 0.754 8.012 Td [(i : Theconstraintforassigningavolunteerthenumberofshiftstheywanttowork is: X j X k x ijk + v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i )]TJ/F18 11.9552 Tf 11.955 0 Td [(v + i = y i i 8 i: Ifanyvolunteersarenotassignedanyjobatallwedonothavetosatisfytheir shiftconstraintsbecause y i =0andtherefore v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i = v + i =0.Thevariables v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i = v + i =0becausetheyhavetobeequalinthissituationandifweallowed eitheronetobegreaterthanzeroourobjectivewillbepenalized,thusthemodel forcesthemtobeequaltozero. Sometimestherewillbejobsthatcannotbeworkedconsecutivelybecauseof anumberofdierentreasons.Twocommonconictsmaybeiftwojobsare 19
PAGE 30
locatedtoofarapartorifavolunteercoordinatordoesnotwantavolunteerto worktoomanyshiftsinoneday.Wedenetheconictsetas C= f j j ':job j 'cannotbeassignedtothesamevolunteerintheshiftthat followsjob j g Themodelcapturesaconictsetbyputtingaconstraintinourmodelthat willnotallowassigningvolunteersifthereisaconict.Theobjectivefunctioncombinesseveralcomponentsthatarediscussedindetailinthefollowing paragraphs.Therstterm X i X j X k x ijk p ijk ; representsthesumofthevolunteerpreferencesandisconsideredthetotalpreferencesofallofthevolunteers. Thesecondterm X j X k 1 jk u )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk ; penalizestheobjectiveifweassignlessvolunteerstoaparticularjobthanthe speciedgoal.Thenumberofvolunteersweareshortofthegoalforeachjob j duringshift k isdenotedby u )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk .Itisimportanttonotethatthepenaltycan bedierentforthesamejoboccurringatdierentshiftsbecausetheremaybe timeswhenassigningmoreorlessissuitable.Forexampletrashpickupinthe beginningormiddleofthedaymightbedierentthantrashcleanupatthe endoftheday.Therearejobsthataremorecriticalthanothersandassigning appropriatepenaltiesallowsustoassignsomejobswithahigherpriority. Thethirdterm X j X k 2 jk u + jk ; 20
PAGE 31
correspondstoassigningmorevolunteersthandesiredtojob j duringshift k Wepenalizetheobjectivefunctiondierentlyforsomejobsbecausehavingmore volunteersatsomejobsmaynotbeasimportantasotherjobs.Thenumberof volunteersthatweassignabovethetargetspeciedforeachjob j andshift k is expressedby u + jk Thefourthtermaddressestheshortageofassignmentsofvolunteer i ,using X i 3 i v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i ; intheobjectivepenalizesifweassignavolunteertolessshiftsthantheirgoal. Theshortageofshiftsvolunteer i isassigned,comparedtotheirtargetnumberis denotedby v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i .Sampson[19]foundthatvolunteersthatwereassignedlesswork thantheysignedupforwerejustassatisedasthepeoplewhowereassigned thenumbertheysignedupfor,therewasnotanegativeaectontheirfuture volunteerinvolvement.Thereforethepenaltyforassigningavolunteerlessshifts thantheysignedupformaybesmall. Thefthterm X i 4 i v + i ; representsthepenaltyifweassignavolunteertomoreshiftsthanhisorhergoal. Thenumberofshiftsthatvolunteer i isassignedabovetheirgoalisdenotedby v + i .Thepenalty 4 i mightbeconstantbecauseassigningsomeonemoreshifts thantheirgoalmayhavethesamenegativeimpactnomatterwhotheperson is.Thispenaltymightbelargergiventhatifoneasksavolunteertoworkmore thantheydesirethevolunteercoordinatorrunstheriskofthemnotcomingat allorfeelingtakenadvantageofandonceagainnegativelyaectingtheirfuture 21
PAGE 32
volunteering[19]. Thelastterm X i 5 i w )]TJ/F19 7.9701 Tf 0.322 8.012 Td [(i ; penalizestheobjectiveifwemustassignvolunteerstolessshiftsthanthevolunteercoordinatorrequiresthemtowork.Werepresentthenumberofshifts volunteer i isassignedlessthantherequirednumberby w )]TJ/F19 7.9701 Tf 0.322 8.012 Td [(i .Thepenaltyon thistermdependsonhowmuchthevolunteercoordinatorwantstoenforcethis rule. Themodelwillmaximizetheobjectivefunction.Thisimpliesthatwearemakingassignmentsinsuchawaythatmaximizesourvolunteerpreferences,which iscapturedbytherstterm.Theremainingtermsintheobjectivefunction aresubtractedfromthersttermbecausetheycaptureviolationsoftherequestsofvolunteersandvolunteercoordinators.Ifthemodelviolatesanyof thetargetsspeciedbyavolunteerorvolunteercoordinatoroneormoreofthe variables u )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk u + jk v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i v + i ,and w )]TJ/F19 7.9701 Tf 0.322 8.012 Td [(i willhaveavaluegreaterthan0.Sincethese variablespenalizetheobjectivethemodelseekstominimizethem.However,if avolunteer'spreferencetoworkajobishigherthanthepenaltyforassigning thevolunteer,themodelwillmaketheassignmentbecauseitwillincreaseour objective. Nowthatthecomponentsofthemodelhavebeendiscussedindetailwepresent thegoalprogrammingmodel,refertogure3.1. 22
PAGE 33
3.2TwoPhaseApproach Themodeldiscussedabovecannotmakeanassignmentifthemodelisnot feasible.Ifwedonothaveenoughqualiedvolunteersavailabletoworkallof thetasks,thenthemodelabovewillnotbeabletomakeanassignment.Inorder totestfeasibilitywedevelopatwophaseapproachtothevolunteerassignment problem,becauseitislikelythatinmanysituationsvolunteercoordinatorswill nothavetherequirednumberofskilledvolunteerstocompleteallofthetasks. Ifthereisnotenoughvolunteerstocompleteallofthetasksitwillbehelpful toprovidethevolunteercoordinatorswithwhatjobsandwhatshiftstheyneed morevolunteers.Solvingtherstphaseofourmodelwilltelluswhatvolunteer shortageswehaveifwehaveanyatall.Beforeoneknowsiftheproblemis feasible,therstphasemodelwillhavetobesolvedwithanobjectivefunction valueofzero.Whenthathappenswecansolvethesecondphasemodelbecause thereisenoughvolunteerstoworkallofthetasks.Weneedtointroducethe newvariables G jk =numberofghostvolunteersassignedtojob j duringshift k whicharereferredtoastheghostvariables. G jk equalsthenumberofvolunteers shortoftherequirednumberneededtoworkjob j duringshift k .Thefourth constraintinthemodelaboveischangedto X i x ijk + G jk )]TJ/F18 11.9552 Tf 11.955 0 Td [(u )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk )]TJ/F18 11.9552 Tf 11.955 0 Td [(u + jk = jk 8 j;k: 23
PAGE 34
Theobjectivefunctionischangedto min X j X k G jk : Wewanttominimizethenumberofghostvolunteersthatareassigned.Ifthe revisedmodelsolveswithanobjectivefunctionvalueofzero,thatmeansthe modelisfeasibleandcanbesolvedusingtheoriginalmodel.Iftheobjective functionvalueisnotzerothevolunteercoordinatorneedstorecruitmorevolunteers,relaxsomeoftheconstraints,orchangesomeoftheparameters.Thisis veryvaluabletovolunteercoordinatorsbecauseifthereisnotenoughvolunteers theywillknowpreciselywhatjobsandshiftswheretheshortagesoccur. Thisphaseofthemodelsolvesevenifthevolunteercoordinatordoesnothave therequirednumberofvolunteersandthemodelshowsthemwhatparticular jobsandshiftstheyneedmorevolunteersfor.Thisisusefulinformationtoprovidethevolunteercoordinatorwith.Toourknowledgethisapproachhasnot beenusedinanypreviousvolunteerassignmentmodelandisrstproposedin thisthesis. 24
PAGE 35
Figure3.1: Phase2Model objectivefunction: max X ijk x ijk ijk )]TJ/F24 11.9552 Tf 11.291 11.358 Td [(X jk 1 jk u )]TJ/F19 7.9701 Tf 0 8.277 Td [(jk )]TJ/F24 11.9552 Tf 11.956 11.358 Td [(X jk 2 jk u + jk )]TJ/F24 11.9552 Tf 11.955 11.358 Td [(X i 3 i v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i )]TJ/F24 11.9552 Tf 11.955 11.358 Td [(X i 4 i v + i )]TJ/F24 11.9552 Tf 11.955 11.358 Td [(X i 5 i w )]TJ/F19 7.9701 Tf 0.322 8.012 Td [(i subjectto: X j x ijk ik 8 i;k x ijk ij 8 i;j;k x ijk y i 8 j;k X i x ijk + u )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk )]TJ/F18 11.9552 Tf 11.955 0 Td [(u + jk = jk 8 j;k X jk x ijk + v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i )]TJ/F18 11.9552 Tf 11.956 0 Td [(v + i = y i i 8 i X jk x ijk + w )]TJ/F19 7.9701 Tf 0.322 8.012 Td [(i )]TJ/F18 11.9552 Tf 11.955 0 Td [(w + i = y i i 8 i 0 u + jk + jk 8 j;k 0 u )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk 8 j;k 0 v + i + i 8 i 0 v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i )]TJ/F19 7.9701 Tf 0.755 8.012 Td [(i 8 i w )]TJ/F19 7.9701 Tf 0.322 8.012 Td [(i ;w )]TJ/F19 7.9701 Tf 0.322 8.012 Td [(i 0 8 i;j;k where x ijk = 8 > < > : 1ifweassignvolunteer i tojob j duringshift k 0otherwise y i = 8 > < > : 1ifvolunteer i isassignedtoanyjobatall 0otherwise 25
PAGE 36
4.Simulation Thereareamanydierentwaysonecangowiththismodel.Onepossible avenueofresearchistolookatthevolunteerassignmentproblemovermany yearswherethevolunteerpoolisaresultofhowsatisedthevolunteerswere thepreviousyear.Asimulationallowsustovalidatethatthemodelincreases volunteersatisfactionimprovingtheeventandincreasesthechanceofavolunteercomingback.Thesimulationalsoallowsustondappropriatepenalties andparametersinthemodelandjustifyourobjectivefunction.Thisisthetopic ofthischapter. Wemodiedthepreviousmodeltoaonephasemodelinordertosimulate multipleyearswithouthavingtheprogrambreakdown.Ifthevolunteercoordinatordoesnothaveenoughvolunteerstosatisfyalloftheconstraints,the previousmodelwillsolveusingghostvolunteers.Inordertosolvewithoutusing ghostvolunteersweconstructathirdgoalprogramthatwillallowustomake assignmentswithouthavingtherequirednumberofvolunteers. 4.1MotivationandDescription Thenewmodelweconstructwillassignvolunteersinsuchawaythatmaximizestheirpreferencessubjecttoasetofconstraintsgivenanynumberofvolunteerssigningup.Webuiltasimulationmodelthatallowsonetoobservehowthe numberofvolunteerschangeovertimeandtogaininsighttomakesuggestions tovolunteercoordinatorsthathelpthemassignvolunteersmorestrategically. Strategicallymeansassigningvolunteersmorefairly,ecientlyandinlesstime. 26
PAGE 37
Sincethemodelmakestheassignmentslookingathowtheseassignmentseect thevolunteer'sfutureinvolvementisimportant. Weassumethatifvolunteercoordinatorsassignvolunteerstojobstheyprefer todothevolunteersaremorelikelytocomebackandvolunteerthefollowing yearthaniftheyweregivenajobtheydidnotwanttodo.Wealsoassume thatifvolunteersaresatisedthenthereisachancethattheymayinvitea friendtovolunteerwiththemthefollowingyear.Ourlastassumptionisthat ifavolunteerisnotassignedanyjobsinthecurrentyearthereisstillachance thattheywillreturnthefollowingyear. Nextwediscussthenewparametersandpenaltiesthateectthevolunteerassignmentsandthevolunteerpoolovertime.Thereturnrateofanonassigned volunteerisrepresentedby ,thereturnrateofanassignedvolunteerisdenoted by ,andtherateatwhichavolunteerinvitessomeoneis .Sincetheseparametersareunknown,ingeneral,wewanttoillustratewhatimpacttheyhaveon theresultsofourmodeltohelpshowvolunteercoordinatorstheimportanceof assigningvolunteer'saccordingtotheirpreferences.Thepenaltiesdirectlyeect thenumberofpeoplethatareassignedeachyearbecausetheyeectwhetherwe assignavolunteertomoreshiftsthantheysignedupfororifthemodelallows toassignmoreorlessvolunteerstoaparticularjob.Thenumberofvolunteers thatvolunteerthefollowingyeardependsonthenumberofvolunteersbeingassignedbecausethemorevolunteersthatareassignedincreasesthechancethat morevolunteersreturnandareinvitedthefollowingyear. Nowweintroduce n it ,whichrepresentsthenumberofshiftsvolunteer i isassignedduringyear t .Determiningavolunteer'ssatisfactionaccuratelyisvery 27
PAGE 38
hardtoprovideametricfor.Wequantifyavolunteer'ssatisfactionintermsof theassignmentstheyweregivenbecausewethinkitmakessense: s it = 8 > < > : P i x ijk p ijk n it max p ijk if n it > 0 0if n it =0 : Thisratiohelpsdeterminethevolunteerpoolforoursimulationbecauseitis usedtodeterminetheratethatavolunteerreturnsnextyearandtheratethat thevolunteerinvitessomeoneelsetoparticipate.Notethatwhenavolunteeris notassignedajob,volunteersatisfactionisdenedtobe0. Theratethatavolunteerreturnsthefollowingyearisdenedby R it = 8 > < > : if s it =0 s it if s it > 0 : Althoughitseemsreasonabletoassumethatthemoresatisedvolunteersare withtheirjobthemorelikelytheyaretocontinuevolunteeringandinvitesomeoneelsetoparticipate,weunderstandthatvolunteers'satisfactionlevelsarenot theonlyfactorthatdeterminestheirfuturevolunteerinvolvement. Theratethatavolunteerinvitessomeoneelsetovolunteerisgivenby I it = s it : Notethatifavolunteerwasnotassignedajobduringyear t ,theratethatthe volunteerwillinvitesomeoneis0.Thisisnottrueallthetime,butseemsavalid assumption,ingeneral,becauseifonedidnothavethevolunteerexperiencethey maynotbeaseagertoconvinceorinvitesomeoneelsetopartake.Themodel assumesthat ,basedontheassumptionthatavolunteerismorelikelyto 28
PAGE 39
volunteerthemselfthaninvitesomeoneelsetovolunteer. Thevolunteerpoolforthefollowingyearisaresultofhowsatisedthevolunteers werethepreviousyear,newvolunteerssigningupandvolunteersnotcoming back.Thereareanumberofreasonswhyapersonmightvolunteerfortherst time,refertosection2.1.2,howeverpeoplemayhaveheardoftheopportunityon marketingcollateral,awebsite,throughthegrapevine,ormanyothersources. Therearealsoanumberofreasonswhyapersonwillnotvolunteerinthefuture; peoplemayhavemovedoutofthearea,died,orjustdonotwanttovolunteer again.Therewillbepeoplethatvolunteerordonotvolunteerforaparticular reasonwhichhasnothingtodowiththevolunteerassignments,howeverwedo notconsidertheminoursimulationandmayassumeforsimplicitythatthe eectscanceleachotherout. Thevolunteerpoolforyear t isrepresentedby VP t = X i R it + X i I it : Thenewvolunteerpoolisusedasinputdataintothemodelforthefollowing year.Beforethemodelmakesanassignmentthefollowingyearwehavetorandomlygeneratenewdataforthenewvolunteers.Thedataconsistsofpreference levelsforthejobs,maximumnumberofshiftstheyarewillingtoworkandtheir availability.Thenweusethegoalprogrammingassignmentmodelpresentedin thischaptertoassignthenewvolunteerpool,calculatethesatisfactionlevelsof thenewvolunteers,andcontinuethisprocessforthedesirednumberofyears. 4.2SimulationModel Beforewediscussthemodelthenewparametersandpenaltiesarepresented; refertotable4.1.Nextweintroducethesimulationmodel,refertogure4.1. 29
PAGE 40
Table4.1: SimulationNomenclature Symbol Description Sets/Indicies i 2f 1 ;:::;V g Volunteer j 2f 1 ;:::;J g Job k 2f 1 ;:::;S g Shift t 2f 1 ;:::;T g Year C ConictSet DecisionVariable x ijk Equals1ifweassignvolunteer i tojob j duringshift k ,0otherwise Preferences/Penalties ijk Howmuchvolunteer i preferstodojob j duringshift k 6 i Penaltyforassigninglessthanminimumnumberofvolunteersneeded 7 i Penaltyforassigningmorethanmaximumnumberofvolunteersneeded 8 i Penaltyforassigningavolunteermoreshiftsthanmaximumnumberindicated Variables s it Satisfactionpercentageofvolunteer i duringyear t n it Numberofshiftsvolunteer i isassignedduringyear t a + jk Numberofvolunteersabovetheminimumneeded a )]TJ/F20 5.9776 Tf 0 6.416 Td [(jk Numberofvolunteersbelowtheminimumneeded b + jk Numberofvolunteersabovethemaximumneeded b + jk Numberofvolunteersbelowthemaximumneeded c + jk Numberofshiftsabovethemaximumdeterminedbyvolunteer i c )]TJ/F20 5.9776 Tf 0 6.415 Td [(jk Numberofshiftsbelowthemaximumdeterminedbyvolunteer i Parameters ik Equals1ifvolunteer i isavailabletoworkshift k ,0otherwise jk Minimumnumberofvolunteersneededtoworkjob j duringshift k jk Maximumnumberofvolunteersneededtoworkjob j duringshift k i Maximumnumberofshiftsvolunteer i iswillingtowork R it Ratethatvolunteer i willcomebackinyear t I it Ratethatvolunteer i willinvitesomeoneforyear t Returnrateofnonassignedvolunteer Returnrateofassignedvolunteer Ratethatvolunteerinvitessomeoneelse VP t Volunteerpoolduringyear t 30
PAGE 41
ThemaindierencescomparedtothepreviousmodelarethatalloftheconFigure4.1: SimulationModel objectivefunction: max X ijk x ijk ijk )]TJ/F24 11.9552 Tf 11.291 11.357 Td [(X jk 5 jk a )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk )]TJ/F24 11.9552 Tf 11.955 11.357 Td [(X jk 6 jk b + jk )]TJ/F24 11.9552 Tf 11.955 11.357 Td [(X i 8 i c )]TJ/F19 7.9701 Tf 0 8.012 Td [(i subjectto: X j x ijk ik 8 i;k X i x ijk + a )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk )]TJ/F18 11.9552 Tf 11.955 0 Td [(a + jk = jk 8 j;k X jk x ijk + b )]TJ/F19 7.9701 Tf 0 8.277 Td [(jk )]TJ/F18 11.9552 Tf 11.956 0 Td [(b + jk = jk 8 i X jk x ijk + c )]TJ/F19 7.9701 Tf 0 8.012 Td [(i )]TJ/F18 11.9552 Tf 11.955 0 Td [(c + i = i 8 i a )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk ;a + jk ;b )]TJ/F19 7.9701 Tf 0 8.278 Td [(jk ;b + jk ;c )]TJ/F19 7.9701 Tf 0 8.012 Td [(i ;c + i 0 8 i;j;k where x ijk = 8 > < > : 1ifweassignvolunteer i tojob j duringshift k 0otherwise : straintsareconsideredgoals,whichwecanviolate.Theobjectivefunctionis penalizedifthemodelviolatesthegoalortarget.Thisallowsonetomakean assignmentevenifthereisnottherequirednumberofvolunteersneeded.We wanttomakeanassignmentwithoutintroducingghostvolunteers,sowemodiedthemodel. 31
PAGE 42
4.3Scenarios Lookingatafewspecicexampleshighlightssomeofthecharacteristicsof themodelandhelpsshowhowthepenaltiesandrateseecttheaveragenumber ofvolunteersandthetotalpreferences.Startingwithabasecasethatwesimulatefor30years;refertotable4.2.Thenwechangeonepenaltyorparameter atatimetoseehowthechangeeectsthemodel.Wecanseethatinthebase Table4.2: Simulation:BaseCase5 jk =6 ; 7 jk =6 ; 8 jk =6 ; = : 25 ; = : 90 ; = : 50 ProblemID #ofJobs Start#ofVol. Avg.#ofVol. TotalPref. Avg.Sat.ofVol. 1 5 5 8.20 23.27 2.84 2 5 10 8.01 23.43 2.91 3 5 15 8.03 23.93 2.97 4 5 20 7.77 23.77 3.06 5 10 5 15.07 47.50 3.15 6 10 10 15.23 48.73 3.19 7 10 15 15.43 48.83 3.16 8 12 5 17.77 56.57 3.18 9 12 10 19.93 59.63 3.03 10 12 15 17.60 59.20 3.36 case,theaveragenumberofvolunteersisslightlyhigherthanthenumberof jobs.Thisoccursbecausewesuccessfullyassignvolunteerstotheexactnumber ofjobsandthereforevolunteersmightnotonlyreturnthemselvesbuttheymay invitesomeoneaswell.Bysettingallofthepenaltiessucientlylargewedonot encourageassigningmorethanthemaximumnumberorlessthantheminimum numberofvolunteersneededandwedonotassignavolunteertomoreshifts thantheysignedupfor.Welearnedthatasthenumberofvolunteersincreases theaveragesatisfactionofthevolunteersusuallydecreases.Weplotthevolun32
PAGE 43
teerpoolovertimeandtheaveragesatisfactionofvolunteersforproblemID1 andID10inthebasecase,refertogure4.2. Ifweincrease = : 50thatmeansifyouwerenotassignedajobthenyou Figure4.2: SimulationPlot 33
PAGE 44
havea50%chanceofvolunteeringagain.Theaveragenumberofvolunteers increasesslightlybecausemorevolunteerscomebackeachyear;refertotable 4.3.Whenweincreasethereturnrateofavolunteerthatdidnotgetassigned, Table4.3: Simulation: = : 50 ProblemID #ofJobs Start#ofVol. Avg.#ofVol. TotalPref. Avg.Sat.ofVol. 1 5 5 10.20 23.30 2.28 2 5 10 8.93 23.67 2.66 3 5 15 10.97 24.23 2.20 4 5 20 10.40 23.87 2.30 5 10 5 19.90 47.60 2.39 6 10 10 22.50 48.80 2.16 7 10 15 21.93 49.10 2.23 thentheaveragenumberofvolunteersincreases,totalpreferencesandaverage satisfactionstaysapproximatelythesame. Nextobservewhathappenstothevolunteerpoolwhenwechange and theratesthatvolunteersreturnandinvitesomeonerespectively.Theresults for = : 7aregivenintable4.4.Wecanobservethattheaveragenumberof volunteersismuchsmallerforallcaseswhichisbecausewereducedtherate thatvolunteerswouldcomeback.Oneinterpretationof = : 9isthathemore satisedthevolunteeristhemorelikelytheywillreturn.Byreducingtherate to : 70werelaxthedependenceofourassignmentsontherateatwhichthe volunteerscomeback,resultinginaloweraveragenumberofvolunteers.The totalpreferencesisslightlyloweraswellbecauselessvolunteersareavailableto beassignedtojobs. 34
PAGE 45
Table4.4: Simulation: = : 70 ProblemID #ofJobs Start#ofVol. Avg.#ofVol. TotalPref. Avg.Sat.ofVol. 1 5 5 4.43 14.70 3.32 2 5 10 5.13 17.70 3.45 3 5 15 4.50 15.40 3.42 4 5 20 5.60 19.10 3.41 5 10 5 9.33 38.33 4.40 6 10 10 10.80 40.73 3.96 7 10 15 11.57 45.23 3.91 8 12 5 13.57 52.53 3.87 9 12 10 14.97 55.13 3.68 10 12 15 15.97 57.93 3.63 Resultsofchanging = : 25aregivenintable4.5.Sincewereduced to : 25 thereissmallerchancethatvolunteerswillinvitesomeone,whichiswhydeterminetheaveragenumberofvolunteersdecreases.Wethinkthattheaverage satisfactionincreasesslightlybecausetherearenotasmanynewvolunteersto assignsotheaveragesatisfactionisslightlyhigherthanthebasecase. Ifwechangethepenaltyforassigningmorevolunteersthanthemaximumnumberneededtoavaluelessthanthemaximumpreference 7 jk < max ijk ; thentheaveragenumberofvolunteersandthetotalpreferencesincreasesin almosteverycase.Theaveragesatisfactionstaysaboutthesame,asshownin table4.6.Westoppedthesimulationafterhalfthetimeduetotheapparent explosioninthenumberofvolunteers,causedbyallowingthemodeltoassign volunteersthathaveajobpreferencelargerthanthepenaltyforassigningthe 35
PAGE 46
Table4.5: Simulation: = : 25 ProblemID #ofJobs Start#ofVol. Avg.#ofVol. TotalPref. Avg.Sat.ofVol. 1 5 5 3.60 15.03 4.17 2 5 10 5.83 22.67 3.89 3 5 15 4.60 16.57 3.60 4 5 20 6.13 22.17 3.61 5 10 5 10.30 43.57 4.23 6 10 10 9.93 41.67 4.19 7 10 15 11.43 47.57 4.16 8 12 5 12.93 51.73 4.00 9 12 10 13.97 57.03 4.08 10 12 15 13.47 56.87 4.22 maximumnumberofvolunteersneeded.Ifwechangethepenaltyforassigning Table4.6: Simulation: 7 jk = 4 : 5 ProblemID #ofJobs Start#ofVol. Avg.#ofVol. TotalPref. Avg.Sat.ofVol. 1 5 5 10.33 33.40 3.14 2 5 10 14.80 50.20 3.39 3 5 15 9.33 29.53 3.16 4 5 20 23.20 78.86 3.40 lessvolunteersthantheminimumnumberneededitwillnoteectthenumber ofpeoplebeingassignedbecauseassigningavolunteerincreasestheobjective functionsoassigninglessthantheminimumneededwillnothappen.Therefore wedonotneedtolookatchanging 6 jk .Ifwechangethepenaltyforassigninga volunteermoreshiftsthantheysignedupfortoavaluelessthanthemaximum 36
PAGE 47
preference 8 jk < max ijk ; weallowassigningavolunteertomoreshiftsthantheysignedupfor.Wedo notrecommendallowingthistooccurbecauseitincreasesthechancethatthe volunteerhasapositivevolunteerexperience.Wedonotshowresultsonthis penaltybecausethestudentversionof AMPL reachesitsmaximumnumberof variablesveryquickly. 4.3.1SimulationInsight Onecanrunthesimulationwithinnitelymanydierentpenalties,return ratesandinvitationratesofthevolunteers;wehighlightedaviewinstancesin thischaptersothatonecanseehowtheparametersandpenaltieseectthe numberofpeoplevolunteeringeachyear.Wesimulatedseveralrepresentative scenariostohighlighthowchangingthepenaltiesorparametersthemodelmakes dierentassignments.Tolearnmoreabouttheeectsofpenaltiesandrates asensitivityanalysiscouldbeappliedtothesimulationandlargerproblems wouldneedtobeinvestigated.Thisisagoodstartingpointforresearchers tocontinuethispreliminaryinvestigationofthepotentialimpactofvolunteer assignmentsandhowtheyeectfuturevolunteerinvolvement.Understanding theeectthatassignmentshaveonavolunteerreturningorinvitingsomeone iswhyweconductthisinvestigation.Sincethemodelmakestheassignments investigatingtheimpactoftheseassignmentsisaninterestingextensionofthe volunteerassignmentproblem. 37
PAGE 48
5.ApplicationtoDenverBikeSharing DenverwillbetherstU.S.citytohaveabikesharingprogramaslarge asotherprogramsaroundtheworld.Kiosksarelocatedthroughoutthecity whichallowsapersontorideabikeanddropitoatdierentlocations.The visionofDenverBikeSharingistochangehowpeoplegetaroundinDenver. Theprogrampromotesahealthierlifestyleandanalternativewayofgetting aroundthecity. TheDenverBikeSharingvolunteerassignmentproblemconsistedofassigning volunteersforthreedierentshiftsto35kiosksthatwerelocatedin7geographicalareasthroughoutDenverforthreedays.OnApril22,2010,DenverBCycle launchedDenverBikeSharing. WehelpedsolvetheDenverBikeSharingvolunteerassignmentproblembyapplyingourmodel.Wecollectedinformationfromthevolunteersandworked verycloselywiththevolunteercoordinatorPiepVanHeuven.Participantswere requiredtolloutavolunteersurvey;toprovideinformationonwhatshifts theywereavailable,howmuchtheyprefertoworkateachofthelocations,and thenumberofshiftstheyarewillingtowork.Thevolunteercoordinatorwas askedhowmanykiosksneededvolunteers,howmanyvolunteerswereneeded ateachkiosk,andwhatdayswereweassigningvolunteersfor.Thevolunteer coordinatordeterminedthatavolunteercanworkoneshift,howeverwitha preferencethattheyworkatleasttwoshifts.Thisinformationwasusedto formulatethegoalprogrammingmodelwecreated.However,afterthemodel 38
PAGE 49
outputtheassignmentsthevolunteercoordinatorrealizedthatsomepeoplehad alargenumberofshiftsandshewantedtospreadthejobsmoreevenly.This wasaccomplishedbyaddinganadditionalconstrainttoourmodelthatdidnot allowavolunteertobeassignedmorethan4shifts. Adescriptionofthesets,variables,andparametersusedinthemodelisgiven intable3.1. DecisionVariables Decisionvariables x ijk and y i aredescribedinsection3.1. Constraints Avolunteercanonlybeassignedtoatmostonekioskduringeachshiftifthey areavailable,becauseweassumeapersoncannotbeattwodierentkiosksat thesametime: X j x ijk ik 8 i;k: Volunteersthatareassignedtotherstshiftneedtobeabletorideabike becausethevolunteerswereridingbikesintheparadethatlaunchedDenver BikeSharing: x ij 1 ij 8 i;j where ij = 8 > < > : 1ifvolunteer i canrideabike; 0otherwise : Themodelneededtoassigntherequirednumberofvolunteerstoeachkiosk duringeachshift: X i x ijk = jk 8 j;k: 39
PAGE 50
Assigningvolunteer i theidealnumberofshifts,ifanyatall: X jk x ijk + v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i )]TJ/F18 11.9552 Tf 11.955 0 Td [(v + i = y i i 8 i: Assigneachvolunteertheminimumnumberofshiftsrequiredtowork: X jk x ijk + w )]TJ/F19 7.9701 Tf 0.322 8.012 Td [(i )]TJ/F18 11.9552 Tf 11.955 0 Td [(w + i =2 y i 8 i: Donotallowavolunteertobeassignedtomorethan4shifts: X jk x ijk 4 8 i: Avolunteercannotworkaconsecutiveshiftataconictingarea,wherewe deneaconicttobekiosksthatarelocatedatdierentlocationslocatedtoo farapart: x ijk + x ij 0 k +1 1 8 i;k; j;j 0 2 C: Avolunteercannotwork3consecutiveshifts: X j x ijk + X j x ijk +1 + X j x ijk +2 2 8 i;k =1 ;:::;S )]TJ/F15 11.9552 Tf 11.955 0 Td [(2 : ObjectiveFunction Theobjectivewastomakeanassignmentinsuchawaythatmaximizedthe preferencesofthevolunteerswhilesatisfyingalloftheneedsofthevolunteer coordinator.Theobjectivefunctionwaspenalizedifthemodeldidnotassign thevolunteerstheiridealnumberofshiftsrequested.Wechoosetouseapenalty of10forassigningavolunteermoreorlessshiftsthantheysignedupforbecause wewantedtochooseanumberlargerthanthemaximumpreferenceindicated 40
PAGE 51
toencouragethemodeltoassignthevolunteerstheiridealnumberofshifts.We couldhavechosenanypositivenumber,howeverwechooseappropriatepenalties togetanassignmentthatthevolunteercoordinatorapproved.Wepenalizedthe objectivefunctionifweassignedavolunteeronlyonejobandnotatleasttwo. Wemadethepenaltylargerforassigningavolunteerlessthantwojobsbecause thevolunteercoordinatordeterminedthatitwasmoreimportantthanassigning avolunteeradierentnumberofshiftsthantheiridealnumber.Mathematically,thebojectivefunctionis: max X ijk x ijk ijk )]TJ/F15 11.9552 Tf 11.955 0 Td [(10 X i v )]TJ/F19 7.9701 Tf 0.429 8.012 Td [(i )]TJ/F15 11.9552 Tf 11.955 0 Td [(10 X i v + i )]TJ/F15 11.9552 Tf 11.955 0 Td [(20 X i w )]TJ/F19 7.9701 Tf 0.322 8.012 Td [(i : DenverBikeSharingwasabletousetheassignmentsthatourmodelmade. Piepwasveryimpressedwiththenalscheduleproducedandpleasedwiththe amountoftimethemodelsavedheraswell.Aletterfromtheclientcanbe foundinAppendixA.WeproducedamasterscheduleinExcelandcreatedan oncallvolunteerlistthatthevolunteercoordinatorusedtomakeassignments thedayofiftherewasacancellation.Themasterschedulewassentouttoallof thevolunteersandwasavailableonline.Afewrequestscameinthelastminute sowemadeaminimalnumberofmanualadjustments. 41
PAGE 52
6.Conclusion Weproposeatwophasemodelingapproachtosolvethevolunteerassignmentproblem.Therstphaseisusedtotellvolunteercoordinatorsifanassignmentofvolunteersispossible,giventhenumberofqualiedvolunteersthat arecurrentlysignedupandthatareneededforeveryjobduringeachshift.The secondphasemakestheassignmentofvolunteers.Ourtwophaseapproachto thevolunteerassignmentproblemisveryhelpfulindeterminingifthereexists afeasibleassignmentandmakingtheassignmentifoneexists.Toourknowledgethisisthersttimeanyoneintheliteraturepresentssolvingthevolunteer assignmentproblemthisway. Weconstructasimulationprogramtoobservehowassignmentseectvolunteer'sfutureinvolvement.Aseriesoftestscenariosshowthatthepenalties andratesaectthenumberofvolunteersbeingassignedandthenumberofvolunteerscomingback.Theinsightgainedfromthesimulationallowsthemodeler tochooseappropriatepenaltiestoaccomplishwhateachvolunteercoordinator wantstoachieve. OurtwophasemodelassignedthevolunteersforthelaunchofDenverBCycle,Denver'snewbikesharingprogram.Amasterscheduleandanoncall volunteerlistwereproduced.Thevolunteercoordinatordeterminedthatthe modelwasabletomakefair,ecient,andtimelyassignments. 42
PAGE 53
6.1FutureWork Thisthesisoersmanyavenuesforfurtherresearch.Applyingthemodel tolargerproblemsisapossibleextension.Determininghowsatisedvolunteers aregiventheirassignmentswillallowustojustifyratesusedinoursimulation. Onecanapplythetwophasemodelingapproachtoothervolunteerassignment problemsaswellasndnewassignmentproblemswherethemodelmaybe applicable.Buildingonthesimulationanddoingsensitivityanalysiswouldbe worthwhileaswell. 43
PAGE 54
APPENDIXA.BikeDenverClientLetter 44
PAGE 55
APPENDIXB.BikeDenverVolunteerSurvey 45
PAGE 56
46
PAGE 57
47
PAGE 58
APPENDIXC.SimulationProgram %ThisfunctionwritesanampldatafilethatweuseinVolAssignGP.mod function[obj_avg,vol_avg,vol_sat_avg]=ProgramV,J,S,N rand'seed',10; %%%%%Preference,Availability,MaxVolunteer,MinVolunteer,MaxShift Pref=roundrandV,J*5; Avail=ceilrandV,S; fori=1:J; forj=1:S; MinVoli,j=1; MaxVoli,j=1; end end MaxShift=ceilrand,V*V; %%%%%vCreatefiletowriteto 48
PAGE 59
fn='Program.dat'; fid=fopenfn,'w';%The'w'dentoeswritingprivilages. %%%%%CreateSets fprintffid,'setVOL:='; fori=1:V fprintffid,'v%dt',i; end fprintffid,';n'; fprintffid,'setJOBS:='; fori=1:J fprintffid,'j%dt',i; end fprintffid,';n'; fprintffid,'setSHIFTS:='; fori=1:S fprintffid,'s%dt',i; end fprintffid,';nn'; 49
PAGE 60
%%%%%Createparampreference fprintffid,'parampreferences:t'; forj=1:J fprintffid,'j%dt',j; end fprintffid,':=n'; fori=1:V fprintffid,'v%dttt',i; forj=1:J fprintffid,'%dt',Prefi,j; end ifi==V fprintffid,';nn'; else fprintffid,'n'; end end %%%%%Createparamavailability fprintffid,'paramavailability:t'; fork=1:S fprintffid,'s%dt',k; end 50
PAGE 61
fprintffid,':=n'; fori=1:V fprintffid,'v%dttt',i; fork=1:S fprintffid,'%dt',Availi,k; end ifi==V fprintffid,';nn'; else fprintffid,'n'; end end %%%%%CreateparamMaxVol fprintffid,'parammaxVol:t'; fork=1:S fprintffid,'s%dt',k; end fprintffid,':=n'; forj=1:J fprintffid,'j%dtt',j; fork=1:S 51
PAGE 62
fprintffid,'%dt',MaxVolj,k; end ifj==J fprintffid,';nn'; else fprintffid,'n'; end end %%%%%CreateparamMinVol fprintffid,'paramminVol:t'; fork=1:S fprintffid,'s%dt',k; end fprintffid,':=n'; forj=1:J fprintffid,'j%dtt',j; fork=1:S fprintffid,'%dt',MinVolj,k; end ifj==J fprintffid,';nn'; else 52
PAGE 63
fprintffid,'n'; end end %%%%%CreateparamPenalty fprintffid,'parampenalties:=162636;n'; %%%%%CreateparamMaxShift fprintffid,'parammaxShift:t'; fori=1:V fprintffid,'v%dt',i; end fprintffid,':=n'; forj=1 fprintffid,'numShift%dtt',j; fori=1:V fprintffid,'%dt',MaxShiftj,i; end ifj==1 fprintffid,';nn'; else fprintffid,'n'; end 53
PAGE 64
end fclosefid; %thisrunsampl !./Program.bash %%%Thisprintszp z=load'ascii','zp.mat'; %%weneedtheseforthefirstloop newV=V; newPref=Pref; zNEW=z; %%%%%%%%%%%%RunProgramNew%%%%%%%%%%%%%%%%%%%%% fory=1:N%whereN=numberofyearswewanttorunoursimulation a=zerosnewV,J; w=zerosnewV,J; fori=1:S; a=a+zNEWi1*newV+1:i*newV,1:J; end fori=1:newV; 54
PAGE 65
forj=1:J; wi,j=ai,j*newPrefi,j; end end %#ofshiftsavolunteerworks numShiftsVol=[]; sumWrow=[]; fori=1:newV; numShiftsVoli,1=sumai,:; end %Sumofthejobpreferencesofthejobsthevolunteerworks fori=1:newV; sumWrowi,1=sumwi,:; end %intialize percentage=[]; %thiscalculatesthe%ofsatisfactioneachvolunteeris fori=1:newV; ifnumShiftsVoli,1>=1; percentagei,1=sumWrowi,1/numShiftsVoli,1*maxnewPrefi,:; 55
PAGE 66
else percentagei,1=.25; end end %%intialize r=[]; q=[]; %findoutwhatvolunteeriscomingback r=1.9*percentage; fori=1:newV; ifnewV>0; q=randnewV,1; else qi,1=0; end end dif=qr; comeBack=finddif>0; sizeCB=sizecomeBack,1; Vhold=[]; fori=1:newV; 56
PAGE 67
ifdifi,1>0; Vhold=[Vhold;newPrefi,:]; end end %findoutwhatvolunteerisinvited ifnewV>0 percentage2=.5*percentage; r2=1percentage2; q2=randnewV,1; dif2=q2r2; invite=finddif2>0; sizeI=sizeinvite,1; else invite=0; sizeI=0; end %generatenewpreference,avail,maxshiftmatrices Vnewhold2=[]; ifsizeI>0; fori=1:sizeI 57
PAGE 68
Vnewhold2=roundrandi,J*5; end newPref=[Vhold;Vnewhold2]; elsenewPref=Vhold; end %%%ifnooneiscomingbackandnooneisinvitedbringinanewvolunteer ifsizenewPref,1==0; newPref=roundrand,J*5; newV=1; newAvail=ones,S; newMaxShift=ones,1; else newV=sizenewPref,1; newAvail=onesnewV,S; newMaxShift=ones,newV*S; end %%%%%needtogettheright0,1variableforampltosolve sumNewAvail=[]; shiftNewAvail=[]; fori=1:newV fork=1:S sumNewAvaili,k=sumnewAvaili,:; 58
PAGE 69
ifsumNewAvail>=1; shiftNewAvaili,k=1; else shiftNewAvaili,k=0; end end end %%%%%Vectorforplot plot_newV,y=[newV]; %%%%%vCreatefiletowriteto fn=['ProgramNew','.dat']; fid=fopenfn,'w';%The'w'dentoeswritingprivilages. %%%%%CreateSets fprintffid,'setVOL:='; fori=1:newV fprintffid,'v%dt',i; end fprintffid,';n'; 59
PAGE 70
fprintffid,'setJOBS:='; fori=1:J fprintffid,'j%dt',i; end fprintffid,';n'; fprintffid,'setSHIFTS:='; fori=1:S fprintffid,'s%dt',i; end fprintffid,';nn'; %%%%%Createparampreference fprintffid,'parampreferences:t'; forj=1:J fprintffid,'j%dt',j; end fprintffid,':=n'; fori=1:newV fprintffid,'v%dttt',i; forj=1:J fprintffid,'%dt',newPrefi,j; 60
PAGE 71
end ifi==newV fprintffid,';nn'; else fprintffid,'n'; end end %%%%%Createparamavailability fprintffid,'paramavailability:t'; fork=1:S fprintffid,'s%dt',k; end fprintffid,':=n'; fori=1:newV fprintffid,'v%dttt',i; fork=1:S fprintffid,'%dt',shiftNewAvaili,k; end ifi==newV fprintffid,';nn'; else 61
PAGE 72
fprintffid,'n'; end end %%%%%CreateparamMaxVol fprintffid,'parammaxVol:t'; fork=1:S fprintffid,'s%dt',k; end fprintffid,':=n'; forj=1:J fprintffid,'j%dtt',j; fork=1:S fprintffid,'%dt',MaxVolj,k; end ifj==J fprintffid,';nn'; else fprintffid,'n'; end end %%%%%CreateparamMinVol 62
PAGE 73
fprintffid,'paramminVol:t'; fork=1:S fprintffid,'s%dt',k; end fprintffid,':=n'; forj=1:J fprintffid,'j%dtt',j; fork=1:S fprintffid,'%dt',MinVolj,k; end ifj==J fprintffid,';nn'; else fprintffid,'n'; end end %%%%%CreateparamPenalty fprintffid,'parampenalties:=162636;n'; %%%%%CreateparamMaxShift fprintffid,'parammaxShift:t'; fori=1:newV 63
PAGE 74
fprintffid,'v%dt',i; end fprintffid,':=n'; forj=1 fprintffid,'numShift%dtt',j; fori=1:newV fprintffid,'%dt',newMaxShiftj,i; end ifj==1 fprintffid,';nn'; else fprintffid,'n'; end end fclosefid; %%Thisrunsexternalprogramampl !./ProgramNew.bash %%%Thisprintsz2 zNEW=load'ascii','zNew.mat'; %%%%%needtomakezNEWworkforourplots 64
PAGE 75
fork=1:S fori=1:newV forj=1:J Znewi,j=zNEWi+k1*newV,j; end end %%%Getobjectivefunctionvaluesowecanplot objMat=timesnewPref,Znew; objValrow=sumobjMat; objValShift=sumobjValrow; objVal=sumobjValShift; objectiveValue,k=objVal; Znew=[];%reintialize...programneededit end objectiveValueSum=sumobjectiveValue; plot_objVal,y=objectiveValueSum; %%%PrintingCellArraysofdata NEWpref{y}=newPref; NEWv{y}=newV; NEWavail{y}=newAvail; NEWmaxshift{y}=newMaxShift; 65
PAGE 76
%%%Printresultstofilesothatwecanretreivelater fn=['ProgramNew_info','.dat']; fid=fopenfn,'w';%The'w'dentoeswritingprivilages. fprintffid,'newV='; fprintffid,'%g',newV; fprintffid,'n'; fprintffid,'newAvail='; fprintffid,'%g',newAvail; fprintffid,'n'; fclosefid; %%%reinitializeeverything end%endofforloopProgramNew obj_avg=sumplot_objVal/sizeplot_newV,2 vol_avg=sumplot_newV/sizeplot_newV,2 vol_sat_avg=obj_avg/vol_avg %%%%%%helpnargin%%%%%thiswillallowmeto %%%%plotnumberofvolunteersatevent figure subplot,1,1; plotplot_newV 66
PAGE 77
xlabel'Year' ylabel'#ofVolunteers' title'VolunteerPoolOverTime' %%%%%%plotobjectivefunction/newVthiswillgiveustheaveragehappinessofthegroup avgHap=plot_objVal./plot_newV; subplot,1,2; plotavgHap xlabel'Year' ylabel'PreferenceLevel' title'AverageSatisfactionVolunteers' end 67
PAGE 78
REFERENCES [1]R.H.Ahuja,T.L.Magnanti,andJ.B.Orlin.Somerecentadvancesinnetworkows. SocietyforIndustrialandAppliedMathematics ,33:175{219, 1991. [2]R.K.Ahuja,MagnantiT.L.,andOrlinJ.B. NetworkFlows:Theory,Algorithms,andApplications .PrenticeHall,1993. [3]D.P.Bertsekas.Theauctionalgorithm. AnnalsofOperationsResearch 14:105{123,1988. [4]J.G.ChapmanandR.Morley.Collegiateservicelearning:Motivesunderlyingvolunteerismandsatisfactionwithvolunteerservice. Journalof PreventionandInterventionintheCommunity ,18:19{33,1999. [5]A.Charnes,W.W.Cooper,andR.O.Ferguson.Optimalestimationof executivecompensationbylinearprogramming. ManagementScience 1:138{151,1955. [6]E.G.ClaryandM.Snyder.Themotivationstovolunteer:Theoretical andpracticalconsiderations. CurrentDirectionsinPsychologicalScience 8:156{159,1999. [7]R.A.CnaanandL.Amrofell.Mappingvolunteeractivity. Nonprotand VoluntarySectorQuarterly ,23:335{351,1994. [8]J.E.CrandallandM.D.Harris.Socialinterest,cooperation,andaltruism. JournalofIndividualPsychology ,32:50{54,1976. [9]G.B.Dantzig.Acommentonedie's"tracdelaysattollbooths". Journal oftheOperationsResearchSocietyofAmerica ,2:339{341,1954. [10]F.F.EastonandD.F.Rossin.Astochasticgoalprogramforemployee scheduling. DecisionSciences ,27:541{568,1996. [11]R.Emanele.Isthereadownwardslopingdemandcurveforvolunteer labour. AnnalsofPublicandCooperativeEconomics ,67:193{208,1996. 68
PAGE 79
[12]R.B.Freeman.Workingfornothing:Thesupplyofvolunteerlabor. The JournalofLaborEconomics ,15:S140{S166,1997. [13]L.GordonandE.Erkut.Improvingvolunteerschedulingfortheedmonton folkfestival. Interfaces ,34:367{376,2004. [14]S.K.Greenetal.Volunteermotivationanditsrelationshiptosatisfaction andfuturevolunteering. PaperpresentedattheAnnualConventionofthe AmericanPsychologicalAssociation ,0:1{15,1984. [15]H.J.GreenbergandT.eds.Morrison.Preparingforthedemocraticnationalconvention.MathematicsClinicReportMC08S001,Universityof ColoradoDenver,Denver,CO,2008. [16]K.F.LamandE.U.Choo.Goalprogramminginpreferencedecomposition. TheJournaloftheOperationalResearchSociety ,46:205{213,1995. [17]V.A.MabertandC.A.Watts.Asimulationanalysisoftourshiftconstructionprocedures. ManagementScience ,28:520{532,1982. [18]R.L.Ryan,R.Kaplan,andR.E.Grese.Predictingvolunteercommitment inenviromentalstewardshipprogrammes. JournalofEnviromentalPlanningandMangement ,44:629{648,2001. [19]S.E.Sampson.Optimizationofvolunteerlaborassignments. Journalof OperationsManagement ,24:363{377,2006. [20]S.ShinandB.H.Kleiner.Howtomanageunpaidvolunteersinorganisations. ManagementResourceNews ,264:63{71,2003. [21]D.H.Smith.Determinantsofvoluntaryassociationparticipationandvolunteering:Aliteraturereview. NonprotandVoluntarySectorQuarterly 23:243{263,1994. [22]G.M.Thompson.Laborschedulingusingnpvestimatesofthemarginal benetofadditionallaborcapacity. JournalofOperationsManagement 13:67{86,1995. 69

