前言
写给课题组
选题
基于k-means聚类算法的物流配送中心选址问题研究
Research on Logistics Distribution Center Location Problem Based on k-means Clustering Algorithm
方法分析 —— k-means
k-means就是机器学习里面最简单的入门算法,是一种无监督学习
方法
论文上清一色写的都是欧几里得范数
其实说人话就是所有点
距离中心点
的两点距离公式
其中{x1, x2, x3, ... , xn}为向量集
假设有两个二维数据点 A(1, 2) 和 B(4, 6),我们可以计算它们之间的欧几里得距离:
总之就是很简单
优点
- 简单,根本不需要动脑就可以复现算法
- 易与其他算法结合使用,k-means一般用来确定初始解,可以当其他算法的加速
- 结果直观,将很多数据划分同一类,可以从图直接看出结果
缺点
- 大数据效果较差。由于数据较多,较难确定初始聚类中心
- 簇数K较难确定。不同的
K
导致不同的聚类结果
更多详见提到的论文
How to Use K-means for Big Data Clustering?
python代码示例
以下gpt-3.5-turbo
是sklearn
库写的一个简单的k-means,可以直观的看出聚类的过程
import time
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
np.random.seed(0)
data = np.random.randn(100, 2) # 生成100个二维数据点
# 初始化K个中心点
k = 3
centers = np.random.randn(k, 2)
# 迭代K-means算法
for _ in range(30):
# 计算每个数据点到各个中心点的距离
distances = np.linalg.norm(data[:, None] - centers, axis=-1)
# 分配每个数据点到最近的中心点
labels = np.argmin(distances, axis=1)
# 更新中心点位置
for i in range(k):
centers[i] = np.mean(data[labels == i], axis=0)
# 可视化聚类结果
plt.figure()
plt.scatter(data[:, 0], data[:, 1], c=labels, cmap='viridis')
plt.scatter(centers[:, 0], centers[:, 1], c='red', marker='x')
plt.title(f"Iteration {_ + 1}")
plt.show()
# time.sleep(0.5)
这里K取3,也就是3个中心点,迭代次数写的30
次。
可以看到,实际上第十次之后中心点就没有再改变了
问题就在于
- K中心点的取值
- 迭代次数适当
- 数据量合适
就能得出较能准确的结果
思路
我准备以(2024/04/03已废弃)重心法
建模,用k-means聚类初始化,然后用dbscan算法优化聚类,研究单一设施选址,最后使运输总成本最小
以K-Means聚类
,用量子启发式算法
优化聚类
预留问题
题目是K-means我能否写dbscan作为优化呢?(2024/04/03已废弃)- 目前还没了解过量子启发式相关算法,相关文献也比较少。
虽然拜此所赐,题材比较新颖。
国内文献(研究现状)
- 重心法
- 遗传算法
- 模拟退火
- 粒子群算法
外文论文的选择
搜索方式为google
搜索内容为:site:sciencedirect.com {some_keyword}
site:关键词可以指定文献网站,只搜寻对应的网站中的文献
首先我找到几篇与k-means
相关的论文
分别为
- 一种多算法方法,用于在末端城市交付系统中平衡运营人力资源工作负载
- 全局k均值聚类算法
- 如何使用K-means进行大数据聚类?
- FC-Kmeans:固定中心 K 均值算法
- 确定集装箱仓储配送中心最佳位置的聚类方法
- 物流配送中心的位置问题和模糊环境下的算法
当前与选题相关性较强的论文个人认为是第五篇论文
第五篇讲的是使用k-means方法确定中心最佳位置,从开头来看比较契合
目前几篇都只看了引言和第一章,这个选题比较难以找到特别相关的英文文献,还会接着找合适的
目录草稿
摘要
K-Means聚类算法常用于将一组数据分类成多个簇,但受限于其算法局限性,K-Means算法易于得到局部解,为了得到最优解,一般需要将其与其他启发式算法结合,优化簇类结果以达到相对合适的解。如遗传算法遗传算法(Genetic Algorithm,GA),退火算法(Simulated annealing,SA)等。本文基于K-Means聚类算法,与量子启发式算法相结合,为解决物流配送中心选址问题提供一种新的思路,同时比较较为常见的算法体现其性能。
关键词
量子启发式算法,K-Means,聚类算法,物流配送中心选址
在用的软件
Dynex
Dynex
是一个量子机器学习计算平台,支持python-sdk
直接调用
github上有一个项目是Dynex的示例集合示例集合
虽然有定价,但跑个量子K均值聚类应该不花多少钱
CopyTranslator
来源于youtube视频博主推荐
看英文論文神器軟體!Ctrl+C自動貼上翻譯,排版精準,還不必在PDF與Google翻譯間頻繁切換,相見恨晚啊!
功能是选中直接显示翻译内容,不需要粘贴或者切换窗口,辅助论文阅读
GPT
之前讲过了_(:з)∠)_
我搭了一个开源的gpt网站,api_key用的自己的,大家可以随意使用gpt-3.5-turbo
,这个模型定价很低,可以免费
提供使用
但gpt-4
比较贵,我一般不开,有需求可以问我要
网址就不放在这里了,后面我会发到群里
有兴趣可以自己申请openai
的api_key
,自己搭一个,很方便的