Ecole
Mathematical Programming: Modelling and Applications
Sonia Cafieri LIX, École Polytechnique
cafieri@lix.polytechnique.fr
October 2009
- S. Cafieri (LIX)
TD6
- ct 2009
1 / 38
Mathematical Programming: Modelling and Applications Sonia Cafieri - - PowerPoint PPT Presentation
Mathematical Programming: Modelling and Applications Sonia Cafieri LIX, cole Polytechnique cafieri@lix.polytechnique.fr October 2009 Ecole S. Cafieri (LIX) TD6 oct 2009 1 / 38 Outline Graphs - basic definitions 1 Densest subgraph
Ecole
TD6
1 / 38
Ecole
1
2
3
4
TD6
2 / 38
Ecole
TD6
3 / 38
Ecole
TD6
4 / 38
Ecole
TD6
5 / 38
Ecole
TD6
6 / 38
Ecole
TD6
7 / 38
Ecole
(u,v)∈A
TD6
8 / 38
Ecole
TD6
9 / 38
Ecole
(u,v)∈A
TD6
10 / 38
Ecole
TD6
11 / 38
Ecole
param n >= 1, integer; set V := 1..n; set E within {V,V}; # arc colours param kmax default 10; # max number of colours param k <= kmax, >= 0, integer, default 1; param mu{E} >=0, integer, <= kmax; # variables var x{V} binary; var y{(u,v) in E} >= 0, <= min(max(0, mu[u,v]-k+1), max(0,k-mu[u,v]+1)); # model maximize densesubgraph : sum{(u,v) in E} y[u,v] - sum{v in V} x[v]; # linearization constraints subject to lin1 {(u,v) in E} : y[u,v] <= x[u]; subject to lin2 {(u,v) in E} : y[u,v] <= x[v]; subject to lin3 {(u,v) in E} : y[u,v] >= x[u] + x[v] - 1;
TD6
12 / 38
Ecole
param n := 15; # number of vertices param k := 2; # color param : E : mu := 1 15 1 2 15 1 2 3 1 2 4 1 3 5 1 4 5 1 5 6 1 5 11 2 5 12 2 5 13 2 5 14 2 6 9 1 7 8 1 7 11 2 7 12 2 7 13 2 7 14 2 7 15 1 8 10 1 8 14 2 11 12 2 11 13 2 12 13 2 ;
TD6
13 / 38
Ecole
TD6
14 / 38
Ecole
ILOG AMPL 10.100, licensed to "ecolepolytechnique-palaiseau". AMPL Version 20060626 (Linux 2.6.9-5.ELsmp) ILOG CPLEX 10.100, licensed to "ecolepolytechnique-palaiseau", options: e m b q use=8 CPLEX 10.1.0: optimal integer solution; objective 5 12 MIP simplex iterations 0 branch-and-bound nodes x [*] := 1 2 3 4 5 1 6 7 1 8 9 10 11 1 12 1 13 1 14 1 15 ;
TD6
15 / 38
Ecole
TD6
16 / 38
Ecole
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
TD6
17 / 38
Ecole
TD6
18 / 38
Ecole
TD6
19 / 38
Ecole
TD6
20 / 38
Ecole
x
TD6
21 / 38
Ecole
TD6
22 / 38
Ecole
TD6
23 / 38
Ecole
param n >= 1, integer; # number of vertices set V := 1..n; set E within {V,V}; param c{E}; # edge weights param kmax; # max number of clusters set K := 1..kmax; var x{V,K} binary; # original problem variables var w{V,K,V,K} >= 0, <= 1; # linearization variables minimize intercluster : sum{k in K, l in K, (u,v) in E : k != l} c[u,v] * w[u,k,v,l]; # constraints subject to assignment {v in V} : sum{k in K} x[v,k] = 1; subject to existence {k in K} : sum{v in V} x[v,k] >= 1; # linearization constraints subject to lin1 {u in V, v in V, h in K, k in K : (u,v) in E or (v,u) in E} : w[u,h,v,k] <= x[u,h]; subject to lin2 {u in V, v in V, h in K, k in K : (u,v) in E or (v,u) in E} : w[u,h,v,k] <= x[v,k]; subject to lin3 {u in V, v in V, h in K, k in K : (u,v) in E or (v,u) in E} : w[u,h,v,k] >= x[u,h] + x[v,k] - 1;
TD6
24 / 38
Ecole
ILOG AMPL 11.010, licensed to "ecolepolytechnique-palaiseau". AMPL Version 20080219 (Linux 2.6.9-5.ELsmp) ILOG CPLEX 10.100, licensed to "ecolepolytechnique-palaiseau", options: e m b q use=1 CPLEX 10.1.0: optimal integer solution; objective 3 1850 MIP simplex iterations 149 branch-and-bound nodes x [*,*] : 1 2 3 4 := 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 ;
TD6
25 / 38
Ecole
2 ⌉;
TD6
26 / 38
Ecole
TD6
27 / 38
Ecole
TD6
28 / 38
Ecole
TD6
29 / 38
Ecole
param n >= 1, integer; # number of vertices set V := 1..n; set E within {V,V}; # edge weights param c{E}; # edge weights # vertex colours param lambda{V}; param gamma{u in V, v in V : u != v} := if (lambda[u] = lambda[v]) then 0 else 1; # max number of clusters param kmax; set K := 1..kmax; # original problem variables var x{V,K} binary; # linearization variables var w{V,K,V,K} >= 0, <= 1; # cluster existence variables var z{K} binary;
TD6
30 / 38
Ecole
minimize intercluster : sum{k in K, l in K, (u,v) in E : k != l} c[u,v] * w[u,k,v,l] + sum{k in K} z[k]; # constraints subject to assignment {v in V} : sum{k in K} x[v,k] = 1; subject to cardinality {k in K} : sum{v in V} x[v,k] <= ceil(card{V}/2); subject to existence {k in K} : sum{v in V} x[v,k] >= z[k]; subject to diffcolours {u in V, v in V, k in K, l in K : u != v and k != l} : w[u,k,v,l] <= gamma[u,v]; # linearization constraints subject to lin1 {u in V, v in V, h in K, k in K : (u,v) in E or (v,u) in E} : w[u,h,v,k] <= x[u,h]; subject to lin2 {u in V, v in V, h in K, k in K : (u,v) in E or (v,u) in E} : w[u,h,v,k] <= x[v,k]; subject to lin3 {u in V, v in V, h in K, k in K : (u,v) in E or (v,u) in E} : w[u,h,v,k] >= x[u,h] + x[v,k] - 1;
TD6
31 / 38
Ecole
param n := 16; # number of vertices param kmax := 4; # max number of clusters param : E : c := 1 15 1 2 15 1 2 3 1 2 4 1 3 5 1 4 5 1 5 6 1 5 16 1 6 9 1 7 8 1 7 16 1 8 10 1 8 16 1 11 16 1 12 16 1 13 16 1 14 16 1 ;
TD6
32 / 38
Ecole
param lambda := 1 1 2 2 3 3 4 3 5 2 6 2 7 2 8 2 9 1 10 1 11 4 12 4 13 4 14 4 15 1 16 4 ;
TD6
33 / 38
Ecole
TD6
34 / 38
Ecole
ILOG AMPL 11.010, licensed to "ecolepolytechnique-palaiseau". AMPL Version 20080219 (Linux 2.6.9-5.ELsmp) ILOG CPLEX 10.100, licensed to "ecolepolytechnique-palaiseau", options: e m b q use=1 CPLEX 10.1.0: optimal integer solution; objective 1 65 MIP simplex iterations 0 branch-and-bound nodes x [*,*] : 1 2 3 4 := 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 ;
TD6
35 / 38
Ecole
This is a random graph.
TD6
36 / 38
Ecole
param n := 10; # number of vertices param kmax := 2 # max number of clusters param : E : c := 4 9 1 6 10 1 7 10 1 2 8 1 8 7 1 2 5 1 2 9 1 9 10 1 4 1 1 5 3 1 6 5 1 4 6 1 ; param lambda := 1 1 2 2 ...... 10 10 ;
TD6
37 / 38
Ecole
TD6
38 / 38