pydcop generate meetings

Meetings scheduling benchmark problem generator

Synopsis

pydcop generate meetings
        --slots_count <slots_count>
        --events_count <events_count>
        --resources_count <resources_count>
        --max_resources_event <max_resources_event>
        [--max_length_event <max_length_event>]
        [--max_resource_value <max_resource_value>]

Description

This commands generate a meeting scheduling problem, based on [MTB+04] with the Private Event As Variable (PEAV) model.

Note that this command generates both a DCOP and a distribution, as the PEAV model also specifies the list of agents (one for each resource) and where each variable is hosted.

Note: the generated DCOP and distribution are both written to the standard output. To write in files, you can use the --output <file> global option.

Options

--slots_count <slots_count>

Total number of time slots

--events_count

Number of events (aka meetings) to schedule

--resources_count <resources_count>

Number of resources

--max_resources_event <max_resources_event>

Maximum number of resources for each event: each event has a random number of requested resources in [1, max_resources_event]

--max_length_event <max_length_event>

Maximum number of time slot for an event: each event has a random length in [1, max_length_event]. Optional, defaults to 1.

--max_resource_value <max_resource_value>

Each resources has a random value in [1, max_resource_value] for each time slot and a value for being kept free (in [1, max_resource_value]) at a given time slot. Optional, defaults to 10.

Examples

Generating a meetings scheduling problem written directly to stdout:

pydcop generate meetings --slots_count 5         --events_count 4 --resources_count 3 --max_resources_event 2

Generating a meetings scheduling problem written in in meetings.yaml. The distribution is written in meetings_dist.yaml:

pydcop --output meetings.yaml generate meetings \
    --slots_count 5 --events_count 6 --resources_count 3 \
    --max_resources_event 2 --max_length_event 2