Skip to content
🌤 Shanghai 22°C
On this page

电梯调度算法系统项目总结

一、项目简介

我们共同开发了一套智能电梯调度算法系统,以SAGA优化策略为核心,融合场景自适应调度、多维度成本优化、全链路容错与精细化数据追踪能力,同时配套极简清晰的UI可视化界面,实现了算法逻辑与前端展示的高效协同。 项目目录

二、PSP流程回顾

阶段子阶段内容说明预估时间(h)实际时间(h)过程反思
计划需求明细与计划分析项目需求并制定时间规划22.5需求拆解需更细致,避免后续返工
框架设计设计项目整体技术框架12架构设计需预留足够扩展空间
开发编程实现算法逻辑与UI界面核心开发68.5功能实现中需注重模块解耦
测试调试算法与界面的联合调试10.6提前写单元测试可提升效率
优化算法性能与界面体验优化47优化是持续过程,需分阶段迭代
复审与测试全流程功能与稳定性测试21.5自动化测试可覆盖更多场景
复盘经验总结项目与结对经验沉淀11.5复盘需及时,提炼可复用方法
合计--1723.6整体工期因需求细化有所延长,需更精准评估

三、技术实现与个人贡献

(一)SAGA电梯调度算法核心

我主要负责算法逻辑的代码实现,从理论模型到工程化落地的全流程:

  • 场景自适应智能调度:实现了基于时间窗的场景识别(早高峰、晚高峰、平峰),并编写参数动态调整逻辑,让电梯在不同流量场景下自动切换调度策略,比如高峰时提高请求响应频率,平峰时优化能耗。
  • 多维度成本优化模型:完成了综合成本函数的代码实现,将距离、方向、负载、等待时间等维度量化为权重系数,通过综合成本 = 距离成本×1.0 + 方向成本×0.8 + 负载成本×0.5 + 等待时间成本×0.4的公式,让电梯决策更贴近实际场景的效率与体验平衡。
  • 全链路容错机制:在代码中嵌入了try-catch异常捕获、命令间隔保护(限制高频请求)、网络连接自动重试(最多2次)等逻辑,确保系统在异常场景下的稳定性。
  • 精细化数据追踪:开发了乘客全生命周期日志的记录与CSV持久化存储功能,将乘客从呼叫到下车的全流程数据保存至logs目录,为后续算法迭代提供数据支撑。

(二)UI设计与前端实现

作为UI模块的主要开发者,我聚焦于“极简清晰+实时动态”的界面体验:

  • 信息架构与布局:采用双栏布局,左侧直观展示电梯井道和轿厢运动的视觉区,右侧以表格呈现关键运行参数(如电梯位置、方向、负载),分层明确降低认知负荷。
  • 实时动态可视化:通过CSS动画和JavaScript控制,实现电梯移动的平滑过渡效果,用颜色区分运行方向(上行绿色、下行红色),并通过bottom属性精准控制电梯在楼层的定位,让算法运行效果直观可感知。
  • 技术选型与集成:采用纯前端技术栈(HTML+CSS+JavaScript),通过fetch调用RESTful API获取电梯状态,以300ms为间隔自动轮询保证数据实时性,同时做到了前后端松耦合,便于后续独立迭代。

四、项目收获与成长

(一)技术能力突破

  1. 工程化编程思维建立 从“写单个功能”到“构建完整系统”的转变中,我学会了将复杂算法拆解为ElevatorController类、成本计算模块、状态更新模块等可复用单元,理解了封装、抽象、模块化在大型项目中的价值,真正把“面向对象编程”从概念落地到代码。

  2. 算法落地与调试能力提升 把调度算法从理论公式转化为可运行的Python代码时,我掌握了“大问题拆分+小模块击破”的工程方法;面对无数Bug时,从最初的无措到熟练用日志、断点、try-catch定位解决问题,代码调试和系统韧性构建能力有了质的飞跃。

  3. 前后端协同与架构认知 亲手实现UI界面并与算法核心联调后,我深刻理解了“后端逻辑强大+前端展示清晰”对系统价值的放大作用,也实践了松耦合架构设计(算法核心与UI可独立替换),对软件架构有了从“模糊”到“具体”的认知。

(二)结对编程的团队成长

这次与同伴的紧密协作,让我在沟通、思维、角色协作上收获颇丰:

  • 高效沟通的重要性:初期因思路不同导致代码冲突后,我们建立了“功能实现前口头设计评审”的机制,这让我明白清晰同步与即时反馈是团队效率的基石
  • 思维碰撞的价值:在成本函数设计时,我最初仅关注距离维度,同伴提出的“等待时间权重”视角拓宽了我的思路,让我学会了多维度思考问题,避免陷入思维定式。
  • 角色切换的互补成长:我们严格践行“驾驶员-领航员”结对模式,当我作为“驾驶员”时,专注代码实现的严谨性;作为“领航员”时,聚焦架构与风险,这种切换让我们互相学习编程习惯,共同提升代码质量

五、总结与展望

通过这个项目,我从“编程初学者”向“工程实践者”迈出了关键一步——不仅掌握了算法落地、前后端协同、系统容错的实战技能,更在结对过程中学会了高效协作与思维拓展。

未来,我会继续优化这套电梯调度系统:一方面深化算法的智能程度(如引入机器学习预测流量),另一方面迭代UI的交互体验(如加入多电梯集群可视化),让技术价值在更真实的场景中持续释放。 合照1合照2