我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合,专为本次赛题设计,旨在帮助您深入理解数学建模的每一个环节。
本次妈妈杯B题可以做如下考虑 (部分公式和代码因为排版问题显示不完整,文中代码仅有部分,完整论文格式标准,包含全部代码)
完整内容均可以在文章末尾领取!(部分代码在本帖子里格式混乱,下载后格式正常)
问题一:搬迁补偿建模
1. 模型建立
为了设计合理的搬迁补偿方案,我们需要建立一个数学模型,综合考虑住户房屋的朝向、面积、布局、心理价位、住宿舒适度等因素。以下是模型的详细描述:
1.1 决策变量
- $ x_i $: 二进制变量,表示第 $ i $ 户居民是否搬迁(1表示搬迁,0表示不搬迁)。
- $ y_{ij} $: 二进制变量,表示第 $ i $ 户居民是否搬迁到第 $ j $ 个空置地块(1表示搬迁,0表示不搬迁)。
- $ z_i $: 二进制变量,表示是否对第 $ i $ 户居民的迁入地块进行修缮(1表示修缮,0表示不修缮)。
1.2 目标函数
目标是最大化居民的搬迁意愿,同时最小化开发商的成本。因此,目标函数可以表示为:
Maximize
∑
i
x
i
−
λ
(
∑
i
Cost
i
)
\text{Maximize} \quad \sum_{i} x_i - \lambda \left( \sum_{i} \text{Cost}_i \right)
Maximizei∑xi−λ(i∑Costi)
其中,$ \lambda $ 是一个权重系数,用于平衡搬迁意愿和成本。
1.3 约束条件
-
面积补偿约束:
A j ≥ A i ∀ i , j such that y i j = 1 A_{j} \geq A_{i} \quad \forall i, j \text{ such that } y_{ij} = 1 Aj≥Ai∀i,j such that yij=1A j ≤ 1.3 × A i ∀ i , j such that y i j = 1 A_{j} \leq 1.3 \times A_{i} \quad \forall i, j \text{ such that } y_{ij} = 1 Aj≤1.3×Ai∀i,j such that yij=1
其中,$ A_{j} $ 是迁入地块的面积,$ A_{i} $ 是现居地块的面积。
-
采光补偿约束:
C j ≥ C i ∀ i , j such that y i j = 1 C_{j} \geq C_{i} \quad \forall i, j \text{ such that } y_{ij} = 1 Cj≥Ci∀i,j such that yij=1
其中,$ C_{j} $ 是迁入地块的采光舒适度,$ C_{i} $ 是现居地块的采光舒适度。 -
修缮补偿约束:
z i ≤ x i ∀ i z_i \leq x_i \quad \forall i zi≤xi∀i∑ i z i × RenovationCost i ≤ Budget \sum_{i} z_i \times \text{RenovationCost}_i \leq \text{Budget} i∑zi×RenovationCosti≤Budget
其中,$ \text{RenovationCost}_i $ 是对第 $ i $ 户居民的迁入地块进行修缮的成本,$ \text{Budget} $ 是开发商的修缮预算。
-
搬迁决策约束:
x i = ∑ j y i j ∀ i x_i = \sum_{j} y_{ij} \quad \forall i xi=j∑yij∀i∑ i y i j ≤ 1 ∀ j \sum_{i} y_{ij} \leq 1 \quad \forall j i∑yij≤1∀j
这些约束确保每户居民只能搬迁到一个空置地块,且每个空置地块只能被一户居民占用。
1.4 其他影响因素
除了上述因素外,以下因素也可能影响住户是否同意搬迁:
- 迁入迁出地块离街道的距离:离街道较近的地块通常更方便,住户可能更愿意搬迁到这样的地块。
- 地块周边的房屋密集程度:周边房屋密集程度较低的地块可能更安静,住户可能更愿意搬迁到这样的地块。
- 社区配套设施:迁入地块周边的配套设施(如学校、医院、超市等)是否齐全也会影响住户的搬迁意愿。
- 心理价位:住户对搬迁的心理预期价格也是一个重要因素,开发商需要根据住户的心理价位进行合理的补偿。
2. 模型求解
该模型是一个混合整数线性规划(MILP)问题,可以使用优化软件(如CPLEX、Gurobi等)进行求解。求解结果将给出每户居民是否搬迁、搬迁到哪个空置地块、是否进行修缮等决策。
3. 结果分析
通过求解模型,可以得到以下结果:
- 搬迁方案:哪些居民需要搬迁,搬迁到哪些空置地块。
- 修缮方案:哪些迁入地块需要进行修缮。
- 成本分析:搬迁和修缮的总成本。
- 搬迁意愿:居民的搬迁意愿是否得到满足。
通过分析这些结果,规划局和开发商可以制定出合理的搬迁补偿方案,有效推动居民同意搬迁。
1. 搬迁补偿方案设计
搬迁补偿方案需要综合考虑住户房屋的朝向、面积、布局、心理价位、住宿舒适度等因素。以下是具体的补偿策略:
-
面积补偿:居民搬迁后,迁入地块的面积不能比现居地块更小,且最多只能提供面积比原来多30%的产权地块。面积补偿的计算公式为:
A 新 ≥ A 旧 且 A 新 ≤ 1.3 × A 旧 A_{\text{新}} \geq A_{\text{旧}} \quad \text{且} \quad A_{\text{新}} \leq 1.3 \times A_{\text{旧}} A新≥A旧且A新≤1.3×A旧
其中, A 新 A_{\text{新}} A新 是迁入地块的面积, A 旧 A_{\text{旧}} A旧 是现居地块的面积。 -
采光补偿:居民搬迁后,迁入地块的采光不能比现居地块更差。采光舒适度排序为:正南 = 正北 > 东厢 > 西厢。采光补偿的规则为:
C 新 ≥ C 旧 C_{\text{新}} \geq C_{\text{旧}} C新≥C旧
其中, C 新 C_{\text{新}} C新 是迁入地块的采光舒适度, C 旧 C_{\text{旧}} C旧 是现居地块的采光舒适度。 -
修缮补偿:若搬迁地块的面积和采光补偿不足以推动居民搬迁,开发商可以对迁入地块的房屋进行修缮翻新,修缮成本上限为20万元。修缮补偿的决策依据为:
R 新 ≥ R 旧 R_{\text{新}} \geq R_{\text{旧}} R新≥R旧
其中, R 新 R_{\text{新}} R新 是迁入地块的修缮质量, R 旧 R_{\text{旧}} R旧 是现居地块的修缮质量。
2. 其他影响因素
除了上述因素外,以下因素也可能影响住户是否同意搬迁:
- 迁入迁出地块离街道的距离:离街道较近的地块通常更方便,住户可能更愿意搬迁到这样的地块。
- 地块周边的房屋密集程度:周边房屋密集程度较低的地块可能更安静,住户可能更愿意搬迁到这样的地块。
- 社区配套设施:迁入地块周边的配套设施(如学校、医院、超市等)是否齐全也会影响住户的搬迁意愿。
- 心理价位:住户对搬迁的心理预期价格也是一个重要因素,开发商需要根据住户的心理价位进行合理的补偿。
3. 应对策略
作为规划局/开发商,应对这些因素的策略包括:
-
详细调研:对每个住户的现居地块和迁入地块进行详细调研,了解地块的朝向、面积、周边环境等。
-
心理价位评估:通过问卷调查或访谈,了解住户对搬迁的心理预期价格,制定合理的补偿方案。
-
配套设施规划:在迁入地块周边规划建设必要的配套设施,提高住户的搬迁意愿。
-
沟通协调:与住户进行充分的沟通,解释搬迁的必要性和补偿方案的合理性,争取住户的理解和支持。
1. 面积补偿
- 条件:居民搬迁后,迁入地块的面积不能比现居地块更小,且最多只能提供面积比原来多30%的产权地块。
- 模型:设居民现居地块面积为 $ A $,迁入地块面积为 $ A’ $,则 $ A \leq A’ \leq 1.3A $。
- 心理价位:居民可能对面积补偿有心理预期,开发商可通过调研确定居民对面积补偿的接受程度,调整补偿策略。
2. 采光补偿
- 条件:居民搬迁后,迁入地块的采光不能比现居地块更差。采光舒适度为:正南=正北>东厢>西厢。
- 模型:设现居地块朝向为 $ O $,迁入地块朝向为 $ O’ $,则 $ O’ $ 的采光舒适度应不低于 $ O $。
- 心理价位:居民可能对采光有特定偏好,开发商可通过调研确定居民对采光补偿的接受程度,调整补偿策略。
3. 修缮补偿
- 条件:若面积和采光补偿不足以推动居民搬迁,开发商可对迁入地块的房屋进行修缮翻新,修缮成本上限为20万元。
- 模型:设修缮成本为 $ C $,则 $ C \leq 200,000 $ 元。
- 心理价位:居民可能对房屋修缮有特定需求,开发商可通过调研确定居民对修缮补偿的接受程度,调整补偿策略。
4. 其他影响因素
- 迁入迁出地块离街道的距离:离街道越近,居民可能越愿意搬迁,因为交通便利性更高。
- 地块周边的房屋密集程度:周边房屋密集程度越低,居民可能越愿意搬迁,因为居住环境更舒适。
- 社区配套设施:迁入地块周边的配套设施(如学校、医院、商场等)越完善,居民可能越愿意搬迁。
- 搬迁后的邻里关系:居民可能对搬迁后的邻里关系有顾虑,开发商可通过组织社区活动等方式缓解居民顾虑。
5. 规划局/开发商的应对策略
- 调研居民需求:通过问卷调查、访谈等方式了解居民对搬迁补偿的具体需求和心理价位。
- 制定个性化补偿方案:根据居民的具体情况,制定个性化的补偿方案,提高居民接受度。
- 提供搬迁后的生活保障:确保迁入地块的生活环境优于现居地块,提供必要的生活保障措施。
- 加强沟通与协调:与居民保持良好沟通,及时解决搬迁过程中出现的问题,增强居民的信任感。
问题二:整院面积最大
1. 目标
- 最大化腾出的完整院落数量。
- 腾出的完整院落尽可能相互毗邻。
- 腾出的完整院落总面积最大。
- 搬迁住户数尽量少。
- 尽量在保底规划成本内完成,必要时使用备用金。
2. 模型构建
-
变量定义:
- $ x_{ij} $:居民 $ i $ 是否搬迁到地块 $ j $(1表示搬迁,0表示不搬迁)。
- $ y_k $:杂院 $ k $ 是否被腾空(1表示腾空,0表示未腾空)。
-
目标函数:
Maximize ∑ k y k ⋅ A k + ∑ k y k ⋅ N k \text{Maximize } \sum_{k} y_k \cdot A_k + \sum_{k} y_k \cdot N_k Maximize k∑yk⋅Ak+k∑yk⋅Nk
其中,$ A_k $ 为杂院 $ k $ 的面积,$ N_k $ 为杂院 $ k $ 的毗邻杂院数量。 -
约束条件:
- 面积补偿:$ A_j \geq A_i $ 且 $ A_j \leq 1.3A_i $。
- 采光补偿:$ O_j \geq O_i $。
- 修缮补偿:$ C_j \leq 200,000 $ 元。
- 搬迁成本:$ \sum_{i,j} (3 + C_j) \cdot x_{ij} \leq 26,000,000 $ 元(保底规划成本2000万 + 备用金30%)。
- 每个居民只能搬迁一次:$ \sum_{j} x_{ij} \leq 1 $。
- 每个地块只能被一个居民迁入:$ \sum_{i} x_{ij} \leq 1 $。
- 杂院 $ k $ 被腾空的条件:$ y_k = 1 $
问题三:性价增益的搬迁拐点计算
1. 目标
计算投资回报率,找出搬迁进程中性价比增益的拐点,即达到某个搬迁的平稳状态,再搬迁带来的性价比开始变低。
2. 变量定义
- $ x_{ij} $:居民 $ i $ 是否搬迁到地块 $ j $(1表示搬迁,0表示不搬迁)。
- $ y_k $:杂院 $ k $ 是否被腾空(1表示腾空,0表示未腾空)。
- $ C_{ij} $:搬迁居民 $ i $ 到地块 $ j $ 的总成本,包括沟通成本、修缮成本和面积损失。
- $ R_k $:杂院 $ k $ 的租金收益。
- $ R_0 $:不搬迁情况下的租金收益。
- $ m $:性价比,定义为十年租金收益增量与实际搬迁投入的比值。
3. 模型构建
-
性价比定义:
m = 10 × ( ∑ k y k ⋅ R k − R 0 ) ∑ i , j C i j ⋅ x i j m = \frac{10 \times (\sum_{k} y_k \cdot R_k - R_0)}{\sum_{i,j} C_{ij} \cdot x_{ij}} m=∑i,jCij⋅xij10×(∑kyk⋅Rk−R0)
其中,$ R_k = 30 \times A_k \times 365 \times 10 (十年租金收益), (十年租金收益), (十年租金收益), R_0 $ 为不搬迁情况下的租金收益。 -
目标函数:
Maximize m \text{Maximize } m Maximize m
即最大化性价比。 -
约束条件:
- 面积补偿:$ A_j \geq A_i $ 且 $ A_j \leq 1.3A_i $。
- 采光补偿:$ O_j \geq O_i $。
- 修缮补偿:$ C_j \leq 200,000 $ 元。
- 每个居民只能搬迁一次:$ \sum_{j} x_{ij} \leq 1 $。
- 每个地块只能被一个居民迁入:$ \sum_{i} x_{ij} \leq 1 $。
- 杂院 $ k $ 被腾空的条件:$ y_k = 1 $。
4. 拐点计算
- 拐点定义:当再搬迁带来的性价比 $ m $ 开始降低时,即达到拐点。
- 计算方法:逐步增加搬迁居民数量,计算每次搬迁后的性价比 $ m $,找出 $ m $ 达到最大值时的搬迁状态。
5. 结果分析
- 拐点状态:找出搬迁居民数量、搬迁地块、腾出整院、总成本、总收益和性价比 $ m $。
- 讨论:如果不存在拐点,即 $ m $ 持续增加,讨论 $ m $ 降低到至少多少就能存在拐点。
通过以上建模,可以科学地计算出搬迁进程中的性价比增益拐点,为开发商的决策提供依据。
问题三:性价增益的搬迁拐点计算
1. 目标
在不考虑保底规划成本约束时,计算投资回报率,并寻找性价比 $ m $ 的拐点,即达到某个搬迁的平稳状态,再搬迁带来的性价比开始变低。
2. 模型构建
-
变量定义:
- $ x_{ij} $:居民 $ i $ 是否搬迁到地块 $ j $(1表示搬迁,0表示不搬迁)。
- $ y_k $:杂院 $ k $ 是否被腾空(1表示腾空,0表示未腾空)。
- $ C $:总搬迁成本。
- $ R $:十年租金收益。
- $ m $:性价比,定义为 $ m = \frac{R - R_0}{C} $,其中 $ R_0 $ 为不搬迁时的十年租金收益。
-
目标函数:
Maximize m = R − R 0 C \text{Maximize } m = \frac{R - R_0}{C} Maximize m=CR−R0 -
约束条件:
- 面积补偿:$ A_j \geq A_i $ 且 $ A_j \leq 1.3A_i $。
- 采光补偿:$ O_j \geq O_i $。
- 修缮补偿:$ C_j \leq 200,000 $ 元。
- 每个居民只能搬迁一次:$ \sum_{j} x_{ij} \leq 1 $。
- 每个地块只能被一个居民迁入:$ \sum_{i} x_{ij} \leq 1 $。
- 杂院 $ k $ 被腾空的条件:$ y_k = 1 $ 当且仅当杂院 $ k $ 内所有地块均被腾空。
3. 计算步骤
-
初始化:
- 计算不搬迁时的十年租金收益 $ R_0 $。
- 初始化总搬迁成本 $ C = 0 $。
- 初始化性价比 $ m = 0 $。
-
迭代搬迁:
- 对于每个居民 $ i $,寻找满足面积和采光补偿条件的地块 $ j $。
- 计算搬迁成本 $ C_{ij} = 3 + C_j $(沟通成本 + 修缮成本)。
- 计算搬迁后的十年租金收益 $ R_{ij} $。
- 计算性价比 $ m_{ij} = \frac{R_{ij} - R_0}{C + C_{ij}} $。
- 如果 $ m_{ij} > m $,则更新 $ m = m_{ij} $,并记录搬迁方案。
- 更新总搬迁成本 $ C = C + C_{ij} $。
-
寻找拐点:
- 继续迭代搬迁,直到 $ m $ 开始下降,记录此时的搬迁方案和性价比 $ m $。
4. 结果分析
-
拐点情况:
- 搬了哪些院子的居民,从哪个地块搬到哪个地块。
- 搬迁腾出的整院是哪些。
- 总搬迁成本 $ C $。
- 最终的整院面积和最终的收入及盈利。
-
性价比 $ m $ 的降低:
- 如果不存在拐点,讨论性价比 $ m $ 降低到至少多少就能存在拐点。
5. 数学公式
-
性价比 $ m $ 的定义:
m = R − R 0 C m = \frac{R - R_0}{C} m=CR−R0 -
搬迁后的十年租金收益 $ R $:
R = ∑ k y k ⋅ A k ⋅ 30 ⋅ 365 ⋅ 10 + ∑ k y k ⋅ N k ⋅ 1.2 ⋅ 30 ⋅ 365 ⋅ 10 R = \sum_{k} y_k \cdot A_k \cdot 30 \cdot 365 \cdot 10 + \sum_{k} y_k \cdot N_k \cdot 1.2 \cdot 30 \cdot 365 \cdot 10 R=k∑yk⋅Ak⋅30⋅365⋅10+k∑yk⋅Nk⋅1.2⋅30⋅365⋅10 -
不搬迁时的十年租金收益 $ R_0 $:
R 0 = ∑ i A i ⋅ r i ⋅ 365 ⋅ 10 R_0 = \sum_{i} A_i \cdot r_i \cdot 365 \cdot 10 R0=i∑Ai⋅ri⋅365⋅10
其中,$ r_i $ 为地块 $ i $ 的租金(东西厢房屋8元/平米/天,南北厢房屋15元/平米/天)。
问题三:性价增益的搬迁拐点计算
目标:在不考虑保底规划成本约束时,计算投资回报率,寻找性价比增益的拐点。
模型构建:
-
变量定义:
- $ x_{ij} $:居民 $ i $ 是否搬迁到地块 $ j $(1表示搬迁,0表示不搬迁)。
- $ y_k $:杂院 $ k $ 是否被腾空(1表示腾空,0表示未腾空)。
- $ C_{ij} $:搬迁居民 $ i $ 到地块 $ j $ 的成本(包括沟通成本、修缮成本、面积损失、时间损失)。
- $ R_k $:杂院 $ k $ 的租金收益。
- $ R_0 $:不搬迁时的租金收益。
- $ m $:性价比,定义为十年租金收益增量与搬迁成本的比值。
-
目标函数:
Maximize m = ∑ k ( R k − R 0 ) ⋅ y k ∑ i , j C i j ⋅ x i j \text{Maximize } m = \frac{\sum_{k} (R_k - R_0) \cdot y_k}{\sum_{i,j} C_{ij} \cdot x_{ij}} Maximize m=∑i,jCij⋅xij∑k(Rk−R0)⋅yk
其中,$ m \geq 20 $。 -
约束条件:
- 面积补偿:$ A_j \geq A_i $ 且 $ A_j \leq 1.3A_i $。
- 采光补偿:$ O_j \geq O_i $。
- 修缮补偿:$ C_j \leq 200,000 $ 元。
- 每个居民只能搬迁一次:$ \sum_{j} x_{ij} \leq 1 $。
- 每个地块只能被一个居民迁入:$ \sum_{i} x_{ij} \leq 1 $。
- 杂院 $ k $ 被腾空的条件:$ y_k = 1 $ 当且仅当所有地块 $ j $ 在杂院 $ k $ 中 $ x_{ij} = 0 $。
Python代码:
import numpy as np
from scipy.optimize import minimize
# 假设数据
num_residents = 113
num_plots = 484
num_yards = 107
# 初始化变量
x = np.zeros((num_residents, num_plots), dtype=int)
y = np.zeros(num_yards, dtype=int)
# 成本矩阵
C = np.random.randint(10000, 200000, (num_residents, num_plots)) # 随机生成成本
R_k = np.random.randint(10000, 50000, num_yards) # 随机生成租金收益
R_0 = np.random.randint(5000, 10000, num_yards) # 随机生成不搬迁时的租金收益
# 目标函数
def objective_function(x, y):
total_cost = np.sum(C * x)
total_rent = np.sum((R_k - R_0) * y)
m = total_rent / total_cost
return -m # 因为 minimize 是最小化,所以取负值
# 约束条件
def constraint1(x):
return np.sum(x, axis=1) - 1 # 每个居民只能搬迁一次
def constraint2(x):
return np.sum(x, axis=0) - 1 # 每个地块只能被一个居民迁入
def constraint3(x, y):
return y - np.all(x == 0, axis=0) # 杂院被腾空的条件
# 初始猜测
x0 = np.zeros((num_residents, num_plots), dtype=int)
y0 = np.zeros(num_yards, dtype=int)
# 优化
cons = [{'type': 'ineq', 'fun': constraint1},
{'type': 'ineq', 'fun': constraint2},
{'type': 'eq', 'fun': constraint3, 'args': (y0,)}]
result = minimize(objective_function, x0, args=(y0,), constraints=cons, method='SLSQP')
# 输出结果
print("最优性价比 m:", -result.fun)
print("搬迁方案 x:", result.x)
print("腾空杂院 y:", y0)
解释:
- 该代码使用
scipy.optimize.minimize
函数来寻找最优的搬迁方案,使得性价比 $ m $ 最大化。 - 代码中的成本矩阵 $ C $、租金收益 $ R_k $ 和不搬迁时的租金收益 $ R_0 $ 是随机生成的,实际应用中应根据具体数据进行替换。
- 约束条件确保了每个居民只能搬迁一次,每个地块只能被一个居民迁入,以及杂院被腾空的条件。
四、老城区平移置换决策软件设计
规划局希望这个案例能起到示范作用,推广到全国的老旧街区更新搬迁中,请你们设计一个软件框架,能够智能计算老城区平移置换决策,指出该软件应该设定哪些人工输入的参数,通过怎样的计算步骤,可以融合你们的模型设计,自动计算出问题二和问题三的答案。
软件框架设计
1. 输入参数
为了能够智能计算老城区平移置换决策,软件需要以下人工输入的参数:
- 地块信息:包括地块ID、所在杂院ID、地块朝向、地块面积、是否有住户等。
- 住户信息:包括住户ID、现居地块ID、搬迁意愿、心理价位等。
- 补偿条件:包括面积补偿比例(最多30%)、采光补偿标准、修缮补偿上限等。
- 成本预算:包括保底规划成本、备用金限制等。
- 收益计算参数:包括分散地块租金、整院租金、毗邻效益系数等。
- 时间成本:包括每户搬迁耗时、搬迁期间的租金损失等。
2. 计算步骤
软件的计算步骤可以设计如下:
- 数据预处理:导入并清洗地块和住户信息,确保数据完整性和一致性。
- 搬迁补偿建模:根据问题一的结果,为每户住户计算合理的面积补偿、采光补偿和修缮补偿范围。
- 搬迁决策优化:利用问题二的结果,设计针对每户住户的搬迁决策,使得最终搬迁后空出的完整院落最多,且总面积最大。同时,尽量控制搬迁住户数和成本。
- 性价增益拐点计算:利用问题三的结果,计算在不考虑保底规划成本约束时的投资回报率,并确定是否存在性价增益的拐点。
- 结果输出:输出搬迁方案、腾出的整院信息、总成本、最终整院面积、收入及盈利等。
3. 模型融合
软件需要融合以下模型设计:
- 搬迁补偿模型:基于住户的现居地块信息和补偿条件,计算合理的补偿方案。
- 搬迁决策模型:基于地块信息和住户信息,优化搬迁决策,最大化腾出的整院面积和收益。
- 性价增益模型:基于搬迁成本和收益,计算投资回报率,并确定性价增益的拐点。
软件功能
软件应具备以下功能:
- 智能计算:根据输入参数,自动计算搬迁补偿、搬迁决策和性价增益拐点。
- 可视化展示:以图表或地图形式展示搬迁方案、腾出的整院分布、成本和收益等。
- 参数调整:允许用户调整输入参数,重新计算并查看结果。
- 报告生成:自动生成详细的搬迁规划报告,包括搬迁方案、成本收益分析等。
推广与应用
该软件框架可以推广到全国的老旧街区更新搬迁中,帮助规划局和开发商智能计算平移置换决策,提高搬迁效率和经济效益。同时,软件可以根据不同城市的具体情况进行参数调整,适应多样化的老城更新需求。
通过该软件,规划局和开发商可以更加科学、高效地推进城市更新工作,实现老城街区的焕新颜。
四、老城区平移置换决策软件设计
为了设计一个能够智能计算老城区平移置换决策的软件框架,我们需要从数学建模的角度出发,明确输入参数、计算步骤和模型融合方式。以下是详细的建模过程:
1. 输入参数
软件需要以下人工输入的参数:
- 地块信息:地块ID、所在杂院ID、地块朝向(正南、正北、东厢、西厢)、地块面积、是否有住户(布尔值)。
- 住户信息:住户ID、现居地块ID、搬迁意愿(布尔值)、心理价位(可选)。
- 补偿条件:
- 面积补偿比例(上限为30%):$ \alpha \leq 1.3 $。
- 采光补偿标准:正南=正北 > 东厢 > 西厢。
- 修缮补偿上限:每户最多20万元。
- 成本预算:
- 保底规划成本:2000万元。
- 备用金限制:不超过保底规划的30%(即最多2600万元)。
- 收益计算参数:
- 分散地块租金:东西厢房屋8元/平米/天,南北厢房屋15元/平米/天。
- 整院租金:30元/平米/天。
- 毗邻效益系数:1.2。
- 时间成本:
- 每户搬迁耗时:4个月。
- 搬迁期间的租金损失:按地块租金计算。
2. 计算步骤
软件的计算步骤如下:
步骤1:数据预处理
- 导入地块和住户信息,清洗数据,确保完整性和一致性。
- 构建地块和住户的关联矩阵 $ A $,其中 $ A_{i,j} = 1 $ 表示地块 $ i $ 属于住户 $ j $,否则为0。
步骤2:搬迁补偿建模
- 面积补偿:对于每户住户 $ j $,计算迁入地块的最小面积 $ S_{min,j} = S_{current,j} $,最大面积 $ S_{max,j} = 1.3 \times S_{current,j} $。
- 采光补偿:根据地块朝向,定义采光等级 $ L $:正南=正北=4,东厢=3,西厢=2。迁入地块的采光等级 $ L_{new,j} \geq L_{current,j} $。
- 修缮补偿:如果面积和采光补偿不足以推动搬迁,计算修缮补偿 $ R_j \leq 20 $ 万元。
步骤3:搬迁决策优化
- 目标函数:最大化腾出的整院面积和收益。
- 腾出的整院面积:$ \sum_{k=1}^{107} B_k \times S_k $,其中 $ B_k = 1 $ 表示杂院 $ k $ 腾空,否则为0。
- 收益:腾出的整院租金收入 + 毗邻效益收入。
- 约束条件:
- 每户搬迁的迁入地块满足面积和采光补偿。
- 总成本不超过保底规划成本 + 备用金限制。
- 搬迁住户数尽量少。
步骤4:性价增益拐点计算
- 计算投资回报率 $ m = \frac{\text{十年租金收益增量}}{\text{实际搬迁投入}} $。
- 确定是否存在性价增益的拐点,即 $ m \geq 20 $ 时的最大搬迁状态。
步骤5:结果输出
- 输出搬迁方案、腾出的整院信息、总成本、最终整院面积、收入及盈利。
3. 模型融合
软件需要融合以下模型设计:
- 搬迁补偿模型:
- 输入:住户现居地块信息、补偿条件。
- 输出:合理的面积补偿、采光补偿和修缮补偿范围。
- 搬迁决策模型:
- 输入:地块信息、住户信息、补偿条件、成本预算。
- 输出:优化后的搬迁决策,最大化腾出的整院面积和收益。
- 性价增益模型:
- 输入:搬迁成本和收益。
- 输出:投资回报率 $ m $ 和性价增益拐点。
4. 数学建模
以下是关键问题的数学建模:
搬迁补偿建模
- 面积补偿:$ S_{new,j} \in [S_{current,j}, 1.3 \times S_{current,j}] $。
- 采光补偿:$ L_{new,j} \geq L_{current,j} $。
- 修缮补偿:$ R_j \leq 20 $ 万元。
搬迁决策优化
- 目标函数:
$$
老城区平移置换决策软件设计
1. 输入参数
软件需要以下人工输入的参数:
- 地块信息:地块ID i i i,所在杂院ID j j j,地块朝向 d i d_i di,地块面积 s i s_i si,是否有住户 h i h_i hi( h i = 1 h_i = 1 hi=1 表示有住户, h i = 0 h_i = 0 hi=0 表示无住户)。
- 住户信息:住户ID k k k,现居地块ID i k i_k ik,搬迁意愿 w k w_k wk,心理价位 p k p_k pk。
- 补偿条件:面积补偿比例 α ≤ 30 % \alpha \leq 30\% α≤30%,采光补偿标准 l i l_i li,修缮补偿上限 c max c_{\text{max}} cmax。
- 成本预算:保底规划成本 B B B,备用金限制 B reserve = 0.3 B B_{\text{reserve}} = 0.3B Breserve=0.3B。
- 收益计算参数:分散地块租金 r d r_d rd,整院租金 r w r_w rw,毗邻效益系数 β = 1.2 \beta = 1.2 β=1.2。
- 时间成本:每户搬迁耗时 t move = 4 t_{\text{move}} = 4 tmove=4 个月,搬迁期间的租金损失 r loss r_{\text{loss}} rloss。
2. 计算步骤
软件的计算步骤如下:
-
数据预处理:
- 导入地块信息矩阵 G = [ i , j , d i , s i , h i ] \mathbf{G} = [i, j, d_i, s_i, h_i] G=[i,j,di,si,hi]。
- 导入住户信息矩阵 H = [ k , i k , w k , p k ] \mathbf{H} = [k, i_k, w_k, p_k] H=[k,ik,wk,pk]。
-
搬迁补偿建模:
-
对于每个住户 k k k,计算合理的面积补偿 s comp , k s_{\text{comp},k} scomp,k:
s comp , k = s i k × ( 1 + α ) s_{\text{comp},k} = s_{i_k} \times (1 + \alpha) scomp,k=sik×(1+α) -
计算采光补偿 l comp , k l_{\text{comp},k} lcomp,k,确保迁入地块的采光不差于现居地块:
l comp , k ≥ l i k l_{\text{comp},k} \geq l_{i_k} lcomp,k≥lik -
计算修缮补偿 c k c_k ck,若面积和采光补偿不足,则考虑修缮:
c k ≤ c max c_k \leq c_{\text{max}} ck≤cmax
-
-
搬迁决策优化:
-
定义决策变量 x k , i x_{k,i} xk,i,表示住户 k k k 是否搬迁到地块 i i i:
x k , i ∈ { 0 , 1 } x_{k,i} \in \{0, 1\} xk,i∈{0,1} -
目标函数为最大化腾出的整院面积和收益:
Maximize ∑ j ∑ i ∈ j s i × r w × β n j × ( 1 − h i ) \text{Maximize} \sum_{j} \sum_{i \in j} s_i \times r_w \times \beta^{n_j} \times (1 - h_i) Maximizej∑i∈j∑si×rw×βnj×(1−hi)
其中 n j n_j nj 为杂院 j j j 的毗邻空置整院数量。 -
约束条件包括面积补偿、采光补偿、修缮补偿和成本预算:
∑ k ∑ i x k , i × ( s comp , k + c k ) ≤ B + B reserve \sum_{k} \sum_{i} x_{k,i} \times (s_{\text{comp},k} + c_k) \leq B + B_{\text{reserve}} k∑i∑xk,i×(scomp,k+ck)≤B+Breserve
-
-
性价增益拐点计算:
-
计算投资回报率 m m m:
m = 十年租金收益增量 实际搬迁投入 m = \frac{\text{十年租金收益增量}}{\text{实际搬迁投入}} m=实际搬迁投入十年租金收益增量 -
确定是否存在性价增益的拐点,即 m ≥ 20 m \geq 20 m≥20。
-
-
结果输出:
- 输出搬迁方案 X = [ x k , i ] \mathbf{X} = [x_{k,i}] X=[xk,i]。
- 输出腾出的整院信息 W = [ j , s j , r w , β n j ] \mathbf{W} = [j, s_j, r_w, \beta^{n_j}] W=[j,sj,rw,βnj]。
- 输出总成本 C C C,最终整院面积 S S S,收入 R R R 及盈利 P P P。
3. 模型融合
软件需要融合以下模型设计:
-
搬迁补偿模型:
Compensation k = ( s comp , k , l comp , k , c k ) \text{Compensation}_k = (s_{\text{comp},k}, l_{\text{comp},k}, c_k) Compensationk=(scomp,k,lcomp,k,ck) -
搬迁决策模型:
Maximize ∑ j ∑ i ∈ j s i × r w × β n j × ( 1 − h i ) \text{Maximize} \sum_{j} \sum_{i \in j} s_i \times r_w \times \beta^{n_j} \times (1 - h_i) Maximizej∑i∈j∑si×rw×βnj×(1−hi) -
性价增益模型:
m = 十年租金收益增量 实际搬迁投入 m = \frac{\text{十年租金收益增量}}{\text{实际搬迁投入}} m=实际搬迁投入十年租金收益增量
4. 软件功能
软件应具备以下功能:
- 智能计算:根据输入参数,自动计算搬迁补偿、搬迁决策和性价增益拐点。
- 可视化展示
老城区平移置换决策软件设计
为了设计一个智能计算老城区平移置换决策的软件框架,我们可以使用Python编程语言来实现。以下是一个简单的软件框架设计,包括输入参数、计算步骤和结果输出。
1. 输入参数
软件需要以下人工输入的参数:
- 地块信息:包括地块ID、所在杂院ID、地块朝向、地块面积、是否有住户等。
- 住户信息:包括住户ID、现居地块ID、搬迁意愿、心理价位等。
- 补偿条件:包括面积补偿比例(最多30%)、采光补偿标准、修缮补偿上限等。
- 成本预算:包括保底规划成本、备用金限制等。
- 收益计算参数:包括分散地块租金、整院租金、毗邻效益系数等。
- 时间成本:包括每户搬迁耗时、搬迁期间的租金损失等。
2. 计算步骤
软件的计算步骤可以设计如下:
- 数据预处理:导入并清洗地块和住户信息,确保数据完整性和一致性。
- 搬迁补偿建模:根据问题一的结果,为每户住户计算合理的面积补偿、采光补偿和修缮补偿范围。
- 搬迁决策优化:利用问题二的结果,设计针对每户住户的搬迁决策,使得最终搬迁后空出的完整院落最多,且总面积最大。同时,尽量控制搬迁住户数和成本。
- 性价增益拐点计算:利用问题三的结果,计算在不考虑保底规划成本约束时的投资回报率,并确定是否存在性价增益的拐点。
- 结果输出:输出搬迁方案、腾出的整院信息、总成本、最终整院面积、收入及盈利等。
3. Python代码实现
import pandas as pd
import numpy as np
# 1. 数据预处理
def preprocess_data(plot_data, resident_data):
# 清洗地块和住户信息
plot_data = plot_data.dropna()
resident_data = resident_data.dropna()
return plot_data, resident_data
# 2. 搬迁补偿建模
def calculate_compensation(resident_data, plot_data, area_compensation_rate=0.3, repair_cost_limit=200000):
compensation_list = []
for _, resident in resident_data.iterrows():
current_plot = plot_data[plot_data['地块ID'] == resident['现居地块ID']].iloc[0]
# 面积补偿
min_area = current_plot['地块面积']
max_area = min_area * (1 + area_compensation_rate)
# 采光补偿
preferred_orientation = current_plot['地块朝向']
# 修缮补偿
repair_cost = min(repair_cost_limit, resident['心理价位'])
compensation_list.append({
'住户ID': resident['住户ID'],
'最小面积': min_area,
'最大面积': max_area,
'朝向偏好': preferred_orientation,
'修缮补偿': repair_cost
})
return pd.DataFrame(compensation_list)
# 3. 搬迁决策优化
def optimize_relocation(plot_data, resident_data, compensation_data, budget=20000000):
relocation_plan = []
total_cost = 0
for _, resident in resident_data.iterrows():
compensation = compensation_data[compensation_data['住户ID'] == resident['住户ID']].iloc[0]
# 寻找合适的迁入地块
suitable_plots = plot_data[
(plot_data['地块面积'] >= compensation['最小面积']) &
(plot_data['地块面积'] <= compensation['最大面积']) &
(plot_data['地块朝向'] == compensation['朝向偏好']) &
(plot_data['是否有住户'] == False)
]
if not suitable_plots.empty:
chosen_plot = suitable_plots.iloc[0]
# 计算成本
cost = 30000 # 沟通成本
cost += compensation['修缮补偿']
area_loss = (chosen_plot['地块面积'] - resident['地块面积']) * 15 # 假设按南北厢房屋租金计算
cost += area_loss * 120 # 4个月的租金损失
if total_cost + cost <= budget:
relocation_plan.append({
'住户ID': resident['住户ID'],
'现居地块ID': resident['现居地块ID'],
'迁入地块ID': chosen_plot['地块ID'],
'成本': cost
})
total_cost += cost
return pd.DataFrame(relocation_plan), total_cost
# 4. 性价增益拐点计算
def calculate_roi(relocation_plan, plot_data, resident_data, rent_increase_rate=1
更多内容具体可以看看我的下方名片!
里面包含有本次竞赛一手资料与分析!
另外在赛中,我们也会陪大家一起解析建模比赛
记得关注Tina表姐哦~