Algorithm 5.7 The Backtracking Algorithm for the 0-1 Knapsack Problem Problem: Let n items be given, where each item has a weight and a profit. The weights and profits are positive integers. Furthermore, let a positive integer W be given. Determine a set of items with maximum total profit, under the constraint that the sum of their weights cannot exceed W. Inputs: Positive integers n and W; arrays w and p, each indexed from 1 to n, and each containing positive integers sorted in nonincreasing order according to the values of p[i]/w[i]. Outputs: an array bestset indexed from 1 to n, where the values of bestset[i] is "yes" if the ith item is included in the optimal set and is "no" otherwise; an integer maxprofit that is the maximum profit. BACKTRACKING void knapsack (index i, 1 int profit, int weight) if (weight W && profit > maxprofit){\ } maxprofit numbest = i; profit; bestset include; if (promising (i)){ include [i+1] = "yes"; This set is best // so far. // Set numbest to // number of items considered. Set //bestset to this // solution. // Include w[i+1]. knapsack (i+1, profit + p[i+1], weight + w[i + 1]); include [i+1] = "no"; knapsack (i+1, profit, weight); // Do not include // w[i + 1]. } } bool promising (index i) { index j, k; int totweight; float bound; if (weight > W) return false; else{ j = i + 1; bound profit; totweight weight; // Node is promising only if we should expand to its children. There must be some capacity left for // the children. while (j <=n&& totweight + w[j] < = W){\ totweight totweight + w[j]; bound bound + p[j]; Grab as many items as possible. j++; } k = j; if (k <=n) bound = bound (Wtotweight) p[k]/w[k]; Use k for consistency // with formula in text. * return bound > maxprofit; // Grab fraction of kth // item. } } 33. Use the Backtracking algorithm for the 0-1 Knapsack problem (Algorithm 5.7) to maximize the profit for the following problem instance. Show the actions step by step. Pi i Pi Wi Wi 1 $20 2 10 2 $30 3 $35 7 5 W = 9 4 $12 3 4 5 $3 1 3

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
please answer question #33. please use (Algorithm 5.7) for the Backtracking Algorithm for the 0-1 Knapsack Problem requirement- - use QueueADT class to store intermediate data. - use some data class to store input data or use text file with option to read it. - use multiple classes as components of your application (like test class, algorithm class, data class) run various inputs and compare run time, etc. please use java language for coding java file - should start java file with YOUR Last Name, Like SmithClubApp, PetrowskiTravelLogApp, for your class short paragraph should include- please answer these questions in the correct order -description of the java file -what it does? -what is the input data? expected output, samples of both
Algorithm 5.7
The Backtracking Algorithm for the 0-1 Knapsack Problem
Problem: Let n items be given, where each item has a weight and a profit.
The weights and profits are positive integers. Furthermore, let a positive
integer W be given. Determine a set of items with maximum total profit,
under the constraint that the sum of their weights cannot exceed W.
Inputs: Positive integers n and W; arrays w and p, each indexed from 1
to n, and each containing positive integers sorted in nonincreasing order
according to the values of p[i]/w[i].
Outputs: an array bestset indexed from 1 to n, where the values of bestset[i]
is "yes" if the ith item is included in the optimal set and is "no" otherwise;
an integer maxprofit that is the maximum profit.
BACKTRACKING
void knapsack (index i,
1
int profit, int weight)
if (weight W && profit > maxprofit){\
}
maxprofit
numbest = i;
profit;
bestset include;
if (promising (i)){
include [i+1] = "yes";
This set is best
// so far.
// Set numbest to
// number of items
considered. Set
//bestset to this
// solution.
// Include w[i+1].
knapsack (i+1, profit + p[i+1], weight + w[i + 1]);
include [i+1]
=
"no";
knapsack (i+1, profit, weight);
// Do not include
// w[i + 1].
}
}
bool promising (index i)
{
index j, k;
int totweight;
float bound;
if (weight > W)
return false;
else{
j = i + 1;
bound profit;
totweight weight;
// Node is promising only
if we should expand to
its children. There must
be some capacity left for
// the children.
while (j <=n&& totweight + w[j] < = W){\
totweight totweight + w[j];
bound bound + p[j];
Grab as many items as
possible.
j++;
}
k = j;
if (k <=n)
bound = bound (Wtotweight) p[k]/w[k];
Use k for consistency
// with formula in text.
*
return bound > maxprofit;
// Grab fraction of kth
// item.
}
}
Transcribed Image Text:Algorithm 5.7 The Backtracking Algorithm for the 0-1 Knapsack Problem Problem: Let n items be given, where each item has a weight and a profit. The weights and profits are positive integers. Furthermore, let a positive integer W be given. Determine a set of items with maximum total profit, under the constraint that the sum of their weights cannot exceed W. Inputs: Positive integers n and W; arrays w and p, each indexed from 1 to n, and each containing positive integers sorted in nonincreasing order according to the values of p[i]/w[i]. Outputs: an array bestset indexed from 1 to n, where the values of bestset[i] is "yes" if the ith item is included in the optimal set and is "no" otherwise; an integer maxprofit that is the maximum profit. BACKTRACKING void knapsack (index i, 1 int profit, int weight) if (weight W && profit > maxprofit){\ } maxprofit numbest = i; profit; bestset include; if (promising (i)){ include [i+1] = "yes"; This set is best // so far. // Set numbest to // number of items considered. Set //bestset to this // solution. // Include w[i+1]. knapsack (i+1, profit + p[i+1], weight + w[i + 1]); include [i+1] = "no"; knapsack (i+1, profit, weight); // Do not include // w[i + 1]. } } bool promising (index i) { index j, k; int totweight; float bound; if (weight > W) return false; else{ j = i + 1; bound profit; totweight weight; // Node is promising only if we should expand to its children. There must be some capacity left for // the children. while (j <=n&& totweight + w[j] < = W){\ totweight totweight + w[j]; bound bound + p[j]; Grab as many items as possible. j++; } k = j; if (k <=n) bound = bound (Wtotweight) p[k]/w[k]; Use k for consistency // with formula in text. * return bound > maxprofit; // Grab fraction of kth // item. } }
33. Use the Backtracking algorithm for the 0-1 Knapsack problem (Algorithm
5.7) to maximize the profit for the following problem instance. Show the
actions step by step.
Pi
i
Pi
Wi
Wi
1
$20
2
10
2
$30
3
$35
7
5
W = 9
4
$12
3
4
5
$3
1
3
Transcribed Image Text:33. Use the Backtracking algorithm for the 0-1 Knapsack problem (Algorithm 5.7) to maximize the profit for the following problem instance. Show the actions step by step. Pi i Pi Wi Wi 1 $20 2 10 2 $30 3 $35 7 5 W = 9 4 $12 3 4 5 $3 1 3
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education