Bin Packing & Related Problems: General Arc-flow Formulation - - PowerPoint PPT Presentation

bin packing related problems general arc flow formulation
SMART_READER_LITE
LIVE PREVIEW

Bin Packing & Related Problems: General Arc-flow Formulation - - PowerPoint PPT Presentation

Bin Packing & Related Problems: General Arc-flow Formulation with Graph Compression Filipe Brand ao fdabrandao@dcc.fc.up.pt 20th Combinatorial Optimization Workshop Aussois, January 4-8, 2016 This work is financed by the FCT - Funda


slide-1
SLIDE 1

Bin Packing & Related Problems: General Arc-flow Formulation with Graph Compression

Filipe Brand˜ ao

fdabrandao@dcc.fc.up.pt

20th Combinatorial Optimization Workshop Aussois, January 4-8, 2016

This work is financed by the FCT - Funda¸ c˜ ao para a Ciˆ encia e a Tecnologia (Portuguese Foundation for Science and Technology) within project UID/EEA/50014/2013 and the Ph.D. Grant SFRH/BD/91538/2012.

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 1 / 20

slide-2
SLIDE 2

Bin Packing and related problems

  • 1D-Bin Packing Problem (BPP)

⋄ n objects of m different weights must be packed into a finite number of bins, each with capacity W , in a way that minimizes the number of bins used.

x2 x4 x5 x3 Objective: Pack a set of items into as few bins as possible Items Solution Bins

  • 1D-Cutting Stock Problem (CSP)

⋄ items of equal size (which are usually ordered in large quantities) are grouped into orders with a required level of demand.

  • p-Dimensional Vector Packing Problem

⋄ items and bins have p independent dimensions corresponding to different resources.

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 2 / 20

slide-3
SLIDE 3

Bin Packing and related problems

  • 1D-Bin Packing Problem (BPP)

⋄ n objects of m different weights must be packed into a finite number of bins, each with capacity W , in a way that minimizes the number of bins used.

x2 x4 x5 x3 Objective: Pack a set of items into as few bins as possible Items Solution Bins

  • 1D-Cutting Stock Problem (CSP)

⋄ items of equal size (which are usually ordered in large quantities) are grouped into orders with a required level of demand.

  • p-Dimensional Vector Packing Problem

⋄ items and bins have p independent dimensions corresponding to different resources.

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 2 / 20

slide-4
SLIDE 4

Bin Packing and related problems

  • 1D-Bin Packing Problem (BPP)

⋄ n objects of m different weights must be packed into a finite number of bins, each with capacity W , in a way that minimizes the number of bins used.

x2 x4 x5 x3 Objective: Pack a set of items into as few bins as possible Items Solution Bins

  • 1D-Cutting Stock Problem (CSP)

⋄ items of equal size (which are usually ordered in large quantities) are grouped into orders with a required level of demand.

  • p-Dimensional Vector Packing Problem

⋄ items and bins have p independent dimensions corresponding to different resources.

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 2 / 20

slide-5
SLIDE 5

Gilmore-Gomory’s Formulation

Let column vectors aj = (aj

1, ..., aj m) represent all possible cutting patterns; The

element aj

i represents the number of items i obtained in cutting pattern j.

min

  • j∈J

xj s.t.

  • j∈J

xjaj

i ≥ bi

i = 1, ..., m xj ≥ 0 integer ∀j ∈ J where J is the set of valid cutting patterns that satisfy:

m

  • i=1

aj

iw d i ≤ W d

d = 1, ..., p aj

i ≥ 0 integer

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 3 / 20

slide-6
SLIDE 6

Gilmore-Gomory’s Formulation (generalized)

Let column vectors aj = (aj

1, ..., aj m) represent all possible cutting patterns; The

element aj

i represents the number of items i obtained in cutting pattern j.

min

  • j∈J

xj s.t.

  • j∈J

xjaj

i ≥ bi

i = 1, ..., m xj ≥ 0 integer ∀j ∈ J where J is the set of valid cutting patterns that satisfy:

m

  • i=1

aj

