Change propagator argument parameters between Branch and Bound solutions
14 views
Skip to first unread message
John
unread,
Jun 13, 2022, 12:03:11 PM6/13/22
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Sign in to report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Gecode
Hello. I would like to use Branch and Bound with a custom propagator, and each time a solution is found, to access the solution and use it to change some argument parameters of the propagator, for the search of the next solution. The motivation is that as BAB restricts the cost of the solutions more and more, the propagator can also adapt using the latest solution and perform more optimized internal reasoning. What is the best way to achieve this in Gecode?
Thank you.
Mikael Zayenz Lagerkvist
unread,
Jun 14, 2022, 1:00:16 AM6/14/22
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Sign in to report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to gec...@googlegroups.com
Hi John,
While Gecode has support for standard cost-variable optimization via
e.g. IntMinimizeSpace, the base construction is more general. When
search recommences after a solution has been found in BAB search, the
constrain method is called for the current Space with the last
solution found (https://www.gecode.org/doc-latest/reference/group__TaskModelScript.html#ga90b963e8bbaa9c832f97a5bc9598b455).
This can be used for "just" updating the bounds on an integer
variable, but also for other types of information. See also chapter
2.5 in MPG.
For storing and accessing the data, a shared object that is also
stored in the Space is probably a good idea, depending on the type of
information needed. See chapter 31.3 in MPG.