plasmo-dev / Plasmo.jl

A Platform for Scalable Modeling and Optimization
Other
150 stars 21 forks source link

More efficient OptiGraph backend #52

Closed jalving closed 2 years ago

jalving commented 2 years ago

The major piece of this PR is the development of a custom optigraph backend, as opposed to using a MOIU.CachingOptimizer. The main motivation for this is that since an optigraph model is defined by optinodes, it is more efficient to build the underlying optimization model directly as opposed to using a caching optimizer which introduces a superfluous extra modeling layer (i.e. nodes --> caching optimizer --> actual optimizer). The optinodes already act as a model cache which we use to build the backend model (i.e. nodes --> actual optimizer).

This PR also fixes a few things and increases test coverage.