iw d i ≤ W d

d = 1, ..., p aj

i ≥ 0 integer

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 3 / 20

slide-7
SLIDE 7

General Arc-flow Graph

Wolsey proposed in 1977 the use of arc-flow graphs to obtain models equivalent to Gilmore-Gomory’s model but much smaller. Consider an instance with bins of capacity W = 7 and items of sizes 5, 3, 2. A possible graph with all valid packing patterns for this instance is the following:

s 2 3 4 5 7 t i = 3 i = 3 i = 3 i = 3 i = 2 i = 1

It is also easy to add more constraints (such as a cardinality constraint) to this type of graph:

s

ewns

2, 1

ewns

3, 1

ewns

5, 1

ewns

4, 2

ewns

5, 2

ewns

7, 2

ewns

7, 3 t i = 3 i = 2 i = 1 i = 3 i = 3 i = 3 i = 3

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 4 / 20

slide-8
SLIDE 8

General Arc-flow Formulation

Given a directed acyclic multigraph G = (V , A) containing every valid packing pattern represented as a path from the source (s) to the target (t), the corresponding cutting/packing problem can be modelled as follows: min z s.t.

  • (u,v,i)∈A:v=k

fuvi −

  • (v,r,i)∈A:v=k

fvri =    −z if k = s, z if k = t, for k ∈ V \ {s, t},

  • (u,v,j)∈A:j=i

fuvj ≥ bi, i ∈ {1, . . . , m}, fuvi ≥ 0, integer, ∀(u, v, i) ∈ A, where (u, v, i) denotes an arc between u and v associated with items of type i, arcs (u, v, i = 0) are loss arcs, and fuvi is the amount of flow along the arc (u, v, i). Problem: large number of variables and constraints Solution: graph compression!

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 5 / 20

slide-9
SLIDE 9

General Arc-flow Formulation

Given a directed acyclic multigraph G = (V , A) containing every valid packing pattern represented as a path from the source (s) to the target (t), the corresponding cutting/packing problem can be modelled as follows: min z s.t.

  • (u,v,i)∈A:v=k

fuvi −

  • (v,r,i)∈A:v=k

fvri =    −z if k = s, z if k = t, for k ∈ V \ {s, t},

  • (u,v,j)∈A:j=i

fuvj ≥ bi, i ∈ {1, . . . , m}, fuvi ≥ 0, integer, ∀(u, v, i) ∈ A, where (u, v, i) denotes an arc between u and v associated with items of type i, arcs (u, v, i = 0) are loss arcs, and fuvi is the amount of flow along the arc (u, v, i). Problem: large number of variables and constraints Solution: graph compression!

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 5 / 20

slide-10
SLIDE 10

General Arc-flow Formulation

Given a directed acyclic multigraph G = (V , A) containing every valid packing pattern represented as a path from the source (s) to the target (t), the corresponding cutting/packing problem can be modelled as follows: min z s.t.

  • (u,v,i)∈A:v=k

fuvi −

  • (v,r,i)∈A:v=k

fvri =    −z if k = s, z if k = t, for k ∈ V \ {s, t},

  • (u,v,j)∈A:j=i

fuvj ≥ bi, i ∈ {1, . . . , m}, fuvi ≥ 0, integer, ∀(u, v, i) ∈ A, where (u, v, i) denotes an arc between u and v associated with items of type i, arcs (u, v, i = 0) are loss arcs, and fuvi is the amount of flow along the arc (u, v, i). Problem: large number of variables and constraints Solution: graph compression!

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 5 / 20

slide-11
SLIDE 11

Break symmetry with levels

Graph corresponding to a cardinality constrained bin packing instance with bins of capacity W = 9, cardinality limit 3 and items of sizes 4, 3, 2 with demands 1, 3, 1:

s 2, 1 3, 1 4, 1 5, 2 6, 2 7, 2 8, 3 9, 3 i = 2 i = 2 i = 2 i = 2 i = 1 i = 3 i = 3 i = 3 i = 3 i = 3

Figure : Initial graph/Step 1 graph.

