2020年全国大学生数学建模竞赛C题中小微企业信贷决策(含word论文和源代码资源)

文章目录

  • 一、部分题目
  • 二、部分论文
  • 三、部分源代码
    • (一)数据处理代码
    • (二)熵权法与TOPSIS代码
    • (三)最小二乘法代码
    • (四)粒子群代码
  • 四、完整word版论文和源代码(两种获取方式)

一、部分题目

2020年高教社杯全国大学生数学建模竞赛题目

C题 中小微企业的信贷决策

在实际中,由于中小微企业规模相对较小,也缺少抵押资产,因此银行通常是依据信贷政策、企业的交易票据信息和上下游企业的影响力,向实力强、供求关系稳定的企业提供贷款,并可以对信誉高、信贷风险小的企业给予利率优惠。银行首先根据中小微企业的实力、信誉对其信贷风险做出评估,然后依据信贷风险等因素来确定是否放贷及贷款额度、利率和期限等信贷策略。

某银行对确定要放贷企业的贷款额度为10~100万元;年利率为4%~15%;贷款期限为1年。附件1~3分别给出了123家有信贷记录企业的相关数据、302家无信贷记录企业的相关数据和贷款利率与客户流失率关系的2019年统计数据。该银行请你们团队根据实际和附件中的数据信息,通过建立数学模型研究对中小微企业的信贷策略,主要解决下列问题:

(1) 对附件1中123家企业的信贷风险进行量化分析,给出该银行在年度信贷总额固定时对这些企业的信贷策略。

(2) 在问题1的基础上,对附件2中302家企业的信贷风险进行量化分析,并给出该银行在年度信贷总额为1亿元时对这些企业的信贷策略。

(3) 企业的生产经营和经济效益可能会受到一些突发因素影响,而且突发因素往往对不同行业、不同类别的企业会有不同的影响。综合考虑附件2中各企业的信贷风险和可能的突发因素(例如:新冠病毒疫情)对各企业的影响,给出该银行在年度信贷总额为1亿元时的信贷调整策略。

二、部分论文

在这里插入图片描述

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

三、部分源代码

(一)数据处理代码

cb=xlsread('data','进项发票信息', 'A2:I210948'); 
sr=xlsread('data','销项发票信息', 'A2:I162485'); 
cb1 = zeros(123, 5);
sr1 = zeros(123, 5);
for i=1:1:length(cb(:, 1))
    if cb(i, 5) > 0 && cb(i, 8) > 0
        cb1(cb(i, 1), cb(i, 9)-2015) = cb1(cb(i, 1), cb(i, 9)-2015) +1;
    end
end

for i=1:1:length(sr(:, 1))
    if sr(i, 5) > 0 && sr(i, 8) > 0
        sr1(sr(i, 1), sr(i, 9)-2015) = sr1(sr(i, 1), sr(i, 9)-2015) +1;
    end
end

(二)熵权法与TOPSIS代码

import numpy as np
import pandas as pd

## 读取数据
data=pd.read_csv('data6.csv',encoding='utf-8',index_col=0)
indicator=data.columns.tolist()   ## 指标个数   多少列
project=data.index.tolist()       ## 样本个数   多少行
value=data.values
print("value = ", value)

## 定义数据标准化函数。为了避免求熵值时对数无意义,对数据进行平移,对标准化后的数据统一加了常数0.001
def std_data(value,flag):
    for i in range(len(indicator)):
        if flag[i]=='+':
            value[:,i]=(value[:,i]-np.min(value[:,i],axis=0))/(np.max(value[:,i],axis=0)-np.min(value[:,i],axis=0))+0.01
        elif flag[i]=='-':
            value[:,i]=(np.max(value[:,i],axis=0)-value[:,i])/(np.max(value[:,i],axis=0)-np.min(value[:,i],axis=0))+0.01
    return value



# 定义熵值法函数、熵值法计算变量的权重
def cal_weight(indicator, project, value):
    p = np.array([[0.0 for i in range(len(indicator))] for i in range(len(project))])
    # print(p)
    for i in range(len(indicator)):
        p[:, i] = value[:, i] / np.sum(value[:, i], axis=0)

    e = -1 / np.log(len(project)) * sum(p * np.log(p))  # 计算熵值
    g = 1 - e  # 计算一致性程度
    w = g / sum(g)  # 计算权重
    return w

# 调用函数将数据标准化,即为每个数据添加正相关还是负相关标志
std_value=std_data(value, flag)

# 调用函数求权重
w = cal_weight(indicator, project, std_value)
w = pd.DataFrame(w, index=data.columns, columns=['权重'])
print(w)

# 调用函数求得分
score = np.dot(std_value, w).round(4)         # 对应数据与权重相乘得到分数,结果保留四位小数
score = pd.DataFrame(score, index=data.index, columns=['综合得分']).sort_values(by=['综合得分'], ascending=False)
print(score)

score.to_excel("jieguo.xlsx")

(三)最小二乘法代码

X = [0.04	0.0425	0.0465	0.0505	0.0545	0.0585	0.0625	0.0665	0.0705	0.0745	0.0785	0.0825	0.0865	0.0905	0.0945	0.0985	0.1025	0.1065	0.1105	0.1145	0.1185	0.1225	0.1265	0.1305	0.1345	0.1385	0.1425	0.1465	0.15
];

Y1=[0	0.094574126	0.135727183	0.224603354	0.302038102	0.347315668	0.41347177	0.447890973	0.497634453	0.511096612	0.573393087	0.609492115	0.652944774	0.667541843	0.694779921	0.708302023	0.731275401	0.775091405	0.798227368	0.790527266	0.815196986	0.814421029	0.854811097	0.870317343	0.871428085	0.885925945	0.874434682	0.902725909	0.922060687];

YY = [];
A = -200:0.1:-190;
B = -15:0.1:-11;
C = 14:0.1:16;
D = -1:0.1:1;



E = [];

XA = [];
XC=[];
XB=[];
XD=[];

XX = [];

ii = 0;

e = 0;

for i=1:length(A)
    a=A(i);
    for j=1:length(B)
        b=B(j);
        for p=1:length(D)
            d=D(p);
            for k=1:length(C)
                c=C(k);
                e = 0;
                for s=1:length(X)
                    x=X(s);
                    f = a*x^3+b*x^2+c*x+d;
                    e = e+(f-Y1(s))^2;

                end

                if e < 0.02255
                    ii = ii + 1;
                    XA(ii) =a;
                    XB(ii)=b;
                    XC(ii)=c;
                    XD(ii)=d;
                    XX(ii) = ii;
                    E(ii) = e;
                end
            end
        end
    end
end
          
[~,position]=min(E);
XA(position)
XB(position)
XC(position)
XD(position)

            
plot(XX, E);

(四)粒子群代码

clear;
a1=-194.7;
b1=-13.4;
c1=15.6;
d1=-0.5;
a2=-194.8;
b2=-9.6;
c2=14.8;
d2=-0.5;
a3=-159.7;
b3=-14.5;
c3=14.8;
d3=-0.5;

