All Projects → delta1epsilon → BoxPacking

delta1epsilon / BoxPacking

Licence: other
R package for solving three-dimensional bin packing problem

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to BoxPacking

gbp
gbp: a bin packing problem solver - an r package solves 1d - 4d bin packing problem.
Stars: ✭ 24 (-57.14%)
Mutual labels:  packing-algorithm, 3d-bin-packing-problem
tsp-genetic-python
A genetic algorithm to solve the Travelling Salesman Problem, implemented in Python. Made by Jack Frigaard, modified by Mauricio Aizaga
Stars: ✭ 73 (+30.36%)
Mutual labels:  genetic-algorithm
GARI
GARI (Genetic Algorithm for Reproducing Images) reproduces a single image using Genetic Algorithm (GA) by evolving pixel values.
Stars: ✭ 41 (-26.79%)
Mutual labels:  genetic-algorithm
carAI-Demo
使用浅层神经网络和遗传算法训练一个可以自动驾驶小车的Demo
Stars: ✭ 64 (+14.29%)
Mutual labels:  genetic-algorithm
Genetic-Algorithm-on-K-Means-Clustering
Implementing Genetic Algorithm on K-Means and compare with K-Means++
Stars: ✭ 37 (-33.93%)
Mutual labels:  genetic-algorithm
freqgen
🎯 Generate DNA sequences with specified amino acid, codon, and k-mer frequencies
Stars: ✭ 16 (-71.43%)
Mutual labels:  genetic-algorithm
Computational-Intelligence-Tutorials
This is the repository of codes written in class.
Stars: ✭ 36 (-35.71%)
Mutual labels:  genetic-algorithm
reactive-trader
In the coming weeks this plans to become a Gekko plugin that reacts to market changes, finding and running only the most profitable strategies.
Stars: ✭ 91 (+62.5%)
Mutual labels:  genetic-algorithm
ant sugar
Genetic Algorithms, Mutation, Crossover, Mating, Particle Animation, Gaming, Learning, P5JS, Fun Project
Stars: ✭ 33 (-41.07%)
Mutual labels:  genetic-algorithm
arja
Multi-Objective GP for Automated Repair of Java
Stars: ✭ 31 (-44.64%)
Mutual labels:  genetic-algorithm
ga-openai-gym
Usage of genetic algorithms to train a neural network in multiple OpenAI gym environments.
Stars: ✭ 24 (-57.14%)
Mutual labels:  genetic-algorithm
Neatron
Yet another NEAT implementation
Stars: ✭ 14 (-75%)
Mutual labels:  genetic-algorithm
Ascension
A metaheuristic optimization framework
Stars: ✭ 24 (-57.14%)
Mutual labels:  genetic-algorithm
VRPTW-ga
Vehicle Routing Problem with Time Windows - Genetic Algorithm solution with Python
Stars: ✭ 40 (-28.57%)
Mutual labels:  genetic-algorithm
ga
Simple genetic algorithms in Go
Stars: ✭ 101 (+80.36%)
Mutual labels:  genetic-algorithm
geneticalgorithm2
Supported highly optimized and flexible genetic algorithm package for python
Stars: ✭ 36 (-35.71%)
Mutual labels:  genetic-algorithm
multi objective optimization matlab
MATLAB Tool for Multi-Objective Optimization
Stars: ✭ 23 (-58.93%)
Mutual labels:  genetic-algorithm
geneal
A genetic algorithm implementation in python
Stars: ✭ 47 (-16.07%)
Mutual labels:  genetic-algorithm
DeepHyperNEAT
A public python implementation of the DeepHyperNEAT system for evolving neural networks. Developed by Felix Sosa and Kenneth Stanley. See paper here: https://eplex.cs.ucf.edu/papers/sosa_ugrad_report18.pdf
Stars: ✭ 42 (-25%)
Mutual labels:  genetic-algorithm
neuroevolution-robots
Neuroevolution demo through TensorFlow.js, Neataptic, and Box2D
Stars: ✭ 31 (-44.64%)
Mutual labels:  genetic-algorithm

BoxPacking: R package for solving three-dimensional bin packing problem

Problem description

In the bin packing problem, the task is to select one or more bins from a set of available bins to pack three dimensional, rectangular boxes such that the usage of the bin space is maximized. Read more about the problem.

Algorithm

The package uses Genetic algorithm for the three-dimensional bin packing problem with heterogeneous bins.

You can read more about the algorithm in my blog post.

Install

devtools::install_github('delta1epsilon/BoxPacking')

Example

Consider an example where 20 boxes of different sizes are going to be packed into containers 2x2x2.

library(BoxPacking)

# create containers
containers <- list()
n_containers <- 4

for (i in 1:n_containers) {
    containers <- c(containers,
                    Container(length = 2, height = 2, width = 2)
                    )
}


# create boxes
boxes <- list()
n_boxes <- 20

for (i in 1:n_boxes) {
    length <- sample(c(0.4, 0.5, 1), 1)
    height <- sample(c(0.4, 0.5, 1), 1)
    width <- sample(c(0.4, 0.5, 1), 1)

    boxes <- c(boxes,
               Box(length = length, height = height, width = width)
               )
}

# Box Packing
solution <-
    PerformBoxPacking(containers = containers,
                      boxes = boxes,
                      n_iter = 4,
                      population_size = 20,
                      elitism_size = 5,
                      crossover_prob = 0.5,
                      mutation_prob = 0.5,
                      verbose = TRUE,
                      plotSolution = TRUE
                      )

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].