omatheuspimenta / heuristiciohbsp

Heuristic Methods for Minimizing Cut Bars and Using Leftovers from the One-dimensional Cutting Process

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

heuristiciohbsp

Heuristic Methods for Minimizing Cut Bars and Using Leftovers from the One-dimensional Cutting Process - IOH-BSP Heuristic.

Getting Started

Dependencies

You need Python 3.8 or later to use heuristiciohbsp. You can find it at python.org.

Installation

Clone this repo to your local machine using:

git clone https://github.com/omatheuspimenta/heuristiciohbsp.git

or

pip install heuristiciohbsp

Features

In this heuristic, the losses of the cutting process are concentrated on the smallest number of bars possible, using a greedy structure, in order to become losses (unusable) into leftovers (usable).

Example

from heuristiciohbsp import bsp

n = 7
L = 30
l = [7, 9, 11, 14, 19, 21, 26]
d = [2, 3, 2, 2, 2, 1, 1]

left = loss = bar = 0
x = []

left,loss,bar,x = bsp.ioh(L=L, n=n, l=l, d=d)

Input and Parameters

  • L: Size of bar to be cutting. (int)
  • n: Number of Items to be cutting. (int)
  • l: Lenght of items to be cutting. (list)
  • d: Demand of items to be cutting. (list)
  • smallitem: Size of small item. Default is the smallest item to be cutting. (int)

Output

  • left: Leftover from the cutting process. (int)
  • loss: Loss from the cutting process. (int)
  • bar: Bar number used in the cutting process. (int)
  • x: Cutting pattern. (list)

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

Citation

If you use this software in your work, please cite our paper. (soon)

License

MIT

About

Heuristic Methods for Minimizing Cut Bars and Using Leftovers from the One-dimensional Cutting Process

License:MIT License


Languages

Language:Python 100.0%