algorithmic research
DESCRIPTION
Algorithmic research typesTRANSCRIPT
UNIT – 5
ALGORITHM RESEARCH
CONTENT:
IntroductionAlgorithmic Research ProblemsTypes of Algorithmic research problems
Introduction:
Algorithm:It is a sequence steps to solve a problem of interest.It is procedure for solving problem with special focus on solving problem using computer.
Some Standard Algorithms
Search algorithmsSorting algorithmsShortest path algorithmsMinimum spanning tree algorithmsBranch and bound algorithmsHungerian method for assignment method
Cont…
Simplex algorithm for linear programmingZero-one implicit enumeration algorithm for 0-1 programmingSimulated annealing algorithmGenetic algorithmTabu search algorithmGreedy algorithm for Travelling Salesman Problem
CONTENT:
IntroductionAlgorithmic Research ProblemsTypes of Algorithmic research problems
Algorithmic Research Problem
Research problems in different functional
areas of management
Production management
Marketing management
Financial management Personnel
management
Other areas
Production Management
Minimizing the mean tardiness in single scheduling problemMinimizing the weighted mean tardiness in single machine scheduling problemMinimizing the sum of the tardiness and earliness in single machine scheduling problemMinimizing the makespan in parallel machines scheduling problem
Minimizing the makespan in flowshop scheduling problemMaximizing the balancing efficiency of an assembly lineResource leveling and allocation in project networkAggregate planning problemMaster production planning problem
Dealer location problem W
arehouse lo cat ion pr ob lem
Salesman
assignment
problem
Pro
duct
pr
icin
g pr
oble
m
Media planning problem
Location
of after sales
service centers
Travelling
Salesman
problem
Loc
atio
n of
m
arke
tin
g br
anch
of
fice
s.
Problems in Marketing Management
Problems in Marketing Manageme
nt
Financial Management:
Determination of rate of return Capital budgeting
Exclusive Selection of mutually and
collectively exhaustive projects
Portfolio management
Personnel Management:
Problems in Personnel
ManagementEmployee
s in-house
training problem
Manpower planning problem
Allocation of fund to personnel activities
for improved
labor productivi
ty
Assignment
problem
Other Areas:
Fire stations location problem
Schools location problem
Branch banks location problem
Scheduling processors in
parallel computers
Encryption and decryption
Organization of B-tree.
CONTENT:
IntroductionAlgorithmic Research ProblemsTypes of algorithmic Research Problems
Types of algorithmic research problems:
Algorithmic problems
Polynomial problem
Combinational/ NP-hard problems
The algorithms for solving these real
life problems
Polynomial algorithms
Exponential algorithms
Polynomial algorithm for polynomial problem:
If the complexity of an algorithm for a problem is in polynomial form, then that algorithm is known as polynomial algorithm.It will take finite times to solve a problem optimally.The complexity of an algorithm means a function representing the number of steps required to solve a problem under the worst case behavior. An algorithm consists of a set of steps.For some problems, the algorithm will be executed for all its steps or for its subset of steps.The worst case behavior means the maximum number of steps executed for a problem.
The complexity of an algorithm,
n – problem sizef(n) – the time complexity function
The function is a polynomial order 4.The algorithm which has this function as its complexity function is known as polynomial functionThe worst case behavior of the algorithm is known as order of the algorithm.The highest polynomial of the given function is treated to be worst case.The order of this algorithm is O(n²)
Polynomial algorithm for polynomial problem:
The problems which will have polynomial time complexity function are called polynomial problems. These problems are solved in finite timeExamples of polynomial problem
Shortest path problemFinding the roots of a quadratic equationMinimizing mean flow time in single machine scheduling – SPT rule(Shortest Path Time)Minimizing the maximum tardiness in single machine scheduling problem – EDD(Earliest due date) rule is usedMinimizing the make span in 2 machines and n jobs case flow shop scheduling problem – Johnson’s algorithm is used for this problem.Greedy heuristic for travelling salesman problem.
Polynomial algorithm for polynomial problem:
Floyd’s Algorithm:
Step 1: Set k=0Step 2: From the initial distance matrix [D⁰] and the initial precedence matrix[P⁰] from the distance networkStep 3: Set k = k+1Step 4: Obtain the values of the distance matrix, [ ] for all the cells, where i is not equal to j using the following formula:
Step 5: Obtain the values of the precedence matrix, ], for all the cells, where i ≠ j
Step 6: if k=n go to step 7, otherwise, set k=k+1 and go to step-4Step 7:Trace the shortest path for a given combination of source node and destination node
7.1 : X-Source node, Y-Destination node7.2 : Fix Y node as the last node in the partially formed shortest path7.3: find the value from the final precedence matrix for the row corresponding to node X and the column corresponding to Y. Let it be Q. Prefix node Q in the partially formed shortest path.7.4 :Check whether Q is equal to X. If not so, set Y=Q and go to step 7.3; otherwise go to 7.57.5:The path constructed is the required shortest path from the source node X to the destination node Y.
Floyd’s Algorithm:
Complexity function:
Critical analysis of execution of steps are presented
The step-1 is executed only once.The step-2 will be executed n² times to read the distance matrix, [Dº]as well as the precedence matrix[Pº]Step-3 is repeated for one more timeIn each of the step-4 and the step-5, calculations for n² cells in the distance matrix, as well as in the precedence matrix, are done for n times.The step-6 is repeated for n times.In step-7, for a given source-destination combination, maximum of n set of calculations comparisons will be done if shortest path involves all the nodes of the network
Based on the explanations from (a) to (f), the time complexity function of Floyd’s algorithm is,f(n) = = 1+ 2a₂nᶟ+(1+a₃)na₁, a₂ , a₃ - ConstantsThe highest degree of the above polynomial is 3The worst case complexity function of Floyd’s algorithm is O(nᶟ)Floyd’s algorithm is a polynomial algorithm.This algorithm gives the optimal solution in terms of the shortest distance and the corresponding path for a given pair of source and destination node.
Example
W = D0 =40 5
2 0
-3 0
1 2 3
1
2
3
00 0
0 0 0
0 0 0
1 2 3
1
2
3
P =
1
2
3
5
-3
24
D1 =40 5
2 0 7
-3 0
1 2 3
1
2
3
00 0
0 0 1
0 0 0
1 2 3
1
2
3
P =
1
2
3
5
-324
D1[2,3] = min( D0[2,3], D0[2,1]+D0[1,3] )= min (, 7) = 7
D1[3,2] = min( D0[3,2], D0[3,1]+D0[1,2] )= min (-3,) = -3
40 5
2 0
-3 0
1 2 3
1
2
3
D0 =
D2 =40 5
2 0 7
-1 -3 0
1 2 3
1
2
3
00 0
0 0 1
2 0 0
1 2 3
1
2
3
P =
D2[1,3] = min( D1[1,3], D1[1,2]+D1[2,3] )= min (5, 4+7) = 5
D2[3,1] = min( D1[3,1], D1[3,2]+D1[2,1] )= min (, -3+2) = -1
1
2
3
5
-324
D1 = 40 5
2 0 7
-3 0
1 2 3
1
2
3
Exponential Algorithm for Combinatorial/ NP-hard Problem
If the time complexity function of an algorithm for a problem is in exponential form, then that algorithm is known as exponential algorithm.This kind of algorithm takes long time to solve a problem.Time complexity of some of the algorithms:
f(n) = n!f(n) = 15(2ⁿ + 3n² +20)f(n) = eⁿ+7n+2
n – Size of the problemf(n) – time complexity
If a graphical plot is made for each of these functions, the value of f(n) grows exponentially.This means that even for a small increment in n will cause a very large unproportionate positive in crease in f(n).The algorithm which are having such functions are known as ‘exponential algorithms’.The order of complexity of the three functions are O(n!), O(2ⁿ) and O(eⁿ) respectively.
Exponential Algorithm for Combinatorial/ NP-hard Problem
Exponential Algorithm for Combinatorial/ NP-hard ProblemThe problem which is having
exponential time complexity function is called combinatorial problem or NP-hard problem. NP –hard means non-polynomial hard problem.If the power of the time complexity function of an algorithm is the size of the problem(n) or if the time complexity function is in factorial form of the size of the problem(n!), then the order of the function is exponential and the corresponding problem is called combinatorial problem/NP-hard problem.
Some examples of combinatorial problems are…
Exponential Algorithm for Combinatorial/ NP-hard ProblemProblem Solution/
Technique
Travelling salesman problem aiming at optimal solution
The branch and bound method
Minimizing mean tardiness in single machine scheduling
The branch and bound method
Minimizing weighted mean tardiness in single machine scheduling problem
Complete enumeration technique
Minimizing sum of the weighted number of early and tardy jobs in single machine scheduling problem
Mathematical model or Complete enumeration technique
Machine-component cell formation in group technology
Mathematical model
Minimizing makespan in N machines and N jobs flowshop problem
Branch and bound technique
Minimizing the total number of facilities to serve a maximum number of customers under total covering problem
Mathematical model or Complete enumeration technique
Example of computing time complexity function of combinatorial problem
The minimizing the mean tardiness in single machine scheduling problem is solved using complete enumeration technique.It contains n different single operation jobs whose processing times and due dates are known.Generalized data of single machine scheduling problem
Job(i) Processing Time(t) Due date(d)
1 t₁ d₁
2 t₂ d₂
.
.
.
.
.
.
.
.
.
i tᵢ dᵢ
.
.
.
.
.
.
.
.
.
n tn dn
The objective of this problem is to find the sequence of jobs which minimizes the mean tardiness.The tardiness of the job i is as defined below:
Tᵢ = Cᵢ - dᵢ, if Cᵢ > dᵢ = 0, otherwise.Tᵢ - tardiness of job iCᵢ - Completion time of the job iDᵢ - Due date of job i
Growth of no.of Sequences versus Problem Size(n)Problem Size (n) No.Of.Sequences
(n!)
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800