OscaR/CBLS automatic construction of neighbourhoods and search

28 views
Skip to first unread message

Peter Nightingale

unread,
Feb 17, 2020, 5:19:47 AM2/17/20
to OscaR
Hi,

Is it possible to specify just the CP model using the API of OscaR/CBLS and have the neighbourhoods and search procedure generated automatically, similarly to oscar-fzn-cbls?

We care about this because the API has variable sized sets and sequences, whereas the flatzinc interface does not (or at least does not have sequences), and we would like to do some experiments using automatically derived neighbourhoods on the highest-level model that we can. It seems likely that the higher level types would help on some of our benchmark problems.

Best wishes,
Peter


Renaud De Landtsheer

unread,
Feb 18, 2020, 10:47:03 AM2/18/20
to oscar...@googlegroups.com


Le lun. 17 févr. 2020 à 11:19, 'Peter Nightingale' via OscaR <oscar...@googlegroups.com> a écrit :
Hi,

Hi Peter,

Is it possible to specify just the CP model using the API of OscaR/CBLS and have the neighbourhoods and search procedure generated automatically, similarly to oscar-fzn-cbls?


> We care about this because the API has variable sized sets and sequences, whereas the flatzinc interface does not (or at least does not have sequences),

Indeed.

and we would like to do some experiments using automatically derived neighbourhoods on the highest-level model that we can. It seems likely that the higher level types would help on some of our benchmark problems.

Sequence variable in OscaR.cbls are a clean way of packaging state of the art global constraints, mostly for routing.
The FNZ front end does not make use of sequence variables, since sequences are not part of the fnz language as far as I understand.

 
Best wishes,
Peter


--

---
You received this message because you are subscribed to the Google Groups "OscaR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to oscar-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/oscar-user/a879bf19-8ea9-43ab-84f7-23554affda35%40googlegroups.com.


--
Renaud De Landtsheer

Peter Nightingale

unread,
Feb 21, 2020, 2:30:24 PM2/21/20
to OscaR
Hi Renaud,

Thanks for the reply, that is helpful but perhaps you could clarify  a little further.

We want to include in our experiments any CBLS system that can generate its search and neighbourhoods automatically.  oscar-fzn-cbls can do so, but we can't access the sequence type through oscar-fzn-cbls.  Is it possible to use the OscaR/CBLS  API in a way where we only specify the variables and constraints, and OscaR/CBLS itself generates the search procedure and neighbourhoods?

Thanks & best wishes,
Peter

On Tuesday, 18 February 2020 15:47:03 UTC, renauddl wrote:


Le lun. 17 févr. 2020 à 11:19, 'Peter Nightingale' via OscaR <oscar...@googlegroups.com> a écrit :
Hi,

Hi Peter,

Is it possible to specify just the CP model using the API of OscaR/CBLS and have the neighbourhoods and search procedure generated automatically, similarly to oscar-fzn-cbls?

There is a fnz interface to oscar.cp

> We care about this because the API has variable sized sets and sequences, whereas the flatzinc interface does not (or at least does not have sequences),

Indeed.

and we would like to do some experiments using automatically derived neighbourhoods on the highest-level model that we can. It seems likely that the higher level types would help on some of our benchmark problems.

Sequence variable in OscaR.cbls are a clean way of packaging state of the art global constraints, mostly for routing.
The FNZ front end does not make use of sequence variables, since sequences are not part of the fnz language as far as I understand.

 
Best wishes,
Peter


--

---
You received this message because you are subscribed to the Google Groups "OscaR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to oscar...@googlegroups.com.


--
Renaud De Landtsheer

Renaud De Landtsheer

unread,
Feb 21, 2020, 4:46:50 PM2/21/20
to oscar...@googlegroups.com


Le ven. 21 févr. 2020 à 20:30, 'Peter Nightingale' via OscaR <oscar...@googlegroups.com> a écrit :
Hi Renaud,

Hi Peter,

Thanks for the reply, that is helpful but perhaps you could clarify  a little further.

We want to include in our experiments any CBLS system that can generate its search and neighbourhoods automatically.  oscar-fzn-cbls can do so, but we can't access the sequence type through oscar-fzn-cbls. 

indeed

Is it possible to use the OscaR/CBLS  API in a way where we only specify the variables and constraints, and OscaR/CBLS itself generates the search procedure and neighbourhoods?

The shot answer is no.

OscaR.cbls contains a bunch of neighbourhoods, some of them operate on sequences and perform routing specific moves (2-opt,3-opt, etc),
neighbourhoods generally have plenty of options (think about heuristic filters such as the k-nearest points in routing) that need to be set according to your specific problem although some guesstimates can generally do the trick.

Oscar.cbls also contains so-called combinators to glue neighbourhoods together into a search procedure and add metaheuristics or other features.

Basically it is easy to build a search procedure, but the choice is somewhat complex:
hill climbing? restart? simulated annealing? phased search? timeout? cutTail?

I've worked a lot to make it modular and somewhat easy to do, but with OscaR.cbls, you still need to assemble these bricks to get a search procedure.

The fnz front end is the best work I'm aware of that automates this process.

Cheers,
--
Renaud

To unsubscribe from this group and stop receiving emails from it, send an email to oscar-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/oscar-user/e91e121e-ff17-4e8e-8458-b3c8c16f19e3%40googlegroups.com.


--
Renaud De Landtsheer

Peter Nightingale

unread,
Feb 24, 2020, 4:35:52 AM2/24/20
to OscaR

Thanks very much Renaud, that clears everything up.

Best wishes,
Peter
Reply all
Reply to author
Forward
0 new messages