routing-subtour-elimination

routing-subtour-elimination is a skill for Claude Code, Codex from Raidriar7170/hermes-skilleval. It costs 70 tokens per session (2,140 once invoked), scanned A, a copy of routing-subtour-elimination, MIT.

A guide to preventing disconnected loops in vehicle-routing and traveling-salesperson models. A subtour is a smaller closed route that is not connected to the main depot route.

In plain words
What is it for?
It is for adding subtour-elimination constraints such as MTZ, flow-based, DFJ, or iterative cuts to routing optimization models.
Why use it?
Basic route constraints can accidentally allow vehicles to serve a separate cycle of stops, producing an invalid route.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit It is for adding subtour-elimination constraints such as MTZ, flow-based, DFJ, or iterative cuts to routing optimization models.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/raidriar7170/hermes-skilleval/skillsbench__routing-subtour-elimination
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Raidriar7170/hermes-skilleval --skill skillsbench__routing-subtour-elimination
Clone the repo
git clone --depth 1 https://github.com/Raidriar7170/hermes-skilleval

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for routing-subtour-elimination

README.md
[![agentmods](https://agentmods.dev/badge/skills/raidriar7170/hermes-skilleval/skillsbench__routing-subtour-elimination/github.svg)](https://agentmods.dev/skills/raidriar7170/hermes-skilleval/skillsbench__routing-subtour-elimination)
Your own site
<a href="https://agentmods.dev/skills/raidriar7170/hermes-skilleval/skillsbench__routing-subtour-elimination"><img src="https://agentmods.dev/badge/skills/raidriar7170/hermes-skilleval/skillsbench__routing-subtour-elimination/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for routing-subtour-elimination

Your own site · 80×15
<a href="https://agentmods.dev/skills/raidriar7170/hermes-skilleval/skillsbench__routing-subtour-elimination"><img src="https://agentmods.dev/badge/skills/raidriar7170/hermes-skilleval/skillsbench__routing-subtour-elimination.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 70 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,140 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00070 $0.02140
Opus 5 $0.00035 $0.01070
Sonnet 5 $0.00014 $0.00428
Haiku 4.5 $0.00007 $0.00214

Measured 13d ago against content hash 211306948184, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

routing-subtour-elimination scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to routing-subtour-elimination — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

artifacts/v0.3/skillsbench-pilot/v0.3-stage2-input-package-candidate-20260701T010000Z/candidate-data/skill-sources/skillsbench__routing-subtour-elimination/SKILL.md · 256 lines

How it starts

The opening of the file, as written. The whole thing — 256 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Routing Subtour Elimination

In routing MIPs, degree and continuity constraints are not enough. A vehicle can have one depot-to-depot path and a separate closed cycle among stations. Add subtour-elimination constraints whenever binary arc variables decide routes.

Use this base notation:

START = "depot_start"
END = "depot_end"
vehicles = range(K)
stations = range(n)
from_nodes = [START, *stations]
to_nodes = [*stations, END]
arcs = [(i, j) for i in from_nodes for j in to_nodes if i != j and not (i == START and j == END)]

x = {(v, i, j): model.addVar(vtype="B", name=f"x_{v}_{i}_{j}") for v in vehicles for i, j in arcs}

Required Base Route Constraints

Subtour elimination assumes each selected station has matching inbound and outbound route arcs.

for v in vehicles:
    model.addCons(quicksum(x[v, START, j] for j in stations) == 1)
    model.addCons(quicksum(x[v, i, END] for i in stations) == 1)

    for i in stations:
        incoming = quicksum(x[v, j, i] for j in from_nodes if j != i)
        outgoing = quicksum(x[v, i, j] for j in to_nodes if j != i)
        model.addCons(incoming == outgoing)
        model.addCons(outgoing <= 1)

The subtour methods below prevent station-only cycles that are disconnected from START.

1. MTZ Order Constraints

MTZ adds an order variable for each vehicle-station pair. If vehicle v travels from station i to station j, then order[v, j] must be greater than order[v, i].

order = {
    (v, i): model.addVar(vtype="C", lb=1, ub=max(1, n), name=f"order_{v}_{i}")
    for v in vehicles
    for i in stations
}

for v in vehicles:
    for i in stations:
        for j in stations:
            if i != j:
                model.addCons(order[v, i] - order[v, j] + n * x[v, i, j] <= n - 1)

Pros:

  • Compact: O(K n^2) constraints and O(K n) extra variables.
  • Easy to implement in common Python optimization APIs.
  • Good default for small and medium benchmark instances.

Cons:

  • LP relaxation is weak compared with cutset or flow formulations.
  • Can be slow for larger VRPs.
  • Order variables are artificial; do not interpret them as service times unless you also model time.

Read the full file on GitHub · 256 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 13d ago First seen · 256 lines · 70 tokens per session scan A 211306948184

Subscribe to this mod's changes

routing-subtour-elimination is a skill published in the GitHub repository Raidriar7170/hermes-skilleval (123 stars, last pushed 1mo ago), licensed MIT. It adds 70 tokens to every session and 2,140 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to routing-subtour-elimination, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

fba-simulator

Run Flux Balance Analysis (FBA) and related constraint-based simulations using COBRApy. Covers standard FBA, parsimonious FBA (pFBA), Flux Variability Analysis (FVA), loopless FBA, gene/reaction knockouts, and carbon source swapping. Outputs flux distributions and CSV files.

aiming-lab/AutoResearchClaw · 69 tokens

gsmm-validator

Validate a COBRApy genome-scale metabolic model for mass/charge balance, stoichiometric consistency, biomass producibility, dead-end metabolites, thermodynamic loops, and GPR rule formatting. Outputs a structured validation report with errors and warnings.

aiming-lab/AutoResearchClaw · 52 tokens

gsmm-builder

Build or load a genome-scale metabolic model (GSMM) using COBRApy. Covers loading from BIGG, constructing minimal models from scratch, setting medium constraints, and exporting validated .json model files.

aiming-lab/AutoResearchClaw · 45 tokens

stat-result-validator

Validate statistical research outputs for formulation quality, method-to- problem alignment, theory presence, experimental evidence, fair comparison, artifact completeness, and final-claim consistency.

aiming-lab/AutoResearchClaw · 36 tokens

meta-analysis

Statistical methods for combining results across multiple studies. Use when aggregating cross-study or cross-experiment results.

aiming-lab/AutoResearchClaw · 25 tokens

mixed-precision

Use FP16/BF16 mixed precision to accelerate training and reduce memory. Use when optimizing GPU performance.

aiming-lab/AutoResearchClaw · 25 tokens