SlideShare a Scribd company logo
1 of 60
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

Boundary Value Analysis and Equivalence class Partitioning Testing.pptx
Boundary Value Analysis and Equivalence class Partitioning Testing.pptxBoundary Value Analysis and Equivalence class Partitioning Testing.pptx
Boundary Value Analysis and Equivalence class Partitioning Testing.pptx
landesc
 
Tqm basic concepts-of_quality_comp_mode
Tqm basic concepts-of_quality_comp_modeTqm basic concepts-of_quality_comp_mode
Tqm basic concepts-of_quality_comp_mode
jamshidnikzad7
 
Prediction Of Soaked Cbr For Coarse Grained Soil Mixtures Condensed To 10 Pages
Prediction Of Soaked Cbr For Coarse Grained Soil Mixtures Condensed To 10 PagesPrediction Of Soaked Cbr For Coarse Grained Soil Mixtures Condensed To 10 Pages
Prediction Of Soaked Cbr For Coarse Grained Soil Mixtures Condensed To 10 Pages
pmcgough
 
Segurança na Interoperabilidade de Redes TCP IP
Segurança na  Interoperabilidade de Redes TCP IPSegurança na  Interoperabilidade de Redes TCP IP
Segurança na Interoperabilidade de Redes TCP IP
Bruno Milani
 

What's hot (20)

Total quality management
Total quality managementTotal quality management
Total quality management
 
Boundary Value Analysis and Equivalence class Partitioning Testing.pptx
Boundary Value Analysis and Equivalence class Partitioning Testing.pptxBoundary Value Analysis and Equivalence class Partitioning Testing.pptx
Boundary Value Analysis and Equivalence class Partitioning Testing.pptx
 
Customer: Focus, satisfaction, Complaints, Retention and orientation
Customer: Focus, satisfaction, Complaints, Retention and orientationCustomer: Focus, satisfaction, Complaints, Retention and orientation
Customer: Focus, satisfaction, Complaints, Retention and orientation
 
Викторина для тестировщиков
Викторина для тестировщиковВикторина для тестировщиков
Викторина для тестировщиков
 
Distress in flexible pavement
Distress in flexible pavementDistress in flexible pavement
Distress in flexible pavement
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Geotechnical Engineering-II [Lec #5: Triaxial Compression Test]
Geotechnical Engineering-II [Lec #5: Triaxial Compression Test]Geotechnical Engineering-II [Lec #5: Triaxial Compression Test]
Geotechnical Engineering-II [Lec #5: Triaxial Compression Test]
 
Stress distribution of the soil
Stress distribution of the soilStress distribution of the soil
Stress distribution of the soil
 
Qfd ppt
Qfd pptQfd ppt
Qfd ppt
 
Chapter 3 -consolidation notes
Chapter 3 -consolidation notesChapter 3 -consolidation notes
Chapter 3 -consolidation notes
 
Tqm basic concepts-of_quality_comp_mode
Tqm basic concepts-of_quality_comp_modeTqm basic concepts-of_quality_comp_mode
Tqm basic concepts-of_quality_comp_mode
 
Bearing capacity of rock
Bearing capacity of  rockBearing capacity of  rock
Bearing capacity of rock
 
Predicting Cab Booking Cancellations- Data Mining Project
Predicting Cab Booking Cancellations- Data Mining ProjectPredicting Cab Booking Cancellations- Data Mining Project
Predicting Cab Booking Cancellations- Data Mining Project
 
Test management
Test managementTest management
Test management
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Prediction Of Soaked Cbr For Coarse Grained Soil Mixtures Condensed To 10 Pages
Prediction Of Soaked Cbr For Coarse Grained Soil Mixtures Condensed To 10 PagesPrediction Of Soaked Cbr For Coarse Grained Soil Mixtures Condensed To 10 Pages
Prediction Of Soaked Cbr For Coarse Grained Soil Mixtures Condensed To 10 Pages
 
Acceptance sampling
Acceptance samplingAcceptance sampling
Acceptance sampling
 
Using the test process improvement models. Case study based on TPI Next model...
Using the test process improvement models. Case study based on TPI Next model...Using the test process improvement models. Case study based on TPI Next model...
Using the test process improvement models. Case study based on TPI Next model...
 
Segurança na Interoperabilidade de Redes TCP IP
Segurança na  Interoperabilidade de Redes TCP IPSegurança na  Interoperabilidade de Redes TCP IP
Segurança na Interoperabilidade de Redes TCP IP
 
Unit iv-testing-pune-university-sres-coe
Unit iv-testing-pune-university-sres-coeUnit iv-testing-pune-university-sres-coe
Unit iv-testing-pune-university-sres-coe
 

Similar to STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM

fpbm- pg subject in Construction Managament
fpbm- pg subject in Construction Managamentfpbm- pg subject in Construction Managament
fpbm- pg subject in Construction Managament
deepika977036
 

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

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Recently uploaded (20)

This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 

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.