Hi, http://www.juliaopt.org/JuMP.jl/0.14/nlp.html#querying-derivatives-from-a-jump-model where only :Grad is requested. My understanding is that that means other features are simply not available, e.g., evaluating the Jacobian or Hessian. That seems to be correct regarding the Hessian:
but JuMP seems happy trying to set up the Jacobian structure:
(the problem I link to above doesn't have constraints but the same happens with a constrained problem). In fact:
What am I missing? Thanks! You received this message because you are subscribed to the Google Groups "julia-opt" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. Visit this group at https://groups.google.com/group/julia-opt. For more options, visit https://groups.google.com/d/optout. |
It's not a bug if a feature is available even when you don't ask for it, it's just behavior that you shouldn't rely on. features_available is meant to be called before initialize to find out which features you're allowed to request. See the example in Ipopt: https://github.com/JuliaOpt/Ipopt.jl/blob/41b1e7010a2ed92e1f21cec7df6195b581d5707a/src/IpoptSolverInterface.jl#L38.
-- On Saturday, October 22, 2016 at 7:30:21 PM UTC-4, Dominique Orban wrote:
You received this message because you are subscribed to the Google Groups "julia-opt" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. Visit this group at https://groups.google.com/group/julia-opt. For more options, visit https://groups.google.com/d/optout. |
Thanks. I can see the logic behind the IPOPT example. I was interested in using the features the other way around. The model
-- https://github.com/JuliaSmoothOptimizers/OptimizationProblems.jl/blob/master/src/penalty2.jl takes ages to "build" for large values of n (e.g., n=5000) if :Hess is in requested_features, but goes pretty fast if I only request :HessVec. I now realize that was not the intended purpose of the features?! If not, is there any interest in supporting such usage? It seems quite crucial to very large scale models that can't realistically be solved by factorization-based methods. On Saturday, October 22, 2016 at 8:37:33 PM UTC-4, Miles Lubin wrote:
You received this message because you are subscribed to the Google Groups "julia-opt" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. Visit this group at https://groups.google.com/group/julia-opt. For more options, visit https://groups.google.com/d/optout. |
You can certainly avoid asking for Hess if you know that it's slow for a particular model. It looks like that model has a fully dense hessian, which JuMP hasn't been optimized for (we could skip the coloring step). (As an experiment you might try computing the full hessian by doing the n HessVec products.) We've had some discussions about being able to estimate the time it might take to compute a hessian with different methods, but at the moment there's no way for you to query a JuMP model to ask how expensive the hessian might be.
-- On Saturday, October 22, 2016 at 9:08:28 PM UTC-4, Dominique Orban wrote:
You received this message because you are subscribed to the Google Groups "julia-opt" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. Visit this group at https://groups.google.com/group/julia-opt. For more options, visit https://groups.google.com/d/optout. |
In fact I don't need the Hessian, only Hessian-vector products. So I'm happy if the Hessian coloring is skipped if I leave :Hess out of the requested features. Thanks.
-- On Saturday, October 22, 2016 at 9:34:29 PM UTC-4, Miles Lubin wrote:
You received this message because you are subscribed to the Google Groups "julia-opt" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. Visit this group at https://groups.google.com/group/julia-opt. For more options, visit https://groups.google.com/d/optout. |
You may assume that is the case. You received this message because you are subscribed to the Google Groups "julia-opt" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. Visit this group at https://groups.google.com/group/julia-opt. For more options, visit https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |