跳到正文
FunCoding

online-resource-scheduling

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

Star
1,842
分类
其他
许可证
Apache-2.0
最近提交
2026年7月24日

tasks-extra/gpu-cluster-online-scheduling/environment/skills/online-resource-scheduling/SKILL.md

在 GitHub 上查看

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.

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.
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:

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.

相似的 Skill

claude-handoff

MAmattpocock/skills288k近 7 天新增 10,178 个 star

agent-payment-x402

AFaffaan-m/ECC278k近 7 天新增 4,046 个 star

agent-self-evaluation

AFaffaan-m/ECC278k近 7 天新增 4,046 个 star

bengali-nlp

AFaffaan-m/ECC278k近 7 天新增 4,046 个 star

ponytail-gain

DIDietrichGebert/ponytail162k近 7 天新增 5,405 个 star

ponytail-debt

DIDietrichGebert/ponytail162k近 7 天新增 5,405 个 star