Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

In the bin packing problem, items of different weights (or sizes) must be packed into a finite number of bins each with the capacity C

In the bin packing problem, items of different weights (or sizes) must be packed into a finite number of bins each with the capacity C in a way that minimizes the number of bins used. The decision version of the bin packing problem (deciding if objects will fit into <= k bins) is NP-complete. There is no known polynomial time algorithm to solve the optimization version of the bin packing problem. In this homework you will be examining three greedy approximation algorithms to solve the bin packing problem.

First-Fit: Put each item as you come to it into the first (earliest opened) bin into which it fits. If there is no available bin then open a new bin. First-Fit-Decreasing: First sort the items in decreasing order by size, then use First-Fit on the resulting list. Best Fit: Place the items in the order in which they arrive. Place the next item into the bin which will leave the least room left over after the item is placed in the bin. If it does not fit in any bin, start a new bin. a) Give pseudo code and the running time for each of the approximation algorithms.

b) Implement the algorithms in C++. Your program named binpack should read in a text file named bin.txt with multiple test cases as explained below and output to the terminal the number of bins each algorithm calculated for each test case. Submit a README file and your program to TEACH.

Example bin.txt: The first line is the number of test cases, followed by the capacity of bins for that test case, the number of items and then the weight of each item. You can assume that the weight of an item does not exceed the capacity of a bin for that problem. 3 10 6 5 10 2 5 4 4 10 20 4 4 4 4 4 4 4 4 4 4 6 6 6 6 6 6 6 6 6 6 10 4 3 8 2 7 Sample output: Test Case 1 First Fit: 4, First Fit Decreasing: 3, Best Fit: 4 Test Case 2 First Fit: 15, First Fit Decreasing: 10, Best Fit: 15 Test Case 2 First Fit: 3, First Fit Decreasing: 2, Best Fit: 2

c) Randomly generate at least 20 bin packing instances. Summarize the results for each algorithm. Which algorithm performs better? How often? Note: Submit a description of how the inputs were generated not the code used to produce the random inputs.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions