Floating licenses have a use limit, which is enforced by monitoring when tokens are issued/released. If all tokens are in use, any application attempting to use Gurobi to solve optimization problems will get the error “Request denied: use limit (N) exceeded”.
Compute Server and Instant Cloud are based on the client-server paradigm. As such, optimization jobs are issued to the optimization server by clients. Users may observe that a job is still running, even after the optimization task has finished.
One reason for the situations described above is that the user forgot to dispose of all models and environments at the end of the session. The steps to do so vary by programming language:
- C:CallGRBfreemodel()for each model, then callGRBfreeenv()for the Gurobi environment.
- C++:If you use pointers toGRBModelandGRBEnvobjects, delete allGRBModelobjects, then delete theGRBEnvobject.
- .Java:CallGRBModel.dispose()on allGRBModelobjects, then callGRBEnv.dispose()on the GRBEnv object.
- .NET:CallGRBModel.Dispose()on allGRBModelobjects, then callGRBEnv.Dispose()on theGRBEnvobject.
- Python:
- Gurobi 9.0.0 or newer: CallModel.dispose()on all Model objects. Then, if using custom-made environments, callEnv.dispose()on all Env objects. Otherwise, call disposeDefaultEnv().
- Gurobi 8.1.1 or older: Delete allModelobjects, delete allEnvobjects (if used), then calldisposeDefaultEnv().
如果你忽视清理,令牌或service may be temporarily unavailable for other applications.