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.

ソース情報

リポジトリ
benchflow-ai/skillsbench
ソースの最終更新活動
2026年5月30日 04:55
検出された SKILL.md の言語
英語
スター
1,830
フォーク
370

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
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.
GitHubで見る