You are on page 1of 40

SOFTWARE PROJECT SCHEDULING PROBLEM

WITH PRECEDENCE AND RESOURCE


CONSTRAINTS

By
BIJU A C
Preface

• Software project scheduling shall be described as a day-to-


day activity in a software industry relates to the assignment
of who does what while executing a software project within
a stipulated timeline. This problem is financially important
as far as any software company is concerned.

• SPSP is NP-hard with severe complex combinatorial


optimization issues and it is time-consuming and error-
prone to optimize SPSP manually by human beings.

• Use of Heuristics to find a solution close to the best one


and they find it swiftly and easily. Sometimes these
algorithms can be accurate, because they actually find the
best solution with reasonable computational expenses.
Contents of the presentation
• Introduction to SPSP
• General SPSP Formulation
• Literature Review
• Research Statement
• SPSP formulations in this thesis
• Proposed methods
• DE algorithm with improved mutation scheme
• PSO with improved local search scheme
• Krill herd algorithm with Modified Induction scheme
• Experiments and Results
• Publication out of this thesis
• List of References
Introduction to SPSP
• The project scheduling problem (SPSP) consists of various
activities which are need to be scheduled, subject to
precedence and resource constraints such that the
makespan is minimized. Such that there are several types
of problem formulations based on the objectives and
constraints handled.

• This is a capital issue in the practice of software


engineering, since the total budget and human resources
involved must be managed optimally in order to end in a
successful project.

• The Solution method is to efficiently allocate resources in


order to achieve specific objectives while satisfying a variety
of constraints.
General SPSP Formulation
• SPSP is a problem of finding an optimal schedule
for a software project so that the precedence and
resource constraints are satisfied and the final
project cost consisting of personal salaries and
project duration is minimized

• In SPSP, to evaluate the feasible solutions, three


issues are addressed feasibility of the solution,
total project duration and the cost of the whole
project according the solution. This formulation will
discuss to calculate the total duration and cost of
the project
Literature Review
• The objective is to find a schedule which leads to the earliest
possible end of the project, i.e., the minimal Makespan. Blazewicz
et al. have shown that the RCPSP belongs to the class of the
strongly NP-hard problems
• Franck et al. propose a calendar concept for project scheduling
which includes preemptive scheduling. A calendar is defined as a
binary function that determines for each period whether activity
execution is possible or a break
• Hartmann describes a real-world medical research project with
time-dependent resource requests.
• Drezet and Billaut deal with time-dependent requests for resources
which represent software developers. A minimum and a maximum
resource request per period is given. Additional constraints reflect
legal requirements such as the maximal working time per day.
• Mika et al. [127] consider three types of setup times. Sequence
independent setup times depend only on the activity and the
resource on which the activity will be performed.
Literature Review
• Schwindt and Trautmann incorporate sequence-dependent setup
times into an RCPSP with various extensions. Their goal is to
capture a scheduling problem that arises in batch production.
• Bellenguez and Néron consider activities which require staff
members with certain skill levels. This can be seen as a special
case of the mode concept where each mode corresponds to a
feasible subset of staff members that can carry out the activity with
regard to the required skill levels.
• Tareghian and Taheri follow a similar approach to maximize the
quality while the project’s deadline and budget (nonrenewable
resource capacity) must be observed.
• Schultmann and Rentz present a case study that demonstrates
how the multi-mode RCPSP can be applied to projects which
consist of the dismantling of buildings.
• Minimal time-lags have recently been considered by Klein and
Scholl show how minimal time-lags can be used to capture
sequence-independent setup times as well as batches in
production projects.
Literature Review
• The concepts of minimal and maximal time lags has also been
considered within the multimode RCPSP, by Sabzehparvar and
Seyed-Hosseini consider minimal and maximal mode-dependent
time lags.
• Neumann et al. consider due dates which can be exceeded at some
penalty cost with Objective functions considering due dates.
• Time-switch constraints have been introduced by Yang and Chen.
The planning horizon is divided into cycles of work and rest time
windows. An activity can start only in a work window.
• In a case study on a real-world project, Hartmann notes that many
medical research projects require that certain activities may not
finish in the same period. In order to avoid systematic errors,
replications of the same experiment (which correspond to activities)
are not allowed to end at the same time.
• Brucker and Knust [30] introduce parallelity constraints which force
two activities to be processed in parallel for at least one period. They
also discuss the opposite case in which two activities may not be
processed in parallel at all.
Literature Review
• Renewable resources such as manpower and machines are limited on a
per-period basis. In contrast, nonrenewable resources have a limited
capacity for the entire project, an example would be a budget for the
project.
• A partially renewable resource would then be defined as follows: Each day
from Monday through Friday makes up one separate period subset with an
associated availability of 1. The weekend restriction is imposed by defining
another period subset containing both Saturday and Sunday with a
capacity of 1.
• Bartels and Zimmermann employ cumulative resources within a multi-
mode RCPSP with minimal and maximal time lags. They consider a project
of engineering and testing activities in the automotive industry.
• Dorndorf et al. refer to the RCPSP with dedicated resources as disjunctive
scheduling problem, dedicated resources can be covered, which means
that we have m renewable resources with a capacity of one unit and a
request of at most one unit.
• Bartusch et al. show that resource capacities varying with time can be
transformed into constant capacities if minimal and maximal time lags are
available. The constant capacity would be defined as the maximum of the
time-dependent capacity over time.
Literature Review
• Vanhoucke defines a set of time windows for each activity. Carrying out
an activity within one of its time windows is desired due to quality
considerations. The objective function minimizes penalties that are
caused by executing activities outside their time windows.
• Van de Vonder et al. propose to reschedule the remaining activities such
that the sum of deviations of the new finishing times from the original
ones is minimized.
• Shadrokh and Kianfar present an extension of the resource investment
problem. Instead of a deadline, a due date is used, i.e., delayed
completion of the project is allowed. The objective is to minimize the sum
of resource availability costs and tardiness penalty. The latter results from
a constant cost factor for each period the project is delayed.
• A nonrenewable resource-based objective has been considered by Akkan
et al. within the discrete time-cost tradeoff problem, where the only
nonrenewable resource is interpreted as money.
• Rummel et al. consider a cost-based objective that consists of two
components. The project duration costs are proportional to the
makespan. Activities can be combined (consolidated) in order to reduce
the makespan, but this causes consolidation costs.
Literature Review based on solution methods
• SPSP is classified as a NP-hard problem with largely complex
combinatorial optimization constraints. Hence, scheduling a software
project automatically with valid features in the project is highly helpful for
software project managers for a real project management. Thus for the
past two decades, the project schedules generated using robust modern
heuristic algorithms have attracted increasing interest amongst
researchers.
• Hartmann, proposed a permutation based GA, which adopted regret-
based sampling method and priority rule to produce initial population;
Alcaraz, & Maroto presented an activity list based GA in which a gene
was added to decide Forward or Backward schedule generation scheme
(SGS) to be used. Later, Hartmann again proposed an adaptive GA, in
which a gene was adopted to decide parallel SGS or serial SGS to be
used.
• Boctor, proposed an active list based SA to solve the RCPSP, where
serial SGS was used to generate schedule and insert operation was
employed as local search; Cho, & Kim introduced a random key based
SA, where some activities were delayed on purpose to expand search
space; Bouleimen, proposed a global shift operation-based SA, which
adopted multiple cooling chains with different initial solution.
Literature Review based on solution methods
• Klein, proposed a Forward–Backward tabu search to solve the time-
varying RCPSP, where active list and serial SGS were adopted;
Artigues, et al, introduced an insert based TS, where the
abandoned solutions were inserted based on a flow network model;
Nonobe, adopted TS to solve the RCPSP, where shift moves and a
specific neighborhood reduction mechanism were developed to
improve the standard TS.
• Zhang et al, proposed both permutation-based particle swarm
optimization and priority-based PSO for solving the RCPSP.
• An ACO approach for the RCPSP is presented by Xiao, with the use
of a combination of two pheromone evaluation methods by the ants
to find new solutions, a change of the influence of the heuristic on
the decisions of the ants during the run of the algorithm, and the
option that an elitist ant forgets the best-found solution are studied.
Similarly The mechanism of ACO by Merkle provides good support
in the use of incorporating the domain knowledge as the heuristic
search information thereby to improve the performance of the
scheduling algorithm.
Research Statement
• Based on comprehensive survey of literature, this
research confines in solving SPSP in three variants:
(i) Regular SPSP formulation as given in Eqn (2.1),
(ii) SPSP with Worker compensation scheme (WCS)
(iii) SPSP with WCS & Task Priority Scheme

