【2026年电工杯B题嵌入式社区养老服务站的建设与优化问题】完整论文+可运行代码
本人8年数学建模竞赛经验,历史获奖率百分之百。团队成员都是拿过全国一等奖的硕博,有需要数模竞赛帮助的可以私信我
2026 电工杯 B 题:思路分析与建模方案
全局技术路线
数据预处理 → 问题1(马尔可夫链人口预测 + 消费约束)→
问题2(0/1 整数规划选址 + 容量分配)→
问题3(线性规划/枚举定价)→
问题4(灵敏度分析)
全局符号体系
| 符号 | 含义 |
|---|---|
| i∈{A,...,J}i \in \{A,...,J\}i∈{A,...,J} | 小区索引(10 个) |
| j∈{1,...,J}j \in \{1,...,J\}j∈{1,...,J} | 候选站点索引(与小区位置一致) |
| r∈{S,M,L}r \in \{S, M, L\}r∈{S,M,L} | 站点规模:小/中/大 |
| k∈{1,...,6}k \in \{1,...,6\}k∈{1,...,6} | 服务项目:助餐/日间/上门/康复/助浴/紧急 |
| g∈{g \in \{g∈{自理, 半失能, 失能}\}} | 老人类型 |
| NigN^g_iNig | 小区 iii 类型 ggg 老人数 |
| dgkd^k_gdgk | 类型 ggg 老人对服务 kkk 的月需求次数 |
| DijD_{ij}Dij | 小区 iii 到 jjj 的距离 |
| xjr∈{0,1}x_{jr}\in\{0,1\}xjr∈{0,1} | 是否在 jjj 建设 rrr 规模站点 |
| yij∈{0,1}y_{ij}\in\{0,1\}yij∈{0,1} | 小区 iii 是否由 jjj 服务 |
| pkp_kpk | 服务 kkk 单次定价 |
问题1:未来五年老人数量与服务需求量预测
1.1 马尔可夫链 + 自然死亡 + 新增模型
状态转移(年度):
- 自然死亡:所有老人按 5% 死亡率减少
- 自理 → 半失能:4.5%
- 半失能 → 失能:10%
- 失能 → 失能(不恢复)
- 新增:每年新增 60+ 老人 = 当年总老人数 × 7%(默认计为自理)
递推公式(设 At,Bt,CtA_t, B_t, C_tAt,Bt,Ct 分别为 ttt 年末自理、半失能、失能数):
total_t-1 = A_{t-1} + B_{t-1} + C_{t-1}
new_t = total_t-1 × 0.07 # 新增自理
A_t = (A_{t-1} × (1-0.045) + new_t) × (1-0.05)
B_t = (B_{t-1} + A_{t-1} × 0.045) × (1-0.10) × (1-0.05)
C_t = (C_{t-1} + B_{t-1} × 0.10) × (1-0.05)
注意:执行顺序是先转移再死亡(按"未恢复"约束推导)。
1.2 理论月需求
DikD^k_iDik = ∑gNig⋅dgk\sum_g N^g_i \cdot d^k_g∑gNig⋅dgk(向量化矩阵乘法)
1.3 含消费约束的实际需求
对每类老人 ggg,月人均费用 Cg=∑kdgk⋅pkbaseC^g = \sum_k d^k_g \cdot p^{base}_kCg=∑kdgk⋅pkbase(紧急救助免费)
人均月收入上限 =wi⋅αg= w_i \cdot \alpha_g=wi⋅αg(自理 0.20,半失能 0.25,失能 0.30)
若 Cg>wi⋅αgC^g > w_i \cdot \alpha_gCg>wi⋅αg,按比例削减次数:缩放系数 λig=min(1,wiαg/Cg)\lambda^g_i = \min(1, w_i\alpha_g / C^g)λig=min(1,wiαg/Cg)
实际需求 =dgk⋅λig⋅Nig= d^k_g \cdot \lambda^g_i \cdot N^g_i=dgk⋅λig⋅Nig(取整)
问题2:服务站选址与规模优化(MILP)
2.1 决策变量
- xjr∈{0,1}x_{jr} \in \{0,1\}xjr∈{0,1}: 在小区 jjj 是否建 rrr 规模站
- yij∈{0,1}y_{ij} \in \{0,1\}yij∈{0,1}: 小区 iii 由站点 jjj 服务(最多 1 站,最满意原则)
- 每个 jjj 只能建 1 个站:∑rxjr≤1\sum_r x_{jr} \leq 1∑rxjr≤1
2.2 约束
- 预算:∑j∑rxjr⋅Buildr≤120\sum_j \sum_r x_{jr} \cdot \text{Build}_r \leq 120∑j∑rxjr⋅Buildr≤120 万元
- 服务半径:yij=1⇒Dij≤1000y_{ij}=1 \Rightarrow D_{ij} \leq 1000yij=1⇒Dij≤1000;用 yij≤1[Dij≤1000]y_{ij} \leq \mathbb{1}[D_{ij} \leq 1000]yij≤1[Dij≤1000]
- 必须有站才能服务:yij≤∑rxjry_{ij} \leq \sum_r x_{jr}yij≤∑rxjr
- 每个小区最多由 1 站服务:∑jyij≤1\sum_j y_{ij} \leq 1∑jyij≤1
- 容量约束:∑iyij⋅di≤∑rxjr⋅Capr\sum_i y_{ij} \cdot d_i \leq \sum_r x_{jr} \cdot \text{Cap}_r∑iyij⋅di≤∑rxjr⋅Capr
- 其中 did_idi = 小区 iii 老人日总人次需求
2.3 目标(多目标合并)
maxα⋅覆盖率+β⋅平均满意度\max\quad \alpha \cdot \text{覆盖率} + \beta \cdot \text{平均满意度}maxα⋅覆盖率+β⋅平均满意度
或转为:max∑i∑jyij⋅老人数i⋅Sij\max \sum_i \sum_j y_{ij} \cdot \text{老人数}_i \cdot S_{ij}max∑i∑jyij⋅老人数i⋅Sij,其中 SijS_{ij}Sij 为预估满意度(用 S1S_1S1 距离满意度作主导,S2,S3S_2, S_3S2,S3 在求解后估算)
2.4 求解算法
- MILP(PuLP+CBC):变量数 = 30 (x) + 100 (y) = 130,秒级求解
- 时间复杂度:O(2∣J∣⋅∣R∣)O(2^{|J|\cdot|R|})O(2∣J∣⋅∣R∣) 最坏(分支限界),实际 ≪ 1s
问题3:服务定价与政府补贴优化
3.1 决策变量
- pkp_kpk ∈ [基准价, 基准价×1.2](连续)
- 离散化为 4 档:平价 / 微溢价 / 中溢价 / 高溢价
3.2 约束
- 利润率 ≤ 8%
- 紧急救助 = 0(不参与定价)
3.3 目标
- max\maxmax 平均价格满意度 S3S_3S3,紧约束利润率 ≤ 8%
3.4 求解
- 直接枚举 4 档定价(5 种服务 × 4 档 = 45=10244^5=102445=1024 种组合,每种秒级核验)
- 最优解通常是"平价" → S3=1.0S_3=1.0S3=1.0,但若不满足利润率 ≤ 8%(实际可能利润率太低),则适度涨价
- 实际本题营收>支出,平价利润已存在,故大概率 S3=1.0S_3=1.0S3=1.0 即最优
问题4:灵敏度分析
- 基准方案、(a) 改增长率与转移率、(b) 日成本+20%、© 预算 140万元 共 4 套
- 每套重跑问题 1+2+3,对比覆盖率、满意度、定价、补贴、利润
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)