Title: Modelling and Problem Formulation
1Modelling and Problem Formulation who cares?
21. 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?
3Jean-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
4jcr
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.
5jcr
What does your research contribute?
filtering algorithms for global constraints
(alldiff, global cardinality constraint,
gac-schema, sequence ...) CP'99 on solving
subCsp 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.
6jcr
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.
7Toby Walsh
Why is it interesting and worthwhile?
The 3 most important things in AI
are representation, 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.
8Toby
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?
9Toby
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.
10Tony 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.
11Ines Lynce
Why is it interesting and worthwhile?
Simplifications in SAT instances can
significantly affect the search effort
12Ines
What does your research contribute?
Brings different simplification techniques that
can be applied to SAT instances during
preprocessing.
13Andrew 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.
14Andrew 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.
15Steve 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.
16Ian Gent
I seem to be pro-formulation today (30th
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?
17Christian 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!
18Chris 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 )
19Carmen 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.
20Peter 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.
21Peter 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.
22Peter 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).
23Ian 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 GeneRation
And Symmetry-breaking) system we are working on
is an attempt to realise my answer to q2. 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.
24Evgeny 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.
25Evgeny 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.
26Barbara 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.)
27Barbara 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.
28Patrick 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.
29Conclusions
?