Question about examples
parfenyev opened this issue · 3 comments
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:
- For the set of parameters specified in the example, the solver gives a value
U=5.82
, but returns a codepdINF
, which means that the solution is expected to be infeasible. How can we trust such a result? - For the
degPvals=10
I found a strange behavior. For most of the runs the solver founds only the trivial resultU=0
, but for about 10% of runs it foundsU=5.09
(with the same starting parameters). So, the output of the solver is stochastic. If we change parametersopts.sdpa_gmp.epsilonDash = 1.0e-20
andopts.sdpa_gmp.precision = 150
then the result becomes stable, but the return code is stillpdINF
. - 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?
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
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?
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!