0% found this document useful (0 votes)
36 views

Dynamic Programming Ieee PDF

Uploaded by

Sireesha RM
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Dynamic Programming Ieee PDF

Uploaded by

Sireesha RM
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Similarity Report ID: oid:22828:57595886

PAPER NAME AUTHOR

dynamic programming ieee.pdf Annie

WORD COUNT CHARACTER COUNT

3492 Words 20013 Characters

PAGE COUNT FILE SIZE

6 Pages 376.0KB

SUBMISSION DATE REPORT DATE

Apr 15, 2024 2:01 PM GMT+5:30 Apr 15, 2024 2:01 PM GMT+5:30

13% Overall Similarity


The combined total of all matches, including overlapping sources, for each database.
2% Internet database 3% Publications database
Crossref database Crossref Posted Content database
13% Submitted Works database

Excluded from Similarity Report


Bibliographic material Quoted material
Cited material Small Matches (Less then 10 words)

Summary
UNLOCK THE POWER OF DYNAMIC PROGRAMMING USING 0/1
KNAPSACK
11
Dr S. Suriya1, Anne Merin Mathew2
Associate Professor, Department of Computer Science and Engineering,
PSG College of Technology,Coimbatore, Tamil Nadu, India.
[email protected], [email protected]
2
PG Scholar, Department of Computer Science and Engineering,
PSG College of Technology,Coimbatore, Tamil Nadu, India.
[email protected]

Abstract - Dynamic Programming offers a powerful Knapsack can be either fully or none at all, with no
strategy for solving the 0/1 Knapsack Problem, which items being prohibited.
revolves around selecting items based on their values
and weights to maximize overall value without Manual Tracing of 0/1 Knapsack problem
surpassing a designated weight limit. By constructing a
dynamic programming table to store optimal solutions, Given N items, each with weight and profit.
this method proves instrumental in various practical 16
You have a bag with a maximum weight capacity of
scenarios like project scheduling and financial portfolio
optimization. Mastering dynamic programming for the W. Goal is to select some items to put into the bag in
Knapsack Problem equips individuals to tackle diverse such a way that their combined profits are maximized
6
optimization challenges efficiently and effectively. while ensuring that total weight of selected items not
exceeding the bag capacity by following some steps.
Keywords: Dynamic program , Knapsack , Optimal solution.
Example:
4
Here are the following items given are:
I. INTRODUCTION

A. Dynamic Programming Item 1: Weight =2, Value = 10


An algorithm design approach for optimization
Item 2: Weight =3, Value = 5
issues, which frequently include minimizing or
maximizing, is dynamic programming. An Item 3: Weight =5, Value = 15
optimization issue is divided into smaller
subproblems, and the solutions to each are stored Item 4: Weight =7, Value = 7
such that each subproblem need only be solved once. The maximum weight capacity given is 10
With this method, temporal complexities are reduced
from exponential to polynomial. Step1:
11
In two different ways we can store our values in Create a table where the rows represent the
which subproblem values can be stored such as: items (0 to 4) and columns represent the knapsack’s
weight capacity (0 to 10).
• Bottom Up approach – Begins with
smallest subproblems and builds up to
original program through iterative
calculation.

• Top Down approach – Begins with


main problem and breaks into smaller
subproblems through recursive method. Fig.1
B. 0/1 Knapsack Problem Step 2:

In mathematics and computer science, the Filling the table using dynamic program approach.
10
0/1 Knapsack problem is an optimization problem
where you have a set of objects, each with weight,
and a value with a restricted weight capacity. The
objective is to choose the goods to include in a way
that maximizes their combined worth and to ensure
5
that the overall weight of the items chosen does not
exceed the knapsack's capacity. The value of xi in 0/1
Fig.2
For item 1 (weight = 2, value = 10): II. LITERATURE SURVEY

If knapsack’s capacity is less than 2, the value Related Works – Dynamic Programming
can’t include in item 1, So the value remains 0.
In paper [1], gives a thorough summary of
For the other knapsack capacities research articles that solve deterministic machine
2,3,4,5,6,7,8,9,10 the item 1 with a value of 10 can scheduling challenges using dynamic programming
be included so the value remains 10 as there is no
and its variants. This paper discusses the applicability
other item to consider at this point.
of dynamic programming and its variants as problem-
For Item 2(weight = 3 , value = 5): solving techniques for deterministic machine
If knapsack’s capacity is less than 3, the value can’t scheduling.
include item 2,so value remains 0.
In paper [2], It is mostly concerned with
For other knapsack capacities discrete time step dynamic programming problems,
3,4,5, if capacity is 3 you can include item 2 with both stochastic and deterministic. Bellman's equation
value 5. For the capacities the value remains 5. and the principle of optimality are first compared.
For Item 3 (weight = 5, value = 15): This paper's application is the management of
multiple apps at once.
If Knapsack’s capacity is less than 5, you can’t
include item 3, so value remains 0. In Paper [3], provides a dynamic programming
For other capacities 5,6,7,8,9,10, method for figuring out the most illuminating
If capacity is 5 you can include item 3 with value of measurement order under various conditions.
15. For other capacities the value remains 15. Gaussian processes and Markov decision processes
are compared. This paper applies to autonomous
For item 4(weight = 7, value = 7): robotics as well as security and surveillance.
If knapsack’s capacity is less than 7, you can’t
include item 4, so value remains 0. In paper [4], outlines a few common issues,
including the optimum scheme problem and the
For other capacities of 7,8,9,10, if capacity shortest path problem. Effectiveness and
is 7 you can include item 4 with a value of 7. For dependability are contrasted. the use of dynamic
other capacities the value remains 7.
programming to solve environmental concerns
Step 3: related to system optimization.

9
To Determine the optimal solution from the In Paper [5], investigates the theoretical
table. The value in the bottom right side of table underpinnings and historical context of dynamic
represents the maximum value that can be obtained programming. The consistency solution and the
with Knapsack’s Capacity of 10. In this case the
inconsistency solution are compared. One of the
maximum value is 30.
applications is backward induction, which is based on
Step 4: Bellman's research.
Backtrack to find the optimal solution where In paper [6], a methodological paradigm for
we move from DP[4][10] and move from backward.
applying dynamic programming to large-scale
• Since DP [4][10] is equal to DP stochastic control problems. A comparison is shown
[3][10], it means that item 4 was between a reasonably straightforward approximation
not included in the optimal architecture and feature extraction. The applications
solution. shown here illustrate the drawbacks of some
• We move to DP [3][10], which is straightforward methods by showing the challenges
equal to DP [3][10], the same in integrating concise representations.
value, so item 3 was not included.
• Next DP [3][10], which is equal to In paper [7], around three of these sequencing issues.
DP [2][10], so item 2 was not The traveling salesman problem and describing the
included. IBM 7090 program's computational experience are
• At last DP [2][10]is not equal to compared. Applications such as the assembly line
DP [1][10], which means that item balance problem, the traveling salesman problem,
1 was included in optimal and arbitrary cost functions are included here.
solution.
So, the optimal solution is to included item 1 in In Paper [8], A strategy for dealing with the problems
Knapsack resulting in total value of 30. caused by the curse of dimensionality while handling
large-scale stochastic problems. The quality of
approximation is compared with the state relevance semi-Markov ϵ-optimal plans and issues with no
weights.Applications of this include queuing network known solution for positive dynamic programming
control experimental results, which offer are compared. A generalization of Dubins and
methodological support from empirical data. Savage's selection theorem serves as the main
instrument in this paper's applications.
In Paper [9], the dynamic programming surveys
using the proper approach and relevant process In paper [17], Mathematical techniques like linear
control issue. Neuro-Dynamic Programming (NDP) programming can be used to solve optimization
and Reinforcement Learning (RL) are compared. problems and determine the largest benefits or lowest
Approximate dynamic programming methods, costs. The applications utilized in this work include
specifically Reinforcement Learning and Neuro- the condition of the system at time step t, which offers
Dynamic Programming, are used to process control enough details to forecast the system's states at that
issues. point.

In Paper [10], methods for approximate dynamic In paper [18], regarding the step-by-step
programming for the single-vehicle routing problem explanations of the statistical dynamic programming
with stochastic needs. With a random base sequence, method used in system design. The applications
comparisons between two-step lookahead rollouts employed in this study aim to improve and maximize
were made. This program is built on effective rollout the system's overall utilization beforehand.
techniques.
In Paper [19] offers an overview of minimum
In paper [11], explains how to enhance the spanning tree techniques and conducted an empirical
dynamic programming-related model predictive investigation. In combinatorial optimization, one of
control (MPC) methodology. Stochastic constrained the most common and well-known issues is the
nonlinear and linear systems are compared. This minimum-weight spanning tree problem.
paper's applications include the efficient ADP
method. In paper [20], regarding the investigation of the
integer multiple criteria knapsack issue and suggest
In Paper [12], explains how the idea of methods based on dynamic programming. Other,
dynamic programming can be used to the resolution more complicated model issues beyond the knapsack
of different kinds of boundary value issues. The and dynamic method problems are compared. The
dynamic programming approach is compared with a binary multiple criteria knapsack problem with
family of problems and a single problem with a fixed multiple constraints and multiperiod time dependent
time. This article has several applications, ranging models is one of the applications of this work.
from basic optimization problems to stochastic
problems, variational problem calculus, and In Paper [21], Present a novel category of
differential equation numerical solution. algorithms that can be used to resolve a variety of
optimization issues, such as determining the best
In paper [13], explains how to approach dynamic storage strategy. Every deliberative choice is a
programming (ADP) using mathematics. The use of scheduling issue with a limited temporal horizon.
time scales calculus in ADP and its possible
importance in diverse applications are compared. In Related Works –0/1 Knapsack Problem
addition to telecommunications, robotics and In paper [22], the cooperative evolutionary
autonomous systems are employed. method for solving the bi-objective quadratic
In paper [14], explains the stochastic dynamic multiple knapsack problem, an NP-Hard
programming model, which uses the best estimate of combinatorial optimization problem. It begins by
the input for the current period. Applications such as employing the constraint operator-based approach to
Transferrable Knowledge and Stochastic Dynamic create an initial approximation of the Pareto front.
Programming are utilized. In Paper [23], gives Numerous real-world
In Paper [15], discusses the introduction to applications require handling of inaccurate data. The
multistage decision problems by Richard Bellman paper suggests expanding the standard solution to
and the rationale for the term "dynamic allow for numerous instances of the same object in
programming" Bellman's interest in multistage the solution with knapsack and to determine whether
decision issues is the basis for the applications. an acceptable degree of profit can be obtained.

In Paper [16], best strategies for dynamic In paper [24], reports on the successful
programming problems with discounts. Existing application of ant colony optimization to solve the
14
0/1 knapsack problem. Tests are conducted on that the maximum value for no items or zero capacity
examples to show how effective the suggested is zero. The algorithm iterates through each item and
algorithm is. capacity, calculating the optimal value for each
subproblem by considering whether to include the
In Paper [25], presents a deep learning and current item. The recurrence relation is established
neural network based heuristic solver for the based on the
8
comparison of weights and values. If the
knapsack problem. When there is a correlation weight of the current item is less than or equal to the
between the values and weights of the items, the current capacity, the maximum value is determined
solver neural model outperforms the greedy approach by either including or excluding the item. If the
in obtaining nearly optimal solutions. This ability to weight exceeds the capacity, the maximum value
generalize was evaluated on instances including up to remains the same as the value obtained without
including the current item. By iteratively filling the
200 items.
table in a bottom-up manner, the algorithm efficiently
In Paper [26], Analyze how three different computes the maximum value achievable with the
12
evolutionary multi-objective optimization (EMO) given items and knapsack capacity. The final result is
algorithm classes behave when dealing with found in the bottom-right cell of the table,
representing the optimal solution to the 0/1 Knapsack
numerous objective knapsack issues. Coefficients are
Problem.
specified at random to create test problems.

In paper [27], A project to solve the 0-1


IV. APPLICATIONS OF DYNAMIC PROGRAMMING
Knapsack Problem via a genetic algorithm. A
combinational optimization problem is the knapsack A. Basic applications of dynamic programming
problem. The selection functions employed in this
case are Roulette-Wheel, Tournament Selection, and Coin Change Problem:
Stochastic Selection. The resulting populations are 7
Dynamic programming is employed to solve the coin
examined for fitness value in an effort to find the right
change problem, where the goal is to determine the
answer, and the anticipated outcomes were noted.
minimum number of coins needed to make a specific
In Paper [28], The traditional approach to amount using a given set of coin denominations. The
solving the Knapsack Problem was enhanced, and an Dynamic programming approach considers each coin
algorithm for automatically creating paper based on denomination and calculates the minimum number of
the KP was introduced. Paper prioritizes the coins required to make different amounts, eventually
necessary requirements, classifies those goal solving the problem optimally.
parameters, and relaxes the restrictions on the
Shortest Path Problems:
parameters of generating paper.
3
Dynamic programming is applied to solve problems
In paper [29], emphasizes the topic's
like finding the shortest path in a graph, for instance,
theoretical and practical applications while
using Dijkstra's algorithm or the BellmanFord
discussing the many Knapsack problem kinds. In
algorithm. It works by breaking down the problem
order to avoid going over a specified maximum limit 19
into subproblems and calculating the shortest path
L, KP aims to choose a portion of the available goods
from the source to each node in the graph. This
with the maximum total weight.
dynamic programming approach optimizes the
In Paper [30], is to examine several overall computation of shortest paths, particularly in
paradigms for algorithm creation applied to the 0/1 scenarios like route planning and network
6
Knapsack Problem. The goal of the Knapsack optimization.
Problem is to maximize the usefulness of the items
Fibonacci Sequence:
within a knapsack while staying within its carrying
3
capacity. It is a combinatorial optimization problem. The Fibonacci sequence is a classic example of
It is an NP-complete problem that can be solved with dynamic programming. Dynamic programming is
heuristic and exact methods. used to efficiently calculate the nth Fibonacci number
III. ALGORITHM
by avoiding redundant calculations. Instead of
15
calculating Fibonacci numbers from scratch,
The dynamic programming approach for solving the dynamic programming stores previously computed
0/1 Knapsack Problem involves initializing
20
a 2D Fibonacci numbers and reuses them to compute
table to store intermediate results, with rows larger Fibonacci numbers, reducing the time
representing items and columns representing the complexity from exponential to linear.
knapsack capacity. The base cases are set, indicating
Output

B. Research related applications for dynamic


programming

Genome Sequence Alignment: .


B. implementation of 0/1 knapsack problem:
Dynamic programming is used in bioinformatics to
align DNA and protein sequences for the purpose of
identifying genetic similarities and differences.
Researchers develop advanced algorithms and
heuristics to handle large-scale sequence alignment
efficiently and accurately.

Optimal Control in Robotics:

Developing control algorithms for robots and


autonomous systems that involve making dynamic
decisions in real-time, taking into account complex,
changing environments. Dynamic programming
helps in optimizing control policies for tasks like path
planning and obstacle avoidance.

Wireless Sensor Network Optimization:

In the context of wireless sensor networks, Output


researchers may use the 0/1 Knapsack Problem to
optimize the selection of sensors for deployment.
Each sensor has associated costs (weight) and
18
benefits (value), and the objective is to maximize the C. Complexity analysis of dynamic programming
information gathered while staying within budget using 0/1 knapsack
constraints. 2
The time complexity of the bottom-up dynamic
programming approach is O(n * capacity), where 'n' is
V. EXPERIMENTAL RESULTS - AND DISCUSSION – 0/1 the number of items and 'capacity' is the capacity of
KNAPSACK PROBLEM the knapsack. This is because we fill up a 2D table of
13
size (n+1) x (capacity+1) in a nested loop, and each
A. dynamic programming using python program:
cell takes constant time to compute.

The space complexity is also O(n * capacity) because


5
we use a 2D array (dp) of size (n+1) x (capacity+1) to
store the intermediate results. This space is used to
memoize the solutions to subproblems, allowing us to
avoid redundant calculations. If memory optimization
17
is a concern, it's possible to reduce the space
complexity to O(capacity) by using a 1D array since
we only need the results of the previous row during
computation.
VI. CONCLUSION

To sum up, the 0/1 Knapsack Problem is an


important optimization problem having many
applications in computer science, mathematics, and
real-world decision-making situations. We can
effectively tackle this problem by dividing it into
smaller subproblems and storing the best solutions
thanks to dynamic programming. Dynamic
programming allows us to effectively address a
variety of optimization problems and minimize
temporal complexity, regardless of whether the Stedinger, Bola F. Sule, Daniel P. Loucks,
Bottom-Up or Top-Down technique is used. It also Volume20, Issue11, Pages 1499-1505.
[18] Richard Bellman on the Birth of Dynamic
provides individuals with useful skills that they can
Programming , Stuart Dreyfus, . Operations
apply in real-world scenarios, such as project Research 50(1):48-51.
scheduling, financial portfolio optimization, and [19] Optimal Plans for Dynamic Programming
resource allocation. Problems”, C. J. Himmelberg, T. Parthasarathy,
F. S. VanVleck,Vol no 1,4.
REFERENCES [20] Complex decisions made simple: a primer on
stochastic dynamic programming,Eric
[1] Dynamic Programming algorithms and their Marboutin,Oliver Gimenez,Volume4 ,Issue
applications in machine scheduling, Edson 9,September 2013,pp. 872-884.
Antônio Gonçalves de Souza, Marcelo Seido [21] Robust Dynamic Programming”, Garud N.
Nagano Journal of ELSIEVER Volume 190, Iyengar,Vol no 30,No :2 Published Online:1 May
116180. 2005.
[2] Dynamic Programming Basic Concepts and [22] Discounted Dynamic
Applications, K.Neumann, Conference Paper Programming,DavidBlackwell,Vol.36,No.1,
published in Springler, pp 31–56. pp.226-235.
[3] A Dynamic Programming Algorithm for Finding [23] The Linear Programming Approach to
an Optimal Sequence of Informative Approximate Dynamic Programming, D. P. de
Measurements Peter N Loxley and Ka Wai Farias and B. Van Roy,Volno 51,No 6, Published
Cheung, Entropy 2023, 25(2), 251. Online:1 Dec 2003.
[4] The Application of dynamic programming in the [24] Fast dynamic programming with application to
system optimization of environmental problem storage planning, Robin Girard, Vincent
Jingjing Zhao a, Baoyou Liub and Fuxiang Weic, Barbesant, Center PERSEE of MINES
(ICSEM-13) ParisTech, [email protected],
[5] Dynamic Programming for Stationary, RTE.
Markovian, Infinite Horizon [25] Effect of learning strategies in an evolutionary
[6] Problems”, John Rust, New Palgrave Dictionary method: the case of the biobjective quadratic
of Economics. multiple knapsack problem Méziane Aïder,
[7] Feature-Based Methods for Large Scale Oussama Gacem, pp 1183–12 09 (2023).
Dynamic Programming” John N. Tsitsi Klis & [26] A study Report on Solving 0-1 Knapsack
Benjamin Van Roy , 59–94 Problem with Imprecise Data,
[8] A Dynamic Programming Approach to [27] Jayashree Padmanabhan, Swagath S, 2017
Sequencing Problems”, Michael Held and International Conference on Computer
Richard M. Karp ,Vol10,Conefrence paper. Communication and Informatics (ICCCI -2017),
[9] The Linear Programming Approach to Jan. 05 – 07, 2017.
Approximate Dynamic Programming, D. P. de [28] A New Approach for solcing 0/1Knapsack
Farias and B. Van Roy,Volno 51,No 6, Published Problem,Chou-Yuvan Lee, Zne-Jung Lee 2006
Online:1 Dec 2003 IEEE International Conference and
[10] Approximate Dynamic Programming Strategies Informatics,Man and cybernetics.
and Their Applicability for Process Control: A [29] Neural Knapsack: A Neural Network based
Review and Future Directions, Jong Min Lee and solver for the Knapsack
Jay H. Lee, International Journal of Control, [30] Problem, HAZEM A. A. NOMER, KHALID
Automation, and Systems, vol. 2, no. 3, pp. 263- ALNOWIBET, ACCESS.2020.3044005, IEEE
278. Access.
[11] An approximate dynamic programming [31] Behavior of Multiobjective Evolutionary
approach for the vehicle routing problem with Algorithms on Many-Objective Knapsack
stochastic demands” Clara Novoa and Robert Problems, Hisao Ishibuchi, Fellow, IEEE, Naoya
Storer, Volume 196, Issue 2, 16 July 2009, Pages Akedo, and
509-515. [32] Yusuke Nojima, Member, IEEE. VOL. 19, NO.
[12] Approximate dynamic programming approach 2.Dutta, S., Patra, D., Shankar, H. and Alok
for process control Jay H. Lee and Weechin Verma, P., 2014.
Wong, Volume 20, Issue 9, October 2010, Pages [33] Solving 0-1 Knapsack Problem Using Genetic
1038-1048 Algorithms, Rattan Preet Singh, University
[13] Functional equations in dynamic programming” , School of Information Technology,IEEE access.
RICHARD BELLMAN And E. STANLEY LEE, [34] Algorithm of On-line Generating Paper Based on
Aequationes Mathematicae 17 1-18 Knapsack Problem, Peiguang Lin, Mei Sun, 2008
[14] Hamilton–Jacobi–Bellman Equations and International Seminar on Future Information
Approximate Dynamic Technology .
[15] Programming on Time Scales” John Seiffertt; [35] A Survey of the Knapsack Problem, Maram Assi
Suman Sanyal; Donald C. and Ramzi A. Haraty, Lebanese American
[16] Wunsch, IEEE Transactions on Systems, Man, University online conference access.
and Cybernetics, Part B Cybernetics Volume: 38.
[17] Stochastic dynamic programming models for
reservoir operation optimization” Jery R.
Similarity Report ID: oid:22828:57595886

