task-assignment-problem
When the user wants to optimize task assignments, match workers to jobs, or solve assignment problems. Also use when the user mentions "Hungarian algorithm," "assignment optimization," "worker-task assignment," "job allocation," "resource assignment," or "matching problem." For workforce scheduling, see workforce-scheduling. For routing, see picker-routing-optimization.
npx skills add majiayu000/claude-skill-registry --skill task-assignment-problem-kishorkukreja-awesome-supply-chain --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Guides an AI agent to solve assignment and resource allocation problems, matching workers to tasks or tasks to resources to optimize objectives like minimizing cost or maximizing throughput. It covers several problem types (LAP, unbalanced, GAP, QAP, multi-objective) and provides concrete algorithmic approaches and examples.
How it works
- It starts with an initial assessment of the problem structure, objectives, constraints, and data availability.
- It outlines different Problem Types and their characteristics, including the Linear Assignment Problem, Bottleneck, Unbalanced, Generalized Assignment Problem, Quadratic Assignment Problem, and Multi-Objective Assignment.
- It provides mathematical formulations for Linear Assignment Problem and Generalized Assignment Problem, including decision variables, parameters, objective, and constraints.
- It presents specific algorithms:
- Hungarian Algorithm for LAP, including a Python example using SciPy's linear_sum_assignment and a sample cost matrix and worker/task lists.
- Greedy Assignment heuristic as a fast alternative with a simple implementation.
- GAP solution via a heuristic MILP approach using PuLP, with an example that builds a model, defines variables, constraints, and solves it.
- It describes Advanced Techniques such as Skills-Based Assignment and Dynamic Task Assignment with corresponding code sketches and explanations for handling constraints like skills, one-to-one mappings, and real-time task arrival.
- It includes example code blocks for each method, showing how to set up costs, tasks, workers, and constraints, and how to extract assignments and totals.
When to use it
Use when you need to optimally or near-optimally match workers to tasks, resources to jobs, or other one-to-one or constrained many-to-one allocations, especially when the user mentions Hungarian algorithm, assignment optimization, worker-task assignment, job allocation, resource assignment, or matching problem. For scheduling or routing tasks, follow related skills (workforce-scheduling, picker-routing-optimization).
What it can touch
- It references and uses tool/functionality such as Python code, numpy, scipy.optimize.linear_sum_assignment, PuLP, PULP_CBC_CMD, and pandas in examples. It also uses standard Python control structures and dictionary/data structures for costs, tasks, and workers.
Caveats
- License is MIT (as declared). The skill provides example code and heuristics that may be suboptimal for large or highly complex instances. Real deployments should validate model assumptions and scalability. It emphasizes that some solutions (e.g., greedy) are not optimal, and that GAP solutions rely on MILP solvers which may have performance considerations on larger datasets.
# Task Assignment Problem You are an expert in assignment optimization and resource allocation for operations and supply chain. Your goal is to help solve assignment problems that optimally match workers to tasks, resources to jobs, or any one-to-one or many-to-one allocation problem to minimize cost, maximize efficiency, or optimize another objective. ## Initial Assessment Before solving assignment problems, understand: 1. **Problem Structure** - What needs to be assigned? (workers, machines, trucks, slots) - What are they being assigned to? (tasks, orders, routes, locations) - One-to-one or many-to-one assignment? - Fixed number or variable assignments? - Assignment duration (one-time, recurring, permanent)? 2. **Objectives** - Minimize total cost? - Maximize efficiency or throughput? - Balance workload across resources? - Minimize completion time (makespan)? - Multiple objectives? 3. **Constraints** - Capacity limits (worker can handle max N tasks)? - Skills or qualifications required? - Precedence (some assignments must happen before others)? - Exclusions (certain assignments not allowed)? - Budget or resource limits? 4. **Data Availability** - Cost or benefit matrix? - Worker
- Initial Assessment
- Assignment Problem Framework
- Problem Types
- Mathematical Formulation
- Linear Assignment Problem
- Generalized Assignment Problem (GAP)
- Assignment Algorithms
- Hungarian Algorithm (Optimal for LAP)
- Greedy Assignment
- Generalized Assignment Problem (GAP) - Heuristic
- Advanced Assignment Techniques
- Skills-Based Assignment
- Dynamic Task Assignment
- Practical Assignment Applications
What does the task-assignment-problem skill do?
When the user wants to optimize task assignments, match workers to jobs, or solve assignment problems. Also use when the user mentions "Hungarian algorithm," "assignment optimization," "worker-task assignment," "job allocation," "resource assignment," or "matching problem." For workforce scheduling, see workforce-scheduling. For routing, see picker-routing-optimization.
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill task-assignment-problem-kishorkukreja-awesome-supply-chain --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
