Due to its flexibility and effectiveness, the general arc-flow formulation is currently being used with success by a large multinational company in the the labeling & packaging industry to solve the following problem variant. In the cost-based cutting stock problem, instead of focusing on minimizing the number of rolls used (minimizing the waste if the demand is required to be satisfied exactly), we allow under- and/or over-production, weighing the cost of off-cut with the cost of holding stock for a number of days and/or the cost missing the production of some items. Stock limits for each day are allowed, and the total number of stock items produced may also be limited. Under- and over-production for the first day may be allowed under given tolerances with given costs per item. Miss-production out of tolerance of some items for the first day is allowed and penalized with a cost per item.

The MIP models are being solved using COIN-OR CBC (an open-source MIP solver) on a Raspberry Pi Zero W. Much better run times can be achieved using Gurobi or CPLEX.

## Help

## Solution method

**VPSolver is a multiple-choice vector packing solver based on an arc-flow formulation with graph compression [PhD Thesis] [Poster] [Paper] [BibTeX].**

**By means of reductions to vector packing**, VPSolver can be used to solve several problems such as:

- Bin packing;
- Cutting stock;
- Cardinality constrained bin packing;
- Cutting stock with cutting knife limitation;
- Bin packing with conflicts;
- Cutting stock with binary patterns;
- Cutting stock with binary patterns and forbidden pairs.
- [Computational results on several benchmark test data sets]

**By means of reductions to multiple-choice vector packing**, VPSolver can be used to solve several problems such as:

- Variants of the problems from the list above that consider multiple bin types;
- Variable-sized bin packing (as an one-dimensional multiple-choice vector bin packing problem).

**VPSolver includes a python interface that allows modeling other problems easily.** Using the python interface, VPSolver can be used to solve problems such as:

- Many variants that happen in the industry that include cutting and packing problems as subproblems of a larger production planning problem;
- Multi-stage variants (e.g, two- and three-stage two-dimensional cutting stock problems);
- Multi-period variants (e.g., plan the production for several days with the possibility of delaying or anticipating the production of some items).

Note: **Suggestions of other cutting & packing problems (including industrial applications) are welcome!** [Contact]