SlideShare a Scribd company logo
RESOURCE CONSTRAINED
PROJECT SCHEDULING
THROUGH
GENETIC ALGORITHM
• PROJECT GUIDE:-
ARINDAM SINHA RAY
• SUBMITTED BY:-
AVAY MINNI
DEBADITYA SARKAR
RASHMI SAHA
RAJESH KUMAR MAHTO
CONTENTS
• INTRODUCTION
• GENETIC ALGORITHM
• THEORY
• THE BASIC GENETIC ALGORITHM
• WHY TO USE GENETIC ALGORITHM
• RESOURCE CONSTRAINT
• GENERAL PROBLEM FORMULATION
• TEST PROBLEM FORMULATION
• REAL LIFE SCENARIO
• FLOW CHART
• RESOURCE CONTRAINED PROJECT SCHEDULING PROBLEM
CONTENTS-II
• PROPOSED SOLUTION METHODOLOGIES
• ALGORITHM
• RESULT ANALYSIS
• SELF DEFINED FUNCTION
• LINEAR PROGRAMMING FUNCTION
• OPTIMIZATION FUNCTION OF GENETIC ALGORITHM
• CONCLUSION
• FUTURE SCOPE
• REFERENCES
INTRODUCTION
• Planning and scheduling are common to many different engineering
domains. Whether the project is as large as building an IT Office or
something as seemingly simple as the redesign of the packaging for
a tape dispenser, both planning and scheduling are profoundly
important.
• Even on a small project, the number of possible courses of action
and the number of ways to allocate resources quickly become
overwhelming.
• This document describes a genetic algorithm for finding optimal
solutions to resource constrained scheduling problems. It shows
formulation for each scheduling problem variation, a single algorithm
provides promising performance on different instances of the general
problem.
• The representation enforces precedence constraints, and the
objective function measures both resource constraint violations and
overall performance.
GENETIC ALGORITHM
• A genetic algorithm (or GA) is a search technique
used in computing to find true or approximate
solutions to optimization and search problems.
• Genetic algorithms are categorized as global search
heuristics.
• Genetic algorithms are a particular class of
evolutionary algorithms that use techniques inspired
by evolutionary biology such as inheritance,
mutation, selection, and crossover (also called
recombination).
THEORY
• A genetic algorithm is a problem solving method
that uses genetics as its model of problem solving.
• It’s a search technique to find approximate solutions
to optimization and search problems.
• GA handles a population of possible solutions. Each
solution is represented through a chromosome,
which is just an abstract representation.
• GA handles a population of possible solutions. Each
solution is represented through a chromosome,
which is just an abstract representation.
THEORY
• . Generally, the initial population is generated
randomly. Then, the genetic algorithm loops over an
iteration process to make the population evolve.
• Each GA consists of the following steps:
• 1) SELECTION: The first step consists in selecting
individuals for reproduction. This selection is done
randomly with a probability depending on the
relative fitness of the individuals so that best ones
are often chosen for reproduction than poor ones.
THEORY
• 2) REPRODUCTION: In the second step, offspring are bred by the
selected individuals. For generating new chromosomes, the
algorithm can use both recombination and mutation.
• 3) EVALUATION: Then the fitness of the new chromosomes is
evaluated.
• 4) REPLACEMENT: During the last step, individuals from the old
population are killed and replaced by the new ones. The algorithm
is stopped when the population converges toward the optimal
solution.
THE BASIC GENETIC ALGORITHM
The basic genetic algorithm is as follows:
• [start] Genetic random population of n chromosomes (suitable solutions for the problem)
• [Fitness] Evaluate the fitness f(x) of each chromosome x in the population
• [New population] Create a new population by repeating following steps until the New population is complete
- [selection] select two parent chromosomes from a population according to their fitness ( the better fitness, the
bigger chance to get selected).
- [crossover] With a crossover probability, cross over the parents to form new offspring ( children). If no crossover
was performed, offspring is the exact copy of parents.
- [Mutation] With a mutation probability, mutate new offspring at each locus (position in chromosome)
- [Accepting] Place new offspring in the new population.
• [Replace] Use new generated population for a further sum of the algorithm.
• [Test] If the end condition is satisfied, stop, and return the best solution in current population.
• [Loop] Go to step2 for fitness evaluation.
WHY TO USE GENETIC ALGORITHM
• Liability
• Easy to discover global optimum.
• GA uses fitness function for evolution rather than derivatives.
• Almost all conventional optimization technique search from a single
point but GAs always operate on a whole population of
points(strings).
• Easily modified for different problems.
• They perform very well for large scale optimization problems.
• Can be employed for a wide variety of optimization problems.
RESOURCE CONSTRAINTS
• A resource constraint is a limit on what can be done because of
limitations on what is available to do it.
• Resource abundance = shorter project duration and vice versa.
• First identify peaks of resource requirements.
• In practical, resources are finite . So , impractical for peak resource
needs.
• Ideally there should be even demand of resource for entire project.
• This process of refining the plan to effectively manage and schedule
resources is called resource modeling .
-Resource Definition - Resource Allocation
-Resource Aggregation -Resource Leveling
RESOURCE DEFINITION
• The first step in resource modeling is to decide exactly what
resources are considered important enough to be modeled.
• Most resource modeling is concerned with people or workers (such
as welders or computer programmers), it may also include other
resources such as machines (such as a computer of a particular
specification), or space on a project where space is restricted and
where this restriction limits the amount of other resources which can
be deployed at any one time.
RESOURCE ALLOCATION
• Resource allocation, also called resource loading, is concerned with
assigning the required number of those resources identified in the
previous step to each activity identified in the plan
• Resource allocation does not have to follow a constant pattern; some
activities may initially require fewer resources but may require more
of the same resources during the later stages of the project.
• More than one type of resource may be attributed to a specific
activity.
• For example, fixing the plates on a ship's hull may require 10 fitters,
20 welders, 15 laborers and a certain type of welding machine.
RESOURCE AGGREGATION
• Resource aggregation, or resource loading, is simply the summation,
on a period-by-period basis, of the resources required to complete all
activities based on the resource allocation carried out in the previous
stage.
• The results are usually shown graphically as a histogram.
• Such aggregation may be done on an hourly, daily, or weekly basis,
depending on the time unit used to allocate resources.
• When a bar chart is used as the planning tool, the resource
aggregation is fairly simple and straightforward. For a given bar
chart, there is a unique resource unit aggregation chart which can be
drawn underneath the bar chart.
RESOURCE AGGREGATION
• . An example is shown in Figure 1 below, where, for a particular resource, the
required resource units for each time period are annotated on the bar chart.
The total number of resource units for each time period can then be summed
and a resource aggregation or load chart can be produced.
Figure . Resource Unit Aggregation Chart Derived from a Bar
RESOURCE LEVELING
• Resource leveling is the process that ensures resource demand does
not exceed resource availability.
Demand Compared to Resource Availability
RESOURCE LEVELING
• The ideal scenario would be a buildup of resource usage at the
beginning of the project and a reduction at the end of the project.
• The approach to resource leveling will also depend on whether
resources are dedicated to a particular project or shared across
several projects and whether there is a need to keep all resources
fully utilized.
GENERAL PROBLEM FORMULATION
• The general form for a Linear Programming problem is as follows:
• OBJECTIVE FUNCTION
• minf(X1,X2,…,Xn):=c1X1+c2X2+…+cnXn(1) =ΣciXi
• where,
• X1,X2,…,Xn= Different Activities of the Project.
• c1,c2,…,cn=Total resource consumed by each Activity.
• subject to:-
GENERAL PROBLEM FORMULATION
TECHNOLOGICAL CONSTRAINTS
• ai1X1+ai2X2+…+ainXn(≤ or = or ≥)bi,i =1 ,… ,m (2)
• or, Axi (≤ or = or ≥) bi, i = 1 , … , m
• where,
• A = Matrix of Co-efficient of Linear Constant.
• xi = Column Matrix of Variables.
• bi= Column Matrix of Resources.
SIGN RESTRICTIONS
• ( Xj≥0) or (Xj≤0)or (Xjurs) , j=1,…,n(3)
• where''urs'' implies unrestricted in sign.
TEST PROBLEM FORMULATION
• REAL LIFE SCENARIO
• The development team that we are using as an example is going to
develop an online store for a pet shop. Peter, the project manager of
the development team, has decided to produce the first stable
version of the online system by the end of this month. The following
chart shows the planned schedule of this month.
• The team is going to support three major functions in the first version.
It begins with the register function.
• After completion, the team will move on to the shopping cart
function, which is an important and complex one that takes about two
weeks of work.
• The rest of the month will be allocated to supporting the printing
function for sales statistic reports.
• Each function involves a series of work, taken up by different team
members. The following image shows work planned for each
function.
• Here is a brief description of the work:
• Business Modeling - Understand the daily business operations of the pet
shop.
• Requirements - The sub-functions end user wants the system to come
with.
• Analysis & Design - Study how to support user's need and perform
system designs (e.g. screen layout, page flow design).
• Implementation - The coding work.
• Testing - The process to ensure the functions required are supported and
working as expected.
• QA & Maintenance - Report bugs and suggestions for enhancements.
FLOW
CHART
The Resource-Constrained Project
Scheduling Problem:-
• The RCPSP is one of the most complex scheduling problems. It is considered as a
generalization of many standard scheduling problems.
• A RCPSP considers resources of limited availability and activities of known
durations and resources request. The problem consists of finding a schedule of
minimal duration by assigning a start time to each activity such that precedence
relation and the resource availabilities are respected.
• The RCPSP can be defined as a combinational optimization problem aims at
finding a feasible solution by the help of a tuple (V,p,E,R,B,b).
---- Activities consisting the project are identified by set V={A0,….,An+1}. The set of
non-dummy activities is identified by Ai={A1,…...An}.
Durations are represented by vector p.
Precedence relation are given by E, such that Ai precedes activity Aj.
---Availabilities of resources are represented by a vector B. such
that Bk denotes the availability of Rk.
R is called unary or disjunctive resource.
Demands of activities for resources are abstracted by b.
• A schedule is a point S such that Si represents the strat time of
activity of Ai.
• A solution S is feasible if it is compatible with the precedence
constraints and resource constraints. Expressed as below
---- Sj-Si >= pi , for all (Ai,Aj) belongs to E (I)
Sum of bik <= Bk , for all Rk belongs to R and t >= 0. (II)
• The SCPSP is the problem of finding a non-preemptive schedule
S to precedence constraints (I) and resources constraints (II).
Ai A0 A1 A2 A3 A4 A5 A6 A7 A8 A9
pi 0 6 1 1 2 3 5 3 3 0
bi 0 2 1 3 2 1 2 2 1 0
Si 0 1 1 1 7 2 2 8 5 0
PROBLEM:
A RCPSP instance is given with n=8 real activities and |R|=1 resources with
availabilities B = 5.
MATRIX FORMULATION:-
.
Here, Ai = A0 to A9
A0= starting point for activities.
A9= ending point of activities.
A1, A2, …. , A8= activities.
pi= durations for each activity.
bi= availability of resources for each activity.
Si= starting point of each activity
DIRECTIVE GRAPH
A5
A8
A0
A1
A2
A3
A4
A6
A7
A9
• Min Z = 12A1+A2+3A3+4A4+3A5+10A6+6A7+3A8
• Subject to,
• A2+3A3<= 5
• 2A1+A5+2A6<= 5
• 2A1+2A6<= 5
• 2A1+A8<= 5
• 2A4+A8<= 5
• 2A7<= 5
Mathematical Deduction:-
PROPOSED SOLUTION METHODOLOGY
• We have solve the problem in 3 ways obtaining the final value
of the function.
• These are as follows:
• Self-Defined Functions.
• Linear Programming Function
(linprog).
• Optimization Function of Genetic Algorithm
(gatool).
Functions used from matlab library
Five Auxiliary functions used:-
function e=vr(m,i)
%The i-th co-ordinate vector e in the Euclidean Space
• Create a matrix e of (m*1) where all the elements are Zero.
• Fill the i-th position of matrix e, with 1.
function d=delcols(d)
%here delete the duplicate column of the matrix d.
• Delete the repeated rows from the matrix d and return the sorted
one.
• Store the no. of columns of matrix d in n.
• Create an empty Matrix j.
• for k=1 to n
• Assign column wise elements of Matrix d into c.
• for l=k+1 to n
• if(Maximum value from column subtraction for(lth-cth)column <= 100*eps)
• copy the lth column into j matrix.
• end if
• end for
• end for
• if j is not empty
• Sort each column of j matrix in ascending order.
• Delete all the columns except 1st one of matrix d.
• end if
function [row,mi]=MRT(a,b)
%The Minimum Ratio Test(MRT) performed on vector a & b.
%Output Parameters are:-
%row=index of the pivot row.
%mi=value of the smallest ratio.
• Store the length of the vector a into m.
• Create a Matrix C with elements 1 to m.
• Combine all the column into one column of Matrix a.
• Combine all the column into one column of Matrix b.
• If b>0,then assign the value of c into l.
• Array right division of lth column of a & b.
• Now, find the minimum from the Quotient matrix.
• Store the min. value in mi & the index no. in row matrix.
• Store the value of row-th index of l matrix into row.
function col=MRTD(a,b)
%The Maximum Ratio Test performed on vectors a and b.
%This function is called form within the function dsimplex.
%Output Parameter-:-
%col-index of the pivot column.
• Store the length of vector a into m.
• Create a Matrix C with elements 1 to m.
• Combine all columns into one column of matrix a.
• Combine all columns into one column of matrix b.
• If b<0,then assign the value of c into l.
• Array right division of l-th column of a & b.
• Now find the Max from quotient matrix.
• Store the max value in mi and index no. in column.
• Store the value of col-th index of l-th matrix into col.
function[m,j]=Br(d)
%Implementation of the Bland's rule applied to the array d.
%This function is called from the following functions:-
%Simplex2p,dsimplex,addconstr,simplex and cpa.
%Output parameters:-
%m=first negative no. in the array D.
%j=index of entry m.
• Find any less than zero elements in d and shows their index in vector matrix.
• if ind is not empty
• Store the index no. of first negative no. in j.
• Store the first negative no. of matrix d in m.
• else
• create an empty matrix m.
• create an empty matrix j.
• end else-if
function vert=feassol(A,B)
%Basic feasible solution vert to the System of constraints
%Ax=b, x>=0
%They are stored in column of matrix vert.
• Store the value of row and column of matrix A into m & n
respectively.
• Stop the warning by Matlab.
• Combine all the columns of b in one column.
• Declare an empty matrix vert.
• if (n>=m)//here column>=row
• Create a matrix t with all possible combination from the range
1 to n taking m columns at a time.
• nv=n!/(n-m)!m!
• for i=1 to nv
• a)Create zero matrix of row n and column 1.
• b)(i)Choose the number from t-th column and
i-th row of matrix A.
• (ii)Divide the chosen element b & store the
quotient into x.
• if all(n>=0 &(n !=inf & n !=-inf))
• a)Assign n to the i-th row of t.
• b)copy the y matrix into vert matrix.
• end if
• end for
• else
• show error message.
• end else ifif vert is not empty
• Delete the duplicate columns of vert matrix by
calling delcols function
• else
• create an empty matrix vert.
• end else if
Function vert = extrpts(A,rel,b)
%extreme points vert of the polyhedral set
%x=(x:Ax<=b or Ax>=b, x>=0)
%Inequality signs are =stored in the string rel e.g.
rel=‘<<>’ stands for <=,<= & >= respectively.
o Store the value of row & column of matrix A into m&
n respectively.
o Store the value of n in nlv
o For i=1 to m
o if rel =‘>’
o assign -1 to the i-th position of m*I mtrix by
calling vr function.
o copy the above matrix into A.
Else
o assign 1 to the ith position of m*I matrix by calling vr function.
o End else if
• if b(i)<0
• assign negative to all the ith row elements of A.
• assign negative to i-th position of b.
• end if
• end for
• Stop the warning by Matlab.
• Combine all the columns of b in one column.
• Declare an empty matrix vert.
• if (n>=m)//here column>=row
• Create a matrix t with all possible c combination from the range 1 to
n taking m columns at a time.
• nv=n!/(n-m)!m!
• for i=1 to nv
• a)Create zero matrix of row n and column 1.
• b)(i)Choose the number from t-th column and i-th row of matrix A.
• (ii)Divide the chosen element b & store the quotient into x.
• if all(n>=0 &(n !=inf & n !=-inf))
• a)Assign n to the i-th row of t.
• b)copy the y matrix into vert matrix.
• end if
• end for
• else
• show error message
• end else if
• Delete the duplicate columns of vert matrix by
calling delcols function.
PROPOSED SOLUTION
METHODOLOGIES
• LINEAR PROGRAMMING FUNCTION (linprog)
• The Method Process is shown in the Next Part (Result
Analysis) along with the Function Value.
• OPTIMIZATION FUNCTION OF GENETIC ALGORITHM
(gatool)
• The Method Process is shown in the Next Part (Result
Analysis) along with the Function Value & Graphs.
RESULT ANALYSIS
• SELF-DEFINED FUNCTIONS
• VARIABLE DECLARATION
• The standard form of the linear programming problem is formulated as follows.
• min z = cTx
• subject to ax = b ; x ≥ 0
where,
• FEASIBLE SOLUTION
• Function vert = feassol(a, b) computes all basic feasible solutions.
• They are stored in columns of the matrix vert.
• EXTREME POINTS
• The extreme points of a feasible region are those boundary points that are intersections of the
straight-line boundary segments of the region or The corners or vertices of the feasible region.
• Given a polyhedral set x=(x:ax<=b or ax>=b, x>=0) find all extreme points of x.
• Inequality signs are stored in the string rel e.g. rel=‘<<>’ stands for = , ≤ & ≥ respectively.
• LINEAR PROGRAMMING FUNCTION (linprog)
• Linear programming is the problem of finding a vector x that minimizes a linear function cTx
subject to linear constraints:
• min z = cTx
• subject to ax = b
• x ≥ 0
• Such that one or more of the following hold: ax ≤ b, Aeq x = beq, l ≤ x ≤
• VARIABLE DECLARATION
• SOLUTION
Here,
linprog - Solve linear programming problems.
exitflag - Integer identifying the reason the algorithm terminated. The
value of exitflag and the corresponding reasons the algorithm
terminated.
exitflag = 1 Function converged to a solution x.
Output - Structure containing information about the optimization. The
field of the structure are: iterations: Number of iterations.
OPTIMIZATION FUNCTION OF GENETIC ALGORITHM (gatool)
• A genetic algorithm (GA) is a method for solving both constrained and unconstrained
optimization problems based on a natural selection process that mimics biological evolution.
• The algorithm repeatedly modifies a population of individual solutions.
• At each step, the genetic algorithm randomly selects individuals from the current population and
uses them as parents to produce the children for the next generation.
• Over successive generations, the population "evolves" toward an optimal solution.
VARIABLE DECLARATION
• a, b, c, d, lb are the same matrices defined above.
• a is the matrix of left-side of linear inequalities of constraints.
• b is the matrix of right-side of linear inequalities of constraints.
• c is the matrix of left-side of linear equalities of constraints.
• d is the matrix of right-side of linear equalities of constraints.
• lb is the matrix of lower bound where all is set to zero.
• SOLUTION
• USING COMMAND WINDOW
Here,
ga - Find minimum of function using genetic algorithm.
@asr – Defined function of our given problem, stored in ‘m’ file named as asr.m.
• USING GENETIC ALGORITHM TOOL BOX
 To use the genetic algorithm at the command line, call the genetic algorithm function ga
