[petsc-dev] TAOPDIPM

Dener, Alp adener at anl.gov
Tue Aug 4 12:30:23 CDT 2020


Hi Pierre,

This is indeed an issue with TAO default tolerances.

Specifically it has to do with constraint tolerances. The default value is an exact zero.

The problem should still work with line 89 commented out. Our default gradient tolerance is 1e-8. In your case, commenting out line 90 is causing the solver to try to converge constraints to exact zero and it cannot.

I will get a patch out for this within the week but in the meantime please ensure that the constraint tolerances are set for any constrained problem.

Thank you!
—
Alp

> On Aug 4, 2020, at 12:24 PM, Munson, Todd via petsc-dev <petsc-dev at mcs.anl.gov> wrote:
> 
> 
> Hi Pierre,
> 
> I would say the answer to that question is "no, its not expected".  
> 
> We will look into fixing it.  It seems like the default tolerances are being set to zero and the result is an inability to satisfy the constraints or gradient of the Lagrangian to that small of a tolerance.
> 
> Thanks for point this out to us!  We will get it resolved.
> 
> Thanks, Todd.
> 
> On 8/4/20, 12:12 PM, "petsc-dev on behalf of Pierre Jolivet" <petsc-dev-bounces at mcs.anl.gov on behalf of pierre.jolivet at enseeiht.fr> wrote:
> 
>    Hello,
>    If I comment line 89 and 90 of src/tao/constrained/tutorials/ex1.c from master, the example deadlocks with a single process.
>    Is this expected?
> 
>    Thanks,
>    Pierre
> 
>    $  ./ex1 -tao_monitor
>    ---- Constrained Problem -----
>    Solution should be f(1,1)=-2
>      0 TAO,  Function value: 8.,  Residual: 8.48528
>      1 TAO,  Function value: 1.28532,  Residual: 10.7411
>      2 TAO,  Function value: -2.56703,  Residual: 1.87847
>      3 TAO,  Function value: -2.03161,  Residual: 0.12881
>      4 TAO,  Function value: -1.99961,  Residual: 0.0450855
>      5 TAO,  Function value: -1.99993,  Residual: 0.000916939
>      6 TAO,  Function value: -1.99999,  Residual: 6.69184e-05
>      7 TAO,  Function value: -2.,  Residual: 7.15427e-06
>      8 TAO,  Function value: -2.,  Residual: 7.15779e-07
>      9 TAO,  Function value: -2.,  Residual: 7.15777e-08
>     10 TAO,  Function value: -2.,  Residual: 7.15777e-09
>     11 TAO,  Function value: -2.,  Residual: 7.15779e-10
>     12 TAO,  Function value: -2.,  Residual: 7.15775e-11
>     13 TAO,  Function value: -2.,  Residual: 7.1599e-12
>     14 TAO,  Function value: -2.,  Residual: 7.1599e-13
>     15 TAO,  Function value: -2.,  Residual: 7.22085e-14
>     16 TAO,  Function value: -2.,  Residual: 6.44626e-15
>     17 TAO,  Function value: -2.,  Residual: 1.00751e-15
>     18 TAO,  Function value: -2.,  Residual: 1.70295e-17
>     19 TAO,  Function value: -2.,  Residual: 1.70295e-18
>     20 TAO,  Function value: -2.,  Residual: 1.70295e-19
>     21 TAO,  Function value: -2.,  Residual: 1.70295e-20
>     22 TAO,  Function value: -2.,  Residual: 1.70295e-21
>     23 TAO,  Function value: -2.,  Residual: 1.70295e-22
>     24 TAO,  Function value: -2.,  Residual: 1.70295e-23
>     25 TAO,  Function value: -2.,  Residual: 1.70295e-24
>     26 TAO,  Function value: -2.,  Residual: 1.70295e-25
>     27 TAO,  Function value: -2.,  Residual: 1.70295e-26
>     28 TAO,  Function value: -2.,  Residual: 1.70295e-27
>     29 TAO,  Function value: -2.,  Residual: 1.70295e-28
>     30 TAO,  Function value: -2.,  Residual: 1.70295e-29
>     31 TAO,  Function value: -2.,  Residual: 1.70295e-30
>     32 TAO,  Function value: -2.,  Residual: 1.70295e-31
>     33 TAO,  Function value: -2.,  Residual: 1.70295e-32
>     34 TAO,  Function value: -2.,  Residual: 1.70295e-33
>     35 TAO,  Function value: -2.,  Residual: 1.70295e-34
>     36 TAO,  Function value: -2.,  Residual: 1.70295e-35
>     37 TAO,  Function value: -2.,  Residual: 1.70295e-36
>     38 TAO,  Function value: -2.,  Residual: 1.70295e-37
>     39 TAO,  Function value: -2.,  Residual: 1.70295e-38
>     40 TAO,  Function value: -2.,  Residual: 1.70295e-39
>     41 TAO,  Function value: -2.,  Residual: 1.70295e-40
>     42 TAO,  Function value: -2.,  Residual: 1.70295e-41
>     43 TAO,  Function value: -2.,  Residual: 1.70295e-42
>     44 TAO,  Function value: -2.,  Residual: 1.70295e-43
>     45 TAO,  Function value: -2.,  Residual: 1.70295e-44
>     46 TAO,  Function value: -2.,  Residual: 1.70295e-45
>     47 TAO,  Function value: -2.,  Residual: 1.70295e-46
>     48 TAO,  Function value: -2.,  Residual: 1.70295e-47
>     49 TAO,  Function value: -2.,  Residual: 1.70295e-48
>     50 TAO,  Function value: -2.,  Residual: 1.70295e-49
>     51 TAO,  Function value: -2.,  Residual: 1.70295e-50
>     52 TAO,  Function value: -2.,  Residual: 1.70295e-51
>    ^C
> 



More information about the petsc-dev mailing list