Skip to main content

online-resource-scheduling

Design deterministic online scheduling policies from current observations. Use when assigning arriving work to limited resources without seeing future requests.

Informations de source

Dépôt
benchflow-ai/skillsbench
Dernière activité de la source
30 mai 2026 à 04:55
Langue détectée de SKILL.md
anglais
Étoiles
1 830
Forks
370

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
online-resource-scheduling
description
Design deterministic online scheduling policies from current observations. Use when assigning arriving work to limited resources without seeing future requests.
# Online Resource Scheduling Use this skill to build online schedulers that make deterministic decisions from the current observation only. ## Core Workflow Convert each observation into a temporary state, rank pending work, score feasible actions by weighted marginal cost, update the temporary state immediately, then replay the final action list before returning it. ```text actions = [] temporary_state = copy_resources(observation) for item in ranked_pending_items(observation): candidates = enumerate_feasible_actions(item, temporary_state) if not candidates: actions.append(defer_or_reject(item)) continue scored = [] for action in candidates: deltas = estimate_objective_deltas(action, temporary_state) score = sum(weights[k] * deltas[k] for k in deltas) scored.append((score, stable_tie_break(action), action)) chosen = min(scored)[-1] actions.append(chosen) apply(chosen, temporary_state) validate(actions, observation) return actions ``` ## Weighted Marginal Scoring When a task provides objective weights, use them to compare feasible actions. Avoid fixed rules such as "always first-fit", "always minimize fragmentation", or "always use the tightest slot". Those can be wrong when another objective component has a larger weighted effect. Suggested generic workflow: 1. Read visible objective weights. 2. For each pending item, enumerate feasible actions. 3. For each feasible action, estimate the change in each objective component. 4. Compute `weighted_marginal_score`. 5. Choose the feasible action with the lowest score. 6. Apply the action to temporary state before scoring later actions. ```text weighted_marginal_score = weight_1 * delta_component_1 + weight_2 * delta_component_2 + weight_3 * delta_component_3 + ... + deterministic_tie_break ``` Feasibility remains a hard filter. Only score feasible actions. Useful components might include resource activation cost, residual-capacity cost, waiting or lateness cost, rejection or unserved-work cost, and fragmentation or stranded-capacity cost. ## Unrelated Example In delivery planning, the shortest route is not always best. Suppose route distance has weight 1, but opening a new vehicle has weight 100. Sending a package on an already-open vehicle with 5 extra miles may be better than opening a new vehicle with only 1 extra mile: ```text weighted score = distance_weight * extra_distance + vehicle_weight * new_vehicle_used ``` The correct decision compares the weighted score, not distance alone. ## Practical Guidance - Use only information present in the current observation. - Prefer deterministic tie-breaking so repeated runs are reproducible. - If no feasible action exists, defer or reject rather than guessing. - Validate the complete action list, not just each action in isolation.
Voir sur GitHub