27: MTC Shared Ride - Private Auto Nested Mode Choice

m = larch.example(17)

Model 27’s nesting structure groups private auto and shared ride alternatives. (pp. 182)

shared = m.graph.new_node(parameter='mu_shared', children=[2,3], name='Shared')
private_auto = m.graph.new_node(parameter='mu_auto', children=[1,shared], name='Private_Auto')

m.unmangle(True)
m.set_value('mu_auto',maximum=2.0)
m.ordering = (
        ("CostbyInc","costbyincome",),
        ("TravelTime",".*time.*",".*dist.*", ),
        ("Household","hhinc.*","vehbywrk.*",),
        ("Zonal","wkcbd.*","wkempden.*",),
        ("ASCs","ASC.*",),
)
>>> m.load_data()
>>> m.maximize_loglike()
┣ ...Optimization terminated successfully...
>>> m.loglike()
-3440.225...

>>> print(m.pfo()[['value','initvalue','nullvalue','minimum','maximum','holdfast']])
                                 value  initvalue  nullvalue  minimum  maximum  holdfast
Category   Parameter
CostbyInc  costbyincome        -0.0589        0.0        0.0     -inf      inf         0
TravelTime motorized_time      -0.0188        0.0        0.0     -inf      inf         0
           nonmotorized_time   -0.0459        0.0        0.0     -inf      inf         0
           motorized_ovtbydist -0.1364        0.0        0.0     -inf      inf         0
Household  hhinc#4             -0.0045        0.0        0.0     -inf      inf         0
           hhinc#5             -0.0075        0.0        0.0     -inf      inf         0
           hhinc#6             -0.0051        0.0        0.0     -inf      inf         0
           vehbywrk_BIKE       -0.6084        0.0        0.0     -inf      inf         0
           vehbywrk_SR         -0.5176        0.0        0.0     -inf      inf         0
           vehbywrk_TRANSIT    -0.8749        0.0        0.0     -inf      inf         0
           vehbywrk_WALK       -0.6102        0.0        0.0     -inf      inf         0
Zonal      wkcbd_BIKE           0.5282        0.0        0.0     -inf      inf         0
           wkcbd_SR2            1.7365        0.0        0.0     -inf      inf         0
           wkcbd_SR3           -2.5741        0.0        0.0     -inf      inf         0
           wkcbd_TRANSIT        1.3885        0.0        0.0     -inf      inf         0
           wkcbd_WALK           0.1196        0.0        0.0     -inf      inf         0
           wkempden_BIKE        0.0024        0.0        0.0     -inf      inf         0
           wkempden_SR2         0.0039        0.0        0.0     -inf      inf         0
           wkempden_SR3         0.0013        0.0        0.0     -inf      inf         0
           wkempden_TRANSIT     0.0036        0.0        0.0     -inf      inf         0
           wkempden_WALK        0.0034        0.0        0.0     -inf      inf         0
ASCs       ASC_BIKE            -1.8118        0.0        0.0     -inf      inf         0
           ASC_SR2             -1.5081        0.0        0.0     -inf      inf         0
           ASC_SR3              5.9822        0.0        0.0     -inf      inf         0
           ASC_TRANSIT         -0.8968        0.0        0.0     -inf      inf         0
           ASC_WALK            -0.1182        0.0        0.0     -inf      inf         0
Other      mu_auto              1.4779        1.0        1.0    0.001      2.0         0
           mu_shared           -4.6280        1.0        1.0    0.001      1.0         0