set to removed only for disrupted firm
This commit is contained in:
18
model.py
18
model.py
@@ -349,10 +349,10 @@ class Model(ap.Model):
|
||||
firm.size_stat.append((size, self.t))
|
||||
print(f'in ts {self.t}, reduce {firm.name} size '
|
||||
f'to {firm.size_stat[-1][0]} due to {prod.code}')
|
||||
if self.t - ts + 1 == self.remove_t:
|
||||
# turn disrupted firm into removed firm
|
||||
firm.dct_prod_up_prod_stat[
|
||||
prod]['status'].append(('R', self.t))
|
||||
if self.t - ts + 1 == self.remove_t:
|
||||
# turn disrupted firm into removed firm
|
||||
firm.dct_prod_up_prod_stat[
|
||||
prod]['status'].append(('R', self.t))
|
||||
|
||||
# stop simulation if any firm still in disrupted except inital removal
|
||||
if self.t > 0:
|
||||
@@ -422,6 +422,16 @@ class Model(ap.Model):
|
||||
def end(self):
|
||||
print('/' * 20, 'output', '/' * 20)
|
||||
|
||||
for firm in self.a_lst_total_firms:
|
||||
is_size = False
|
||||
for prod, dct_status_supply in firm.dct_prod_up_prod_stat.items():
|
||||
if len(dct_status_supply['status']) > 1:
|
||||
is_size = True
|
||||
print(f"{firm.name} {prod.code}:")
|
||||
print(dct_status_supply['status'])
|
||||
if is_size:
|
||||
print(firm.size_stat)
|
||||
|
||||
# qry_result = db_session.query(Result).filter_by(s_id=self.sample.id)
|
||||
# if qry_result.count() == 0:
|
||||
# lst_result_info = []
|
||||
|
||||
Reference in New Issue
Block a user