130 likes | 308 Views
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.
E N D
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 • 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
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…)
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
Challenges in CP • Solve Anyway • Solve Anytime • Constraint with violation cost • Open Constraint • Look at Fixed Parameter Tractability (FTP)
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?
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…
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)
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
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)
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