Re: [eclipse-clp-users] Knappsack-Problem Modification

From: Joachim Schimpf <joachim.schimpf_at_...44...>
Date: Wed, 14 Apr 2010 20:42:44 +1000
Philipp Marcus wrote:
>    
> assignItems([I1,I2,I3,I4,I5,I6],Measure) :-
>     (local domain(knapsacks("B","C","D"))),
>     [I1,I2,I3,I4,I5,I6] &::
> ["B","C","D"],Items=[item{id:"item1",knap:I1},item{id:"item2",knap:I2},item{id:"item3",knap:I3},item{id:"item4",knap:I4},item{id:"item5",knap:I5},item{id:"item6",knap:I6}],
>     sigma(Items,"B",Value1),sigma(Items,"C",Value2),sigma(Items,"D",Value3),
>     Measure $= (Value1 + Value2 + Value3),
>     branch_and_bound:minimize(search([I1,I2,I3,I4,I5,I6]),Measure).


Some technical remarks:

1. the domain declaration should be a directive

:- local domain(knapsacks('B','C','D')).


2. for things that are names/symbols, use atoms instead of strings:
'C' instead of "C", and item2 instead of "item2"


-- Joachim
Received on Wed Apr 14 2010 - 10:41:15 CEST

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