The following graph represents every valid packing pattern for the same instance, but without symmetry.

0, 0, 1 0, 0, 2 0, 0, 3 2, 1, 3 3, 1, 2 3, 1, 3 4, 1, 1 4, 1, 2 4, 1, 3 5, 2, 3 6, 2, 2 6, 2, 3 7, 2, 2 7, 2, 3 8, 3, 3 9, 3, 2 9, 3, 3 i = 1 i = 2 i = 2 i = 2 i = 2 i=3 i = 3 i = 3 i = 3 i = 3

Figure : Graph with levels/Step 2 graph (without symmetry).

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 6 / 20

slide-12
SLIDE 12

Main compression step

We use the longest paths to the target in each dimension to relabel the nodes. We relabel each node u with (ϕ1(u), ϕ2(u), . . . , ϕp(u)) as follows: ϕd(u) =    if u = s, W d if u = t, min(u′,v,i)∈A:u′=u{ϕd(v) − w d

i }

  • therwise.

The following graph results from applying the main compression step to the Step 2 graph.

s 3, 1 4, 1 5, 2 6, 2 7, 2 9, 3 i = 2 i = 2 i = 2 i = 2 i = 1 i = 3 i = 3

Figure : Step 3 graph (after the main compression step).

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 7 / 20

slide-13
SLIDE 13

Final compression step

We use the longest paths from the source in each dimension to relabel the nodes. We relabel each node v with (ψ1(v), ψ2(v), . . . , ψp(v)) as follows: ψd(v) = if v = s, max(u,v ′,i)∈A:v ′=v{ψd(u) + w d

i }

  • therwise.

The following graph results from applying the final compression step to the Step 3 graph.

s 3, 1 4, 1 6, 2 7, 2 9, 3 i = 2 i = 2 i = 2 i = 2 i = 1 i = 3 i = 3

Figure : Step 4 graph (after the final compression step).

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 8 / 20

slide-14
SLIDE 14

Graph size reduction: #vertices

0e+00 5e+04 1e+05 2e+05 2e+05 2e+05 3e+05 4e+05 0e+00 5e+04 1e+05 2e+05 2e+05 2e+05 3e+05 4e+05 Number of vertices in the Final Graph Number of vertices in the Inicial Graph 1/3 1/10 #Vertices in the Final Graph

Instances with more than two dimensions are not considered in this chart since it is usually not possible to build the initial graphs for these instances.

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 9 / 20

slide-15
SLIDE 15

Graph size reduction: #arcs

0e+00 1e+06 2e+06 3e+06 4e+06 5e+06 6e+06 7e+06 0e+00 1e+06 2e+06 3e+06 4e+06 5e+06 6e+06 7e+06 Number of arcs in the Final Graph Number of arcs in the Inicial Graph 1/3 1/10 #Arcs in the Final Graph

Instances with more than two dimensions are not considered in this chart since it is usually not possible to build the initial graphs for these instances.

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 10 / 20

slide-16
SLIDE 16

p-dimensional vector packing

In the p-dimensional vector packing problem, bins and items have p independent

  • dimensions. For each dimension d, let w d

i be the weight of item i and W d the bin

capacity. The set S of valid patterns for this problem is defined as follows: A =   w 1

1

. . . w 1

m

. . . . . . w p

1

. . . w p

m

  L =   W 1 . . . W p   S = {x ∈ Zm

+ : Ax ≤ L}

where A is the matrix of weights and L is the vector of capacities. The set S is the set of valid packing patterns that satisfy all the following knapsack constraints: w 1

1 x1+w 1 2 x2+. . .+w 1 mxm ≤W 1

w 2

1 x1+w 2 2 x2+. . .+w 2 mxm ≤W 2

. . . . . . . . . . . . w p

1 x1+w p 2 x2+. . .+w p mxm ≤W p

xi ≥ 0, integer, i = 1, . . . , m,

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 11 / 20

slide-17
SLIDE 17

Graph coloring

Let variables xi represent whether or not vertex i appears in a given pattern (each pattern corresponds to a set of vertices that can share the same color). Considering each color as a bin and each vertex as an item with demand one, the following reductions are valid:

