PSORLab / EAGO.jl

A development environment for robust and global optimization
MIT License
140 stars 16 forks source link

Exploit sparsity in relaxations of nonlinear expressions #37

Closed mewilhel closed 4 years ago

mewilhel commented 4 years ago

Currently EAGO when provided a problem in containing m nonlinear variables will use subgradients of size m in all nonlinear expressions. We currently get sparsity information from the nonlinear structures when translating the JuMP.NLPEvaluator to the EAGO.Evaluator, so it would make sense to use MC{2,NS} objects when computing a two-variable nonlinear term and then using grad_sparsity values for unpack this to the appropriate components of the subgradient.

mewilhel commented 4 years ago

From v0.4 onward each nonlinear function now has it's own sparsity and constructs subgradients using this. Within function sparsity remains a potential area for improvement as does potentially implementing a reverse-mode subgradient propagation.