[gecode-users] skipping alternative branchings during search?

Christian Schulte schulte at imit.kth.se
Thu Jun 8 18:35:19 CEST 2006


I think it might be best to do your own search engine: that's the very
reason why search is programmable in Gecode. To me it is not clear whether
this will be generally useful.

On a different note: it is better to not abuse (or reuse) a different
concept such as a branching description. They are very very delicate beasts
(actually, they are involved in the most tricky invariants in the Gecode
kernel and it took as half a year to understand the right way to do it).

Always remember: you have full access to a space inside a search engine, so
maybe that's a direction.

Christian

-----Original Message-----
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Martin Mann
Sent: Thursday, June 08, 2006 4:23 PM
To: gecode user list
Subject: [gecode-users] skipping alternative branchings during search?


Me once more,

I am interested in the following scenario:

Given a CSP and a corresponding search tree (e.g. via DFS). During the 
enumeration of all solutions I test the solution. If it fullfills a 
certain criteria I would like to skip the alternatives of this solution 
due to the last branching (== A). Or (B): skip until a specific branching.

Think this is possible using the idea of the description stack of a 
search engine.

as a sketch in my mind it works like that:

(A) : just pop and skip the topmost BranchingDesc object from the 
description stack.

(B) : it would be neccessarry to identify the BranchingDesc objects 
(B.1) or to introduce a special tag that is placed on the stack (B.2)

(B.1) : if the BranchingDesc objects can be identified they are popped 
from stack until the searched one is reached. It's only neccessary to 
know the identifier for the description you want to jump to.

(B.2) : all are popped until the special tag description has been 
reached. but for that a special function to introduce the tags is 
neccessarry.

So my first question: is it possible? I had a closer look into the DFS 
implementation and thinking about to introduce the changes there, but I 
m not sure if it is really possible there.

Out of that my second question arises: what do you think about such a 
feature? Is it worth to become part of Gecode, or do you think I m the 
only one who would like to have it?

Or, is it already available and I m blind? ;)

Hope you arent bored ..

Martin

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





More information about the gecode-users mailing list