Figure : Graph coloring example.

x1 x2 x3 x4 Adjacency constraints: x1+x2 ≤1, x1 +x3 ≤1, x2+x3 ≤1, x3+x4 ≤1, xi ∈ {0, 1}, i = 1..4 Degree constraints: 2x1+x2+x3 ≤2, 2x2+x1+x3 ≤2, 3x3+x1+x2+x4 ≤3, 1x4+x3 ≤1, xi ∈ {0, 1}, i = 1..4 Clique constraints: x1+x2+x3 ≤1, x3+x4 ≤1, xi ∈ {0, 1}, i = 1..4

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 12 / 20

slide-18
SLIDE 18

Bin packing with conflicts

  • This problem consists of the combination of bin packing with graph coloring.
  • This problem can be solved as a vector packing problem with c + 1

dimensions, where c is the number of dimensions used to model conflicts.

  • The set S of valid packing patterns for this problem can be defined as follows:

A =     w1 . . . wn α1

1

. . . α1

n

. . . . . . αc

1

. . . αc

n

    L =     W β1 . . . βc     S = {x ∈ Zn

+ : Ax ≤ L}

  • The conflicts can be modeled using any of the graph coloring reductions.

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 13 / 20

slide-19
SLIDE 19

Run time analysis (Gurobi 5.0.0)

23,153 benchmark instances solved in 9 days (less than 35 seconds per instance, on average). The largest absolute gap we found in all the instances solved was 1.0027. 10000 20000 30000 40000 50000 60000 70000 80000 0e+00 2e+05 4e+05 6e+05 8e+05 1e+06 1e+06 1e+06 Total run time (seconds) Number of arcs in the Final Graph n2/108 n2.5/108 Total run time (seconds) These benchmark instances belong to several NP-hard problems such as vector packing (VBP), bin packing (BPP), cutting stock (CSP), CSP with binary patterns (01CSP), BPP with conflicts (BPPC), and 01CSP with forbidden pairs (01CSPC).

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 14 / 20

slide-20
SLIDE 20

Benchmark datasets

We considered several benchmark datasets from the literature and some new ones derived from existing ones. Some of these datasets are:

  • 1D Bin-Packing instances from Falknauer (1996);
  • Instances generated with CUTGEN (Gau and W¨

ascher, 1995);

  • Instances taken from a real application in a paper tube industry in Japan;
  • The 28 very hard BPP instances of J. Schoenfield;
  • 1D Bin-Packing instances from W¨

ascher/Gau (1996);

  • 1D Bin-Packing instances from Scholl/Klein/Juergens (1997);
  • 1D Bin-Packing instances from Schwerin/W¨

ascher (1998);

  • Two-Constraint Bin-Packing instances of Spieksma/Caprara/Toth (2001);
  • BPP with Conflicts instances from Fernandes-Muritib et al. (2010);
  • Some graph coloring instances from OR-Library;
  • “hard timetabling” instances from OR-Library;
  • . . .

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 15 / 20

slide-21
SLIDE 21

Multiple-choice vector bin packing

  • This problem is a variant of vector packing in which bins have several types

(i.e., sizes and costs) and items have several incarnations (i.e., will take one

  • f several possible sizes).
  • We need to build graphs — say, G1, . . . , Gt — for each bin type considering

every item incarnation as a different item.

  • We connect a super source node s to every st, and every tt to a super target

node t.

Figure : Arc-flow graph for multiple-choice vector bin packing.

s s1 u1 u2 t1 s2 v1 v2 t2 t it1

1

it1

2

it2

2

it1

2

it1

1

it2

2

Paths from st to tt represent every valid pattern for bins of type t, for each t. Paths from s to t represent every valid packing pattern using any bin type.

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 16 / 20

slide-22
SLIDE 22

Two- and three-stage cutting stock problems

T ype 1 (width: 132; height: 100; cost: 1) T ype 1 (width: 132; height: 100; cost: 1) T ype 2 (width: 132; height: 200; cost: 2)

