libminizinc icon indicating copy to clipboard operation
libminizinc copied to clipboard

Feature model statistics

Open seredenkodenis opened this issue 7 months ago • 2 comments

seredenkodenis avatar May 26 '25 13:05 seredenkodenis

This looks interesting. We would probably have to make some cosmetic changes in order to merge it back into the main repository (the main one being copyright headers). Can you provide a bit more information on this project?

guidotack avatar Sep 22 '25 06:09 guidotack

This looks interesting. We would probably have to make some cosmetic changes in order to merge it back into the main repository (the main one being copyright headers). Can you provide a bit more information on this project?

Hi @guidotack , sorry for the ambush; the PR should not have been opened just yet, my colleague @seredenkodenis was a little overzealous here ;). It definitely requires some touch-ups, maybe unit tests. If you want, we can move the discussion for this into an issue/feature request.

 Ofc. we'll provide some information on what we did here:

We are working on a paper whose aim is to show if, by providing a pretrained model to find static variable orderings, we can outperform common search heuristics such as first_fail, dom_w_deg, etc. For this, we needed to extract a dataset of structural features from the MiniZinc files. It felt natural to integrate feature extraction in the compiler, as it gives us access to the AST directly, and so we do not need some weird regex mess on top of the MiniZinc files. (hence we forked it)

In addition, this approach would allow adding the "ai_heursic" back into the project easily if desired by the maintainers. (Once a good pretrained model is created). And it would allow others to extract features to train models or for any other kind of workload as well. 

Integration was done minimally invasively, and hopefully not too hackish.

So much for the background information. 

The paper is not yet done, but current results are promising.  

Zylence avatar Sep 22 '25 17:09 Zylence