revenue reduce
This commit is contained in:
15
firm.py
15
firm.py
@@ -10,7 +10,8 @@ class FirmAgent(ap.Agent):
|
||||
self.code = code
|
||||
self.name = name
|
||||
self.type_region = type_region
|
||||
self.revenue_log = revenue_log
|
||||
self.ori_size = revenue_log
|
||||
self.size = revenue_log
|
||||
self.a_lst_product = a_lst_product
|
||||
self.dct_prod_capacity = {}
|
||||
|
||||
@@ -47,7 +48,7 @@ class FirmAgent(ap.Agent):
|
||||
"cap_limit_prob_type other than uniform, normal"
|
||||
if self.str_cap_limit_prob_type == 'uniform':
|
||||
extra_cap_mean = \
|
||||
self.revenue_log / self.flt_cap_limit_level
|
||||
self.size / self.flt_cap_limit_level
|
||||
extra_cap = self.model.nprandom.integers(extra_cap_mean-2,
|
||||
extra_cap_mean+2)
|
||||
extra_cap = 0 if round(extra_cap) < 0 else round(extra_cap)
|
||||
@@ -55,7 +56,7 @@ class FirmAgent(ap.Agent):
|
||||
self.dct_prod_capacity[product] = extra_cap
|
||||
elif self.str_cap_limit_prob_type == 'normal':
|
||||
extra_cap_mean = \
|
||||
self.revenue_log / self.flt_cap_limit_level
|
||||
self.size / self.flt_cap_limit_level
|
||||
extra_cap = self.model.nprandom.normal(extra_cap_mean, 1)
|
||||
extra_cap = 0 if round(extra_cap) < 0 else round(extra_cap)
|
||||
# print(firm_agent.name, extra_cap)
|
||||
@@ -146,7 +147,7 @@ class FirmAgent(ap.Agent):
|
||||
lst_size = \
|
||||
[size for size in
|
||||
self.dct_cand_alt_supply_up_prod_removed[
|
||||
product].revenue_log]
|
||||
product].size]
|
||||
lst_prob = [size / sum(lst_size)
|
||||
for size in lst_size]
|
||||
select_alt_supply = self.model.nprandom.choice(
|
||||
@@ -159,7 +160,7 @@ class FirmAgent(ap.Agent):
|
||||
# select based on size of connected firm or not
|
||||
if self.is_prf_size:
|
||||
lst_firm_size = \
|
||||
[firm.revenue_log for firm in lst_firm_connect]
|
||||
[firm.size for firm in lst_firm_connect]
|
||||
lst_prob = \
|
||||
[size / sum(lst_firm_size)
|
||||
for size in lst_firm_size]
|
||||
@@ -228,7 +229,7 @@ class FirmAgent(ap.Agent):
|
||||
# handling based on size or not
|
||||
if self.is_prf_size:
|
||||
lst_firm_size = \
|
||||
[firm.revenue_log for firm in lst_firm]
|
||||
[firm.size for firm in lst_firm]
|
||||
lst_prob = \
|
||||
[size / sum(lst_firm_size)
|
||||
for size in lst_firm_size]
|
||||
@@ -243,7 +244,7 @@ class FirmAgent(ap.Agent):
|
||||
# handling based on size of connected firm or not
|
||||
if self.is_prf_size:
|
||||
lst_firm_size = \
|
||||
[firm.revenue_log for firm in lst_firm_connect]
|
||||
[firm.size for firm in lst_firm_connect]
|
||||
lst_prob = \
|
||||
[size / sum(lst_firm_size)
|
||||
for size in lst_firm_size]
|
||||
|
||||
Reference in New Issue
Block a user