with the syntax[x fval] = ga(@fitnessfun, nvars, options)
 where
 @fitnessfun is a handle to the fitness function.
 nvars is the number of independent variables for the fitness function.
 options is a structure containing options for the genetic algorithm. If you do not pass in this
argument, ga uses its default options.
 The results are given by
 x — Point at which the final value is attained.
 fval — Final value of the fitness function.
 Using the function ga is convenient if you want to
 Return results directly to the MATLAB workspace.
 Run the genetic algorithm multiple times with different options, by calling ga from a file.
By the help of GA Tool Box we plot some graph to explain our output properly.
By the help of GA Tool Box we plot some graph to explain our output properly.
GRAPHS
In above fig we plot 1.Best fitness & 2.Expectation graph, in Best fitness graph we easily
identify two different line of fitness, one is Best fitness & other one is Mean fitness.
Black colored line is for Best fitness & the fitness value is = 59.992.
Red colored line is for Mean fitness & the fitness value is = 59.995.
In Expectation graph we mainly do fitness scaling for given problem & find out the expected graph
for better comparison.
In fig 2 we plot six more graph,
•In first we plot Current Best Individual, showing the current values of all the variables.
•In second we plot Average Distance between Individual variables.
•In third we plot three types of scores, Best Worst & Mean scores.
•
•In fourth we plot Range. Ranges specify the higher & the lower value of each individual
variable.
•In fifth we plot Fitness of Each Individual, showing the values for every variable.
•In sixth we plot Selection of the offspring, depending on that we select the children as parent for next
generation.
CONCLUSION
• The Resource Constrained Scheduling Problem is a very well-
studied and indebt subject of Project Management &
Optimization.
• It has been widely researched & constantly being researched
throughout the corporate as well as academic arena.
• We have studied and implemented 3 different techniques for a
particular type of Resource Constrained Scheduling Problem.
• Comparing these 3 techniques, our find is that Genetic
Algorithm is giving the best result.
FUTURE SCOPE
• We are very excited & encouraged by learning the Genetic Algorithm
and being able to implement it in a very small dimension in Project
Constrained Resource Scheduling Problem.
• We are interested in implementing the GA tool to solve the Project
Constrained Resource Scheduling Problem in multi-objective
scenarios and also conflicting objective scenarios, where achieving
one constraints means non-optimal solution of another constraints.
• We are looking forward to endeavor in this domain.
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM

More Related Content

What's hot

Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
Pratheeban Rajendran
 
Grey wolf optimizer
Grey wolf optimizerGrey wolf optimizer
Grey wolf optimizer
Ahmed Fouad Ali
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
DurgeshPratapSIngh8
 
Introduction to genetic algorithms
Introduction to genetic algorithmsIntroduction to genetic algorithms
Introduction to genetic algorithms
shadanalam
 
Back propagation
Back propagationBack propagation
Back propagation
Nagarajan
 
backpropagation in neural networks
backpropagation in neural networksbackpropagation in neural networks
backpropagation in neural networks
Akash Goel
 
Cuckoo Search Algorithm - Beyazıt Kölemen
Cuckoo Search Algorithm - Beyazıt KölemenCuckoo Search Algorithm - Beyazıt Kölemen
Cuckoo Search Algorithm - Beyazıt Kölemen
Beyazıt Kölemen
 
Genetic algorithm ppt
Genetic algorithm pptGenetic algorithm ppt
Genetic algorithm ppt
Mayank Jain
 
ΓΙΑ ΕΝΑ ΣΩΣΤΟ ΖΕΥΓΑΡΩΜΑ
ΓΙΑ ΕΝΑ ΣΩΣΤΟ ΖΕΥΓΑΡΩΜΑ ΓΙΑ ΕΝΑ ΣΩΣΤΟ ΖΕΥΓΑΡΩΜΑ
ΓΙΑ ΕΝΑ ΣΩΣΤΟ ΖΕΥΓΑΡΩΜΑ
Timbrado Espanol Kitsios Dimitrios
 
