Combinatorial optimization: Knapsack problem 2: Unterschied zwischen den Versionen

Aus Operations-Research-Wiki
Wechseln zu: Navigation, Suche
[unmarkierte Version][unmarkierte Version]
Zeile 1: Zeile 1:
'''Knappsack-Problem'''
+
The Knapsack-problem is an optimization problem, where a quantity of objects with corresponding weights and benefits is given. The aim is to choose a subset of these objects such that the total weight doesn't exceed a given threshold and the total benefit is maximal. This Problem is also called "backpack-problem" since it results from an example in which a hiker has to pack his backpack. He has to answer the question: how can I fill the 50 liter space of the backpack to get an optimal benefit.
  
'''Inhaltsverzeichnis'''  ------->'''Hier könnte man noch das Inhaltsverzeichnis verlinken,
+
== Application and Definition ==
                                        sodass man zu dem Thema springen kann. Hab aber keine Ahnung wie man das einstellt:)'''
+
  
[[1. Introduction]]
+
== Example ==
 
+
[[2. Application and Definition]]
+
 
+
[[3. Example]]
+
 
+
[[4. Methods: Kolesar, Greenberg and Cascading Tree]]
+
 
+
[[5. Method 4]]
+
 
+
[[6. complexity problem]]
+
 
+
 
+
'''1. Introduction'''
+
 
+
The Knapsack-problem is a optimizing problem. There is a quantity of objects and every object has weight and a benefit.
+
Then you choose a subset of these objects. This subset shouldn't pass a maximum level of weight. Under these condition you chose the subset which has the best benefit.
+
This Problem is also called "backpack-problem" becaus it results from an example in which a hiker has to pack his backpack. He has to answer the question :how can I fill the 50 liter space of the backpack to get an optimal benefit.
+
 
+
'''2. Application and Definition'''
+
 
+
'''3. Example'''
+
  
 
A woman wants to go on vacation. But now she has to overcome a serious problem, because the airline prescribe  
 
A woman wants to go on vacation. But now she has to overcome a serious problem, because the airline prescribe  
Zeile 35: Zeile 13:
 
[[Datei:Tabelle Wiki.jpg]]
 
[[Datei:Tabelle Wiki.jpg]]
  
'''4. Methods: Kolesar, Greenberg and Cascading Tree'''
+
== Solution methods ==
  
 
To apply the different methods a ranking must be formed first.  
 
To apply the different methods a ranking must be formed first.  
Zeile 52: Zeile 30:
 
----
 
----
  
a) '''''Kolesar'''''
+
=== Kolesar ===
  
 
The goal is to obtain an integer solution. One begins with the object of rank 1, then rank 2 and so on  
 
The goal is to obtain an integer solution. One begins with the object of rank 1, then rank 2 and so on  
Zeile 62: Zeile 40:
 
[[Datei:Kolesar.jpg]]     
 
[[Datei:Kolesar.jpg]]     
  
b) '''''Greenberg & Hegerich'''''
+
=== Greenberg & Hegerich ===
 
      
 
      
 
In this method, one starts with the non-integer variable and set this variable equal 0 and 1 respectively to look
 
In this method, one starts with the non-integer variable and set this variable equal 0 and 1 respectively to look
Zeile 70: Zeile 48:
 
[[Datei:Greenberg.jpg]]
 
[[Datei:Greenberg.jpg]]
  
c) '''''Cascading Tree'''''
+
=== Cascading Tree ===
  
 
[[Datei:Cascading Tree.jpg]]
 
[[Datei:Cascading Tree.jpg]]
  
'''5. Method 4'''
+
=== Dynamic Programming ===
  
'''6. complexity problem'''
+
== Complexity ==

Version vom 29. Juni 2013, 16:46 Uhr

The Knapsack-problem is an optimization problem, where a quantity of objects with corresponding weights and benefits is given. The aim is to choose a subset of these objects such that the total weight doesn't exceed a given threshold and the total benefit is maximal. This Problem is also called "backpack-problem" since it results from an example in which a hiker has to pack his backpack. He has to answer the question: how can I fill the 50 liter space of the backpack to get an optimal benefit.

Application and Definition

Example

A woman wants to go on vacation. But now she has to overcome a serious problem, because the airline prescribe a maximum weight of 25 kg (b = 25 kg)for her luggage (the worst that can happen to a woman). She has the choice between six different items which she can pack. Each object has a special benefit c_i for the woman and a weight a_i. What items should be selected by her to have the maximum benefit without exceeding the maximum weight of 25 kg?

Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden

Solution methods

To apply the different methods a ranking must be formed first.

For this purpose, a quotient is formed from the benefit c_i and the weight a_i. Afterwards, the values are sorted according to the size.

Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden

Ordered list:

Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden

This list is the basis for all applicable methods.


Kolesar

The goal is to obtain an integer solution. One begins with the object of rank 1, then rank 2 and so on and sets the variable equal 1 or 0. The items can be taken as long as the maximum weight of 25 kg is reached. This means that the last possible item mostly can't be taken completely. The solution with the higher objective function value is branched. If the objective function value is less than the value that provides the best integer solution, this solution is not branched.

Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden

Greenberg & Hegerich

In this method, one starts with the non-integer variable and set this variable equal 0 and 1 respectively to look for a better solution. This should be continued until an optimal solution is found. The procedure is identical to the first presented method.

Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden

Cascading Tree

Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden

Dynamic Programming

Complexity