数据科学每日总结--Day14--数据挖掘

数据挖掘

旅行商问题
  • 描述:给定一组城市(白点)及两两之间的距离,要求寻找一条最短的闭合路线,恰好访问每个城市一次并回到起点

  • 决策变量:城市访问顺序(一个排列)

  • 目标函数:总路程最小化

  • 约束:每个城市访问一次;起点=终点;通常为完全图或稀疏图

  • 复杂度:NP-难。n 个城市的哈密顿回路数约为 (n−1)!/2(对称TSP、忽略起点与方向),因此枚举不可行

  • 求解思路:

    • 精确算法:分支定界、动态规划(Held--Karp O(n^2 2^n))、割平面/整数规划(Concorde)。

    • 近似与启发式:最近邻、2-opt/3-opt、Lin--Kernighan、元启发式(GA/ACO/SA/PSO/DE、TabuSearch、VNS)以及混合局部搜索

  • 实物建议:

    • 先用构造法得可行初解,再用k-opt细化

    • 利用距离度量的三角不等式可加速剪枝

    • 对大规模实例,采用分区/分层或岛模型并行搜索

背包问题
  • 描述:给定一组物品,每个物品有价值 v_i和重量/体积 w_i,一只背包有容量上限 W。目标是在不超容量的前提下,选择一部分物品,使总价值最大

  • 决策变量:每个物品是否被选择(0-1变量,或选取数量,取决于问题类型)

  • 目标函数:总价值最小化

  • 约束:所有被选物品的总重量不超过背包容量;每个物品最多选一次(0-1背包);或可选多次(完全背包);或有多个背包(多维/多重背包)

  • 复杂度:NP-难。对于n个物品和容量W,0-1背包的状态空间为2ⁿ,枚举不可行。动态规划时间复杂度O(nW),但W较大时仍不可行。

  • 求解思路:

    • 精确算法:动态规划(0-1背包、完全背包)、分支定界、整数规划。

    • 近似与启发式:贪心法(适用于分数背包)、遗传算法(GA)、模拟退火(SA)、蚁群算法(ACO)、粒子群优化(PSO)、禁忌搜索(TabuSearch)、局部搜索等

  • 实物建议:

    • 对于容量较小或物品数量较少,优先用动态规划或分支定界求精确解

    • 对于大规模实例,采用启发式或元启发式算法快速获得近似解

    • 贪心法仅适用于分数背包(可分割物品),对0-1背包不一定最优

    • 可结合问题结构(如物品价值密度排序)优化搜索过程

    • 多维/多重背包可用分解、分区或并行搜索提升效率

装箱问题
  • 描述:要把一组物品装入容量相同的箱子中,使每个箱子的装载不超过容量,同时最小化所用箱子数量(或在给定箱数下最大化装载利用率)

  • 决策变量:每个物品分配到哪个箱子(物品到箱子的分配方案)

  • 目标函数:所用箱子的数量最小化

  • 约束:每个物品必须被分配到一个箱子;每个箱子的总装载量不超过其容量;通常假设物品不可拆分

  • 复杂度:NP-难。对于n个物品和箱子容量C,状态空间极大,枚举不可行。最优解难以在多项式时间内获得

  • 求解思路:

    • 精确算法:分支定界、动态规划、整数规划、列生成(Column Generation)、割平面法。

    • 近似与启发式:首次适应(First Fit)、最佳适应(Best Fit)、最差适应(Worst Fit)、递归分组(Next Fit)、贪心法、遗传算法(GA)、模拟退火(SA)、蚁群算法(ACO)、粒子群优化(PSO)、禁忌搜索(TabuSearch)、局部搜索等

  • 实物建议:

    • 先用贪心或启发式算法(如First Fit、Best Fit)快速获得可行初解

    • 对于大规模实例,可采用分区、分层或并行搜索提升效率

    • 对物品按体积降序排序可提升贪心算法效果(FFD、BFD)

    • 精确算法适用于物品数量较少或对最优解要求较高的场景

    • 可结合问题结构(如物品分组、箱子预分配)优化搜索过程

相关推荐
Csvn16 小时前
第 28 章 案例四 多智能体协作系统
人工智能·aigc·agent
IT_陈寒16 小时前
Java中equals方法比了个寂寞?原来这才是正确的重写姿势
前端·人工智能·后端
吴佳浩16 小时前
Agent 怎么做自动化评测?构建端到端的 Agent Evaluation 体系
人工智能·agent·ai编程
火山引擎开发者社区16 小时前
火山引擎云数据库 TiDB 版公测开启,MySQL 架构升级的一站式选择
人工智能
代码方舟16 小时前
Java数据工程:利用天远全网运营商三要素优化线上实名认证合规体验
java·人工智能
Csvn16 小时前
第 27 章 案例三 自动化工作流 Agent
人工智能·aigc·agent
知几蜗牛16 小时前
AI眼镜把记忆放上云,怎样证明云端也看不见?
人工智能
知几蜗牛16 小时前
训练数据越多越好吗?用LeRobot讲清数据质量与版本化
人工智能
知几蜗牛16 小时前
PR合并慢,别再只看平均时长:GitHub把等待拆成了三段
人工智能
知几蜗牛16 小时前
AI账单失控前,团队真正缺的不是更便宜的模型
人工智能