Social Golfers

From: Mark A. Hennessy <m.hennessy_at_4c.ucc.ie>
Date: Mon 11 Oct 2004 05:13:31 PM GMT
Message-ID: <416ABF3B.7020301@4c.ucc.ie>
Hi there,

    I'm using Eclipse 5.7. I've been implementing a number of different 
models of the social golfer problem in Eclipse. I've run into a problem 
in trying to
implement one of the constraints for a particular model I have 
formulated. The code I have written so far is:

% Give an account of this model in mathematical notation. C1 and C2
% are automatically enforced my the setup of the data-structures in
% this model
sgp_model2(Weeks,NumberOfGroups,GroupSize,Groups) :-
    % Calculate the number of golfers
    NumGolfers is NumberOfGroups*GroupSize,
   
    % 2-d Groups Matrix of Variables
    dim(Groups,[NumGolfers,Weeks]),
   
    % The Domain of each Group matrix variable is the range of
    % 1..NumberOfGroups
    Groups[1..NumGolfers,1..Weeks] :: 1..NumberOfGroups,

    % C3: limits the number of times a group identifier appears in a 
particular
    % week to GroupSize
    (for(W,1,Weeks), param(Groups,NumGolfers,GroupSize,NumberOfGroups) do
        (for(G,1,NumberOfGroups), param(Groups,W,NumGolfers,GroupSize) do
            Occur is Groups[1..NumGolfers,W],
            occurrences(G,Occur,GroupSize)           
        )
    ),

    % C4: All pairs of golfers must play each other at most once
    sigma(W)(Groups[X,W] = Groups[Y,W]) <= 1

   
I cant seem to represent the last constraint (C4) the way I would like 
to in Eclipse. I was hoping someone could show me how this is done? The
notation I've used some summation over a range of weeks might look a 
little odd but it is just to ensure that no golfer plays any other golfer in
the same group more than once.

Thanks in advance,
Mark.
Received on Mon Oct 11 18:21:04 2004

This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:07:30 PM GMT GMT