xpress.free
| xpress.free | 
  Purpose
 
  Releases the Xpress environment, thus freeing up one license. The subsequent creation of a problem automatically triggers a call to
 xpress.init.
 
Note that it is unnecessary to call this function upon exiting a block that uses the Xpress module, or when the optimizer is no longer used, as Python will release the Xpress environment when freeing the Xpress module. This function might be useful when a license is needed by another user or program, and one wishes to release the license.
Note that it is unnecessary to call this function upon exiting a block that uses the Xpress module, or when the optimizer is no longer used, as Python will release the Xpress environment when freeing the Xpress module. This function might be useful when a license is needed by another user or program, and one wishes to release the license.
  Synopsis
 
 xpress.free () 
 
  Example
 
 The following example shows how to call
 xpress.free and a possible use:
 
x = xp.var ()
y = xp.var ()
p = xp.problem () # This would imply a call to xp.init()
p.addVariable (x, y)
p.addConstraint (x+y <= 1)
p.setObjective (x+2*y, sense=xp.maximize)
p.solve ()
xp.free () # from this point on, the license
           # can be claimed by other users
  Note that
 xpress.init is only useful when the user wants to claim a license that might be used by another program or user.
 
  Further information
 
  Similar to a call to
 XPRSfree() of the C API, calling
 xpress.free cleans the Xpress environment. Any problem created prior to a call to
 xpress.free is no longer available, and referring to it may lead to errors. For instance, the following code results in an aborted run:
 
  
 
import xpress p = xpress.problem () xpress.free() xpress.init() p.solve ()
  Related topics
 
 