% 代号-得分-等级
E_Z_DJ = [
1	0.1172	9
2	0.1173	9
12	0.5834	7
25	0.1163	7
34	0.1151	7
38	0.1841	7
45	0.1447	7
47	0.1157	7
49	0.1167	7
53	0.1155	7
56	0.1155	7
60	0.1579	7
61	0.2009	7
62	0.8322	7
63	0.1165	7
64	0.1061	5
66	0.113	5
69	0.3324	5
71	0.1166	7
73	0.1161	7
75	0.1152	7
76	0.1263	5
77	0.1157	7
78	0.1161	7
80	0.1138	5
82	0.1178	7
86	0.1148	7
87	0.1132	5
88	0.1146	5
89	0.1188	5
90	0.1156	7
91	0.1153	7
92	0.1142	5
93	0.1124	5
94	0.1058	5
95	0.1098	5
96	0.1111	5
98	0.1129	5
99	0.1138	7
100	0.1122	5
102	0.1164	7
103	0.1382	7
104	0.1662	7
105	0.1147	7
106	0.1156	7
107	0.1149	5
108	0.1128	5
109	0.1149	7
110	0.1129	5
111	0.1132	5
112	0.1134	5
113	0.1126	5
114	0.1111	5
115	0.1134	5
116	0.1125	5
117	0.1068	5
118	0.1134	5
119	0.1062	5
120	0.1134	5
121	0.1118	5
122	0.1126	5
123	0.1709	5
124	0.1128	5
125	0.1123	5
126	0.113	5
127	0.1123	5
128	0.1381	5
129	0.1127	5
130	0.112	5
131	0.1141	5
132	0.1126	5
133	0.1145	5
134	0.1124	5
135	0.113	5
136	0.1119	5
137	0.1127	5
138	0.1128	5
139	0.1134	5
140	0.112	5
141	0.1057	5
142	0.1118	5
143	0.1132	5
144	0.1136	5
145	0.1333	5
146	0.1126	5
147	0.1119	5
148	0.1115	5
149	0.1123	5
150	0.1148	5
151	0.1153	5
152	0.1117	5
153	0.1116	5
154	0.1129	5
155	0.1128	5
156	0.1127	5
157	0.1132	5
158	0.1129	5
159	0.1115	5
160	0.1132	5
161	0.1126	5
162	0.1118	5
163	0.1115	5
164	0.1119	5
165	0.1118	5
166	0.1133	5
167	0.1127	5
168	0.1113	5
169	0.1141	5
170	0.1133	5
171	0.1125	5
172	0.1118	5
173	0.1115	5
174	0.1124	5
175	0.1192	5
176	0.1126	5
177	0.1125	5
178	0.1128	5
179	0.1123	5
180	0.1129	5
181	0.1135	5
182	0.1127	5
183	0.1123	5
184	0.1123	5
185	0.1128	5
186	0.1116	5
187	0.1129	5
188	0.1122	5
189	0.1129	5
190	0.113	5
191	0.1121	5
192	0.1145	5
193	0.1125	5
194	0.1117	5
195	0.1127	5
196	0.1139	5
197	0.1127	5
198	0.1144	5
199	0.1128	5
200	0.1108	5
201	0.1118	5
202	0.1156	5
203	0.1127	5
204	0.1129	5
205	0.1123	5
206	0.5633	5
207	0.1166	5
208	0.1126	5
209	0.1132	5
210	0.1129	5
211	0.113	5
212	0.1123	5
213	0.1165	5
214	0.1155	5
215	0.1131	5
216	0.1133	5
217	0.1143	5
218	0.1134	5
219	0.1118	5
220	0.1545	5
221	0.1126	5
222	0.1124	5
223	0.1132	5
224	0.1152	5
225	0.1206	5
226	0.1151	5
227	0.1123	5
228	0.1125	5
229	0.1126	5
230	0.1117	5
231	0.1139	5
232	0.1574	5
233	0.1633	5
234	0.13	5
235	0.1844	5
236	0.134	5
237	0.2421	5
238	0.1118	5
239	0.1123	5
240	0.118	5
241	0.1132	5
242	0.1124	5
243	0.1138	5
244	0.1213	5
245	0.1107	5
246	0.1129	5
247	0.2526	5
248	0.1121	5
249	0.1134	5
250	0.1133	5
251	0.1351	5
252	0.2107	5
253	0.1157	5
254	0.1305	5
255	0.112	5
256	0.1105	5
257	0.1711	5
258	0.1115	5
259	0.1821	5
260	0.1164	5
261	0.112	5
262	0.1086	5
263	0.1119	5
264	0.1198	5
265	0.1219	5
266	0.1186	5
267	0.1138	5
268	0.1562	5
269	0.114	5
270	0.1426	5
271	0.1075	5
272	0.1107	5
273	0.1123	5
274	0.1166	5
275	0.1139	5
276	0.1128	5
277	0.1208	5
278	0.1101	5
279	0.1121	5
280	0.1127	5
281	0.1109	5
282	0.1103	5
283	0.1122	5
284	0.1109	5
285	0.1121	5
286	0.1154	5
287	0.1149	5
288	0.1122	5
289	0.1139	5
290	0.1139	5
291	0.1124	5
292	0.2104	5
293	0.1129	5
294	0.1135	5
295	0.1126	5
296	0.1133	5
297	0.113	5
298	0.1139	5
299	0.1153	5
300	0.1122	5
301	0.1179	5
302	0.1098	5


];
E = E_Z_DJ(:, 1);
DJ = E_Z_DJ(:, 3);
Z = E_Z_DJ(:, 2);


fun_range = [0,3.08;0,2.1];    %每个维度的求解范围,行代表维度,第一列最小值,第二列最大值
density = 0.01;                         %图像中取点的密度
d = 2;                                  %维度
popsize = 10;                           %种群大小
maxgen = 100;                           %最大迭代次数
limit_v = 10;                           %最大运动速度
maxormin = 0;                           %求最大值还是最小值。最大值为1,最小值为0
dynamic = 1;                            %是否采用动态参数
W = [0.7,1.4];                          %惯性因子
C2 = [0.5,2.5];
C1 = [0.5,2.5];                         %学习因子。


ZZ = pso1_im(funct,fun_range,density,d);
[x,v,fitness,pbest,gbest,gbest_fitness,gbest_index,pbest_fitness] =...
   pso1_in(funct,popsize,d,fun_range,limit_v,maxormin);
[gbest_fitness,gbest_index,record] =...
    pso1_in2(funct,d,popsize,maxgen,dynamic,W,C1,C2,fun_range,limit_v,density...
    ,x,v,fitness,pbest,gbest,gbest_fitness,gbest_index,pbest_fitness,maxormin);

% sigma = 4:1:15;  年利率
% D = 10:1:100;  % 投放金额
T = 1;  %周期为 1 年
M = 10000; % 总贷款额度1亿

Sigma = [];
DD = [];
Beta = [];
W = [];         % 利润,即最大化目标

Z_S = ones(1, length(E));  % 每个利率  1不用管
Z_D = ones(1, length(E));  % 每个投资

N = 10000;    % 迭代次数

nnn = 0;
for i=1:1:N
    Sigma = [];         % 该次遍历的利率
    DD = [];            % 该次遍历的贷款
    w = 0;              % 该次遍历的目标值
    for j=1:length(E)
        Sigma(j) = 0.04 + (0.15-0.04).*rand(1,1);
        x = Sigma(j);
        DD(j) = 10 + (100-10).*rand(1,1);
        d = DD(j);
        if DJ(j) == 1
           Beta(j) =  a1*x^3+b1*x^2+c1*x+d1;
        elseif DJ(j) == 2
            Beta(j) =  a2*x^3+b2*x^2+c2*x+d2;
        else
            Beta(j) =  a3*x^3+b3*x^2+c3*x+d3;
        end
        w = w + d*x*(1-Beta(j))*Z(j);
    end
    if w > 60
        nnn  = nnn+1;
        W(nnn) = w;
        Z_S(nnn,:) = Sigma(:);
        Z_D(nnn,:) = DD(:);
    end
end

XX = 1:1:nnn;
plot(XX, W, '*');
           
for i=1:length(Z_S(:, 1))
    sum(Z_D(i,:))
end

四、完整word版论文和源代码(两种获取方式)

Word论文和源代码

Word论文和源代码

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

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

相关文章

FireFox 编译指南2024 Windows10篇-环境准备(一)

1. 引言 在开源浏览器项目中&#xff0c;Firefox因其高性能和灵活性而备受开发者青睐。为了在本地环境中编译和定制Firefox&#xff0c;开发者需要做好充分的环境准备工作。这不仅是编译成功的基础&#xff0c;也是后续调试、优化和二次开发的关键步骤。 编译Firefox是一个复…

缓存双写一致性(笔记)

缓存更新方案 旁路缓存模式 这是比较多的 旁路缓存模式&#xff1a;缓存有就返回&#xff0c;没有数据库查询&#xff0c;放入缓存返回。 还有些常用缓存策略 读穿透模式 读穿透和旁路很相似&#xff0c;程序不需要关注从哪里读取数据&#xff0c;它只需要从缓存查询数据。…

PPT录屏怎么录?PPT录屏,3种方法简单操作

在数字化时代&#xff0c;PPT已经成为我们日常工作、学习和生活中不可或缺的一部分。无论是商务报告、教学课件还是产品展示&#xff0c;PPT都能帮助我们更加生动、直观地传递信息。然而&#xff0c;有时候我们会面临PPT录屏怎么录的问题。这时&#xff0c;一个好的PPT录屏功能…

OpenAI发布CriticGPT:纠错GPT生成错误代码?

OpenAI发布CriticGPT&#xff1a;纠错GPT生成错误代码&#xff1f; 前言 OCriticGPT 就在6月28日&#xff0c;OpenAI 训练出了一个基于 GPT-4 的模型—— CriticGPT&#xff0c;它可以用于查验ChatGPT 写出的代码是否出错。OpenAI的团队说&#xff0c;用户从 CriticGPT 获得帮助…

1panel 搭建多个网站

1panel 部署多个网站&#xff0c;另外的域名&#xff0c;或无域端口搭建方法。 当我们已经部署好一个网站后&#xff0c;想再部署一个网站在我们的服务器上时&#xff0c; 步骤&#xff1a;&#xff08;另外的域名&#xff0c;部署在同一个服务器方法&#xff09; 运行环境里…

营销翻车,杜国楹出面道歉,小罐茶的“大师作”故事仓皇结尾

“小罐茶&#xff0c;大师作”&#xff0c;这句slogan曾一度在央视平台长时间、高密度播放&#xff0c;成为家喻户晓的广告词&#xff0c;也打响了小罐茶品牌的名号。但同时&#xff0c;市场上关于“大师作”真实性的质疑也从未停息。 就在6月25日小罐茶十二周年发布会上&#…

光伏设计:光伏项目开发中最关键的一环

随着全球对可再生能源的需求不断增长&#xff0c;光伏技术作为其中的佼佼者&#xff0c;已经成为许多国家实现能源转型和应对气候变化的重要手段。在光伏项目的开发过程中&#xff0c;光伏设计作为最关键的一环&#xff0c;其重要性不言而喻。本文将从光伏设计的角度&#xff0…

【深度学习】单机多卡 | DataParallel将计算任务在多个 GPU 上并行执行,可以在多个 GPU 上分摊工作负载,从而加快训练速度

【深度学习】单机多卡 | DataParallel将计算任务在多个 GPU 上并行执行&#xff0c;可以在多个 GPU 上分摊工作负载&#xff0c;从而加快训练速度 写在最前面DataParallel (DP) 简介使用 DataParallel 的场景使用 DataParallel 的基本步骤 代码部分train.py简单的代码示例代码解…

抗击.michevol勒索病毒:保障数据安全的新策略

导言&#xff1a; 在今天高度互联的数字化环境中&#xff0c;数据安全面临着越来越复杂和普遍的威胁&#xff0c;勒索病毒如.michevol已成为了用户和企业普遍面临的风险。本文91数据恢复将探讨.michevol勒索病毒的特点、感染方式以及创新的防御策略&#xff0c;旨在帮助读者更…

Typora 2024 安装教程

本章教程&#xff0c;介绍一下如何使用Typora 最新版本1.9.4&#xff0c;仅供学习交流&#xff0c;切勿滥用。 一、下载安装包 下载地址&#xff1a;https://www.alipan.com/s/8pvKf5ns6GH 当然&#xff0c;你也可以去官网下载&#xff0c;但是官网有可能随时更新&#xff0c;该…

