Documentation


GRBloadcloudenv

int GRBloadcloudenv ( GRBenv **envP,
    const char *logfilename,
    const char *accessID,
    const char *secretKey,
    const char *pool,
    int priority )

Create a Gurobi Instant Cloud environment. Optimization models live within an environment, so this is typically the first Gurobi routine called in an application. This call will use an existing Instant Cloud machine if one is currently running within the specified machine pool, and it will launch a new one otherwise. Note that launching a new machine can take a few minutes.

You should visit the Gurobi Instant Cloud site to obtain your accessID and secretKey, configure your machine pools, and perform other cloud setup and maintenance tasks.

You should keep your secretKey private. Sharing it with others will allow them to launch Instant Cloud instances in your account.

This routine will also check the current working directory for a file named gurobi.env, and it will attempt to read parameter settings from this file if it exists. The file should be in PRM format (briefly, each line should contain a parameter name, followed by the desired value for that parameter).

In general, you should aim to create a single Gurobi environment in your program, even if you plan to work with multiple models. Reusing one environment is much more efficient than creating and destroying multiple environments. The one exception is if you are writing a multi-threaded program, since environments are not thread safe. In this case, you will need a separate environment for each of your threads.

Return value:

A non-zero return value indicates that there was a problem creating the environment. Refer to the Error Code table for a list of possible return values.

Arguments:

envP: The location in which the pointer to the newly created environment should be placed.

logfilename: The name of the log file for this environment. May be NULL (or an empty string), in which case no log file is created.

accessID: The access ID for your Gurobi Instant Cloud license. This can be retrieved from the Gurobi Instant Cloud website. When used in combination with your secretKey, this allows you to launch Instant Cloud instances and submit jobs to them.

secretKey: The secret key for your Gurobi Instant Cloud license. This can be retrieved from the Gurobi Instant Cloud website. When used in combination with your accessID, this allows you to launch Instant Cloud instances and submit jobs to them. Note that you should keep your secret key private.

pool: The machine pool. Machine pools allow you to create fixed configurations on the Instant Cloud website (capturing things like type of machine, geographic region, etc.), and then launch and share machines from client programs without having to restart the configuration information each time you launch a machine. May be NULL (or an empty string), in which case your job will be launched in the default pool associated with your cloud license.

priority: The priority of the job. Priorities must be between -100 and 100, with a default value of 0 (by convention). Higher priority jobs are chosen from the server job queue before lower priority jobs.

Example usage:

  GRBenv *env;
  error = GRBloadcloudenv(&env, "gurobi.log",
                          "3d1ecef9-dfad-eff4-b3fa", "ae6L23alJe3+fas",
                          "", 0);