From 050ea6ec66375057b0c8ddf261e61991923d94f7 Mon Sep 17 00:00:00 2001 From: Vincent Cicirello Date: Mon, 6 Jul 2020 12:51:21 -0400 Subject: [PATCH] Added a section on lower bounds to tutorial --- dist/interactive-bin-packing-3.0.jar | Bin 42149 -> 42668 bytes src/res/html/tutorial.html | 47 +++++++++++++++++++++++---- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/dist/interactive-bin-packing-3.0.jar b/dist/interactive-bin-packing-3.0.jar index 3caf60d849a43f0b0a8e9cf3e85b83bded36848b..dc0f0ef8125efb6ec5d9b959e9bfd3bf37e24e2c 100644 GIT binary patch delta 7506 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 BXsZAK diff --git a/src/res/html/tutorial.html b/src/res/html/tutorial.html index 0127370..c3c7f58 100644 --- a/src/res/html/tutorial.html +++ b/src/res/html/tutorial.html @@ -34,13 +34,14 @@

Introduction

Table of Contents

The remainder of this tutorial is organized as follows:
@@ -170,6 +171,38 @@

Bin Packing


+

Lower Bounds

+ +When solving a combinatorial optimization problem, it is sometimes useful +to compute a lower bound for the objective function if the problem is a +minimization problem, and similarly an upper bound if the problem is a +maximization problem. Since Bin Packing is a minimization problem, we will +explain the concept with a lower bound. A lower bound is a value that is +definitely less than or equal to the optimal value. It is often possible to +compute a lower bound much easier than it is to compute the actual optimal +solution. Although there is no guarantee that a solution exists whose value +is that of the lower bound, if you are able to find a solution whose value is +the lower bound, then you know there is no reason to search any further +for a better solution. + +

There is a very easy way to compute a lower bound for a Bin Packing instance. +Simply sum the sizes of the items. And then compute the ceiling of that sum +divided by the bin capacity. This lower bound makes the very naive assumption +that it is possible to pack the items in bins so that there is no wasted space. +You clearly can't do any better than this, although it is rarely possible to +actually pack the bins in this way.

+ +

In the Operations Menu of the application, there is a command "Compute +Lower Bound" that computes a lower bound for the current instance. Use that +command to compute the lower bound for the current Bin Packing instance. +If you are still on the default instance, you will find that the lower +bound is 5 bins. In this case, it turns out that the optimal solution is +also 5 bins, but you have no way of knowing for sure at this point.

+ +

Return to Top or Table of Contents.

+ +
+

Constructive Heuristics

Recall that the Bin Packing problem, as well as many other combinatorial optimization