GRBEnv()


GRBEnv()

Environment constructor.

Constructor for GRBEnv object. If the constructor is called with no arguments, no log file will be written for the environment.

You have the option of constructing either a local environment, which solves Gurobi models on the local machine, a client environment for a Gurobi compute server, which will solve Gurobi models on a server machine, or an Instant Cloud environment, which will launch a Gurobi Cloud server and solve models on that server. Choose the appropriate signature for the type of environment you wish to launch.

Note that the GRBEnv constructor will 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). It will also populate several parameters (ComputeServer, TokenServer, ServerPassword, etc.) from your gurobi.lic file.

In general, you should aim to create a single Gurobi environment object 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.

GRBEnv GRBEnv ( )

    Create a Gurobi environment (with logging disabled).

    Return value:

    An environment object (with no associated log file).

GRBEnv GRBEnv ( string logFileName )

    Create a Gurobi environment (with logging enabled).

    Arguments:

    logFileName: The desired log file name.

    Return value:

    An environment object.

GRBEnv GRBEnv ( bool empty )

    Create an empty Gurobi environment. Use Start to start the environment.

    Arguments:

    empty: Indicates whether the environment should be empty.

    Return value:

    An environment object.

GRBEnv GRBEnv ( string logFileName,
    string computeServer,
    string router,
    string password,
    string group,
    int tlsInsecure,
    int priority,
    double timeout )
    Create a client Gurobi environment on a compute server.

    Arguments:

    logFileName: The name of the log file for this environment. Pass an empty string for no log file.

    computeServer: A Compute Server. You can refer to the server using its name or its IP address. If you are using a non-default port, the server name should be followed by the port number (e.g., server1:61000)

    router: The router for a Compute Server cluster. A router can be used to improve the robustness of a Compute Server deployment. You should refer to the router using either its name or its IP address. If no router is used (which is the typical case), pass an empty string.

    password: The password for gaining access to the specified Compute Server cluster. Pass an empty string if no password is required.

    group: The name of the Compute Server group.

    tlsInsecure: Indicates whether to use insecure mode in the TLS (Transport Layer Security). Set this to 0 unless your server administrator tells you otherwise.

    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 constructor will throw a JOB_REJECTED exception. Use a negative value to indicate that the call should never timeout.

    Return value:

    An environment object.

GRBEnv GRBEnv ( string logFileName,
    string accessID,
    string secretKey,
    string pool,
    int priority )
    Create a Gurobi environment on Gurobi Instant Cloud

    Arguments:

    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 restate the configuration information each time you launch a machine. May be 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. 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.

    Return value:

    An environment object.