1 / 110

A Case Study in Network Design Jean-Charles Regin

A Case Study in Network Design Jean-Charles Regin. Plan. Real world Problems Modeling: principles Network Design application: the ROCOCO project Presentation Methods Integration Conclusion Lessons. Real world problems. Almost all are over-constrained Not pure Decomposable

jivy
Télécharger la présentation

A Case Study in Network Design Jean-Charles Regin

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Case Study in Network DesignJean-Charles Regin

  2. Plan • Real world Problems • Modeling: principles • Network Design application: the ROCOCO project • Presentation • Methods • Integration • Conclusion • Lessons

  3. Real world problems • Almost all are over-constrained • Not pure • Decomposable • Small or Large number of variables (10,000) and constraints (100,000) • Scalable but not solvable for n/10 or n/100 • ad-hoc efficient heuristic • everything is possible • need flexibility • Want optimized not optimal

  4. Real world problems • Flexibility causes no problem: add new constraints to the solver • Be careful with objective functions: relaxation is not good for CP (the constraints are weak and no pruning occurs)

  5. Plan • Real world Problems • Modeling: principles • Network Design application: the ROCOCO project • Presentation • Methods • Integration • Conclusion • Lessons

  6. Modeling: principles • What a good model is? • Symmetries • Implicit constraints • Global constraints • Relevant and redundant constraints • Back propagation • Dominance rules

  7. Good Model? • A good model is a model that leads to an efficient resolution of a given problem

  8. Good Model? • A good model is a model that leads to an efficient resolution of a given problem • Deals with several notions: Symmetries Catalyzing constraints Global constraints Relevant and redundant constraints Back propagation Dominance rules

  9. Symmetries • Tutorial on this topic at CP’04 • The complexity of a problem can often be reduced by detecting intrinsic symmetries • When two or more variables have identical characteristics, it is pointless to differentiate them artificially: • The initial domains of these variables are identical • These variables are subject to the same constraints • The variables can be permuted without changing the statement of the problem • Usually symmetries are removed by introducing an order between variables

  10. Catalyzing constraints • An catalyzing constraint makes explicit a property that satisfies any solution implicitly. • D(x1)=D(x2)=D(x3)=D(x4)={a,b,c,d} • Constraints: b,c and d have to be taken at least 1

  11. Catalyzing constraints • An catalyzing constraint makes explicit a property that satisfies any solution implicitly. • D(x1)=D(x2)=D(x3)=D(x4)={a,b,c,d} • Constraints: b,c and d have to be taken at least 1 • Filtering algorithm: if b is not assigned and if there is only one variable x that contains b in its domain then x=b

  12. Catalyzing constraints • A catalyzing constraint makes explicit a property that satisfies any solution implicitly. • D(x1)=D(x2)=D(x3)=D(x4)={a,b,c,d} • Constraints: b,c and d have to be taken at least 1 • Filtering algorithm: if b is not assigned and if there is only one variable x that contains b in its domain then x=b • Problem: if x1=a and x2=a then nothing is deduced

  13. Catalyzing constraints • A catalyzing constraint makes explicit a property that satisfies any solution implicitly. • D(x1)=D(x2)=D(x3)=D(x4)={a,b,c,d} • Constraints: b,c and d have to be taken at least 1 • Filtering algorithm: if b is not assigned and if there is only one variable x that contains b in its domain then x=b • Problem: if x1=a and x2=a then nothing is deduced • Implicit constraints: a can be taken at most 1b,c,d can be taken at most 2 • From the simultaneous presence of some constraints implicit constraints can be deduced

  14. Global constraints • A global constraint is a conjunction of constraints. This conjunction often takes into account implicit constraint deduced from the simultaneous presence of the other constraints • This is the case for the previous example with the global cardinality constraint • Use the strongest filtering algorithm as you can at the beginning • It is rare to be able to solve a problem with weak FA and not to be able to solve it with strong FA

  15. Global constraint: Alldiff results • Color the graph with cliques:c0 = {0, 1, 2, 3, 4} c1 = {0, 5, 6, 7, 8}c2 = {1, 5, 9, 10, 11}c3 = {2, 6, 9, 12, 13} c4 = {3, 7, 10, 12, 14} c5 = {4, 8, 11, 13, 14} • clique size:27 Global: #fails: 0 cpu time: 1.212 s Local: #fails: 1 cpu time: 0.171 sclique size:31 Global: #fails: 4 cpu time: 2.263 s Local: #fails: 65 cpu time: 0.37 sclique size:51 Global: #fails: 501 cpu time: 25.947 s Local: #fails: 24512 cpu time: 66.485 sclique size:61 Global: #fails: 5 cpu time: 58.223 s Local: ?????????????

  16. Relevant Constraints • At first glance it seems that adding a constraint which removes some symmetries, or which is an implicit or a global constraint improves the current model. This is FALSE • Because: • The new filtering algorithm can delete no value, because everything is already deduced by the combination of constraints • The new filtering algorithm can remove some values and impacts the variable-value strategy (more backtracks can be needed to reach the first solution)

  17. Relevant constraints • A constraint is relevant w.r.t. a model if the introduction of this constraint: • Is needed by the definition of the problem • Or if it permits to remove some symmetries, or it is an implied or a global constraint, and the introduction of this constraint improves the search for the solution in term of performance • A constraint is redundant w.r.t. a model if the constraint is not relevant w.r.t. the model.

  18. Back propagation • Consider an optimization problem with an objective variable obj. • The back propagation is the consequences of the modifications of the variable obj • Example:∑x = obj. Back propagation = modification of the x variable when obj is modified

  19. Back propagation • Try to improve the back propagation, because when a solution with a cost c is found the constraint obj < c is added and a new solution is sought. • It is important to use constraints involving cost variable. For instance : gcc with cost

  20. Dominance rules • A dominance rule is a rule that eliminates some solutions that are not optimal, or some optimal solutions but not all • This is a kind of symmetry breaking in regards to the optimality • An example is given in the resolution of the next problem

  21. A bad model? • Golomb ruler (see CSP lib):“A Golomb ruler may be defined as a set of n integers 0=x1 < x2 < … < xn s.t. the n(n-1)/2 differences (xj - xi) are distinct. Goal minimize xn.” • with CP difficult for n > 13. • x1,…,xn = variables; (xi-xj)= variables. Alldiff involving all the variables.

  22. Alldiff 1 2 3 4 5 6 7 |x1-x2| |x1-x3| |x2-x3| x1 x2 x3 Not a good solution Bad incorporationof constraint|xi – xj| in alldiff

  23. Plan • Real world Problems • Modeling: principles • Network Design application: the ROCOCO project • Presentation • Methods • Integration • Conclusion • Lessons

  24. A Case Study in Network Design • Very good example and benchmark: • To illustrate the advantages and drawbacks of different optimization techniques • To illustrate the improvements that can be thought of when things do not work well • To test new ideas • To think about what we do: introspection

  25. The ROCOCO Project (1) • France Telecom R&D ISE • Problem and benchmark definition • Algorithm validation • Research laboratories: INRIA Numopt, LRIOrsay, PRiSM Versailles, Evry, … • Lower bounds: Lagrangean relaxation, column generation, cuts • Optimization techniques: genetic algorithms • ILOG • Optimization techniques: constraint programming, mixed integer programming, column generation

  26. The ROCOCO Project (2) • Two cycles • Solution to the « basic » problem • Improvements and study of the influence of additional constraints

  27. The Problem (1) • Routing of Communications • Mono-routing: each demand from a point p to a point q must follow a unique path • Dimensioning of Links • The capacity of each link must exceed the sums of the demands going through the link • Additional Constraints • Depend on the customer for whom the network is designed

  28. The Problem (2) • Data: • Customer traffic demands • Possible links, capacities and costs 27Kb/s S2 S1 S4 115Kb/s S3 Result: • Minimal cost network able to simultaneously respond to all the demands • Route for each demand S2 S1 S4 Rented capacity 256Kb/s S3

  29. The Problem (3) 115Kb/s 256Kb/s • Cost minimization principle • Traffic demands share link capacities S2 S1 512Kb/s 128Kb/s S3

  30. The Problem (4) 256Kb/s 128Kb/s 128Kb/s 64Kb/s 64Kb/s 128Kb/s 64Kb/s 64Kb/s 64Kb/s 64Kb/s Demands share links •  demandsij  capacityij • Technological constraints

  31. The Problem (5) 64Kb/s 64Kb/s 64Kb/s 64Kb/s • Side constraints • Quality of service • Reuse of existing equipment (limit on the number of ports, maximal traffic at a node) • Commercial and legal constraints • Possible future network evolution • Network management (e.g., traffic concentration)

  32. Benchmark Elaboration (1)

  33. Optional Constraints • Security: some commodities to be secured cannot go through unsecured nodes and links • No line multiplication: at most one line per arc. • Symmetric routing: demands from node p to node q and demands from node q to node p are routed on symmetric paths. • Number of bounds (hops): the number of arcs of the path used to route a given demand is limited. • Number of ports: the number of links entering into or leaving from a node is limited. • Maximal traffic: the total traffic managed by a given node is limited. 64Kb/s 64Kb/s 64Kb/s 64Kb/s

  34. Numerical Characteristics (1)

  35. Particular Cases • Loop network (C10) • Unidirectional lines (C11) • Extension of an existing network (C16) • Several commodities (with different « security » and « number of hops » constraints) between different sites and a central site (C20)

  36. Comparison / Other Benchmarks

  37. Mathematical Model • Develop model on the board? • Anticipate difficulties?

  38. Mixed Integer Programming (1) • Explicit problem definition • Linear constraints • Real (floating point) and integer variables • One optimization criterion • Separation between problem definition and problem solving • The continuous relaxation (when fractional values are allowed for integer variables) is solvable in polynomial time • Bound on optimization criterion • Guidance for solving the MIP problem by branch-and-bound (rounding, cuts, …)

  39. Mixed Integer Programming (2) • Routing variables: xijd (D*M 0-1 variables) • Dimensioning variables: capacity levels yijk (M*K0-1 variables) • Main constraints: Sj xijd= 1 if i is the origin of d Si xijd= 1 if j is the destination of d Si xijd=Sk xjkd if j is neither the origin nor the destination of d Sk yijk£ 1 Sd Demd xijd£Sk Capaijk yijk

  40. Mixed Integer Programming (3)

  41. Constraint Programming (1) • Explicit problem definition • Separation between problem definition and problem solving • Systematic deduction of the consequences of made decisions (constraint propagation) Partial constraint propagation è development of heuristic search algorithms to generate and optimize solutions • Incremental constraint propagation (with global fix point semantics) • Localized definition of the constraint propagation process (each constraint propagates independently of other constraints) è many different types of constraints viewed as as many sub-problems

  42. Constraint Programming (5) • Routing variables: paths (D set variables) • A set of arcs joining the origin to the destination of the demand • Basic functions : impose or forbid an arc (or a node) • Dimensioning variables: chosen capacity levels (M enumerated variables) • Specific constraints and constraint propagation algorithms

  43. Constraint Programming (6) Decision: forbidden node Nodes and arcs forbidden by propagation Nodes and arcs imposed by propagation Decision: forbidden node

  44. Path representation in CP • “Classical” model:Graph represented by the nodes:One variable per nodeValue = possible neighboor • Path from s to t: alldiff on nodes.

  45. Path representation in CP s a d e b f c t D(s)={a,b}, D(a)={s,b,c,d}, D(b)={s,a,c}, D(c)={a,b} D(d)={a,e,f}, D(e)={d,t}, D(f)={d,t}, D(t)={s}

  46. Path representation in CP s a d e b f c t D(s)={a,b}, D(a)={s,b,c,d}, D(b)={s,a,c}, D(c)={a,b} D(d)={a,e,f}, D(e)={d,t}, D(f)={d,t}, D(t)={s}

  47. Path representation in CP s a d e b f c t Problem if some variables do not belong to the path:What is the value assigned to these variables?

  48. Path representation in CP s a d e b f c t A dummy value is added to each domain: BAD IDEA D(s)={a}, D(a)={c}, D(c)={b}, D(b)={dummyb}, D(d)={e}, D(e)={t}, D(f)={dummyf}, D(t)={s}

  49. Path representation in CP s a d e b f c t Loops are allowed (var links to itself): GOOD IDEA D(s)={a}, D(a)={c}, D(c)={b}, D(b)={b}, not possible: b has been already taken by c

  50. Path representation in CP • “Classical” model:- One var per node- Alldiff constraint: cost for the matching: O(m) per modification

More Related