6 (69,21) 7R (63,21) 2R (49,13) 16R (41,13) 16R (41,13) 17 (37,12) 17 (37,12) 17 (37,12) 8R (41,54) 20R (31,49) 20R (31,49) 3 (27,51) 6 (69,21) 7R (63,21) 2R (49,13) 16R (41,13) 16R (41,13) 17 (37,12) 17 (37,12) 8R (41,54) 11 (29,54) 12R (31,47) 20R (31,49) 9 (41,31) 12 (47,31) 13 (18,31) 18 (19,29) 4 (65,31) 4 (65,31) 13 (18,31) 4 (65,31) 10 (37,22) 5 (45,27) 5 (45,27) 6 (69,21) 13R (31,18) 18R (29,19) 1R (39,18) 6 (69,21) 1R (39,18) 1R (39,18) 15R (53,19) 1R (39,18) 14 (21,17) 19 (67,17)

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 17 / 20

slide-23
SLIDE 23

List of applications

  • Through reductions to vector packing:

⋄ Bin packing; ⋄ Cutting stock; ⋄ Graph coloring; ⋄ Timetabling (through a reduction to graph coloring); ⋄ 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; ⋄ ...

  • Playing with arc-flow graphs:

⋄ Multiple-choice vector bin packing; ⋄ Multi-stage two-dimensional cutting stock problems; ⋄ Multi-period cutting and packing problems; ⋄ ...

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 18 / 20

slide-24
SLIDE 24

Conclusions

  • The general arc-flow formulation allowed the solution of benchmark instances

with up to millions of items of 1,000 different types and 1,000 dimensions.

  • Despite its simplicity and generality, the proposed method outperforms

complex problem-specific approaches such as branch-and-price algorithms.

  • This method does not explicitly require any MIP solver in particular, though

a good MIP solver may be necessary for solving large models. ⋄ It has been tested with several MIP solvers such as Gurobi, CPLEX, SCIP, GLPK and COIN-OR CBC.

  • The model is very tight, and most of the solutions are found in the root of

the branch-and-bound tree.

  • The combination of strong models with a reasonably small number of

variables and constraints make this method very effective in practice.

  • Finally, this software is available online:

⋄ http://vpsolver.dcc.fc.up.pt/ ⋄ https://github.com/fdabrandao/vpsolver

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 19 / 20

slide-25
SLIDE 25

Conclusions

  • The general arc-flow formulation allowed the solution of benchmark instances

with up to millions of items of 1,000 different types and 1,000 dimensions.

  • Despite its simplicity and generality, the proposed method outperforms

complex problem-specific approaches such as branch-and-price algorithms.

  • This method does not explicitly require any MIP solver in particular, though

a good MIP solver may be necessary for solving large models. ⋄ It has been tested with several MIP solvers such as Gurobi, CPLEX, SCIP, GLPK and COIN-OR CBC.

  • The model is very tight, and most of the solutions are found in the root of

the branch-and-bound tree.

  • The combination of strong models with a reasonably small number of

variables and constraints make this method very effective in practice.

  • Finally, this software is available online:

⋄ http://vpsolver.dcc.fc.up.pt/ ⋄ https://github.com/fdabrandao/vpsolver

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 19 / 20

slide-26
SLIDE 26

Conclusions

  • The general arc-flow formulation allowed the solution of benchmark instances

with up to millions of items of 1,000 different types and 1,000 dimensions.

  • Despite its simplicity and generality, the proposed method outperforms

complex problem-specific approaches such as branch-and-price algorithms.

  • This method does not explicitly require any MIP solver in particular, though

a good MIP solver may be necessary for solving large models. ⋄ It has been tested with several MIP solvers such as Gurobi, CPLEX, SCIP, GLPK and COIN-OR CBC.

  • The model is very tight, and most of the solutions are found in the root of

the branch-and-bound tree.

  • The combination of strong models with a reasonably small number of

variables and constraints make this method very effective in practice.

  • Finally, this software is available online:

