-
Notifications
You must be signed in to change notification settings - Fork 135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Solver returned SCS_SOLVED with an objective close to 0.0 with wrong results #191
Comments
First, thankyou for submitting a nicely detailed issue! The first thing I did was run the data you sent on my machine (Mac OSX laptop). As you can see below I get somewhat different behavior. Does the optimal objective of about 7.63 look right? If so, then it is likely that the problem is architecture specific. I did run for longer and the solver was having trouble reducing the primal residual by more than that, so there could be a bug, but more likely there is some numerical issue preventing tighter accuracy. I wonder if there is some problem running on a Tegra X2 / aarch64, which I don't think we have tested on. It might be worth creating a github action to run on non x86 architectures.
|
Oh, and I presume you weren't running on the GPU? |
An objective of 7.63 sounds reasonable. Might it be the compilation flags that are used? Or due to differences in the BLAS/Lapack libraries? I remember modifying scs.mk to link with the Blas libraries that are shipped with the TX2. I'm not using GPU. Only the library scs direct is used to run the attached test cases. |
Yes, it may well be due to the BLAS libraries. The only place where it is used for your problem is the acceleration, which you can disable by setting
|
I'm solving a series of second-order cone programs that are pretty small (<100 unknowns and constraints), and noticed that sometimes the solver returns an SCS_SOLVED status with an objective that is really close to 0.0 (sometimes slightly negative), which does not seem to make sense as my problems are over-determined. The typical objective values for well-behaved problem are around 10-100. The results are also wrong when used in calculations within my model. Here is a Dropbox link to the data dump and logs of 4 such scenarios.
Thank you.
The text was updated successfully, but these errors were encountered: