Command line parameters

From DCOPolis

Jump to: navigation, search

This is a list of all DCOPolis command line parameters and what to use for their values, as of version 511. To set a parameter called PARAMETER to the value VALUE, you would add "-DPARAMETER=VALUE" to the command line invocation of DCOPolis.

Please note that whenever you specify a class, DCOPolis can guess what class you mean if you provide a portion of the path. It usually works if provide a string that is unique to the class you want. For example, instead of typing "org.dcopolis.problem.BinPackingProblem", you could just type "BinPackingProblem", and DCOPolis should correctly guess what you mean.

Contents

Most Commonly Used

  • ALGORITHM - the class name of the algorithm to use (the class that extends org.dcopolis.algorithm.Algorithm). For example, to use Adopt, the value should be set to "org.dcopolis.algorithm.adopt.AdoptAlgorithm".
  • PLATFORM - the class name of the platform to use (the class that extends org.dcopolis.platform.Platform). For example, to use the TCP platform, the value should be set to "org.dcopolis.platform.tcp.TCPPlatform".
  • PROBLEMS - the class name of the problem to use (the class that extends org.dcopolis.problem.Problem). For example, to use the bin packing problem, the value should be set to "org.dcopolis.problem.BinPackingProblem".
  • PROBLEM_FILE - the name of the problem file to load.

Enviromental Parameters

  • LOG_FILE - a filename to log output to (it will still go to stderr/stdout as well).
  • NO_GUI - setting this to "1" starts DCOPolis without the GUI. This will not work unless a algorithm, platform, and problem are also specified (see the rest of this list for how to do that).
  • REMOTE_INSTANTIATION - set to "1" for remote instantiation. When used, it will coordinate with other DCOPolis platforms on the local network before starting (see next argument). Use when deploying in a "real" (not simulated) distributed setting.
  • MIN_NUM_PLATFORMS - set to the minimum number of platforms before DCOPolis can start. DCOPolis will wait until this many have appeared on the local network before beginning execution.
  • EXIT_ON_COMPLETION - terminate the DCOPolis when it has found a solution (useful for batch processing).
  • SYNCHRONIZE_CYCLES

Context Specific Parameters

These are parameters that are unique to a specific algorithm, platform, or problem.

Adopt Algorithm

  • BOUNDED_ERROR - the amount of error allowed (Adopt allows for error bounds).
  • ADOPT_PREPROCESS -

NCBB Algorithm

  • S_COST -
  • M_COST -

Networkless Platform

  • KILOBYTES_PER_SECOND -
  • REAL_TIME -
  • MIPS -

TCP Platform

  • UNIFORM_HOST_DISTRIBUTION - set to "1" and DCOPolis will uniformly distribute the agents among the DCOPolis platform instantiations.
  • IP - the IP address this platform should use (useful if you have multiple network interfaces).
  • SUBNET_MASK - the subnet mask to use.

Random Bin Packing Problem

  • NUM_BINS
  • NUM_OBJECTS
  • OBJ_MEAN_SIZE
  • OBJ_MEAN_STDEV
  • BIN_SIZE_MEAN
  • BIN_SIZE_STDEV

Random Graph Coloring Problem

  • RANDOM_GRAPH_VERTICES
  • RANDOM_GRAPH_TREE - set to one to force the graph to be a tree.
  • RANDOM_GRAPH_EDGE_PROBABILITY - set to a number between 0.0 and 1.0 for the probability of creating edges between nodes.
  • RANDOM_GRAPH_COLORS - set to the number of colors in the problem.

cTAEMS Problems

  • NAIVE_DOMAINS
  • TIGHTEN_WITH_NLES
  • JUST_PREPROCESS
  • CTAEMS_FILE

Art Gallery Problem

  • NUM_GUARDS
  • NUM_PAINTINGS
  • VIEW_ANGLE
  • VIEW_DISTANCE
  • GRID_SIZE
  • PRUNE_DUPLICATE_GUARD_LOCATIONS
  • PRUNE_IRRELEVANT_GUARD_LOCATIONS

Random Art Gallery Problem

All the parameters from the "Art Gallery Problem" section, plus:

  • GALLERY_WIDTH
  • GALLERY_HEIGHT
  • GALLERY_MIN_DIST_BETWEEN_WALLS
  • GALLERY_WALLS_MIN
  • GALLERY_WALLS_MAX

Problem Plugins

The parameters cause some kind of pre-processing to the problem class. Right now all of them are related to Robust DCOP.

  • StoppingProblemPlugin - causes a single variable to exhibit the observable stopping failure which a randomly selected value, and the rest of the agents doing unary constraint modification to compute a solution.
  • IgnoringFailurePlugin - causes a single variable to exhibit the observable stopping failure with a randomly selected value. The rest of the agents ignore this variable (ie: it is removed from the constraint graph).

For both of these plugins, you can use these parameters to specify which variable will stop and what it's value should be:

  • STOPPING_VARIABLE - name of the variable (as specified in the problem file) that should stop.
  • STOPPING_VALUE - name of the value (as specified in the domain portion of the problem file) that the stopped variable should be assigned to.