Metaheuristics
MetaheuristicsMetaheuristics
Metaheuristics
ossein jain
 
Introduction to PyTorch
Introduction to PyTorchIntroduction to PyTorch
Introduction to PyTorch
Jun Young Park
 
Flowchart of GA
Flowchart of GAFlowchart of GA
Flowchart of GA
Ishucs
 
Hyperparameter Optimization with Hyperband Algorithm
Hyperparameter Optimization with Hyperband AlgorithmHyperparameter Optimization with Hyperband Algorithm
Hyperparameter Optimization with Hyperband Algorithm
Deep Learning Italia
 
Operation research techniques
Operation research techniquesOperation research techniques
Operation research techniques
Rodixon94
 
LIBTwinSVM: A Library for Twin Support Vector Machine
LIBTwinSVM: A Library for Twin Support Vector MachineLIBTwinSVM: A Library for Twin Support Vector Machine
LIBTwinSVM: A Library for Twin Support Vector Machine
Amir M. Mir
 
Image segmentation using a genetic algorithm and hierarchical local search
Image segmentation using a genetic algorithm and hierarchical local searchImage segmentation using a genetic algorithm and hierarchical local search
Image segmentation using a genetic algorithm and hierarchical local search
Martin Pelikan
 
Introduction to Recurrent Neural Network
Introduction to Recurrent Neural NetworkIntroduction to Recurrent Neural Network
Introduction to Recurrent Neural Network
Yan Xu
 
Optimization technique genetic algorithm
Optimization technique genetic algorithmOptimization technique genetic algorithm
Optimization technique genetic algorithm
Uday Wankar
 
A dual active bridge dc-dc converter for application in a smart user network
A dual active bridge dc-dc converter for application in a smart user networkA dual active bridge dc-dc converter for application in a smart user network
A dual active bridge dc-dc converter for application in a smart user network
Alessandro Burgio
 

What's hot (20)

Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
Grey wolf optimizer
Grey wolf optimizerGrey wolf optimizer
Grey wolf optimizer
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
Introduction to genetic algorithms
Introduction to genetic algorithmsIntroduction to genetic algorithms
Introduction to genetic algorithms
 
Back propagation
Back propagationBack propagation
Back propagation
 
backpropagation in neural networks
backpropagation in neural networksbackpropagation in neural networks
backpropagation in neural networks
 
Cuckoo Search Algorithm - Beyazıt Kölemen
Cuckoo Search Algorithm - Beyazıt KölemenCuckoo Search Algorithm - Beyazıt Kölemen
Cuckoo Search Algorithm - Beyazıt Kölemen
 
Genetic algorithm ppt
Genetic algorithm pptGenetic algorithm ppt
Genetic algorithm ppt
 
ΓΙΑ ΕΝΑ ΣΩΣΤΟ ΖΕΥΓΑΡΩΜΑ
ΓΙΑ ΕΝΑ ΣΩΣΤΟ ΖΕΥΓΑΡΩΜΑ ΓΙΑ ΕΝΑ ΣΩΣΤΟ ΖΕΥΓΑΡΩΜΑ
ΓΙΑ ΕΝΑ ΣΩΣΤΟ ΖΕΥΓΑΡΩΜΑ
 
Metaheuristics
MetaheuristicsMetaheuristics
Metaheuristics
 
Introduction to PyTorch
Introduction to PyTorchIntroduction to PyTorch
Introduction to PyTorch
 
Flowchart of GA
Flowchart of GAFlowchart of GA
Flowchart of GA
 
Hyperparameter Optimization with Hyperband Algorithm
Hyperparameter Optimization with Hyperband AlgorithmHyperparameter Optimization with Hyperband Algorithm
Hyperparameter Optimization with Hyperband Algorithm
 
Operation research techniques
Operation research techniquesOperation research techniques
Operation research techniques
 
LIBTwinSVM: A Library for Twin Support Vector Machine
LIBTwinSVM: A Library for Twin Support Vector MachineLIBTwinSVM: A Library for Twin Support Vector Machine
LIBTwinSVM: A Library for Twin Support Vector Machine
 
neural-networks (1)
neural-networks (1)neural-networks (1)
neural-networks (1)
 
Image segmentation using a genetic algorithm and hierarchical local search
Image segmentation using a genetic algorithm and hierarchical local searchImage segmentation using a genetic algorithm and hierarchical local search
Image segmentation using a genetic algorithm and hierarchical local search
 
Introduction to Recurrent Neural Network
Introduction to Recurrent Neural NetworkIntroduction to Recurrent Neural Network
Introduction to Recurrent Neural Network
 
Optimization technique genetic algorithm
Optimization technique genetic algorithmOptimization technique genetic algorithm
Optimization technique genetic algorithm
 