⋄ http://vpsolver.dcc.fc.up.pt/ ⋄ https://github.com/fdabrandao/vpsolver

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 19 / 20

slide-27
SLIDE 27

Conclusions

  • The general arc-flow formulation allowed the solution of benchmark instances

with up to millions of items of 1,000 different types and 1,000 dimensions.

  • Despite its simplicity and generality, the proposed method outperforms

complex problem-specific approaches such as branch-and-price algorithms.

  • This method does not explicitly require any MIP solver in particular, though

a good MIP solver may be necessary for solving large models. ⋄ It has been tested with several MIP solvers such as Gurobi, CPLEX, SCIP, GLPK and COIN-OR CBC.

  • The model is very tight, and most of the solutions are found in the root of

the branch-and-bound tree.

  • The combination of strong models with a reasonably small number of

variables and constraints make this method very effective in practice.

  • Finally, this software is available online:

⋄ http://vpsolver.dcc.fc.up.pt/ ⋄ https://github.com/fdabrandao/vpsolver

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 19 / 20

slide-28
SLIDE 28

Conclusions

  • The general arc-flow formulation allowed the solution of benchmark instances

with up to millions of items of 1,000 different types and 1,000 dimensions.

  • Despite its simplicity and generality, the proposed method outperforms

complex problem-specific approaches such as branch-and-price algorithms.

  • This method does not explicitly require any MIP solver in particular, though

a good MIP solver may be necessary for solving large models. ⋄ It has been tested with several MIP solvers such as Gurobi, CPLEX, SCIP, GLPK and COIN-OR CBC.

  • The model is very tight, and most of the solutions are found in the root of

the branch-and-bound tree.

  • The combination of strong models with a reasonably small number of

variables and constraints make this method very effective in practice.

  • Finally, this software is available online:

⋄ http://vpsolver.dcc.fc.up.pt/ ⋄ https://github.com/fdabrandao/vpsolver

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 19 / 20

slide-29
SLIDE 29

Conclusions

  • The general arc-flow formulation allowed the solution of benchmark instances

with up to millions of items of 1,000 different types and 1,000 dimensions.

  • Despite its simplicity and generality, the proposed method outperforms

complex problem-specific approaches such as branch-and-price algorithms.

  • This method does not explicitly require any MIP solver in particular, though

a good MIP solver may be necessary for solving large models. ⋄ It has been tested with several MIP solvers such as Gurobi, CPLEX, SCIP, GLPK and COIN-OR CBC.

  • The model is very tight, and most of the solutions are found in the root of

the branch-and-bound tree.

  • The combination of strong models with a reasonably small number of

variables and constraints make this method very effective in practice.

  • Finally, this software is available online:

⋄ http://vpsolver.dcc.fc.up.pt/ ⋄ https://github.com/fdabrandao/vpsolver

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 19 / 20

slide-30
SLIDE 30

References

Filipe Brand˜ ao and Jo˜ ao Pedro Pedroso. Bin packing and related problems: General arc-flow formulation with graph compression. Computers & Operations Research, 69:56 – 67, 2016. Filipe Brand˜ ao and J. P. Pedroso. Bin Packing and Related Problems: General Arc-flow Formulation with Graph Compression. Technical Report DCC-2013-08, DCC - FC, Universidade do Porto, Portugal, 2013. Filipe Brand˜ ao and J. P. Pedroso. Cutting Stock with Binary Patterns: Arc-flow Formulation with Graph Compression. Technical Report DCC-2013-09, DCC - FC, Universidade do Porto, Portugal, 2013. Filipe Brand˜ ao and J. P. Pedroso. Multiple-choice Vector Bin Packing: Arc-flow Formulation with Graph Compression. Technical Report DCC-2013-13, DCC - FC, Universidade do Porto, Portugal, 2013. Filipe Brand˜ ao. Bin Packing and Related Problems: Pattern-Based Approaches. Master’s thesis, Faculdade de Ciˆ encias da Universidade do Porto, Portugal, 2012.

Filipe Brand˜ ao (FCUP) General Arc-flow Formulation (VPSolver) January 4-8, 2016 20 / 20