Cutting Stock Problem
Cutting Stock Problem
Introduction
It arises from many applications in industry. Imagine that you work in a paper mill and you have a number of rolls of paper of fixed width waiting to be cut, yet different customers want different numbers of rolls of various-sized widths. How are you going to cut the rolls so that you maximize the profit. To maximize profit you have to use minimum trim loss. It is a NP Hard problem.
Introduction(1 Dimensional)
The goal of the 1 Dimensional cutting stock problem:
is to find the "optimal" cutting patterns, where the total number of long steel bars(may be any other material) used is minimized, subject to the constraint that the desired shorter steel bars are cut in needed quantities.
..........
Bar Length = 600 cm
1 2
...
15
..........
Bar Length = 700 cm
1 2
...
35
..........
...
10
..........
Pattern 3: 300 cm
700 cm
Trim Loss
Uses
Industrial applications of cutting-stock problems for high production volumes arise especially when basic material is produced in large rolls that are further cut into smaller units. This is done e.g. in paper and plastic film industries but also in production of flat metals like steel or brass.
Cont.
Then problem is Min =1 Subject to =1 where = 1 . And 0 where = 1 . And = no of patterns and = no of times pattern is used. And pattern and is item of pattern
Column Generation
There are many patterns for a problem but we use only few patterns to get the answer. These few patterns are basis patterns. Denote Basis by B(list of all basis patterns). Suppose the problem is to Min But here = 1 .
In column generation, Initial basis has some random patterns. Now chose a non basis pattern(which is not in basis) and if it has negative than it will enter the basis. In this(cutting stock problem) = 1 and = where is dual variable
So < 0
> 1
So pattern with > 1 enters the basis.
Dual Formulation
Dual of primal formulation of 1 D cutting stock problem is (with dual variable )
Such that 1 Where is unrestricted.
Now our job is to find out pattern which enters the basis.
Now problem is > 1 where are constants. Now it becomes a linear programming problem. But it has only integer solution. It can also be solved by bounded knapsack algorithm.
4) Genetic Algorithm
If LP-relaxation has integral optimal solution x*, then x* is optimal for IP too. In our case, (1, 2) = (2.25, 3.75) is the optimal solution of the LP-relaxation. But, unfortunately, it is not integral. The optimal value is 41.25 . Choose a variable that is fractional in the optimal solution to the LP-relaxation say, 2 . Observe that every feasible IP point must have either 2 3 2 4 .
With this in mind, branch on the variable x2 to create the following two sub problems:
Another Example
This chain will go till we find a optimal integer solution. Example of 1 D cutting stock problem
= 100 = 6 1 = 60 1 = 6 2 = 50 2 = 17 3 = 30 3 = 15 4 = 25 4 = 20 5 = 20 5 = 9 6 = 10 6 = 16
Solution is
Cut Plane
This technique is popularly used to find integer solutions to mixed integer linear programming (MILP) problems. The use of cutting planes to solve MILP was introduced by Ralph E. Gomory. In this also, First find out the LP relaxation of the problem. When an optimal solution is obtained, and this solution has a non-integer value for a variable Then find linear constraints which are satisfied by all feasible integer points but violated by the current fractional solution.
If such an inequality is found, it is added to the linear program, such that resolving it will yield a different solution which is hopefully "less fractional". This process is repeated until an integer solution is found (which is then known to be optimal). In practice, the branch-and-bound procedures almost always outperform the cutting-plane algorithm. Nevertheless, the algorithm has been important to the evolution of integer programming. Historically, it was the first algorithm developed for integer programming that could be proved to converge in a finite number of steps
Example
= 100 = 6 1 = 60 1 = 6 2 = 50 2 = 17 3 = 30 3 = 15 4 = 25 4 = 20 5 = 20 5 = 9 6 = 10 6 = 16
Example
= 100 = 6 1 = 60 1 = 6 2 = 50 2 = 17 3 = 30 3 = 15 4 = 25 4 = 20 5 = 20 5 = 9 6 = 10 6 = 16
Fitness Function
To reduce the probability of taking chromosomes that are violating constrain equation, fitness function must be design effectively.
_ 2