In the development of Release 4.0, a lot of effort went into enhancements related to the handling of matrices. Here a summary of the main points:
a) Different Number of Matrices per Type
Up to and including Release 3.0, when creating a data base the user had to specify one "number of matrices", which was then taken to be the maximal number of matrices of each type. Since full matrices are by far the most space critical, this usually implied an unnecessary restriction on the number of origin matrices, destination matrices and scalars. Release 4.0 overcomes this problem by allowing, for new data bases, the number of matrices to be specified independently for each type. The question "Enter: Number of matrices=" which is asked at data base creation time has been replaced by the question "Enter: Number of matrices mf, mo, mf, ms=". Thus, the user can now enter four numbers in answer to this question. If, as in previous releases, only one number is specified, it is taken to be the number of full matrices; in this case the number of matrices of the smaller types (mo, md and ms) defaults to the maximum of 99. This is justified by the small amount of storage required to store these matrices, as compared even to a single full matrix.
b) Accessing matrices by name
The "Enter: Matrix =" dialog has been extended to accept also the matrix name instead of the usual mtxx identifier. The following answers are now recognized:
m
txx
m
tname
When a new matrix is to be created, the formats m
tname and
m
t"name" are now also possible.
In this case, the first available number is automatically
assigned to the matrix and the subsequent "Enter: Matrix name="
question is skipped.
Note that the matrix naming rules
m\emph{tname} and \verb
m+t"name"
can also be used in the matrix batch entry format used in module 3.11.
c) Matrix protection flag
In order to minimize the risk of loosing valuable matrix information because of a manipulation error, a matrix protection flag is now associated with each matrix. By default this flag is off, i.e. the matrix can be written into or deleted as usual. A matrix can be protected from any write, modify or delete operation by setting its protection flag with a new option in module 3.12. The use of the "init" keyword in a matrix batch input file, as well as the option "initialize matrix directory" of module 3.12 will result in an error message if any of the existing matrices are protected - reducing even further the possibility of inadvertent data loss.
d) Incremental Matrix Batch Input Mode
In module 3.11, "Input Matrices Using Batch Entry", a new incremental input mode can be activated by specifying the "default=increment" on the matrix header card. If this mode is selected, the values on the data card do not replace the existing values in the matrix, but are added to them. This allows, amongst other things, to build up a matrix directly from survey data by directly entering the survey data in the format (from zone) (to zone) (count). After the input is completed, the resulting matrix contains the correctly accumulated trip counts.
e) New Dialog and Report in Matrix Calculator
I a first step to overhaul module 3.21, "Matrix Calculations", the dialog and report formats of this module have been improved. The matrix expression is now validated right after it has been entered. The report now lists all matrices used in the expression and a summary with minimum, maximum, sum and average expression value is displayed at the end, similar to the summary used in the network calculator. Here is an example of the new report format:
EMME/2 Module: 3.21 Date: 89 05 01 User: E001/SPIESS.....HS Page: 47 Project: EMME/2 STANDARD DEMONSTRATION AND TEST DATA BASE - WINNIPEG --------------------------------------------------------------------------------------------- MATRIX CALCULATIONS ******************* Expression: mf06 = .0964 * md26 - 2.665 * mo23 - .0236 * md25 + 2.696 Result matrix: mf06: sesum combined effect of socio-economic vars Data matrices: md26: parkco parking cost per month mo23: carown autos per worker md25: pmale percentage of males Constraint matrix: none Submatrix: all origins all destinations Number of expression evaluations: 23716 Minimum expression value: -4.515300 Maximum expression value: 3.556427 Average expression value: -.925468 Sum of expression values: -21948.400000
f) List several matrices
Often, it is necessary to compare or relate the values of different matrices for the same zones or OD-pairs. Up to now this was a cumbersome task, since each matrix had to be listed separately and the reports had to be scanned by hand to find the corresponding values for one OD-pair. In Release 4.0, a new type of report "list several matrices" has been added to module 3.14 to facilitate this kind of analysis. Up to 12 different matrices can be included in a single report. The following example shows auto demand, auto time, transit demand, transit time, as well as the different transit time components for each OD-pair:
EMME/2 Module: 3.14 Date: 89 05 01 User: E001/SPIESS.....HS Page: 92 Project: EMME/2 STANDARD DEMONSTRATION AND TEST DATA BASE - WINNIPEG --------------------------------------------------------------------------------------------- MATRICES BY ZONES ***************** Data matrices: mf01: wod76d/r 1976 observed auto demand (vehicles) mf04: autim0 auto times scenario 1000 mf02: gpqtr0/r transit demand dpr0000 mf12: trtim0 transit impedances scenario 1000 mf13: invtim invehicle times scenario 1000 mf14: auxtim auxiliary times scenario 1000 mf15: waitim waiting times scenario 1000 mf03: nboard no. of boardings scenario 1000 Constraint matrix: mf11: gtot total demand (mf1+mf2) Constraint interval: 10 9999 include Submatrix: all origins all destinations origin destin mf01 mf04 mf02 mf12 mf13 mf14 mf15 mf03 (p) (q) wod76d autim0 gpqtr0 trtim0 invtim auxtim waitim nboard 3 1 4 4.254 31.32 26.49 4.69 5.4 3 1 3 2 5 4.206 12.22 26.29 4.07 7.14 1.455 1 3 4 6 2.337 34.25 17.98 0 8.99 0 0 3 5 5 2.9 5.988 25.07 3.67 5.2 3 1 3 6 5 2.845 12.66 27.19 0 13.59 0 0 3 7 18 5.205 5.403 37.31 6.27 6.8 3.705 2 3 8 0 4.685 24.34 31.08 6.41 8.295 1.525 1 3 24 13 6.132 4.556 47.56 10.38 11.43 2.66 1.79 3 47 5 3.362 7.061 34.91 2.01 10.19 3.75 1 3 55 6 11.47 8.642 50.01 12.01 9.145 4.19 2.26 3 59 5 19.39 22.81 56.71 23.12 7.6 3.77 2.16 3 81 5 7.056 5.524 44.71 11.69 8.4 3.095 2 3 84 12 9.336 6.315 48.94 12.31 11.55 1.73 2 3 85 6 11.23 6.772 43.26 14.43 7.135 2.26 2 3 98 26 7.438 10.34 43.8 11.65 8.525 2.535 2 3 103 32 13.93 8.384 51 21 9.8 2.695 1 3 105 5 16.36 6.142 67.82 31.33 8.735 4.5 2 3 112 13 8.856 0 48.3 16.17 7.6 3.455 2 3 114 13 15.07 6.576 62.44 24.55 10.13 3.805 2 3 147 6 1.948 10.21 15.2 0 7.6 0 0
g) Other Enhancements