User Tools

Site Tools


solver:using_lazy_constraints_or_user_cuts

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
solver:using_lazy_constraints_or_user_cuts [2010/03/09 13:35]
support
solver:using_lazy_constraints_or_user_cuts [2010/03/09 13:36] (current)
support
Line 1: Line 1:
 ====== Using lazy constraints or user cuts ====== ====== Using lazy constraints or user cuts ======
  
-GAMS/CPLEX does currently not support lazy constraint or user cuts. We have not seen convincing examples where these Cplex features make a significant difference in performance. ​understand that this might be a chicken and egg problem, therefore we introduced some time ago a way to experiment with these Cplex features. This is not for production models but to see if these features improve performance for your model. If you  +GAMS/CPLEX does currently not support lazy constraint or user cuts. We have not seen convincing examples where these Cplex features make a significant difference in performance. ​We understand that this might be a chicken and egg problem, therefore we introduced some time ago a way to experiment with these Cplex features. This is not for production models but to see if these features improve performance for your model. ​ 
-(or other users) have good examples where lazy constraints or user cuts make a significant difference that cannot be accomplished by other Cplex features, we will quickly make these features available in GAMS/CPLEX.+ 
 +If you (or other users) have good examples where lazy constraints or user cuts make a significant difference that cannot be accomplished by other Cplex features, we will quickly make these features available in GAMS/CPLEX.
  
 Here is what you need to do: Here is what you need to do:
Line 11: Line 12:
   - Rerun the GAMS model with the solve statement, but change ''​cplex.opt''​ to ''​probread mymodel.lp''​. This instructs GAMS/CPLEX not to get the model from GAMS but read the model from the file ''​mymodel.lp''​. If you have lazy constraint you need to turn off dual reductions by adding option ''​reduce 1''​. If you have user cuts only you need to turn off non-linear reductions by adding ''​prelinear 0''​. If you have both, ''​reduce 1''​ will suffice. Since the model passed from GAMS to GAMS/CPLEX might have nothing to do with the model you supplied in ''​mymodel.lp'',​ no solution is returned to GAMS, so you can't do much with that other than experimenting with the performance improvements of the Cplex features Lazy Constraints and User Cuts.   - Rerun the GAMS model with the solve statement, but change ''​cplex.opt''​ to ''​probread mymodel.lp''​. This instructs GAMS/CPLEX not to get the model from GAMS but read the model from the file ''​mymodel.lp''​. If you have lazy constraint you need to turn off dual reductions by adding option ''​reduce 1''​. If you have user cuts only you need to turn off non-linear reductions by adding ''​prelinear 0''​. If you have both, ''​reduce 1''​ will suffice. Since the model passed from GAMS to GAMS/CPLEX might have nothing to do with the model you supplied in ''​mymodel.lp'',​ no solution is returned to GAMS, so you can't do much with that other than experimenting with the performance improvements of the Cplex features Lazy Constraints and User Cuts.
  
-took the ''​rotdk''​ model from the GAMS model library and automated these steps using [[WP>​Awk|awk]] to add the the line ''​lazy constraints''​ to the LP file. +We took the ''​rotdk''​ model from the GAMS model library and automated these steps using [[WP>​Awk|awk]] to add the the line ''​lazy constraints''​ to the LP file. 
  
 <​code>​ <​code>​
IMPRESSUM / LEGAL NOTICEPRIVACY POLICY solver/using_lazy_constraints_or_user_cuts.txt · Last modified: 2010/03/09 13:36 by support