[petsc-dev] Semi-smooth VI solver and matrix-free SNES
Jason Sarich
sarich at mcs.anl.gov
Fri Aug 1 10:52:46 CDT 2014
The ssfls and asfls solvers respect feasibility, ssils and asils do not
(the 'f' stands for feasibility, 'i' for infeasibility)
ssfls - semismooth, feasible, with line search
asfls - active set semismooth, feasible, with line search
On Fri, Aug 1, 2014 at 10:45 AM, Karpeyev, Dmitry Aleksandrovich <
karpeev at mcs.anl.gov> wrote:
> Todd,
>
> What's the semi-smooth version in TAO that respect the bounds at the
> iterates?
> Maybe that would be a good place to attempt a unification with SNESVI.
>
> The current implementation could benefit from refactoring to enable more
> composability:
> could we use a VIRS method inside VISS and allow for a user-defined active
> set definition/projection?
> Then a bound-respecting VISS would be a combination of the current VISS
> and VIRS, potentially
> controllable from the command line.
>
> The same goes for the linesearch: Armijo would be another
> SNESLineSearch type that could be turned on on demand.
> Finally, perhaps we could enable composition of DM(SNES) objects? Then
> wrapping projection onto bounds around residual/Jacobian evaluation
> routines would be a composition of two DM(SNES) objects. Right now
> something along those lines takes place in VIRS where an RS DM is
> "composed" with the full space DM, although this composition is
> currently ad hoc.
>
> Dmitry.
>
>
> On Fri, Aug 1, 2014 at 9:35 AM, Munson, Todd S. <tmunson at mcs.anl.gov>
> wrote:
>
>>
>> Possibly it can be taken out; don't have time to go through the details
>> today though.
>>
>> Regarding feasibility, there are feasible versions that respect the
>> bounds in TAO
>> as well as infeasible versions that only respect the bounds at the
>> solution.
>>
>> Todd.
>>
>> On Aug 1, 2014, at 10:02 AM, Dmitry Karpeyev <karpeev at mcs.anl.gov> wrote:
>>
>> > Currently the semi-smooth VI solver (VINEWTONSSLS) doesn't play well
>> with the matrix-free SNES (aka JFNK). This is partly because the
>> calculation of the merit function gradient requires the action of the
>> transpose of the Jacobian, which isn't implemented for MATMFFD.
>> Presumably, the merit function would be used in a fancy (Armijo?) line
>> search as described here: http://arxiv.org/abs/math/0307305. However,
>> it appears that only a basic line search is performed and the merit
>> function gradient isn't used. Should the merit gradient calculation be
>> taken out?
>> >
>> > This fix might not be enough to make the SS method work with JFNK,
>> however: the line search
>> > there isn't projected, so MatMFFD might have an infeasible base at some
>> iterates. This might break residual evaluation (e.g., due to negative
>> densities). More importantly, however, even if the intermediate iterates
>> were feasible, the increments used in the MatMFFD differencing algorithm
>> might not be, and there is really no way around it with something like
>> projection without breaking the semantics of MatMult. Is VINEWTONSSLS
>> unusable with JFNK in its current form? In any event, should the Armijo
>> line search be implemented?
>> >
>> > Dmitry.
>> >
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20140801/c0eb102c/attachment.html>
More information about the petsc-dev
mailing list