[petsc-users] Integrating TAO into SNES and TS

Barry Smith bsmith at mcs.anl.gov
Thu Apr 2 18:53:04 CDT 2015


  An alternative approach is for you to solve it as a (non)linear variational inequality. See src/snes/examples/tutorials/ex9.c 

  How you should proceed depends on your long term goal. What problem do you really want to solve? Is it really a linear time dependent problem with 0 bounds on U? Can the problem always be represented as an optimization problem easily? What are  and what will be the properties of K? For example if K is positive definite then likely the bounds will remain try without explicitly providing the constraints. 

  Barry

> On Apr 2, 2015, at 6:39 PM, Justin Chang <jchang27 at uh.edu> wrote:
> 
> Hi everyone,
> 
> I have a two part question regarding the integration of the following optimization problem
> 
> min 1/2 u^T*K*u + u^T*f
> S.T. u >= 0
> 
> into SNES and TS
> 
> 1) For SNES, assuming I am working with a linear FE equation, I have the following algorithm/steps for solving my problem
> 
> a) Set an initial guess x
> b) Obtain residual r and jacobian A through functions SNESComputeFunction() and SNESComputeJacobian() respectively
> c) Form vector b = r - A*x
> d) Set Hessian equal to A, gradient to A*x, objective function value to 1/2*x^T*A*x + x^T*b, and variable (lower) bounds to a zero vector
> e) Call TaoSolve
> 
> This works well at the moment, but my question is there a more "efficient" way of doing this? Because with my current setup, I am making a rather bold assumption that my problem would converge in one SNES iteration without the bounded constraints and does not have any unexpected nonlinearities.
> 
> 2) How would I go about doing the above for time-stepping problems? At each time step, I want to solve a convex optimization subject to the lower bounds constraint. I plan on using backward euler and my resulting jacobian should still be compatible with the above optimization problem.
> 
> Thanks,
> 
> -- 
> Justin Chang
> PhD Candidate, Civil Engineering - Computational Sciences
> University of Houston, Department of Civil and Environmental Engineering
> Houston, TX 77004
> (512) 963-3262



More information about the petsc-users mailing list