对于室内可见光定位过程中存在光信号分布不均和定位复杂的问题,提出一种基于改进灯源布局和万有引力粒子群的可见光定位算法。通过改进室内LED灯的布局,使室内光照强度分布更加均匀,从而减少噪声影响,使得室内各个位置的接收功率更加均衡,在此基础采用改进的万有引力粒子群算法进行目标寻优。仿真结果表明,在5 m×5 m×3 m的室内环境中,该算法最大定位误差为1.23 cm,多点定位平均误差为0.71 cm,整体性能优于TOA/RSS定位方法和指纹定位方法。