Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Online2DIrregularBPP

My implementation of online 2D irregular BPP algorithm with state-of-the-art picking policy minimal surrounding waste.

Licence: The software as a whole is licenced under GPL v3 because I'm using GPL v3-licenced library libnfporb, but for the everything except repository source/nfp_interface I'm granting MIT licence.
+I would be happy if you wrote to me when you use my project because I'm curious if this will be useful for someone :)

Note: If you want to replace libnfporb library with your own implementation of No-fit polygon and Inner-fit polygon calculation, then you need to modify only the geometry_tools.py file (call your own functions, maybe modify error handling, ...) to make it work.

Build: see Requirements.md for instructions.

Usage: run run_tests.py for a sample computation. If you choose best_run, then it runs on dataset generators from SFG_competition using specified parameters. euro_datasets loads and runs specified datasets from .csv files.

Versions:
Current version uses last version of libnfporb (the library was archived on 8th March 2023) with my modifications and requires boost version 1.76.0. It's more robust than older version => less errors in NPF computations => very slightly different results and significantly faster times on some of the EURO datasets (those with a lot of NFP computation errors).
For latest version that uses original libnfporb library with boost version 1.65.0, see tag last-boost-1.65.0. Results included in results folder should be reproducible with this version, at least on Windows.

Performance note: it seems that when building the libnfprob with cmake (at least on Linux), there is a big (around 10x) performance penalty compared to building with Visual Studio (with average time to place 1 shape (using tests in run_test.py) around +- 1 second). If you figure out how to compile it more effectively, please let me know.

References: My Bachelor thesis (written in Czech).

About

My implementation of online 2D irregular BPP algorithm with state-of-the-art picking policy minimal surrounding waste.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages