19 octobre 2018

1/40

Professional activities

Diplomas PhD thesis in Maths and and Computer Science Teaching assistant 2000

2005

Assistant professor in Sorbonne University Laboratory LIP6

Research coordination activities 2012-

Communication manager of GDR-RO

2003-

Organizing committee of “Polyhedra and Combinatorial Optimization” (POC) 17 seminars, 10 French workshops, 5 international conferences (ISCO) Some teaching and local activities

2009-

Coordinator of the “Algorithm and Data Structures” course in Licence

2005-

Course on “MIP and Polyhedral Approaches” in Master

2014-

Elected member of the Teaching and Research departement (UFR) council

2011-2015 Elected member of the LIP6 laboratory council 2/40

Professional activities

Student Supervisions PhD students 2018-

Ad` ele Pass-Lanneau with P. Bendotti (EDF R&D) and Ph. Chr´ etienne (LIP6)

2017-

Anne-Elisabeth Falq with S. Kedad-Sidhoum (CNAM, Paris)

2015-2018 C´ ecile Rottner with P. Bendotti (EDF R&D)

2009-2013 Aur´ elien Questel 2007-2010 Jean-Mathieu S´ egura with Ph. Chr´ etienne (LIP6) and E. Gourdin (ORANGE)

Msc students for a 6 month Research Internship 2007-

20 students (Full or partial supervision)

3/40

Publications

Publications in selective journals and conferences 1 1 2 2 3 1 1 1 2 1

ANOR COA DAM DO EJOR IFIP JOCO NETWORKS RAIRO SIAM J. DM

Annals of Operations Research Computational Optimization and Applications Discrete Applied Mathematics Discrete Optimization European Journal of Operational Research IFIP Networking Conference Journal of Combinatorial Optimization Networks Operations Research SIAM Journal on Discrete Mathematics

(2018) (2012) (2006, 2014) (2015, 2016) (2016, 2017, 2018) (2017) (2018) (2012) (2014, 2018) (2009)

15 accepted publications with 18 co-authors : mainly from France, or from Belgium, Italy, Mexico and Turkey.

4/40

Facets of my research topics

Facets of my research topics

S ch

P appol yh ro a e d ra ch e l s

B a n dr a n c -Pr h i ce l ti ca ma ing th e m m M arog ra P

ed u

ling

Operati onal Research

Ne

st

Combin atorial Optimization

Robu

G raph s

n ch u t a r C B nda

t

r wo

ks

5/40

Content

Content Operational Research Problems The unit-capacity constrained permutation problem Polyhedral Approaches and Branch-and-Cut Graph Bipartization Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price Ongoing work and perspectives

6/40

Operational Research Problems The unit-capacity constrained permutation problem

Operational Research Problems

The unit-capacity constrained permutation problem • an Operational Research problem proposed by EDF • with an hard combinatorics structure • a study started from scratch and ended with practical solutions

7/40

Operational Research Problems The unit-capacity constrained permutation problem

The nuclear power plant fuel renewal problem During a refueling outage some spent nuclear fuel blocks are replaced. Each fuel block is stored in a square of a grid in a storage pool. At the top of each fuel block there is a piece that controls the fuel. The fuel renewal Problem is to permute the pieces from old fuel blocks to new blocks. Piece moves are handled by a bridge crane using some tools. The objectif is to minimize the tool changeover costs. 8/40

Operational Research Problems The unit-capacity constrained permutation problem

A permutation problem Data :

• n squares called nodes

n=8

Initial state 1

2

3

4

5

6

7

8

9/40

Operational Research Problems The unit-capacity constrained permutation problem

A permutation problem Data :

• n squares called nodes • p pieces (p ≤ n) dispatched among the nodes

n=8 p=4

Initial state 1

2

3

4

5

6

7

8

9/40

Operational Research Problems The unit-capacity constrained permutation problem

A permutation problem • n squares called nodes • p pieces (p ≤ n) dispatched among the nodes • q types of pieces (q ≤ p)

Data :

n=8 p=4 q=3:

a, b, c

Initial state a

b

1

a

5

c

2

3

4

6

7

8

c

9/40

Operational Research Problems The unit-capacity constrained permutation problem

A permutation problem • • • •

Data :

n p q a

squares called nodes pieces (p ≤ n) dispatched among the nodes types of pieces (q ≤ p) final state

b

1

a

5

a, b, c

Final state

Initial state a

n=8 p=4 q=3:

c

a

2

3

4

1

6

7

8

5

c

b

2

a

3

c

6

4

c

7

8

Objective : A piece of type t has to be moved : - from its initial position - to a node wishing a piece of type t 9/40

Operational Research Problems The unit-capacity constrained permutation problem

A permutation problem • • • • •

Data :

n squares called nodes p pieces (p ≤ n) dispatched among the nodes q types of pieces (q ≤ p) a final state r tools associated with types

b

1

a

5

a, b, c

r =2:

a with red tool b,c with blue tool

Final state

Initial state a

n=8 p=4 q=3:

c

a

2

3

4

1

6

7

8

5

c

b

2

a

3

c

6

4

c

7

8

Objective : A piece of type t has to be moved : - from its initial position - to a node wishing a piece of type t 9/40

Operational Research Problems The unit-capacity constrained permutation problem

Sequence of moves Final state

Initial state a

b

1

a

5

c

a

2

3

4

1

6

7

8

5

c

b

2

a

3

c

6

4

c

7

8

Unit-capacity constraints : - A node contains at most one piece - A move involves only one piece - A piece is moved once → towards a “free-of-piece” node

10/40

Operational Research Problems The unit-capacity constrained permutation problem

Sequence of moves Initial state a

a

5

a

c

b

1

Final state

2

3

4

1

6

7

8

5

c

b

2

a

3

c

6

4

c

7

8

Sequence of moves : σ = () Unit-capacity constraints : - A node contains at most one piece - A move involves only one piece - A piece is moved once → towards a “free-of-piece” node

10/40

Operational Research Problems The unit-capacity constrained permutation problem

Sequence of moves Move 1 a

5

a

c

b

1

a

Final state

2

3

4

1

6

7

8

5

c

b

2

a

3

c

6

4

c

7

8

Sequence of moves : σ = ((2, 3)) Unit-capacity constraints : - A node contains at most one piece - A move involves only one piece - A piece is moved once → towards a “free-of-piece” node

10/40

Operational Research Problems The unit-capacity constrained permutation problem

Sequence of moves Move 2 a

1

a

5

Final state a

c

b

2

3

4

1

6

7

8

5

c

b

2

a

3

c

6

4

c

7

8

Sequence of moves : σ = ((2, 3), (1, 2)) Unit-capacity constraints : - A node contains at most one piece - A move involves only one piece - A piece is moved once → towards a “free-of-piece” node

10/40

Operational Research Problems The unit-capacity constrained permutation problem

Sequence of moves Final state

Move 3 a

a

b

1

2

5

6

a

c

3

4

1

7

8

5

c

b

2

a

3

c

6

4

c

7

8

Sequence of moves : σ = ((2, 3), (1, 2), (6, 7)) Unit-capacity constraints : - A node contains at most one piece - A move involves only one piece - A piece is moved once → towards a “free-of-piece” node

10/40

Operational Research Problems The unit-capacity constrained permutation problem

Sequence of moves Move 4 a

5

b

2

1

Final state

a

a

c

3

4

1

7

8

5

c

6

b

2

a

3

c

6

4

c

7

8

Sequence of moves : σ = ((2, 3), (1, 2), (6, 7), (5, 6)) Unit-capacity constraints : - A node contains at most one piece - A move involves only one piece - A piece is moved once → towards a “free-of-piece” node

10/40

Operational Research Problems The unit-capacity constrained permutation problem

Sequence of moves Final State a

5

b

2

1

Final state

a

a

3

c

6

4

1

8

5

c

7

b

2

a

3

c

6

4

c

7

8

Sequence of moves : σ = ((2, 3), (1, 2), (6, 7), (5, 6), (4, 8)) Unit-capacity constraints : - A node contains at most one piece - A move involves only one piece - A piece is moved once → towards a “free-of-piece” node

10/40

Operational Research Problems The unit-capacity constrained permutation problem

Sequence of moves Final State a

5

b

2

1

Final state

a

a

3

c

6

4

1

8

5

c

7

Unit-capacity constraints : - A node contains at most one piece - A move involves only one piece - A piece is moved once → towards a “free-of-piece” node

b

2

a

3

c

6

4

c

7

8

Sequence of moves : σ = ((2, 3), (1, 2), (6, 7), (5, 6), (4, 8)) which induces 4 tool changeovers.

10/40

Operational Research Problems The unit-capacity constrained permutation problem

Sequence of moves Final State a

5

b

2

1

Final state

a

a

3

c

6

4

1

8

5

c

7

Unit-capacity constraints : - A node contains at most one piece - A move involves only one piece - A piece is moved once → towards a “free-of-piece” node

b

2

a

3

c

6

4

c

7

8

Sequence of moves : σ = ((2, 3), (1, 2), (6, 7), (5, 6), (4, 8)) which induces 4 tool changeovers. Another sequence σ 0 = ((2, 3), (6, 7), (4, 8), (1, 2), (5, 6)) induces only 1 tool changeover !

10/40

Operational Research Problems The unit-capacity constrained permutation problem

Sequence of moves Final state

Final State a

5

b

2

1

a

a

3

c

6

4

1

8

5

c

7

Unit-capacity constraints : - A node contains at most one piece - A move involves only one piece - A piece is moved once → towards a “free-of-piece” node

b

2

a

3

c

6

4

c

7

8

Sequence of moves : σ = ((2, 3), (1, 2), (6, 7), (5, 6), (4, 8)) which induces 4 tool changeovers. Another sequence σ 0 = ((2, 3), (6, 7), (4, 8), (1, 2), (5, 6)) induces only 1 tool changeover !

Minimizing the total tool changeover cost

10/40

Operational Research Problems The unit-capacity constrained permutation problem

Complexity The Unit-capacity constraints constrained Permutation problem is to find a sequence of moves performing the permutation from the initial state to the final state with a minimum tool changeover cost.

11/40

Operational Research Problems The unit-capacity constrained permutation problem

Complexity The Unit-capacity constraints constrained Permutation problem is to find a sequence of moves performing the permutation from the initial state to the final state with a minimum tool changeover cost. • If a tool changeover corresponds to a time for a robot to move a piece : The “time” Permutation problem is NP-hard by a direct reduction from the TSP.

11/40

Operational Research Problems The unit-capacity constrained permutation problem

Complexity The Unit-capacity constraints constrained Permutation problem is to find a sequence of moves performing the permutation from the initial state to the final state with a minimum tool changeover cost. • If a tool changeover corresponds to a time for a robot to move a piece : The “time” Permutation problem is NP-hard by a direct reduction from the TSP. • In practice for the fuel renewal problem : all tool changeover takes the same time !

11/40

Operational Research Problems The unit-capacity constrained permutation problem

Complexity The Unit-capacity constraints constrained Permutation problem is to find a sequence of moves performing the permutation from the initial state to the final state with a minimum tool changeover cost. • If a tool changeover corresponds to a time for a robot to move a piece : The “time” Permutation problem is NP-hard by a direct reduction from the TSP. • In practice for the fuel renewal problem : all tool changeover takes the same time !

Theorem The Unit-Capacity Constrained Permutation Problem with unitary tool changeover is NP-hard for 3 tools.

11/40

Operational Research Problems The unit-capacity constrained permutation problem

Complexity The Unit-capacity constraints constrained Permutation problem is to find a sequence of moves performing the permutation from the initial state to the final state with a minimum tool changeover cost. • If a tool changeover corresponds to a time for a robot to move a piece : The “time” Permutation problem is NP-hard by a direct reduction from the TSP. • In practice for the fuel renewal problem : all tool changeover takes the same time !

Theorem The Unit-Capacity Constrained Permutation Problem with unitary tool changeover is NP-hard for 3 tools. by reduction from a particular Common Supersequence problem where, for a sequence of characters, every two consecutive characters are distinct. [P.Bendotti, P.F., S.Kedad-Sidhoum in EJOR (2018)] 11/40

Operational Research Problems The unit-capacity constrained permutation problem

Graph Model Final state

Initial state a

b

1

a

2

b

c

7

6

e

3

f

e

5

1

9

10

6

e

1

a

b

b

2

3

7

8

c

d

8

a

4

4

5

d

f

9

10

An arc of A corresponds to a potential move of a piece.

2 a

3

6

4 b

8

c

7

5

f

9

d

10 12/40

Operational Research Problems The unit-capacity constrained permutation problem

Graph Model Final state

Initial state a

b

1

a

2

b

c

7

6

e

3

f

e

5

1

9

10

6

e

1

a

b

b

2

3

7

8

c

d

8

a

4

4

5

d

f

9

10

An arc of A corresponds to a potential move of a piece.

2 a

3

6

Substitutable type : if there are at least 2 pieces of this type → a complete biclique of at least 4 arcs

4 b

8

c

7

5

f

9

d

10

“1-to-1” type : if there is only one piece of this type → a “1-to-1” arc 12/40

Operational Research Problems The unit-capacity constrained permutation problem

Feasibility An instance can be infeasible ! Initial state a

b

1

Final state c

2

3

d

d

4

a

1

b

2

3

c

4

13/40

Operational Research Problems The unit-capacity constrained permutation problem

Feasibility An instance can be infeasible ! Initial state a

b

1

Final state c

2

3

d

d

4

a

1

b

2

3

c

4

Theorem An instance is feasible if and only if G can be covered by node-disjoint paths so that each path links one node with no-incoming arc to one node with no-outgoing arc. → Checking feasibility can be done in polynomial time (reduces to find a feasible flow in the graph.)

13/40

Operational Research Problems The unit-capacity constrained permutation problem

Feasibility An instance can be infeasible ! Initial state a

b

1

Final state c

2

3

d

d

4

a

1

b

2

3

c

4

Theorem An instance is feasible if and only if G can be covered by node-disjoint paths so that each path links one node with no-incoming arc to one node with no-outgoing arc. → Checking feasibility can be done in polynomial time (reduces to find a feasible flow in the graph.) → Recover feasibility using some Steiner nodes [P.Bendotti, P.F. in DO (2016)] 13/40

Operational Research Problems The unit-capacity constrained permutation problem

Instances coming from fuel renewal 2 tools 0 substitutable type 2 “1-to-1” types

Trivially polynomial

2 tools 2 substitutable types 0 “1-to-1” type

Polynomial using a dynamic programming scheme

3 tools ≥3 substitutable types 0 “1-to-1” type

Instances from future nuclear plants

3 tools 2 substitutable types 2 of the pieces in “1-to-1” types 3

Instances from existing nuclear plants

3 tools 0 substitutable type each piece in “1-to-1” type

NP-hard

14/40

Operational Research Problems The unit-capacity constrained permutation problem

Instances coming from fuel renewal 2 tools 0 substitutable type 2 “1-to-1” types

Trivially polynomial

2 tools 2 substitutable types 0 “1-to-1” type

Polynomial using a dynamic programming scheme

3 tools ≥3 substitutable types 0 “1-to-1” type

Instances for future nuclear plants

3 tools 2 substitutable types 2 of the pieces in “1-to-1” types 3

Instances for existing nuclear plants

3 tools 0 substitutable type each piece in “1-to-1” type

NP-hard

14/40

Operational Research Problems The unit-capacity constrained permutation problem

Dynamic programming scheme • Dedicated to instances from future nuclear plants : where the pieces are dispatched into 3 large substitutable types.

15/40

Operational Research Problems The unit-capacity constrained permutation problem

Dynamic programming scheme • Dedicated to instances from future nuclear plants : where the pieces are dispatched into 3 large substitutable types. → Many symmetric solutions !

15/40

Operational Research Problems The unit-capacity constrained permutation problem

Dynamic programming scheme • Dedicated to instances from future nuclear plants : where the pieces are dispatched into 3 large substitutable types. → Many symmetric solutions ! • Symmetry breaking : piece moves are replaced by “type-moves” (t 0 , t f ) : “ Any piece of type t 0 can take the place of any piece pf type t f ”. → There is much less symmetry in this “new space”

15/40

Operational Research Problems The unit-capacity constrained permutation problem

Dynamic programming scheme • Dedicated to instances from future nuclear plants : where the pieces are dispatched into 3 large substitutable types. → Many symmetric solutions ! • Symmetry breaking : piece moves are replaced by “type-moves” (t 0 , t f ) : “ Any piece of type t 0 can take the place of any piece pf type t f ”. → There is much less symmetry in this “new space” → Moreover, in this “new space”, there are some dominance properties

15/40

Operational Research Problems The unit-capacity constrained permutation problem

Dynamic programming scheme • Dedicated to instances from future nuclear plants : where the pieces are dispatched into 3 large substitutable types. → Many symmetric solutions ! • Symmetry breaking : piece moves are replaced by “type-moves” (t 0 , t f ) : “ Any piece of type t 0 can take the place of any piece pf type t f ”. → There is much less symmetry in this “new space” → Moreover, in this “new space”, there are some dominance properties • Dynamic programming scheme : based on the property

Theorem A sequence of “type-moves” corresponds to a sequence of “piece moves” if, before before each move involving a type t, there is at least one “free of piece” node requiring type t.

15/40

Operational Research Problems The unit-capacity constrained permutation problem

Dynamic programming scheme • Dedicated to instances from future nuclear plants : where the pieces are dispatched into 3 large substitutable types. → Many symmetric solutions ! • Symmetry breaking : piece moves are replaced by “type-moves” (t 0 , t f ) : “ Any piece of type t 0 can take the place of any piece pf type t f ”. → There is much less symmetry in this “new space” → Moreover, in this “new space”, there are some dominance properties • Dynamic programming scheme : based on the property

Theorem A sequence of “type-moves” corresponds to a sequence of “piece moves” if, before before each move involving a type t, there is at least one “free of piece” node requiring type t. ⇒ Very efficient for 3 tools till 200 nodes and for 4 tools till 96 nodes. 15/40

Operational Research Problems The unit-capacity constrained permutation problem

A Mixed Integer Programming model • Dedicated to Instances from existing nuclear plants : having both substitutable and 1-to-1 types.

16/40

Operational Research Problems The unit-capacity constrained permutation problem

A Mixed Integer Programming model • Dedicated to Instances from existing nuclear plants : having both substitutable and 1-to-1 types. • A compact encoding Bijection between : - Solutions i.e., a cover of node-disjoint paths - Sets of matchings (one for each biclique)

e

1

2 a

3

6

4 b

8

c

7

5

f

9

d

10

16/40

Operational Research Problems The unit-capacity constrained permutation problem

A Mixed Integer Programming model • Dedicated to Instances from existing nuclear plants : having both substitutable and 1-to-1 types.

• A compact encoding Bijection between : - Solutions i.e., a cover of node-disjoint paths - Sets of matchings (one for each biclique)

1

2

6

3

4

8

7

5

Inducing no circuit

9

10

Contains a cycle (not “feasible”).

16/40

Operational Research Problems The unit-capacity constrained permutation problem

A Mixed Integer Programming model • Dedicated to Instances from existing nuclear plants : having both substitutable and 1-to-1 types.

• A compact encoding Bijection between : - Solutions i.e., a cover of node-disjoint paths - Sets of matchings (one for each biclique)

1

2

6

3

4

8

7

5

Inducing no circuit Objective value given by a path alignment

9

10

Path1 :((8,7),(7,4),(4,1),(1,2)) Path2 :((6,3),(3,5),(5,9),(9,10))

16/40

Operational Research Problems The unit-capacity constrained permutation problem

A Mixed Integer Programming model • Dedicated to Instances from existing nuclear plants : having both substitutable and 1-to-1 types.

• A compact encoding Bijection between : - Solutions i.e., a cover of node-disjoint paths - Sets of matchings (one for each biclique)

1

2

6

3

4

8

7

5

Inducing no circuit Objective value given by a path alignment

9

10

Path1 :( (8,7),(7,4),(4,1), (1,2) ) Path2 :((6,3),(3,5), (5,9),(9,10)) ⇒ “Alignment of 4 tool changeovers.

16/40

Operational Research Problems The unit-capacity constrained permutation problem

A Mixed Integer Programming model • Dedicated to Instances from existing nuclear plants : having both substitutable and 1-to-1 types.

• A compact encoding Bijection between : - Solutions i.e., a cover of node-disjoint paths - Sets of matchings (one for each biclique)

1

2

6

3

4

8

7

5

Inducing no circuit Objective value given by a path alignment

9

10

Path1 :( (8,7),(7,4),(4,1), (1,2) ) Path2 :((6,3),(3,5), (5,9),(9,10)) ⇒ “Alignment of 4 tool changeovers.

⇒ An efficient MIP Solve instances for 3 tools till 200 nodes 16/40

Operational Research Problems The unit-capacity constrained permutation problem

A Mixed Integer Programming model • Dedicated to Instances from existing nuclear plants : having both substitutable and 1-to-1 types.

• A compact encoding Bijection between : - Solutions i.e., a cover of node-disjoint paths - Sets of matchings (one for each biclique)

1

2

6

3

4

8

7

5

Inducing no circuit Objective value given by a path alignment

9

10

Path1 :( (8,7),(7,4),(4,1), (1,2) ) Path2 :((6,3),(3,5), (5,9),(9,10)) ⇒ “Alignment of 4 tool changeovers.

⇒ An efficient MIP Solve instances for 3 tools till 200 nodes Solve “infeasible” instances by considering addtional Steiner nodes 16/40

Operational Research Problems The unit-capacity constrained permutation problem

Conclusion

• A full combinatorial analysis : - Complexity results - Feasibility characterization - Feasibilty recover • A dynamic programming scheme - Giving a polynomial case - Solving instances from future nuclear plants • A MIP formulation - Based on structural properties - Solving instances from existing nuclear plants

17/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Polyhedral Approaches and Branch-and-Cut

Graph Bipartization Bipartite induced subgraph and independence system problems • a classical combinatorial problem with a short literature • reduction from distinct practical problems (from my PhD thesis) • some published and ongoing polyhedral results

18/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Graph bipartization

Let G = (V , E ) be undirected graph.

19/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Graph bipartization

Let G = (V , E ) be undirected graph. An odd cycle is a cycle containing an odd number of nodes.

19/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Graph bipartization

Let G = (V , E ) be undirected graph. An odd cycle is a cycle containing an odd number of nodes. A graph is bipartite if it contains no odd cycle.

19/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Graph bipartization

Let G = (V , E ) be undirected graph. An odd cycle is a cycle containing an odd number of nodes. A graph is bipartite if it contains no odd cycle. Bipartizing graph G is deleting a minimum number of nodes to break every odd cycle.

19/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Reduction from VLSI and genomics The Via Minimization problem is to assign wire segments of a VLSI circuit on the two sides of a printed circuit board.

20/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Reduction from VLSI and genomics The Via Minimization problem is to assign wire segments of a VLSI circuit on the two sides of a printed circuit board. → Reduces to graph bipartization.

20/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Reduction from VLSI and genomics The Via Minimization problem is to assign wire segments of a VLSI circuit on the two sides of a printed circuit board. → Reduces to graph bipartization.

The SNP haplotype assembly problem is to determine a maximum number of DNA fragments without SNP conflicts.

20/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Reduction from VLSI and genomics The Via Minimization problem is to assign wire segments of a VLSI circuit on the two sides of a printed circuit board. → Reduces to graph bipartization.

The SNP haplotype assembly problem is to determine a maximum number of DNA fragments without SNP conflicts. → Reduces to graph bipartization.

20/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Reduction from VLSI and genomics The Via Minimization problem is to assign wire segments of a VLSI circuit on the two sides of a printed circuit board. → Reduces to graph bipartization.

The SNP haplotype assembly problem is to determine a maximum number of DNA fragments without SNP conflicts. → Reduces to graph bipartization. [P.F, A.R.Mahjoub in COA (2012)] 20/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Branch-and-Cut algorithm Given G = (V , E ) : undirected graph. c(u) : node weight of node u ∈ V . 1 if node u is kept x(u) = 0 otherwise The 0-1 integer program X Maximize c(u)x(u) Xu∈V x(C ) = x(u) ≤ |C | − 1 u∈C 0 ≤ x(u) ≤ 1 x(u) integer

for every odd cycle C of G for every node u ∈ V

is equivalent to the bipartization problem.

21/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Branch-and-Cut algorithm Given G = (V , E ) : undirected graph. c(u) : node weight of node u ∈ V . 1 if node u is kept x(u) = 0 otherwise The 0-1 integer program X Maximize c(u)x(u) Xu∈V x(C ) = x(u) ≤ |C | − 1 u∈C 0 ≤ x(u) ≤ 1 x(u) integer

for every odd cycle C of G for every node u ∈ V

is equivalent to the bipartization problem.

21/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Branch-and-Cut algorithm Given G = (V , E ) : undirected graph. c(u) : node weight of node u ∈ V . 1 if node u is kept x(u) = 0 otherwise The 0-1 integer program X Maximize c(u)x(u) Xu∈V x(C ) = x(u) ≤ |C | − 1 u∈C 0 ≤ x(u) ≤ 1 x(u) integer

for every odd cycle C of G for every node u ∈ V

is equivalent to the bipartization problem. → Its linear relaxation of can be solved in polynomial time through a cutting-plane based method. → Using a search tree, we obtain a Branch-and-Cut algorithm. 21/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Branch-and-Cut algorithm The Bipartization problem is strongly NP-hard from a reduction from the stable set problem.

22/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Branch-and-Cut algorithm The Bipartization problem is strongly NP-hard from a reduction from the stable set problem. However, using our Branch-and-Cut algorithm, we succeed to solve : • Large real instances of the Via Minimization problem (VLSI) → corresponds to graphs with 1 billion of nodes.

22/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Branch-and-Cut algorithm The Bipartization problem is strongly NP-hard from a reduction from the stable set problem. However, using our Branch-and-Cut algorithm, we succeed to solve : • Large real instances of the Via Minimization problem (VLSI) → corresponds to graphs with 1 billion of nodes. but with a maximum node degree ≤ 4 and which are “quasi-”planar (planar graphs with some additional edges)

22/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Branch-and-Cut algorithm The Bipartization problem is strongly NP-hard from a reduction from the stable set problem. However, using our Branch-and-Cut algorithm, we succeed to solve : • Large real instances of the Via Minimization problem (VLSI) → corresponds to graphs with 1 billion of nodes. but with a maximum node degree ≤ 4 and which are “quasi-”planar (planar graphs with some additional edges) → And the Bipartization problem is polynomial for planar graph with maximum node degre ≤ 3.

22/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Branch-and-Cut algorithm The Bipartization problem is strongly NP-hard from a reduction from the stable set problem. However, using our Branch-and-Cut algorithm, we succeed to solve : • Large real instances of the Via Minimization problem (VLSI) → corresponds to graphs with 1 billion of nodes. but with a maximum node degree ≤ 4 and which are “quasi-”planar (planar graphs with some additional edges) → And the Bipartization problem is polynomial for planar graph with maximum node degre ≤ 3. • Every realistic instances of the SNP haplotype assembly problem (genomic) → corresponds to graphs that are “quasi”-complete (complete graphs with some missing edges) → And the Bipartization problem is trivial for complete graphs. 22/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Polyhedral approach for “quasi”-complete graphs Polytope Pbip (G ) : convex hull of all incidence vectors of node subsets inducing a bipartite subgraph of G . The Clique inequalities x(K ) ≤ 2

for all clique K ⊆ V

defines a facet of Pbip (G ) if and only of K is inclusion-wise maximal.

23/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Polyhedral approach for “quasi”-complete graphs Polytope Pbip (G ) : convex hull of all incidence vectors of node subsets inducing a bipartite subgraph of G . The Clique inequalities x(K ) ≤ 2

for all clique K ⊆ V

defines a facet of Pbip (G ) if and only of K is inclusion-wise maximal. The Wheel of Order q inequalities with a clique K universal to an odd cycle C x(K ) +

|K | |K | x(C ) ≤ 2 2 2

defines a facet of Pbip (G ) under some conditions.

23/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Polyhedral approach for “quasi”-complete graphs Polytope Pbip (G ) : convex hull of all incidence vectors of node subsets inducing a bipartite subgraph of G . The Clique inequalities x(K ) ≤ 2

for all clique K ⊆ V

defines a facet of Pbip (G ) if and only of K is inclusion-wise maximal. The Wheel of Order q inequalities with a clique K universal to an odd cycle C x(K ) +

|K | |K | x(C ) ≤ 2 2 2

defines a facet of Pbip (G ) under some conditions. → They can be heuristically but efficiently separated P.F, A.R.Mahjoub in DAM (2009) within the Branch-and-Cut algorithm for quasi-complete graphs.

23/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Facets for the independence system polytope Let (V , I) be an independence system with V = {1, ..., n} a finite set I a non-empty family of independent subsets i.e., such that (I ∈ I and J ⊂ I ) implies J ∈ I. Bipartization problem, Stable Set problem, Knapsack problems,... are independence system problems. For the bipartization problem, the independent sets are the bipartite subgraphs the dependents are the odd cycles.

24/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Facets for the independence system polytope Let (V , I) be an independence system with V = {1, ..., n} a finite set I a non-empty family of independent subsets i.e., such that (I ∈ I and J ⊂ I ) implies J ∈ I. Bipartization problem, Stable Set problem, Knapsack problems,... are independence system problems. For the bipartization problem, the independent sets are the bipartite subgraphs the dependents are the odd cycles. How to obtain new facet defining inequalities ?

24/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Facets for the independence system polytope Let (V , I) be an independence system with V = {1, ..., n} a finite set I a non-empty family of independent subsets i.e., such that (I ∈ I and J ⊂ I ) implies J ∈ I. Bipartization problem, Stable Set problem, Knapsack problems,... are independence system problems. For the bipartization problem, the independent sets are the bipartite subgraphs the dependents are the odd cycles. How to obtain new facet defining inequalities ? → Using “lifting procedures” from known facet defining inequalities :

24/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Facets for the independence system polytope Let (V , I) be an independence system with V = {1, ..., n} a finite set I a non-empty family of independent subsets i.e., such that (I ∈ I and J ⊂ I ) implies J ∈ I. Bipartization problem, Stable Set problem, Knapsack problems,... are independence system problems. For the bipartization problem, the independent sets are the bipartite subgraphs the dependents are the odd cycles. How to obtain new facet defining inequalities ? → Using “lifting procedures” from known facet defining inequalities : 5 X

xi ≤ 4

i=1

24/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Facets for the independence system polytope Let (V , I) be an independence system with V = {1, ..., n} a finite set I a non-empty family of independent subsets i.e., such that (I ∈ I and J ⊂ I ) implies J ∈ I. Bipartization problem, Stable Set problem, Knapsack problems,... are independence system problems. For the bipartization problem, the independent sets are the bipartite subgraphs the dependents are the odd cycles. How to obtain new facet defining inequalities ? → Using “lifting procedures” from known facet defining inequalities : 5 X

xi + 2x0 ≤ 2

i=1

24/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Facets for the independence system polytope Let (V , I) be an independence system with V = {1, ..., n} a finite set I a non-empty family of independent subsets i.e., such that (I ∈ I and J ⊂ I ) implies J ∈ I. Bipartization problem, Stable Set problem, Knapsack problems,... are independence system problems. For the bipartization problem, the independent sets are the bipartite subgraphs the dependents are the odd cycles. How to obtain new facet defining inequalities ? → Using “lifting procedures” from known facet defining inequalities : 8 X

xi + 2x0 ≤ 6

i=1

24/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Facets for the independence system polytope Let (V , I) be an independence system with V = {1, ..., n} a finite set I a non-empty family of independent subsets i.e., such that (I ∈ I and J ⊂ I ) implies J ∈ I. Bipartization problem, Stable Set problem, Knapsack problems,... are independence system problems. For the bipartization problem, the independent sets are the bipartite subgraphs the dependents are the odd cycles. How to obtain new facet defining inequalities ? → Using “lifting procedures” from known facet defining inequalities : 20 X

xi + 2x0 ≤ 14

i=1

24/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Facets for the independence system polytope Let (V , I) be an independence system with V = {1, ..., n} a finite set I a non-empty family of independent subsets i.e., such that (I ∈ I and J ⊂ I ) implies J ∈ I. Bipartization problem, Stable Set problem, Knapsack problems,... are independence system problems. For the bipartization problem, the independent sets are the bipartite subgraphs the dependents are the odd cycles. How to obtain new facet defining inequalities ? → Using “lifting procedures” from known facet defining inequalities : 20 X

xi + 2x0 ≤ 14

i=1 P.F, M.Labb´ e, A.R.Mahjoub, H.Yaman, in SIAM J. DM (2009) 24/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Polyhedral approach for cellular graphs A cellular graph : connected planar graphs with maximum node degree 3.

25/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Polyhedral approach for cellular graphs A cellular graph : connected planar graphs with maximum node degree 3. • Given a cellular graph G = (V , E ), the rank rG (W ) of a node subset W ⊆ V is the maximum number of nodes inducing no odd cycle. • Any boolean inequality x(W ) ≤ α is valid for Pbip (G ) if rG (W ) ≤ α.

25/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Polyhedral approach for cellular graphs A cellular graph : connected planar graphs with maximum node degree 3. • Given a cellular graph G = (V , E ), the rank rG (W ) of a node subset W ⊆ V is the maximum number of nodes inducing no odd cycle. • Any boolean inequality

odd odd

odd

even odd

x(W ) ≤ α is valid for Pbip (G ) if rG (W ) ≤ α. → A question of graph and polyhedra theory : “What is the rank of a cellular subgraph ?”

25/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Polyhedral approach for cellular graphs A cellular graph : connected planar graphs with maximum node degree 3. • Given a cellular graph G = (V , E ), the rank rG (W ) of a node subset W ⊆ V is the maximum number of nodes inducing no odd cycle. • Any boolean inequality

odd odd

odd

even odd

x(W ) ≤ α is valid for Pbip (G ) if rG (W ) ≤ α. → A question of graph and polyhedra theory : “What is the rank of a cellular subgraph ?” If the boolean inequality defines a facet of Pbip (G ) then rG (W ) = α. 25/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Cellular graphs Let H = (W , F ) be a cellular graph. In a planar embedding, the plane is partitionned into regions, called face. A boundary of a face is a cycle.

C0

C3 C1

C6 C4 C5

ρ(H): maximum number of odd faces among all planar embeddings.

C2

C7 C8

Note that ρ(H) is even.

26/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Cellular graphs Let H = (W , F ) be a cellular graph. In a planar embedding, the plane is partitionned into regions, called face. A boundary of a face is a cycle.

C0

C3 C1

C6 C4 C5

ρ(H): maximum number of odd faces among all planar embeddings.

C2

C7 C8

Note that ρ(H) is even.

Theorem rG (W ) ≤ |W | −

l

ρ(H) 2

m

Here there are 9 faces and ρ(H) = 8 For this graph of |W | = 22 nodes Then rG (W ) = 18

26/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization odd

Let H = (W , F ) be a 2-connected cellular graph such that there exists a planar embedding where all the faces are odd.

odd odd odd

27/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization odd

Let H = (W , F ) be a 2-connected cellular graph such that there exists a planar embedding where all the faces are odd.

even odd

27/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization odd

Let H = (W , F ) be a 2-connected cellular graph such that there exists a planar embedding where all the faces are odd.

odd

27/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Let H = (W , F ) be a 2-connected cellular graph such that there exists a planar embedding where all the faces are odd.

A 2 edge-cutset is a cut of exactly 2 edges. H is strong cellular if, for every edge e belonging to a 2-edge-cutset, there exists a planar embedding where every non-trivial 2-connected component of H \ e has an even exterior face.

C0

C3 C1

C6 C4 C5

C2

C7 C8

27/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Let H = (W , F ) be a 2-connected cellular graph such that there exists a planar embedding where all the faces are odd. A 2 edge-cutset is a cut of exactly 2 edges. H is strong cellular if, for every edge e belonging to a 2-edge-cutset, there exists a planar embedding where every non-trivial 2-connected component of H \ e has an even exterior face.

27/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Let H = (W , F ) be a 2-connected cellular graph such that there exists a planar embedding where all the faces are odd. A 2 edge-cutset is a cut of exactly 2 edges. H is strong cellular if, for every edge e belonging to a 2-edge-cutset, there exists a planar embedding where every non-trivial 2-connected component of H \ e has an even exterior face.

Theorem The cellular inequality x(W ) ≤ |W | − if and only if H is strong cellular.

l

ρ(H) 2

m

defines a facet of Pbip (H)

Corolarly, the odd strong cellular lgraphs m are the only odd cellular graphs ρ(H) with rG (W ) = |W | − 2 P.F, A.R.Mahjoub (2018)

27/40

Polyhedral Approaches and Branch-and-Cut Graph Bipartization

Conclusion

• A long-time theoretical study - Numerous valid defining inequalities - Facial properties • Branch-and-Cut results - From an exact (theoretical) point of view - From a heuristic (practical) point of view • ... an still some open questions - Exact separation for cellular inequalities - Polyhedral characterization of cellular graphs

28/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Algorithmic aspects of Mixed Integer Programming

Branch-and-Cut-and-Price • a hard-to-handle algorithmic scheme • a new framework for polyhedral approaches • promising improvements for vehicle routing or graph coloring problems • and for netword design problem

29/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

A “Real” Survivable network A survivable network is a a telecommunication network that is still operational when one of its links fails. Instance

G = (V , E ∪ A) : graph with V : depot 0 / client nodes / and Steiner nodes E : existing edges each containing γ optical fibers A : potentiel arcs to connect a client to the network

30/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

A “Real” Survivable network A survivable network is a a telecommunication network that is still operational when one of its links fails. Instance

Ring-Star

Q-Ring-Star : a cycle with additional arcs, serving at most Q clients.

30/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

A “Real” Survivable network A survivable network is a a telecommunication network that is still operational when one of its links fails. Instance

Solution

Q-Ring-Star : a cycle with additional arcs, serving at most Q clients. Solution : Covering the graph with non-disjoint ring-stars such that every edge belongs to at most γ ring-stars.

30/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

A set-partionning formulation Min

X

c r θr

Xr ∈ΩX

aijr θr = 1

r ∈Ω (i,j)∈A X ber θr ≤ r ∈Ω

θr ∈ {0, 1}

γ

∀i ∈ U ∀e ∈ E ∀r ∈ Ω

Data : Ω : set of all Q-ring-stars of G aijr : equal to 1 iff arc (i, j) belongs to ring-star r ∈ Ω ber : equal to 1 iff edge e belongs to ring-star r ∈ Ω c r : total cost of a ring-star r ∈ Ω (edges and assignment arcs) Variable : θr : binary variable equals to 1 if the ring-star r is choosen.

31/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

A set-partionning formulation Min

X

c r θr

Xr ∈ΩX

aijr θr = 1

r ∈Ω (i,j)∈A X ber θr ≤ r ∈Ω

θr ∈ {0, 1}

γ

∀i ∈ U ∀e ∈ E ∀r ∈ Ω

31/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

A set-partionning formulation Min

X

c r θr

Xr ∈ΩX

aijr θr = 1

r ∈Ω (i,j)∈A X ber θr ≤ r ∈Ω

0 ≤ θr ≤ 1

γ

∀i ∈ U ∀e ∈ E ∀r ∈ Ω

31/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

A set-partionning formulation Min

X

c r θr

Xr ∈ΩX

aijr θr = 1

r ∈Ω (i,j)∈A X ber θr ≤ r ∈Ω

0 ≤ θr ≤ 1

γ

∀i ∈ U

→ dual value λi

∀e ∈ E

→ dual value ωe

∀r ∈ Ω

31/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Column generation Min

X

c r θr

Xr ∈ΩX

(λ, ω)

aijr θr

r ∈Ω (i,j)∈A X ber θr ≤ r ∈Ω

0 ≤ θr ≤ 1

γ

=1

∀i ∈ U

→ dual value λi

∀e ∈ E

→ dual value ωe

∀r ∈ Ω

Ring-star r (ar , b r , c r )

Pricing subproblem : Finding a Q-Ring-star r of cost c r encoded by vectors ar and b r minimizing the dual cost X X X cbr = c r − aijr λi − ber ωe . i∈U (i,j)∈A

e∈E

32/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Column generation Min

X

c r θr

Xr ∈ΩX

(λ, ω)

aijr θr

r ∈Ω (i,j)∈A X ber θr ≤ r ∈Ω

0 ≤ θr ≤ 1

γ

=1

∀i ∈ U

→ dual value λi

∀e ∈ E

→ dual value ωe

∀r ∈ Ω

Ring-star r (ar , b r , c r )

Pricing subproblem : Finding a Q-Ring-star r of cost c r encoded by vectors ar and b r minimizing the dual cost X X X cbr = c r − aijr λi − ber ωe . i∈U (i,j)∈A

e∈E

Classical method for a “CVRP like” problem : labelling algorithm But in our case, this method quickly exceeds memory capacity. 32/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Column generation Min

X

c r θr

Xr ∈ΩX

(λ, ω)

aijr θr

r ∈Ω (i,j)∈A X ber θr ≤ r ∈Ω

0 ≤ θr ≤ 1

γ

=1

∀i ∈ U

→ dual value λi

∀e ∈ E

→ dual value ωe

∀r ∈ Ω Pricing subproblem : Finding a Q-Ring-star r of cost c r encoded by vectors ar and b r minimizing the dual cost X X X cbr = c r − aijr λi − ber ωe . i∈U (i,j)∈A

e∈E

Ring-star r (ar , b r , c r )

We opt for a Branch-and-Cut algorithm from P.F, A.Questel - RAIRO (2014)

32/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Column generation Min

X

c r θr

Xr ∈ΩX

(λ, ω)

aijr θr

r ∈Ω (i,j)∈A X ber θr ≤ r ∈Ω

0 ≤ θr ≤ 1

γ

=1

∀i ∈ U

→ dual value λi

∀e ∈ E

→ dual value ωe

∀r ∈ Ω Pricing subproblem : Finding a Q-Ring-star r of cost c r encoded by vectors ar and b r minimizing the dual cost X X X cbr = c r − aijr λi − ber ωe . i∈U (i,j)∈A

e∈E

Ring-star r (ar , b r , c r )

We opt for a Branch-and-Cut algorithm from P.F, A.Questel - RAIRO (2014)

Using a search tree, we then obtain a Branch-and-Price algorithm whose pricing subproblem is solved using a Branch-and-Cut

32/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Handling valid inequalities in the master problem Several inequalities can be added to this set-partitionning master program. • Capacity inequalities for a subset of clients U of total demand d(U ) X

θr ≥

r ∈Ω(U )

d(U ) → σU Q

• Inequalities coming from the Stable Set polytope : H = (Ω, T ) : the conflict graph where an edge links two ring-stars r and r 0 if and only if they share at least one client. Given a clique K and an odd cycle C of graph H X

θr ≤ 1

→ µK

r ∈K

X r ∈C

θr ≤

|C| − 1 2

→ µC

These inequalities can be efficiently separated heuristically : → We obtain a Branch-and-Cut-and-Price algorithm. 33/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Handling valid inequalities in the master problem Several inequalities can be added to this set-partitionning master program. • Capacity inequalities for a subset of clients U of total demand d(U ) X

θr ≥

r ∈Ω(U )

d(U ) → σU Q

• Inequalities coming from the Stable Set polytope : H = (Ω, T ) : the conflict graph where an edge links two ring-stars r and r 0 if and only if they share at least one client. Given a clique K and an odd cycle C of graph H X

θr ≤ 1

→ µK

r ∈K

X r ∈C

θr ≤

|C| − 1 2

→ µC

These inequalities can be efficiently separated heuristically : → We obtain a Branch-and-Cut-and-Price algorithm. 33/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Handling valid inequalities in the master problem Several inequalities can be added to this set-partitionning master program. • Capacity inequalities for a subset of clients U of total demand d(U ) X

θr ≥

r ∈Ω(U )

d(U ) → σU Q

• Inequalities coming from the Stable Set polytope : H = (Ω, T ) : the conflict graph where an edge links two ring-stars r and r 0 if and only if they share at least one client. Given a clique K and an odd cycle C of graph H X

θr ≤ 1

→ µK

r ∈K

X r ∈C

θr ≤

|C| − 1 2

→ µC

These inequalities can be efficiently separated heuristically : → We obtain a Branch-and-Cut-and-Price algorithm. 33/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Handling valid inequalities in the master problem Each new capactiy inequality provides a client subset U Each clique inequality provides a clique K Each odd cycle inequality provides an odd cycle C

34/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Handling valid inequalities in the master problem Each new capactiy inequality provides a client subset U Each clique inequality provides a clique K Each odd cycle inequality provides an odd cycle C • Handling dual values σU → adding a variable and |U | + 1 inequalities in the Branch-and-Cut solving the pricing

34/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Handling valid inequalities in the master problem Each new capactiy inequality provides a client subset U Each clique inequality provides a clique K Each odd cycle inequality provides an odd cycle C • Handling dual values σU → adding a variable and |U | + 1 inequalities in the Branch-and-Cut solving the pricing • Handling dual values µK (or µC ) → adding a variable and an exponential number of inequalities with a polynomial time separation algorithm in the Branch-and-Cut solving the pricing

34/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Handling valid inequalities in the master problem Each new capactiy inequality provides a client subset U Each clique inequality provides a clique K Each odd cycle inequality provides an odd cycle C • Handling dual values σU → adding a variable and |U | + 1 inequalities in the Branch-and-Cut solving the pricing • Handling dual values µK (or µC ) → adding a variable and an exponential number of inequalities with a polynomial time separation algorithm in the Branch-and-Cut solving the pricing For instances with 4 depots, 10 to 25 clients and 10 to 40 Steiner nodes. Mean number of additional capacity inequalities : 2.1 Mean number of additional clique inequalities : 2.9 Mean number of additional cycle inequalities : 3.9 Mean number of inequalities separated within pricing : 2,54 → Optimality gap : improvement from 1.82% to 0.40%. Number of instances solved before branching phase : improvement from 38.68% to 78.95%.

34/40

Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price

Conclusion

• A new Branch-and-Cut-and-Price technique - Lower pricing phase - Better relaxation value - More integer solution before branching phase • Other treated applications - Resource Constrained Planning Scheduling Problem (RCPSP) - Graph coloring problem

[A.Questel’s thesis (2013)] [P.F., A.R.Mahjoub, H.Toussaint, A.Quilliot in RAIRO (2018)]

35/40

Ongoing work and perspectives

Content Operational Research Problems The unit-capacity constrained permutation problem Polyhedral Approaches and Branch-and-Cut Graph Bipartization Algorithmic aspects of Mixed Integer Programming Branch-and-Cut-and-Price Ongoing work and perspectives

36/40

Ongoing work and perspectives

Three research subjects in three PhD theses Breaking symmetries and Unit Commitment Problem (UCP) C´ ecile Rottner’s PhD thesis (2015-2018)

How to break symmetries when solutions are binary matrices Complexity, Polyhedral aspects and Branch-and-Price-and-Cut for the UCP

1 1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

1 1 1 0 0 0 0 0 0

0 0 0 0 0 0 0 1 1

0 0 0 0 0 0 0 0 0

0 0 1 1 1 1 1 1 0

0 0 0 0 0 0 0 0 0

0 1 1 1 1 0 0 0 0

0 0 0 0 0 0 0 1 1

0 0 1 1 0 0 0 0 0

37/40

Ongoing work and perspectives

Three research subjects in three PhD theses Breaking symmetries and Unit Commitment Problem (UCP) C´ ecile Rottner’s PhD thesis (2015-2018)

How to break symmetries when solutions are binary matrices Complexity, Polyhedral aspects and Branch-and-Price-and-Cut for the UCP

1 1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

1 1 1 0 0 0 0 0 0

0 0 0 0 0 0 0 1 1

0 0 0 0 0 0 0 0 0

0 0 1 1 1 1 1 1 0

0 0 0 0 0 0 0 0 0

0 1 1 1 1 0 0 0 0

0 0 0 0 0 0 0 1 1

0 0 1 1 0 0 0 0 0

Polyhedral approaches for Just-in-Time scheduling Anne-Elisabeth Falq’s PhD thesis (2017C2

)

Encoding a schedule using the (continuous) completion date of tasks. Polyhedral study and Branch-and-Cut methods.

• 0 0

p

• p

C1 37/40

Ongoing work and perspectives

Three research subjects in three PhD theses Breaking symmetries and Unit Commitment Problem (UCP) C´ ecile Rottner’s PhD thesis (2015-2018)

How to break symmetries when solutions are binary matrices Complexity, Polyhedral aspects and Branch-and-Price-and-Cut for the UCP

1 1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

1 1 1 0 0 0 0 0 0

0 0 0 0 0 0 0 1 1

0 0 0 0 0 0 0 0 0

0 0 1 1 1 1 1 1 0

0 0 0 0 0 0 0 0 0

0 1 1 1 1 0 0 0 0

0 0 0 0 0 0 0 1 1

0 0 1 1 0 0 0 0 0

Polyhedral approaches for Just-in-Time scheduling Anne-Elisabeth Falq’s PhD thesis (2017C2

)

Encoding a schedule using the (continuous) completion date of tasks. Polyhedral study and Branch-and-Cut methods.

• 0 0

p

• p

C1 37/40

Ongoing work and perspectives

Three research subjects in three PhD theses Anchored solutions under uncertainty Ad` ele Pass-Lanneau PhD thesis (2018-

)

Anchoring a solution is the combinatorial version of the classical continous robustness problems. When disturbance occurs, finding solution with the most possible decisions in common with the baseline instance.

Previous work for minimum makespan precedence scheduling problem. P.Bendotti, P.Chr´ etienne, P.F in EJOR (2017)

And now on other problems : Minimum spanning tree, Minimum matching,...

38/40

Ongoing work and perspectives

Ongoing work and perspectives Branching in order to obtain many integer nodes i.e., Branching on instance characteristics so that the branching deletions or choices, lead to a fully characterized polytope at many search tree nodes.

39/40

Ongoing work and perspectives

Ongoing work and perspectives Branching in order to obtain many integer nodes i.e., Branching on instance characteristics so that the branching deletions or choices, lead to a fully characterized polytope at many search tree nodes.

Cut-and-Price Studying the polytope of the master program of Dantzig-Wolfe decomposition (and handling their dual costs...). → Promising solving tool

39/40

Ongoing work and perspectives

Ongoing work and perspectives Branching in order to obtain many integer nodes i.e., Branching on instance characteristics so that the branching deletions or choices, lead to a fully characterized polytope at many search tree nodes.

Cut-and-Price Studying the polytope of the master program of Dantzig-Wolfe decomposition (and handling their dual costs...). → Promising solving tool → A large source of new polytopes !

39/40

Ongoing work and perspectives

Ongoing work and perspectives Branching in order to obtain many integer nodes i.e., Branching on instance characteristics so that the branching deletions or choices, lead to a fully characterized polytope at many search tree nodes.

Cut-and-Price Studying the polytope of the master program of Dantzig-Wolfe decomposition (and handling their dual costs...). → Promising solving tool → A large source of new polytopes !

Linearization and polyhedra Many operational problem leads to formulation with ”big-M” inequalities that impair the relaxation values. Recent works propose generic MIP methods inside solver.

39/40

Ongoing work and perspectives

Ongoing work and perspectives Branching in order to obtain many integer nodes i.e., Branching on instance characteristics so that the branching deletions or choices, lead to a fully characterized polytope at many search tree nodes.

Cut-and-Price Studying the polytope of the master program of Dantzig-Wolfe decomposition (and handling their dual costs...). → Promising solving tool → A large source of new polytopes !

Linearization and polyhedra Many operational problem leads to formulation with ”big-M” inequalities that impair the relaxation values. Recent works propose generic MIP methods inside solver. → What about dedicated polyhedral approaches ?

39/40

Thank you for your attention

S ch

P appol yh ro a e d ra ch e l s

B a n dr a n c -Pr h i ce l ti ca ma ing th e m m M arog ra P

ed u

ling

Operational Research

Ne

st

Combinatori al Optimization

Robu

Grap hs

n ch t Bran d -Cu a

tw

or

ks

40/40