Skip to main content

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

hots-0.1.4.tar.gz (40.2 kB view details)

Uploaded Source

Built Distribution

hots-0.1.4-py2.py3-none-any.whl (42.4 kB view details)

Uploaded Python 2 Python 3

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

Hashes for hots-0.1.4.tar.gz
Algorithm Hash digest
SHA256 83191daff4fc5d3b129941560d2057156bdafcd8dd713c39b3a3195b538455e4
MD5 d055450a08b9b8ac9d844a666da75a5f
BLAKE2b-256 a6691ebb57b2a873a958d83f59e0ead0463963d377c773e3ea3b6b279323275d

See more details on using hashes here.

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

Hashes for hots-0.1.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 923168b65e6ed26be8d15a6262832d6715248aec51daccf137c63787f23574bd
MD5 4a1a44c595034e77dcd213bd20a9aaa3
BLAKE2b-256 fd19c3849a650f5eeb356466421a6bae4c18615b41d86e761a23b0730ff6509b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page