• In addition, three hybrid heuristics based techniques


were developed for solving the above three SPSP
formulation.
(i) DE algorithm with improved mutation scheme
(ii) PSO with improved local search scheme
(iii) Krill herd algorithm with Modified Induction scheme
SPSP formulations in this thesis
WORKER COMPENSATION SCHEME
SPSP formulations in this thesis
TASK PRIORITY SCHEME
• Deadlines are often associated with specific tasks of the entire project. In
order to address deadline issues, the concept of ‘‘importance”of tasks is
introduced by assigning three properties to eachtask: Dsoft, Dhard, and P.
The two deadlines are expressed in timeunits, while the penalty P is
expressed as a cost per unit time.
Proposed methods
Method 1:
DE algorithm with improved mutation scheme
The mutation scheme goes like this:
• Randomly choose a set of mutation vectors ‘k’ and from that a
candidate ‘x’ and perturb the solution to find L number of
neighbours.

• Choose all the neighbours and perform fitness comparison with


the ‘x’.

• All those which are better than ‘x’ need to be locally improved
using a direct search method.

• The best solution obtained amongst all in the above point will be
the new ‘x’.

• Do this until all the mutation vectors “k “ are involved in this


mutation scheme.
Summary
• An improved differential evolution (IDE) algorithm for the software project
scheduling problem (SPSP) is proposed. The interest on finding a more efficient
solution technique for SPSP is always a topic of interest due to the fact of ever
growing challenges faced by the software industry.
• As reviewed from literature, traditional and globally established software project
scheduling techniques fail to cope effectively with the evolutionary and dynamic
nature of modern software projects.
• Compared to the efforts by project management experts, the proposed model using
IDE seems to be a practicable tool to guide project managers in their daily routines
of software project scheduling. IDE is tailored to solve the problem.
• In the proposed method the IDE-SPSP, by dividing the tasks and allocating
employee dedications to task nodes, a construction graph is built; the SPSP
problem is naturally converted into a graph-based search problem.
• Numerical simulation results demonstrate the proposed IDE algorithm outperforms
the DE approach for the SPSP and superior in producing the most reasonable
project schedules.

Next chapter of this thesis will analyze a new algorithm called improved particle swarm
optimization algorithm for solving the SPSP including a new constraint called
employee compensation model
Proposed methods
Method 2:
PSO with improved local search scheme
Summary
• An improved PSO (IPSO) algorithm for solving the software project
scheduling problem (SPSP) is proposed.
• In addition to the regular constraints this chapter considered a
compensation model. Wherein the problem becomes more
challenging due to inclusion new equality constraints.
• Compared to the earlier IDE-SPSP method proposed in the previous
chapter, the proposed model using IPSO seems to be a practicable
tool to guide project managers in their daily routines of software
project scheduling when compensation model is also included.
• IPSO is tailored to solve the problem. In the proposed method the
IPSO-SPSP, by dividing the tasks and allocating employee dedications
to task nodes, a construction graph is built; the SPSP problem is
naturally converted into a graph-based search problem.
• Numerical simulation results demonstrate the proposed IPSO
algorithm outperforms the IDE approach for the SPSP with employee
compensation model.
Proposed methods
Method 3:
Krill herd algorithm with Modified Induction scheme
Summary
• An improved krill herd algorithm (IKHA) algorithm for the software project scheduling
problem (SPSP) with both compensation model and task importance model is
proposed.
• The interest on finding a more efficient solution technique for SPSP is always a topic of
interest due to the fact of ever growing challenges faced by the software industry.
• As reviewed from literature, traditional and globally established software project
scheduling techniques fail to cope effectively with the evolutionary and dynamic
nature of modern software projects.
• Compared to the efforts by project management experts, the proposed model using
IDE seems to be a practicable tool to guide project managers in their daily routines of
software project scheduling.
• IKHA is tailored to solve the problem. In the proposed method the IDE-SPSP, by
dividing the tasks and allocating employee dedications to task nodes, a construction
graph is built; the SPSP problem is naturally converted into a graph-based search
problem.
• Numerical simulation results demonstrate the proposed IKHA algorithm outperforms
the IDE and IPSO approach for the SPSP and superior in producing the most reasonable
project schedules both compensation model and task importance model.

You might also like