BoxPacking
R package for solving three-dimensional bin packing problem
Install / Use
/learn @delta1epsilon/BoxPackingREADME
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
)

Related Skills
node-connect
337.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.2kCommit, push, and open a PR
