2024年辽宁省数学建模竞赛C题超详细解题思路+问题一案代码分享

本文将为大家带来2024年C题超详细解题思路,本次竞赛6000人参加,共计2400+队伍。C题作为本次竞赛中最简单的一道题目,意味着选题人数也将是最多的。因此,本文将对C题的解题思路以及将要面对的问题,进行详细的说明。希望我们的思路能够对大家的解题有所帮助。

C题与2021年国赛C4烯烃的制备(研究不同催化剂组合下的最优解)高度相似,我给大家收集了当年的优秀论文,大家可以有选择地进行参考。

C题相关优秀论文+问题一数据预处理代码分享链接:https://pan.baidu.com/s/1wpNZYW5v8jf2iM0uB7pDEA

提取码:sxjm

首先,第一步对于数据类型的题目应该是进行必要的数据处理,不可以直接进行解题。2023年国赛ABC题数据预处理部分都至少设置了10分的分值。因此,大家的论文中一定要有相关的预处理体现。数据预处理即需要进行缺失值、异常值、降维以及必要的数据分析。本文给出的数据,基本不存在异常值、缺失值。但是论文中必须有相关部分的体现,即使是没有处理的结果是没有异常数据也要有相关工作的体现

对于绘制初始数据的可视化结果,可以分开绘制多张折线图、也可以绘制三维图甚至可以绘制多维度的二维图,以下是对于ROX去除率(%)的几种可视化结

问题一、当其他反应条件一定时,分别探讨反应温度,溶液 pH,吸附剂用量对 As(V)ROX 去除率的影响。

对于问题一,主要思路是首先一共四种结果,三种情况,需要进行12次单独分析。我们这里仅仅选取一个为例进行说明(其他放于附录或者支撑材料即可),最后还要考虑所有因素对去除率的综合影响(为问题二做铺垫)。

对于分析过程,可以直接选择绘制折线图+文字描述【三等奖】,也可以绘制折线图+回归模型、因子分析模型、响应面方法+文字描述【一等奖】,

我们以ROX去除率(%)为例进行说明。可以绘制下图的折线图,进行部分说明

 

·  反应温度对 ROX 去除率的影响

  • 在 pH 3 和 pH 5 条件下,随着温度的升高,ROX 去除率略有下降,但整体变化不大。
  • 在 pH 7 和 pH 9 条件下,随着温度的升高,ROX 去除率有较明显的下降。

·  溶液 pH 对 ROX 去除率的影响

  • 在所有温度和吸附剂用量条件下,pH 3、pH 5、pH 6 条件下的 ROX 去除率明显高于 pH 7 和 pH 9。
  • pH 7 和 pH 9 条件下的 ROX 去除率较低,尤其在较高温度下更为明显。

·  吸附剂用量对 ROX 去除率的影响

  • 随着吸附剂用量的增加,ROX 去除率显著提高,尤其在高温和低 pH 条件下效果更为明显。
  • 较高吸附剂用量(0.8 g/L 和 1.0 g/L)时,ROX 去除率接近 100%。

也可以进行回归模型、因子分析模型、响应面方法,下面就是回归i分析以及因子分析的结果图,仅供参考。

 

​​​​​​​

 

 

问题三、如果允许再增加 5 次实验,应如何设计,并给出详细理由。

为了设计新的实验,我们需要充分利用已经得到的优化结果和模型信息。增加新的实验应尽量覆盖未探索过的区域,并基于优化结果进行微调,以验证模型的准确性和提高数据的多样性。下面是详细步骤和理由。

新实验设计思路

覆盖未探索区域:选择在参数空间中未充分覆盖的区域进行实验,以增加数据的多样性。

验证优化结果:在接近优化结果的参数范围内进行实验,以验证模型预测的准确性。

均匀分布实验点:在整个参数空间内均匀分布新的实验点,确保模型的广泛适用性。

具体实验点选择

根据之前的优化结果(温度为15°C,pH为3,吸附剂用量为0.2 g/L),我们可以在此基础上选择以下五个新的实验点:

温度稍微增加,其他条件不变:T=20 °C,pH=3,A=0.2 g/L

pH 稍微增加,其他条件不变:T=15 ° ,pH=4,A=0.2 g/L

吸附剂用量稍微增加,其他条件不变:T=15 °,pH=3,A=0.3 g/L

在优化结果附近的高温低pH区域:T=25 °C,pH=3,}A=0.2g/L

覆盖未充分探索的区域:T=35 °C,pH=5,A=0.5 g/L ,

新实验设计的理由

第一个实验点:温度稍微增加,验证温度对吸附量的影响。

第二个实验点:pH 稍微增加,验证 pH 对吸附量的影响。

第三个实验点:吸附剂用量稍微增加,验证吸附剂用量对吸附量的影响。

第四个实验点:在优化结果附近的高温低pH区域,验证模型的准确性。

第五个实验点:覆盖未充分探索的区域,增加数据的多样性。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用SimHei字体
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号
# 数据预处理
data = {
    'Temperature (°C)': [15, 25, 30, 35, 45] * 5,
    'Adsorbent (g/L)': [0.2]*5 + [0.4]*5 + [0.6]*5 + [0.8]*5 + [1.0]*5,
    'pH 3': [77.56, 77.03, 75.65, 75.90, 80.60, 94.50, 93.03, 90.80, 90.97, 95.30, 97.12, 96.10, 93.78, 94.27, 97.89, 99.43, 99.30, 96.89, 97.31, 99.28, 99.46, 99.17, 97.45, 97.46, 99.45],
    'pH 5': [77.23, 76.82, 74.89, 75.65, 79.53, 94.63, 92.34, 89.98, 90.89, 94.78, 96.34, 95.45, 93.99, 94.54, 96.67, 99.13, 99.10, 96.70, 97.12, 99.10, 99.40, 99.34, 98.34, 98.88, 99.42],
    'pH 6': [77.05, 76.40, 74.38, 74.79, 78.89, 94.02, 92.59, 90.34, 90.26, 94.30, 96.30, 95.30, 93.03, 93.83, 96.94, 99.23, 98.93, 96.95, 97.04, 98.76, 99.27, 98.94, 96.87, 96.97, 99.37],
    'pH 7': [34.89, 32.62, 30.23, 30.85, 35.90, 53.37, 53.29, 51.78, 52.43, 56.39, 39.25, 38.75, 37.17, 38.02, 40.38, 45.38, 42.13, 41.89, 42.78, 42.58, 48.78, 48.27, 45.48, 45.90, 47.89],
    'pH 9': [26.17, 25.77, 24.89, 25.30, 28.10, 46.89, 46.78, 43.20, 44.10, 47.72, 32.12, 32.10, 30.47, 30.27, 39.31, 32.98, 30.68, 32.46, 34.23, 34.59, 35.23, 35.67, 34.97, 33.76, 34.03]
}

# Convert data into a DataFrame
df = pd.DataFrame(data)

# Plotting
plt.figure(figsize=(14, 10))
sns.lineplot(data=df, x='Temperature (°C)', y='pH 3', hue='Adsorbent (g/L)', marker='o')
sns.lineplot(data=df, x='Temperature (°C)', y='pH 5', hue='Adsorbent (g/L)', marker='o', linestyle='--')
sns.lineplot(data=df, x='Temperature (°C)', y='pH 6', hue='Adsorbent (g/L)', marker='o', linestyle='-.')
sns.lineplot(data=df, x='Temperature (°C)', y='pH 7', hue='Adsorbent (g/L)', marker='o', linestyle=':')
sns.lineplot(data=df, x='Temperature (°C)', y='pH 9', hue='Adsorbent (g/L)', marker='o', linestyle='-')

plt.title('ROX Removal Rate (%) at Different Conditions')
plt.xlabel('Temperature (°C)')
plt.ylabel('ROX Removal Rate (%)')
plt.legend(title='pH and Adsorbent (g/L)', loc='best')
plt.grid(True)
plt.show()

# Plotting different pH conditions separately for better visualization
plt.figure(figsize=(16, 24))

# Different pH conditions
pH_values = ['pH 3', 'pH 5', 'pH 6', 'pH 7', 'pH 9']

# Plot each pH condition
for i, pH in enumerate(pH_values):
    plt.subplot(5, 1, i+1)
    sns.lineplot(data=df, x='Temperature (°C)', y=pH, hue='Adsorbent (g/L)', marker='o', palette='tab10')
    plt.title(f'ROX Removal Rate at {pH}')
    plt.xlabel('Temperature (°C)')
    plt.ylabel('ROX Removal Rate (%)')
    plt.legend(title='Adsorbent (g/L)')
    plt.grid(True)

plt.tight_layout()
plt.show()

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

# 数据处理
data_rox_absorption = {
    'Temperature (°C)': [15, 25, 30, 35, 45] * 5,
    'Adsorbent (g/L)': [0.2]*5 + [0.4]*5 + [0.6]*5 + [0.8]*5 + [1.0]*5,
    'pH 3': [40.38, 40.10, 39.86, 39.00, 34.52, 24.54, 25.02, 25.78, 24.19, 22.46, 12.39, 12.35, 12.01, 11.40, 10.41, 9.88, 9.87, 9.87, 9.73, 9.04, 8.42, 8.36, 8.49, 7.45, 7.44],
    'pH 5': [40.10, 39.70, 39.89, 38.73, 34.28, 24.37, 24.85, 25.60, 24.02, 22.30, 12.30, 12.69, 11.93, 11.32, 10.34, 9.81, 9.85, 9.81, 9.69, 9.04, 8.36, 8.30, 8.43, 7.51, 7.39],
    'pH 6': [39.86, 39.46, 39.65, 38.49, 34.07, 24.22, 24.70, 25.44, 23.87, 22.16, 12.22, 12.19, 11.86, 11.25, 10.28, 9.75, 9.34, 9.75, 9.63, 8.98, 8.58, 8.25, 8.38, 7.35, 7.34],
    'pH 7': [16.92, 16.75, 17.56, 16.34, 14.47, 11.56, 10.49, 10.80, 10.14, 9.41, 5.19, 5.17, 5.03, 4.78, 4.36, 4.14, 3.97, 4.07, 4.09, 3.81, 3.53, 3.50, 3.56, 3.33, 3.12],
    'pH 9': [14.24, 14.09, 14.62, 13.75, 12.17, 8.65, 8.03, 9.09, 8.53, 7.92, 4.37, 4.40, 4.24, 4.02, 3.67, 3.48, 3.77, 3.48, 3.44, 3.21, 3.12, 2.95, 3.04, 2.63, 2.62]
}

# 转换数据为 DataFrame 格式
df_absorption = pd.DataFrame(data_rox_absorption)

# 将 DataFrame 转换为长格式
df_melted_absorption = df_absorption.melt(id_vars=['Temperature (°C)', 'Adsorbent (g/L)'], var_name='pH', value_name='ROX Absorption (mg/g)')
df_melted_absorption['pH'] = df_melted_absorption['pH'].str.extract('(\d+)').astype(int)

# 绘制箱线图
plt.figure(figsize=(14, 8))
sns.boxplot(x='pH', y='ROX Absorption (mg/g)', data=df_melted_absorption)
plt.title('Box Plot of ROX Absorption by pH')
plt.xlabel('pH')
plt.ylabel('ROX Absorption (mg/g)')
plt.grid(True)
plt.show()

  • 24
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2021辽宁省数学建模竞赛a题要求我们考虑一个城市的公交车线路交叉口的信号灯优化问题。题目中给定了一些交叉口的信息,包括交叉口的位置、各个方向的车流量以及信号灯的周期等。 首先,我们需要确定各个交叉口的车流量和交通流状况,可以根据给定的数据计算出每个交叉口每个方向的车流量。然后,我们可以利用交通流量的大小和方向来确定信号灯的优化策略。 在优化信号灯的策略中,可以考虑两个方面的因素:最小等待时间和最大通行能力。为了减少交通等待时间,我们可以根据车流量的大小来调整信号灯的周期。对于车流量大的方向,可以适当延长信号灯的绿灯时间,从而减少等待时间。对于车流量相对较小的方向,可以适当缩短信号灯的绿灯时间,以提高整体的交通效率。 另外,为了提高交叉口的通行能力,我们还可以考虑设置不同方向的转弯信号灯。对于车流量较大的方向,可以适当延长直行信号灯的绿灯时间,并设置转弯信号灯来疏导车流。这样可以有效地提高交叉口的通行能力,减少交通堵塞。 在进行信号灯优化的时候,还需要考虑交叉口的安全性。我们可以根据交通流量和车速来合理安排红灯时间,以确保车辆有足够的时间安全通过交叉口。 综上所述,对于2021辽宁省数学建模竞赛a题,我们可以通过对交叉口车流量和通行能力的分析,采取合适的信号灯优化策略,从而减少交通等待时间,提高交叉口的通行能力,并确保交通安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值