Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
active-time-scheduling
Advanced tools
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) |
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)
FAQs
A collection of methods for Active Time Problem
We found that active-time-scheduling demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.