Matchmaking


    {  Exmpl8.3-5_Matchmaking.mpl  }

    {  Winston, Operations Research, Applications and Algorithms, 4th ed.  }

    {  Chapter 8.3,  Example 5, Maximum Flow,  Size: 12x20,  Page 422 }


TITLE
    MatchMaking;

INDEX
    person  := (SO,KC,BR,TS,MJ,TC,LA,MS,KH,LE,VP,SI);
    person2 := person;

DATA
    Compatible[person,person2] := [SO,KC,1,
                                   SO,BR,1,
                                   SO,TS,1,
                                   SO,MJ,1,
                                   SO,TC,1,
                                   KC,MS,1,
                                   BR,LA,1,
                                   TS,LA,1,
                                   TS,MS,1,
                                   MJ,LA,1,
                                   MJ,MS,1,
                                   TC,KH,1,
                                   TC,LE,1,
                                   TC,VP,1,
                                   LA,SI,1,
                                   MS,SI,1,
                                   KH,SI,1,
                                   LE,SI,1,
                                   VP,SI,1,
                                   SI,SO,1];

VARIABLE
    Match[person,person2] WHERE (Compatible);

MODEL

    MAX NumberOfMatches = SUM(person,person2: Match);

SUBJECT TO

    MatchBalance[person]:

        SUM(person2: Match) = SUM(person2: Match[person:=person2,person2:=person]);

BOUNDS
    Match <= 1;

END


Back To Top | Maximal Home Page | List of Models | Previous Page | Next Page