User Tools

Site Tools


solver:improving_the_precision_of_the_interior_point_method

Differences

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

Link to this comparison view

Next revision
Previous revision
solver:improving_the_precision_of_the_interior_point_method [2007/08/15 15:33]
127.0.0.1 external edit
— (current)
Line 1: Line 1:
-====== "​Improving"​ the precision of the interior point method ====== 
- 
-Q: //Using Cplex to solve my QCP model returns a slightly different solution (e.g. 256.949847) than the one I get back from MINOS (e.g. 256.949789699778700). Is this just a matter of Cplex using smaller precision internally and therefore having a slightly different answer? ​ I've noticed that it probably only uses 6 or 7 decimal places of precision whereas the same problem formulated as an nlp and solved in MINOS has a much higher precision, say 15 decimal places.// 
- 
-All of the GAMS solvers, and GAMS/Base itself, work internally with double precision values. ​ However, using these values it is not in general possible to compute function values to this amount of accuracy. ​ For example, the difference of two large number that are nearly equal can be stored in a double but the result will not have 15 digits of accuracy. For this reason, solvers only get feasible with respect to some tolerance, say 1e-5.  They can sometimes do much better, but they are content to solve things to within the feasibility tolerance. ​ In your case MINOS, which is a pivotal method, was giving a much more precise answer than the interior point method used by CPLEX.  ​ 
- 
-Try using this CPLEX option file (cplex.opt):​ 
-<​code>​ barqcpepcomp = 1e-9 </​code>​ 
-and set ''​optfile=1''​ on the command line or in the parameter window of the IDE. 
- 
-This should increase the iterations CPLEX takes just a bit (the default value of 1e-7 is achieved more quickly) and give a more accurate solution. ​ You can push down even more but eventually CPLEX will not be able to achieve what you specify. ​ 
- 
-You may also try solving the model first with CPLEX to get a solution, then solving with PATHNLP to clean up the solution. ​  This also works with the solvers CONOPT and MINOS - all of these are pivotal methods that return more accurate solutions in this case.  And none of the "​cleanup"​ solves take very long when they start with the CPLEX solution as their initial point. 
  
IMPRESSUM / LEGAL NOTICEPRIVACY POLICY solver/improving_the_precision_of_the_interior_point_method.1187184783.txt.gz ยท Last modified: 2007/08/15 15:33 by 127.0.0.1