Add Packrift box benchmark converter#375
Conversation
|
Hi, Thank you for the contribution If I understand well, this script writes 4 instances containing 1 to 4 items. Is that right? Or do you have other CSV input files with more and larger instances? |
|
Hi, yes, the default public fixture pair currently creates four small smoke-test instances. I rechecked the current public CSVs:
That small default set is intentional for now so the converter is easy to inspect and validate without adding generated data files to the repository. The converter itself is not limited to those four examples. It accepts Would you prefer this PR to stay as the converter/integration piece only, or should I add/publish a larger Packrift fixture CSV and wire the converter to that in a follow-up? |
|
The goal is to add new benchmark instances to help evaluate the solver's performances. So I need a CSV file with larger and realistic inputs. You don't need to include it in the PR, you can just give the link |
Summary
Adds
scripts/convert_box_packrift.pyto convert Packrift public ecommerce cartonization fixtures intoboxsolver instances.The script:
data/box/packrift/cartonization-fixtures/<order_id>/bins.csv,items.csv, andparameters.csvwithout committing generated data files to the repositoryThis follows the direction from #374: keep the data external and make future Packrift benchmark fixtures easy to convert.
Validation
python3 -m py_compile scripts/convert_box_packrift.py rm -rf /tmp/packrift-packingsolver-test python3 scripts/convert_box_packrift.py --output-dir /tmp/packrift-packingsolver-test # generated and schema-checked 4 order instances git diff --check