13% Overall Similarity


Top sources found in the following databases:
2% Internet database 3% Publications database
Crossref database Crossref Posted Content database
13% Submitted Works database

TOP SOURCES
The sources with the highest number of matches within the submission. Overlapping sources will not be
displayed.

University of KwaZulu-Natal on 2020-05-18


1 1%
Submitted works

Florida Institute of Technology on 2023-06-17


2 1%
Submitted works

Chandigarh Group of Colleges on 2023-08-01


3 <1%
Submitted works

Institute of Aeronautical Engineering (IARE) on 2023-09-21


4 <1%
Submitted works

North American University on 2023-12-10


5 <1%
Submitted works

University of Central England in Birmingham on 2023-05-08


6 <1%
Submitted works

Felician College on 2023-11-08


7 <1%
Submitted works

Manipal University on 2024-02-14


8 <1%
Submitted works

Sources overview
Similarity Report ID: oid:22828:57595886

Institute of Aeronautical Engineering (IARE) on 2023-09-21


9 <1%
Submitted works

University of Surrey on 2023-01-17


10 <1%
Submitted works

Manipal University on 2024-01-14


11 <1%
Submitted works

Manipal University on 2024-02-04


12 <1%
Submitted works

National University of Ireland, Maynooth on 2023-05-24


13 <1%
Submitted works

Manipal University on 2024-01-05


14 <1%
Submitted works

Manipal University on 2024-01-28


15 <1%
Submitted works

Institute of Aeronautical Engineering (IARE) on 2023-09-21


16 <1%
Submitted works

Loughborough University on 2023-05-03


17 <1%
Submitted works

Mietha Anditta, Natashya Amartya, Laurens Spits Warnars, Harco Lesli...


18 <1%
Crossref

Manipal University on 2024-01-31


19 <1%
Submitted works

Manipal University on 2024-02-25


20 <1%
Submitted works

Sources overview

You might also like