Smoothed Online Convex Optimization (SOCO) is the problem of choosing a sequence of points in some decision space minimizing a hitting cost which is paid for choosing a point and which changes in-between rounds as well as a movement cost that is paid for movement in the decision space.
Thus, SOCO can be understood as online convex optimization with an additional smoothing element.
A special focus of this work is the application to the dynamic right-sizing of data centers.
Thesis, Presentation (with animations), Documentation
The following is a result of my undergraduate thesis work at TUM under the supervision of Prof. Dr. Susanne Albers and advised by Jens Quedenfeld.
The top-level folders are described as follows:
folder | description |
---|---|
analysis |
empirical evaluation of the implemented algorithms in the application of dynamically right-sizing data centers |
implementation |
implementation of the algorithms |
thesis |
source files of the thesis and the presentation |
The implementation can mainly be broken down into three separate parts.
To achieve optimal performance, everything is implemented in Rust and heavily parallelized. Python bindings are included to interface with the streaming and data center model components.
The Rust crate is contained in the implementation
directory. See the relevant development section there.
The analysis
directory contains the case studies with real-world data. It requires the Python bindings for the soco
crate.
See the relevant prerequisites section for more information.
We warmly welcome everyone who is intersted in contributing. Please reference our Code of Conduct.
Here you can find details on all past releases. Unreleased breaking changes that are on the current master can be found here.
acts_as_favoritor follows Semantic Versioning 2.0 as defined at http://semver.org. Reference the security policy.
CHANGELOG.md
.implementation/Cargo.toml
.CHANGELOG.md
.main
.main
since the last release.