2021高教社杯全国大学生数学建模竞赛C题 Python代码演示

目录

    • 问题一
      • 1.1 根据附件 1,对 402 家供应商的供货特征进行量化分析
        • 计算供货特征
        • 数据标准化
          • 对正向指标归一化
          • 对负向指标归一化
      • 1.2 建立反映保障企业生产重要性的数学模型
        • 熵权法
        • 熵权法-TOPSIS
        • AHP
      • 1.3 在此基础上确定 50 家最重要的供应商,并在论文中列表给出结果。
    • 问题二
      • 2.1 参考问题 1,该企业应至少选择多少家供应商供应原材料才可能满足生产的需求?
        • 遗传算法
        • 差异进化
        • 粒子群优化(PSO)

import pandas as pd
import warnings
warnings.filterwarnings("ignore")path = '/home/shiyu/Desktop/path_acdemic/ant/数模/历年题目/2021/'
d1 = pd.read_excel((path + '附件1 近5年402家供应商的相关数据.xlsx'), sheet_name='企业的订货量(m³)')
d2 = pd.read_excel((path + '附件1 近5年402家供应商的相关数据.xlsx'), sheet_name='供应商的供货量(m³)')
d3 = pd.read_excel((path + '附件2 近5年8家转运商的相关数据.xlsx'))

问题一

1.1 根据附件 1,对 402 家供应商的供货特征进行量化分析

https://dxs.moe.gov.cn/zx/a/hd_sxjm_sxjmlw_2021qgdxssxjmjslwzs/211025/1734085.shtml
在这里插入图片描述

计算供货特征

供货次数(正向)

d2_sub = d2.iloc[:,2:]
supply_times = d2_sub.apply(lambda x: sum(x!=0), axis=1)

平均供货量(正向)

supply_quantity_mean = d2_sub.apply(lambda x: sum(x), axis=1) / supply_times

单次最大供货量(正向)

supply_max = d2_sub.apply(lambda x: max(x), axis=1)

供货稳定性(负向)

d1_sub = d1.iloc[:,2:]
d12_sub = d1_sub.subtract(d2_sub) ** 2
supply_stability = d12_sub.apply(lambda x: sum(x), axis=1) / supply_times

供货连续性

  • 间隔次数(负向)
import numpy as npgap_times = [None] * d2_sub.shape[0]
for i in range(0,d2_sub.shape[0]):a = d2_sub.iloc[i,:] == 0gap_times[i] = (a&~np.r_[[False],a[:-1]]).sum() 
  • 平均间隔周数(负向)
gap_weeks_mean = [None] * d2_sub.shape[0]
for i in range(0,d2_sub.shape[0]):index = [0] + list(np.where(d2_sub.iloc[i,:] != 0)[0]) + [241]new = np.diff(index)gap_weeks_mean[i] = sum(new[np.where((new != 1) & (new != 0))])gap_weeks_mean = gap_weeks_mean / supply_times
  • 平均连续供货周数(正向)
supply_weeks_mean = [None] * d2_sub.shape[0]
for i in range(0,d2_sub.shape[0]):index = np.where(d2_sub.iloc[i,:] != 0)[0]new = np.where(np.diff(index) == 1)[0]supply_weeks_mean[i] = len(new) * 2 - len(np.where(np.diff(new) == 1)[0])supply_weeks_mean = supply_weeks_mean / supply_times

合理供货比例(正向)

df = pd.DataFrame(None, columns=list(d2_sub.columns),index=list(d2_sub.index))for i in range(0,d2_sub.shape[0]):for j in range(0,d2_sub.shape[1]):if d1_sub.iloc[i,j] == 0:df.iloc[i,j] = 0if (d2_sub.iloc[i,j] > d1_sub.iloc[i,j] * 0.8) and (d2_sub.iloc[i,j] < d1_sub.iloc[i,j] * 1.2):df.iloc[i,j] = Trueelse:df.iloc[i,j] = Falsesupply_proportion = df.apply(lambda x: sum(x), axis=1) / supply_times
数据标准化
df = pd.DataFrame({'供货次数': supply_times,'平均供货量': supply_quantity_mean,'单次最大供货量': supply_max,'供货稳定性': supply_stability,'间隔次数': gap_times,'平均间隔周数': gap_weeks_mean,'平均连续供货周数': supply_weeks_mean,'合理供货比例': supply_proportion})df.shape
(402, 8)
对正向指标归一化
df_positive = df[['供货次数','平均供货量','单次最大供货量','平均连续供货周数','合理供货比例']]
df_positive_norm = df_positive.apply(lambda x: (x-min(x)) / (max(x)-min(x)), axis=0)
df_positive_norm.head()
供货次数平均供货量单次最大供货量平均连续供货周数合理供货比例
00.1004180.0003280.0001350.3600000.360000
10.2928870.0009720.0017850.5774650.507042
20.7949790.0231570.0104410.9738220.727749
30.1338910.0003210.0001890.6363640.363636
40.4435150.0217270.0034351.0000000.859813
对负向指标归一化
df_negative = df[['供货稳定性','间隔次数','平均间隔周数']]
df_negative_norm = df_negative.apply(lambda x: (max(x)-x) / (max(x)-min(x)), axis=0)
df_negative_norm.head()
供货稳定性间隔次数平均间隔周数
00.9999990.8090910.960863
11.0000000.5909090.987411
20.9999880.8636360.998601
30.9999930.8090910.971365
41.0000000.9454550.994567
# merge data
df_norm = pd.concat([df_positive_norm, df_negative_norm], axis=1, join='inner')

1.2 建立反映保障企业生产重要性的数学模型

  • https://www.bilibili.com/read/cv12741665/
  • https://github.com/Valdecy/pyDecision
    在这里插入图片描述
熵权法

https://www.kaggle.com/code/alpayabbaszade/entropy-topsis

首先对供货连续性下的3个二级指标进行加权

supply_continuity = df_norm[['间隔次数','平均间隔周数','平均连续供货周数']]
#Normalize Decision matrix
def norm(X):return X/X.sum()supply_continuity_norm = norm(supply_continuity)
#Entropy Values
k = -(1/np.log(supply_continuity_norm.shape[0]))def entropy(X):return (X*np.log(X)).sum()*kentropy = entropy(supply_continuity_norm)#degree of differentiation
dod = 1 - entropy
w = dod/dod.sum()
weights = w.sort_values(ascending = False)
weights
平均连续供货周数    0.594747
间隔次数        0.384353
平均间隔周数      0.020900
dtype: float64
supply_continuity_weighted = supply_continuity['间隔次数']*weights.iloc[0] + supply_continuity['平均间隔周数']*weights.iloc[1] + supply_continuity['平均连续供货周数']*weights.iloc[2]
df_norm.drop(['间隔次数','平均间隔周数','平均连续供货周数'], axis=1, inplace=True)
df_norm['供货连续性'] = supply_continuity_weighted
df_norm.head(3)
供货次数平均供货量单次最大供货量合理供货比例供货稳定性供货连续性
00.1004180.0003280.0001350.3600000.9999990.858039
10.2928870.0009720.0017850.5070421.0000000.743025
20.7949790.0231570.0104410.7277490.9999880.917813

对6个一级指标进行加权

#Normalize Decision matrix
def norm(X):return X/X.sum()df_norm_new = norm(df_norm)#Entropy Values
k = -(1/np.log(df_norm_new.shape[0]))def entropy(X):return (X*np.log(X)).sum()*kentropy = entropy(df_norm_new)#degree of differentiation
dod = 1 - entropy
w = dod/dod.sum()
weights_entropy = w.sort_values(ascending = False)
weights_entropy
单次最大供货量    0.496440
平均供货量      0.392450
供货次数       0.091647
合理供货比例     0.016205
供货连续性      0.002825
供货稳定性      0.000433
dtype: float64
熵权法-TOPSIS
  • https://www.kaggle.com/code/alpayabbaszade/entropy-topsis
  • https://blog.csdn.net/qq_42374697/article/details/105901229
def norm(X):return X/np.sqrt((X**2).sum())norm_matrix = norm(df_norm)
w_norm_matrix = norm_matrix*wV_plus = w_norm_matrix.apply(max)
V_minus = w_norm_matrix.apply(min)S_plus = np.sqrt(((w_norm_matrix - V_plus)**2).apply(sum, axis = 1))
S_minus = np.sqrt(((w_norm_matrix - V_minus)**2).apply(sum, axis = 1))
scores = S_minus/(S_plus + S_minus)
d2['综合得分'] = scores * 100
output = d2[['供应商ID','综合得分']]# sort by scores
output = output.sort_values('综合得分', ascending=False)
output.iloc[0:50,:].to_csv('/home/shiyu/Desktop/path_acdemic/ant/数模/历年题目/2021/output/scores_top50.csv')
output.iloc[0:50,:].head()
供应商ID综合得分
200S20187.972335
347S34857.756055
139S14052.993102
150S15144.951646
373S37441.858722
output.to_csv('/home/shiyu/Desktop/path_acdemic/ant/数模/历年题目/2021/output/scores_all.csv')
AHP
  • https://www.mindtools.com/a7y139c/the-analytic-hierarchy-process-ahp
  • https://github.com/PhilipGriffith/AHPy
df_norm.head()
供货次数平均供货量单次最大供货量合理供货比例供货稳定性供货连续性
00.1004180.0003280.0001350.3600000.9999990.858039
10.2928870.0009720.0017850.5070421.0000000.743025
20.7949790.0231570.0104410.7277490.9999880.917813
30.1338910.0003210.0001890.3636360.9999930.867852
40.4435150.0217270.0034350.8598131.0000000.965471
import ahpy
comparisons = {('供货次数', '平均供货量'): 3, ('供货次数', '单次最大供货量'): 5, ('供货次数', '合理供货比例'): 5, ('供货次数', '供货稳定性'): 5, ('供货次数', '供货连续性'): 5, ('平均供货量', '单次最大供货量'): 5, ('平均供货量', '合理供货比例'): 3, ('平均供货量', '供货稳定性'): 3, ('平均供货量', '供货连续性'): 3,('单次最大供货量', '合理供货比例'): 1/3, ('单次最大供货量', '供货稳定性'): 1/3, ('单次最大供货量', '供货连续性'): 1/3,('合理供货比例', '供货稳定性'): 1, ('合理供货比例', '供货连续性'): 1,('供货稳定性', '供货连续性'): 1}
comparisons
{('供货次数', '平均供货量'): 3,('供货次数', '单次最大供货量'): 5,('供货次数', '合理供货比例'): 5,('供货次数', '供货稳定性'): 5,('供货次数', '供货连续性'): 5,('平均供货量', '单次最大供货量'): 5,('平均供货量', '合理供货比例'): 3,('平均供货量', '供货稳定性'): 3,('平均供货量', '供货连续性'): 3,('单次最大供货量', '合理供货比例'): 0.3333333333333333,('单次最大供货量', '供货稳定性'): 0.3333333333333333,('单次最大供货量', '供货连续性'): 0.3333333333333333,('合理供货比例', '供货稳定性'): 1,('合理供货比例', '供货连续性'): 1,('供货稳定性', '供货连续性'): 1}
cal = ahpy.Compare(name='Drinks', comparisons=comparisons, precision=3, random_index='saaty')
cal.target_weights
{'供货次数': 0.445,'平均供货量': 0.232,'合理供货比例': 0.093,'供货稳定性': 0.093,'供货连续性': 0.093,'单次最大供货量': 0.044}
cal.consistency_ratio
0.032

CR < 0.1, 可认为判断矩阵的一致性可以接受

1.3 在此基础上确定 50 家最重要的供应商,并在论文中列表给出结果。

将熵权法和AHP得到的权重进行平均,得到最终的指标权重,然后加权计算各供应商的得分

weights_ahp = pd.DataFrame.from_dict(cal.target_weights, orient='index',columns=['AHP权重'])
import statisticsresults = pd.concat([weights_ahp, weights_entropy], axis=1)
results.columns = ['AHP权重','熵权法权重']
results['最终权重'] = results.apply(lambda x: statistics.mean(x), axis=1)
results
AHP权重熵权法权重最终权重
供货次数0.4450.0916470.268324
平均供货量0.2320.3924500.312225
合理供货比例0.0930.0162050.054603
供货稳定性0.0930.0004330.046716
供货连续性0.0930.0028250.047912
单次最大供货量0.0440.4964400.270220
d2['综合得分2'] = (df_norm['供货次数']*0.268324 + df_norm['平均供货量']*0.312225 + df_norm['合理供货比例']*0.054603 + df_norm['供货稳定性']*0.046716 + df_norm['供货连续性']*0.047912 + df_norm['单次最大供货量']*0.270220)*300
output = d2[['供应商ID','综合得分2']]# sort by scores
output = output.sort_values('综合得分2', ascending=False)
output.iloc[0:50,:].to_csv('/home/shiyu/Desktop/path_acdemic/ant/数模/历年题目/2021/output/scores_top50_AHP&Entropy.csv')
# 对排名前10的供应商可视化
df = output.iloc[0:10,:]
df = df.sort_values(by='综合得分2')
df
供应商ID综合得分2
307S308160.745089
329S330164.460643
107S108174.260128
360S361174.874852
373S374175.082953
228S229179.242563
139S140196.710758
150S151197.078972
200S201199.599719
347S348200.332317
# Horizontal lollipop plot
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np# Linux show Chinese characters *** important
plt.rcParams['font.family'] = 'WenQuanYi Micro Hei' 
plt.rcParams['figure.dpi'] = 300
plt.rcParams['savefig.dpi'] = 300my_range=range(1,11)
plt.hlines(y=my_range, xmin=0, xmax=df['综合得分2'], color='skyblue')
plt.plot(df['综合得分2'], my_range, "o")# Add titles and axis names
plt.yticks(my_range, df['供应商ID'])
plt.title("综合得分前10的供应商")
plt.xlabel('供应商综合得分')
plt.ylabel('供应商ID')# Show the plot
plt.show()

在这里插入图片描述

问题二

Pyhon中智能算法的模块:

https://scikit-opt.github.io/scikit-opt/#/en/README

Python中优化的模块

https://docs.scipy.org/doc/scipy/tutorial/optimize.html

formular editor:

https://editor.codecogs.com/

2.1 参考问题 1,该企业应至少选择多少家供应商供应原材料才可能满足生产的需求?

在这里插入图片描述
在这里插入图片描述

平均损失率
α \alpha α

loss_rate = sum(d3.iloc[:,1:].apply(lambda x: sum(x) / sum(x!=0), axis=0)) / 240
loss_rate
1.3063532832341274

供货量 x ^ i , t \widehat{x}_{i,t} x i,t

supply_quantity_mean[:6]
0     1.960000
1     3.845070
2    68.785340
3     1.939394
4    64.598131
5     2.307692
dtype: float64

供应商得分 s i s_{i} si

scores = pd.read_csv('/home/shiyu/Desktop/path_acdemic/ant/数模/历年题目/2021/output/scores_all.csv')
scores = scores.iloc[:,1:]
index_A = np.where(d2['材料分类'] == 'A')[0]
index_B = np.where(d2['材料分类'] == 'B')[0]
index_C = np.where(d2['材料分类'] == 'C')[0]
import numpy as npdef func(y):# input y is a list with 402 dims# set y as inty = np.around(np.array(y))res = sum(y) / sum(y * scores['综合得分'])return res
constraint_eq = [lambda y: sum((np.around(np.array(y))[index_A] * supply_quantity_mean[index_A] * (1-loss_rate/100)) / 0.6) + sum((np.around(np.array(y))[index_B] * supply_quantity_mean[index_B] * (1-loss_rate/100)) / 0.66) + sum((np.around(np.array(y))[index_C] * supply_quantity_mean[index_C] * (1-loss_rate/100)) / 0.72) - 2.82 * 10**4
]
遗传算法
from sko.GA import GA
y_len = 402ga = GA(func=func, n_dim=y_len, size_pop=50, max_iter=800, prob_mut=0.001, lb=[0]*y_len, ub=[1]*y_len, precision=1,constraint_eq=constraint_eq)
best_y_ga = ga.run()
suppliers_index_ga = np.where(best_y_ga[0] == 1)[0].tolist()
suppliers_ga = d2.iloc[suppliers_index_ga,0:2]
print('选择的供应商数量:', suppliers_ga.shape[0])
选择的供应商数量: 210
差异进化
from sko.DE import DE
y_len = 402
de = DE(func=func, n_dim=y_len, size_pop=50, max_iter=800, lb=[0]*y_len, ub=[1]*y_len,constraint_eq=constraint_eq)best_y_de = de.run()
y_de = np.around(best_y_de[0])
suppliers_index_de = np.where(y_de == 1)[0].tolist()
suppliers_de = d2.iloc[suppliers_index_de,0:2]
print('选择的供应商数量:', suppliers_de.shape[0])
选择的供应商数量: 184
粒子群优化(PSO)
from sko.PSO import PSO
y_len = 402
pso = PSO(func=func, n_dim=y_len, pop=40, max_iter=150, lb=[0]*y_len, ub=[1]*y_len, constraint_eq=constraint_eq)
best_y_pso = pso.run()
y_pso = np.around(best_y_pso[0])
suppliers_index_pso = np.where(y_pso == 1)[0].tolist()
suppliers_pso = d2.iloc[suppliers_index_pso,0:2]
print('选择的供应商数量:', suppliers_pso.shape[0])
选择的供应商数量: 152
import matplotlib.pyplot as plt
# Linux show Chinese characters *** important
plt.rcParams['font.family'] = 'WenQuanYi Micro Hei' 
plt.rcParams['figure.dpi'] = 300
plt.rcParams['savefig.dpi'] = 300plt.plot(pso.gbest_y_hist)
plt.title("目标函数的迭代过程")
plt.xlabel('迭代次数')
plt.ylabel('目标函数值')
plt.show()

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

钢轨缺陷检测-目标检测数据集(包括VOC格式、YOLO格式)

钢轨缺陷检测-目标检测数据集&#xff08;包括VOC格式、YOLO格式&#xff09; 数据集&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1h7Dc0MiiRgtd7524cBUOFQ?pwdfr9y 提取码&#xff1a;fr9y 数据集信息介绍&#xff1a; 共有 1493 张图像和一一对应的标注文件 标…

Neo4j入门案例:三星堆

创建一个关于三星堆的知识图谱可以是一个非常有趣的项目&#xff0c;它可以帮助理解如何使用Neo4j来存储和查询复杂的关系数据。三星堆文化以其独特的青铜器、金器和其他文物而闻名&#xff0c;这为我们提供了一个丰富的历史背景来构建知识图谱。 数据模型定义 实体类型&#…

RTMP直播播放器的几种选择

如何选择RTMP播放器&#xff1f; 在选择RTMP播放器时&#xff0c;需要综合考虑多个因素&#xff0c;以确保选择的播放器能够满足实际需求并提供良好的用户体验。以下是一些选择RTMP播放器的建议&#xff1a; 1. 功能需求 低延迟&#xff1a;对于直播场景&#xff0c;低延迟是…

解读 Java 经典巨著《Effective Java》90条编程法则,第5条:优先考虑依赖注入来引用资源

【前言】欢迎订阅【解读《Effective Java》】系列专栏 《Effective Java》是 Java 开发领域的经典著作&#xff0c;作者 Joshua Bloch 以丰富的经验和深入的知识&#xff0c;全面探讨了 Java 编程中的最佳实践。这本书被公认为 Java 开发者的必读经典&#xff0c;对提升编码技…

STM32巡回研讨会总结(2024)

前言 本次ST公司可以说是推出了7大方面&#xff0c;几乎可以说是覆盖到了目前生活中的方方面面&#xff0c;下面总结下我的感受。无线类 支持多种调制模式&#xff08;LoRa、(G)FSK、(G)MSK 和 BPSK&#xff09;满足工业和消费物联网 (IoT) 中各种低功耗广域网 (LPWAN) 无线应…

MelosBoom:解锁数据价值的新纪元

在当今的数字时代&#xff0c;数据被誉为“新的石油”&#xff0c;但用户在传统的Web2环境中&#xff0c;往往无法真正享受到自己贡献数据的价值。大型互联网公司通过集中化的系统和算法&#xff0c;垄断了数据的使用权&#xff0c;并从中获取巨大的商业利益&#xff0c;而数据…

计算机三级网络技术总结(一)

RPR环中每一个节点都执行SRP公平算法IEEE 802.11a和g将传输速率提高到54Mbps一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息就要先建立TCP连接在一个区域内的路由器数一般不超过200个进入接口配置模式&#xff1a;Router(config)#interface <接口名> 封装ppp协…

Qt 实现自定义截图工具

目录 Qt 实现自定义截图工具实现效果图PrintScreen 类介绍PrintScreen 类的主要特性 逐步实现第一步&#xff1a;类定义第二步&#xff1a;初始化截图窗口第三步&#xff1a;处理鼠标事件第四步&#xff1a;计算截图区域第五步&#xff1a;捕获和保存图像 完整代码PrintScreen.…

WLAN实验简述

一&#xff1a;配置生产AP1上级接入层交换机LSW3 sys [Huawei]sysname LSW3 [LSW3]undo info-center enable [LSW3]vlan batch 10 100 [LSW3]int g0/0/2 [LSW3-GigabitEthernet0/0/2]port link-type trunk [LSW3-GigabitEthernet0/0/2]port trunk allow-pass vlan 10 100 [LSW…

Java企业面试题3

1. break和continue的作用(智*图) break&#xff1a;用于完全退出一个循环&#xff08;如 for, while&#xff09;或一个 switch 语句。当在循环体内遇到 break 语句时&#xff0c;程序会立即跳出当前循环体&#xff0c;继续执行循环之后的代码。continue&#xff1a;用于跳过…

STM32 的 CAN 通讯全攻略

目录 一、CAN 通讯概述 二、 CAN 通讯原理 1.ISO11898 标准下的物理层特征 2.CAN 协议的帧类型 3. 总线仲裁介绍 4.位时序 5.STM32 CAN 控制器简介 6.标识符筛选器 三、软件设计 1.发送流程 1.1初始化 CAN 控制器 1.2准备发送数据 1.3 将数据填充到发送缓冲区 1.4…

Vue.js入门系列(二十九):深入理解编程式路由导航、路由组件缓存与路由守卫

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

pikachu下

CSRF(跨站请求伪造) CSRF(get) url变成了这样了&#xff0c;我们就可以新开个页面直接拿url去修改密码 http://pikachu-master/vul/csrf/csrfget/csrf_get_login.php?username1&password2&submitLogin CSRF(post&#xff09; 这里只是请求的方式不同&#xff0c;…

简洁明了!中缀表达式转为后缀表达式规则及代码

简单来说&#xff0c;就是弄两个栈&#xff0c;判断执行&#xff1a; 上代码&#xff1a; #include<iostream> #include<stack> #include<cstring> using namespace std; stack<char>s1,s2; char now; int main(){string c;cin>>c;for(int i0;…

Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解

目录 一、Linux软件包管理器 - yum&#xff08;ubuntu用apt代替yum&#xff09;1、Linux下安装软件的方式2、认识 yum3、查找软件包4、安装软件5、如何实现本地机器和云服务器之间的文件互传 二、Linux编辑器 - vim1、vim 的基本概念2、vim 下各模式的切换3、vim 命令模式各命令…

形式向好、成本较低、可拓展性较高的名厨亮灶开源了

简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;减少企业级应用约 95%的开发成本&#xff0c;在强大视频算法加…

电子连接器温升仿真教程 一

电子连接器温升是指电子连接器的所有端子在施加额定电载荷的情况下,经过一段时间后,达成热平衡,连接器局部温度不再继续升高,此时规定测试点的温度与测试环境温度的差值。连接器的温升规格值因其应用环境不同,而不同。工业应用,且不与人体接触的电子连接器一般允许温升会…

mybatis 查询Not Found TableInfoCache

近期在工程迁移中遇到一个mybatis查询的问题&#xff0c;检查代码没有问题&#xff0c;但是报Not Found TableInfoCache 解决过程 是不是数据库对应表错误或者实体类指定的表名错误 查看配置文件链接的数据源是否正确TableName中指定的表名然后去数据库看一下是否存在 如果…

【C++】模板进阶:深入解析模板特化

C语法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;命名空间缺省参数与函数重载C相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与Queue 本章将…

SQL进阶技巧:如何将字符串数组清洗为简单map结构? | translate + regexp_replace方法

目录 0 场景描述 1 数据准备 2 问题分析 2.1 方法1 特征法-通用解法 2.2 方法2枚举法(不通用) 3 小结 ~~END~~ 如果觉得本文对你有帮助,那么不妨也可以选择去看看我的博客专栏 ,部分内容如下: 数字化建设通关指南专栏原价99,现在活动价29.9,按照阶梯式增长,直到恢…