A dual active bridge dc-dc converter for application in a smart user network
A dual active bridge dc-dc converter for application in a smart user networkA dual active bridge dc-dc converter for application in a smart user network
A dual active bridge dc-dc converter for application in a smart user network
 

Similar to STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM

Lecture 5 Quality Performance Tools & Techniques
Lecture 5  Quality Performance Tools & TechniquesLecture 5  Quality Performance Tools & Techniques
Lecture 5 Quality Performance Tools & Techniques
Tantish QS, UTM
 
Resource management techniques
Resource management techniquesResource management techniques
Resource management techniques
Dr Geetha Mohan
 
Project planning and scheduling techniques
Project planning and scheduling techniquesProject planning and scheduling techniques
Project planning and scheduling techniques
Shivangi Saini
 
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
Madhav Mishra
 
Clustering using GA and Hill-climbing
Clustering using GA and Hill-climbingClustering using GA and Hill-climbing
Clustering using GA and Hill-climbing
Fatemeh Karimi
 
Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...
Sunny Mervyne Baa
 
Test estimation session
Test estimation sessionTest estimation session
Test estimation session
Vipul Agarwal
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
AhmadSajjad34
 
'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015 'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015
Georgina Tilby
 
the application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEEthe application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEE
KiranKumar671235
 
Data Structure and Algorithms
Data Structure and AlgorithmsData Structure and Algorithms
Data Structure and Algorithms
iqbalphy1
 
Recommendation engine Using Genetic Algorithm
Recommendation engine Using Genetic AlgorithmRecommendation engine Using Genetic Algorithm
Recommendation engine Using Genetic Algorithm
Vaibhav Varshney
 
Allocating resources
Allocating resourcesAllocating resources
Allocating resources
Snigdha Vashishth
 
Design and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptxDesign and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptx
Syed Zaid Irshad
 
3.2 ANALYZE PHASE.pptx
3.2 ANALYZE PHASE.pptx3.2 ANALYZE PHASE.pptx
3.2 ANALYZE PHASE.pptx
nirajchaudhari27
 
fpbm- pg subject in Construction Managament
fpbm- pg subject in Construction Managamentfpbm- pg subject in Construction Managament
fpbm- pg subject in Construction Managament
deepika977036
 
[SEKE 2014] Practical Human Resource Allocation in Software Projects Using Ge...
[SEKE 2014] Practical Human Resource Allocation in Software Projects Using Ge...[SEKE 2014] Practical Human Resource Allocation in Software Projects Using Ge...
[SEKE 2014] Practical Human Resource Allocation in Software Projects Using Ge...
Jihun Park
 
A MULTI-POPULATION BASED FROG-MEMETIC ALGORITHM FOR JOB SHOP SCHEDULING PROBLEM
A MULTI-POPULATION BASED FROG-MEMETIC ALGORITHM FOR JOB SHOP SCHEDULING PROBLEMA MULTI-POPULATION BASED FROG-MEMETIC ALGORITHM FOR JOB SHOP SCHEDULING PROBLEM
A MULTI-POPULATION BASED FROG-MEMETIC ALGORITHM FOR JOB SHOP SCHEDULING PROBLEM
acijjournal
 
Algorithm For optimization.pptx
Algorithm For optimization.pptxAlgorithm For optimization.pptx
Algorithm For optimization.pptx
KARISHMA JAIN
 
Presentation
PresentationPresentation
Presentation
Akul1501
 

Similar to STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM (20)

Lecture 5 Quality Performance Tools & Techniques
Lecture 5  Quality Performance Tools & TechniquesLecture 5  Quality Performance Tools & Techniques
Lecture 5 Quality Performance Tools & Techniques
 
Resource management techniques
Resource management techniquesResource management techniques
Resource management techniques
 
Project planning and scheduling techniques
Project planning and scheduling techniquesProject planning and scheduling techniques
Project planning and scheduling techniques
 
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
Applied Artificial Intelligence Unit 4 Semester 3 MSc IT Part 2 Mumbai Univer...
 
Clustering using GA and Hill-climbing
Clustering using GA and Hill-climbingClustering using GA and Hill-climbing
Clustering using GA and Hill-climbing
 
Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...
 
Test estimation session
Test estimation sessionTest estimation session
Test estimation session
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015 'A critique of testing' UK TMF forum January 2015
'A critique of testing' UK TMF forum January 2015
 
the application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEEthe application of machine lerning algorithm for SEE
the application of machine lerning algorithm for SEE
 
Data Structure and Algorithms
Data Structure and AlgorithmsData Structure and Algorithms
Data Structure and Algorithms
 
Recommendation engine Using Genetic Algorithm
Recommendation engine Using Genetic AlgorithmRecommendation engine Using Genetic Algorithm
Recommendation engine Using Genetic Algorithm
 
Allocating resources
Allocating resourcesAllocating resources
Allocating resources
 
Design and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptxDesign and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptx
 
3.2 ANALYZE PHASE.pptx
3.2 ANALYZE PHASE.pptx3.2 ANALYZE PHASE.pptx
3.2 ANALYZE PHASE.pptx
 
fpbm- pg subject in Construction Managament
fpbm- pg subject in Construction Managamentfpbm- pg subject in Construction Managament
fpbm- pg subject in Construction Managament
 
[SEKE 2014] Practical Human Resource Allocation in Software Projects Using Ge...
[SEKE 2014] Practical Human Resource Allocation in Software Projects Using Ge...[SEKE 2014] Practical Human Resource Allocation in Software Projects Using Ge...
[SEKE 2014] Practical Human Resource Allocation in Software Projects Using Ge...
 
A MULTI-POPULATION BASED FROG-MEMETIC ALGORITHM FOR JOB SHOP SCHEDULING PROBLEM
A MULTI-POPULATION BASED FROG-MEMETIC ALGORITHM FOR JOB SHOP SCHEDULING PROBLEMA MULTI-POPULATION BASED FROG-MEMETIC ALGORITHM FOR JOB SHOP SCHEDULING PROBLEM
A MULTI-POPULATION BASED FROG-MEMETIC ALGORITHM FOR JOB SHOP SCHEDULING PROBLEM
 
Algorithm For optimization.pptx
Algorithm For optimization.pptxAlgorithm For optimization.pptx
Algorithm For optimization.pptx
 
Presentation
PresentationPresentation
Presentation
 

Recently uploaded

The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
Ashish Kohli
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
NelTorrente
 
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
RitikBhardwaj56
 
Delivering Micro-Credentials in Technical and Vocational Education and Training
Delivering Micro-Credentials in Technical and Vocational Education and TrainingDelivering Micro-Credentials in Technical and Vocational Education and Training
Delivering Micro-Credentials in Technical and Vocational Education and Training
AG2 Design
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
chanes7
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
AyyanKhan40
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
IreneSebastianRueco1
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
chanes7
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 

Recently uploaded (20)

The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
Aficamten in HCM (SEQUOIA HCM TRIAL 2024)
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
 
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
 
Delivering Micro-Credentials in Technical and Vocational Education and Training
Delivering Micro-Credentials in Technical and Vocational Education and TrainingDelivering Micro-Credentials in Technical and Vocational Education and Training
Delivering Micro-Credentials in Technical and Vocational Education and Training
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 

STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM

  • 2. • PROJECT GUIDE:- ARINDAM SINHA RAY • SUBMITTED BY:- AVAY MINNI DEBADITYA SARKAR RASHMI SAHA RAJESH KUMAR MAHTO
  • 3. CONTENTS • INTRODUCTION • GENETIC ALGORITHM • THEORY • THE BASIC GENETIC ALGORITHM • WHY TO USE GENETIC ALGORITHM • RESOURCE CONSTRAINT • GENERAL PROBLEM FORMULATION • TEST PROBLEM FORMULATION • REAL LIFE SCENARIO • FLOW CHART • RESOURCE CONTRAINED PROJECT SCHEDULING PROBLEM
  • 4. CONTENTS-II • PROPOSED SOLUTION METHODOLOGIES • ALGORITHM • RESULT ANALYSIS • SELF DEFINED FUNCTION • LINEAR PROGRAMMING FUNCTION • OPTIMIZATION FUNCTION OF GENETIC ALGORITHM • CONCLUSION • FUTURE SCOPE • REFERENCES
  • 5. INTRODUCTION • Planning and scheduling are common to many different engineering domains. Whether the project is as large as building an IT Office or something as seemingly simple as the redesign of the packaging for a tape dispenser, both planning and scheduling are profoundly important. • Even on a small project, the number of possible courses of action and the number of ways to allocate resources quickly become overwhelming. • This document describes a genetic algorithm for finding optimal solutions to resource constrained scheduling problems. It shows formulation for each scheduling problem variation, a single algorithm provides promising performance on different instances of the general problem. • The representation enforces precedence constraints, and the objective function measures both resource constraint violations and overall performance.
  • 6. GENETIC ALGORITHM • A genetic algorithm (or GA) is a search technique used in computing to find true or approximate solutions to optimization and search problems. • Genetic algorithms are categorized as global search heuristics. • Genetic algorithms are a particular class of evolutionary algorithms that use techniques inspired by evolutionary biology such as inheritance, mutation, selection, and crossover (also called recombination).
  • 7. THEORY • A genetic algorithm is a problem solving method that uses genetics as its model of problem solving. • It’s a search technique to find approximate solutions to optimization and search problems. • GA handles a population of possible solutions. Each solution is represented through a chromosome, which is just an abstract representation. • GA handles a population of possible solutions. Each solution is represented through a chromosome, which is just an abstract representation.
  • 8. THEORY • . Generally, the initial population is generated randomly. Then, the genetic algorithm loops over an iteration process to make the population evolve. • Each GA consists of the following steps: • 1) SELECTION: The first step consists in selecting individuals for reproduction. This selection is done randomly with a probability depending on the relative fitness of the individuals so that best ones are often chosen for reproduction than poor ones.
  • 9. THEORY • 2) REPRODUCTION: In the second step, offspring are bred by the selected individuals. For generating new chromosomes, the algorithm can use both recombination and mutation. • 3) EVALUATION: Then the fitness of the new chromosomes is evaluated. • 4) REPLACEMENT: During the last step, individuals from the old population are killed and replaced by the new ones. The algorithm is stopped when the population converges toward the optimal solution.
  • 10. THE BASIC GENETIC ALGORITHM The basic genetic algorithm is as follows: • [start] Genetic random population of n chromosomes (suitable solutions for the problem) • [Fitness] Evaluate the fitness f(x) of each chromosome x in the population • [New population] Create a new population by repeating following steps until the New population is complete - [selection] select two parent chromosomes from a population according to their fitness ( the better fitness, the bigger chance to get selected). - [crossover] With a crossover probability, cross over the parents to form new offspring ( children). If no crossover was performed, offspring is the exact copy of parents. - [Mutation] With a mutation probability, mutate new offspring at each locus (position in chromosome) - [Accepting] Place new offspring in the new population. • [Replace] Use new generated population for a further sum of the algorithm. • [Test] If the end condition is satisfied, stop, and return the best solution in current population. • [Loop] Go to step2 for fitness evaluation.
  • 11. WHY TO USE GENETIC ALGORITHM • Liability • Easy to discover global optimum. • GA uses fitness function for evolution rather than derivatives. • Almost all conventional optimization technique search from a single point but GAs always operate on a whole population of points(strings). • Easily modified for different problems. • They perform very well for large scale optimization problems. • Can be employed for a wide variety of optimization problems.
  • 12. RESOURCE CONSTRAINTS • A resource constraint is a limit on what can be done because of limitations on what is available to do it. • Resource abundance = shorter project duration and vice versa. • First identify peaks of resource requirements. • In practical, resources are finite . So , impractical for peak resource needs. • Ideally there should be even demand of resource for entire project. • This process of refining the plan to effectively manage and schedule resources is called resource modeling . -Resource Definition - Resource Allocation -Resource Aggregation -Resource Leveling
  • 13. RESOURCE DEFINITION • The first step in resource modeling is to decide exactly what resources are considered important enough to be modeled. • Most resource modeling is concerned with people or workers (such as welders or computer programmers), it may also include other resources such as machines (such as a computer of a particular specification), or space on a project where space is restricted and where this restriction limits the amount of other resources which can be deployed at any one time.
  • 14. RESOURCE ALLOCATION • Resource allocation, also called resource loading, is concerned with assigning the required number of those resources identified in the previous step to each activity identified in the plan • Resource allocation does not have to follow a constant pattern; some activities may initially require fewer resources but may require more of the same resources during the later stages of the project. • More than one type of resource may be attributed to a specific activity. • For example, fixing the plates on a ship's hull may require 10 fitters, 20 welders, 15 laborers and a certain type of welding machine.
  • 15. RESOURCE AGGREGATION • Resource aggregation, or resource loading, is simply the summation, on a period-by-period basis, of the resources required to complete all activities based on the resource allocation carried out in the previous stage. • The results are usually shown graphically as a histogram. • Such aggregation may be done on an hourly, daily, or weekly basis, depending on the time unit used to allocate resources. • When a bar chart is used as the planning tool, the resource aggregation is fairly simple and straightforward. For a given bar chart, there is a unique resource unit aggregation chart which can be drawn underneath the bar chart.
  • 16. RESOURCE AGGREGATION • . An example is shown in Figure 1 below, where, for a particular resource, the required resource units for each time period are annotated on the bar chart. The total number of resource units for each time period can then be summed and a resource aggregation or load chart can be produced. Figure . Resource Unit Aggregation Chart Derived from a Bar
  • 17. RESOURCE LEVELING • Resource leveling is the process that ensures resource demand does not exceed resource availability. Demand Compared to Resource Availability
  • 18. RESOURCE LEVELING • The ideal scenario would be a buildup of resource usage at the beginning of the project and a reduction at the end of the project. • The approach to resource leveling will also depend on whether resources are dedicated to a particular project or shared across several projects and whether there is a need to keep all resources fully utilized.
  • 19. GENERAL PROBLEM FORMULATION • The general form for a Linear Programming problem is as follows: • OBJECTIVE FUNCTION • minf(X1,X2,…,Xn):=c1X1+c2X2+…+cnXn(1) =ΣciXi • where, • X1,X2,…,Xn= Different Activities of the Project. • c1,c2,…,cn=Total resource consumed by each Activity. • subject to:-
  • 20. GENERAL PROBLEM FORMULATION TECHNOLOGICAL CONSTRAINTS • ai1X1+ai2X2+…+ainXn(≤ or = or ≥)bi,i =1 ,… ,m (2) • or, Axi (≤ or = or ≥) bi, i = 1 , … , m • where, • A = Matrix of Co-efficient of Linear Constant. • xi = Column Matrix of Variables. • bi= Column Matrix of Resources. SIGN RESTRICTIONS • ( Xj≥0) or (Xj≤0)or (Xjurs) , j=1,…,n(3) • where''urs'' implies unrestricted in sign.
  • 21. TEST PROBLEM FORMULATION • REAL LIFE SCENARIO • The development team that we are using as an example is going to develop an online store for a pet shop. Peter, the project manager of the development team, has decided to produce the first stable version of the online system by the end of this month. The following chart shows the planned schedule of this month.
  • 22. • The team is going to support three major functions in the first version. It begins with the register function. • After completion, the team will move on to the shopping cart function, which is an important and complex one that takes about two weeks of work. • The rest of the month will be allocated to supporting the printing function for sales statistic reports. • Each function involves a series of work, taken up by different team members. The following image shows work planned for each function.
  • 23. • Here is a brief description of the work: • Business Modeling - Understand the daily business operations of the pet shop. • Requirements - The sub-functions end user wants the system to come with. • Analysis & Design - Study how to support user's need and perform system designs (e.g. screen layout, page flow design). • Implementation - The coding work. • Testing - The process to ensure the functions required are supported and working as expected. • QA & Maintenance - Report bugs and suggestions for enhancements.
  • 25. The Resource-Constrained Project Scheduling Problem:- • The RCPSP is one of the most complex scheduling problems. It is considered as a generalization of many standard scheduling problems. • A RCPSP considers resources of limited availability and activities of known durations and resources request. The problem consists of finding a schedule of minimal duration by assigning a start time to each activity such that precedence relation and the resource availabilities are respected. • The RCPSP can be defined as a combinational optimization problem aims at finding a feasible solution by the help of a tuple (V,p,E,R,B,b). ---- Activities consisting the project are identified by set V={A0,….,An+1}. The set of non-dummy activities is identified by Ai={A1,…...An}. Durations are represented by vector p. Precedence relation are given by E, such that Ai precedes activity Aj.
  • 26. ---Availabilities of resources are represented by a vector B. such that Bk denotes the availability of Rk. R is called unary or disjunctive resource. Demands of activities for resources are abstracted by b. • A schedule is a point S such that Si represents the strat time of activity of Ai. • A solution S is feasible if it is compatible with the precedence constraints and resource constraints. Expressed as below ---- Sj-Si >= pi , for all (Ai,Aj) belongs to E (I) Sum of bik <= Bk , for all Rk belongs to R and t >= 0. (II) • The SCPSP is the problem of finding a non-preemptive schedule S to precedence constraints (I) and resources constraints (II).
  • 27. Ai A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 pi 0 6 1 1 2 3 5 3 3 0 bi 0 2 1 3 2 1 2 2 1 0 Si 0 1 1 1 7 2 2 8 5 0 PROBLEM: A RCPSP instance is given with n=8 real activities and |R|=1 resources with availabilities B = 5. MATRIX FORMULATION:- . Here, Ai = A0 to A9 A0= starting point for activities. A9= ending point of activities. A1, A2, …. , A8= activities. pi= durations for each activity. bi= availability of resources for each activity. Si= starting point of each activity
  • 29. • Min Z = 12A1+A2+3A3+4A4+3A5+10A6+6A7+3A8 • Subject to, • A2+3A3<= 5 • 2A1+A5+2A6<= 5 • 2A1+2A6<= 5 • 2A1+A8<= 5 • 2A4+A8<= 5 • 2A7<= 5 Mathematical Deduction:-
  • 30. PROPOSED SOLUTION METHODOLOGY • We have solve the problem in 3 ways obtaining the final value of the function. • These are as follows: • Self-Defined Functions. • Linear Programming Function (linprog). • Optimization Function of Genetic Algorithm (gatool).
  • 31. Functions used from matlab library
  • 32. Five Auxiliary functions used:- function e=vr(m,i) %The i-th co-ordinate vector e in the Euclidean Space • Create a matrix e of (m*1) where all the elements are Zero. • Fill the i-th position of matrix e, with 1. function d=delcols(d) %here delete the duplicate column of the matrix d. • Delete the repeated rows from the matrix d and return the sorted one. • Store the no. of columns of matrix d in n.
  • 33. • Create an empty Matrix j. • for k=1 to n • Assign column wise elements of Matrix d into c. • for l=k+1 to n • if(Maximum value from column subtraction for(lth-cth)column <= 100*eps) • copy the lth column into j matrix. • end if • end for • end for • if j is not empty • Sort each column of j matrix in ascending order. • Delete all the columns except 1st one of matrix d. • end if
  • 34. function [row,mi]=MRT(a,b) %The Minimum Ratio Test(MRT) performed on vector a & b. %Output Parameters are:- %row=index of the pivot row. %mi=value of the smallest ratio. • Store the length of the vector a into m. • Create a Matrix C with elements 1 to m. • Combine all the column into one column of Matrix a. • Combine all the column into one column of Matrix b. • If b>0,then assign the value of c into l. • Array right division of lth column of a & b. • Now, find the minimum from the Quotient matrix. • Store the min. value in mi & the index no. in row matrix. • Store the value of row-th index of l matrix into row.
  • 35. function col=MRTD(a,b) %The Maximum Ratio Test performed on vectors a and b. %This function is called form within the function dsimplex. %Output Parameter-:- %col-index of the pivot column. • Store the length of vector a into m. • Create a Matrix C with elements 1 to m. • Combine all columns into one column of matrix a. • Combine all columns into one column of matrix b. • If b<0,then assign the value of c into l. • Array right division of l-th column of a & b. • Now find the Max from quotient matrix. • Store the max value in mi and index no. in column. • Store the value of col-th index of l-th matrix into col.
  • 36. function[m,j]=Br(d) %Implementation of the Bland's rule applied to the array d. %This function is called from the following functions:- %Simplex2p,dsimplex,addconstr,simplex and cpa. %Output parameters:- %m=first negative no. in the array D. %j=index of entry m. • Find any less than zero elements in d and shows their index in vector matrix. • if ind is not empty • Store the index no. of first negative no. in j. • Store the first negative no. of matrix d in m. • else • create an empty matrix m. • create an empty matrix j. • end else-if
  • 37. function vert=feassol(A,B) %Basic feasible solution vert to the System of constraints %Ax=b, x>=0 %They are stored in column of matrix vert. • Store the value of row and column of matrix A into m & n respectively. • Stop the warning by Matlab. • Combine all the columns of b in one column. • Declare an empty matrix vert. • if (n>=m)//here column>=row • Create a matrix t with all possible combination from the range 1 to n taking m columns at a time.
  • 38. • nv=n!/(n-m)!m! • for i=1 to nv • a)Create zero matrix of row n and column 1. • b)(i)Choose the number from t-th column and i-th row of matrix A. • (ii)Divide the chosen element b & store the quotient into x. • if all(n>=0 &(n !=inf & n !=-inf)) • a)Assign n to the i-th row of t. • b)copy the y matrix into vert matrix.
  • 39. • end if • end for • else • show error message. • end else ifif vert is not empty • Delete the duplicate columns of vert matrix by calling delcols function • else • create an empty matrix vert. • end else if
  • 40. Function vert = extrpts(A,rel,b) %extreme points vert of the polyhedral set %x=(x:Ax<=b or Ax>=b, x>=0) %Inequality signs are =stored in the string rel e.g. rel=‘<<>’ stands for <=,<= & >= respectively. o Store the value of row & column of matrix A into m& n respectively. o Store the value of n in nlv o For i=1 to m o if rel =‘>’ o assign -1 to the i-th position of m*I mtrix by calling vr function. o copy the above matrix into A.
  • 41. Else o assign 1 to the ith position of m*I matrix by calling vr function. o End else if • if b(i)<0 • assign negative to all the ith row elements of A. • assign negative to i-th position of b. • end if • end for • Stop the warning by Matlab. • Combine all the columns of b in one column. • Declare an empty matrix vert. • if (n>=m)//here column>=row • Create a matrix t with all possible c combination from the range 1 to n taking m columns at a time.
  • 42. • nv=n!/(n-m)!m! • for i=1 to nv • a)Create zero matrix of row n and column 1. • b)(i)Choose the number from t-th column and i-th row of matrix A. • (ii)Divide the chosen element b & store the quotient into x. • if all(n>=0 &(n !=inf & n !=-inf)) • a)Assign n to the i-th row of t. • b)copy the y matrix into vert matrix. • end if • end for • else • show error message • end else if
  • 43. • Delete the duplicate columns of vert matrix by calling delcols function.
  • 44. PROPOSED SOLUTION METHODOLOGIES • LINEAR PROGRAMMING FUNCTION (linprog) • The Method Process is shown in the Next Part (Result Analysis) along with the Function Value. • OPTIMIZATION FUNCTION OF GENETIC ALGORITHM (gatool) • The Method Process is shown in the Next Part (Result Analysis) along with the Function Value & Graphs.
  • 45. RESULT ANALYSIS • SELF-DEFINED FUNCTIONS • VARIABLE DECLARATION • The standard form of the linear programming problem is formulated as follows. • min z = cTx • subject to ax = b ; x ≥ 0 where,
  • 46. • FEASIBLE SOLUTION • Function vert = feassol(a, b) computes all basic feasible solutions. • They are stored in columns of the matrix vert.
  • 47. • EXTREME POINTS • The extreme points of a feasible region are those boundary points that are intersections of the straight-line boundary segments of the region or The corners or vertices of the feasible region. • Given a polyhedral set x=(x:ax<=b or ax>=b, x>=0) find all extreme points of x. • Inequality signs are stored in the string rel e.g. rel=‘<<>’ stands for = , ≤ & ≥ respectively.
  • 48.
  • 49. • LINEAR PROGRAMMING FUNCTION (linprog) • Linear programming is the problem of finding a vector x that minimizes a linear function cTx subject to linear constraints: • min z = cTx • subject to ax = b • x ≥ 0 • Such that one or more of the following hold: ax ≤ b, Aeq x = beq, l ≤ x ≤ • VARIABLE DECLARATION
  • 50.
  • 51. • SOLUTION Here, linprog - Solve linear programming problems. exitflag - Integer identifying the reason the algorithm terminated. The value of exitflag and the corresponding reasons the algorithm terminated. exitflag = 1 Function converged to a solution x. Output - Structure containing information about the optimization. The field of the structure are: iterations: Number of iterations.
  • 52. OPTIMIZATION FUNCTION OF GENETIC ALGORITHM (gatool) • A genetic algorithm (GA) is a method for solving both constrained and unconstrained optimization problems based on a natural selection process that mimics biological evolution. • The algorithm repeatedly modifies a population of individual solutions. • At each step, the genetic algorithm randomly selects individuals from the current population and uses them as parents to produce the children for the next generation. • Over successive generations, the population "evolves" toward an optimal solution. VARIABLE DECLARATION • a, b, c, d, lb are the same matrices defined above. • a is the matrix of left-side of linear inequalities of constraints. • b is the matrix of right-side of linear inequalities of constraints. • c is the matrix of left-side of linear equalities of constraints. • d is the matrix of right-side of linear equalities of constraints. • lb is the matrix of lower bound where all is set to zero.
  • 53. • SOLUTION • USING COMMAND WINDOW Here, ga - Find minimum of function using genetic algorithm. @asr – Defined function of our given problem, stored in ‘m’ file named as asr.m.
  • 54. • USING GENETIC ALGORITHM TOOL BOX  To use the genetic algorithm at the command line, call the genetic algorithm function ga with the syntax[x fval] = ga(@fitnessfun, nvars, options)  where  @fitnessfun is a handle to the fitness function.  nvars is the number of independent variables for the fitness function.  options is a structure containing options for the genetic algorithm. If you do not pass in this argument, ga uses its default options.  The results are given by  x — Point at which the final value is attained.  fval — Final value of the fitness function.  Using the function ga is convenient if you want to  Return results directly to the MATLAB workspace.  Run the genetic algorithm multiple times with different options, by calling ga from a file.
  • 55. By the help of GA Tool Box we plot some graph to explain our output properly. By the help of GA Tool Box we plot some graph to explain our output properly.
  • 56. GRAPHS In above fig we plot 1.Best fitness & 2.Expectation graph, in Best fitness graph we easily identify two different line of fitness, one is Best fitness & other one is Mean fitness. Black colored line is for Best fitness & the fitness value is = 59.992. Red colored line is for Mean fitness & the fitness value is = 59.995. In Expectation graph we mainly do fitness scaling for given problem & find out the expected graph for better comparison.
  • 57. In fig 2 we plot six more graph, •In first we plot Current Best Individual, showing the current values of all the variables. •In second we plot Average Distance between Individual variables. •In third we plot three types of scores, Best Worst & Mean scores. • •In fourth we plot Range. Ranges specify the higher & the lower value of each individual variable. •In fifth we plot Fitness of Each Individual, showing the values for every variable. •In sixth we plot Selection of the offspring, depending on that we select the children as parent for next generation.
  • 58. CONCLUSION • The Resource Constrained Scheduling Problem is a very well- studied and indebt subject of Project Management & Optimization. • It has been widely researched & constantly being researched throughout the corporate as well as academic arena. • We have studied and implemented 3 different techniques for a particular type of Resource Constrained Scheduling Problem. • Comparing these 3 techniques, our find is that Genetic Algorithm is giving the best result.
  • 59. FUTURE SCOPE • We are very excited & encouraged by learning the Genetic Algorithm and being able to implement it in a very small dimension in Project Constrained Resource Scheduling Problem. • We are interested in implementing the GA tool to solve the Project Constrained Resource Scheduling Problem in multi-objective scenarios and also conflicting objective scenarios, where achieving one constraints means non-optimal solution of another constraints. • We are looking forward to endeavor in this domain.