Hi Stefano, Completely agree and has already been requested by other users, so it is already in the trunk!
But thanks for pointing out! Cheers Christian -- Christian Schulte, www.ict.kth.se/~cschulte/ > -----Original Message----- > From: [email protected] [mailto:[email protected]] On > Behalf Of Stefano Gualandi > Sent: Thursday, March 07, 2013 2:35 PM > To: [email protected] > Subject: [gecode-users] On posting bin packing constraints > > Hi, > as a user, I have a very a simple suggestions about posting a bin packing > constraint when one of the item has size equals to zero. > > The documentation is quite clear (if it took a while to find this out), Gecode > raises an exception whenever: > > >> Of type Int::OutOfLimits if s contains a non-positive number. > > Items with negative sizes are not supported by the filtering algorithm, fine. > > However, for an item with size equals to zero, this is a bit too severe. > An item of size equals to zero never makes the constraints invalid. > When you have several bin packing constraints over the same set of items (due > to several dimensions of each item) it might be that one of the dimensions is > zero for one or more items. > > Therefore, I would suggest to simple ignore the IntVar associated to an item of > zero size, as follows (ugly code, but it is to give you the idea). Since you pass the > variable views to the propagator, indeed you may ignore the view of zero size > variables. > > cheers, > Stefano > > > > file: bin-packing.cpp (geocode 3.7.3): > > [.] > int items=s.size(); > for (int i=s.size(); i--; ) > if (s[i] == 0) > items--; > else > Limits::positive(s[i],"Int::binpacking"); > > [.] > > ViewArray<BinPacking::Item> bs(home,items); > for (int i=s.size(), j=0; i--; ) > if ( s[i] > 0 ) > bs[j++] = BinPacking::Item(b[i],s[i]); > _______________________________________________ > Gecode users mailing list > [email protected] > https://www.gecode.org/mailman/listinfo/gecode-users _______________________________________________ Gecode users mailing list [email protected] https://www.gecode.org/mailman/listinfo/gecode-users
