1 / 13

Challenges in CP

Challenges in CP. Jean-Charles REGIN ILOG, Sophia Antipolis regin@ilog.fr. Challenges in CP. Think to the new Technological evolution Some other Needs. Technological Evolution. CPU are multicore GPU can be used for non graphical computation: See NVidia API (CUDA?). Multicore CPU.

Thomas
Download Presentation

Challenges in CP

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. Challenges in CP Jean-Charles REGIN ILOG, Sophia Antipolis regin@ilog.fr

  2. Challenges in CP • Think to the new Technological evolution • Some other Needs

  3. Technological Evolution • CPU are multicore • GPU can be used for non graphical computation: • See NVidia API (CUDA?)

  4. Multicore CPU • Few years ago with Michela Milano and some others we proposed a project about Multiprocessor on CHIPS. • Retinia Recognition: 10 GipsPb: at 4Ghz, the CPU becomes really hot. Solution: several processors within a CPU: multicore. • At the beginning of the project (2002): 100 cores were considered • Each core=CPU+Memoire+I/O • Main issue: How to work with 100 cores?Compilation pb: it is an allocation/scheduling problem

  5. Multicore CPU • We can easily parallelize the “search” • What about the other parts? • Currently: 4 cores. In 1-2 years: 10 cores • Important factors may be gained • You need to learn how to use cores. Even, if some solutions using automatically the multicore CPUs will appear (compilers etc…)

  6. Vectorial Computers • It becomes easier and easier to use a massively parallel computer. Your GPU is such a computer • Nvidia developped an API for accessing the GPU functionnalities. • Maybe 40 times faster than a CPU • Matrix Multiplication is already available • http://developer.nvidia.com/object/cuda.html • Nvidia proposes a kit with 4 8800GTX cards for $10000

  7. Challenges in CP • Solve Anyway • Solve Anytime • Constraint with violation cost • Open Constraint • Look at Fixed Parameter Tractability (FTP)

  8. Solve Anyway • Most of the real world problems have no solution • How can we have a solution even if there is none? • Possible solutions: • Should we be ready to consider that every problem is an over-constrained problem? • Give the largest frontier of the tree search? • How to reuse the first computations made in case of solution?

  9. Solve Anytime • You have 10 minutes to solve this problem • Do what you want, but give me something. • Solution? • We spend 5 minutes to do something, then we spend the 5 next minutes to do other things • We try to find a completely different solution: Objective progression: geometric, logarithmic…

  10. Constraints with Violation Costs • Should we introduce a violation cost with each constraint? • Soft alldiff • Soft Gcc • Soft Sequence • Soft Sum ? • Close to Comet (Pascal Van Hentenryck)

  11. Open Constraints • Open Constraints in a closed World”, W-J van Hoeve, JC Regin, CPAIOR 2006 • The set of variables on which the constraints are defined is not closed • Example (alternative resources): • Alldiff (X1) with X1 included in X • Alldiff (X2) with X2 included in X • X1 union X2 = X and X1 inter X2 = empty

  12. FTP • Fixed parameter tractability problems • A problem is a FTP if there is an algorithm solving it in O(f(k)n^c), where n is the size of the problem, k a parameter, and c a constante • Vertex Cover: set of k or less vertices covering all the edges: can be solved in O(1.2852^k + kn)

  13. FTP • Kernalization: idee: we start with a graph and we reduce it (graph reduction) by applying rules such that n is decreased and become equal to n’ which a function in k. • Kernalization + branching • Graph Reduction can be obtained by several different techniques: • Application of Rules (cf setCover) • Linear Programming • Flow Algorithm etc… • Graph Reduction is closed to Filtering Algorithm

More Related