Re: type error during search

From: <wh_at_icparc.ic.ac.uk>
Date: Mon 16 May 2005 09:38:24 AM GMT
Message-ID: <20050516093824.GC8336@tempest.icparc.ic.ac.uk>
Hi Helmut,

Yes, that's a rather old bug in the min/max list constraints.  I'm working
on a fix now...

(For the record, the call that goes wrong is of the form
    min([X{[6,9,10]}, Y{[6,9,10]}, Z{[6,9,10]}], Min{[7,8]})
It should fail, but instead re-suspends with an empty list - no new bound is
imposed on Min.)

Cheers,
Warwick

On Mon, May 16, 2005 at 08:24:45AM +0100, HELMUT SIMONIS wrote:
> Thanks Warwick,
> 
> I've attached the program now.
> 
> The type error occurs somewhere inside the
> propagation, the obvious candidates for the type error
> are the minlist maxlist constraints in the model. The
> impact of the edgefinder might be that it cuts off
> parts of the search tree where the problem occurs.
> 
> Cheers
> 
> Helmut
> 
> --- wh@icparc.ic.ac.uk wrote:
> > Hi Helmut,
> > 
> > A couple of things.  First, did you intend to attach
> > bug.ecl?  :)
> > 
> > On Sun, May 15, 2005 at 06:35:48PM +0100, HELMUT
> > SIMONIS wrote:
> > > The program bug.ecl produces the following output
> > > from the commands entered in tkeclipse
> > > 
> > > [bug].
> > > bug:top.
> > > 
> > > ic_kernel.eco loaded traceable 0 bytes in 0.04
> > seconds
> > > linearize.eco loaded traceable 0 bytes in 0.03
> > seconds
> > > ordset.eco loaded traceable 0 bytes in 0.01
> > seconds
> > > ic_constraints.eco loaded traceable 0 bytes in
> > 0.15
> > > seconds
> > > ic.eco     loaded traceable 0 bytes in 0.01
> > seconds
> > > ic_generic_interface.eco loaded traceable 0 bytes
> > in
> > > 0.02 seconds
> > > ic_search.eco loaded traceable 0 bytes in 0.08
> > seconds
> > > ic.eco     loaded traceable 0 bytes in 0.29
> > seconds
> > > ic_cumulative.eco loaded traceable 0 bytes in 0.00
> > > seconds
> > > bug.ecl    compiled traceable 108544 bytes in 0.30
> > > seconds
> > > start(7)
> > > search
> > > type error in min([], 8)
> > > 
> > > I'm running Eclipse 5.8 #92 on Windows XP.
> > Changing
> > > the  library from lib(cumulative) to
> > lib(edgefinder3)
> > > makes the bug go away.
> > > 
> > > The problem occurs for a number of other test
> > cases,
> > > this is a reduced version of the original program.
> > My
> > > application program does not seem to call min/2.
> > 
> > Neither does lib(cumulative) as far as I can see. 
> > :(  Note that IC's
> > min-of-a-list constraint gives a type error if the
> > list is empty.  Probably
> > some higher-level constraint is not properly
> > validating its input or
> > something.
> > 
> > Note also that Barbara's random instances 4 and 5 of
> > the challenge problem
> > have orders with no products (which doesn't make
> > sense - one of the problems
> > with generating "random" instances of problems), and
> > that this gave me a
> > type error in min as well.  As a work-around,
> > comment out those orders.  :)
> > (Or optimise your program by pre-filtering orders
> > with 0 or 1 product, since
> > they're irrelevant.)
> > 
> > Cheers,
> > Warwick
> > 
Received on Mon May 16 10:37:14 2005

This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:08:25 PM GMT GMT