int GRBloadclientenv ( GRBenv **envP,
    const char *logfilename,
    const char *computeserver,
    int port,
    const char *password,
    int priority,
    double timeout )

Create a client environment on a compute server. Optimization models live within an environment, so this is typically the first Gurobi routine called in an application. This call specifies the compute server on which those optimization models will be solved, as well as the priority of the associated jobs.

In addition to creating a new environment, 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.

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.


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.

computeserver: A comma-separated list of Gurobi compute servers. You can refer to compute server machines using their names or their IP addresses.

port: The port number used to connect to the compute server. You should pass a -1 value, which indicates that the default port should be used, unless your server administrator has changed our recommended port settings.

password: The password for gaining access to the specified compute servers. Pass an empty string if no password is required.

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. A job with priority 100 runs immediately, bypassing the job queue and ignoring the job limit on the server. You should exercise caution with priority 100 jobs, since they can severely overload a server, which can cause jobs to fail, and in extreme cases can cause the server to crash.

timeout: Job timeout (in seconds). If the job doesn't reach the front of the queue before the specified timeout, the call will exit with a JOB_REJECTED error. Use a negative value to indicate that the call should never timeout.

Example usage:

  GRBenv *env;
  error = GRBloadclientenv(&env, "gurobi.log",
                           "", 5, -1.0);

Try Gurobi for Free

Choose the evaluation license that fits you best, and start working with our Expert Team for technical guidance and support.

Evaluation License
Get a free, full-featured license of the Gurobi Optimizer to experience the performance, support, benchmarking and tuning services we provide as part of our product offering.
Academic License
Gurobi supports the teaching and use of optimization within academic institutions. We offer free, full-featured copies of Gurobi for use in class, and for research.
Cloud Trial

Request free trial hours, so you can see how quickly and easily a model can be solved on the cloud.