2024“华数杯”国际赛(B题ICM)|光伏发电|国际大学生数学建模竞赛建模解析,小鹿学长带队指引全代码文章与思路

我是小鹿学长,就读于上海交通大学,截至目前已经帮200+人完成了建模与思路的构建的处理了~
在这里插入图片描述

完整内容可以在文章末尾领取!

问题重述

这个问题涉及创建一个数学模型,以解决与光伏发电和中国电力供应相关的各个方面。

  1. 电力供应与因素之间的关系(2024-2060):

    • 考虑影响电力供应的因素,如经济状况、家庭消费、城市化率和市场化。
    • 使用历史数据和趋势来建模这些因素与电力供应之间的关系。
    • 预测从2024年到2060年中国电力供应的发展趋势。
  2. 在特定区域建造光伏发电厂的可行性:

    • 分析建造光伏发电厂涉及的成本和收益。
    • 考虑选定区域的地理和光照条件。
    • 制定一个数学模型,评估在该特定位置建造光伏发电厂的可行性。
  3. 中国光伏发电最大潜力:

    • 利用中国的地理资源、投资能力以及成本和收入因素,确定光伏发电的最大潜力。
    • 考虑土地可用性、阳光照射和财政资源等限制因素。
  4. 用清洁能源替代燃煤发电:

    • 研究中国光伏发电可持续发展的战略规划。
    • 分析用清洁能源,特别是光伏发电,替代燃煤发电的可行性。
    • 考虑技术进步、市场需求和政府政策等因素。
  5. 致中国政府的一封一页信:

    • 在一封一页的信中总结研究的关键发现。
    • 强调可持续发展的重要性、光伏发电的潜力以及实现2060年碳峰和碳中和的建议。
  6. 文件结构(在25页限制内):

    • 包括一页摘要表、目录、完整解决方案、一封一页的信和参考文献列表。
    • 确保提交的所有方面,包括图像和附件,在25页的限制内。

问题一

1. 收集数据:

首先,收集与中国电力供应相关的各种数据,包括经济状况 E c o n Econ Econ、家庭消费 C o n s Cons Cons、城市化率 U r b a n Urban Urban、市场化 M a r k e t Market Market 和电力供应 E E E

2. 确定影响因素:

识别对电力供应有影响的关键因素,即经济状况、家庭消费、城市化率和市场化。

3. 建立数学模型:

建立多元线性回归模型:
E = β 0 + β 1 ⋅ E c o n + β 2 ⋅ C o n s + β 3 ⋅ U r b a n + β 4 ⋅ M a r k e t + ϵ E = \beta_0 + \beta_1 \cdot Econ + \beta_2 \cdot Cons + \beta_3 \cdot Urban + \beta_4 \cdot Market + \epsilon E=β0+β1Econ+β2Cons+β3Urban+β4Market+ϵ

4. 参数估计与模型拟合:

使用最小二乘法进行参数估计:
β = ( X T X ) − 1 X T Y \beta = (X^TX)^{-1}X^T Y β=(XTX)1XTY

其中:

  • X X X是设计矩阵,包含每个观测值对应的各个因素的数值;
  • Y Y Y 是电力供应的向量;
  • β \beta β 是参数向量。

5. 预测未来趋势:

在模型验证有效后,将未来的经济状况、家庭消费、城市化率和市场化的预测值代入模型,得到未来电力供应的预测结果。

6. 结果分析:

分析模型预测的结果,探讨各因素对电力供应的影响程度,找出关键因素,并提出实现中国电力供应可持续发展目标的建议。

import numpy as np
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt

# 生成模拟数据
np.random.seed(0)
n = 100  # 观测值数量
Econ = np.random.rand(n) * 10  # 模拟经济状况数据
Cons = np.random.rand(n) * 5   # 模拟家庭消费数据
Urban = np.random.rand(n) * 8  # 模拟城市化率数据
Market = np.random.rand(n) * 3 # 模拟市场化数据
epsilon = np.random.randn(n)    # 模拟误差

E = 2 + 1.5 * Econ + 0.8 * Cons + 1.2 * Urban + 0.5 * Market + epsilon

# 创建 DataFrame
data = {'E': E, 'Econ': Econ, 'Cons': Cons, 'Urban': Urban, 'Market': Market}
df = pd.DataFrame(data)

# 添加截距项
df['intercept'] = 1

# 定义自变量和因变量
X = df[['intercept', 'Econ', 'Cons', 'Urban', 'Market']]
y = df['E']

# 使用最小二乘法进行多元线性回归
model = sm.OLS(y, X).fit()

# 输出回归结果摘要
print(model.summary())

# 预测未来趋势
future_data = {
    'intercept': 1,
    'Econ': [/* 未来的经济状况数据 */],
    'Cons': [/* 未来的家庭消费数据 */],
    'Urban': [/* 未来的城市化率数据 */],
    'Market': [/* 未来的市场化数据 */],
}

future_df = pd.DataFrame(future_data)
future_prediction = model.predict(future_df)#见完整代码

问题二

1. 目标和问题定义:

我们的目标是在特定区域建造光伏发电厂,并通过最大化净收益来评估建设的可行性。我们需要考虑成本、收益和土地可用性等因素。

2. 目标函数:

我们希望最大化总净收益,其中净收益由售电收入减去建设和运营成本构成。

Maximize  Z = ( P × G − C b − C o ) × x \text{Maximize } Z = (P \times G - C_b - C_o) \times x Maximize Z=(P×GCbCo)×x

3. 约束条件:

  • 地理条件约束:考虑土地可用性,确保建设的光伏发电厂不会超出可利用的土地范围。
    Efficiency × x ≤ A \text{Efficiency} \times x \leq A Efficiency×xA

  • 成本约束:总建设和运营成本不能超过可用预算。
    C b × x + C o × x ≤ B C_b \times x + C_o \times x \leq B Cb×x+Co×xB

4. 求解方法:

我们使用线性规划来求解这个问题,其中目标是最大化总净收益,而约束条件考虑了地理和成本方面的限制。

5. 变量:

好的,以下是将所有变量的表示都改为使用$首尾包围:

  • x x x:在该区域建造的光伏发电厂数量(整数)。
  • P P P:售电价格(每单位电的售电价格)。
  • G G G:发电量(每个发电厂的预期发电量)。
  • C b C_b Cb:建设成本(每个发电厂的建设成本)。
  • C o C_o Co:运营成本(每个发电厂的年运营成本)。
  • Efficiency \text{Efficiency} Efficiency:发电效率。
  • A A A:土地可用性(可用于建造光伏发电厂的土地面积)。
  • B B B:可用预算(用于光伏发电厂建设和运营的可用预算)。

6. 结果分析:

通过求解线性规划问题,我们得到了最优的建设方案,包括建造的数量、位置以及预期的净收益。我们还可以进行敏感性分析,评估模型对各个因素的敏感程度,以确定最优解的稳定性。

使用Gurobi进行混合整数线性规划(MILP)的建模和求解需要先安装Gurobi并获取许可证。以下是整体思路:

1. 安装Gurobi:

首先,确保你已经安装了Gurobi Optimizer,并获得了有效的许可证。

2. 安装相关库:

在Python环境中,使用Gurobi的Python API,需要安装相关的Python库。可以使用以下命令安装:

pip install gurobipy

3. Gurobi建模和求解代码:

使用Gurobi的Python API,可以按照以下步骤进行建模和求解:

import gurobipy as gp
from gurobipy import GRB

# 创建模型
model = gp.Model("Photovoltaic_Power_Plant")

# 添加决策变量
x = model.addVar(vtype=GRB.INTEGER, name="x")  # 光伏发电厂数量

# 添加目标函数
P = 0.1  # 售电价格(每单位电的售电价格)
G = 100  # 发电量(每个发电厂的预期发电量)
C_b = 2000  # 建设成本(每个发电厂的建设成本)
C_o = 100  # 运营成本(每个发电厂的年运营成本)
model.setObjective((P * G - C_b - C_o) * x, sense=GRB.MAXIMIZE)

# 添加约束条件
Efficiency = 0.9  # 发电效率
A = 10000  # 土地可用性(可用于建造光伏发电厂的土地面积)
B = 100000  # 可用预算(用于光伏发电厂建设和运营的可用预算)
model.addConstr(Efficiency * x <= A, name="land_constraint")
model.addConstr((C_b + C_o) * x <= B, name="budget_constraint")

# 求解模型
model.optimize()

# 输出结果
if model.status == GRB.OPTIMAL:
    print("最优建设数量 (x):", x.x)
    print("最优净收益 (Z):", model.objVal)
else:
    print("未找到最优解")

# 释放资源
model.dispose()

这段代码使用Gurobi建模和求解问题,包括添加决策变量、目标函数和约束条件。最后,通过调用model.optimize()来求解模型,并输出结果。

问题三

使用Gurobi进行整数规划求解问题三的思路和代码如下:

思路:

  1. 决策变量: 对每个地区 i i i引入整数变量 N i N_i Ni,表示在该地区建造的光伏发电站数量。

  2. 目标函数: 最大化总发电量,即各地区光伏发电站发电量的总和。

    Maximize  Z = ∑ i = 1 M ( ∑ j = 1 N i ( P j × G j − C b j − C o j ) ) \text{Maximize } Z = \sum_{i=1}^{M} \left( \sum_{j=1}^{N_i} (P_j \times G_j - C_{b_j} - C_{o_j}) \right) Maximize Z=i=1M(j=1Ni(Pj×GjCbjCoj))

  3. 约束条件:

    • 地理约束:总建设的光伏发电站面积不超过各地区的可用土地面积。

      ∑ i = 1 M ( ∑ j = 1 N i A j ) ≤ Total Available Land \sum_{i=1}^{M} \left( \sum_{j=1}^{N_i} A_j \right) \leq \text{Total Available Land} i=1M(j=1NiAj)Total Available Land

    • 预算约束:总建设和运营成本不超过总预算。

      ∑ i = 1 M ( ∑ j = 1 N i ( C b j + C o j ) ) ≤ B \sum_{i=1}^{M} \left( \sum_{j=1}^{N_i} (C_{b_j} + C_{o_j}) \right) \leq B i=1M(j=1Ni(Cbj+Coj))B

    • 整数约束:确保每个地区的光伏发电站数量是整数。

      N i ∈ Z + N_i \in \mathbb{Z}^+ NiZ+

  4. 建立模型: 使用Gurobi建立整数规划模型,将上述目标函数和约束条件输入模型。

  5. 求解: 调用Gurobi进行求解,得到最优解。

代码:

import gurobipy as gp
from gurobipy import GRB

def solve_max_photovoltaic_power(P_values, G_values, C_b_values, C_o_values, A_values, B, total_available_land):
    # 创建模型
    model = gp.Model("MaxPhotovoltaicPower")

    # 决策变量
    N = {}
    for i in range(len(P_values)):
        N[i] = model.addVar(vtype=GRB.INTEGER, name=f"N_{i}")

    # 目标函数
    model.setObjective(gp.quicksum((P_values[i] * G_values[i] - C_b_values[i] - C_o_values[i]) * N[i] for i in range(len(P_values))), sense=GRB.MAXIMIZE)

    # 地理约束
    model.addConstr(gp.quicksum(A_values[i] * N[i] for i in range(len(P_values))) <= total_available_land, name="land_constraint")

    # 预算约束
    model.addConstr(gp.quicksum((C_b_values[i] + C_o_values[i]) * N[i] for i in range(len(P_values))) <= B, name="budget_constraint")

    # 求解模型
    model.optimize()

    # 输出结果
    if model.status == GRB.OPTIMAL:
        optimal_N = {i: N[i].x for i in range(len(P_values))}
        optimal_Z = model.objVal
        return optimal_N, optimal_Z
    else:
        print("未找到最优解")
        return None, None

# 示例数据
P_values = [0.1, 0.15, 0.12]
G_values = [100, 120, 90]
C_b_values = [2000, 2500, 1800]
C_o_values = [100, 120, 80]
A_values = [5000, 6000, 4500]
B = 50000
total_available_land = 20000

# 求解问题三
optimal_N, optimal_Z = solve_max_photovoltaic_power(P_values, G_values, C_b_values, C_o_values, A_values, B, total_available_land)

# 输出结果
if optimal_N is not None:
    print("最优建设数量 (N):", optimal_N)
    print("最优总发电量 (Z):", optimal_Z)

问题四

更全面地考虑碳峰和碳中和目标、技术创新、环境影响和经济效益等因素。

目标函数:
Maximize  Z = α 1 × CarbonReduction + α 2 × TechnologicalInnovation + α 3 × EconomicBenefits + α 4 × EnvironmentalImpact \text{Maximize } Z = \alpha_1 \times \text{CarbonReduction} + \alpha_2 \times \text{TechnologicalInnovation} + \alpha_3 \times \text{EconomicBenefits} + \alpha_4 \times \text{EnvironmentalImpact} Maximize Z=α1×CarbonReduction+α2×TechnologicalInnovation+α3×EconomicBenefits+α4×EnvironmentalImpact

其中, α 1 , α 2 , α 3 , α 4 \alpha_1, \alpha_2, \alpha_3, \alpha_4 α1,α2,α3,α4 是权重系数,用于平衡不同目标的重要性。

决策变量:

  • x i x_i xi: 表示在第 i i i 年投资于技术创新的资金。
  • y i y_i yi: 表示第 i i i 年光伏发电的总装机容量。
  • z i z_i zi: 表示第 i i i 年光伏发电的总发电量。

约束条件:

  1. 碳峰和碳中和目标约束:
    ∑ i = 2024 2060 z i ≤ CarbonReductionTarget \sum_{i=2024}^{2060} z_i \leq \text{CarbonReductionTarget} i=20242060ziCarbonReductionTarget

  2. 技术创新约束:
    ∑ i = 2024 2060 x i ≥ TechnologicalInnovationTarget \sum_{i=2024}^{2060} x_i \geq \text{TechnologicalInnovationTarget} i=20242060xiTechnologicalInnovationTarget

  3. 经济效益约束:
    ∑ i = 2024 2060 ( EconomicBenefitsCoefficient × y i ) ≥ EconomicBenefitsTarget \sum_{i=2024}^{2060} \left( \text{EconomicBenefitsCoefficient} \times y_i \right) \geq \text{EconomicBenefitsTarget} i=20242060(EconomicBenefitsCoefficient×yi)EconomicBenefitsTarget

  4. 环境影响约束:
    ∑ i = 2024 2060 ( EnvironmentalImpactCoefficient × z i ) ≤ EnvironmentalImpactTarget \sum_{i=2024}^{2060} \left( \text{EnvironmentalImpactCoefficient} \times z_i \right) \leq \text{EnvironmentalImpactTarget} i=20242060(EnvironmentalImpactCoefficient×zi)EnvironmentalImpactTarget

  5. 总投资约束:
    ∑ i = 2024 2060 x i + ( InvestmentPerCapacity × y i ) ≤ TotalInvestmentCap \sum_{i=2024}^{2060} x_i + \left( \text{InvestmentPerCapacity} \times y_i \right) \leq \text{TotalInvestmentCap} i=20242060xi+(InvestmentPerCapacity×yi)TotalInvestmentCap

  6. 光伏发电占比目标:
    ∑ i = 2024 2060 z i ∑ i = 2024 2060 TotalElectricityConsumption ≥ PhotovoltaicPercentageTarget \frac{\sum_{i=2024}^{2060} z_i}{\sum_{i=2024}^{2060} \text{TotalElectricityConsumption}} \geq \text{PhotovoltaicPercentageTarget} i=20242060TotalElectricityConsumptioni=20242060ziPhotovoltaicPercentageTarget

求解过程和思路:

  1. 建立模型: 使用上述目标函数和约束条件建立数学模型。

  2. 参数设定: 设置各项参数,包括权重系数 α 1 , α 2 , α 3 , α 4 \alpha_1, \alpha_2, \alpha_3, \alpha_4 α1,α2,α3,α4,各项目标的具体目标值,投资上限等。

  3. 求解模型: 使用优化工具(如Gurobi)求解模型,得到各个决策变量的最优值。

  4. 解释结果: 解读模型的结果,分析最优投资方案,包括投资分配、光伏发电规模、碳减排效果、经济效益等。

  5. 灵敏性分析: 进行灵敏性分析,观察模型对各项参数的敏感性,评估模型在不同情景下的鲁棒性。

以下是一个简化的示例代码,仅供参考:

import gurobipy as gp
from gurobipy import GRB

def solve_sustainable_photovoltaic_strategy(CarbonReductionTarget, TechnologicalInnovationTarget, EconomicBenefitsTarget, 
                                            EnvironmentalImpactTarget, TotalInvestmentCap, PhotovoltaicPercentageTarget,
                                            EconomicBenefitsCoefficient, EnvironmentalImpactCoefficient, InvestmentPerCapacity,
                                            TotalElectricityConsumption, alpha1, alpha2, alpha3, alpha4):
    # 创建模型
    model = gp.Model("SustainablePhotovoltaicStrategy")

    # 决策变量
    x = {i: model.addVar(vtype=GRB.CONTINUOUS, name=f"x_{i}") for i in range(2024, 2061)}
    y = {i: model.addVar(vtype=GRB.CONTINUOUS, name=f"y_{i}") for i in range(2024, 2061)}
    z = {i: model.addVar(vtype=GRB.CONTINUOUS, name=f"z_{i}") for i in range(2024, 2061)}

    # 目标函数
    model.setObjective(alpha1 * gp.quicksum(z[i] for i in range(2024, 2061)) +
                       alpha2 * gp.quicksum(x[i] for i in range(2024, 2061)) +
                       alpha3 * gp.quicksum(EconomicBenefitsCoefficient * y[i] for i in range(2024, 2061)) +
                       alpha4 * gp.quicksum(EnvironmentalImpactCoefficient * z[i] for i in range(2024, 2061)),
                       sense=GRB.MAXIMIZE)

    # 约束条件
    model.addConstr(gp.quicksum(z[i] for i in range(2024, 2061)) <= CarbonReductionTarget, name="carbon_reduction_constraint")
    model.addConstr(gp.quicksum(x[i] for i in range(2024, 2061)) >= TechnologicalInnovationTarget, name="technological_innovation_constraint")
    model.addConstr(gp.quicksum(EconomicBenefitsCoefficient * y[i] for i in range(2024, 2061)) >= EconomicBenefitsTarget, name="economic_benefits_constraint")
    model.addConstr(gp.quicksum(EnvironmentalImpactCoefficient * z[i] for i in range(2024, 2061)) <= EnvironmentalImpactTarget, name="environmental_impact_constraint")
    model.addConstr(gp.quicksum(x[i] + InvestmentPerCapacity * y[i] for i in range(2024, 2061)) <= TotalInvestmentCap, name="total_investment_constraint")

    total_electricity_consumption = gp.quicksum(z[i] for i in range(2024, 2061))
    model.addConstr(total_electricity_consumption / TotalElectricityConsumption >= PhotovoltaicPercentageTarget,
                    name="photovoltaic_percentage_constraint")

    # 求解模型
    model.optimize()

    # 输出结果
    if model.status == GRB.OPTIMAL:
        optimal_x = {i: x[i].x for i in range(2024, 2061)}
        optimal_y = {i: y[i].x for i in range(2024, 2061)}
        optimal_z = {i: z[i].x for i in range(2024, 2061)}
        optimal_Z = model.objVal
        return optimal_x, optimal_y, optimal_z, optimal_Z
    else:
        print("未找到最优解")
        return None, None, None, None

# 示例数据
CarbonReductionTarget = 5000
TechnologicalInnovationTarget = 1000
EconomicBenefitsTarget = 200000

灵敏性分析
在优化模型中,灵敏性分析是一种评估模型对输入参数变化的敏感程度的方法。在Gurobi中,可以通过检查变量的阴影价格(Shadow Prices)和松弛变量(Slack Values)来进行灵敏性分析。阴影价格表示目标函数值对约束右侧的单位变化的影响,而松弛变量表示约束是否对最优解有贡献。

以下是进行灵敏性分析的过程:

# 求解模型
model.optimize()

# 输出结果
if model.status == GRB.OPTIMAL:
    print("最优目标函数值 (Z):", model.objVal)
    print("\n灵敏性分析:")

    # 阴影价格 (Shadow Prices)
    print("\n阴影价格 (Shadow Prices):")
    for constraint in model.getConstrs():
        print(f"{constraint.ConstrName}: {constraint.Pi}")

    # 松弛变量 (Slack Values)
    print("\n松弛变量 (Slack Values):")
    for constraint in model.getConstrs():
        print(f"{constraint.ConstrName}: {constraint.Slack}")

    # 变量的灵敏性分析
    print("\n变量的灵敏性分析:")
    for variable in model.getVars():
        print(f"{variable.VarName}: {variable.RC}")

else:
    print("未找到最优解")

上述代码首先使用 model.optimize() 求解模型,然后检查模型的状态。如果最优解被找到,它将输出最优目标函数值,并进行灵敏性分析。

  • 阴影价格 (Shadow Prices): 通过迭代所有约束,获取每个约束的阴影价格,这反映了目标函数值对约束右侧的单位变化的敏感性。

  • 松弛变量 (Slack Values): 同样迭代所有约束,获取每个约束的松弛变量,这表示约束是否对最优解有贡献。如果松弛变量为零,则该约束在最优解中是严格生效的。

  • 变量的灵敏性分析 (Reduced Cost): 对每个变量,获取其对应的影子价格,这表示目标函数对变量的单位增量的敏感性。

通过分析这些值,可以了解模型对输入参数的变化如何响应,以及哪些约束和变量对最优解的影响较大。请根据实际情况解释和调整结果。

问题五:

问题五要求根据研究结果,撰写一封1页的信件给中国政府,内容包括一面总结、目录、完整解决方案、一封信和参考文献。下面是问题五的思路:

  1. 总结: 简要总结研究的主要发现和解决方案。

  2. 目录: 创建一个清晰的目录,包括问题描述、建模思路、数学模型、代码实现、结果分析、政府建议等。

  3. 完整解决方案: 提供完整的解决方案,包括数学模型、代码实现、以及对问题的深入分析和解释。

  4. 一封信: 撰写一封针对中国政府的信,其中包括对问题的解释、建议和实施计划。

  5. 参考文献: 引用使用的所有资料、模型和代码的来源,确保透明度和学术规范。

具体步骤:

  1. 问题描述: 简要描述问题的背景、重要性和挑战。

  2. 建模思路: 对问题进行建模的思路,包括分析关键因素、设定目标、确定约束条件等。

  3. 数学模型: 给出建立的数学模型,包括变量、目标函数、约束条件等。

  4. 代码实现: 提供问题的代码实现,包括模型求解和结果分析。

  5. 结果分析: 对模型的结果进行深入分析,包括灵敏性分析、可行性讨论等。

  6. 政府建议: 根据研究结果向政府提出建议,包括政策制定、投资方向等。

  7. 一封信: 撰写正式信函,以专业的方式向政府传达研究的结果和建议。

  8. 参考文献: 引用所有使用的文献、数据和代码来源,确保研究的可信度和透明度。

示例信件:

尊敬的[收信人姓名],

我谨代表我们的团队,向您分享我们在2024 "Huashu Cup"国际数学建模竞赛中关于中国电力供应和光伏发电的研究成果。我们深知能源领域的挑战和机遇,特此致函,希望我们的研究成果能为贵部门的决策提供有益的信息。

**总结:**
我们的研究表明,中国在电力供应和光伏发电方面面临重要的战略抉择。为实现碳峰和碳中和目标,我们建议采取一系列综合措施,包括提高光伏发电效率、加大投资支持、完善政策法规等。

**目录:**
1. 问题描述
2. 建模思路
3. 数学模型
4. 代码实现
5. 结果分析
6. 政府建议
7. 一封信
8. 参考文献

**数学模型:**
我们建立了一个多因素综合考虑的数学模型,以电力供应与光伏发电的相互关系为基础。我们的目标是最大化碳减排效益,确保电力供应的可持续性。

**代码实现:**
我们使用了先进的数学建模工具如Gurobi等对模型进行了求解。具体的代码实现请参见附件。

**结果分析:**
通过对模型的深入分析,我们发现...

**政府建议:**
基于我们的研究,我们向政府提出以下建议:
- 制定更加激励光伏发电的政策,提高投资回报率。
- 推动技术创新,提高光伏发电效率。
- 完善电力市场监管,促使光伏发电更好地融入电力供应体系。

**一封信:**
我们希望通过这封信能够将我们的研究成果传达给您,并期待能为中国的能源发展和碳中和目标实现提供有益的参考。我们愿意提供进一步的解释和讨论,以更好地支持贵部门的决策。

感谢您花时间阅读我们的研究成果。

真诚致敬,

[你的姓名]
[你的职务]
[你的联系方式]

**参考文献:**
[列出所有使用的文献和数据来源]

更多内容可以点击下方名片详细了解,让小鹿学长带你冲刺认证杯夺奖之路!
敬请期待我们的努力所做出的工作!记得关注 鹿鹿学长呀!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/328461.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络-甘晴void学习笔记

计算机网络 计科210X 甘晴void 202108010XXX 文章目录 计算机网络期中复习1计算机网络和因特网1.1 因特网1.2 网络边缘1.3 网络核心1.4 分组交换的时延/丢包和吞吐量1.5 协议层次与服务模型 2 应用层原理2.1 应用层协议原理2.2 Web和Http2.3 因特网中的电子邮件2.4 DNS&#x…

史星海先生入选 2024中英双语版《世界名人录》【综合22卷·文化卷】(中国)

史星海(中国) Shi Xinghai (China) 经海内外各界名人及世界相关权威文化机构的大力举荐&#xff0c;鉴于史星海先生在国内外文艺&#xff0c;经济&#xff0c;政治等领域的重大影响力&#xff0c;荣幸获得入编大型人物辞书2024中英双语版《世界名人录》&#xff08;综合卷文化…

Open CASCADE学习|显示模型

目录 1、编写代码 Viewer.h Viewer.cpp ViewerInteractor.h ViewerInteractor.cpp helloworld.cpp 2、配置 3、编译运行 1、编写代码 Viewer.h #pragma once ​ #ifdef _WIN32 #include <Windows.h> #endif ​ // Local includes #include "ViewerInteract…

各省快递量数据, shp+excel,2001-2021年,已实现数据可视化

基本信息. 数据名称: 各省快递量数据 数据格式: shpexcel 数据时间&#xff1a;2001-2021年 数据几何类型: 面 数据坐标系: WGS84 数据来源&#xff1a;网络公开数据 数据字段&#xff1a; 序号字段名称字段说明1a_2001快递量/万件_2001年2a_2002快递量/万件_2002年3…

热压机PLC数据采集远程监控物联网解决方案

热压机PLC数据采集远程监控物联网解决方案 随着工业4.0时代的到来&#xff0c;智能制造已经成为制造业发展的重要方向。在热压机领域&#xff0c;PLC数据采集远程监控物联网解决方案为提高生产效率、降低维护成本、优化生产工艺提供了有效的手段。 一、热压机PLC数据采集远程…

一文带你揭秘淘宝终端技术

作者&#xff1a;周杰&#xff08;寻弦&#xff09; 在这个数字化迅速发展的时代&#xff0c;技术的每一次飞跃都不仅仅意味着一个产品的升级&#xff0c;更是对未来世界的一次大胆想象。从 PC 到 iPhone&#xff0c;从 Model 3 到 ChatGPT&#xff0c;都引领了全新的一个行业。…

Linux miniGUI移植分析

框架介绍 常用GUI程序对比 https://www.cnblogs.com/zyly/p/17378659.html MiniGUI分为底层的GAL&#xff08;图形抽象层&#xff09;和IAL&#xff08;输入抽象层&#xff09;&#xff0c;向上为基于标准POSIX接口中pthread库的Mini-Thread架构和基于Server/Client的Mini-L…

护眼灯有没有护眼的效果啊?有效果的护眼灯推荐

近几年&#xff0c;青少年近视人数呈现猛增的势头&#xff0c;且低龄化趋势也越来越明显&#xff0c;社会各界开始重视对青少年视力问题的关注。伤害视力的原因有很多种&#xff0c;其中没有良好的光线条件是问题之一&#xff0c;当使用的台灯不合格&#xff0c;频闪与蓝光问题…

渗透测试(12)- WireShark 网络数据包分析

目录 1、WireShack 简介 2、WireShark 基本使用方法 3、 WireShack 抓包分析 3.1 Hypertext Transfer Protocol (应用层) 3.2 Transmission Control Protocol (传输层) 3.3 Internet Protocol Version 4(网络层) 3.4 Ethernet Il (链路层): 数据链路层以太网头部信息 …

ZooKeeper 实战(五) Curator实现分布式锁

文章目录 ZooKeeper 实战(五) Curator实现分布式锁1.简介1.1.分布式锁概念1.2.Curator 分布式锁的实现方式1.3.分布式锁接口 2.准备工作3.分布式可重入锁3.1.锁对象3.2.非重入式抢占锁测试代码输出日志 3.3.重入式抢占锁测试代码输出日志 4.分布式非可重入锁4.1.锁对象4.2.重入…

数据结构之串|数组|广义表

串 数组 广义表 总结&#xff1a;

【JS逆向学习】1号店

逆向目标 接口&#xff1a;https://passport.yhd.com/publicPassport/login.do加密参数&#xff1a; credentials.usernamecredentials.password 逆向过程 老规矩&#xff0c;输入用户名和密码&#xff0c;点击登录&#xff0c;然后过滤 XHR 请求 进入 Initiator 随便找个…

计算机毕业设计------SSH新闻资讯网站管理系统

项目介绍 该系统分成两个项目&#xff0c;前台项目与后台项目&#xff0c;需要分别运行&#xff1b; 后台管理员角色包含以下功能&#xff1a; 管理员登录,新闻专题类别管理,友情链接管理,广告管理,新闻列表管理,管理员管理,信息修改等功能。 前台用户角色包含以下功能&#…

逸学Docker【java工程师基础】1.认识docker并且安装

场景问题 在实际开发过程中我们有这样的场景问题 在开发阶段的环境配置到了其他人项目人员那里就不能运行了&#xff0c;尽管配置规格相同&#xff0c;但是在较多的不同的环境情况下还是可能会有错误。 开发&#xff1a;程序员&#xff1a;你那边可以运行了吗 测试&#xf…

JUC的常见类

目录 Callable ReentrantLock Semaphore CountDownLatch JUC即 java.util.concurrent&#xff0c;其中存放了一些进行多线程编程时有用的类 Callable Callable是一个接口&#xff0c;在我们实现Runnable创建线程时&#xff0c;Runnable关注的是其过程&#xff0c;而不关注…

【1】SM4 CBC-MAC 机制

0x01 题目 MSG1: e55e3e24a3ae7797808fdca05a16ac15eb5fa2e6185c23a814a35ba32b4637c2 MAC1: 0712c867aa6ec7c1bb2b66312367b2c8 ----------------------------------------------------- MSG2: d8d94f33797e1f41cab9217793b2d0f02b93d46c2ead104dce4bfec453767719 MAC2: 4366…

【CF闯关练习】—— 1400分(C. Make Good、B. Applejack and Storages)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;cf闯关练习 &#x1f48c;其他专栏&#xff1a; &#x1f534;每日一题 &#x1f7e1; C跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0c;缓…

016-Vue-黑马2023:前后端分离开发(在线接口文档),前端工程化、Element、nginx

第三节 前后端分离开发 1、介绍 开发模式 前后端混合开发&#xff1a;传统开发模式 前后端分离开发&#xff1a;当前最为主流的开发模式 页面原型需求案例&#xff1a;分析出接口文档 离线开发文档示例&#xff1a; 2、YAPI&#xff08;官网已停用&#xff09; 202…

【工作记录】基于springboot3+springsecurity6实现多种登录方式(一)

前言 springboot3已经推出有一段时间了&#xff0c;近期公司里面的小项目使用的都是springboot3版本的&#xff0c;安全框架还是以springsecurity为主&#xff0c;毕竟亲生的。 本文针对基于springboot3和springsecurity实现用户登录认证访问以及异常处理做个记录总结&#x…

NVMe-oF RDMA vs. TCP延时测试对比:端到端SPDK的意义

前不久看到一篇《NVIDIA BlueField 再创 DPU 性能世界纪录》的新闻&#xff0c;该测试环境是2台服务器&#xff0c;每台各安装2块NVIDIA Bluefield-2 DPU&#xff0c;形成4条100GbE以太网直连&#xff0c;两端分别跑NVMe-oF Target&#xff08;存储目标&#xff09;和Initiator…