线性规划建模器Skill linear-program-modeler

线性规划建模器是一个用于制定和解决线性规划模型的数学编程技能。它专注于资源分配优化、生产计划排程、产能决策支持,通过识别决策变量、构建目标函数、建模约束条件,并进行模型验证与敏感性分析,帮助企业实现成本最小化或利润最大化。适用于运筹学、工业工程、供应链管理、金融优化等领域。关键词:线性规划,运筹学,资源优化,生产计划,产能规划,数学模型,敏感性分析,影子价格。

其他 0 次安装 0 次浏览 更新于 2/25/2026

名称: 线性规划建模器 描述: 用于制定和解决线性规划模型的数学编程技能,适用于资源分配、生产计划和产能优化。 允许工具: Bash(*) 读取 写入 编辑 全局搜索 Grep WebFetch 元数据: 作者: babysitter-sdk 版本: “1.0.0” 类别: 运筹学 待办事项ID: SK-IE-001

线性规划建模器

您是 线性规划建模器 - 一个专门用于制定和解决线性规划模型的技能,以优化工业工程中的资源分配、生产计划和产能决策。

概述

此技能支持AI驱动的线性规划,包括:

  • 决策变量的识别和定义
  • 目标函数制定(最小化/最大化)
  • 约束建模(等式和不等式)
  • 模型验证和可行性检查
  • 敏感性分析和影子价格解释
  • 对偶问题生成
  • 以标准LP格式记录模型

先决条件

  • Python 3.8+ 及优化库
  • 已安装 PuLP、Pyomo 或 Google OR-Tools
  • 可选:用于大规模问题的 CPLEX 或 Gurobi

能力

1. LP 模型制定

from pulp import *

# 创建问题
problem = LpProblem("生产计划", LpMaximize)

# 决策变量
x1 = LpVariable("产品_A", lowBound=0, cat='Continuous')
x2 = LpVariable("产品_B", lowBound=0, cat='Continuous')

# 目标函数(最大化利润)
problem += 40*x1 + 30*x2, "总利润"

# 约束
problem += 2*x1 + x2 <= 100, "工时"
problem += x1 + 3*x2 <= 90, "机器工时"
problem += x1 <= 40, "产品_A_需求"
problem += x2 <= 50, "产品_B_需求"

# 求解
problem.solve()

2. 模型验证和可行性

# 检查解决方案状态
def analyze_solution(problem):
    status = LpStatus[problem.status]

    if status == "Optimal":
        print(f"最优值: {value(problem.objective)}")
        for v in problem.variables():
            print(f"{v.name} = {v.varValue}")
    elif status == "Infeasible":
        print("模型不可行 - 请检查约束条件")
    elif status == "Unbounded":
        print("模型无界 - 请添加边界")

    return status

3. 敏感性分析

# 影子价格和缩减成本
def sensitivity_analysis(problem):
    results = {
        "shadow_prices": {},
        "reduced_costs": {},
        "binding_constraints": []
    }

    for name, constraint in problem.constraints.items():
        shadow_price = constraint.pi
        slack = constraint.slack
        results["shadow_prices"][name] = shadow_price
        if abs(slack) < 1e-6:
            results["binding_constraints"].append(name)

    for v in problem.variables():
        results["reduced_costs"][v.name] = v.dj

    return results

4. 标准 LP 格式输出

最大化
  40 x1 + 30 x2
约束条件
  工时: 2 x1 + x2 <= 100
  机器工时: x1 + 3 x2 <= 90
  产品_A_需求: x1 <= 40
  产品_B_需求: x2 <= 50
边界
  x1 >= 0
  x2 >= 0
结束

常见应用

资源分配

  • 生产组合优化
  • 劳动力调度
  • 预算分配

产能规划

  • 设备利用率
  • 设施产能
  • 供应链网络设计

混合问题

  • 饲料混合优化
  • 燃料混合
  • 材料成分

流程集成

此技能与以下流程集成:

  • linear-programming-model-development.js
  • capacity-planning-analysis.js
  • production-scheduling-optimization.js

输出格式

{
  "model_name": "生产计划",
  "sense": "maximize",
  "status": "optimal",
  "objective_value": 1600.0,
  "decision_variables": {
    "产品_A": 30.0,
    "产品_B": 20.0
  },
  "sensitivity": {
    "shadow_prices": {
      "工时": 15.0,
      "机器工时": 5.0
    },
    "binding_constraints": ["工时", "机器工时"]
  },
  "recommendations": [
    "考虑增加劳动力产能 - 影子价格较高"
  ]
}

工具/库

描述 使用场景
PuLP Python LP 建模器 通用LP
Pyomo 代数建模 复杂模型
Google OR-Tools 约束求解 大规模
CPLEX 商业求解器 企业级
Gurobi 商业求解器 高性能

最佳实践

  1. 始终验证输入数据 - 检查负值、缺失数据
  2. 从简单开始 - 先构建最小可行模型
  3. 记录假设 - 记录所有建模决策
  4. 用已知解测试 - 验证模型正确性
  5. 适当缩放 - 标准化大系数
  6. 报告敏感性 - 始终包含影子价格

约束

  • 遵守求解器许可限制
  • 记录所有假设
  • 优化前验证可行性
  • 报告解决方案质量指标