From 70f1c93e2866b9684c30b1749f0a59cef8024bf2 Mon Sep 17 00:00:00 2001 From: West Jens Date: Fri, 13 Aug 2021 14:36:21 +0300 Subject: [PATCH 1/8] Add car ownership sensitivity analyses --- Scripts/helmet.py | 38 ++++++++++++++++++++++++++++++++++++++ Scripts/models/linear.py | 20 ++++++++++++++++++-- 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/Scripts/helmet.py b/Scripts/helmet.py index 32c0223a..f4150ef5 100644 --- a/Scripts/helmet.py +++ b/Scripts/helmet.py @@ -9,6 +9,7 @@ from assignment.mock_assignment import MockAssignmentModel from modelsystem import ModelSystem, AgentModelSystem from datahandling.matrixdata import MatrixData +from datahandling.resultdata import ResultsData def main(args): @@ -85,6 +86,43 @@ def main(args): results_path, ass_model, args.scenario_name) log_extra["status"]["results"] = model.mode_share + # Regular model run + run(log_extra, model) + + # Run with increased car ownership + new_name = name + "_car++" + model.resultdata = ResultsData(os.path.join(results_path, new_name)) + model.resultmatrices = MatrixData( + os.path.join(results_path, new_name, "Matrices")) + model.cdm.set_car_growth(constant=+0.1) + run(log_extra, model) + + # Run with decreased car ownership + new_name = name + "_car--" + model.resultdata = ResultsData(os.path.join(results_path, new_name)) + model.resultmatrices = MatrixData( + os.path.join(results_path, new_name, "Matrices")) + model.cdm.set_car_growth(factor=0.8) + run(log_extra, model) + + # delete emme strategy files for scenarios + if args.del_strat_files: + dbase_path = os.path.join(os.path.dirname(emme_project_path), "database") + filepath = os.path.join(dbase_path, "STRAT_s{}*") + dirpath = os.path.join(dbase_path, "STRATS_s{}", "*") + scenario_ids = range(args.first_scenario_id, args.first_scenario_id+5) + for s in scenario_ids: + strategy_files = glob(filepath.format(s)) + glob(dirpath.format(s)) + for f in strategy_files: + try: + os.remove(f) + except: + log.info("Not able to remove file {}.".format(f)) + log.info("Removed strategy files in {}".format(dbase_path)) + log.info("Simulation ended.", extra=log_extra) + +def run(log_extra, model): + iterations = log_extra["total"] # Run traffic assignment simulation for N iterations, # on last iteration model-system will save the results log_extra["status"]["state"] = "preparing" diff --git a/Scripts/models/linear.py b/Scripts/models/linear.py index cc3115f4..9a7dfcd3 100644 --- a/Scripts/models/linear.py +++ b/Scripts/models/linear.py @@ -80,10 +80,24 @@ def __init__(self, zone_data_base, zone_data_forecast, bounds, resultdata): out=numpy.array(forecast_sh_detached), where=pop_growth!=0) self.zone_data._values["share_detached_houses_new"] = pandas.Series( share_detached_new, self.zone_data.zone_numbers[self.bounds]) - + self.set_car_growth() + + def set_car_growth(self, constant=0.0, factor=1.0): + """Set extra car ownership growth for sensitivity analyses. + + Parameters + ---------- + constant : float (optional) + Constant to add to prediction + factor : float (optional) + Factor to multiply prediction by + """ + self._growth_constant = constant + self._growth_factor = factor + def predict(self): """Get car ownership prediction for zones. - + Return ------ pandas.Series @@ -108,6 +122,8 @@ def predict(self): .clip(upper=1.0)) prediction = (self.pop_growth_share * prediction + (1-self.pop_growth_share) * base_car_density) + prediction += self._growth_constant + prediction *= self._growth_factor self.print_results(prediction) return prediction From f1512f9fe1175121974f58fb2371e79fe45ab792 Mon Sep 17 00:00:00 2001 From: West Jens Date: Mon, 16 Aug 2021 12:26:42 +0300 Subject: [PATCH 2/8] Fix iteration count --- Scripts/helmet.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Scripts/helmet.py b/Scripts/helmet.py index f4150ef5..dac861a8 100644 --- a/Scripts/helmet.py +++ b/Scripts/helmet.py @@ -122,7 +122,7 @@ def main(args): log.info("Simulation ended.", extra=log_extra) def run(log_extra, model): - iterations = log_extra["total"] + iterations = log_extra["status"]["total"] # Run traffic assignment simulation for N iterations, # on last iteration model-system will save the results log_extra["status"]["state"] = "preparing" From 661ecfbfca6abedb37acbc99cc66381c51536600 Mon Sep 17 00:00:00 2001 From: Johanna Piipponen Date: Thu, 3 Feb 2022 16:04:03 +0200 Subject: [PATCH 3/8] Remove multiple scenario runs --- Scripts/helmet.py | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/Scripts/helmet.py b/Scripts/helmet.py index dac861a8..eb6135ca 100644 --- a/Scripts/helmet.py +++ b/Scripts/helmet.py @@ -9,7 +9,6 @@ from assignment.mock_assignment import MockAssignmentModel from modelsystem import ModelSystem, AgentModelSystem from datahandling.matrixdata import MatrixData -from datahandling.resultdata import ResultsData def main(args): @@ -86,43 +85,11 @@ def main(args): results_path, ass_model, args.scenario_name) log_extra["status"]["results"] = model.mode_share - # Regular model run - run(log_extra, model) - # Run with increased car ownership - new_name = name + "_car++" - model.resultdata = ResultsData(os.path.join(results_path, new_name)) - model.resultmatrices = MatrixData( - os.path.join(results_path, new_name, "Matrices")) model.cdm.set_car_growth(constant=+0.1) - run(log_extra, model) - # Run with decreased car ownership - new_name = name + "_car--" - model.resultdata = ResultsData(os.path.join(results_path, new_name)) - model.resultmatrices = MatrixData( - os.path.join(results_path, new_name, "Matrices")) model.cdm.set_car_growth(factor=0.8) - run(log_extra, model) - - # delete emme strategy files for scenarios - if args.del_strat_files: - dbase_path = os.path.join(os.path.dirname(emme_project_path), "database") - filepath = os.path.join(dbase_path, "STRAT_s{}*") - dirpath = os.path.join(dbase_path, "STRATS_s{}", "*") - scenario_ids = range(args.first_scenario_id, args.first_scenario_id+5) - for s in scenario_ids: - strategy_files = glob(filepath.format(s)) + glob(dirpath.format(s)) - for f in strategy_files: - try: - os.remove(f) - except: - log.info("Not able to remove file {}.".format(f)) - log.info("Removed strategy files in {}".format(dbase_path)) - log.info("Simulation ended.", extra=log_extra) -def run(log_extra, model): - iterations = log_extra["status"]["total"] # Run traffic assignment simulation for N iterations, # on last iteration model-system will save the results log_extra["status"]["state"] = "preparing" From 19f134b3537be4d717d01cdf19af93f1571a4c2f Mon Sep 17 00:00:00 2001 From: Johanna Piipponen Date: Thu, 3 Feb 2022 16:20:48 +0200 Subject: [PATCH 4/8] Add command line arguments to control car ownership growth --- Scripts/helmet.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Scripts/helmet.py b/Scripts/helmet.py index eb6135ca..2d1e5134 100644 --- a/Scripts/helmet.py +++ b/Scripts/helmet.py @@ -85,10 +85,8 @@ def main(args): results_path, ass_model, args.scenario_name) log_extra["status"]["results"] = model.mode_share - # Run with increased car ownership - model.cdm.set_car_growth(constant=+0.1) - # Run with decreased car ownership - model.cdm.set_car_growth(factor=0.8) + model.cdm.set_car_growth(constant=args.car_growth_constant, + factor=args.car_growth_factor) # Run traffic assignment simulation for N iterations, # on last iteration model-system will save the results @@ -252,6 +250,17 @@ def main(args): action="store_true", default=config.USE_FIXED_TRANSIT_COST, help="Using this flag activates use of pre-calculated (fixed) transit costs."), + # MAL 2023 input data + parser.add_argument( + "--car-growth-constant", + type=float, + default=0.0, + help="Car ownership growth constant. To increase, try 0.1."), + parser.add_argument( + "--car-growth-factor", + type=float, + default=1.0, + help="Car ownership growth factor. To decrease, try 0.8."), args = parser.parse_args() log.initialize(args) From 7ccd25918c7213079d6964c2a2818ad7a07bf185 Mon Sep 17 00:00:00 2001 From: West Jens Date: Fri, 4 Feb 2022 12:42:36 +0200 Subject: [PATCH 5/8] Add text file dumping of link attributes with wkt coordinates --- Scripts/assignment/emme_assignment.py | 6 ++++++ Scripts/assignment/emme_bindings/mock_project.py | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/Scripts/assignment/emme_assignment.py b/Scripts/assignment/emme_assignment.py index da002288..a9a4fe41 100644 --- a/Scripts/assignment/emme_assignment.py +++ b/Scripts/assignment/emme_assignment.py @@ -172,6 +172,8 @@ def aggregate_results(self, resultdata): linktypes.add(param.roadtypes[linktype]) linklengths = pandas.Series(0.0, linktypes) soft_modes = param.transit_classes + ("bike",) + attr_names = self.day_scenario.attributes("LINK") + resultdata.print_line("Link\t" + "\t".join(attr_names), "links") network = self.day_scenario.get_network() for link in network.links(): linktype = link.type % 100 @@ -197,6 +199,10 @@ def aggregate_results(self, resultdata): linklengths[param.railtypes[linktype]] += link.length else: linklengths[param.roadtypes[vdf]] += link.length / 2 + wkt = "LINESTRING ({} {}, {} {})".format( + link.i_node.x, link.i_node.y, link.j_node.x, link.j_node.y) + attrs = "\t".join([str(link[attr]) for attr in attr_names]) + resultdata.print_line(wkt + "\t" + attrs, "links") if faulty_kela_code_nodes: s = "Municipality KELA code not found for nodes: " + ", ".join( faulty_kela_code_nodes) diff --git a/Scripts/assignment/emme_bindings/mock_project.py b/Scripts/assignment/emme_bindings/mock_project.py index 31979a8d..cb78d5ca 100644 --- a/Scripts/assignment/emme_bindings/mock_project.py +++ b/Scripts/assignment/emme_bindings/mock_project.py @@ -404,6 +404,11 @@ def __init__(self, idx): def zone_numbers(self): return sorted(self._network._centroids) + def attributes(self, attr_type): + network = self.get_network() + # TODO Return other attributes except extra attributes + return list(network._extra_attr[attr_type]) + def extra_attribute(self, idx): network = self.get_network() for attr_type in network._extra_attr: From 43b83424aabe83309413cd3c452141e07f27f59f Mon Sep 17 00:00:00 2001 From: Johanna Piipponen Date: Fri, 18 Feb 2022 16:37:15 +0200 Subject: [PATCH 6/8] Fix truck travel time matrices and refactor matrix getting (#439) (#444) * Refactor matrix getting * Refactor further * Change function name Co-authored-by: Jens West --- Scripts/assignment/assignment_period.py | 53 +++++++++++++------------ 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/Scripts/assignment/assignment_period.py b/Scripts/assignment/assignment_period.py index ad406f63..7fcad91a 100644 --- a/Scripts/assignment/assignment_period.py +++ b/Scripts/assignment/assignment_period.py @@ -133,7 +133,7 @@ def assign(self, matrices, iteration): else: raise ValueError("Iteration number not valid") - mtxs = {imp_type: self._get_emmebank_matrices(imp_type, iteration=="last") + mtxs = {imp_type: self._get_matrices(imp_type, iteration=="last") for imp_type in ("time", "cost", "dist")} # fix the emme path analysis results # (dist and cost zero if path not found) @@ -142,20 +142,7 @@ def assign(self, matrices, iteration): path_not_found = mtxs["time"][mtx_class] > 999999 mtxs[mtx_type][mtx_class][path_not_found] = 999999 # adjust impedance - mtxs["time"]["bike"] = mtxs["time"]["bike"].clip(None, 9999.) - for ass_class in ("car_work", "car_leisure"): - mtxs["time"][ass_class] = self._extract_timecost_from_gcost( - ass_class) - mtxs["time"]["transit_work"] = self._damp( - mtxs["time"]["transit_work"], - self._get_matrix("trip_part_transit_work", "fw_time")) - if iteration=="last": - mtxs["time"]["transit_leisure"] = self._damp( - mtxs["time"]["transit_leisure"], - self._get_matrix("trip_part_transit_leisure", "fw_time")) - else: - for mtx_type in mtxs: - mtxs[mtx_type]["transit_leisure"] = mtxs[mtx_type]["transit_work"] + if iteration != "last": for ass_cl in ("car_work", "car_leisure"): mtxs["cost"][ass_cl] += self.dist_unit_cost * mtxs["dist"][ass_cl] return mtxs @@ -420,7 +407,7 @@ def _set_matrix(self, mtx_label, matrix, result_type=None): self.emme_project.modeller.emmebank.matrix( self.result_mtx[result_type][mtx_label]["id"]).set_numpy_data(matrix) - def _get_emmebank_matrices(self, mtx_type, is_last_iteration=False): + def _get_matrices(self, mtx_type, is_last_iteration=False): """Get all matrices of specified type. Parameters @@ -437,12 +424,21 @@ def _get_emmebank_matrices(self, mtx_type, is_last_iteration=False): Subtype (car_work/truck/inv_time/...) : numpy 2-d matrix Matrix of the specified type """ - matrices = dict.fromkeys(self.result_mtx[mtx_type].keys()) + last_iteration_classes = param.freight_classes + ("transit_leisure",) + matrices = {} + for subtype in self.result_mtx[mtx_type]: + if is_last_iteration or subtype not in last_iteration_classes: + if mtx_type == "time" and subtype in param.assignment_modes: + mtx = self._extract_timecost_from_gcost(subtype) + elif mtx_type == "time" and subtype in param.transit_classes: + mtx = self._damp_travel_time(subtype) + else: + mtx = self._get_matrix(mtx_type, subtype) + if mtx_type == "time" and subtype == "bike": + mtx = mtx.clip(None, 9999.) + matrices[subtype] = mtx if not is_last_iteration: - for key in param.freight_classes: - del matrices[key] - for subtype in matrices: - matrices[subtype] = self._get_matrix(mtx_type, subtype) + matrices["transit_leisure"] = matrices["transit_work"] return matrices def _get_matrix(self, assignment_result_type, subtype): @@ -461,17 +457,22 @@ def _get_matrix(self, assignment_result_type, subtype): Matrix of the specified type """ emme_id = self.result_mtx[assignment_result_type][subtype]["id"] - return self.emme_project.modeller.emmebank.matrix(emme_id).get_numpy_data() + return (self.emme_project.modeller.emmebank.matrix(emme_id) + .get_numpy_data()) - def _damp(self, travel_time, fw_time): + def _damp_travel_time(self, demand_type): """Reduce the impact from first waiting time on total travel time.""" + travel_time = self._get_matrix("time", demand_type) + fw_time = self._get_matrix("trip_part_"+demand_type, "fw_time") wt_weight = param.waiting_time_perception_factor return travel_time + wt_weight*((5./3.*fw_time)**0.8 - fw_time) def _extract_timecost_from_gcost(self, ass_class): - """Remove monetary cost from generalized cost.""" - # Traffic assignment produces a generalized cost matrix. - # To get travel time, monetary cost is removed from generalized cost. + """Remove monetary cost from generalized cost. + + Traffic assignment produces a generalized cost matrix. + To get travel time, monetary cost is removed from generalized cost. + """ vot_inv = param.vot_inv[param.vot_classes[ass_class]] gcost = self._get_matrix("gen_cost", ass_class) cost = self._get_matrix("cost", ass_class) From 5fcb78db5a78d4b0c2a4c9f0e7b1f6b0cb511c9d Mon Sep 17 00:00:00 2001 From: Johanna Piipponen Date: Tue, 5 Jul 2022 17:10:37 +0300 Subject: [PATCH 7/8] Merge branch `olusanya` into `mal23-car-ownership` (#457) * Fix/noise zones (#450) * Print nodes to better debug errors * Print 5 meter noise buffers for negative values * Set `cross_traffic` minimum value to 0.01 * Add error message * Revert zone width change Co-authored-by: Jens West * Update `HELMET_VERSION` (#451) * Speed up histogram incrementation by changing lookup method (#452) * Fix floating-point number error (#455) Co-authored-by: Jens West --- Scripts/assignment/assignment_period.py | 2 +- Scripts/datatypes/histogram.py | 2 +- Scripts/dev-config.json | 2 +- Scripts/parameters/assignment.py | 2 +- Scripts/utils/calc_noise.py | 13 +++++++------ 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Scripts/assignment/assignment_period.py b/Scripts/assignment/assignment_period.py index 193deae4..782e0210 100644 --- a/Scripts/assignment/assignment_period.py +++ b/Scripts/assignment/assignment_period.py @@ -200,7 +200,7 @@ def calc_transit_cost(self, fares, peripheral_cost, mapping): "trip_part_transit_work", "board_cost") # If the number of visits is less than 1, there seems to # be an easy way to avoid visiting this transit zone - has_visited[transit_zone] = (nr_visits >= 1) + has_visited[transit_zone] = (nr_visits > 0.99) for centroid in network.centroids(): # Add transit zone of destination to visited has_visited[centroid.label][:, mapping[centroid.number]] = True diff --git a/Scripts/datatypes/histogram.py b/Scripts/datatypes/histogram.py index cb56b7fb..53fc9fdd 100644 --- a/Scripts/datatypes/histogram.py +++ b/Scripts/datatypes/histogram.py @@ -13,7 +13,7 @@ def __init__(self): self.histogram = pandas.Series(0, index) def add(self, dist): - self.histogram.iloc[numpy.searchsorted(self._u, dist, "right")] += 1 + self.histogram.iat[numpy.searchsorted(self._u, dist, "right")] += 1 def count_tour_dists(self, tours, dists): self.histogram[:], _ = numpy.histogram(dists, intervals, weights=tours) diff --git a/Scripts/dev-config.json b/Scripts/dev-config.json index aad31c57..5738c52d 100644 --- a/Scripts/dev-config.json +++ b/Scripts/dev-config.json @@ -1,5 +1,5 @@ { - "HELMET_VERSION": "v4.1.0-beta.3", + "HELMET_VERSION": "v4.1.1", "LOG_LEVEL": "INFO", "LOG_FORMAT": "TEXT", "SCENARIO_NAME": "test", diff --git a/Scripts/parameters/assignment.py b/Scripts/parameters/assignment.py index 3daaa07b..9fbf6991 100644 --- a/Scripts/parameters/assignment.py +++ b/Scripts/parameters/assignment.py @@ -362,7 +362,7 @@ years_average_day_factor = 0.85 # Factor for converting day traffic into 7:00-22:00 traffic share_7_22_of_day = 0.9 -# Noice zone width as function of start noise +# Noise zone width as function of start noise noise_zone_width = { (0, 55): lambda x: 5, (55, 65): lambda x: 10 + 31./10*x, diff --git a/Scripts/utils/calc_noise.py b/Scripts/utils/calc_noise.py index 7c2d9306..a7e84a37 100644 --- a/Scripts/utils/calc_noise.py +++ b/Scripts/utils/calc_noise.py @@ -33,17 +33,16 @@ def calc_noise(self, link): float Noise zone width (m) """ - traffic = sum([link[mode] for mode in self.light_modes]) + traffic = max(sum([link[mode] for mode in self.light_modes]), 0.01) rlink = link.reverse_link if rlink is None: reverse_traffic = 0 else: reverse_traffic = sum([rlink[mode] for mode in self.light_modes]) cross_traffic = (param.years_average_day_factor - * param.share_7_22_of_day - * (traffic+reverse_traffic)) + * param.share_7_22_of_day + * (traffic+reverse_traffic)) heavy = sum([link[mode] for mode in self.heavy_modes]) - traffic = max(traffic, 0.01) heavy_share = heavy / (traffic+heavy) # Calculate speed @@ -51,10 +50,10 @@ def calc_noise(self, link): rlink = link.reverse_link if reverse_traffic > 0: speed = (60 * 2 * link.length - / (link[self.car_morning]+rlink[self.car_morning])) + / (link[self.car_morning]+rlink[self.car_morning])) else: speed = (0.3*(60*link.length/link[self.car_morning]) - + 0.7*link.data2) + + 0.7*link.data2) speed = max(speed, 50.0) # Calculate start noise @@ -75,4 +74,6 @@ def calc_noise(self, link): if interval[0] <= start_noise < interval[1]: zone_width = func[interval](start_noise - interval[0]) break + else: + raise ValueError("No noise interval found for link {}".format(link.id)) return zone_width From c72209d82ce0931d3c42270cfa7e09f3c620cd70 Mon Sep 17 00:00:00 2001 From: Johanna Piipponen Date: Sun, 25 Sep 2022 14:33:36 +0300 Subject: [PATCH 8/8] Merge `olusanya` to `mal23-car-ownership` (#466) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix/noise zones (#450) * Print nodes to better debug errors * Print 5 meter noise buffers for negative values * Set `cross_traffic` minimum value to 0.01 * Add error message * Revert zone width change Co-authored-by: Jens West * Update `HELMET_VERSION` (#451) * Speed up histogram incrementation by changing lookup method (#452) * Fix floating-point number error (#455) * Fix bicycle trips CBA (#463) Fix incorrect linking of bicycle trips in CBA Excel sheet that causes travel time saving of leisure trips being calculated based on work trips data. * Remove hard-coded area-based bounds from `Purpose` (#459) * Remove hard-coded area-based bounds from `Purpose` Introduce more general sub-bounds that can define separate parameters for arbitrary number of sub-regions instead of two * Generalize transit trips per month accordingly * Add helpful comment Co-authored-by: Jens West Co-authored-by: Sami Mäkinen <47142755+samakinen@users.noreply.github.com> Co-authored-by: Jens West --- Scripts/CBA_kehikko.xlsx | Bin 95634 -> 95619 bytes Scripts/datatypes/purpose.py | 27 +++------ Scripts/datatypes/tour.py | 18 +++--- Scripts/models/logit.py | 56 ++++++++---------- .../parameters/impedance_transformation.py | 16 ++++- Scripts/parameters/zone.py | 9 +++ Scripts/tests/unit/test_logit.py | 3 +- Scripts/transform/impedance_transformer.py | 13 ++-- 8 files changed, 74 insertions(+), 68 deletions(-) diff --git a/Scripts/CBA_kehikko.xlsx b/Scripts/CBA_kehikko.xlsx index 3004bdb5232c2bb6257cd7dfb9d9397369647304..c69d2e0708b0b0fc2ac66e24e608c63941d5af15 100644 GIT binary patch delta 71145 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

O1^2ZE#kD{X@I&}};X`gw>!3vRn?vWiIx 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 WlK1{qR0&we4M>e}Yz0ly1pGge;m%3` diff --git a/Scripts/datatypes/purpose.py b/Scripts/datatypes/purpose.py index 1251e5be..02f9a81b 100644 --- a/Scripts/datatypes/purpose.py +++ b/Scripts/datatypes/purpose.py @@ -1,6 +1,7 @@ import numpy import pandas +import parameters.zone as param from parameters.destination_choice import secondary_destination_threshold import models.logit as logit import models.generation as generation @@ -35,25 +36,13 @@ def __init__(self, specification, zone_data, resultdata=None): self.dest = specification["dest"] self.area = specification["area"] self.sources = [] - if self.area == "metropolitan": - l = 0 - m = zone_data.first_surrounding_zone - u = zone_data.first_peripheral_zone - if self.area == "peripheral": - l = zone_data.first_peripheral_zone - m = None - u = zone_data.nr_zones - if self.area == "all": - l = 0 - m = zone_data.first_surrounding_zone - u = zone_data.nr_zones - if self.area == "external": - l = zone_data.first_external_zone - m = None - u = None - self.bounds = slice(l, u) - self.lbounds = slice(l, m) - self.ubounds = slice(m, u) + zone_numbers = zone_data.zone_numbers + zone_intervals = param.purpose_areas[self.area] + self.bounds = slice(*zone_numbers.searchsorted( + [zone_intervals[0], zone_intervals[-1]])) + sub_intervals = zone_numbers[self.bounds].searchsorted(zone_intervals) + self.sub_bounds = [slice(sub_intervals[i-1], sub_intervals[i]) + for i in range(1, len(sub_intervals))] self.zone_data = zone_data self.resultdata = resultdata self.model = None diff --git a/Scripts/datatypes/tour.py b/Scripts/datatypes/tour.py index 6cde7da3..1ce636a9 100644 --- a/Scripts/datatypes/tour.py +++ b/Scripts/datatypes/tour.py @@ -4,7 +4,7 @@ import parameters.car as param import parameters.zone as zone_param from parameters.assignment import assignment_classes, vot_inv -from parameters.impedance_transformation import divided_classes, trips_month +from parameters.impedance_transformation import divided_classes, transit_trips_per_month class Tour: @@ -200,14 +200,12 @@ def calc_cost(self, impedance): def _get_cost(self, impedance, mtx_type): """Get cost and time components from tour dest choice.""" - if self.mode in divided_classes: - ass_class = "{}_{}".format( - self.mode, assignment_classes[self.purpose.name]) - else: - ass_class = self.mode + demand_type = assignment_classes[self.purpose.name] + ass_class = ("{}_{}".format(self.mode, demand_type) + if self.mode in divided_classes else self.mode) cost = 0 try: - if assignment_classes[self.purpose_name] == "work": + if demand_type == "work": departure_imp = impedance["aht"][mtx_type][ass_class] sec_dest_imp = impedance["iht"][mtx_type][ass_class] return_imp = impedance["iht"][mtx_type][ass_class] @@ -229,8 +227,10 @@ def _get_cost(self, impedance, mtx_type): pass # scale transit costs from month to day if self.mode == "transit" and mtx_type == "cost": - idx = int(self.position[0] > self.purpose.zone_data.first_surrounding_zone) - cost /= trips_month[ass_class][idx] + idx = numpy.searchsorted( + [bounds.stop for bounds in self.purpose.sub_bounds], + self.position[0], side="right") + cost /= transit_trips_per_month[self.purpose.area][demand_type][idx] return cost def __str__(self): diff --git a/Scripts/models/logit.py b/Scripts/models/logit.py index 68385921..2caa7e19 100644 --- a/Scripts/models/logit.py +++ b/Scripts/models/logit.py @@ -29,8 +29,7 @@ def __init__(self, zone_data, purpose, resultdata, is_agent_model): self.resultdata = resultdata self.purpose = purpose self.bounds = purpose.bounds - self.lbounds = purpose.lbounds - self.ubounds = purpose.ubounds + self.sub_bounds = purpose.sub_bounds self.zone_data = zone_data self.dest_exps = {} self.mode_exps = {} @@ -112,13 +111,12 @@ def _add_constant(self, utility, b): """ try: # If only one parameter utility += b - except ValueError: # Separate params for cap region and surrounding - if utility.ndim == 1: # 1-d array calculation - utility[self.lbounds] += b[0] - utility[self.ubounds] += b[1] - else: # 2-d matrix calculation - utility[self.lbounds, :] += b[0] - utility[self.ubounds, :] += b[1] + except ValueError: # Separate sub-region parameters + for i, bounds in enumerate(self.sub_bounds): + if utility.ndim == 1: # 1-d array calculation + utility[bounds] += b[i] + else: # 2-d matrix calculation + utility[bounds, :] += b[i] def _add_impedance(self, utility, impedance, b): """Adds simple linear impedances to utility. @@ -139,9 +137,9 @@ def _add_impedance(self, utility, impedance, b): for i in b: try: # If only one parameter utility += b[i] * impedance[i] - except ValueError: # Separate params for cap region and surrounding - utility[self.lbounds, :] += b[i][0] * impedance[i][self.lbounds, :] - utility[self.ubounds, :] += b[i][1] * impedance[i][self.ubounds, :] + except ValueError: # Separate sub-region parameters + for j, bounds in enumerate(self.sub_bounds): + utility[bounds, :] += b[i][j] * impedance[i][bounds, :] return utility def _add_log_impedance(self, exps, impedance, b): @@ -168,11 +166,10 @@ def _add_log_impedance(self, exps, impedance, b): for i in b: try: # If only one parameter exps *= numpy.power(impedance[i] + 1, b[i]) - except ValueError: # Separate params for cap region and surrounding - exps[self.lbounds, :] *= numpy.power( - impedance[i][self.lbounds, :] + 1, b[i][0]) - exps[self.ubounds, :] *= numpy.power( - impedance[i][self.ubounds, :] + 1, b[i][1]) + except ValueError: # Separate sub-region parameters + for j, bounds in enumerate(self.sub_bounds): + exps[bounds, :] *= numpy.power( + impedance[i][bounds, :] + 1, b[i][j]) return exps def _add_zone_util(self, utility, b, generation=False): @@ -196,15 +193,13 @@ def _add_zone_util(self, utility, b, generation=False): for i in b: try: # If only one parameter utility += b[i] * zdata.get_data(i, self.bounds, generation) - except ValueError: # Separate params for cap region and surrounding - data_cap_region = zdata.get_data(i, self.lbounds, generation) - data_surrounding = zdata.get_data(i, self.ubounds, generation) - if utility.ndim == 1: # 1-d array calculation - utility[self.lbounds] += b[i][0] * data_cap_region - utility[self.ubounds] += b[i][1] * data_surrounding - else: # 2-d matrix calculation - utility[self.lbounds, :] += b[i][0] * data_cap_region - utility[self.ubounds, :] += b[i][1] * data_surrounding + except ValueError: # Separate sub-region parameters + for j, bounds in enumerate(self.sub_bounds): + data = zdata.get_data(i, bounds, generation) + if utility.ndim == 1: # 1-d array calculation + utility[bounds] += b[i][j] * data + else: # 2-d matrix calculation + utility[bounds, :] += b[i][j] * data return utility def _add_sec_zone_util(self, utility, b, orig=None, dest=None): @@ -344,8 +339,8 @@ def calc_individual_prob(self, mod_mode, dummy): try: self.mode_exps[mod_mode] *= numpy.exp(b) except ValueError: - self.mode_exps[mod_mode][self.lbounds] *= numpy.exp(b[0]) - self.mode_exps[mod_mode][self.ubounds] *= numpy.exp(b[1]) + for i, bounds in enumerate(self.sub_bounds): + self.mode_exps[mod_mode][bounds] *= numpy.exp(b[i]) mode_expsum = numpy.zeros_like(self.mode_exps[mod_mode]) for mode in self.mode_choice_param: mode_expsum += self.mode_exps[mode] @@ -399,8 +394,9 @@ def calc_individual_mode_prob(self, is_car_user, zone): # Convert utility into euros money_utility = 1 / b except TypeError: - # Separate params for cap region and surrounding - money_utility = 1 / b[0] if self.lbounds.stop < zone else 1 / b[1] + # Separate sub-region parameters + money_utility = (1 / b[0] if self.sub_bounds[0].stop < zone + else 1 / b[1]) money_utility /= self.mode_choice_param["car"]["log"]["logsum"] accessibility = -money_utility * logsum return probs, accessibility diff --git a/Scripts/parameters/impedance_transformation.py b/Scripts/parameters/impedance_transformation.py index 7831f873..89a3b20a 100644 --- a/Scripts/parameters/impedance_transformation.py +++ b/Scripts/parameters/impedance_transformation.py @@ -1,8 +1,18 @@ ### IMPEDANCE TRANSFORMATION PARAMETERS ### -trips_month = { - "transit_work": (60.0, 44.0), - "transit_leisure": (30.0, 30.0), +transit_trips_per_month = { + "metropolitan": { + "work": (60.0, 44.0), + "leisure": (30.0, 30.0), + }, + "peripheral": { + "work": (44.0,), + "leisure": (30.0,), + }, + "all": { + "work": (60.0, 44.0), + "leisure": (30.0, 30.0), + }, } impedance_share = { diff --git a/Scripts/parameters/zone.py b/Scripts/parameters/zone.py index b3231310..b1a87101 100644 --- a/Scripts/parameters/zone.py +++ b/Scripts/parameters/zone.py @@ -93,6 +93,15 @@ "area": "all", }, ) +# Tour purpose zone intervals +# Some demand models have separate sub-region parameters, +# hence need sub-intervals defined. +purpose_areas = { + "metropolitan": (0, 6000, 16000), + "peripheral": (16000, 31000), + "all": (0, 6000, 31000), + "external": (31031, 40000), +} areas = { "helsinki_cbd": (0, 999), "helsinki_other": (1000, 1999), diff --git a/Scripts/tests/unit/test_logit.py b/Scripts/tests/unit/test_logit.py index 07555b95..74bc1652 100644 --- a/Scripts/tests/unit/test_logit.py +++ b/Scripts/tests/unit/test_logit.py @@ -45,8 +45,7 @@ class Purpose: }, } pur.bounds = slice(0, 9) - pur.lbounds = slice(0, 7) - pur.ubounds = slice(7, 9) + pur.sub_bounds = [slice(0, 7), slice(7, 9)] pur.zone_numbers = METROPOLITAN_ZONES for i in ("hw", "hc", "hu", "hs", "ho"): pur.name = i diff --git a/Scripts/transform/impedance_transformer.py b/Scripts/transform/impedance_transformer.py index 3691402f..3304edc2 100644 --- a/Scripts/transform/impedance_transformer.py +++ b/Scripts/transform/impedance_transformer.py @@ -1,7 +1,7 @@ from collections import defaultdict import numpy -from parameters.impedance_transformation import impedance_share, divided_classes, trips_month +import parameters.impedance_transformation as param from parameters.assignment import assignment_classes @@ -32,9 +32,10 @@ def transform(self, purpose, impedance): cols = (purpose.bounds if purpose.name == "hoo" else slice(0, purpose.zone_data.nr_zones)) day_imp = {} + impedance_share = param.impedance_share for mode in impedance_share[purpose.name]: day_imp[mode] = defaultdict(float) - if mode in divided_classes: + if mode in param.divided_classes: ass_class = "{}_{}".format( mode, assignment_classes[purpose.name]) else: @@ -47,9 +48,11 @@ def transform(self, purpose, impedance): day_imp[mode][mtx_type] += share[0] * imp[rows, cols] day_imp[mode][mtx_type] += share[1] * imp[cols, rows].T # transit cost to eur per day - transit_class = "{}_{}".format("transit", assignment_classes[purpose.name]) + trips_month = (param.transit_trips_per_month + [purpose.area][assignment_classes[purpose.name]]) trips_per_month = numpy.full_like( - day_imp["transit"]["cost"], trips_month[transit_class][0]) - trips_per_month[purpose.ubounds, :] = trips_month[transit_class][1] + day_imp["transit"]["cost"], trips_month[0]) + for i in range(1, len(purpose.sub_bounds)): + trips_per_month[purpose.sub_bounds[i], :] = trips_month[i] day_imp["transit"]["cost"] /= trips_per_month return day_imp