Skip to content

馃Ч Chore: Remove County Groups in MAZ Assignment#218

Description

@i-am-sijia

The goal is to remove the county grouping in MAZ assignment. So that the code base and model config can be simpler.

In TM2.2.1.4, MAZ assignment divides nine counties into three county groups, and performs assignment within each county group.

in highway_maz.py:

for i, names in county_groups.items():
maz_ids = self._get_county_mazs(names)
if len(maz_ids) == 0:
self.logger.log(
f"warning: no mazs for counties {', '.join(names)}"
)
continue
self._process_demand(time, i, maz_ids)

in model_config.toml:

        [[highway.maz_to_maz.demand_county_groups]]
            number = 1
            counties = ["San Francisco", "San Mateo", "Santa Clara"]
        [[highway.maz_to_maz.demand_county_groups]]
            number = 2
            counties = ["Alameda", "Contra Costa"]
        [[highway.maz_to_maz.demand_county_groups]]
            number = 3
            counties = ["Solano", "Napa", "Sonoma", "Marin"]

This was inherited from TM2.1 which may be a workaround due to CUBE limitations, i.e., it may be inefficient to assign all MAZs in one go in CUBE. But with EMME, this is not a problem.

In task order 7, we've tested keeping all nine counties in just one county group for MAZ assignment. It went through without significant changes in runtime. Work done in #215.

in model_config.toml:

        [[highway.maz_to_maz.demand_county_groups]]
            number = 1
            counties = ["San Francisco", "San Mateo", "Santa Clara", "Alameda", "Contra Costa", "Solano", "Napa", "Sonoma", "Marin"]

The natural next step is to get rid of the county group entirely, so that we can simplify the code base.

Progress:

  • Sufficiently defined
  • Approach decided
  • Implemented

Considerations

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    choreoverhead: doesn't add additional functionality, change performance, or refactor code

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions