第一次运行模型成功
This commit is contained in:
parent
8b231696f6
commit
f88ed2b5e4
|
@ -66,6 +66,13 @@
|
||||||
</Attribute>
|
</Attribute>
|
||||||
</value>
|
</value>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry key="\input_data\测试 Firm_amended 0-49.csv">
|
||||||
|
<value>
|
||||||
|
<Attribute>
|
||||||
|
<option name="separator" value="," />
|
||||||
|
</Attribute>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
<entry key="\input_data\测试 Firm_amended 170.csv">
|
<entry key="\input_data\测试 Firm_amended 170.csv">
|
||||||
<value>
|
<value>
|
||||||
<Attribute>
|
<Attribute>
|
||||||
|
@ -73,6 +80,13 @@
|
||||||
</Attribute>
|
</Attribute>
|
||||||
</value>
|
</value>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry key="\input_data\测试 Firm_amended.csv">
|
||||||
|
<value>
|
||||||
|
<Attribute>
|
||||||
|
<option name="separator" value="," />
|
||||||
|
</Attribute>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
<entry key="\测试数据 companies_devices.csv">
|
<entry key="\测试数据 companies_devices.csv">
|
||||||
<value>
|
<value>
|
||||||
<Attribute>
|
<Attribute>
|
||||||
|
@ -101,7 +115,14 @@
|
||||||
</Attribute>
|
</Attribute>
|
||||||
</value>
|
</value>
|
||||||
</entry>
|
</entry>
|
||||||
<entry key="\测试数据 industry_raw_materials_products.csv">
|
<entry key="\测试数据 device_salvage_values.csv">
|
||||||
|
<value>
|
||||||
|
<Attribute>
|
||||||
|
<option name="separator" value="," />
|
||||||
|
</Attribute>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
<entry key="\测试数据 material_device_product_ids.csv">
|
||||||
<value>
|
<value>
|
||||||
<Attribute>
|
<Attribute>
|
||||||
<option name="separator" value="," />
|
<option name="separator" value="," />
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
34
firm.py
34
firm.py
|
@ -3,7 +3,7 @@ from mesa import Agent
|
||||||
|
|
||||||
class FirmAgent(Agent):
|
class FirmAgent(Agent):
|
||||||
def __init__(self, unique_id, model, type_region, revenue_log, n_equip_c, a_lst_product,
|
def __init__(self, unique_id, model, type_region, revenue_log, n_equip_c, a_lst_product,
|
||||||
production_output, demand_quantity, c_price, R, P, C):
|
production_output, demand_quantity, R, P, C):
|
||||||
# 调用超类的 __init__ 方法
|
# 调用超类的 __init__ 方法
|
||||||
super().__init__(unique_id, model)
|
super().__init__(unique_id, model)
|
||||||
|
|
||||||
|
@ -32,9 +32,11 @@ class FirmAgent(Agent):
|
||||||
# 包括 产品时间
|
# 包括 产品时间
|
||||||
self.P1 = {0: P}
|
self.P1 = {0: P}
|
||||||
# 企业i的供应商
|
# 企业i的供应商
|
||||||
self.upper_i = [u for u, v in self.firm_network.in_edges(self.unique_id)]
|
self.upper_i = [agent for u, v in self.firm_network.in_edges(self.unique_id)
|
||||||
|
for agent in self.model.company_agents if agent.unique_id == u]
|
||||||
# 企业i的客户
|
# 企业i的客户
|
||||||
self.downer_i = [u for u, v in self.firm_network.out_edges(self.unique_id)]
|
self.downer_i = [agent for u, v in self.firm_network.out_edges(self.unique_id)
|
||||||
|
for agent in self.model.company_agents if agent.unique_id == u]
|
||||||
# 设备c的数量 (总量) 使用这个来判断设备数量
|
# 设备c的数量 (总量) 使用这个来判断设备数量
|
||||||
self.n_equip_c = n_equip_c
|
self.n_equip_c = n_equip_c
|
||||||
# 设备c产量 更具设备量进行估算
|
# 设备c产量 更具设备量进行估算
|
||||||
|
@ -42,7 +44,7 @@ class FirmAgent(Agent):
|
||||||
# 消耗材料量 根据设备量进行估算
|
# 消耗材料量 根据设备量进行估算
|
||||||
self.c_consumption = demand_quantity
|
self.c_consumption = demand_quantity
|
||||||
# 设备c购买价格(初始值)
|
# 设备c购买价格(初始值)
|
||||||
self.c_price = c_price
|
# self.c_price = c_price
|
||||||
# 资源r补货库存阈值
|
# 资源r补货库存阈值
|
||||||
self.s_r = 40
|
self.s_r = 40
|
||||||
self.S_r = 120
|
self.S_r = 120
|
||||||
|
@ -241,8 +243,8 @@ class FirmAgent(Agent):
|
||||||
if sub_list[0] == material_type:
|
if sub_list[0] == material_type:
|
||||||
upper_i_material.append(firm)
|
upper_i_material.append(firm)
|
||||||
# 没有 上游 没有 材料的情况,也就是紊乱的情况
|
# 没有 上游 没有 材料的情况,也就是紊乱的情况
|
||||||
# if len(upper_i_material)==0:
|
if len(upper_i_material) == 0:
|
||||||
|
return -1
|
||||||
if self.is_prf_conn:
|
if self.is_prf_conn:
|
||||||
for firm in upper_i_material:
|
for firm in upper_i_material:
|
||||||
if self.firm_network.has_edge(self.unique_id, firm.unique_id) or self.firm_network.has_edge(
|
if self.firm_network.has_edge(self.unique_id, firm.unique_id) or self.firm_network.has_edge(
|
||||||
|
@ -273,8 +275,8 @@ class FirmAgent(Agent):
|
||||||
if sub_list[0] == machinery_type:
|
if sub_list[0] == machinery_type:
|
||||||
upper_i_machinery.append(firm)
|
upper_i_machinery.append(firm)
|
||||||
# 没有 上游 没有 材料的情况,也就是紊乱的情况
|
# 没有 上游 没有 材料的情况,也就是紊乱的情况
|
||||||
# if len(upper_i_machinery)==0:
|
if len(upper_i_machinery) == 0:
|
||||||
|
return -1
|
||||||
if self.is_prf_conn:
|
if self.is_prf_conn:
|
||||||
for firm in upper_i_machinery:
|
for firm in upper_i_machinery:
|
||||||
if self.firm_network.has_edge(self.unique_id, firm.unique_id) or self.firm_network.has_edge(
|
if self.firm_network.has_edge(self.unique_id, firm.unique_id) or self.firm_network.has_edge(
|
||||||
|
@ -297,15 +299,15 @@ class FirmAgent(Agent):
|
||||||
select_alt_supply = self.random.choice(lst_firm_machinery_connect)
|
select_alt_supply = self.random.choice(lst_firm_machinery_connect)
|
||||||
return select_alt_supply
|
return select_alt_supply
|
||||||
|
|
||||||
def handle_material_request(self, material_list):
|
def handle_material_request(self, mater_list):
|
||||||
for list in self.P:
|
for list_P in self.P:
|
||||||
if list[0] == material_list[0]:
|
if list_P[0] == mater_list[0]:
|
||||||
list[1] -= material_list[1]
|
list_P[1] -= mater_list[1]
|
||||||
|
|
||||||
def handle_machinery_request(self, machinery_list):
|
def handle_machinery_request(self, machi_list):
|
||||||
for list in self.C:
|
for list_C in self.C:
|
||||||
if list[0] == machinery_list[0]:
|
if list_C[0] == machi_list[0]:
|
||||||
list[1] -= machinery_list[1]
|
list_C[1] -= machi_list[1]
|
||||||
|
|
||||||
def refresh_R(self):
|
def refresh_R(self):
|
||||||
self.R1[self.model.t] = self.R
|
self.R1[self.model.t] = self.R
|
||||||
|
|
|
@ -1,107 +1,107 @@
|
||||||
Index,Code,Level,Name,产业种类
|
Index,Code,Level,Name,产业种类
|
||||||
0,1,0,工业互联网,0
|
0,1,0,工业互联网,0
|
||||||
1,1.1,1,工业自动化硬件,1
|
1,1.1,1,工业自动化硬件,0
|
||||||
2,1.1.1,2,工业计算芯片,0
|
2,1.1.1,2,工业计算芯片,1
|
||||||
3,1.1.2,2,工业控制器,0
|
3,1.1.2,2,工业控制器,0
|
||||||
4,1.1.3,2,工业服务器,0
|
4,1.1.3,2,工业服务器,0
|
||||||
5,1.2,1,工业互联网网络,1
|
5,1.2,1,工业互联网网络,1
|
||||||
6,1.2.1,2,网络互联服务,0
|
6,1.2.1,2,网络互联服务,0
|
||||||
7,1.2.2,2,标识解析服务,0
|
7,1.2.2,2,标识解析服务,0
|
||||||
8,1.2.3,2,数据互通服务,0
|
8,1.2.3,2,数据互通服务,1
|
||||||
9,1.3,1,工业软件,1
|
9,1.3,1,工业软件,0
|
||||||
10,1.3.1,2,设计研发软件,0
|
10,1.3.1,2,设计研发软件,0
|
||||||
11,1.3.1.1,3,计算机辅助设计CAD,0
|
11,1.3.1.1,3,计算机辅助设计CAD,0
|
||||||
12,1.3.1.2,3,计算机辅助工程CAE,0
|
12,1.3.1.2,3,计算机辅助工程CAE,1
|
||||||
13,1.3.1.3,3,计算机辅助制造CAM,0
|
13,1.3.1.3,3,计算机辅助制造CAM,0
|
||||||
14,1.3.1.4,3,计算机辅助工艺过程设计CAPP,0
|
14,1.3.1.4,3,计算机辅助工艺过程设计CAPP,1
|
||||||
15,1.3.1.5,3,产品数据管理PDM,1
|
15,1.3.1.5,3,产品数据管理PDM,1
|
||||||
16,1.3.1.6,3,产品生命周期管理PLM,1
|
16,1.3.1.6,3,产品生命周期管理PLM,0
|
||||||
17,1.3.1.7,3,电子设计自动化EDA,1
|
17,1.3.1.7,3,电子设计自动化EDA,0
|
||||||
18,1.3.2,2,采购供应软件,1
|
18,1.3.2,2,采购供应软件,0
|
||||||
19,1.3.2.1,3,供应链管理SCM,1
|
19,1.3.2.1,3,供应链管理SCM,1
|
||||||
20,1.3.3,2,生产制造软件,1
|
20,1.3.3,2,生产制造软件,1
|
||||||
21,1.3.3.1,3,制造执行系统MES,1
|
21,1.3.3.1,3,制造执行系统MES,0
|
||||||
22,1.3.3.2,3,分布式控制系统DCS,0
|
22,1.3.3.2,3,分布式控制系统DCS,1
|
||||||
23,1.3.3.3,3,数据采集与监视控制系统SCADA,1
|
23,1.3.3.3,3,数据采集与监视控制系统SCADA,1
|
||||||
24,1.3.3.4,3,可编程逻揖控制系统PLC,1
|
24,1.3.3.4,3,可编程逻揖控制系统PLC,0
|
||||||
25,1.3.3.5,3,企业资产管理系统EAM,1
|
25,1.3.3.5,3,企业资产管理系统EAM,1
|
||||||
26,1.3.3.6,3,运维保障系统MRO,1
|
26,1.3.3.6,3,运维保障系统MRO,1
|
||||||
27,1.3.3.7,3,故障预测与健康管理PHM,1
|
27,1.3.3.7,3,故障预测与健康管理PHM,1
|
||||||
28,1.3.4,2,企业运营管理软件,1
|
28,1.3.4,2,企业运营管理软件,0
|
||||||
29,1.3.4.1,3,企业资源计划ERP,1
|
29,1.3.4.1,3,企业资源计划ERP,1
|
||||||
30,1.3.4.2,3,客户关系管理CRM,1
|
30,1.3.4.2,3,客户关系管理CRM,1
|
||||||
31,1.3.4.3,3,人力资源管理HRM,1
|
31,1.3.4.3,3,人力资源管理HRM,0
|
||||||
32,1.3.5,2,仓储物流软件,0
|
32,1.3.5,2,仓储物流软件,0
|
||||||
33,1.3.5.1,3,仓储物流管理WMS,1
|
33,1.3.5.1,3,仓储物流管理WMS,1
|
||||||
34,1.4,1,工业互联网安全管理,1
|
34,1.4,1,工业互联网安全管理,1
|
||||||
35,1.4.1,2,设备安全,1
|
35,1.4.1,2,设备安全,1
|
||||||
36,1.4.1.1,3,工业防火墙,1
|
36,1.4.1.1,3,工业防火墙,1
|
||||||
37,1.4.1.2,3,下一代防火墙,0
|
37,1.4.1.2,3,下一代防火墙,1
|
||||||
38,1.4.1.3,3,防毒墙,1
|
38,1.4.1.3,3,防毒墙,1
|
||||||
39,1.4.1.4,3,入侵检测系统,1
|
39,1.4.1.4,3,入侵检测系统,0
|
||||||
40,1.4.1.5,3,统一威胁管理系统,1
|
40,1.4.1.5,3,统一威胁管理系统,0
|
||||||
41,1.4.2,2,控制安全,1
|
41,1.4.2,2,控制安全,1
|
||||||
42,1.4.2.1,3,工控安全监测与审计,1
|
42,1.4.2.1,3,工控安全监测与审计,0
|
||||||
43,1.4.2.2,3,工控主机卫士,1
|
43,1.4.2.2,3,工控主机卫士,1
|
||||||
44,1.4.2.3,3,工控漏洞扫描,0
|
44,1.4.2.3,3,工控漏洞扫描,1
|
||||||
45,1.4.2.4,3,安全隔离与信息交换系统,1
|
45,1.4.2.4,3,安全隔离与信息交换系统,1
|
||||||
46,1.4.2.5,3,安全日志与审计,1
|
46,1.4.2.5,3,安全日志与审计,1
|
||||||
47,1.4.2.6,3,隐私计算,1
|
47,1.4.2.6,3,隐私计算,1
|
||||||
48,1.4.2.7,3,工控原生安全,1
|
48,1.4.2.7,3,工控原生安全,0
|
||||||
49,1.4.3,2,网络安全,1
|
49,1.4.3,2,网络安全,1
|
||||||
50,1.4.3.1,3,网络漏洞扫描和补丁管理,0
|
50,1.4.3.1,3,网络漏洞扫描和补丁管理,0
|
||||||
51,1.4.3.2,3,流量检测,1
|
51,1.4.3.2,3,流量检测,1
|
||||||
52,1.4.3.3,3,APT检测,0
|
52,1.4.3.3,3,APT检测,1
|
||||||
53,1.4.3.4,3,攻击溯源,0
|
53,1.4.3.4,3,攻击溯源,0
|
||||||
54,1.4.3.5,3,负载均衡,1
|
54,1.4.3.5,3,负载均衡,1
|
||||||
55,1.4.3.6,3,沙箱类设备,0
|
55,1.4.3.6,3,沙箱类设备,1
|
||||||
56,1.4.4,2,平台安全,1
|
56,1.4.4,2,平台安全,0
|
||||||
57,1.4.4.1,3,身份鉴别与访问控制,0
|
57,1.4.4.1,3,身份鉴别与访问控制,1
|
||||||
58,1.4.4.2,3,密钥管理,0
|
58,1.4.4.2,3,密钥管理,0
|
||||||
59,1.4.4.3,3,接入认证,0
|
59,1.4.4.3,3,接入认证,0
|
||||||
60,1.4.4.4,3,工业应用行为监控,1
|
60,1.4.4.4,3,工业应用行为监控,0
|
||||||
61,1.4.4.5,3,安全态势感知,0
|
61,1.4.4.5,3,安全态势感知,0
|
||||||
62,1.4.5,2,数据安全,0
|
62,1.4.5,2,数据安全,0
|
||||||
63,1.4.5.1,3,恶意代码检测系统,1
|
63,1.4.5.1,3,恶意代码检测系统,0
|
||||||
64,1.4.5.2,3,数据防泄漏系统,1
|
64,1.4.5.2,3,数据防泄漏系统,0
|
||||||
65,1.4.5.3,3,数据审计系统,0
|
65,1.4.5.3,3,数据审计系统,1
|
||||||
66,1.4.5.4,3,数据脱敏,1
|
66,1.4.5.4,3,数据脱敏,0
|
||||||
67,1.4.5.5,3,敏感数据发现与监控,0
|
67,1.4.5.5,3,敏感数据发现与监控,1
|
||||||
68,1.4.5.6,3,数据容灾备份,0
|
68,1.4.5.6,3,数据容灾备份,1
|
||||||
69,1.4.5.7,3,数据恢复,1
|
69,1.4.5.7,3,数据恢复,1
|
||||||
70,1.4.5.8,3,数据加密,1
|
70,1.4.5.8,3,数据加密,1
|
||||||
71,1.4.5.9,3,数据防火墙,0
|
71,1.4.5.9,3,数据防火墙,1
|
||||||
72,2,0,工业互联网平台,1
|
72,2,0,工业互联网平台,0
|
||||||
73,2.1,1,PaaS,0
|
73,2.1,1,PaaS,1
|
||||||
74,2.1.1,2,开发工具,1
|
74,2.1.1,2,开发工具,0
|
||||||
75,2.1.1.1,3,算法建模工具,1
|
75,2.1.1.1,3,算法建模工具,1
|
||||||
76,2.1.1.2,3,低代码开发工具,0
|
76,2.1.1.2,3,低代码开发工具,0
|
||||||
77,2.1.1.3,3,流程开发工具,1
|
77,2.1.1.3,3,流程开发工具,0
|
||||||
78,2.1.1.4,3,组态建模工具,1
|
78,2.1.1.4,3,组态建模工具,1
|
||||||
79,2.1.1.5,3,数字孪生建模工具,1
|
79,2.1.1.5,3,数字孪生建模工具,1
|
||||||
80,2.1.2,2,工业模型库,1
|
80,2.1.2,2,工业模型库,1
|
||||||
81,2.1.2.1,3,数据算法模型,0
|
81,2.1.2.1,3,数据算法模型,0
|
||||||
82,2.1.2.2,3,业务流程模型,0
|
82,2.1.2.2,3,业务流程模型,1
|
||||||
83,2.1.2.3,3,研发仿真模型,0
|
83,2.1.2.3,3,研发仿真模型,1
|
||||||
84,2.1.2.4,3,行业机理模型,1
|
84,2.1.2.4,3,行业机理模型,1
|
||||||
85,2.1.3,2,工业物联网,1
|
85,2.1.3,2,工业物联网,1
|
||||||
86,2.1.3.1,3,物联网服务,0
|
86,2.1.3.1,3,物联网服务,0
|
||||||
87,2.1.3.2,3,平台基础服务,1
|
87,2.1.3.2,3,平台基础服务,0
|
||||||
88,2.1.3.3,3,工业引擎服务,1
|
88,2.1.3.3,3,工业引擎服务,1
|
||||||
89,2.1.3.4,3,应用管理服务,1
|
89,2.1.3.4,3,应用管理服务,1
|
||||||
90,2.1.3.5,3,容器服务,1
|
90,2.1.3.5,3,容器服务,1
|
||||||
91,2.1.3.6,3,微服务,1
|
91,2.1.3.6,3,微服务,1
|
||||||
92,2.1.3.7,3,制造类API,0
|
92,2.1.3.7,3,制造类API,0
|
||||||
93,2.1.4,2,工业大数据,1
|
93,2.1.4,2,工业大数据,0
|
||||||
94,2.1.4.1,3,工业大数据存储,1
|
94,2.1.4.1,3,工业大数据存储,1
|
||||||
95,2.1.4.1.1,4,关系型数据库,0
|
95,2.1.4.1.1,4,关系型数据库,0
|
||||||
96,2.1.4.1.2,4,分布式数据库,1
|
96,2.1.4.1.2,4,分布式数据库,1
|
||||||
97,2.1.4.1.3,4,实时数据库,0
|
97,2.1.4.1.3,4,实时数据库,1
|
||||||
98,2.1.4.1.4,4,时序数据库,0
|
98,2.1.4.1.4,4,时序数据库,0
|
||||||
99,2.1.4.2,3,工业大数据管理,0
|
99,2.1.4.2,3,工业大数据管理,0
|
||||||
100,2.1.4.2.1,4,数据质量管理,1
|
100,2.1.4.2.1,4,数据质量管理,1
|
||||||
101,2.1.4.2.2,4,数据安全管理,1
|
101,2.1.4.2.2,4,数据安全管理,1
|
||||||
102,2.2,1,IaaS,0
|
102,2.2,1,IaaS,1
|
||||||
103,2.3,1,边缘层,0
|
103,2.3,1,边缘层,0
|
||||||
104,2.3.1,2,工业数据接入,0
|
104,2.3.1,2,工业数据接入,0
|
||||||
105,2.3.2,2,边缘数据处理,0
|
105,2.3.2,2,边缘数据处理,0
|
||||||
|
|
|
|
@ -1,171 +1,171 @@
|
||||||
Code,Company Name,原材料,库存商品,设备数量,Revenue,Total Employees (People),Type_Region,Self-supply Business (Yes/No),Revenue_Log,production_output,demand_quantity
|
Code,原材料,库存商品,设备数量,Revenue,Total Employees (People),Type_Region,Self-supply Business (Yes/No),Revenue_Log,production_output,demand_quantity
|
||||||
1,Company_1,284.02,982.67,452.15,29692.44,963,Suburban,Yes,10.298647746934053,204.215,481.402
|
0,181.81,641.66,728.05,87929.36,201,Rural,Yes,11.384289043829558,375.805,273.181
|
||||||
2,Company_2,591.75,232.7,597.47,37552.56,222,Urban,No,10.533496830634064,553.747,253.175
|
1,563.58,957.81,555.95,87873.23,953,Rural,Yes,11.383650486662598,501.595,232.358
|
||||||
3,Company_3,514.2,466.73,388.52,23557.62,355,Urban,No,10.067204613987071,227.852,377.42
|
2,580.85,890.49,437.24,69639.0,578,Rural,Yes,11.151080034215557,478.724,188.085
|
||||||
4,Company_4,893.84,633.71,580.73,89135.78,496,Urban,No,11.397916104118977,221.073,483.384
|
3,973.37,993.31,468.34,44580.21,997,Suburban,No,10.705045317561336,435.834,373.337
|
||||||
5,Company_5,306.54,844.63,474.67,60818.82,117,Suburban,Yes,11.015654559530484,391.467,209.654
|
4,241.84,285.02,483.51,21252.13,808,Urban,Yes,9.96421240462346,158.351,405.184
|
||||||
6,Company_6,830.89,831.11,177.37,73695.09,279,Rural,No,11.207691454519859,372.737,473.089
|
5,368.0,315.75,525.42,94743.97,578,Urban,No,11.458933479758539,245.542,332.8
|
||||||
7,Company_7,483.95,603.67,603.02,73826.05,832,Rural,Yes,11.209466929335226,186.302,485.395
|
6,889.86,353.18,223.03,67882.65,79,Rural,No,11.12553575806758,284.303,494.986
|
||||||
8,Company_8,483.1,525.24,116.64,83568.26,242,Rural,Yes,11.333419061909991,437.664,500.31
|
7,203.75,914.91,971.29,55768.34,195,Urban,Yes,10.92896160383392,240.129,212.375
|
||||||
9,Company_9,958.73,267.31,682.18,36015.98,351,Suburban,No,10.491718007837608,433.217,460.873
|
8,243.51,639.94,849.47,74211.92,860,Suburban,Yes,11.21468006315341,248.947,135.351
|
||||||
10,Company_10,946.82,215.02,393.99,26255.05,324,Suburban,No,10.175613630469309,472.399,381.682
|
9,835.96,867.4,182.11,28603.45,850,Suburban,Yes,10.261282618903437,364.211,188.596
|
||||||
11,Company_11,454.76,689.55,232.49,84782.37,81,Suburban,Yes,11.3478428992222,243.249,260.476
|
10,689.06,935.11,679.15,81506.9,63,Rural,Yes,11.308442958221967,543.915,395.906
|
||||||
12,Company_12,323.83,177.09,624.04,26639.31,170,Suburban,No,10.19014322341799,321.404,148.382
|
11,729.56,823.94,570.66,39513.14,817,Urban,Yes,10.584388553798581,217.066,382.956
|
||||||
13,Company_13,425.17,396.05,274.2,31290.59,265,Rural,No,10.351072692349652,287.42,490.517
|
12,743.22,796.77,994.43,35647.21,628,Suburban,No,10.481426161910335,335.443,259.322
|
||||||
14,Company_14,109.55,739.42,406.11,87814.36,788,Suburban,No,11.38298031978054,148.611,401.955
|
13,434.41,627.26,640.54,95550.17,312,Urban,Yes,11.467406728840045,521.054,465.44100000000003
|
||||||
15,Company_15,202.82,923.13,100.91,43238.15,487,Suburban,No,10.674478486379028,210.091,336.282
|
14,218.51,265.34,831.5,74163.89,575,Rural,Yes,11.214032653017249,336.15,349.851
|
||||||
16,Company_16,160.02,615.97,486.87,32433.19,658,Urban,No,10.386937560174536,327.687,459.002
|
15,324.18,651.97,628.53,65263.67,976,Urban,No,11.086190805158187,277.853,474.418
|
||||||
17,Company_17,292.47,762.76,981.28,22436.39,755,Rural,Yes,10.018439473254828,433.128,232.247
|
16,263.97,560.28,936.33,71442.85,281,Urban,Yes,11.176653108371672,423.63300000000004,356.397
|
||||||
18,Company_18,331.51,800.32,145.21,65352.83,631,Rural,Yes,11.087556023393986,388.521,358.151
|
17,826.3,337.48,354.44,39720.11,636,Suburban,No,10.589612887540975,428.444,310.63
|
||||||
19,Company_19,508.01,104.76,862.05,67955.82,579,Rural,No,11.126613067125563,576.205,465.801
|
18,157.45,801.45,438.72,53164.35,586,Suburban,No,10.881143337921856,440.872,342.745
|
||||||
20,Company_20,484.81,906.52,943.38,70611.44,692,Urban,No,11.164947450014383,325.33799999999997,513.481
|
19,857.4,256.3,336.24,26539.89,962,Rural,No,10.186404163190344,193.624,348.74
|
||||||
21,Company_21,769.67,739.38,736.02,76562.51,383,Suburban,Yes,11.245862810333419,455.602,197.96699999999998
|
20,818.54,756.38,396.87,31441.28,520,Rural,Yes,10.355876958182606,502.687,570.854
|
||||||
22,Company_22,533.36,234.46,657.71,38283.05,722,Urban,No,10.552762518463977,416.771,354.336
|
21,403.99,705.79,826.47,56932.63,390,Suburban,Yes,10.949623917962214,518.647,434.399
|
||||||
23,Company_23,641.84,872.33,487.84,42673.07,791,Suburban,Yes,10.661323321098049,183.784,208.184
|
22,685.33,651.77,178.3,84452.8,774,Rural,No,11.343948077399748,285.83,399.533
|
||||||
24,Company_24,700.51,197.06,621.79,66410.79,503,Urban,No,11.10361482226283,257.179,341.051
|
23,822.29,347.16,496.38,39599.95,563,Rural,No,10.586583134615513,316.638,484.229
|
||||||
25,Company_25,628.84,292.82,571.1,72622.08,997,Urban,No,11.19302428680546,240.11,317.884
|
24,974.83,177.56,867.46,40712.78,330,Suburban,No,10.614297327055466,225.746,440.483
|
||||||
26,Company_26,653.23,970.24,221.15,81298.66,667,Suburban,No,11.305884813235249,382.115,371.323
|
25,439.19,804.07,984.96,84754.7,164,Rural,Yes,11.347516480932141,350.496,198.91899999999998
|
||||||
27,Company_27,747.52,130.58,938.29,73435.38,990,Urban,No,11.204161114818818,214.829,339.752
|
26,792.91,452.82,968.22,20146.61,937,Urban,No,9.910791315007794,260.822,471.291
|
||||||
28,Company_28,878.41,322.67,211.96,77726.12,556,Rural,No,11.260946644601198,438.196,371.841
|
27,760.28,342.11,403.48,72939.31,272,Rural,Yes,11.19738300448793,395.348,563.028
|
||||||
29,Company_29,758.14,433.16,956.4,33200.84,568,Suburban,No,10.410330455789328,458.64,510.81399999999996
|
28,138.05,932.66,775.93,18503.91,344,Urban,Yes,9.825737340086217,444.59299999999996,196.805
|
||||||
30,Company_30,916.25,613.21,455.27,43485.34,347,Rural,No,10.680179148781386,252.527,267.625
|
29,149.76,537.24,492.6,32927.81,570,Rural,Yes,10.402072868451919,215.26,185.976
|
||||||
31,Company_31,900.34,969.81,394.83,50244.63,433,Rural,No,10.824658954539137,373.483,322.034
|
30,979.46,249.46,491.61,82109.54,129,Urban,No,11.315809488446245,268.161,231.946
|
||||||
32,Company_32,996.22,755.3,640.05,33162.77,550,Urban,No,10.409183140139199,514.005,450.622
|
31,338.04,911.44,390.13,63876.58,147,Rural,Yes,11.064708063012214,445.013,336.804
|
||||||
33,Company_33,515.17,844.15,161.39,57032.93,853,Rural,Yes,10.951384099299384,272.139,470.517
|
32,650.75,215.55,536.88,85274.44,583,Rural,No,11.353630040276132,270.688,561.075
|
||||||
34,Company_34,540.93,578.49,650.09,74078.09,806,Suburban,Yes,11.21287508605031,236.00900000000001,334.093
|
33,198.36,555.99,513.68,18940.55,820,Urban,Yes,9.849060405389194,256.368,445.836
|
||||||
35,Company_35,366.24,940.41,849.01,19617.56,483,Rural,Yes,9.884180362490643,519.901,169.624
|
34,928.72,675.62,330.83,75800.87,320,Rural,No,11.235865049137155,256.08299999999997,216.872
|
||||||
36,Company_36,405.22,450.03,380.13,11929.17,371,Rural,No,9.386741940165397,290.013,425.522
|
35,980.62,893.25,371.57,54696.03,854,Urban,Yes,10.909546408079658,439.157,382.062
|
||||||
37,Company_37,760.77,517.35,208.94,86851.29,464,Suburban,No,11.371952624754107,145.894,425.077
|
36,816.55,334.59,506.43,55963.31,690,Rural,Yes,10.932451576422585,428.64300000000003,375.655
|
||||||
38,Company_38,818.17,404.74,315.82,78053.26,201,Suburban,Yes,11.265146693168688,265.582,258.817
|
37,811.93,613.86,689.11,42557.86,823,Rural,Yes,10.658619840796458,276.911,537.193
|
||||||
39,Company_39,586.03,697.5,155.23,42210.17,931,Suburban,No,10.650416466250073,158.523,523.603
|
38,233.05,373.08,577.32,80566.43,530,Urban,Yes,11.296837340493292,277.732,518.305
|
||||||
40,Company_40,814.27,687.38,477.47,18756.58,673,Urban,Yes,9.839299903169191,295.747,192.427
|
39,809.83,356.18,755.38,99458.16,457,Suburban,Yes,11.507492332198147,369.538,550.983
|
||||||
41,Company_41,872.52,234.9,598.33,33207.98,178,Urban,No,10.410545487468179,269.833,469.252
|
40,621.2,522.25,595.01,87316.4,661,Suburban,No,11.37729358214565,526.501,367.12
|
||||||
42,Company_42,318.98,744.42,671.43,45471.87,404,Rural,No,10.72484917199056,178.143,350.898
|
41,907.65,730.64,830.85,30436.2,310,Urban,No,10.323387968440548,203.085,361.765
|
||||||
43,Company_43,453.11,750.88,926.15,99013.81,875,Suburban,No,11.503014614337706,490.615,434.311
|
42,220.93,688.61,996.21,41344.79,794,Suburban,Yes,10.629701694931855,413.621,374.093
|
||||||
44,Company_44,130.39,274.92,629.0,13707.42,384,Urban,Yes,9.525692571040127,474.9,479.039
|
43,117.81,576.3,264.84,15830.0,784,Rural,Yes,9.669662152875057,374.484,182.781
|
||||||
45,Company_45,578.76,368.08,890.9,26604.81,901,Rural,No,10.188847305490215,324.09000000000003,202.876
|
44,830.95,800.85,102.52,13639.33,635,Rural,Yes,9.520712809956411,392.252,355.095
|
||||||
46,Company_46,265.4,987.58,137.93,39924.26,335,Suburban,No,10.594739438158781,349.793,331.54
|
45,675.16,304.52,977.42,47128.26,762,Urban,No,10.760628100076477,206.742,370.51599999999996
|
||||||
47,Company_47,743.33,304.14,867.21,90417.33,567,Urban,Yes,11.412191231547315,371.721,453.33299999999997
|
46,361.35,271.19,922.51,62800.89,766,Suburban,Yes,11.047724524330391,504.251,534.135
|
||||||
48,Company_48,873.08,651.74,589.46,49837.92,599,Urban,Yes,10.816531419043114,371.946,299.308
|
47,277.52,628.81,310.08,19127.61,666,Rural,No,9.858888119971708,422.008,183.752
|
||||||
49,Company_49,797.72,610.35,866.25,71390.29,680,Urban,Yes,11.17591714468184,317.625,432.772
|
48,768.86,962.58,169.23,82513.95,709,Rural,No,11.320722648937608,324.923,553.886
|
||||||
50,Company_50,173.31,403.93,398.59,19134.31,577,Rural,No,9.859238337632949,383.859,427.331
|
49,640.49,256.78,477.52,96026.28,989,Urban,Yes,11.472377182987278,228.752,202.049
|
||||||
51,Company_51,713.05,943.63,786.47,33400.45,814,Suburban,No,10.416324651927923,242.647,554.305
|
50,703.49,572.21,670.69,41241.23,374,Urban,No,10.627193763098349,467.069,490.349
|
||||||
52,Company_52,769.5,939.62,827.64,15891.9,622,Urban,No,9.673564824440492,500.764,351.95
|
51,603.88,740.35,384.55,65698.37,790,Urban,Yes,11.092829394423687,170.45499999999998,362.388
|
||||||
53,Company_53,424.01,131.65,979.59,68631.67,998,Rural,Yes,11.13650936898853,240.959,315.401
|
52,972.13,799.44,927.28,95157.56,935,Urban,Yes,11.463289323062517,397.728,491.21299999999997
|
||||||
54,Company_54,923.68,474.15,214.87,18889.97,631,Suburban,Yes,9.84638637235242,403.487,459.368
|
53,193.37,697.4,243.1,98193.26,605,Suburban,Yes,11.494692856549156,390.31,426.337
|
||||||
55,Company_55,671.6,928.96,584.73,93556.96,965,Suburban,No,11.446325727652052,191.473,350.15999999999997
|
54,849.98,196.48,927.78,83414.35,973,Suburban,Yes,11.33157563589593,293.778,382.998
|
||||||
56,Company_56,740.88,450.42,624.08,75711.44,741,Rural,Yes,11.234684550861001,524.408,318.08799999999997
|
55,953.18,770.12,207.4,55392.45,498,Suburban,No,10.922198581859748,202.74,563.318
|
||||||
57,Company_57,409.56,660.05,574.35,30617.71,416,Rural,No,10.32933387869449,211.435,536.956
|
56,381.56,998.22,860.09,62313.91,335,Suburban,Yes,11.039939954331839,382.009,207.156
|
||||||
58,Company_58,436.2,294.82,599.98,78445.43,977,Urban,Yes,11.270158502799614,276.998,387.62
|
57,644.79,521.74,355.78,75289.45,713,Urban,No,11.229095297730488,402.578,291.479
|
||||||
59,Company_59,516.54,770.6,290.97,37174.96,441,Suburban,Yes,10.523390695335847,419.097,475.654
|
58,505.59,860.44,789.47,25900.97,585,Urban,Yes,10.162035698723782,182.947,406.55899999999997
|
||||||
60,Company_60,721.93,305.6,412.97,98848.66,842,Urban,Yes,11.501345272614115,316.297,280.193
|
59,369.43,872.67,895.61,63241.28,675,Rural,No,11.05471253147278,416.56100000000004,423.943
|
||||||
61,Company_61,712.26,395.66,391.41,92570.96,996,Urban,No,11.435730764537892,151.14100000000002,496.226
|
60,419.27,513.8,452.13,51223.88,838,Urban,No,10.843961108544011,309.213,205.927
|
||||||
62,Company_62,498.75,142.06,747.78,71608.94,917,Rural,Yes,11.178975205489529,536.778,380.875
|
61,196.58,924.12,338.96,28298.88,859,Rural,No,10.250577506876448,457.896,364.658
|
||||||
63,Company_63,623.33,901.33,397.15,23513.3,567,Suburban,Yes,10.065321497485543,362.715,297.333
|
62,890.61,305.66,713.32,50412.81,282,Rural,Yes,10.828000588431252,299.332,397.06100000000004
|
||||||
64,Company_64,263.36,133.88,830.99,20195.09,241,Urban,Yes,9.913194784536234,392.099,319.336
|
63,234.83,181.61,104.55,15073.36,361,Suburban,No,9.62068422629099,279.455,271.483
|
||||||
65,Company_65,479.22,672.42,688.79,41600.33,951,Suburban,No,10.635863378910198,528.879,334.922
|
64,889.35,562.21,116.14,77654.42,784,Rural,Yes,11.260023749043118,337.614,523.935
|
||||||
66,Company_66,586.48,947.72,733.06,13215.54,624,Rural,Yes,9.489148688859606,487.306,478.648
|
65,179.85,369.62,180.93,69888.63,840,Suburban,Yes,11.15465825404697,422.093,247.985
|
||||||
67,Company_67,145.29,158.54,178.11,64118.35,910,Rural,Yes,11.068485873391767,260.811,258.529
|
66,238.0,309.39,564.85,51633.14,940,Suburban,Yes,10.851918993378646,537.485,205.8
|
||||||
68,Company_68,267.7,992.49,846.41,83839.88,127,Urban,No,11.336664068256136,552.641,188.77
|
67,178.8,934.8,898.22,45553.24,99,Rural,Yes,10.726637030784127,430.822,281.88
|
||||||
69,Company_69,207.33,621.93,942.4,54187.36,793,Suburban,Yes,10.900202949897876,349.24,518.733
|
68,705.91,321.96,196.64,34943.76,857,Suburban,Yes,10.461495190949123,241.664,257.591
|
||||||
70,Company_70,107.17,406.95,154.29,15249.9,383,Suburban,Yes,9.632328224637009,506.429,294.717
|
69,417.35,650.65,516.24,40390.81,873,Rural,Yes,10.606357562825298,329.624,242.735
|
||||||
71,Company_71,835.06,230.35,568.8,91044.0,294,Rural,No,11.419098185126074,318.88,291.506
|
70,143.56,132.64,319.8,31165.9,509,Suburban,Yes,10.347079827375628,418.98,503.356
|
||||||
72,Company_72,149.12,861.62,775.5,97301.35,155,Urban,No,11.485568142692438,360.55,156.912
|
71,636.49,620.16,375.48,35974.77,861,Urban,Yes,10.49057313840643,260.548,295.649
|
||||||
73,Company_73,385.5,741.6,846.34,19971.89,201,Rural,Yes,9.902081063894537,205.63400000000001,445.55
|
72,356.74,585.65,467.6,32974.8,250,Rural,Yes,10.403498912366212,538.76,409.674
|
||||||
74,Company_74,363.13,524.32,314.91,46296.94,763,Rural,Yes,10.742831147177496,255.491,284.313
|
73,647.81,566.75,659.68,37617.13,524,Suburban,No,10.535214810736983,263.96799999999996,300.781
|
||||||
75,Company_75,647.69,363.06,973.17,77340.29,460,Urban,No,11.25597031483101,381.317,278.769
|
74,263.94,828.9,574.78,76153.93,410,Urban,Yes,11.240511965658731,438.478,361.394
|
||||||
76,Company_76,439.41,498.97,944.89,30625.18,754,Rural,Yes,10.329577825380776,526.489,258.94100000000003
|
75,905.98,734.15,692.96,13377.47,651,Urban,Yes,9.501327227611464,363.296,469.598
|
||||||
77,Company_77,466.64,397.98,979.11,86794.57,418,Rural,Yes,11.371299341087946,417.911,347.664
|
76,292.05,243.65,522.28,49923.72,529,Urban,Yes,10.81825151949766,482.228,350.205
|
||||||
78,Company_78,641.64,202.48,850.07,29307.04,807,Urban,No,10.285583039181757,259.007,379.164
|
77,393.86,999.51,735.64,12433.38,415,Urban,No,9.42814007030796,535.564,303.386
|
||||||
79,Company_79,732.01,600.48,239.65,93479.02,864,Rural,Yes,11.445492305071953,246.965,195.201
|
78,517.7,326.34,529.63,54028.27,874,Urban,Yes,10.89726270707692,230.963,504.77
|
||||||
80,Company_80,922.97,177.28,277.08,83955.43,883,Urban,Yes,11.33804134177189,500.70799999999997,222.297
|
79,498.02,282.95,933.3,25192.21,482,Rural,No,10.134290098725792,280.33,480.802
|
||||||
81,Company_81,627.27,621.58,542.03,87676.13,277,Urban,No,11.38140496343402,546.203,518.727
|
80,199.15,401.59,289.82,22092.58,672,Rural,No,10.002997084523999,486.98199999999997,202.915
|
||||||
82,Company_82,165.15,637.29,220.57,35181.96,313,Urban,Yes,10.468288730213176,371.057,246.515
|
81,954.83,314.75,347.98,67309.26,972,Urban,Yes,11.117053099035545,248.798,465.483
|
||||||
83,Company_83,819.04,221.6,785.02,16422.34,471,Urban,No,9.706397881988158,424.502,273.904
|
82,338.55,394.23,140.73,31921.77,182,Suburban,Yes,10.371043501154208,385.073,275.855
|
||||||
84,Company_84,495.01,235.24,793.64,18346.41,797,Suburban,No,9.817189194015675,465.36400000000003,229.501
|
83,120.84,244.32,962.47,37341.68,855,Suburban,Yes,10.527865408049326,263.247,117.084
|
||||||
85,Company_85,189.98,626.37,530.14,49793.11,669,Suburban,No,10.815631900027373,492.014,420.998
|
84,941.7,232.22,840.66,64891.57,371,Urban,Yes,11.08047300211371,269.06600000000003,476.17
|
||||||
86,Company_86,786.61,983.8,224.61,27511.88,420,Urban,No,10.222373190369527,296.461,200.661
|
85,643.17,912.04,990.06,86883.99,914,Rural,Yes,11.372329059527587,355.006,411.317
|
||||||
87,Company_87,775.36,813.93,242.21,94867.05,336,Rural,Yes,11.460231716720575,458.221,433.536
|
86,678.76,791.29,717.2,69956.18,334,Rural,Yes,11.155624325011686,384.72,515.876
|
||||||
88,Company_88,316.03,569.38,505.27,31548.83,265,Suburban,Yes,10.35929178328807,307.527,299.603
|
87,231.47,396.41,659.0,13992.44,602,Rural,No,9.546272462744886,549.9,495.147
|
||||||
89,Company_89,411.42,968.1,873.75,17001.83,274,Suburban,No,9.741076264303647,220.375,534.142
|
88,784.71,953.34,450.9,93706.25,760,Rural,No,11.447920168243213,519.09,365.471
|
||||||
90,Company_90,360.91,720.1,917.41,33781.07,582,Suburban,Yes,10.427655865407793,473.741,252.091
|
89,113.94,508.95,223.49,39526.07,935,Rural,Yes,10.584715733184998,353.349,172.394
|
||||||
91,Company_91,358.16,611.27,878.08,94174.16,361,Urban,Yes,11.452901112955821,500.808,146.816
|
90,606.5,550.16,774.11,21875.64,57,Rural,Yes,9.99312896794069,516.4110000000001,309.65
|
||||||
92,Company_92,353.58,598.11,973.92,46314.41,797,Suburban,No,10.743208422753485,540.392,251.358
|
91,447.17,663.18,423.41,23303.28,170,Rural,Yes,10.056349402178457,240.341,366.717
|
||||||
93,Company_93,796.81,261.4,254.01,36160.77,589,Suburban,No,10.495730108527182,202.401,310.681
|
92,611.27,585.54,959.77,76513.0,513,Rural,No,11.245215940017895,440.977,300.127
|
||||||
94,Company_94,479.78,168.81,256.88,40033.55,561,Rural,No,10.597473131541856,467.688,210.978
|
93,902.52,379.67,796.35,51981.86,591,Urban,Yes,10.858650090548744,281.635,361.252
|
||||||
95,Company_95,500.33,585.43,362.28,58187.29,708,Urban,No,10.971422224990354,253.228,302.033
|
94,301.42,490.92,480.54,26329.43,179,Rural,Yes,10.178442603946115,409.054,406.142
|
||||||
96,Company_96,267.69,499.92,214.82,79427.15,318,Suburban,No,11.282595528333824,179.482,373.769
|
95,819.3,826.17,491.49,90948.99,995,Suburban,No,11.418054078881859,240.149,414.93
|
||||||
97,Company_97,755.05,985.95,179.24,82469.43,673,Suburban,Yes,11.320182958199297,140.924,446.505
|
96,911.38,265.66,592.57,20074.86,870,Rural,Yes,9.907223564942575,423.257,283.13800000000003
|
||||||
98,Company_98,302.62,320.94,594.75,51363.17,367,Suburban,No,10.84667665764297,510.475,362.262
|
97,779.57,543.64,929.73,14326.93,833,Rural,Yes,9.56989626200163,460.973,351.957
|
||||||
99,Company_99,714.96,972.27,684.7,26131.27,620,Rural,No,10.170887960471719,552.47,208.496
|
98,153.96,660.67,354.21,83007.2,745,Urban,No,11.326682630004385,318.421,433.396
|
||||||
100,Company_100,945.42,505.3,509.87,57539.11,222,Urban,Yes,10.960220169485046,174.987,338.54200000000003
|
99,932.37,892.01,202.12,60293.69,887,Urban,No,11.00698273379035,210.212,285.23699999999997
|
||||||
101,Company_101,160.02,165.31,985.52,97438.02,772,Urban,Yes,11.486971762540222,329.552,243.002
|
100,126.64,832.47,671.04,96563.41,475,Urban,No,11.477955169978017,218.10399999999998,398.664
|
||||||
102,Company_102,445.92,108.59,838.78,65823.19,990,Rural,No,11.094727486834918,310.878,233.59199999999998
|
101,270.89,706.51,300.61,90204.11,749,Suburban,No,11.409830270422843,311.061,477.089
|
||||||
103,Company_103,591.79,603.5,225.38,17043.42,511,Suburban,Yes,9.74351948447026,211.538,287.179
|
102,482.48,958.61,183.12,43168.79,593,Rural,No,10.67287305943306,471.312,325.248
|
||||||
104,Company_104,252.06,450.61,405.59,57402.73,571,Rural,No,10.95784714215228,316.55899999999997,462.206
|
103,990.28,733.96,469.56,76332.37,994,Rural,No,11.242852373701297,227.95600000000002,261.028
|
||||||
105,Company_105,165.62,951.39,306.5,45833.17,398,Rural,Yes,10.73276334377794,173.65,386.562
|
104,388.18,850.49,435.17,32055.5,785,Urban,Yes,10.375224054490317,485.517,453.818
|
||||||
106,Company_106,255.06,128.16,259.17,13244.48,616,Urban,No,9.491336140837323,395.91700000000003,362.506
|
105,984.39,414.52,197.17,33821.73,736,Urban,Yes,10.428858774308102,402.717,293.43899999999996
|
||||||
107,Company_107,447.35,180.41,643.05,70700.8,449,Rural,No,11.166212167237902,476.305,380.735
|
106,761.21,183.54,281.11,55013.96,260,Rural,Yes,10.915342250190042,481.111,388.121
|
||||||
108,Company_108,781.83,434.34,550.93,81277.04,720,Suburban,Yes,11.305618844826347,450.093,377.183
|
107,331.91,279.02,877.44,53710.83,362,Urban,No,10.891369936140743,244.744,530.191
|
||||||
109,Company_109,169.85,134.46,977.71,94591.41,473,Suburban,No,11.45732194753443,239.77100000000002,273.985
|
108,469.56,264.7,851.26,76110.9,575,Rural,No,11.239946766181669,251.126,345.956
|
||||||
110,Company_110,125.7,708.42,777.62,11615.85,473,Rural,Yes,9.360125823758061,452.762,334.57
|
109,971.54,881.07,334.09,58867.43,578,Suburban,Yes,10.983043245557232,199.409,391.154
|
||||||
111,Company_111,866.33,981.73,892.43,14848.63,251,Suburban,Yes,9.605662884082752,436.243,392.63300000000004
|
110,517.61,616.48,893.11,72042.76,787,Rural,No,11.185015110604866,523.311,473.761
|
||||||
112,Company_112,725.77,590.82,558.44,15328.79,949,Urban,Yes,9.63748803854849,397.844,518.577
|
111,400.81,368.37,725.7,23609.77,891,Suburban,Yes,10.069415888397208,366.57,175.08100000000002
|
||||||
113,Company_113,958.57,191.31,188.92,97104.67,310,Urban,Yes,11.483544747870583,305.892,306.85699999999997
|
112,453.79,493.83,974.96,90456.84,167,Rural,Yes,11.412628109854797,411.496,427.379
|
||||||
114,Company_114,729.39,511.32,120.71,69592.56,191,Urban,No,11.150412944056944,457.071,390.93899999999996
|
113,941.13,837.6,410.3,32438.24,520,Suburban,Yes,10.38709325275015,364.03,224.113
|
||||||
115,Company_115,365.17,638.89,288.41,18567.32,982,Rural,Yes,9.829158325138039,372.841,401.517
|
114,748.24,400.21,504.45,41249.5,921,Urban,No,10.627394270477243,218.445,541.824
|
||||||
116,Company_116,265.79,429.39,476.28,86839.57,716,Urban,No,11.371817672344777,372.628,356.579
|
115,133.89,994.03,956.81,87486.73,685,Rural,No,11.379242403701742,341.681,283.389
|
||||||
117,Company_117,559.33,264.97,113.88,15724.66,744,Rural,Yes,9.66298545971327,444.388,394.933
|
116,215.17,615.03,922.44,57195.4,479,Suburban,No,10.954228754553641,340.244,150.517
|
||||||
118,Company_118,781.96,443.32,862.47,74245.47,273,Rural,No,11.215132044702743,427.247,508.196
|
117,273.3,200.4,702.29,91578.5,282,Urban,Yes,11.424951806954867,468.229,389.33
|
||||||
119,Company_119,890.02,331.77,697.16,83693.72,772,Rural,Yes,11.334919223794108,531.716,428.002
|
118,727.88,435.23,623.45,88235.21,802,Rural,No,11.387761368682435,467.345,246.788
|
||||||
120,Company_120,358.86,588.14,768.94,84336.55,101,Urban,No,11.342570620606638,188.894,371.886
|
119,500.21,244.24,743.84,88539.28,213,Urban,Yes,11.391201574335291,198.38400000000001,289.021
|
||||||
121,Company_121,589.37,192.81,994.71,30198.07,651,Urban,Yes,10.315533294036035,451.471,426.937
|
120,492.05,549.08,197.37,36497.09,698,Suburban,Yes,10.504987810364897,293.737,524.205
|
||||||
122,Company_122,808.28,297.7,455.05,30809.46,875,Urban,Yes,10.335577064660097,157.505,494.828
|
121,242.04,645.31,338.0,15847.92,625,Suburban,No,9.670793540410068,288.8,503.204
|
||||||
123,Company_123,988.78,307.96,869.8,44511.43,310,Suburban,Yes,10.703501289105592,455.98,326.878
|
122,169.61,943.12,489.47,94776.28,339,Rural,No,11.459274445964661,396.947,284.961
|
||||||
124,Company_124,461.81,849.69,521.11,84053.28,549,Suburban,Yes,11.339206162465574,425.111,217.18099999999998
|
123,997.7,668.06,149.31,85691.25,924,Urban,No,11.358505999023217,249.931,254.77
|
||||||
125,Company_125,438.73,683.75,458.4,34747.89,771,Rural,Yes,10.455874129724979,386.84,305.873
|
124,980.24,952.38,156.39,64771.22,488,Urban,Yes,11.078616647880379,249.639,320.024
|
||||||
126,Company_126,791.33,299.04,650.17,84231.54,634,Urban,Yes,11.341324714414265,208.017,494.13300000000004
|
125,823.52,620.72,152.73,80077.4,167,Urban,Yes,11.290748945929552,183.273,482.352
|
||||||
127,Company_127,369.59,143.99,204.6,27639.11,536,Rural,Yes,10.22698707765262,338.46,479.959
|
126,518.56,264.76,894.63,21886.95,544,Urban,Yes,9.99364584778038,392.46299999999997,459.856
|
||||||
128,Company_128,524.05,885.87,431.91,22997.06,766,Suburban,Yes,10.04312166065388,507.19100000000003,410.405
|
127,516.9,541.19,284.53,79221.17,481,Urban,Yes,11.279998840064575,168.453,416.69
|
||||||
129,Company_129,677.07,490.74,311.48,21524.13,781,Rural,No,9.97692991036063,444.148,564.707
|
128,479.06,821.23,812.31,45671.01,578,Rural,Yes,10.729219021108582,574.231,207.906
|
||||||
130,Company_130,178.2,260.51,858.09,83651.2,562,Rural,No,11.334411051799224,185.809,333.82
|
129,864.87,370.37,627.0,99571.15,335,Rural,No,11.508627742978986,166.7,538.487
|
||||||
131,Company_131,691.31,398.92,644.53,87442.53,582,Rural,No,11.378737056558094,443.453,357.131
|
130,106.9,451.78,741.94,84024.35,712,Suburban,Yes,11.338861916770467,338.194,378.69
|
||||||
132,Company_132,189.46,575.78,346.71,13257.65,284,Rural,Yes,9.492330023297646,296.671,473.946
|
131,480.63,972.01,956.7,30156.57,517,Suburban,Yes,10.31415808886406,558.67,243.063
|
||||||
133,Company_133,488.33,731.67,953.18,26643.92,489,Rural,Yes,10.190316260976394,559.318,406.83299999999997
|
132,467.69,512.18,484.88,26439.75,636,Rural,No,10.18262383855027,458.488,496.769
|
||||||
134,Company_134,369.02,465.67,667.29,78924.61,793,Suburban,No,11.27624837201392,238.72899999999998,205.902
|
133,338.95,482.23,735.23,65016.58,500,Suburban,Yes,11.082397593274264,225.523,355.895
|
||||||
135,Company_135,738.44,879.57,465.81,92477.88,609,Suburban,No,11.434724759768017,365.581,546.844
|
134,396.97,167.31,970.9,16871.64,796,Urban,Yes,9.73338938480437,501.09000000000003,360.697
|
||||||
136,Company_136,758.99,786.45,658.38,52134.69,989,Urban,Yes,10.861585841104548,218.838,231.899
|
135,443.34,726.96,811.81,19889.06,186,Suburban,Yes,9.89792511080162,528.181,533.334
|
||||||
137,Company_137,464.53,270.67,133.65,25976.63,552,Suburban,Yes,10.164952566645338,168.365,274.453
|
136,900.26,735.27,322.44,73358.44,674,Suburban,Yes,11.203112841709697,335.244,343.026
|
||||||
138,Company_138,580.02,793.08,931.46,40643.76,471,Rural,Yes,10.612600597657721,362.146,444.002
|
137,298.84,960.18,833.89,32517.38,521,Rural,Yes,10.38952999461049,355.389,338.884
|
||||||
139,Company_139,274.51,795.06,500.42,35139.32,233,Rural,Yes,10.46707601038709,281.04200000000003,458.451
|
138,514.11,138.94,403.06,73790.3,600,Rural,No,11.208982565635692,373.306,287.411
|
||||||
140,Company_140,959.71,868.21,107.06,49994.95,428,Rural,Yes,10.81967727930944,361.706,578.971
|
139,563.71,895.07,230.42,35866.03,717,Rural,No,10.487545886954793,239.042,317.371
|
||||||
141,Company_141,354.71,563.01,350.48,42908.83,610,Urban,No,10.666832911242361,272.048,357.471
|
140,233.85,759.24,700.57,65060.34,787,Rural,No,11.083070425958969,232.05700000000002,271.385
|
||||||
142,Company_142,396.03,603.89,128.42,39303.37,668,Urban,No,10.579065544817109,332.842,170.603
|
141,931.02,738.56,668.2,77652.7,697,Urban,Yes,11.260001599382495,521.82,392.102
|
||||||
143,Company_143,892.61,311.16,670.46,43027.27,864,Suburban,Yes,10.669589379711221,549.046,279.26099999999997
|
142,212.83,695.04,321.17,18167.74,646,Rural,Yes,9.807402772806727,455.117,180.28300000000002
|
||||||
144,Company_144,486.76,626.8,943.16,39879.69,50,Rural,No,10.593622450725602,318.31600000000003,189.676
|
143,924.34,205.86,558.88,52162.63,780,Suburban,Yes,10.86212161710854,425.888,415.43399999999997
|
||||||
145,Company_145,917.34,288.69,643.88,55254.01,873,Suburban,Yes,10.919696195931778,281.38800000000003,371.73400000000004
|
144,249.21,863.7,749.47,84617.29,62,Urban,No,11.34589389823535,207.947,349.921
|
||||||
146,Company_146,435.58,284.0,802.41,14442.55,517,Suburban,Yes,9.577933989653928,362.241,241.558
|
145,726.16,794.73,746.1,62798.43,763,Rural,No,11.047685352143786,310.61,533.616
|
||||||
147,Company_147,202.67,381.12,247.09,64747.68,871,Rural,Yes,11.07825314880404,335.709,272.267
|
146,948.13,792.63,192.63,73034.29,730,Suburban,No,11.19868433587119,204.263,380.813
|
||||||
148,Company_148,394.8,297.97,982.49,64826.8,825,Suburban,No,11.079474377086543,261.249,240.48000000000002
|
147,270.83,206.89,219.69,13885.75,153,Urban,No,9.53861841340637,288.969,487.08299999999997
|
||||||
149,Company_149,703.7,551.4,223.33,52703.5,186,Rural,No,10.872437145986403,325.333,248.37
|
148,272.47,649.86,407.02,58794.83,719,Suburban,No,10.981809204851006,230.702,388.247
|
||||||
150,Company_150,271.26,639.62,669.86,54145.21,286,Urban,No,10.899424790529425,392.986,361.126
|
149,896.82,782.03,746.84,81132.02,590,Suburban,Yes,11.303832983390505,402.68399999999997,300.682
|
||||||
151,Company_151,741.21,534.21,734.27,99208.27,649,Urban,Yes,11.504976656733618,459.427,365.121
|
150,589.6,665.02,990.66,34608.49,157,Urban,Yes,10.45185430666866,433.06600000000003,160.96
|
||||||
152,Company_152,946.16,900.51,456.7,12725.19,836,Rural,Yes,9.451338772544975,533.67,282.616
|
151,643.56,747.96,727.56,70969.34,259,Urban,No,11.170003231771686,381.756,509.356
|
||||||
153,Company_153,230.74,396.22,221.36,44064.93,469,Rural,No,10.693419506970148,279.136,139.074
|
152,197.82,825.05,703.02,82097.85,105,Urban,Yes,11.315667107521492,502.302,422.782
|
||||||
154,Company_154,390.33,162.83,592.72,41020.68,592,Urban,Yes,10.621831608768346,283.272,484.033
|
153,894.06,451.21,306.92,74212.65,254,Urban,No,11.214689899799728,425.692,541.406
|
||||||
155,Company_155,729.59,982.05,479.26,33549.17,191,Suburban,No,10.420767402898578,377.926,280.959
|
154,543.93,974.84,140.75,83785.49,519,Urban,No,11.336015121119924,288.075,240.393
|
||||||
156,Company_156,873.45,147.99,568.87,10530.31,621,Urban,No,9.262013044390788,262.887,409.345
|
155,319.43,298.48,775.91,45520.75,824,Rural,Yes,10.725923544938645,469.591,279.943
|
||||||
157,Company_157,799.45,990.69,784.19,76686.49,803,Rural,No,11.247480831032389,299.419,216.945
|
156,233.39,615.17,724.77,90675.17,284,Rural,Yes,11.415038838977027,389.477,354.339
|
||||||
158,Company_158,491.74,143.25,906.25,59283.77,370,Suburban,No,10.990090854439025,558.625,390.174
|
157,928.81,981.92,359.93,92439.1,235,Urban,No,11.434305328295919,454.993,273.881
|
||||||
159,Company_159,367.87,208.07,473.62,83903.97,372,Suburban,Yes,11.33742820957182,282.362,264.787
|
158,704.18,559.39,182.05,44391.3,820,Rural,Yes,10.700798783274456,337.205,528.418
|
||||||
160,Company_160,564.46,355.27,733.19,61663.32,609,Urban,No,11.029444543649397,275.319,363.446
|
159,154.02,251.18,865.35,98398.02,360,Suburban,No,11.496775960886676,291.53499999999997,364.402
|
||||||
161,Company_161,607.02,300.46,718.76,99731.85,231,Suburban,No,11.510240363309093,538.876,257.702
|
160,275.54,406.26,568.47,27050.68,69,Suburban,No,10.20546742259082,520.847,180.554
|
||||||
162,Company_162,363.2,676.84,915.1,81358.78,101,Urban,No,11.306624035526434,493.51,285.32
|
161,398.32,919.29,546.25,98471.58,220,Rural,No,11.49752325760921,397.625,463.832
|
||||||
163,Company_163,976.79,481.49,329.12,87221.77,246,Urban,No,11.37620923470151,221.912,377.679
|
162,276.07,251.64,777.77,36870.89,744,Suburban,Yes,10.515177629803139,387.777,477.60699999999997
|
||||||
164,Company_164,738.36,396.44,379.5,95322.53,249,Rural,No,11.465021473034172,364.95,406.836
|
163,645.63,243.57,345.2,26267.46,334,Suburban,Yes,10.176086189767442,206.51999999999998,537.563
|
||||||
165,Company_165,785.54,427.37,589.4,84393.08,683,Suburban,No,11.343240686701314,288.94,373.554
|
164,869.89,779.5,694.12,33187.84,707,Suburban,Yes,10.40993882275291,174.412,486.98900000000003
|
||||||
166,Company_166,992.29,576.28,173.55,43056.45,352,Rural,No,10.670267324417088,470.355,363.229
|
165,913.2,937.8,524.82,93834.24,397,Urban,Yes,11.449285100369293,527.482,406.32
|
||||||
167,Company_167,346.54,528.08,728.16,68761.38,309,Rural,Yes,11.138397529103418,195.816,262.654
|
166,120.77,970.59,161.73,56121.04,791,Rural,Yes,10.935266065762434,349.173,405.077
|
||||||
168,Company_168,523.22,482.95,699.79,58914.32,735,Rural,No,10.983839464028723,344.979,293.322
|
167,757.06,742.72,289.58,49173.87,459,Rural,No,10.80311766383716,447.95799999999997,499.706
|
||||||
169,Company_169,891.58,418.18,511.08,28763.31,576,Urban,Yes,10.26685589561593,178.108,286.158
|
168,578.68,954.7,693.6,92161.91,99,Rural,No,11.431302200541351,563.36,531.8679999999999
|
||||||
170,Company_170,712.0,906.86,583.05,16881.59,957,Urban,Yes,9.73397895802674,309.305,519.2
|
169,486.25,914.6,227.81,41215.88,401,Suburban,Yes,10.626578897969104,266.781,432.625
|
||||||
|
|
|
2
main.py
2
main.py
|
@ -52,7 +52,7 @@ if __name__ == '__main__':
|
||||||
parser.add_argument('--exp', type=str, default='without_exp')
|
parser.add_argument('--exp', type=str, default='without_exp')
|
||||||
parser.add_argument('--job', type=int, default='3')
|
parser.add_argument('--job', type=int, default='3')
|
||||||
parser.add_argument('--reset_sample', type=int, default='0')
|
parser.add_argument('--reset_sample', type=int, default='0')
|
||||||
parser.add_argument('--reset_db', type=bool, default=True)
|
parser.add_argument('--reset_db', type=bool, default=False)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
# 几核参与进程
|
# 几核参与进程
|
||||||
|
|
106
my_model.py
106
my_model.py
|
@ -78,11 +78,11 @@ class MyModel(Model):
|
||||||
print(f"Failed to initialize product network: {e}")
|
print(f"Failed to initialize product network: {e}")
|
||||||
# 赋予 产业的量
|
# 赋予 产业的量
|
||||||
# 产业种类
|
# 产业种类
|
||||||
data = pd.read_csv('测试数据 products_materials_equipment.csv')
|
data = pd.read_csv('input_data/测试 BomNodes.csv')
|
||||||
self.type = data
|
data['Code'] = data['Code'].astype('string')
|
||||||
|
self.type2 = data
|
||||||
# 设备c折旧比值
|
# 设备c折旧比值
|
||||||
device_salvage_values = pd.read_csv('测试数据 device_salvage_values.csv')
|
###
|
||||||
self.device_salvage_values = device_salvage_values
|
|
||||||
|
|
||||||
def initialize_firm_network(self):
|
def initialize_firm_network(self):
|
||||||
# Read the firm data
|
# Read the firm data
|
||||||
|
@ -121,6 +121,10 @@ class MyModel(Model):
|
||||||
self.G_FirmProd.add_nodes_from(firm_industry_relation.index)
|
self.G_FirmProd.add_nodes_from(firm_industry_relation.index)
|
||||||
|
|
||||||
# 为每个节点分配属性
|
# 为每个节点分配属性
|
||||||
|
grouped = firm_industry_relation.groupby('Firm_Code')
|
||||||
|
|
||||||
|
self.firm_prod_labels_dict = {code: group['Product_Code'].tolist() for code, group in grouped}
|
||||||
|
|
||||||
firm_prod_labels_dict = {code: firm_industry_relation.loc[code].to_dict() for code in
|
firm_prod_labels_dict = {code: firm_industry_relation.loc[code].to_dict() for code in
|
||||||
firm_industry_relation.index}
|
firm_industry_relation.index}
|
||||||
nx.set_node_attributes(self.G_FirmProd, firm_prod_labels_dict)
|
nx.set_node_attributes(self.G_FirmProd, firm_prod_labels_dict)
|
||||||
|
@ -137,7 +141,8 @@ class MyModel(Model):
|
||||||
|
|
||||||
for pred_product_code in lst_pred_product_code:
|
for pred_product_code in lst_pred_product_code:
|
||||||
# Get a list of firms producing the component (pred_product_code)
|
# Get a list of firms producing the component (pred_product_code)
|
||||||
lst_pred_firm = self.Firm['Code'][self.Firm[pred_product_code] == 1].to_list()
|
lst_pred_firm = [firm_code for firm_code, product in self.firm_prod_labels_dict.items() if
|
||||||
|
pred_product_code in product]
|
||||||
|
|
||||||
# Select multiple suppliers (multi-sourcing)
|
# Select multiple suppliers (multi-sourcing)
|
||||||
n_pred_firm = self.int_netw_prf_n
|
n_pred_firm = self.int_netw_prf_n
|
||||||
|
@ -183,7 +188,8 @@ class MyModel(Model):
|
||||||
lst_succ_product_code = list(self.G_bom.successors(product_code))
|
lst_succ_product_code = list(self.G_bom.successors(product_code))
|
||||||
|
|
||||||
for succ_product_code in lst_succ_product_code:
|
for succ_product_code in lst_succ_product_code:
|
||||||
lst_succ_firm = self.Firm['Code'][self.Firm[succ_product_code] == 1].to_list()
|
lst_succ_firm = [firm_code for firm_code, product in self.firm_prod_labels_dict.items() if
|
||||||
|
succ_product_code in product]
|
||||||
|
|
||||||
n_succ_firm = self.int_netw_prf_n
|
n_succ_firm = self.int_netw_prf_n
|
||||||
if n_succ_firm > len(lst_succ_firm):
|
if n_succ_firm > len(lst_succ_firm):
|
||||||
|
@ -214,40 +220,45 @@ class MyModel(Model):
|
||||||
|
|
||||||
def initialize_agents(self):
|
def initialize_agents(self):
|
||||||
""" Initialize agents and add them to the model. """
|
""" Initialize agents and add them to the model. """
|
||||||
|
|
||||||
for ag_node, attr in self.product_network.nodes(data=True):
|
for ag_node, attr in self.product_network.nodes(data=True):
|
||||||
# 产业种类
|
# 产业种类
|
||||||
type2 = self.type.loc[ag_node, '种类']
|
# 利用 测试 BomNodes.csv 转换产业 和 id 前提是 一个产业一个产品id 且一一对应
|
||||||
|
product_id = self.type2.loc[self.type2['Code'] == ag_node, 'Index']
|
||||||
|
|
||||||
device_salvage_values = self.type.loc[ag_node, '设备残值']
|
type2 = self.type2.loc[product_id, '产业种类'].values[0]
|
||||||
|
|
||||||
j_comp_data_consumed = self.data_consumed.loc[ag_node]
|
# depreciation ratio 折旧比值
|
||||||
|
product_id = product_id.iloc[0]
|
||||||
|
|
||||||
j_comp_data_produced = self.data_consumed.loc[ag_node]
|
j_comp_data_consumed = self.data_consumed[product_id]
|
||||||
|
|
||||||
|
j_comp_data_produced = self.data_produced[product_id]
|
||||||
|
|
||||||
product = ProductAgent(ag_node, self, name=attr['Name'], type2=type2,
|
product = ProductAgent(ag_node, self, name=attr['Name'], type2=type2,
|
||||||
device_salvage_values=device_salvage_values,
|
|
||||||
j_comp_data_consumed=j_comp_data_consumed,
|
j_comp_data_consumed=j_comp_data_consumed,
|
||||||
j_comp_data_produced=j_comp_data_produced, )
|
j_comp_data_produced=j_comp_data_produced,
|
||||||
|
)
|
||||||
self.add_agent(product)
|
self.add_agent(product)
|
||||||
# self.grid.place_agent(product, ag_node)
|
# self.grid.place_agent(product, ag_node)
|
||||||
##print(f"Product agent created: {product.name}, ID: {product.unique_id}")
|
##print(f"Product agent created: {product.name}, ID: {product.unique_id}")
|
||||||
|
|
||||||
for ag_node, attr in self.firm_network.nodes(data=True):
|
for ag_node, attr in self.firm_network.nodes(data=True):
|
||||||
a_lst_product = [agent for agent in self.product_agents if agent.unique_id in attr['Product_Code']]
|
a_lst_product = [agent for agent in self.product_agents if agent.unique_id in attr['Product_Code']]
|
||||||
|
firm_id = self.Firm['Code'] == ag_node
|
||||||
|
n_equip_c = self.Firm.loc[firm_id, '设备数量'].values[0]
|
||||||
|
|
||||||
n_equip_c = self.Firm.loc[ag_node, '设备数量']
|
demand_quantity = self.Firm.loc[firm_id, 'production_output'].values[0]
|
||||||
|
|
||||||
demand_quantity = self.Firm.loc[ag_node, 'production_output']
|
production_output = self.Firm.loc[firm_id, 'demand_quantity'].values[0]
|
||||||
|
|
||||||
production_output = self.Firm.loc[ag_node, 'demand_quantity']
|
# c购买价格? 数据预处理
|
||||||
|
# c_price = self.Firm.loc[self.Firm['Code'] == ag_node, 'c_price'].values[0]
|
||||||
c_price = self.Firm.loc[ag_node, 'c_price']
|
|
||||||
|
|
||||||
# 资源 资源库存信息 利用 firm_resource
|
# 资源 资源库存信息 利用 firm_resource
|
||||||
R = self.firm_resource_R.loc[ag_node]
|
R = self.firm_resource_R.loc[firm_id].to_list()[0]
|
||||||
P = self.firm_resource_R.loc[ag_node]
|
P = self.firm_resource_P.loc[firm_id].to_list()[0]
|
||||||
C = self.firm_resource_R.loc[ag_node]
|
C = self.firm_resource_C.loc[firm_id].to_list()[0]
|
||||||
|
|
||||||
firm_agent = FirmAgent(
|
firm_agent = FirmAgent(
|
||||||
ag_node, self,
|
ag_node, self,
|
||||||
|
@ -257,7 +268,7 @@ class MyModel(Model):
|
||||||
a_lst_product=a_lst_product,
|
a_lst_product=a_lst_product,
|
||||||
demand_quantity=demand_quantity,
|
demand_quantity=demand_quantity,
|
||||||
production_output=production_output,
|
production_output=production_output,
|
||||||
c_price=c_price,
|
# c_price=c_price,
|
||||||
R=R,
|
R=R,
|
||||||
P=P,
|
P=P,
|
||||||
C=C
|
C=C
|
||||||
|
@ -306,12 +317,18 @@ class MyModel(Model):
|
||||||
data_R = pd.read_csv("测试数据 companies_materials.csv")
|
data_R = pd.read_csv("测试数据 companies_materials.csv")
|
||||||
data_C = pd.read_csv("测试数据 companies_devices.csv")
|
data_C = pd.read_csv("测试数据 companies_devices.csv")
|
||||||
data_P = pd.read_csv("测试数据 companies_products.csv")
|
data_P = pd.read_csv("测试数据 companies_products.csv")
|
||||||
|
device_salvage_values = pd.read_csv('测试数据 device_salvage_values.csv')
|
||||||
|
|
||||||
|
self.device_salvage_values = device_salvage_values
|
||||||
|
|
||||||
|
data_merged_C = pd.merge(data_C, device_salvage_values, on='设备id', how='left')
|
||||||
|
|
||||||
firm_resource_R = (data_R.groupby('Firm_Code')[['材料id', '材料数量']]
|
firm_resource_R = (data_R.groupby('Firm_Code')[['材料id', '材料数量']]
|
||||||
.apply(lambda x: x.values.tolist()))
|
.apply(lambda x: x.values.tolist()))
|
||||||
firm_resource_C = (data_C.groupby('Firm_Code')[['材料id', '材料数量']]
|
firm_resource_C = (data_merged_C.groupby('Firm_Code')[['设备id', '设备数量', '设备残值']]
|
||||||
.apply(lambda x: x.values.tolist()))
|
.apply(lambda x: x.values.tolist()))
|
||||||
|
|
||||||
firm_resource_P = (data_P.groupby('Firm_Code')[['材料id', '材料数量']]
|
firm_resource_P = (data_P.groupby('Firm_Code')[['产品id', '产品数量']]
|
||||||
.apply(lambda x: x.values.tolist()))
|
.apply(lambda x: x.values.tolist()))
|
||||||
|
|
||||||
self.firm_resource_R = firm_resource_R
|
self.firm_resource_R = firm_resource_R
|
||||||
|
@ -321,9 +338,10 @@ class MyModel(Model):
|
||||||
def j_comp_consumed_produced(self):
|
def j_comp_consumed_produced(self):
|
||||||
data_consumed = pd.read_csv('测试数据 consumed_materials.csv')
|
data_consumed = pd.read_csv('测试数据 consumed_materials.csv')
|
||||||
data_produced = pd.read_csv('测试数据 produced_products.csv')
|
data_produced = pd.read_csv('测试数据 produced_products.csv')
|
||||||
data_consumed = (data_consumed.groupby('产业id')[['消耗材料id', '消耗材料数量']]
|
|
||||||
|
data_consumed = (data_consumed.groupby('产业id')[['消耗材料id', '消耗量']]
|
||||||
.apply(lambda x: x.values.tolist()))
|
.apply(lambda x: x.values.tolist()))
|
||||||
data_produced = (data_produced.groupby('产业id')[['制造产品id', '制造产品数量']]
|
data_produced = (data_produced.groupby('产业id')[['制造产品id', '制造量']]
|
||||||
.apply(lambda x: x.values.tolist()))
|
.apply(lambda x: x.values.tolist()))
|
||||||
|
|
||||||
self.data_consumed = data_consumed
|
self.data_consumed = data_consumed
|
||||||
|
@ -381,13 +399,13 @@ class MyModel(Model):
|
||||||
machinery_list = []
|
machinery_list = []
|
||||||
list_seek_material_firm = [] # 每一个收到请求的企业
|
list_seek_material_firm = [] # 每一个收到请求的企业
|
||||||
list_seek_machinery_firm = [] # 每一个收到请求的企业
|
list_seek_machinery_firm = [] # 每一个收到请求的企业
|
||||||
|
|
||||||
for firm in self.company_agents:
|
for firm in self.company_agents:
|
||||||
# 资源
|
# 资源
|
||||||
for sub_list in firm.R:
|
for sub_list in firm.R:
|
||||||
if sub_list[1] <= firm.s_r:
|
if sub_list[1] <= firm.s_r:
|
||||||
required_material_quantity = firm.S_r - sub_list[1]
|
required_material_quantity = firm.S_r - sub_list[1]
|
||||||
(material_list
|
(material_list.append([sub_list[0], required_material_quantity]))
|
||||||
.append([sub_list[0], required_material_quantity]))
|
|
||||||
purchase_material_firms[firm] = material_list
|
purchase_material_firms[firm] = material_list
|
||||||
# 设备
|
# 设备
|
||||||
for sub_list in firm.C:
|
for sub_list in firm.C:
|
||||||
|
@ -395,37 +413,43 @@ class MyModel(Model):
|
||||||
sub_list[2] -= firm.x
|
sub_list[2] -= firm.x
|
||||||
if sub_list[2] <= 0: # 残值小于等于 0 时
|
if sub_list[2] <= 0: # 残值小于等于 0 时
|
||||||
sub_list[1] -= 1
|
sub_list[1] -= 1
|
||||||
required_machinery_quantity = firm.C1[0][1] - sub_list[1] # 补回原来的量 也就是 1
|
required_machinery_quantity = 1 # 补回原来的量 也就是 1
|
||||||
(machinery_list
|
(machinery_list
|
||||||
.append([sub_list[0], required_machinery_quantity]))
|
.append([sub_list[0], required_machinery_quantity]))
|
||||||
purchase_machinery_firms[firm] = machinery_list
|
purchase_machinery_firms[firm] = machinery_list
|
||||||
|
|
||||||
# 寻源并发送请求 决定是否接受供应 并更新
|
# 寻源并发送请求 决定是否接受供应 并更新
|
||||||
|
for material_firm_key, sub_list_values in purchase_material_firms.items():
|
||||||
|
for mater_list in sub_list_values:
|
||||||
|
result = material_firm_key.seek_material_supply(mater_list[0])
|
||||||
|
# 如果 result 不等于 0,才将其添加到 list_seek_material_firm 列表中
|
||||||
|
if result != -1:
|
||||||
|
list_seek_material_firm.append(result)
|
||||||
|
|
||||||
for material_firm, sub_list in purchase_material_firms:
|
|
||||||
for material_list in sub_list:
|
|
||||||
(list_seek_material_firm
|
|
||||||
.append(material_firm.seek_material_supply(material_list[0])))
|
|
||||||
if len(list_seek_material_firm) != 0:
|
if len(list_seek_material_firm) != 0:
|
||||||
for seek_material_firm in list_seek_material_firm:
|
for seek_material_firm in list_seek_material_firm:
|
||||||
seek_material_firm.handle_material_request(material_list) # 更新产品
|
seek_material_firm.handle_material_request(mater_list) # 更新产品
|
||||||
for R_list in firm.R:
|
for R_list in firm.R:
|
||||||
R_list[1] = firm.S_r
|
R_list[1] = firm.S_r
|
||||||
|
|
||||||
for machinery_firm, sub_list in purchase_machinery_firms:
|
for machinery_firm, sub_list in purchase_machinery_firms.items():
|
||||||
for machinery_list in sub_list:
|
for machi_list in sub_list:
|
||||||
(list_seek_machinery_firm
|
# 执行一次调用 machinery_firm.seek_machinery_supply(machinery_list[0])
|
||||||
.append(machinery_firm.seek_machinery_supply(machinery_list[0])))
|
result = machinery_firm.seek_machinery_supply(machi_list[0])
|
||||||
|
# 如果 result 不等于 0,才将其添加到 list_seek_machinery_firm 列表中
|
||||||
|
if result != -1:
|
||||||
|
list_seek_machinery_firm.append(result)
|
||||||
|
|
||||||
if len(list_seek_machinery_firm) != 0:
|
if len(list_seek_machinery_firm) != 0:
|
||||||
for seek_machinery_firm in list_seek_machinery_firm:
|
for seek_machinery_firm in list_seek_machinery_firm:
|
||||||
seek_machinery_firm.handle_machinery_request(machinery_list)
|
seek_machinery_firm.handle_machinery_request(machi_list)
|
||||||
for C_list, C0_list in zip(firm.C, firm.C0):
|
for C_list, C0_list in zip(firm.C, firm.C0):
|
||||||
C_list[1] = C0_list[1] # 赋值回去
|
C_list[1] = C0_list[1] # 赋值回去
|
||||||
C_list[2] = C0_list[2]
|
C_list[2] = C0_list[2]
|
||||||
|
|
||||||
# 消耗资源过程
|
# 消耗资源过程
|
||||||
consumed_material = []
|
consumed_material = []
|
||||||
for product in firm.a_lst_product:
|
for product in firm.indus_i:
|
||||||
for sub_list_data_consumed in product.j_comp_data_consumed:
|
for sub_list_data_consumed in product.j_comp_data_consumed:
|
||||||
consumed_material_id = sub_list_data_consumed[0]
|
consumed_material_id = sub_list_data_consumed[0]
|
||||||
consumed_material_num = sub_list_data_consumed[1]
|
consumed_material_num = sub_list_data_consumed[1]
|
||||||
|
@ -436,7 +460,7 @@ class MyModel(Model):
|
||||||
sub_list_material[1] = sub_list_material[1] - sub_list_consumed_material[1]
|
sub_list_material[1] = sub_list_material[1] - sub_list_consumed_material[1]
|
||||||
# 生产产品过程
|
# 生产产品过程
|
||||||
produced_products = []
|
produced_products = []
|
||||||
for product in firm.a_lst_product:
|
for product in firm.indus_i:
|
||||||
for sub_list_produced_products in product.j_comp_data_consumed:
|
for sub_list_produced_products in product.j_comp_data_consumed:
|
||||||
produced_products_id = sub_list_produced_products[0]
|
produced_products_id = sub_list_produced_products[0]
|
||||||
produced_products_num = sub_list_produced_products[1]
|
produced_products_num = sub_list_produced_products[1]
|
||||||
|
|
|
@ -2,7 +2,7 @@ from mesa import Agent
|
||||||
|
|
||||||
|
|
||||||
class ProductAgent(Agent):
|
class ProductAgent(Agent):
|
||||||
def __init__(self, unique_id, model, name, type2, device_salvage_values, j_comp_data_consumed, j_comp_data_produced):
|
def __init__(self, unique_id, model, name, type2, j_comp_data_consumed, j_comp_data_produced):
|
||||||
# 调用超类的 __init__ 方法
|
# 调用超类的 __init__ 方法
|
||||||
super().__init__(unique_id, model)
|
super().__init__(unique_id, model)
|
||||||
|
|
||||||
|
@ -13,7 +13,8 @@ class ProductAgent(Agent):
|
||||||
self.is_equip = True
|
self.is_equip = True
|
||||||
else:
|
else:
|
||||||
self.is_mater = True
|
self.is_mater = True
|
||||||
self.device_salvage_values = device_salvage_values
|
# depreciation ratio 折旧比值
|
||||||
|
# self.depreciation ratio
|
||||||
|
|
||||||
self.j_comp_data_produced = j_comp_data_produced
|
self.j_comp_data_produced = j_comp_data_produced
|
||||||
self.j_comp_data_consumed = j_comp_data_consumed
|
self.j_comp_data_consumed = j_comp_data_consumed
|
||||||
|
|
|
@ -4,14 +4,25 @@ import numpy as np
|
||||||
# 设置随机种子
|
# 设置随机种子
|
||||||
np.random.seed(42)
|
np.random.seed(42)
|
||||||
|
|
||||||
# 生成企业和设备数据
|
num_companies = 170 # 企业ID范围
|
||||||
num_rows = 10 # 每个表的行数
|
|
||||||
|
|
||||||
# 构造数据
|
# 生成企业和设备数据
|
||||||
company_ids = np.random.randint(1000, 1100, size=num_rows)
|
num_rows = 220 # 每个表的行数
|
||||||
device_ids = np.random.randint(100, 200, size=num_rows)
|
|
||||||
material_ids = np.random.randint(0, 100, size=num_rows)
|
company_ids = np.arange(num_companies)
|
||||||
product_ids = np.random.randint(0, 200, size=num_rows)
|
|
||||||
|
# 第二步:生成剩余的随机企业ID
|
||||||
|
remaining_ids = np.random.randint(0, num_companies, size=num_rows - num_companies)
|
||||||
|
|
||||||
|
# 合并两部分的企业ID
|
||||||
|
all_company_ids = np.concatenate([company_ids, remaining_ids])
|
||||||
|
|
||||||
|
# 第三步:对企业ID进行升序排序
|
||||||
|
all_company_ids.sort()
|
||||||
|
|
||||||
|
device_ids = np.random.randint(51, 107, size=num_rows)
|
||||||
|
material_ids = np.random.randint(0, 51, size=num_rows)
|
||||||
|
product_ids = np.random.randint(0, 107, size=num_rows)
|
||||||
|
|
||||||
device_quantities = np.random.randint(50, 200, size=num_rows)
|
device_quantities = np.random.randint(50, 200, size=num_rows)
|
||||||
material_quantities = np.random.randint(100,200, size=num_rows)
|
material_quantities = np.random.randint(100,200, size=num_rows)
|
||||||
|
@ -19,19 +30,19 @@ product_quantities = np.random.randint(20, 100, size=num_rows)
|
||||||
|
|
||||||
# 创建三个表格的数据框
|
# 创建三个表格的数据框
|
||||||
df_devices = pd.DataFrame({
|
df_devices = pd.DataFrame({
|
||||||
'企业id': company_ids,
|
'Firm_Code': all_company_ids,
|
||||||
'设备id': device_ids,
|
'设备id': device_ids,
|
||||||
'设备数量': device_quantities
|
'设备数量': device_quantities
|
||||||
})
|
})
|
||||||
|
|
||||||
df_materials = pd.DataFrame({
|
df_materials = pd.DataFrame({
|
||||||
'企业id': company_ids,
|
'Firm_Code': all_company_ids,
|
||||||
'材料id': material_ids,
|
'材料id': material_ids,
|
||||||
'材料数量': material_quantities
|
'材料数量': material_quantities
|
||||||
})
|
})
|
||||||
|
|
||||||
df_products = pd.DataFrame({
|
df_products = pd.DataFrame({
|
||||||
'企业id': company_ids,
|
'Firm_Code': all_company_ids,
|
||||||
'产品id': product_ids,
|
'产品id': product_ids,
|
||||||
'产品数量': product_quantities
|
'产品数量': product_quantities
|
||||||
})
|
})
|
||||||
|
|
|
@ -5,7 +5,7 @@ import numpy as np
|
||||||
np.random.seed(42)
|
np.random.seed(42)
|
||||||
|
|
||||||
# 定义产业数量
|
# 定义产业数量
|
||||||
num_industries = 10
|
num_industries = 107
|
||||||
|
|
||||||
# 创建产业ID列表
|
# 创建产业ID列表
|
||||||
industry_ids = [i for i in range(0, num_industries + 1)]
|
industry_ids = [i for i in range(0, num_industries + 1)]
|
||||||
|
@ -30,8 +30,8 @@ for industry in industry_ids:
|
||||||
produced_products_data.append([industry, product_id, production_quantity])
|
produced_products_data.append([industry, product_id, production_quantity])
|
||||||
|
|
||||||
# 创建两个数据框
|
# 创建两个数据框
|
||||||
df_consumed_materials = pd.DataFrame(consumed_materials_data, columns=['产业ID', '消耗材料ID', '消耗量'])
|
df_consumed_materials = pd.DataFrame(consumed_materials_data, columns=['产业id', '消耗材料id', '消耗量'])
|
||||||
df_produced_products = pd.DataFrame(produced_products_data, columns=['产业ID', '制造产品ID', '制造量'])
|
df_produced_products = pd.DataFrame(produced_products_data, columns=['产业id', '制造产品id', '制造量'])
|
||||||
|
|
||||||
# 保存两个数据框为CSV文件
|
# 保存两个数据框为CSV文件
|
||||||
file_path_consumed = '测试数据 consumed_materials.csv'
|
file_path_consumed = '测试数据 consumed_materials.csv'
|
||||||
|
|
|
@ -9,7 +9,6 @@ df = pd.DataFrame(data)
|
||||||
df['产业种类'] = [random.choice([0, 1]) for _ in range(107)]
|
df['产业种类'] = [random.choice([0, 1]) for _ in range(107)]
|
||||||
|
|
||||||
# 显示前几行
|
# 显示前几行
|
||||||
print(df.head())
|
|
||||||
|
|
||||||
# 保存数据到CSV文件
|
# 保存数据到CSV文件
|
||||||
df.to_csv('input_data/测试 BomNodes.csv', index=False)
|
df.to_csv('input_data/测试 BomNodes.csv', index=False)
|
||||||
|
|
|
@ -6,11 +6,10 @@ import numpy as np
|
||||||
# 生成170条测试数据的函数
|
# 生成170条测试数据的函数
|
||||||
def generate_test_data(num_rows=170):
|
def generate_test_data(num_rows=170):
|
||||||
data = {
|
data = {
|
||||||
'Company ID': [i for i in range(1, num_rows + 1)], # 生成1到170的公司ID
|
'Code': [i for i in range(0, num_rows)], # 生成0到170的公司ID
|
||||||
'Company Name': [f'Company_{i}' for i in range(1, num_rows + 1)], # 生成公司名称
|
|
||||||
'原材料': [round(random.uniform(100, 1000), 2) for _ in range(num_rows)], # 原材料
|
'原材料': [round(random.uniform(100, 1000), 2) for _ in range(num_rows)], # 原材料
|
||||||
'库存商品': [round(random.uniform(100, 1000), 2) for _ in range(num_rows)], # 库存商品
|
'库存商品': [round(random.uniform(100, 1000), 2) for _ in range(num_rows)], # 库存商品
|
||||||
'固定资产原值': [round(random.uniform(100, 1000), 2) for _ in range(num_rows)], # 固定资产原值
|
'设备数量': [round(random.uniform(100, 1000), 2) for _ in range(num_rows)], # 固定资产原值
|
||||||
'Revenue': [round(random.uniform(10000, 100000), 2) for _ in range(num_rows)], # Revenue
|
'Revenue': [round(random.uniform(10000, 100000), 2) for _ in range(num_rows)], # Revenue
|
||||||
'Total Employees (People)': [random.randint(50, 1000) for _ in range(num_rows)], # 员工总数
|
'Total Employees (People)': [random.randint(50, 1000) for _ in range(num_rows)], # 员工总数
|
||||||
'Type_Region': [random.choice(['Urban', 'Rural', 'Suburban']) for _ in range(num_rows)], # 区域类型
|
'Type_Region': [random.choice(['Urban', 'Rural', 'Suburban']) for _ in range(num_rows)], # 区域类型
|
||||||
|
@ -21,14 +20,13 @@ def generate_test_data(num_rows=170):
|
||||||
|
|
||||||
# 添加Revenue_Log列
|
# 添加Revenue_Log列
|
||||||
df['Revenue_Log'] = np.log(df['Revenue'])
|
df['Revenue_Log'] = np.log(df['Revenue'])
|
||||||
df['production_output'] = df['固定资产原值'] / 10+np.random.randint(100, 500, size=len(df))
|
df['production_output'] = df['设备数量'] / 10+np.random.randint(100, 500, size=len(df))
|
||||||
df['demand_quantity'] = df['原材料'] / 10 +np.random.randint(100, 500, size=len(df))
|
df['demand_quantity'] = df['原材料'] / 10 +np.random.randint(100, 500, size=len(df))
|
||||||
return df
|
return df
|
||||||
|
|
||||||
|
|
||||||
# 生成数据
|
# 生成数据
|
||||||
df_test_data = generate_test_data()
|
df_test_data = generate_test_data()
|
||||||
|
|
||||||
# 显示前几行
|
# 显示前几行
|
||||||
print(df_test_data.head())
|
print(df_test_data.head())
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,221 @@
|
||||||
企业id,设备id,设备数量
|
Firm_Code,设备id,设备数量
|
||||||
1051,187,104
|
0,70,140
|
||||||
1092,199,113
|
1,78,139
|
||||||
1014,123,180
|
1,97,68
|
||||||
1071,102,100
|
2,57,88
|
||||||
1060,121,184
|
3,94,175
|
||||||
1020,152,70
|
4,58,190
|
||||||
1082,101,122
|
5,97,175
|
||||||
1086,187,67
|
6,85,107
|
||||||
1074,129,181
|
7,64,197
|
||||||
1074,137,138
|
8,67,110
|
||||||
|
8,86,176
|
||||||
|
9,100,154
|
||||||
|
10,90,50
|
||||||
|
11,54,180
|
||||||
|
12,52,141
|
||||||
|
13,56,162
|
||||||
|
13,104,105
|
||||||
|
14,92,166
|
||||||
|
14,54,183
|
||||||
|
14,104,107
|
||||||
|
15,79,93
|
||||||
|
16,68,110
|
||||||
|
17,76,96
|
||||||
|
17,94,198
|
||||||
|
18,84,129
|
||||||
|
19,60,167
|
||||||
|
20,86,196
|
||||||
|
20,64,69
|
||||||
|
20,81,195
|
||||||
|
20,98,96
|
||||||
|
21,65,98
|
||||||
|
21,58,63
|
||||||
|
22,64,192
|
||||||
|
23,73,50
|
||||||
|
24,90,166
|
||||||
|
25,71,103
|
||||||
|
26,66,167
|
||||||
|
27,95,52
|
||||||
|
28,68,193
|
||||||
|
29,97,61
|
||||||
|
30,103,123
|
||||||
|
31,74,65
|
||||||
|
32,76,151
|
||||||
|
33,75,166
|
||||||
|
34,95,57
|
||||||
|
35,91,171
|
||||||
|
36,79,141
|
||||||
|
37,65,139
|
||||||
|
37,95,185
|
||||||
|
38,51,109
|
||||||
|
39,75,77
|
||||||
|
40,57,150
|
||||||
|
41,59,90
|
||||||
|
42,74,194
|
||||||
|
43,51,190
|
||||||
|
44,94,95
|
||||||
|
45,58,84
|
||||||
|
46,74,183
|
||||||
|
47,61,131
|
||||||
|
48,101,164
|
||||||
|
48,67,96
|
||||||
|
49,58,59
|
||||||
|
50,85,105
|
||||||
|
50,85,79
|
||||||
|
50,83,158
|
||||||
|
51,55,54
|
||||||
|
52,92,168
|
||||||
|
52,89,82
|
||||||
|
52,91,167
|
||||||
|
53,78,114
|
||||||
|
54,57,195
|
||||||
|
54,59,60
|
||||||
|
55,58,134
|
||||||
|
56,62,75
|
||||||
|
57,84,112
|
||||||
|
57,83,135
|
||||||
|
58,98,108
|
||||||
|
58,105,76
|
||||||
|
59,73,147
|
||||||
|
59,74,154
|
||||||
|
60,87,148
|
||||||
|
61,85,178
|
||||||
|
62,94,198
|
||||||
|
63,90,104
|
||||||
|
63,72,55
|
||||||
|
64,77,144
|
||||||
|
65,85,182
|
||||||
|
66,51,151
|
||||||
|
67,85,52
|
||||||
|
68,87,72
|
||||||
|
69,97,102
|
||||||
|
70,64,132
|
||||||
|
71,53,194
|
||||||
|
71,51,134
|
||||||
|
72,55,127
|
||||||
|
72,76,159
|
||||||
|
73,105,50
|
||||||
|
74,64,100
|
||||||
|
74,89,53
|
||||||
|
75,77,162
|
||||||
|
76,59,81
|
||||||
|
77,65,83
|
||||||
|
78,65,141
|
||||||
|
79,76,144
|
||||||
|
80,92,121
|
||||||
|
81,63,88
|
||||||
|
82,101,167
|
||||||
|
83,82,52
|
||||||
|
84,89,172
|
||||||
|
85,99,99
|
||||||
|
86,102,61
|
||||||
|
87,82,103
|
||||||
|
87,54,182
|
||||||
|
87,80,106
|
||||||
|
88,87,194
|
||||||
|
88,73,161
|
||||||
|
88,89,96
|
||||||
|
89,95,134
|
||||||
|
89,65,191
|
||||||
|
90,93,115
|
||||||
|
91,79,124
|
||||||
|
92,86,152
|
||||||
|
92,63,87
|
||||||
|
93,82,99
|
||||||
|
94,57,147
|
||||||
|
95,101,131
|
||||||
|
96,72,79
|
||||||
|
97,78,128
|
||||||
|
98,52,140
|
||||||
|
99,92,101
|
||||||
|
99,95,128
|
||||||
|
100,103,79
|
||||||
|
101,56,155
|
||||||
|
102,78,100
|
||||||
|
102,78,130
|
||||||
|
102,94,182
|
||||||
|
103,94,78
|
||||||
|
103,70,181
|
||||||
|
104,80,187
|
||||||
|
105,61,194
|
||||||
|
106,105,123
|
||||||
|
106,78,66
|
||||||
|
107,75,133
|
||||||
|
107,89,118
|
||||||
|
108,83,83
|
||||||
|
109,51,55
|
||||||
|
110,77,102
|
||||||
|
111,102,175
|
||||||
|
112,63,92
|
||||||
|
113,91,164
|
||||||
|
114,53,160
|
||||||
|
115,89,129
|
||||||
|
116,56,144
|
||||||
|
116,58,167
|
||||||
|
117,77,193
|
||||||
|
118,59,57
|
||||||
|
119,87,181
|
||||||
|
120,83,153
|
||||||
|
121,101,181
|
||||||
|
121,92,74
|
||||||
|
122,94,145
|
||||||
|
123,74,142
|
||||||
|
124,65,110
|
||||||
|
125,104,171
|
||||||
|
126,82,100
|
||||||
|
127,82,196
|
||||||
|
128,74,70
|
||||||
|
129,91,54
|
||||||
|
129,102,141
|
||||||
|
129,99,110
|
||||||
|
130,99,71
|
||||||
|
130,102,198
|
||||||
|
130,62,119
|
||||||
|
131,89,50
|
||||||
|
131,52,182
|
||||||
|
132,53,61
|
||||||
|
133,99,139
|
||||||
|
134,87,95
|
||||||
|
134,99,83
|
||||||
|
135,106,127
|
||||||
|
136,67,94
|
||||||
|
137,99,122
|
||||||
|
138,52,75
|
||||||
|
139,52,96
|
||||||
|
140,78,170
|
||||||
|
141,104,105
|
||||||
|
142,73,143
|
||||||
|
143,87,156
|
||||||
|
144,82,112
|
||||||
|
145,83,97
|
||||||
|
146,51,110
|
||||||
|
147,69,130
|
||||||
|
148,52,75
|
||||||
|
149,103,85
|
||||||
|
149,94,50
|
||||||
|
150,76,57
|
||||||
|
151,82,162
|
||||||
|
151,56,148
|
||||||
|
152,82,96
|
||||||
|
153,105,176
|
||||||
|
154,54,105
|
||||||
|
155,105,63
|
||||||
|
156,61,77
|
||||||
|
157,106,127
|
||||||
|
157,67,179
|
||||||
|
158,88,158
|
||||||
|
159,74,63
|
||||||
|
160,55,105
|
||||||
|
160,102,164
|
||||||
|
161,84,56
|
||||||
|
162,56,52
|
||||||
|
163,72,160
|
||||||
|
164,61,156
|
||||||
|
165,98,67
|
||||||
|
166,66,87
|
||||||
|
166,83,164
|
||||||
|
167,59,64
|
||||||
|
168,56,168
|
||||||
|
169,66,77
|
||||||
|
169,79,88
|
||||||
|
|
|
|
@ -1,11 +1,221 @@
|
||||||
企业id,材料id,材料数量
|
Firm_Code,材料id,材料数量
|
||||||
1051,1,159
|
0,2,156
|
||||||
1092,63,113
|
1,19,116
|
||||||
1014,59,108
|
1,35,185
|
||||||
1071,20,189
|
2,18,189
|
||||||
1060,32,152
|
3,25,143
|
||||||
1020,75,101
|
4,2,124
|
||||||
1082,57,183
|
5,18,116
|
||||||
1086,21,191
|
6,19,112
|
||||||
1074,88,159
|
7,31,183
|
||||||
1074,48,170
|
8,6,124
|
||||||
|
8,40,167
|
||||||
|
9,32,109
|
||||||
|
10,39,166
|
||||||
|
11,38,117
|
||||||
|
12,17,199
|
||||||
|
13,39,185
|
||||||
|
13,0,133
|
||||||
|
14,10,107
|
||||||
|
14,27,139
|
||||||
|
14,24,182
|
||||||
|
15,49,141
|
||||||
|
16,22,140
|
||||||
|
17,30,105
|
||||||
|
17,29,151
|
||||||
|
18,41,125
|
||||||
|
19,34,163
|
||||||
|
20,6,197
|
||||||
|
20,15,158
|
||||||
|
20,25,155
|
||||||
|
20,47,158
|
||||||
|
21,48,169
|
||||||
|
21,1,132
|
||||||
|
22,0,152
|
||||||
|
23,47,121
|
||||||
|
24,11,120
|
||||||
|
25,4,169
|
||||||
|
26,36,169
|
||||||
|
27,31,103
|
||||||
|
28,8,193
|
||||||
|
29,40,174
|
||||||
|
30,34,161
|
||||||
|
31,18,161
|
||||||
|
32,47,193
|
||||||
|
33,15,194
|
||||||
|
34,2,123
|
||||||
|
35,19,154
|
||||||
|
36,23,108
|
||||||
|
37,32,102
|
||||||
|
37,23,130
|
||||||
|
38,10,139
|
||||||
|
39,48,135
|
||||||
|
40,7,123
|
||||||
|
41,35,194
|
||||||
|
42,37,105
|
||||||
|
43,39,165
|
||||||
|
44,19,183
|
||||||
|
45,34,191
|
||||||
|
46,47,174
|
||||||
|
47,24,103
|
||||||
|
48,34,178
|
||||||
|
48,24,105
|
||||||
|
49,28,193
|
||||||
|
50,17,150
|
||||||
|
50,45,161
|
||||||
|
50,17,156
|
||||||
|
51,1,165
|
||||||
|
52,34,178
|
||||||
|
52,15,174
|
||||||
|
52,40,107
|
||||||
|
53,35,125
|
||||||
|
54,32,150
|
||||||
|
54,3,144
|
||||||
|
55,32,143
|
||||||
|
56,13,104
|
||||||
|
57,20,169
|
||||||
|
57,47,125
|
||||||
|
58,19,167
|
||||||
|
58,7,118
|
||||||
|
59,6,183
|
||||||
|
59,2,196
|
||||||
|
60,16,119
|
||||||
|
61,32,111
|
||||||
|
62,47,146
|
||||||
|
63,11,100
|
||||||
|
63,50,189
|
||||||
|
64,21,113
|
||||||
|
65,21,163
|
||||||
|
66,45,137
|
||||||
|
67,29,136
|
||||||
|
68,37,110
|
||||||
|
69,37,199
|
||||||
|
70,44,176
|
||||||
|
71,50,102
|
||||||
|
71,7,132
|
||||||
|
72,26,105
|
||||||
|
72,26,149
|
||||||
|
73,33,109
|
||||||
|
74,20,104
|
||||||
|
74,29,122
|
||||||
|
75,32,109
|
||||||
|
76,27,143
|
||||||
|
77,46,101
|
||||||
|
78,32,112
|
||||||
|
79,4,139
|
||||||
|
80,47,101
|
||||||
|
81,18,183
|
||||||
|
82,3,164
|
||||||
|
83,34,162
|
||||||
|
84,48,172
|
||||||
|
85,16,116
|
||||||
|
86,43,108
|
||||||
|
87,27,174
|
||||||
|
87,29,114
|
||||||
|
87,28,123
|
||||||
|
88,45,137
|
||||||
|
88,5,134
|
||||||
|
88,34,193
|
||||||
|
89,40,194
|
||||||
|
89,36,148
|
||||||
|
90,23,168
|
||||||
|
91,28,161
|
||||||
|
92,48,159
|
||||||
|
92,45,149
|
||||||
|
93,30,177
|
||||||
|
94,34,174
|
||||||
|
95,32,108
|
||||||
|
96,20,133
|
||||||
|
97,31,175
|
||||||
|
98,22,198
|
||||||
|
99,32,134
|
||||||
|
99,2,100
|
||||||
|
100,17,139
|
||||||
|
101,24,163
|
||||||
|
102,41,121
|
||||||
|
102,30,159
|
||||||
|
102,2,163
|
||||||
|
103,39,192
|
||||||
|
103,45,171
|
||||||
|
104,23,110
|
||||||
|
105,49,113
|
||||||
|
106,31,159
|
||||||
|
106,46,129
|
||||||
|
107,21,134
|
||||||
|
107,22,184
|
||||||
|
108,1,136
|
||||||
|
109,26,104
|
||||||
|
110,41,182
|
||||||
|
111,1,177
|
||||||
|
112,25,125
|
||||||
|
113,16,161
|
||||||
|
114,39,103
|
||||||
|
115,32,188
|
||||||
|
116,8,141
|
||||||
|
116,42,188
|
||||||
|
117,47,117
|
||||||
|
118,38,139
|
||||||
|
119,28,171
|
||||||
|
120,41,138
|
||||||
|
121,25,113
|
||||||
|
121,34,131
|
||||||
|
122,49,150
|
||||||
|
123,24,137
|
||||||
|
124,23,196
|
||||||
|
125,12,122
|
||||||
|
126,6,162
|
||||||
|
127,35,114
|
||||||
|
128,44,196
|
||||||
|
129,19,124
|
||||||
|
129,0,116
|
||||||
|
129,7,196
|
||||||
|
130,45,165
|
||||||
|
130,15,177
|
||||||
|
130,13,152
|
||||||
|
131,11,150
|
||||||
|
131,50,138
|
||||||
|
132,22,150
|
||||||
|
133,14,169
|
||||||
|
134,27,105
|
||||||
|
134,33,166
|
||||||
|
135,1,106
|
||||||
|
136,31,150
|
||||||
|
137,22,171
|
||||||
|
138,21,141
|
||||||
|
139,50,163
|
||||||
|
140,24,114
|
||||||
|
141,21,128
|
||||||
|
142,21,132
|
||||||
|
143,48,193
|
||||||
|
144,41,126
|
||||||
|
145,5,135
|
||||||
|
146,14,128
|
||||||
|
147,42,137
|
||||||
|
148,36,156
|
||||||
|
149,32,196
|
||||||
|
149,7,126
|
||||||
|
150,43,154
|
||||||
|
151,43,132
|
||||||
|
151,4,167
|
||||||
|
152,38,185
|
||||||
|
153,3,165
|
||||||
|
154,5,109
|
||||||
|
155,44,104
|
||||||
|
156,31,173
|
||||||
|
157,29,196
|
||||||
|
157,46,137
|
||||||
|
158,34,112
|
||||||
|
159,39,130
|
||||||
|
160,15,146
|
||||||
|
160,12,199
|
||||||
|
161,49,187
|
||||||
|
162,41,151
|
||||||
|
163,29,155
|
||||||
|
164,18,114
|
||||||
|
165,16,128
|
||||||
|
166,18,107
|
||||||
|
166,27,104
|
||||||
|
167,25,128
|
||||||
|
168,36,146
|
||||||
|
169,25,167
|
||||||
|
169,22,175
|
||||||
|
|
|
|
@ -1,11 +1,221 @@
|
||||||
企业id,产品id,产品数量
|
Firm_Code,产品id,产品数量
|
||||||
1051,58,63
|
0,8,64
|
||||||
1092,169,27
|
1,11,21
|
||||||
1014,187,66
|
1,0,46
|
||||||
1071,14,54
|
2,57,55
|
||||||
1060,189,97
|
3,0,55
|
||||||
1020,189,55
|
4,33,45
|
||||||
1082,174,69
|
5,95,62
|
||||||
1086,189,23
|
6,47,46
|
||||||
1074,50,21
|
7,88,88
|
||||||
1074,107,25
|
8,103,39
|
||||||
|
8,0,30
|
||||||
|
9,15,93
|
||||||
|
10,60,57
|
||||||
|
11,102,25
|
||||||
|
12,63,91
|
||||||
|
13,62,42
|
||||||
|
13,68,66
|
||||||
|
14,21,65
|
||||||
|
14,92,31
|
||||||
|
14,66,32
|
||||||
|
15,75,81
|
||||||
|
16,25,79
|
||||||
|
17,15,62
|
||||||
|
17,50,95
|
||||||
|
18,100,87
|
||||||
|
19,85,24
|
||||||
|
20,56,56
|
||||||
|
20,28,91
|
||||||
|
20,77,50
|
||||||
|
20,91,28
|
||||||
|
21,68,70
|
||||||
|
21,46,48
|
||||||
|
22,93,97
|
||||||
|
23,61,59
|
||||||
|
24,68,60
|
||||||
|
25,75,30
|
||||||
|
26,15,42
|
||||||
|
27,89,20
|
||||||
|
28,89,65
|
||||||
|
29,47,40
|
||||||
|
30,84,55
|
||||||
|
31,38,73
|
||||||
|
32,99,76
|
||||||
|
33,32,20
|
||||||
|
34,93,82
|
||||||
|
35,100,73
|
||||||
|
36,22,74
|
||||||
|
37,9,59
|
||||||
|
37,68,34
|
||||||
|
38,99,40
|
||||||
|
39,33,66
|
||||||
|
40,51,92
|
||||||
|
41,94,72
|
||||||
|
42,9,28
|
||||||
|
43,18,93
|
||||||
|
44,57,71
|
||||||
|
45,95,76
|
||||||
|
46,0,45
|
||||||
|
47,68,60
|
||||||
|
48,3,54
|
||||||
|
48,15,82
|
||||||
|
49,23,44
|
||||||
|
50,79,94
|
||||||
|
50,1,57
|
||||||
|
50,91,21
|
||||||
|
51,31,26
|
||||||
|
52,90,53
|
||||||
|
52,83,36
|
||||||
|
52,23,62
|
||||||
|
53,11,78
|
||||||
|
54,49,70
|
||||||
|
54,34,73
|
||||||
|
55,32,43
|
||||||
|
56,32,44
|
||||||
|
57,60,90
|
||||||
|
57,50,71
|
||||||
|
58,42,89
|
||||||
|
58,100,52
|
||||||
|
59,11,68
|
||||||
|
59,66,48
|
||||||
|
60,64,82
|
||||||
|
61,32,41
|
||||||
|
62,39,45
|
||||||
|
63,73,47
|
||||||
|
63,42,68
|
||||||
|
64,43,90
|
||||||
|
65,28,68
|
||||||
|
66,12,39
|
||||||
|
67,11,82
|
||||||
|
68,94,80
|
||||||
|
69,45,68
|
||||||
|
70,1,90
|
||||||
|
71,34,20
|
||||||
|
71,86,32
|
||||||
|
72,80,70
|
||||||
|
72,89,75
|
||||||
|
73,7,81
|
||||||
|
74,92,51
|
||||||
|
74,25,49
|
||||||
|
75,73,48
|
||||||
|
76,89,68
|
||||||
|
77,33,64
|
||||||
|
78,104,49
|
||||||
|
79,6,35
|
||||||
|
80,67,59
|
||||||
|
81,57,38
|
||||||
|
82,74,37
|
||||||
|
83,28,20
|
||||||
|
84,35,97
|
||||||
|
85,88,66
|
||||||
|
86,20,85
|
||||||
|
87,35,57
|
||||||
|
87,9,70
|
||||||
|
87,100,82
|
||||||
|
88,72,23
|
||||||
|
88,23,20
|
||||||
|
88,63,27
|
||||||
|
89,98,48
|
||||||
|
89,48,74
|
||||||
|
90,98,22
|
||||||
|
91,35,51
|
||||||
|
92,81,29
|
||||||
|
92,102,93
|
||||||
|
93,95,53
|
||||||
|
94,23,74
|
||||||
|
95,22,51
|
||||||
|
96,61,69
|
||||||
|
97,95,26
|
||||||
|
98,36,27
|
||||||
|
99,11,84
|
||||||
|
99,54,76
|
||||||
|
100,12,86
|
||||||
|
101,22,78
|
||||||
|
102,88,91
|
||||||
|
102,98,73
|
||||||
|
102,104,86
|
||||||
|
103,29,70
|
||||||
|
103,16,27
|
||||||
|
104,61,53
|
||||||
|
105,83,54
|
||||||
|
106,88,97
|
||||||
|
106,85,51
|
||||||
|
107,12,65
|
||||||
|
107,58,35
|
||||||
|
108,18,87
|
||||||
|
109,48,56
|
||||||
|
110,99,73
|
||||||
|
111,11,33
|
||||||
|
112,60,74
|
||||||
|
113,104,67
|
||||||
|
114,18,26
|
||||||
|
115,75,93
|
||||||
|
116,8,26
|
||||||
|
116,70,52
|
||||||
|
117,27,42
|
||||||
|
118,77,38
|
||||||
|
119,94,38
|
||||||
|
120,51,55
|
||||||
|
121,82,48
|
||||||
|
121,15,79
|
||||||
|
122,68,21
|
||||||
|
123,98,20
|
||||||
|
124,11,66
|
||||||
|
125,24,88
|
||||||
|
126,51,39
|
||||||
|
127,84,30
|
||||||
|
128,99,21
|
||||||
|
129,52,86
|
||||||
|
129,22,31
|
||||||
|
129,15,39
|
||||||
|
130,56,24
|
||||||
|
130,38,56
|
||||||
|
130,52,57
|
||||||
|
131,41,28
|
||||||
|
131,57,72
|
||||||
|
132,38,63
|
||||||
|
133,13,43
|
||||||
|
134,94,93
|
||||||
|
134,4,49
|
||||||
|
135,34,78
|
||||||
|
136,86,33
|
||||||
|
137,92,28
|
||||||
|
138,106,59
|
||||||
|
139,74,85
|
||||||
|
140,17,44
|
||||||
|
141,75,92
|
||||||
|
142,8,41
|
||||||
|
143,73,23
|
||||||
|
144,57,45
|
||||||
|
145,16,77
|
||||||
|
146,101,48
|
||||||
|
147,6,56
|
||||||
|
148,45,94
|
||||||
|
149,12,89
|
||||||
|
149,39,37
|
||||||
|
150,41,61
|
||||||
|
151,8,60
|
||||||
|
151,49,57
|
||||||
|
152,26,53
|
||||||
|
153,65,36
|
||||||
|
154,4,56
|
||||||
|
155,28,44
|
||||||
|
156,36,95
|
||||||
|
157,37,46
|
||||||
|
157,82,76
|
||||||
|
158,7,50
|
||||||
|
159,64,25
|
||||||
|
160,85,59
|
||||||
|
160,16,31
|
||||||
|
161,70,72
|
||||||
|
162,88,90
|
||||||
|
163,44,29
|
||||||
|
164,3,64
|
||||||
|
165,35,36
|
||||||
|
166,69,45
|
||||||
|
166,30,81
|
||||||
|
167,18,65
|
||||||
|
168,60,83
|
||||||
|
169,53,21
|
||||||
|
169,38,73
|
||||||
|
|
|
|
@ -1,4 +1,4 @@
|
||||||
产业ID,消耗材料ID,消耗量
|
产业id,消耗材料id,消耗量
|
||||||
0,51,398
|
0,51,398
|
||||||
0,14,156
|
0,14,156
|
||||||
0,71,238
|
0,71,238
|
||||||
|
@ -22,3 +22,180 @@
|
||||||
9,61,345
|
9,61,345
|
||||||
10,52,329
|
10,52,329
|
||||||
10,25,266
|
10,25,266
|
||||||
|
11,44,114
|
||||||
|
11,88,376
|
||||||
|
11,8,393
|
||||||
|
12,10,130
|
||||||
|
12,7,212
|
||||||
|
12,34,338
|
||||||
|
13,32,97
|
||||||
|
13,22,111
|
||||||
|
14,90,84
|
||||||
|
14,64,276
|
||||||
|
15,0,54
|
||||||
|
15,89,304
|
||||||
|
15,13,408
|
||||||
|
16,50,112
|
||||||
|
17,14,220
|
||||||
|
17,28,85
|
||||||
|
17,12,209
|
||||||
|
18,61,490
|
||||||
|
19,61,380
|
||||||
|
19,91,280
|
||||||
|
20,2,408
|
||||||
|
21,96,356
|
||||||
|
22,31,145
|
||||||
|
22,87,282
|
||||||
|
23,51,317
|
||||||
|
23,38,435
|
||||||
|
24,1,269
|
||||||
|
24,53,392
|
||||||
|
25,18,175
|
||||||
|
26,31,296
|
||||||
|
26,67,488
|
||||||
|
27,97,247
|
||||||
|
28,58,375
|
||||||
|
29,35,452
|
||||||
|
29,89,196
|
||||||
|
29,19,401
|
||||||
|
30,10,490
|
||||||
|
31,93,347
|
||||||
|
31,98,312
|
||||||
|
31,15,395
|
||||||
|
32,0,353
|
||||||
|
32,11,86
|
||||||
|
33,19,201
|
||||||
|
33,53,169
|
||||||
|
33,32,457
|
||||||
|
34,88,148
|
||||||
|
34,24,398
|
||||||
|
34,17,433
|
||||||
|
35,40,210
|
||||||
|
36,66,450
|
||||||
|
36,32,225
|
||||||
|
36,75,492
|
||||||
|
37,50,487
|
||||||
|
37,7,332
|
||||||
|
38,68,366
|
||||||
|
39,92,95
|
||||||
|
39,5,148
|
||||||
|
40,45,230
|
||||||
|
41,31,210
|
||||||
|
42,23,163
|
||||||
|
42,31,480
|
||||||
|
43,89,322
|
||||||
|
43,32,442
|
||||||
|
44,24,457
|
||||||
|
44,12,365
|
||||||
|
45,7,449
|
||||||
|
46,65,337
|
||||||
|
46,86,496
|
||||||
|
47,21,363
|
||||||
|
47,57,391
|
||||||
|
48,14,103
|
||||||
|
48,59,150
|
||||||
|
49,67,311
|
||||||
|
50,46,404
|
||||||
|
50,54,473
|
||||||
|
51,62,324
|
||||||
|
52,61,328
|
||||||
|
53,95,175
|
||||||
|
53,47,138
|
||||||
|
54,63,496
|
||||||
|
55,66,125
|
||||||
|
55,25,193
|
||||||
|
55,50,135
|
||||||
|
56,46,143
|
||||||
|
57,47,390
|
||||||
|
57,38,149
|
||||||
|
58,9,295
|
||||||
|
58,68,149
|
||||||
|
58,33,229
|
||||||
|
59,3,65
|
||||||
|
60,34,429
|
||||||
|
60,32,466
|
||||||
|
61,11,372
|
||||||
|
62,42,93
|
||||||
|
62,28,446
|
||||||
|
63,25,139
|
||||||
|
64,74,462
|
||||||
|
64,35,266
|
||||||
|
65,72,457
|
||||||
|
66,95,86
|
||||||
|
66,11,418
|
||||||
|
67,61,133
|
||||||
|
68,18,226
|
||||||
|
68,99,445
|
||||||
|
68,60,282
|
||||||
|
69,15,422
|
||||||
|
69,68,148
|
||||||
|
69,11,74
|
||||||
|
70,52,91
|
||||||
|
70,57,472
|
||||||
|
70,13,272
|
||||||
|
71,74,195
|
||||||
|
71,75,58
|
||||||
|
71,73,491
|
||||||
|
72,39,219
|
||||||
|
73,65,54
|
||||||
|
73,28,214
|
||||||
|
74,70,266
|
||||||
|
75,30,324
|
||||||
|
75,60,413
|
||||||
|
76,38,175
|
||||||
|
76,66,222
|
||||||
|
76,12,291
|
||||||
|
77,38,50
|
||||||
|
78,24,361
|
||||||
|
79,57,93
|
||||||
|
79,44,209
|
||||||
|
80,79,423
|
||||||
|
81,35,276
|
||||||
|
82,30,50
|
||||||
|
82,53,423
|
||||||
|
82,2,193
|
||||||
|
83,7,171
|
||||||
|
84,40,277
|
||||||
|
85,12,95
|
||||||
|
86,55,335
|
||||||
|
86,4,168
|
||||||
|
87,48,316
|
||||||
|
87,84,331
|
||||||
|
87,62,266
|
||||||
|
88,97,154
|
||||||
|
89,4,407
|
||||||
|
89,2,486
|
||||||
|
89,22,102
|
||||||
|
90,16,134
|
||||||
|
90,77,415
|
||||||
|
90,0,100
|
||||||
|
91,64,418
|
||||||
|
91,31,83
|
||||||
|
92,2,428
|
||||||
|
92,49,317
|
||||||
|
93,93,271
|
||||||
|
94,65,124
|
||||||
|
94,50,152
|
||||||
|
95,97,387
|
||||||
|
95,29,384
|
||||||
|
96,29,296
|
||||||
|
96,50,130
|
||||||
|
96,4,334
|
||||||
|
97,33,311
|
||||||
|
98,42,289
|
||||||
|
98,74,420
|
||||||
|
99,66,401
|
||||||
|
100,4,141
|
||||||
|
101,4,282
|
||||||
|
102,44,460
|
||||||
|
102,72,331
|
||||||
|
103,55,399
|
||||||
|
103,62,97
|
||||||
|
104,7,162
|
||||||
|
105,89,77
|
||||||
|
105,86,127
|
||||||
|
106,6,52
|
||||||
|
106,22,287
|
||||||
|
106,17,343
|
||||||
|
107,38,490
|
||||||
|
107,16,280
|
||||||
|
|
|
|
@ -1,11 +1,57 @@
|
||||||
设备id,设备残值
|
设备id,设备残值
|
||||||
151,97
|
51,112
|
||||||
192,382
|
52,445
|
||||||
114,109
|
53,870
|
||||||
171,881
|
54,280
|
||||||
160,673
|
55,116
|
||||||
120,140
|
56,81
|
||||||
182,671
|
57,710
|
||||||
186,318
|
58,30
|
||||||
174,779
|
59,624
|
||||||
174,353
|
60,131
|
||||||
|
61,476
|
||||||
|
62,224
|
||||||
|
63,340
|
||||||
|
64,468
|
||||||
|
65,97
|
||||||
|
66,382
|
||||||
|
67,109
|
||||||
|
68,881
|
||||||
|
69,673
|
||||||
|
70,140
|
||||||
|
71,671
|
||||||
|
72,318
|
||||||
|
73,779
|
||||||
|
74,353
|
||||||
|
75,501
|
||||||
|
76,423
|
||||||
|
77,815
|
||||||
|
78,395
|
||||||
|
79,201
|
||||||
|
80,965
|
||||||
|
81,286
|
||||||
|
82,170
|
||||||
|
83,469
|
||||||
|
84,323
|
||||||
|
85,31
|
||||||
|
86,262
|
||||||
|
87,757
|
||||||
|
88,866
|
||||||
|
89,570
|
||||||
|
90,484
|
||||||
|
91,68
|
||||||
|
92,520
|
||||||
|
93,691
|
||||||
|
94,485
|
||||||
|
95,709
|
||||||
|
96,985
|
||||||
|
97,792
|
||||||
|
98,199
|
||||||
|
99,967
|
||||||
|
100,696
|
||||||
|
101,967
|
||||||
|
102,572
|
||||||
|
103,885
|
||||||
|
104,576
|
||||||
|
105,253
|
||||||
|
106,841
|
||||||
|
|
|
|
@ -1,101 +1,171 @@
|
||||||
材料id,设备id,产品id
|
材料id,设备id,产品id
|
||||||
51,192,14
|
39,102,92
|
||||||
71,160,20
|
15,93,71
|
||||||
82,186,74
|
21,89,82
|
||||||
74,187,116
|
23,61,74
|
||||||
99,123,130
|
24,103,99
|
||||||
21,152,1
|
40,74,2
|
||||||
87,129,37
|
22,103,1
|
||||||
1,163,187
|
24,94,29
|
||||||
20,132,57
|
38,52,63
|
||||||
21,188,48
|
21,83,75
|
||||||
90,158,169
|
22,94,88
|
||||||
91,159,14
|
49,77,58
|
||||||
61,161,174
|
42,78,59
|
||||||
61,150,107
|
16,65,61
|
||||||
54,163,130
|
47,101,54
|
||||||
50,106,20
|
3,87,50
|
||||||
72,138,17
|
7,71,72
|
||||||
3,188,59
|
39,68,3
|
||||||
13,108,89
|
25,64,8
|
||||||
52,101,83
|
26,103,1
|
||||||
91,159,198
|
20,78,59
|
||||||
43,107,174
|
7,94,46
|
||||||
34,177,80
|
35,64,80
|
||||||
35,149,103
|
36,100,103
|
||||||
3,101,133
|
4,52,5
|
||||||
53,103,190
|
42,54,53
|
||||||
17,189,43
|
29,68,89
|
||||||
33,173,189
|
44,84,73
|
||||||
99,113,94
|
36,64,94
|
||||||
47,114,199
|
48,65,71
|
||||||
77,186,189
|
14,73,61
|
||||||
39,184,81
|
40,71,79
|
||||||
52,123,153
|
45,68,52
|
||||||
88,159,123
|
24,76,88
|
||||||
40,128,14
|
45,91,28
|
||||||
44,164,88
|
15,95,64
|
||||||
70,108,87
|
25,57,8
|
||||||
0,107,62
|
24,51,7
|
||||||
10,180,135
|
24,61,80
|
||||||
34,134,32
|
8,85,34
|
||||||
4,140,27
|
33,55,105
|
||||||
6,172,71
|
39,91,27
|
||||||
11,133,32
|
7,59,71
|
||||||
47,122,61
|
12,84,32
|
||||||
87,136,98
|
48,105,22
|
||||||
43,185,34
|
24,87,98
|
||||||
64,198,100
|
44,90,85
|
||||||
46,177,130
|
27,85,64
|
||||||
0,104,141
|
35,87,46
|
||||||
26,108,14
|
14,53,0
|
||||||
89,141,123
|
5,76,13
|
||||||
76,150,62
|
39,77,8
|
||||||
95,151,131
|
15,65,89
|
||||||
93,200,150
|
42,63,50
|
||||||
14,142,28
|
32,89,51
|
||||||
35,112,159
|
32,54,93
|
||||||
70,158,85
|
37,73,102
|
||||||
27,165,169
|
45,65,42
|
||||||
44,161,184
|
29,86,12
|
||||||
5,127,27
|
32,57,58
|
||||||
43,183,29
|
22,78,65
|
||||||
61,174,127
|
42,95,61
|
||||||
91,188,189
|
6,78,27
|
||||||
96,100,120
|
44,94,83
|
||||||
26,161,120
|
30,61,91
|
||||||
76,102,197
|
25,89,61
|
||||||
71,126,136
|
33,51,26
|
||||||
61,136,50
|
13,91,2
|
||||||
43,123,58
|
39,56,71
|
||||||
31,195,179
|
27,59,61
|
||||||
61,157,51
|
37,83,50
|
||||||
11,138,129
|
42,94,23
|
||||||
2,200,112
|
15,104,31
|
||||||
55,180,186
|
32,74,104
|
||||||
1,101,53
|
49,99,57
|
||||||
86,200,128
|
12,89,1
|
||||||
18,101,52
|
3,99,100
|
||||||
43,189,159
|
49,106,80
|
||||||
69,131,67
|
49,52,1
|
||||||
54,174,183
|
28,104,86
|
||||||
16,137,23
|
37,82,96
|
||||||
68,197,138
|
1,69,52
|
||||||
15,196,200
|
44,76,31
|
||||||
58,169,92
|
6,82,67
|
||||||
2,119,186
|
11,106,16
|
||||||
35,118,89
|
38,74,68
|
||||||
66,118,147
|
34,56,85
|
||||||
95,170,51
|
11,98,15
|
||||||
32,139,127
|
33,59,58
|
||||||
38,181,103
|
6,66,92
|
||||||
0,110,184
|
3,70,58
|
||||||
88,149,150
|
36,69,89
|
||||||
30,193,41
|
3,69,19
|
||||||
98,106,143
|
32,57,51
|
||||||
89,159,112
|
41,83,39
|
||||||
1,100,47
|
39,68,103
|
||||||
11,168,36
|
1,61,91
|
||||||
31,108,98
|
25,100,22
|
||||||
18,147,130
|
31,80,41
|
||||||
19,123,53
|
35,57,15
|
||||||
|
26,98,59
|
||||||
|
49,52,0
|
||||||
|
48,62,68
|
||||||
|
37,82,8
|
||||||
|
41,85,18
|
||||||
|
48,66,2
|
||||||
|
20,74,53
|
||||||
|
33,74,71
|
||||||
|
36,88,103
|
||||||
|
20,85,88
|
||||||
|
35,75,92
|
||||||
|
18,96,81
|
||||||
|
2,104,34
|
||||||
|
16,91,99
|
||||||
|
33,54,32
|
||||||
|
14,71,47
|
||||||
|
20,106,7
|
||||||
|
7,53,16
|
||||||
|
33,98,75
|
||||||
|
22,105,21
|
||||||
|
46,80,37
|
||||||
|
38,95,50
|
||||||
|
8,77,26
|
||||||
|
34,71,29
|
||||||
|
33,78,63
|
||||||
|
33,55,60
|
||||||
|
48,69,3
|
||||||
|
35,99,16
|
||||||
|
44,78,29
|
||||||
|
29,96,5
|
||||||
|
35,91,36
|
||||||
|
24,79,45
|
||||||
|
31,85,59
|
||||||
|
33,102,62
|
||||||
|
21,82,86
|
||||||
|
33,53,17
|
||||||
|
25,92,94
|
||||||
|
3,90,45
|
||||||
|
24,100,31
|
||||||
|
47,72,22
|
||||||
|
2,77,105
|
||||||
|
2,76,16
|
||||||
|
40,83,8
|
||||||
|
43,104,47
|
||||||
|
39,79,41
|
||||||
|
26,85,49
|
||||||
|
25,74,12
|
||||||
|
7,86,44
|
||||||
|
20,51,7
|
||||||
|
46,66,13
|
||||||
|
12,101,86
|
||||||
|
15,78,97
|
||||||
|
2,82,86
|
||||||
|
22,101,24
|
||||||
|
22,72,48
|
||||||
|
42,56,14
|
||||||
|
43,87,96
|
||||||
|
8,103,59
|
||||||
|
44,94,4
|
||||||
|
39,54,5
|
||||||
|
45,82,93
|
||||||
|
47,85,54
|
||||||
|
40,102,15
|
||||||
|
13,100,105
|
||||||
|
30,69,16
|
||||||
|
19,78,57
|
||||||
|
26,87,89
|
||||||
|
23,59,11
|
||||||
|
1,51,33
|
||||||
|
32,104,47
|
||||||
|
|
|
|
@ -1,4 +1,4 @@
|
||||||
产业ID,制造产品ID,制造量
|
产业id,制造产品id,制造量
|
||||||
0,182,314
|
0,182,314
|
||||||
1,152,869
|
1,152,869
|
||||||
1,187,591
|
1,187,591
|
||||||
|
@ -20,3 +20,197 @@
|
||||||
8,173,369
|
8,173,369
|
||||||
9,179,848
|
9,179,848
|
||||||
10,140,256
|
10,140,256
|
||||||
|
11,107,571
|
||||||
|
12,104,589
|
||||||
|
12,140,127
|
||||||
|
12,106,300
|
||||||
|
13,198,783
|
||||||
|
14,146,561
|
||||||
|
15,108,306
|
||||||
|
15,114,957
|
||||||
|
15,141,991
|
||||||
|
16,151,195
|
||||||
|
16,103,833
|
||||||
|
16,200,506
|
||||||
|
17,158,342
|
||||||
|
17,185,895
|
||||||
|
17,165,781
|
||||||
|
18,105,895
|
||||||
|
19,196,484
|
||||||
|
19,126,732
|
||||||
|
20,171,510
|
||||||
|
20,108,417
|
||||||
|
21,143,763
|
||||||
|
21,178,926
|
||||||
|
22,161,596
|
||||||
|
23,200,724
|
||||||
|
23,155,180
|
||||||
|
23,158,212
|
||||||
|
24,195,324
|
||||||
|
25,152,783
|
||||||
|
25,189,771
|
||||||
|
26,155,222
|
||||||
|
26,116,866
|
||||||
|
26,137,379
|
||||||
|
27,110,610
|
||||||
|
27,115,708
|
||||||
|
28,102,759
|
||||||
|
29,151,588
|
||||||
|
29,132,739
|
||||||
|
29,138,437
|
||||||
|
30,149,250
|
||||||
|
31,159,980
|
||||||
|
32,108,332
|
||||||
|
32,198,758
|
||||||
|
32,147,307
|
||||||
|
33,171,519
|
||||||
|
33,137,203
|
||||||
|
33,183,353
|
||||||
|
34,181,805
|
||||||
|
34,153,262
|
||||||
|
35,113,376
|
||||||
|
36,185,474
|
||||||
|
36,121,849
|
||||||
|
36,129,137
|
||||||
|
37,197,376
|
||||||
|
37,129,708
|
||||||
|
37,127,978
|
||||||
|
38,103,646
|
||||||
|
38,163,148
|
||||||
|
38,116,271
|
||||||
|
39,136,379
|
||||||
|
40,198,799
|
||||||
|
40,196,215
|
||||||
|
40,162,352
|
||||||
|
41,117,892
|
||||||
|
41,194,665
|
||||||
|
41,157,422
|
||||||
|
42,122,738
|
||||||
|
42,126,589
|
||||||
|
43,147,138
|
||||||
|
43,192,781
|
||||||
|
43,125,966
|
||||||
|
44,106,924
|
||||||
|
44,135,784
|
||||||
|
45,175,982
|
||||||
|
45,186,242
|
||||||
|
46,150,764
|
||||||
|
46,157,674
|
||||||
|
47,151,781
|
||||||
|
48,107,152
|
||||||
|
49,195,983
|
||||||
|
50,129,758
|
||||||
|
51,154,445
|
||||||
|
51,200,573
|
||||||
|
52,108,740
|
||||||
|
52,157,733
|
||||||
|
52,100,850
|
||||||
|
53,100,371
|
||||||
|
54,121,960
|
||||||
|
55,128,319
|
||||||
|
56,161,552
|
||||||
|
56,175,317
|
||||||
|
57,193,456
|
||||||
|
58,109,861
|
||||||
|
58,118,541
|
||||||
|
58,195,868
|
||||||
|
59,101,596
|
||||||
|
59,191,995
|
||||||
|
59,131,574
|
||||||
|
60,150,526
|
||||||
|
61,132,267
|
||||||
|
62,145,997
|
||||||
|
62,134,826
|
||||||
|
62,180,189
|
||||||
|
63,133,214
|
||||||
|
63,106,295
|
||||||
|
64,135,493
|
||||||
|
65,148,198
|
||||||
|
65,135,195
|
||||||
|
65,123,762
|
||||||
|
66,112,378
|
||||||
|
66,188,966
|
||||||
|
66,129,372
|
||||||
|
67,185,496
|
||||||
|
68,175,364
|
||||||
|
68,170,895
|
||||||
|
68,177,834
|
||||||
|
69,184,583
|
||||||
|
69,152,250
|
||||||
|
69,115,668
|
||||||
|
70,104,262
|
||||||
|
70,186,832
|
||||||
|
71,106,273
|
||||||
|
72,149,894
|
||||||
|
73,182,747
|
||||||
|
73,164,441
|
||||||
|
74,103,903
|
||||||
|
75,138,190
|
||||||
|
75,173,957
|
||||||
|
76,157,759
|
||||||
|
76,191,555
|
||||||
|
77,176,447
|
||||||
|
77,161,604
|
||||||
|
77,162,607
|
||||||
|
78,137,216
|
||||||
|
79,160,914
|
||||||
|
80,174,863
|
||||||
|
81,119,540
|
||||||
|
81,117,146
|
||||||
|
81,148,625
|
||||||
|
82,156,111
|
||||||
|
82,173,835
|
||||||
|
82,115,457
|
||||||
|
83,107,797
|
||||||
|
83,159,277
|
||||||
|
84,162,244
|
||||||
|
84,172,823
|
||||||
|
84,176,831
|
||||||
|
85,105,693
|
||||||
|
85,168,914
|
||||||
|
85,124,549
|
||||||
|
86,164,245
|
||||||
|
87,158,894
|
||||||
|
87,148,560
|
||||||
|
88,100,504
|
||||||
|
88,154,617
|
||||||
|
88,191,808
|
||||||
|
89,173,557
|
||||||
|
90,176,871
|
||||||
|
91,171,650
|
||||||
|
91,125,349
|
||||||
|
91,133,537
|
||||||
|
92,153,335
|
||||||
|
93,156,500
|
||||||
|
93,146,306
|
||||||
|
93,200,952
|
||||||
|
94,163,863
|
||||||
|
94,197,905
|
||||||
|
95,150,546
|
||||||
|
95,197,407
|
||||||
|
95,137,580
|
||||||
|
96,155,500
|
||||||
|
96,173,884
|
||||||
|
97,165,304
|
||||||
|
98,122,282
|
||||||
|
98,179,194
|
||||||
|
98,174,473
|
||||||
|
99,126,192
|
||||||
|
99,131,160
|
||||||
|
99,150,502
|
||||||
|
100,160,633
|
||||||
|
100,120,937
|
||||||
|
101,145,645
|
||||||
|
101,148,177
|
||||||
|
102,146,220
|
||||||
|
103,180,125
|
||||||
|
104,151,818
|
||||||
|
104,146,738
|
||||||
|
104,155,825
|
||||||
|
105,125,625
|
||||||
|
105,158,411
|
||||||
|
106,114,291
|
||||||
|
106,188,730
|
||||||
|
106,200,127
|
||||||
|
107,189,225
|
||||||
|
107,143,636
|
||||||
|
|
|
|
@ -49,17 +49,17 @@
|
||||||
48,材料
|
48,材料
|
||||||
49,材料
|
49,材料
|
||||||
50,材料
|
50,材料
|
||||||
51,材料
|
51,设备
|
||||||
52,材料
|
52,设备
|
||||||
53,材料
|
53,设备
|
||||||
54,材料
|
54,设备
|
||||||
55,材料
|
55,设备
|
||||||
56,材料
|
56,设备
|
||||||
57,材料
|
57,设备
|
||||||
58,材料
|
58,设备
|
||||||
59,材料
|
59,设备
|
||||||
60,材料
|
60,设备
|
||||||
61,材料
|
61,设备
|
||||||
62,设备
|
62,设备
|
||||||
63,设备
|
63,设备
|
||||||
64,设备
|
64,设备
|
||||||
|
@ -99,3 +99,9 @@
|
||||||
98,设备
|
98,设备
|
||||||
99,设备
|
99,设备
|
||||||
100,设备
|
100,设备
|
||||||
|
101,设备
|
||||||
|
102,设备
|
||||||
|
103,设备
|
||||||
|
104,设备
|
||||||
|
105,设备
|
||||||
|
106,设备
|
||||||
|
|
|
|
@ -2,13 +2,13 @@ import pandas as pd
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
# 设置数据行数
|
# 设置数据行数
|
||||||
total_rows = 100 # 总共100行
|
total_rows = 106 # 总共100行
|
||||||
material_count = 61 # 前61行为材料
|
material_count = 50 # 前61行为材料
|
||||||
|
|
||||||
# 生成产品id
|
# 生成产品id
|
||||||
product_ids = np.arange(1, total_rows + 1)
|
product_ids = np.arange(1, total_rows + 1)
|
||||||
|
|
||||||
# 生成种类,前61行是材料,后面是设备
|
# 生成种类,前70行是材料,后面是设备
|
||||||
categories = ['材料'] * material_count + ['设备'] * (total_rows - material_count)
|
categories = ['材料'] * material_count + ['设备'] * (total_rows - material_count)
|
||||||
|
|
||||||
# 创建数据框
|
# 创建数据框
|
||||||
|
|
|
@ -5,7 +5,7 @@ import numpy as np
|
||||||
np.random.seed(42)
|
np.random.seed(42)
|
||||||
|
|
||||||
# 定义生成数据的行数
|
# 定义生成数据的行数
|
||||||
num_rows = 100 # 生成 100 行数据
|
num_rows = 170 # 生成 100 行数据
|
||||||
|
|
||||||
# 创建空列表来存储生成的ID
|
# 创建空列表来存储生成的ID
|
||||||
material_ids = []
|
material_ids = []
|
||||||
|
@ -14,12 +14,12 @@ product_ids = []
|
||||||
|
|
||||||
# 生成材料、设备、产品的ID,确保同一行内的ID不重复
|
# 生成材料、设备、产品的ID,确保同一行内的ID不重复
|
||||||
for _ in range(num_rows):
|
for _ in range(num_rows):
|
||||||
mat_id = np.random.randint(0, 100) # 材料ID范围 0-99
|
mat_id = np.random.randint(1, 51) # 材料ID范围 0-99
|
||||||
dev_id = np.random.randint(100, 201) # 设备ID范围 100-199
|
dev_id = np.random.randint(51, 107) # 设备ID范围 100-199
|
||||||
|
|
||||||
# 确保产品ID在当前行与材料ID和设备ID不重复
|
# 确保产品ID在当前行与材料ID和设备ID不重复
|
||||||
while True:
|
while True:
|
||||||
prod_id = np.random.randint(0, 201)
|
prod_id = np.random.randint(0, 107)
|
||||||
if prod_id != mat_id and prod_id != dev_id:
|
if prod_id != mat_id and prod_id != dev_id:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
|
@ -5,10 +5,10 @@ import numpy as np
|
||||||
np.random.seed(42)
|
np.random.seed(42)
|
||||||
|
|
||||||
# 定义行数,即生成多少个设备
|
# 定义行数,即生成多少个设备
|
||||||
num_rows = 10
|
num_rows = 56
|
||||||
|
|
||||||
# 生成设备id(例如100到200之间的设备ID)
|
# 生成设备id(例如100到200之间的设备ID)
|
||||||
device_ids = np.random.randint(100, 200, size=num_rows)
|
device_ids = (i for i in range(51, 107))
|
||||||
|
|
||||||
# 生成设备残值,假设范围在1000到10000之间
|
# 生成设备残值,假设范围在1000到10000之间
|
||||||
device_salvage_values = np.random.randint(10, 1000, size=num_rows)
|
device_salvage_values = np.random.randint(10, 1000, size=num_rows)
|
||||||
|
@ -22,4 +22,3 @@ df_devices = pd.DataFrame({
|
||||||
# 保存为CSV文件
|
# 保存为CSV文件
|
||||||
file_path_devices = '测试数据 device_salvage_values.csv'
|
file_path_devices = '测试数据 device_salvage_values.csv'
|
||||||
df_devices.to_csv(file_path_devices, index=False)
|
df_devices.to_csv(file_path_devices, index=False)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue