I am using GeCode to build a software for solving a specific task. I modeled my problem using integer set variables and some constraints over these variables. But for the matter of this question, let us consider a simpler case.
Say I have three set variables whose domains are [{},..., {1,2,3}], i.e. {}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3} and that my only constraints are intersection(var_i, var_j) is empty for all i and j and i differs from j.
Obviously, if I understand well my own logic, it should give at least var_1 = {1}, var_2 = {2} and var_3 = {3}. But it could also give var_1 = {1,2,3} and var_2 = var_3 = {}. Indeed, running GeCode with these variables and constraints gives only one result: var_1 = var_2 = var_3 = all possibles subsets of {1,2,3}, suggesting that different solutions exist (suggesting that I could pick one subset in var_1 and could find subsets in the two other variables that satisfies the constrains.
My question is how I can make GeCode enumerate itself the different combinations. Because obviously, my final model will consist in way more integers in the sets and so way more subsets. Thus, I cannot afford the cost of doing the selection manually by setting variables myself, since I loose all the benefit that a constrain solver can offer.
Is there a possibilty that could help me solve this issue?