[gecode-users] Filling up a matrix ...

Guido Tack tack at gecode.org
Thu Apr 15 09:51:19 CEST 2010


Hi Claudio,

the first two constraints easily map to Boolean disjunctions (the OR of all elements in a col/row must be true).  If you use the Matrix class from minimodel, and your matrix is m, then the constraints would simply be

for (int i=0; i<m.height(); i++)
  rel(*this, BOT_OR, m.row(i), 1);
for (int i=0; i<m.width(); i++)
  rel(*this, BOT_OR, m.col(i), 1);

I'm not sure I understand the extensional constraint.  The indexes (i,j) are no constrained variables here but simply constant indexes.  And the extensional constraint cannot be put under an "if".
If the graph is fixed, i.e., if you know statically whether (i,j) satisfies some condition, you can simply set all m(i,j)=0 where the condition does not hold.

Cheers,
	Guido

Claudio Cesar de Sá wrote:

> Hi,
> 
> My program consist in filling up of a matrix  (nxn) with 0 and 1 with under 3 rules;
> 
> 1. In each col presents at least one (1) ... 
> 2. In each row presents at least one (1) ... 
> 3. Where these 1´s appears,  the indexes (i,j) must be checked in the graph.
> 
> The rule number 3 I think to use an extensional constraint such:
> 
> for ....
>      if pair (i,j) != 0
>         extensional(*this, pair(i,j), TUPLE_SET_2_OF_A_GRAPH)
>       
> 
> Any guess (tip) to solve 1 and 2 ??
> 
> 
> Thanks
> 
> 
> claudio
> 
> 
> 
> -- 
> claudio 
> 
> 
> 
>    (
>    ))
>   |""|-.
>   |__|-'
>                 
>                 
> **********************************************************************
> Skype: claudio_cesar_sa
> Links:
> http://laic.u-clermont1.fr/
> http://www.colmeia.udesc.br/
> http://www2.joinville.udesc.br/~coca/
> http://www2.joinville.udesc.br/~esp7maratona/
> Blog: http://claudiocesar.wordpress.com/
> ***********************************************************************
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users

-- 
Guido Tack, http://www.cs.kuleuven.be/~guido/



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20100415/6fc0b2b4/attachment.htm>


More information about the users mailing list