MySQL事务——Java全栈知识(31)

1、事务的特性 原子性&#xff08;Atomicity&#xff09;&#xff1a;事务是不可分割的最小操作单元&#xff0c;要么全部成功&#xff0c;要么全部失败。 一致性&#xff08;Consistency&#xff09;&#xff1a;事务完成时&#xff0c;必须使所有的数据都保持一致状态。 隔离…

《互联网政务应用安全管理规定》自2024年7月1日起,关于日志存储至少保存一年说明

学习目标&#xff1a;《互联网政务应用安全管理规定》第二十条 机关事业单位应当留存互联网政务应用相关的防火墙、主机等设备的运行日志&#xff0c;以及应用系统的访问日志、数据库的操作日志&#xff0c;留存时间不少于1年&#xff0c;并定期对日志进行备份&#xff0c;确保…

Ingress Controller介绍及部署实践

Ingress Controller介绍及部署实践 1. 概念 1.1 Ingress Ingress 提供从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源所定义的规则来控制。 下面是 Ingress 的一个简单示例&#xff0c;可将所有流量都发送到同一 Service&#xff1a; 通过配置&am…

国标GB28181视频汇聚平台EasyCVR安防监控系统常见播放问题分析及解决方法

国标GB28181安防综合管理系统EasyCVR视频汇聚平台能在复杂的网络环境中&#xff0c;将前端设备统一集中接入与汇聚管理。平台支持多协议接入&#xff0c;包括&#xff1a;国标GB/T 28181协议、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视…

经验分享之会员 SaaS 系统

前言 2018年&#xff0c;这是不平凡的一年&#xff1b;互联网行业的中台战略、会员经济等模式如火如荼&#xff0c;同时也逐渐地走入我们公司每个人的视野。在南海集团的战略规划背景下&#xff0c;当时我所在的公司作为集团的研发中心&#xff0c;承担了对会员 SaaS 系统的建…

Java--回顾方法的定义

1.修饰符 public 公共的 修饰String类型 2.返回类型 返回的值得类型 返回值为String&#xff08;字符串&#xff09;类型 3.break continue return的区别 break&#xff0c;结束整个循环 continue&#xff0c;结束本次循环 return&#xff0c;结束整…

0628_ARM4

练习&#xff1a; stm32流水灯 .text .global _start _start: 使能GPIOE外设时钟 0X50000A28 RCC_MP_AHB4ENSETR[4]->1 LDR R0,0x50000a28 指定操作的内存地址 LDR R1,[R0] 将R0对应的地址空间中的值读取出来 ORR R1,R1,#(0x3<<4) 将第4,5位设置为1 STR…

数据资产管理的艺术:构建智能化、精细化的数据资产管理体系,从数据整合、分析到决策支持,为企业提供一站式的数据资产解决方案,助力企业把握数字时代的新机遇

一、引言 在数字化浪潮席卷全球的今天&#xff0c;数据已经成为企业最重要的资产之一。如何高效、安全地管理这些海量数据&#xff0c;从中提取有价值的信息&#xff0c;并将其转化为决策支持&#xff0c;是每个企业都必须面对的挑战。本文将探讨数据资产管理的艺术&#xff0…

RocketMQ快速入门:事务消息原理及实现(十)

目录 0. 引言1. 原理2. 事务消息的实现2.1 java client实现&#xff08;适用于spring框架&#xff09;2.2 springboot实现 3. 总结 0. 引言 rocketmq 的一大特性就是支持事务性消息&#xff0c;这在诸多场景中有所应用。在之前的文章中我们已经讲解过事务消息的使用&#xff0…

填完高考志愿后,每天必须要做的三件事!

填完志愿后是等录取通知书吗&#xff1f;错&#xff0c;大错特错&#xff0c;今天老师特别提醒大家&#xff0c;每天要做的3件事非常重要&#xff0c;一定要点赞收藏起来。 第一&#xff0c;每天早上9点登录你们省教育考试院的官网&#xff0c;凭个人的账号和密码查看招生考试…