This document describes using a genetic algorithm to solve resource constrained project scheduling problems. It begins with an introduction explaining that planning and scheduling projects involves managing many possible solutions and resource allocations. It then provides sections on genetic algorithms, the basic genetic algorithm process, and why genetic algorithms are suitable for this type of optimization problem. The document outlines the general formulation of resource constrained project scheduling as a linear programming problem and provides an example problem scenario. It includes flowcharts and discusses implementing the proposed genetic algorithm solution methodology.
The GENETIC ALGORITHM is a model of machine learning which derives its behavior from a metaphor of the processes of EVOLUTION in nature. Genetic Algorithm (GA) is a search heuristic that mimics the process of natural selection. This heuristic (also sometimes called a metaheuristic) is routinely used to generate useful solutions to optimization and search problems.
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems by relying on bio-inspired operators such as mutation, crossover and selection.
Ένα κομμάτι για ένα σωστό ζευγάρωμα από το αρχείο του συλλόγου, χαρισμένο από τον κ. Σμυρλή Κωνσταντίνο Εθνικό κριτή καναρινιών τύπου ,που θα βοηθήσει σημαντικά τους νεότερους αλλά και του παλαιότερους.....
Basic concept of Deep Learning with explaining its structure and backpropagation method and understanding autograd in PyTorch. (+ Data parallism in PyTorch)
LIBTwinSVM: A Library for Twin Support Vector MachineAmir M. Mir
Presented at Data Social lab, Computer Science and Mathematics faculty, Delft University of Technology
Nov. 13, 2019
Project GitHub page: https://github.com/mir-am/LIBTwinSVM
Image segmentation using a genetic algorithm and hierarchical local searchMartin Pelikan
This paper proposes a hybrid genetic algorithm to perform image segmentation based on applying the q-state Potts spin glass model to a grayscale image. First, the image is converted to a set of weights for a q-state spin glass and then a steady-state genetic algorithm is used to evolve candidate segmented images until a suitable candidate solution is found. To speed up the convergence to an adequate solution, hierarchical local search is used on each evaluated solution. The results show that the hybrid genetic algorithm with hierarchical local search is able to efficiently perform image segmentation. The necessity of hierarchical search for these types of problems is also clearly demonstrated.
For three decades, many mathematical programming methods have been developed to solve optimization problems. However, until now, there has not been a single totally efficient and robust method to coverall optimization problems that arise in the different engineering fields.Most engineering application design problems involve the choice of design variable values that better describe the behaviour of a system.At the same time, those results should cover the requirements and specifications imposed by the norms for that system. This last condition leads to predicting what the entrance parameter values should be whose design results comply with the norms and also present good performance, which describes the inverse problem.Generally, in design problems the variables are discreet from the mathematical point of view. However, most mathematical optimization applications are focused and developed for continuous variables. Presently, there are many research articles about optimization methods; the typical ones are based on calculus,numerical methods, and random methods.
The calculus-based methods have been intensely studied and are subdivided in two main classes: 1) the direct search methods find a local maximum moving a function over the relative local gradient directions and 2) the indirect methods usually find the local ends solving a set of non-linear equations, resultant of equating the gradient from the object function to zero, i.e., by means of multidimensional generalization of the notion of the function’s extreme points from elementary calculus given smooth function without restrictions to find a possible maximum which is to be restricted to those points whose slope is zero in all directions. The real world has many discontinuities and noisy spaces, which is why it is not surprising that the methods depending upon the restrictive requirements of continuity and existence of a derivative, are unsuitable for all, but a very limited problem domain. A number of schemes have been applied in many forms and sizes. The idea is quite direct inside a finite search space or a discrete infinite search space, where the algorithms can locate the object function values in each space point one at a time. The simplicity of this kind of algorithm is very attractive when the numbers of possibilities are very small. Nevertheless, these outlines are often inefficient, since they do not complete the requirements of robustness in big or highly-dimensional spaces, making it quite a hard task to find the optimal values. Given the shortcomings of the calculus-based techniques and the numerical ones the random methods have increased their popularity.
A dual active bridge dc-dc converter for application in a smart user networkAlessandro Burgio
Abstract—The paper presents a dual active bridge converter, i.e. an isolated bidirectional DC/DC converter composed of two full-bridge DC/AC converters and an isolation high frequency (HF) transformer, useful for application in a DC-powered microgrid. The dual active bridge converter connects a battery energy storage system to a DC bus so to provide a high level of reliability and resilience to grid disturbances. In particular, the proposed converter ensures a stable DC bus voltage when the microgrid is operated in islanded mode. Numerical results demonstrate the good dynamic response of the converter under transient condition of
The GENETIC ALGORITHM is a model of machine learning which derives its behavior from a metaphor of the processes of EVOLUTION in nature. Genetic Algorithm (GA) is a search heuristic that mimics the process of natural selection. This heuristic (also sometimes called a metaheuristic) is routinely used to generate useful solutions to optimization and search problems.
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems by relying on bio-inspired operators such as mutation, crossover and selection.
Ένα κομμάτι για ένα σωστό ζευγάρωμα από το αρχείο του συλλόγου, χαρισμένο από τον κ. Σμυρλή Κωνσταντίνο Εθνικό κριτή καναρινιών τύπου ,που θα βοηθήσει σημαντικά τους νεότερους αλλά και του παλαιότερους.....
Basic concept of Deep Learning with explaining its structure and backpropagation method and understanding autograd in PyTorch. (+ Data parallism in PyTorch)
LIBTwinSVM: A Library for Twin Support Vector MachineAmir M. Mir
Presented at Data Social lab, Computer Science and Mathematics faculty, Delft University of Technology
Nov. 13, 2019
Project GitHub page: https://github.com/mir-am/LIBTwinSVM
Image segmentation using a genetic algorithm and hierarchical local searchMartin Pelikan
This paper proposes a hybrid genetic algorithm to perform image segmentation based on applying the q-state Potts spin glass model to a grayscale image. First, the image is converted to a set of weights for a q-state spin glass and then a steady-state genetic algorithm is used to evolve candidate segmented images until a suitable candidate solution is found. To speed up the convergence to an adequate solution, hierarchical local search is used on each evaluated solution. The results show that the hybrid genetic algorithm with hierarchical local search is able to efficiently perform image segmentation. The necessity of hierarchical search for these types of problems is also clearly demonstrated.
For three decades, many mathematical programming methods have been developed to solve optimization problems. However, until now, there has not been a single totally efficient and robust method to coverall optimization problems that arise in the different engineering fields.Most engineering application design problems involve the choice of design variable values that better describe the behaviour of a system.At the same time, those results should cover the requirements and specifications imposed by the norms for that system. This last condition leads to predicting what the entrance parameter values should be whose design results comply with the norms and also present good performance, which describes the inverse problem.Generally, in design problems the variables are discreet from the mathematical point of view. However, most mathematical optimization applications are focused and developed for continuous variables. Presently, there are many research articles about optimization methods; the typical ones are based on calculus,numerical methods, and random methods.
The calculus-based methods have been intensely studied and are subdivided in two main classes: 1) the direct search methods find a local maximum moving a function over the relative local gradient directions and 2) the indirect methods usually find the local ends solving a set of non-linear equations, resultant of equating the gradient from the object function to zero, i.e., by means of multidimensional generalization of the notion of the function’s extreme points from elementary calculus given smooth function without restrictions to find a possible maximum which is to be restricted to those points whose slope is zero in all directions. The real world has many discontinuities and noisy spaces, which is why it is not surprising that the methods depending upon the restrictive requirements of continuity and existence of a derivative, are unsuitable for all, but a very limited problem domain. A number of schemes have been applied in many forms and sizes. The idea is quite direct inside a finite search space or a discrete infinite search space, where the algorithms can locate the object function values in each space point one at a time. The simplicity of this kind of algorithm is very attractive when the numbers of possibilities are very small. Nevertheless, these outlines are often inefficient, since they do not complete the requirements of robustness in big or highly-dimensional spaces, making it quite a hard task to find the optimal values. Given the shortcomings of the calculus-based techniques and the numerical ones the random methods have increased their popularity.
A dual active bridge dc-dc converter for application in a smart user networkAlessandro Burgio
Abstract—The paper presents a dual active bridge converter, i.e. an isolated bidirectional DC/DC converter composed of two full-bridge DC/AC converters and an isolation high frequency (HF) transformer, useful for application in a DC-powered microgrid. The dual active bridge converter connects a battery energy storage system to a DC bus so to provide a high level of reliability and resilience to grid disturbances. In particular, the proposed converter ensures a stable DC bus voltage when the microgrid is operated in islanded mode. Numerical results demonstrate the good dynamic response of the converter under transient condition of
'A critique of testing' UK TMF forum January 2015 Georgina Tilby
This presentation draws upon the 'Critique of Testing' Ebook that was discussed at January's UK TMF forum. The slides explore the fundamental concepts of test case design and provide a detailed analysis of each method in terms of them.
Mobile Recommendation Engine
collaborative filtering and content based approach in hybrid manner then Genetic Algorithm for Enhancement of the Recommendation Engine. by this marketers also will get the unique characteristics of the product that must be created and also recommend to the user.
A MULTI-POPULATION BASED FROG-MEMETIC ALGORITHM FOR JOB SHOP SCHEDULING PROBLEMacijjournal
The Job Shop Scheduling Problem (JSSP) is a well known practical planning problem in the
manufacturing sector. We have considered the JSSP with an objective of minimizing makespan. In this
paper, we develop a three-stage hybrid approach called JSFMA to solve the JSSP. In JSFMA,
considering a method similar to Shuffled Frog Leaping algorithm we divide the population in several sub
populations and then solve the problem using a Memetic algorithm. The proposed approach have been
compared with other algorithms for the Job Shop Scheduling and evaluated with satisfactory results on a
set of the JSSP instances derived from classical Job Shop Scheduling benchmarks. We have solved 20
benchmark problems from Lawrence’s datasets and compared the results obtained with the results of the
algorithms established in the literature. The experimental results show that JSFMA could gain the best
known makespan in 17 out of 20 problems.
A large number of queries are been posed daily on databases spread across the globe. In order for processing these queries efficiently, the best strategies to generate plans are being devised. In distributed relational database systems, due to replica of relations at different sites, the relations required to answer a query might necessitate accessing of data from many different sites. This leads in exponential increase in the number of possible alternative query plans to process a query. Though it is not computationally feasible for exploring all possible query plans in such a vast search space, the query plan that provides the most cost-effective option for query processing is considered to be necessary and should be generated for a given query. Here in this project of ours, an effort has been made to give best possible query plans using Particle Swarm Optimization (PSO), Genetic Algorithm (GA) and other soft computing techniques. Experimental comparisons of this algorithm with the GA based distributed query plan generation algorithm and it proves that for more number of relations, PSO based algorithm is able to generate better query plans.
Similar to STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM (20)
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...NelTorrente
In this research, it concludes that while the readiness of teachers in Caloocan City to implement the MATATAG Curriculum is generally positive, targeted efforts in professional development, resource distribution, support networks, and comprehensive preparation can address the existing gaps and ensure successful curriculum implementation.
The simplified electron and muon model, Oscillating Spacetime: The Foundation...RitikBhardwaj56
Discover the Simplified Electron and Muon Model: A New Wave-Based Approach to Understanding Particles delves into a groundbreaking theory that presents electrons and muons as rotating soliton waves within oscillating spacetime. Geared towards students, researchers, and science buffs, this book breaks down complex ideas into simple explanations. It covers topics such as electron waves, temporal dynamics, and the implications of this model on particle physics. With clear illustrations and easy-to-follow explanations, readers will gain a new outlook on the universe's fundamental nature.
Delivering Micro-Credentials in Technical and Vocational Education and TrainingAG2 Design
Explore how micro-credentials are transforming Technical and Vocational Education and Training (TVET) with this comprehensive slide deck. Discover what micro-credentials are, their importance in TVET, the advantages they offer, and the insights from industry experts. Additionally, learn about the top software applications available for creating and managing micro-credentials. This presentation also includes valuable resources and a discussion on the future of these specialised certifications.
For more detailed information on delivering micro-credentials in TVET, visit this https://tvettrainer.com/delivering-micro-credentials-in-tvet/
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
This slide is special for master students (MIBS & MIFB) in UUM. Also useful for readers who are interested in the topic of contemporary Islamic banking.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
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).
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.