Re: [eclipse-clp-users] 7.11 puzzle

From: Sergey Dymchenko <kit1980_at_...6...>
Date: Tue, 13 Sep 2011 03:11:56 +0300
Thanks, that's huge improvement.

On Tue, Sep 13, 2011 at 3:00 AM, Joachim Schimpf <jschimpf_at_...311...> wrote:
> Sergey Dymchenko wrote:
>> Hi!
>>
>> I'm trying to solve this puzzle: http://programmingpraxis.com/2009/11/27/7-11/
>>
>> Here is my very straightforward code:
>>
>> :- lib(ic).
>> solve :-
>>     Sum = 711,
>>     Product = 711,
>>     Prices = [A, B, C, D],
>>     A #> 0, B #> 0, C #> 0, D #> 0,
>>     A + B + C + D #= Sum,
>>     A * B * C * D #= Product * 1000000,
>>     labeling(Prices),
>>     writeln(Prices).
>>
>> It works, but it's too slow.
>> Is there any way to speed it up without being too clever and
>> explicitly say to ECLiPSe that the prices of the four items must come
>> from the list of divisors of 711?
>
> It is much faster (1.8 instead of 63 seconds on my machine) if you use
> domain splitting during search, i.e. replace labeling(Prices) with
>
>    search(Prices, 0, input_order, indomain_split, complete, [])
>
> This is probably always a good idea with relatively large domains
> and convex constraints.
>
> Other improvements?
>
>
> Cheers,
> Joachim
>
> ------------------------------------------------------------------------------
> BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
> Learn about the latest advances in developing for the
> BlackBerry&reg; mobile platform with sessions, labs & more.
> See new tools and technologies. Register for BlackBerry&reg; DevCon today!
> http://p.sf.net/sfu/rim-devcon-copy1
> _______________________________________________
> ECLiPSe-CLP-Users mailing list
> ECLiPSe-CLP-Users_at_lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/eclipse-clp-users
>
Received on Tue Sep 13 2011 - 00:12:03 CEST

This archive was generated by hypermail 2.3.0 : Wed Sep 25 2024 - 15:13:20 CEST