Description
This package comprises various algorithms for solving the Active Time Problem developed to this date. The following
table provides a list of the implemented algorithms available in the subpackage schedulers and the corresponding
articles where these algorithms were developed.
| Scheduler | Reference |
|---|---|
LazyActivationSchedulerNLogN |
"A model for minimizing active processor time" (Chang et al., 2012) |
LazyActivationSchedulerT |
"A model for minimizing active processor time" (Chang et al., 2012) |
MatchingScheduler |
"A model for minimizing active processor time" (Chang et al., 2012) |
DegreeConstrainedSubgraphScheduler |
"A model for minimizing active processor time" (Chang et al., 2012) |
GreedyScheduler |
"Brief announcement: A greedy 2 approximation for the active time problem" (Kumar and Khuller, 2018) |
GreedyIntervalsScheduler |
-- |
MinFeasScheduler |
"LP rounding and combinatorial algorithms for minimizing active and busy time" (Chang et al., 2017) |
GreedyLocalSearchScheduler |
"Brief announcement: A greedy 2 approximation for the active time problem" (Kumar and Khuller, 2018) |
GreedyLowestDensityFirstScheduler |
-- |
BruteForceScheduler |
Used for testing |
LinearProgrammingScheduler |
"A model for minimizing active processor time" (Chang et al., 2012) |
LinearProgrammingRoundedScheduler |
"LP rounding and combinatorial algorithms for minimizing active and busy time" (Chang et al., 2017) |
BatchScheduler |
"Optimal batch schedules for parallel machines" (Koehler and Khuller, 2013) |
Usage Examples
To create a job set, the subclasses of AbstractJobPool from the subpackage models are used. Different subclasses can be
to represent different properties for the jobs in them, for example FixedLengthJobPool demands a fixed length from its
jobs. The following example demonstrates the process of creating a job pool and adding a job to it:
from models import JobPool
job_pool = JobPool()
job_pool.add_job(release_time=5, deadline=8, duration=2)
To process the job pool, the subclasses of AbstractScheduler from the subpackage schedulers are used. To perform the
processing, the job pool should be passed into the process function. The result of the function is the computed job
schedule, which, if the problem instance is feasible, contains the information regarding the active time slots as well as
individual schedules:
from schedulers import FlowMethod, GreedyScheduler
scheduler = GreedyScheduler(FlowMethod.PREFLOW_PUSH)
schedule = scheduler.process(job_pool, max_concurrency=2)
Metadata
Release files for active-time-scheduling 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| active-time-scheduling-1.0.2.tar.gz | 21.0 kB | Without provenance | Details for active-time-scheduling-1.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| active_time_scheduling-1.0.2-py3-none-any.whl | Python 3 | none | any | Details for active_time_scheduling-1.0.2-py3-none-any.whl |
Total release size: 49.5 kB
Release files / active-time-scheduling-1.0.2.tar.gz
| Download URL | active-time-scheduling-1.0.2.tar.gz |
|---|---|
| Size | 21.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4fed043af4f72130889b183b6c67db1e245626311dee294f939de47ac9871b40
|
|
BLAKE2b-256 checksum How to use checksums |
53d1418e71ae7d2dbd692215fedff6faf0ff9f54d16de5c442f928b125669a2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.7
|
Release files / active_time_scheduling-1.0.2-py3-none-any.whl
| Download URL | active_time_scheduling-1.0.2-py3-none-any.whl |
|---|---|
| Size | 28.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e25577a78c845b160fe0799eb3bd1f6169059425418d4a98eca539c1ece65bb5
|
|
BLAKE2b-256 checksum How to use checksums |
57c45eaf1dfbcc1c5c1c4976add68e497b775223b9f070d461728d2db6d6fa24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.7
|
Security for active-time-scheduling 1.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.