Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Matrix/Vector Representations #1159

Closed
whart222 opened this issue Nov 7, 2019 · 1 comment
Closed

Matrix/Vector Representations #1159

whart222 opened this issue Nov 7, 2019 · 1 comment

Comments

@whart222
Copy link
Member

whart222 commented Nov 7, 2019

The key idea is to extend Pyomo's representation system to enable the expression of matrix/vector representations. While this does not improve the efficiency of Pyomo's core expression system, it would offer users an alternative that is likely more performant. Generally, Matrix/Vector expressions would be smaller, and hence the operations needed to canonicalize them would be a smaller burden when interfacing with solvers.

Note that this we have a preliminary Matrix representation in Pyomo kernel. However, a key element of this approach would be to define a Vector representation for parameters and variables. Or to define a convention for using Pyomo's existing Variable/Parameter objects in that manner. But for the hackathon our goal should be to demonstrate the potential performance win.

NOTE: I think it would make sense to include the use of numpy matrix/vector data and scipy.sparse matrix/vector data in our performance hacking. Many users will naturally gravitate to the use of these data formats, and thus I think it would be a mistake to limit the scope of this activity to custom matrix/vector objects.

Related Issues: #685 #468 #31 #87

@jsiirola
Copy link
Member

jsiirola commented May 8, 2020

Archived on the master Performance Proposals Issue (#1430). Closing this performance proposal until active development has begun.

@jsiirola jsiirola closed this as completed May 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants