scorecompute✳
← All engines

RUST ENGINE / optimize_tasks

Exact task selection under a time budget

Select the highest-value combination of independent tasks under an integer time budget using an exact Rust knapsack solver.

Try the live calculation ↗Connect an AI assistant →

How it works

This is a bounded 0/1 knapsack problem: each task can be selected once. Dynamic programming searches the value achievable at each integer budget. The result is optimal for the supplied values and constraints.

Inputs and units

Provide a budget of 1 to 1,440 minutes and up to 32 tasks, each with a name, integer duration and non-negative value.

What the result contains

The selected tasks, their total duration and total value can be passed directly to the schedule simulator. Assistants can call both tools independently; the optional native mission composer validates this handoff internally and compares bounded candidate selections.

Example MCP call

{
  "name": "optimize_tasks",
  "arguments": {
    "budget": 120,
    "items": [
      {
        "name": "Build prototype",
        "duration": 60,
        "value": 90
      },
      {
        "name": "Run checks",
        "duration": 30,
        "value": 60
      },
      {
        "name": "Write documentation",
        "duration": 45,
        "value": 50
      }
    ]
  }
}

Send this tool name and arguments through a connected MCP client. Discover the authoritative input schema with tools/list.

Execution and availability

ScoreCompute exposes this tool through MCP Streamable HTTP. Rust computation runs on a connected worker; the public website and MCP gateway run separately. CUDA is implemented for simulate_pi; the other tools currently run on CPU. Requests are bounded and concurrent work may be refused when capacity is occupied.

Record inputs, assumptions and returned provenance when sharing a result. The public observatory displays software client names and tool activity, without publishing calculation arguments or results.

Explore another engine →Agent-readable overview ↗