Skip to content
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

Question about examples #4

Open
parfenyev opened this issue Oct 11, 2022 · 3 comments
Open

Question about examples #4

parfenyev opened this issue Oct 11, 2022 · 3 comments

Comments

@parfenyev
Copy link

Hello everyone!

I am looking through Van Der Pol example and try to increase the value of degPvals up to 12 as was done in the arXiv paper. I have several questions:

  1. For the set of parameters specified in the example, the solver gives a value U=5.82, but returns a code pdINF, which means that the solution is expected to be infeasible. How can we trust such a result?
  2. For the degPvals=10 I found a strange behavior. For most of the runs the solver founds only the trivial result U=0, but for about 10% of runs it founds U=5.09 (with the same starting parameters). So, the output of the solver is stochastic. If we change parameters opts.sdpa_gmp.epsilonDash = 1.0e-20 and opts.sdpa_gmp.precision = 150 then the result becomes stable, but the return code is still pdINF.
  3. For degPvals=12 , opts.sdpa_gmp.epsilonDash = 1.0e-20, opts.sdpa_gmp.precision = 150 the matlab stops working after the solver run.

Is this all expected behavior or may be there are some problems related to the fact that I use sdpa_gmp on Windows? If everything is OK, so what is the trick? How we can get robust estimates for degPvals=12? @giofantuzzi could you comment, please?

@giofantuzzi
Copy link
Member

Hi @parfenyev,

Thanks for your message. Unfortunately I cannot replicate your issue: on my machine, the example with default parameters returns U=5.82 with status pdOPT (see the attached log file). For degPvals=10 I consistently find U=5.02, again with status pdOPT. I ran these tests on a Linux machine with MATLAB R2022a.

I suggest checking if you installed sdpa-gmp correctly. Does the solver run correctly if you call it directly from the command line?

If not, you should contact the SDPA-GMP developers directly, as mpYALMIP is meant to simply write the solver input files and read them back into MATLAB.

I hope this helps,
Giovanni
default-output.txt

@parfenyev
Copy link
Author

Thank you for the answer, @giofantuzzi. I can run the solver from the command line. Also, when I have updated gmp from 6.1.2 to 6.2.1 I started to get pdOPT status for default parameters and degPvals=6.

Which parameters (precision and epsilonDash) do you use for degPvals=10 to consistently find U=5.02? What version of gmp is installed on your machine?

@giofantuzzi
Copy link
Member

Hi @parfenyev,

Here is my setup:
GMP v6.2.1
SDPA-GMP v7.1.3

The parameters file on my machine reads

200     unsigned int    maxIteration;           
1e-25     double          0.0 < epsilonStar;      
1000000     double          0.0 < lambdaStar;       
2     double          1.0 < omegaStar;        
-1e+25     double          lowerBound;             
1e+25     double          upperBound;             
0.1     double          0.0 <= betaStar <  1.0; 
0.2     double          0.0 <= betaBar  <  1.0, betaStar <= betaBar;
0.7     double          0.0 < gammaStar <  1.0; 
1e-10     double          0.0 < epsilonDash;      
100     precision

Hope this helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants