Skip to content

问题一

小问一

要求:设计合理的搬迁补偿方案,能根据住户情况给出合理的面积补偿、采光补偿和修缮补偿 范围

创新点:

  • 智能补偿方案匹配:结合住户需求与空置地块资源,设计动态补偿方案。
  • 公平性评估:通过补偿范围的公平性评估,避免因补偿差异导致的居民不满。(修缮补偿上限 != 最大修缮费用)
  • 多层次补偿策略:根据住户需求优先级,分层次设计补偿方案。(额外考虑)

我的理解

补偿的范围含义:

  • 补偿的最小值:面积不减少采光不降低居住品质不降低

  • 补偿的最大值:开发商能给出的最大条件,对居民搬迁的最大吸引力

综合考虑面积补偿采光补偿修缮补偿

模型构建

数学模型:MCDA

目标函数:$U = w_s \times \frac{S_{迁后}}{S_{迁前}} + w_l \times \frac{L_{迁后}}{L_{迁前}} + w_c \times C$

约束条件:

  • $1 \geqslant U \geqslant U_{min}$

  • $S_{原} \times 1.3 \geqslant S$

  • $L \geqslant L_{原}$

  • $200000 \geqslant C \geqslant 0$

  • $20000000 * 1.3 \geqslant C_{总成本} \geqslant 0$ (删除)

说明:

  • $U_{min}$ 取 0.7 合适
  • 只针对单个居民讨论是否同意搬迁,因此不考虑总成本大小
  • 其他因素反映到修缮补偿上去,调节上下限(考虑)

AI点评该模型:


问题分析

  1. 目标函数
    目标函数 $U = w_s \times S + w_l \times L + w_c \times C$ 是合理的,涵盖了面积、采光和修缮三个核心补偿维度,符合多标准决策分析(MCDA)的框架。

  2. 约束条件

    • $1 \geqslant U \geqslant U_{min}$:满意度范围合理,确保满意度在合理区间内。
    • $S_{原} \times 1.3 \geqslant S \geqslant S_{原}$:符合面积补偿的上下限要求。
    • $L \geqslant L_{原}$:采光补偿约束正确,确保迁入地块采光不低于原地块。
    • $200000 \geqslant C \geqslant 0$:修缮补偿上限正确,符合题意。
    • $20000000 \times 1.3 \geqslant C_{总成本} \geqslant 0$:总成本约束合理,控制在预算范围内。
    • $w_1 + w_2 + w_3 = 1$:权重约束正确,确保权重总和为1。
  3. 潜在问题

    • $U_{min}$ 的定义:需明确 $U_{min}$ 的具体数值,建议通过居民满意度调查确定。
    • 总成本约束:$20000000 \times 1.3$ 是否为题目明确给出的预算上限?需确认。
    • 权重分配:权重 $w_1, w_2, w_3$ 的分配需结合实际调查数据,确保权重反映居民真实需求。
    • 补偿方案的公平性:需确保不同住户的补偿方案在面积、采光和修缮方面公平分配。

改进建议

  1. 明确 $U_{min}$ 的定义
    通过问卷调查或历史数据,确定居民的最低满意度阈值,确保搬迁方案的可接受性。

  2. 验证总成本约束
    确认总成本上限是否为2000万元加30%的备用金(即2600万元),并在模型中明确体现。

  3. 权重分配机制
    通过层次分析法(AHP)或其他多标准决策方法,科学分配权重,确保权重的合理性。

  4. 补偿方案的公平性评估
    在模型中增加公平性约束,确保不同住户的补偿方案在各维度上公平。


总结

你的模型构建总体合理,但需在满意度阈值、总成本确认、权重分配和公平性评估方面进一步完善,以确保模型的科学性和实用性。

python
import pandas as pd
import cvxpy as cp

direction = {"北": 3, "南": 3, "东": 2, "西": 1}
W_S = 0.4  # 面积权重
W_L = 0.3  # 采光权重
W_C = 0.3  # 补偿权重

answer = []

if __name__ == "__main__":

    # 数据预处理
    file_path = r"M:\我的桌面\2025年第十五届MathorCup数学应用挑战赛赛题\B\附件一:老城街区地块信息.xlsx"
    df = pd.read_excel(file_path, sheet_name="Sheet1")
    df["地块方位"] = df["地块方位"].map(direction)
    total = df.shape[0]  # 总数据量
    # 对每户居民进行求解
    for i in range(total):
        # 无人居住
        if df["是否有住户"][i] == 0:
            continue
        # 创建变量
        x = cp.Variable(shape=3, integer=True)
        max_x0 = df["地块面积"][i] * 1.3
        max_x1 = 4
        max_x2 = 200000
        # 构建目标函数
        tar = W_S * x[0] / max_x0 + W_L * x[1] / max_x1 + W_C * x[2] / max_x2
        obj = cp.Minimize(tar)
        # 限制条件
        con = [x[0] / df["地块面积"][i] <= 1.3,
               x[1] >= df["地块方位"][i],
               x[1] <= max_x1,
               x[2] >= 0,  # 修缮费用 上下限 有待处理
               x[2] <= max_x2,
               0.7 <= tar]
        # 创建问题
        prob = cp.Problem(obj, con)
        # 求解问题
        ret = prob.solve()
        if prob.status != "optimal":
            print("无解")
        else:
            answer.append([int(i) for i in [df["地块ID"][i],
                                             x.value[0], max_x0,
                                             x.value[1], max_x1,
                                             x.value[2], max_x2]])

    print("求解完毕")
    pd.DataFrame(answer, columns=["地块ID", "最小面积", "最大面积", "最低采光", "最高采光", "最少修缮", "最多修缮"]).to_excel("./问题一居民搬迁最低要求.xlsx")
    print("保存成功")

小问二

要求:还有哪些因素可能会影响住户是 否同意搬迁?作为规划局/开发商,应如何应对?请详细列出并定性/ 定量探讨

记录学习,分享技术