Linear programming skill for resource allocation, scheduling, and optimization problems
Solves linear programming problems for optimization, resource allocation, and scheduling with sensitivity analysis.
npx claudepluginhub a5c-ai/babysitterThis skill is limited to using the following tools:
The Linear Programming Solver skill provides comprehensive capabilities for formulating and solving linear optimization problems. It supports resource allocation, production planning, scheduling, and other business optimization challenges through efficient solver integration and solution analysis.
# Define LP problem
lp_problem = {
"name": "Production Planning",
"sense": "maximize", # or "minimize"
"decision_variables": {
"product_A": {"type": "continuous", "lower_bound": 0, "upper_bound": 1000},
"product_B": {"type": "continuous", "lower_bound": 0, "upper_bound": 800},
"product_C": {"type": "integer", "lower_bound": 0} # integer variable
},
"objective": {
"expression": "50*product_A + 40*product_B + 60*product_C",
"description": "Maximize total profit"
},
"constraints": [
{
"name": "labor_hours",
"expression": "2*product_A + 3*product_B + 4*product_C <= 2400",
"description": "Total labor hours available"
},
{
"name": "machine_time",
"expression": "3*product_A + 2*product_B + 3*product_C <= 2000",
"description": "Machine time capacity"
},
{
"name": "raw_material",
"expression": "product_A + product_B + product_C <= 1200",
"description": "Raw material availability"
},
{
"name": "demand_A",
"expression": "product_A >= 100",
"description": "Minimum demand for product A"
}
]
}
# Solver settings
solver_config = {
"solver": "CBC", # or "GLPK", "CPLEX", "GUROBI"
"time_limit": 300, # seconds
"mip_gap": 0.01, # 1% optimality gap for MIP
"threads": 4,
"presolve": True,
"cuts": "automatic"
}
# Request sensitivity information
sensitivity_config = {
"shadow_prices": True,
"reduced_costs": True,
"allowable_ranges": True,
"what_if": [
{"constraint": "labor_hours", "change": 100},
{"objective_coeff": "product_A", "change": 5}
]
}
| Problem Type | Objective | Key Constraints |
|---|---|---|
| Production Planning | Maximize profit | Capacity, demand |
| Transportation | Minimize cost | Supply, demand |
| Assignment | Minimize cost/time | One-to-one matching |
| Blending | Minimize cost | Quality specs, availability |
| Network Flow | Min cost/max flow | Flow balance, capacity |
| Portfolio | Maximize return | Risk, budget, diversification |
{
"problem_definition": {
"name": "string",
"sense": "maximize|minimize",
"decision_variables": "object",
"objective": {
"expression": "string",
"description": "string"
},
"constraints": ["object"]
},
"solver_config": {
"solver": "string",
"time_limit": "number",
"mip_gap": "number"
},
"analysis_options": {
"sensitivity": "boolean",
"what_if": ["object"],
"report_format": "string"
}
}
{
"status": "Optimal|Infeasible|Unbounded|TimeLimit",
"objective_value": "number",
"solution": {
"variable_name": "number"
},
"sensitivity": {
"shadow_prices": {
"constraint_name": {
"value": "number",
"allowable_increase": "number",
"allowable_decrease": "number"
}
},
"reduced_costs": {
"variable_name": {
"value": "number",
"allowable_increase": "number",
"allowable_decrease": "number"
}
}
},
"infeasibility_analysis": {
"conflicting_constraints": ["string"],
"suggested_relaxations": ["object"]
},
"what_if_results": ["object"],
"solve_time": "number"
}
| Metric | Meaning | Use |
|---|---|---|
| Shadow Price | Value of relaxing constraint by 1 unit | Prioritize constraint relief |
| Reduced Cost | Cost of forcing non-basic variable into solution | Evaluate non-optimal alternatives |
| Allowable Range | Range where basis stays optimal | Assess stability of solution |
When model is infeasible:
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.