Modelling and Problem Formulation who cares 1 Why
Modelling and Problem Formulation who cares?
1. Why do you consider modelling and problem formulation to be an interesting and worthwhile subject to research i. e. why is the area interesting to you? 2. What do you consider to be the "big questions/issues" in this area? 3. What does your research contribute to this area? . 4. Is there anything else that you would like to say?
Jean-Charles Regin Why is it interesting and worthwhile? This is the main and the first problem of users that want to use constraint programming. When I presented Constraint Programming to George Nemhauser I told him: "Usually the first model does not work. I don't know if it is the same things for Linear Programming". He answered me: " In LP the first model NEVER works !". Modelling is the application of theory to practice. This is the main issue to solve problems. They are several aspects: - identification of the difficulties of a problem (hard parts, symmetries) - resolution of these difficult parts - combination of these resolutions - semantic of the problem has to be taken into account (inside constraint, as heuristic). I don't believe in general ways, but all these parts are research areas
jcr Big questions/issues? Honestly, the idea of declarative programming (i. e. first declare the problem, then and independently solve it) is wrong. Can we model a problem without considering the method that we will use to solve it? I think the answer is no. I am able to propose complex model or non obvious model because I know which kind of filtering algorithms are available, I know how they work and I know what I have to do in order to benefit of their power.
jcr What does your research contribute? filtering algorithms for global constraints (alldiff, global cardinality constraint, gac-schema, sequence. . . ) CP'99 on solving sub. Csp on the fly. The introe xplains the problem of modelling and some examples are given at the end. DIMACS: I tried to define what is a good model. PPDP 99: I present two models for solving sport-scheduling problems. ICTAI'99: The modelling aspect of over-constrained problems are detailed.
jcr Anything else to say? General idea about modelization are usually useless. Everything that we know can be used. For modelling, we have to accept the idea that a mix of a lot of ideas is better than a simple/pure model based only on one representation.
Toby Walsh Why is it interesting and worthwhile? The 3 most important things in AI are: representation, representation. Come up with a good representation and even a bad algorithm can solve the problem. Use a bad representation, and even a good algorithm will not save you from the combinatorial explosion. Modelling is finding that representation.
Toby Big questions/issues? What are the variables? What are the (implied) constraints? How do I cope with the problem's symmetry? How do I select an algorithm for a model? - how do I chose a good (variable/value ordering) heuristic for a model?
Toby What does your research contribute? Identifying patterns that many constraint models fall into. For example, our recent work on "matrix models" highlights how problems of many different types can be modelled effectively with matrices of decision variables with common types of constraints posted over them (e. g. symmetry break over rows/cols, row or col sum constraints, . . . ). Constraints over matrices and matrix operators can therefore be made primitives of the constraint programming language.
Tony Kusalik Why is it interesting and worthwhile? - it is the driving engine behind the development of new constructs, improved solvers, new languages. For instance, if someone develops an improved CLP(x) for domain x but with no foreseeable applications, what is the use? However, if I am working on a problem, and I can formulate it in a very elegant way, providing I use domain x -- that is a much more desireable situation. part of the way to make CP and CLPs more successful is by finding successful applications, and in particular REAL applications. TO solve real problems usually means having to go far beyond the known solution in a textbook. And elegant solutions often require modelling the problem in innovative ways.
Ines Lynce Why is it interesting and worthwhile? Simplifications in SAT instances can significantly affect the search effort
Ines What does your research contribute? Brings different simplification techniques that can be applied to SAT instances during preprocessing.
Andrew Davenport Why is it interesting and worthwhile? Firstly, I haven't used mainstream CP for a few years now. I do spend a lot of time solving real world problems, but they are either far too messy to solve using CP techniques, or are (relatively) straightforward optimization problems where we have used integer programming techniques. …. I will instead focus on my experience with messy problems. In my experience, messy problems (such as steel problems I am working on now, not the ones we gave Toby) cannot really be modelled or solved using existing CP / IP solvers. CP does not handle optimization very well: problems we deal with usually have many different conflicting optimization objectives and hard and soft constraints, and are usually extremely large (10, 000's of variables). … The solution techniques to these problems usually incorporate a lot of expert domain knowledge. Small chunks of the problem can sometimes be handled as a traditional optimization problem, but these usually correspond to well known OR problems such as set packing / covering / TSP / multiple knapsack problems, with lots of side constraints added.
Andrew Davenport Anything else? An important feature of these, and in fact all real world problems, is that the problem specification is continually changing as the user realizes they missed constraints I guess the point of all this is that I believe research into modelling and problem formulation should take into account the software development lifecycle for optimization consultancy projects In answer to the rest of your questions, my research contributes nothing in this area, and I have nothing else to say. I would be very interested to hear how other people respond to your questions.
Steve Prestwich I think that modeling is important for the obvious reason that choosing the right model can be as important as choosing the right search algorithm. Another reason I'm interested in modeling and formulation is that some models give good computational results, but grow too quickly with problem size for practical use. So there's a challenge in finding better formulations or more expressive languages. Issues: Matching models and search algorithms. Are there any guidelines? * Use of an expressive language or formalism. I guess that the problem should be fairly naturally modeled, without the need for too many auxiliary variables, and (for backtrackers) giving good constraint handling. * Symmetry breaking and implied constraints.
Ian Gent I seem to be pro-formulation today … (30 th October 2001) Why interesting? • Curiosity: it's often very cute. • Importance: in many cases finding the right formulation is fundamental to solving it. Issues: Understanding the interaction between formulation and algorithm. There is no good or bad formulation: it's the action of your search algorithm on your formulation which is good or bad. Contribution: I've proposed the "Fundamental Conjecture of Reformulation". This suggests that it may always be possible to do as well theoretically by reformulating as by using a specialised algorithm: so why do anything else?
Christian Bessiere Why interesting? My main concern is rapidity of problem solving. As soon as you know that a stupid solving technique on a smart formulation of a problem can outperform a smart algorithm on a stupid encoding, you understand why i'm interested in that. Issues: Will it, one day, be possible to automaticallly build good encoding of any problem, or will we always need the know-how of some human modeller? Dual question: Will we have, one day, smart enough heuristics, that they won't care the quality of the modelling of the problem? (automaitic handling of symmetries, automaitc detection of useful propagations hidden in implicit constraints, etc. )? Contribution: Not too much, unfortunately. In the past, some modelling expertise of industrial problems. And some thoughts on the exciting Ian's conjecture!
Chris Beck Why interesting? I'm mostly motivated in this area by "way out" AIish ideas. There's that classic puzzle (due to Simon? ) about the mangled chess board. If you remove diagonally opposite corners of a standard chess board, can you completely tile the remaining surface with dominos where each domino is the size of two chess board squares. This is difficult until you realize that the opposite corners must be of the same color and each domino must cover two squares with different colors: so it is impossible. The insight here is that the color of the chess board squares is "interesting" where a priori the color is meaningless and arbitrary. Issues: An interesting theoretical/complexity issue is what are the limits to reformulation in terms algorithm efficiency. Another big issue is obviously creating algorithms that can automatically reformulate a problem or subproblem. Contribution: Nothing (yet ; )
Carmen Gervet Why interesting? because we believe that the quality of solutions to CS(O)P depends as much on the algorithm as the problem formulation. Most research has focused on the former so time has come to concentrate some effort on the latter ! Plus with CSP solutions being more widespread in industrial software the idea of natural/understandable/easily maintanable formulation is essential. Issues: The modelling gap between the formulation and the natural problem specification. Does a formulation that is as close as possible to the natural mathematical specification of a problem allow us to see/extract new information that we would not see otherwise. Contribution: We believe the answer to the above issue is yes so we currently focus on modelling configuration problems essentially based on sets using sets and identify what additional information we can use in the program that would be cumbersome to model using other objects and constraints. and one would not even see that such information can enrich the problem formulation if alternative models are used.
Peter van Beek Why interesting? I am intrigued by the potential for exponential improvements. There appear to be three broad ways to improve a constraint programming solution: the algorithm, the model, and the heuristic. Backtracking algorithms have been thoroughly studies and, although I may still be surprised, it appears that chances are slim of finding a new technique that will lead to an exponential reduction in problem solving time on some CSPs. However, modeling has been little studied so far and the chances seem greater of devising automatic modeling techniques that will lead to exponential reductions in problem solving time on at least some CSPs.
Peter van Beek Issues: Adding hand-crafted redundant constraints to a CSP model can work amazingly well. Can the discovery of such constraints be automated? Can techniques be discovered that work nearly as well? If so, this could have a dramatic impact on the field since currently devising a good model requires a lot of expertise.
Peter van Beek Contribution: With others (T. Walsh, F. Bacchus, X. Chen), I have looked at partial orders of alternative models. The models we looked at are non-binary models which are automatically translated into binary models called the dual and the hidden model, respectively. The idea is to discover or prove results about whether two models are incomparable (there exist cases where one is exponentially better than another and vice versa) or are comparable (for example, one model is always better than another or one model can only be bounded worse than another). I have also done case studies where we looked at the effect of different models on efficiency (using crossword puzzles as a test bed) and the effect of adding redundant constraints on efficiency (using instruction scheduling as a test bed).
Ian Miguel Why Interesting? : A good model can make all the difference. Because general CSP solvers cannot afford to perform strong propagation, the model must help by identifying structure in the problem that we know how to deal with effectively. A simple example is the choice between a clique of not-equals constraints and an all-different constraint. Issues: The automatic transformation of a basic model into one which is likely to be much more easy for a general solver to deal with. Often this will involve the addition of extra implied constraints. Contribution: The CGRASS (Constraint Gene. Ration And Symmetry-breaking) system we are working on is an attempt to realise my answer to q 2. It is based on a proof-planning like system, using `methods' that encapsulate what we know about generating useful implied constraints to transform an input model.
Evgeny Selensky Why Interesting? : 1. it allows one to view a problem from different perspectives; depending on circumstances one formulation can be better than another; 2. it helps us distinguish more important parts of a problem from less important ones and see what features contribute to the problem's being hard or easy; 3. (related to 2) a very detailed model does not always mean a very accurate one; so this again helps us find out the key features of a problem. 4. reformulation in the small (at the implementation level) shows us how significant different ways of encoding the same problem feature can be; 6. finally, reformulation (especially reformulation across problem classes) can be helpful in developing hybrid techniques for problems that have features from different domains.
Evgeny Selensky Issues: 1. reformulation across domains vs reformulation within a problem class; 2. theory of reformulation would allow to convincingly prefer one formulation over another; Contribution: I am looking at the reformulation between problem domains as well as more finely grained reformulations such as different ways of encoding the same features of a problem; For the case of jssp-vrp reformulation I am hoping to find out what features make the vrp techniques better for vrp problems than for job shop and the other way around. This, in turn, would lead to practival recommendations as to which technique to prefer in practice when we deal with mixed problems.
Barbara Smith Why Interesting? : Because I am continually amazed at the huge effect on performance a minor change in formulation can have. And it's (apparently) so easy! You don't have to develop a new algorithm, and put in all the effort of coding, testing etc. Just be smart! (Of course the opposite can happen too - a minor change downgrades performance hugely. ) So I guess that we're trying to beat the worst-case complexity odds - if you only need a feasible solution, then once you've found one you're done. And in theory, if you could only find the right model/formulation/search strategy you would be able to find a solution quickly. (Doesn't help if you're optimizing or there's no solution, of course. )
Barbara Smith Issues: How to beat the odds without having to be (super-)smart. Knowing what the best model is for a problem. Knowing how to recognise the best model anyway. Contributions: Looking at particular cases and trying to draw general lessons. e. g. Considering classes of problem (e. g. permutation problems) and how to deal with them. Dealing with symmetry in models.
Patrick Prosser Why Interesting: Imagine some other domain (motor cycle racing) where you can get such a performance improvement at such a small cost. That's got to be interesting Issues: For a given problem is there a "natural" representation? How do the features of the problem affect how we should represent and solve the problem. Think of toolkits, such as Dispatcher and Scheduler. Why do we need 2 tools when the problems really are the same? Contributions: Stable marriage, shows how we can represent an algorithm! Problem Reformulation and Search project investigates mappings between toolkits. 0/1 encoding study shows that the story might have no end.
Conclusions ?
- Slides: 29