Resource Allocation via Clustering
Project description
HOTS
Hybrid Optimization for Time Series
HOTS solves problems presented as time series using machine learning and optimization methods.
The library supports multiple resource related problems (placement, allocation), presented as one or more metrics.
Requirements for running HOTS
HOTS works on any platform with Python 3.8 and up.
The dev Python version must be used to install the package (for example install the package python3.10-dev in order to use Python 3.10).
A solver needs to be installed for using HOTS. By default, GLPK is installed with HOTS, but the user needs to install the following packages before using HOTS :
- libglpk-dev
- glpk-utils
Installing HOTS
A Makefile is provided, which creates a virtual environment and install HOTS. You can do :
make
Running HOTS
Via Python
The application can be used simply by running :
hots /path/to/data/folder
Make sure to activate the virtual environment before running HOTS with :
source venv/bin/activate
Some parameters can be defined with the hots
command, such as :
k
: the number of clusters used in clustering ;tau
: the window size during the loop process ;param
: a specific parameter file to use.
All the CLI options are found running the help
option :
hots --help
More parameters can be defined through a .JSON
file, for which an example is provided in the tests
folder. See the documentation, section User manual
, for more details about all the parameters.
Note that a test data is provided within the package, so you can easily test the installation with :
hots /tests/data/generated_7
Via Docker
A Docker container can be easily built for running hots
, using the Dockerfile
provided in the package.
If you are not used to Docker, you can follow the installation guideline here : https://docs.docker.com/engine/install/, and the post-install process here (Linux) : https://docs.docker.com/engine/install/linux-postinstall/.
As soon as Docker is setup, you can run the following commands (being at the root of the directory, with the Dockerfile) :
docker build -t hots .
Once the container is created, you can run it, by running the following :
docker run -it hots /bin/bash
You will be prompted to a new shell, in which you can follow the same steps as for Python.
Credits
Authors:
- Etienne Leclercq - Software design, lead developer
- Jonathan Rivalan - Product owner, Lead designer
- Marco Mariani
- Gilles Lenfant
- Soobash Daiboo
- Kang Du
- Amaury Sauret
- SMILE R&D
Links
License
This software is provided under the terms of the MIT license you can read in the LICENSE.txt
file of the repository or the package.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hots-0.1.4.tar.gz
.
File metadata
- Download URL: hots-0.1.4.tar.gz
- Upload date:
- Size: 40.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83191daff4fc5d3b129941560d2057156bdafcd8dd713c39b3a3195b538455e4 |
|
MD5 | d055450a08b9b8ac9d844a666da75a5f |
|
BLAKE2b-256 | a6691ebb57b2a873a958d83f59e0ead0463963d377c773e3ea3b6b279323275d |
File details
Details for the file hots-0.1.4-py2.py3-none-any.whl
.
File metadata
- Download URL: hots-0.1.4-py2.py3-none-any.whl
- Upload date:
- Size: 42.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 923168b65e6ed26be8d15a6262832d6715248aec51daccf137c63787f23574bd |
|
MD5 | 4a1a44c595034e77dcd213bd20a9aaa3 |
|
BLAKE2b-256 | fd19c3849a650f5eeb356466421a6bae4c18615b41d86e761a23b0730ff6509b |