|
FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
|
Distributed meeting scheduling problem generator. More...
Classes | |
| enum | Mode |
| The mode of encoding. More... | |
Public Member Functions | |
| MeetingScheduling (final int nbrAgents, final int nbrMeetings, final int nbrAgentsPerMeeting, final int nbrSlots, final AddableInteger infinity, final double tightness, Integer maxCost) | |
| Constructor. | |
Static Public Member Functions | |
| static void | main (String[] args) throws IOException |
| Creates a problem instance and saves it to a file. | |
| static Element | createStats (String name, String value) |
| Creates a "stats" element. | |
Private Member Functions | |
| Document | toXCSP (final boolean intensional, final Mode mode, AddableInteger infinity) |
| Creates an XCSP representation of the problem. | |
Private Attributes | |
| int | nbrAgents |
| The number of agents. | |
| ArrayList< ArrayList< Integer > > | attendees |
| For each meeting, its list of attendees. | |
| ArrayList< ArrayList< Integer > > | meetings |
| For each participant, its list of meetings. | |
| ArrayList< ArrayList< Integer > > | preferences |
| The (finite) cost that each participant assigns to having a meeting in each time slot. | |
| ArrayList< ArrayList< Integer > > | absences |
| For each agent, the list of time slots at which it is NOT available. | |
| final int | nbrSlots |
| Number of available time slots for each meeting. | |
| final int | nbrMeetings |
| The number of metings. | |
| final int | nbrAgentsPerMeeting |
| The number of agents per meeting. | |
| final double | targetTightness |
| The target tightness value, where the tightness is the probability of being unavailable at a given time slot. | |
| double | avgTightness = 0.0 |
| The real average tightness value, where the tightness is the probability of being unavailable at a given time slot. | |
| final Integer | maxCost |
| The maximum cost for attending a meeting at any given time slot; if null, no agent preferences are considered. | |
| final String | instanceName |
| The name of the problem instance. | |
Distributed meeting scheduling problem generator.
| frodo2.benchmarks.meetings.MeetingScheduling.MeetingScheduling | ( | final int | nbrAgents, |
| final int | nbrMeetings, | ||
| final int | nbrAgentsPerMeeting, | ||
| final int | nbrSlots, | ||
| final AddableInteger | infinity, | ||
| final double | tightness, | ||
| Integer | maxCost ) |
Constructor.
| nbrAgents | number of agents in the overall pool of agents |
| nbrMeetings | number of meetings |
| nbrAgentsPerMeeting | number of agents per meeting |
| nbrSlots | number of available time slots for each meeting |
| infinity | the cost incurred by violating one constraint |
| tightness | for each agent and each time slot, the probability of absence |
| maxCost | if not null, each attendee assigns a random cost in [0, value] to having any meeting at each time slot |
References absences, attendees, maxCost, meetings, nbrAgents, nbrAgentsPerMeeting, nbrMeetings, nbrSlots, and preferences.
Referenced by main().
|
static |
Creates a "stats" element.
| name | the value of the "name" attribute |
| value | the text |
Referenced by toXCSP().
|
static |
Creates a problem instance and saves it to a file.
| args | [-i] [-EAV] [-PEAV] [-EASV] [-infinity value] [-tightness value] [-maxCost value] nbrAgents nbrMeetings nbrAgentsPerMeeting nbrSlots |
| IOException | if an I/O error occurs |
References frodo2.benchmarks.meetings.MeetingScheduling.Mode.EASV, frodo2.benchmarks.meetings.MeetingScheduling.Mode.EAV, frodo2.solutionSpaces.AddableInteger.fromString(), maxCost, MeetingScheduling(), nbrAgents, nbrAgentsPerMeeting, nbrMeetings, nbrSlots, frodo2.benchmarks.meetings.MeetingScheduling.Mode.PEAV, frodo2.solutionSpaces.AddableInteger.PlusInfinity.PLUS_INF, and toXCSP().

|
private |
Creates an XCSP representation of the problem.
| intensional | whether to use intensional constraints |
| mode | the mode |
| infinity | the cost incurred by violating one constraint |
References absences, attendees, createStats(), frodo2.benchmarks.meetings.MeetingScheduling.Mode.EASV, meetings, nbrSlots, frodo2.benchmarks.meetings.MeetingScheduling.Mode.PEAV, preferences, and frodo2.solutionSpaces.AddableInteger.toString().
Referenced by main().

|
private |
For each agent, the list of time slots at which it is NOT available.
Referenced by MeetingScheduling(), and toXCSP().
|
private |
For each meeting, its list of attendees.
Referenced by MeetingScheduling(), and toXCSP().
|
private |
The real average tightness value, where the tightness is the probability of being unavailable at a given time slot.
|
private |
The name of the problem instance.
|
private |
The maximum cost for attending a meeting at any given time slot; if null, no agent preferences are considered.
Referenced by main(), and MeetingScheduling().
|
private |
For each participant, its list of meetings.
Referenced by MeetingScheduling(), and toXCSP().
|
private |
The number of agents.
Referenced by main(), and MeetingScheduling().
|
private |
The number of agents per meeting.
Referenced by main(), and MeetingScheduling().
|
private |
The number of metings.
Referenced by main(), and MeetingScheduling().
|
private |
Number of available time slots for each meeting.
Referenced by main(), MeetingScheduling(), and toXCSP().
|
private |
The (finite) cost that each participant assigns to having a meeting in each time slot.
Referenced by MeetingScheduling(), and toXCSP().
|
private |
The target tightness value, where the tightness is the probability of being unavailable at a given time slot.