[gecode-users] Skipping branching alternatives?

Christian Schulte schulte at imit.kth.se
Tue Jul 11 09:23:19 CEST 2006


I just reply to this email, even though I have read the discussion. I very
much second Guido and Mikael and I have another bit to add as to why your
idea of tinkering with branchings does not work.

The entire setup of search in Gecode relies on recomputation: here, a commit
operation using a branching description _must_ always tell the very same
constraint when invoked with the same parameters. So by definition, it is
not allowed to use state in the way you state it.  

Christian

--
Christian Schulte, http://www.imit.kth.se/~schulte/ 

-----Original Message-----
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Martin Mann
Sent: Monday, July 10, 2006 2:27 PM
Cc: gecode user list
Subject: Re: Re: [gecode-users] Skipping branching alternatives?



Hi Luis,

the idea with the propagator is nice, but not possible in my situation i 
think. i dont want a "static" alternative-skipping.. that's easy to do 
with propagators, you are right. but i want to do a "dynamic" one. i am 
not interested in all solutions of the search tree and i dont have a 
real deterministic branch and bound strategy at hand. that's why i want 
to do a dynamic skipping of branches during the search.

e.g. the situation is like that: i find a special "interesting" solution 
in this branch and and i dont want to have a look in the remaining 
branches that belong to my specialised branching description (i mix them 
with normal ViewValBranchingDescr during the branching). so i would like 
to cut some subtrees of the the search tree that belong to my branching 
descriptor.

i tried the first idea i mentioned (just return ES_FAILED from the 
commit(..) function) to skip the alternatives, but this results in 
abnormal behavior. dont know why at the moment and didnt had a closer 
look until now.

so my question again, is there another possibility? or do i ve got to do 
  it bruteforce via clearing one domain to let the propagators do the 
work for me?
anyway i m still interested in skipping the remaing more directly but 
without reimplementing DFS myself.. ;)

thanks a lot, i hope i made it a bit clearer

martin


Luis Quesada wrote:
> I don't understand why you need to do this... To me, eliminating
> branching alternatives is the very purpose of propagators. Why don't you 
> implement a propagator that removes the alternatives you want to skip? 
> As you build the branches at each branching step based on the current 
> domains of the variables, you wont try the alternatives that you want to 
> skip.
> 
> Luis
> 
> Martin Mann wrote:
> 
>> Hi again,
>>
>> I ve got a question about Branching..
>>
>> I implemented my own Branching inclusive a branching descriptor that
>> supports more than 2 alternatives.
>>
>> During my branching sometimes I would like to skip the remaining
>> alternatives.
>> So my question:
>>
>> 1) is it ok just to return ES_FAIL from MyBranching::commit(..) to
>> skip the corresponding branch? or will it lead to some strange behavior?
>>
>> 2) is there a possibility for directly skipping the remaining
>> alternatives without implementing the whole search engine? I would 
>> like to use DFS as it is.. ;)
>>
>> thanks lot and have a nice weekend
>>
>> Martin
>>
>>
>> _______________________________________________
>> Gecode users mailing list
>> users at gecode.org https://www.gecode.org/mailman/listinfo/gecode-users
> 
> 
> 

_______________________________________________
Gecode users mailing list
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users





More information about the gecode-users mailing list