Spaces:
Sleeping
Sleeping
| title: Seating Chart Solver | |
| emoji: 🪑 | |
| colorFrom: indigo | |
| colorTo: purple | |
| sdk: docker | |
| app_port: 7860 | |
| short_description: 基于模拟退火算法的智能活动排座与可视化系统 | |
| # Seating Chart Solver (智能排座专家) | |
| 这是一个专为大型活动(婚礼、晚宴、会议)设计的智能排座系统。它利用**模拟退火算法 (Simulated Annealing)**,在满足各种复杂约束条件(如“必须坐在一起”、“不能坐在一起”)的同时,自动优化宾客的座位安排,最大化整体满意度。 | |
| ## 核心功能 | |
| * **智能优化引擎**: 一键自动计算最佳座位安排,解决 NP-Hard 排座问题。 | |
| * **复杂约束管理**: 支持定义“亲密关系”(权重加分)和“冲突关系”(权重扣分)。 | |
| * **可视化布局**: 直观的圆形餐桌视图,实时显示入座情况。 | |
| * **资产导出**: 支持将最终排座方案导出为高清图片 (PNG) 或 PDF 文档,直接用于打印或分享。 | |
| * **多维度评分**: 实时反馈当前方案的“和谐度”评分。 | |
| ## 解决痛点 | |
| 活动策划中最头疼的环节往往是排座位: | |
| * 如何让关系好的人坐在一起? | |
| * 如何避免死对头同桌? | |
| * 如何平衡每桌的人数? | |
| 本工具通过算法自动化解决这些问题,将耗时数小时的工作缩短为几秒钟。 | |
| ## 技术栈 | |
| * **算法**: Python (Simulated Annealing), NumPy | |
| * **后端**: Flask | |
| * **前端**: Vue 3, Element Plus, TailwindCSS | |
| * **导出**: html2canvas, jsPDF | |
| * **部署**: Docker (Python 3.11 Slim) | |
| ## 算法原理 | |
| 系统将排座问题建模为组合优化问题: | |
| 1. **目标函数**: $Score = \sum (Relation_{i,j} \times SameTable_{i,j}) - \sum (Conflict_{i,j} \times SameTable_{i,j}) + GroupBonus$ | |
| 2. **寻优策略**: 使用模拟退火算法,允许以一定概率接受较差解以跳出局部最优,最终收敛到全局近似最优解。 | |
| ## 运行方式 | |
| ```bash | |
| # 构建 | |
| docker build -t seating-solver . | |
| # 运行 | |
| docker run -p 7860:7860 seating-solver | |
| ``` | |
| 访问 `http://localhost:7860` 开始使用。 | |