Cube Analyst Drive

Cube Analyst Drive Release Summary
Cube Analyst Drive Release Summary
Citilabs®
Cube Analyst Drive
Release Summary
This section documents changes included in each release of Cube
Analyst Drive. You may review:
Citilabs, Inc.
612 S Copeland Street
Tallahassee FL 32304 USA
www.citilabs.com
•
Version 1.5.14
•
Version 1.5.6
•
Version 1.5.4
•
Version 1.3.1
•
Version 1.2.9
•
Version 1.2.7
•
Version 1.1.15
•
Version 1.1.14
•
Version 1.1.5
•
Version 1.1.2
•
Version 1.1.1
•
Version 1.1.0
•
Version 1.0.14
•
Version 1.0.12
•
Version 1.0.11
Copyright © 2007–2015 Citilabs, Inc. All rights reserved.
Citilabs is a registered trademark of Citilabs, Inc. All other brand names and product
names are trademarks, registered trademarks or trade names of their respective
holders.
Citilabs has carefully reviewed the accuracy of this document, but shall not be held
responsible for any omissions or errors that may appear. Information in this
document is subject to change without notice.
Version 1.5.14
September 22, 2016
Version 1.5.14
Version 1.5.14
•
Fix for issue with temp array being overwritten
•
Updated print statements
•
Fix for crash issue with '.' In file paths
•
Fix for issue when packet log files produce NAN probabilities
2 Cube Analyst Drive Release Summary
Version 1.5.6
Version 1.5.6
•
Fixed the ICP file read for PT. The file was read incorrectly if
there were zero proportion screen lines present, which caused
a crash.
•
Updated the extended search algorithm, the extended search
will be terminated after the first 10 iterations.
•
Updates to convergence criteria in early iterations.
Cube Analyst Drive Release Summary
3
Version 1.5.4
Version 1.5.4
•
Analyst Drive 1.5.4 uses a 64-bit compatible code. It can handle
large networks and complex optimization problems since it
does not have restrictions on memory usage.
•
Updated system error code reporting.
•
Added FILE_ERROR=203 - Registry key not found.
•
Added FILE_ERROR=124 - No non-zero screen line values in the
screen line file.
•
Added FILE_ERROR=107 - Can't read PKTLNG value from packet
log file.
•
Added FILE_ERROR=29 - Error reading trip end file.
•
Added FILE_ERROR=25 - Error reading the input warm start turn
choice matrix.
•
Added FILE_ERROR=26 - Insufficient memory to use
MEMOPT2=T option. The user should set MEMOPT2=F and try
the estimation again.
•
New options MEMOPT1 and MEMOPT2 which tells the program
to use a new all memory version of the packet log file processor
and also uses the bucket sort subroutine which has been
disabled as it requires a substantial amount of memory.
MEMOPT1 option requires the user to have at least
12*NPKT(PKTLNG+2) bytes of available memory, NPKT and
PKTLNG are defined in the packet log file header. MEMOPT2
requires 12*I*J*D*K*T bytes of memory.
•
Fixed an error in the file based packet log processor which
incorrectly processed certain packets to indicate they matched
a turn count set. If the last traversal line of a packet contained
the first two nodes of the turn it was included even though it
did not complete the turn with the third node because there
was no subsequent line to process.
•
Updates to wording of cost reporting after the final iteration to
avoid confusion in interpreting print file.
4 Cube Analyst Drive Release Summary
Version 1.5.4
•
New MPIWILD parameter - allows user to define the root drive
for when running MPI on distributed cluster. Allows the use of a
wildcard character in the drive name.
•
Updated to use 8 byte integers for some internal variables in all
subroutines. This is necessary for dealing with large ICP files
exceeding the 4 byte integer number of entries.
•
Added MPICTLF parameter, this allows the user to specify a
separate directory for the control file if using MPIWILD and the
control file is not located on the same drive as the Cube
installation.
•
Bug Fix for running multiclass static estimation with the
options CONFMAT=T and USECONF=F. This combination failed
to iterate through classes when building input matrix files
causing the first file to be rewritten for each class and hence the
successive class matrices were left empty.
•
Fixed a bug occurring when performing static multiclass
estimation with MPI. In this case it was possible for master
process to attempt to write the final output matrix before one
(or more) of the slave processes was finished converting an
individual text output matrix to Cube format, causing the
master process to throw FILE_ERROR=194 illegal storage access.
•
Full partial trip dynamic estimation capabilities for using
Bluetooth and other detector/survey data. The resource file has
been updated to make room for the addition of partial trip data
files thus altering the max number of classes that can be
estimated due to the 80 file limit imposed by the resource file.
The number of input static files was reduced to make room for
more dynamic files, previous limits were Static=20 and
Dynamic=8, new limits are Static=15 and Dynamic=10.
•
The CONTCONF option has been updated to be set to true by
default.
•
Added an option MPILOCAL. If MPILOCAL is set to true the setup
program will add the MPI command line option -local root to
the mpiexec call. This suppresses the password requirement on
Cube Analyst Drive Release Summary
5
Version 1.5.4
a local machine when launching more than one process (e.g.
MPICORES > 1) but will still require a password on the first use
when running on a distributed memory system.
•
Fixed a bug in the gradient calculation procedure.
•
Fixed a bug related to dynamic turn counts.
•
Updated to use the high screen line number from the screen
line file instead of the ICP file.
•
Updated the report file to more accurately describe results
based on what is happening in the dynamic estimation process
by reporting results based on adjusted observed counts rather
than adjusted simulated volumes when doing warm start
estimation.
•
Fix for TPWGHTI parameter where the incorrect values are
passed to the program.
•
Fix for MATWGHT parameter where the incorrect values are
passed to the program.
•
Fixed error in cost function evaluation which always used the
scaled version for the background term contribution during
static estimation... this has been fixed to use the appropriate
scaled or unscaled depending on the program option. This fix
could lead to solution changes from previous versions in all
static estimation problems.
•
Fixed a bug in multiclass estimation where updating the count
vectors for zero proportion screen line values could lead to
overwriting the end of some temp vectors when calculating
multiclass sums which lead to the program crashing.
•
Added "Final" cost and RMSE after "Last Iteration" cost and
RMSE in the print file for clarification.
•
Added statements to the print file for static estimation
describing the trip end and background term contributions to
the cost function in order to provide the user with a sense of
scale when selecting the weighting parameters.
6 Cube Analyst Drive Release Summary
Version 1.5.4
•
Fixed an error present when using both turning counts and
screen line counts simultaneously in dynamic estimation. In
this case, after processing the packet file to produce the screen
line route choice matrix the program was double counting OD
totals when it next went to process the turn route choice
matrix. This caused the turn choice matrix values to be half of
their correct values.
•
Updated parallelization scheme for dynamic estimation for
bigger optimization problems. This should lead to substantial
speed up for large problems using more than 3 cores.
Cube Analyst Drive Release Summary
7
Version 1.3.1
Version 1.3.1
Fixed a bug present in aggregate static estimation where a
misalignment of data occurred in the presence of zero proportion
screenlines for multiple consecutive user classes when the last zero
proportion screenline number for a particular class was less than
the first zero proportion screenline of the class which immediately
followed it.
8 Cube Analyst Drive Release Summary
Version 1.2.9
Version 1.2.9
Fixed a bug where TRWGHTI was used where TRWGHTJ should have
been in the gradient calculation.
Cube Analyst Drive Release Summary
9
Version 1.2.7
Version 1.2.7
Updated to use 8 byte integers for the variables nzA, IJVALS and
rowends in all subroutines. This is necessary for dealing with large
ICP files exceeding the 4 byte integer number of entries.
10 Cube Analyst Drive Release Summary
Version 1.1.15
Version 1.1.15
Fixed a bug occurring when performing static multiclass estimation
with MPI. In this case it was possible for process 0 to attempt to
write the final output matrix before one (or more) of the slave
processes was finished converting an individual text output matrix
to Cube format. This caused the master process to throw FILE
ERROR=194 for illegal storage access.
Cube Analyst Drive Release Summary
11
Version 1.1.14
Version 1.1.14
Bug Fix for running multiclass static estimation with the options
CONFMAT=T and USECONF=F. The code section for this option
combination failed to iterate through classes when building input
matrix files causing the first file to be rewritten for each class and
hence the successive class matrices were left empty.
12 Cube Analyst Drive Release Summary
Version 1.1.5
Version 1.1.5
Fixed FILE ERROR=107, it was mistakenly reporting back FILE
ERROR=105.
Cube Analyst Drive Release Summary
13
Version 1.1.2
Version 1.1.2
Fixed an error present when using both turning counts and
screenline counts simultaneously in dynamic estimation. In this
case, after processing the packet file to produce the screenline
route choice matrix the program was double counting OD totals
when it next went to process the turn route choice matrix. This
caused the turn choice matrix values to be half of their correct
values.
14 Cube Analyst Drive Release Summary
Version 1.1.1
Version 1.1.1
Fixed an overflow problem in the bucket sort algorithm where high
position numbers required 8 byte integers.
Cube Analyst Drive Release Summary
15
Version 1.1.0
Version 1.1.0
Two typos were found in the resource file, first the TRWGHTI was
incorrectly spelled TPWGHTI so if the user ever set this parameter it
was never actually passed through to the program, if this
parameter is used now the user may see a di?erent solution.
Second, the MATWGHT parameters default value was listed
incorrectly in the resource file, it should be 0.1 and not 1. Users will
see no change in their solutions, but may notice odd behavior if
experimenting with the MATWGHT parameter in the old version
since entering 0.1 will give the same solution as the perceived
default of 1, and e.g. 1.0000000001 may give a much di?erent
solution depending on the problem. This version includes several
other bug fixes 1) TRWGHT values were being incorrectly passed as
1, and not the default of 100. 2) It was discovered that he gradient
contribution from the trip end data was commented out in the
code during testing some time ago and never uncommented... this
has been corrected. From 1) and 2), users estimating with trip end
data may see di?erences in their estimated solutions with the new
version. 3) Fixed error in cost function evaluation which always
used the scaled version for the background term contribution
during static estimation... this has been fixed to use the appropriate
scaled or unscaled depending on the program option. This fix
could lead to solution changes from previous versions IN ALL static
estimation problems. 4) Fixed a bug in multiclass estimation where
updating the count vectors for zero proportion screenline values
could lead to overwriting the end of some temp vectors when
calculating multiclass sums which lead to the program crashing.
16 Cube Analyst Drive Release Summary
Version 1.0.14
Version 1.0.14
Fixed an issue where the MPICORES parameter was not being
passed properly.
Cube Analyst Drive Release Summary
17
Version 1.0.12
Version 1.0.12
Fixed a bug which appeared when using turncounts and
screencounts simultaneously AND when needing to reshape arrays
to account for zero proportion screenline values. In this case the
turncounts array was allocated an incorrectly sized chunk of
memory that could cause other arrays to be overwritten. Also fixed
a bug where the memopt button was causing crashes in Task
Manager, memopt button is essentially ignored now.
18 Cube Analyst Drive Release Summary
Version 1.0.11
Version 1.0.11
Fixed a bug related to dynamic turncounts. In certain cases where
AD needed to reshape the turncount array to properly align the
input data for sparse matrix calculations, the allocation size was
incorrectly set to use the screencount size which might have
caused errors that could have gone unnoticed, but depending on
the situation may or may not have affected the solution. In the case
that the problem only used turncounts, the allocation size was zero
and thus threw a FILE_ERROR=194 for illegal storage access when
attempting to redefine the turncount array.
Cube Analyst Drive Release Summary
19
Version 1.0.5
Version 1.0.5
Fixed a bug where a section of code in the dynamic estimation
routine was not thread safe, and could lead to substantially
di?erent solutions when using NCORES > 1.
20 Cube Analyst Drive Release Summary
Version 1.0.3
Version 1.0.3
Made change to use the high screenline number from the
screenline file instead of the ICP file for static estimation. The
HIGHSL value in the ICP file is actually the total number of
independent screenlines present in the file and not the high value,
so if there were gaps in screenline numbers this was not correct
and caused an illegal storage access crash when running problems
with gaps in the numbers, or those that started with an offset
number.
Cube Analyst Drive Release Summary
21
Version 1.1.3
Version 1.1.3
•
Added new program parameter:

MPIWILD — Wildcard value for the drive name when doing
an MPI run on a distributed memory cluster. This will allow
all nodes employing MPI processes to share the same drive.
•
Added new program options:

MEMOPT1 — Perform level-1 memory optimizations for
dynamic estimation. Enabling this option allows the packet
log file to be processed in memory which is substantially
faster than file-based processing, but may require a large
amount of memory.

MEMOPT2 — Perform level-2 memory optimizations for
dynamic estimation. Enabling this option allows the Cube
Analyst Drive program to use a faster algorithm for
processing the route choice matrix, but requires a
substantial amount of memory.
•
Added new error codes:

FILE_ERROR = 25 — Error reading the input warm start turn
choice matrix.





•
FILE_ERROR = 26 — Insufficient memory to use
MEMOPT2=T option. The user should set MEMOPT2=F and
try the estimation again.
FILE_ERROR = 29 — Error reading trip end file.
FILE_ERROR = 107 — Cannot read PKTLNG value from
packet log file.
FILE_ERROR = 124 — No nonzero screenline values in the
screenline file.
FILE_ERROR = 203 — Registry Key Not Found.
Updated system error code reporting: If the main program has a
nonzero exit status from the system call, the program will
report the Windows System Error code to the print file along
with the Analyst Drive FILE_ERROR code of 199 (unexpected
crash).
22 Cube Analyst Drive Release Summary
Version 1.1.3
•
Enhancement to the parallelization scheme for dynamic
estimation, leading to substantial performance improvements
when using more than 3 cores on large problems
•
Parameters TRIPWGHTI and TRIPWGHTIJ are now listed as
TRWGHTI and TRWGHTJ in the documentation to correctly
match the resource file. An error which caused the default
values of 100 for each parameter to be incorrectly passed as 1
has been fixed. A typo in the resource file which listed TRWGHTI
as TPWGHTI — and which would have prevented the TRWGHTI
parameter from being passed correctly to the program — has
also been fixed.
•
The parameter MATWEIGHT is now correctly listed as
MATWGHT in the documentation to match the resource file.
Additionally, a typo in the resource file which incorrectly listed
its default value as 1.0 has been corrected to reflect the true
value of 0.1.
•
A change in static estimation so it uses the high screenline
number from the screenline file, instead of HIGHSL from the ICP
file. HIGHSL is actually the total number of independent
screenlines present in the file and not the high value, so if there
are gaps in screenline numbers this was not correct.
•
Fixed an error in the file-based packet log processor which
incorrectly processed certain packets to indicate they matched
a turn count set.
•
An issue was found where the the gradient contribution from
the trip end data was not properly factored; this has been
corrected.
•
Fixed an error in cost function evaluation. The function has been
corrected to use the appropriate scaled or unscaled term
depending on the program option. This fix could lead to
solution changes from previous versions in all static estimation
problems.
•
Fix for a crash in multiclass estimation.
Cube Analyst Drive Release Summary
23
Version 1.1.3
•
Fix for an error present when using both turning counts and
screenline counts simultaneously in dynamic estimation,
causing the turn choice matrix values to be half of their correct
values.
•
Fix for minor inconsistencies in Static Estimation outputs
between 1 and 2+ cores
•
Enhancements to print file:

Added "Final" cost and RMSE after "Last Iteration" cost and
RMSE in the print file for clarification. The last iteration cost
is not necessarily the final cost.

Added statements for static estimation describing the trip
end and background term contributions to the cost
function. This provides the user with a sense of scale when
selecting the weighting parameters.
24 Cube Analyst Drive Release Summary
Version 1.0.2
Version 1.0.2
Cube Analyst Drive 1.0.2 includes:
•
A fix in dynamic estimation. Previously, packet weights in the
packet log file less than 1 would be read as 0. These packet
weights are now read correctly.
•
Revision to format of General dynamic OD matrix file and
General dynamic count file. See “General dynamic count files”
on page 49. Each has a new column for the confidence value.
•
The PREPSL option has been removed.
•
Addition of FILE_ERROR codes 19, 92, 43, 44, 93, 106 and
190-195; removal of code 60. See “File error codes” on page 84.
•
A program crash when using the GUI 'memory' button, causing
the program to crash immediately, has been fixed
•
MPI

Fix for an MPI hang when there was an error reading the
control file by the master process. The error was not
communicated to other processes and so the program
'terminated' but the cmd window stayed open indefinitely
as the other processes waited for a signal.

Fix for an MPI error when reporting to the print file
•
Fix for the CNTCONF option. Previously it was was always used
in single class static estimation, even if not chosen.
•
More specific reporting of system errors caught by the signal
handler (and added system signal handles to the calling
program as well)
•
Added some more thorough checks for incorrect / missing data
Cube Analyst Drive Release Summary
25
Version 1.0.0
Version 1.0.0
•
Cube Analyst Drive Version 1.0.0 is the first official release. It
provides Cube users with the ability to perform dynamic OD
matrix estimation and to perform static OD estimation on large
networks.
26 Cube Analyst Drive Release Summary
Version 1.0.0
•
Version 1.0.5
•
Version 1.0.3
Cube Analyst Drive Release Summary
27
Technical support and software updates
Technical support and software updates
This section describes technical support options:
•
Annual maintenance contract
•
Technical support
•
Software update
Annual maintenance contract
Citilabs combines the services of technical support and software
updates into one software maintenance service contract. Clients
wishing to receive software maintenance services are encouraged
to purchase an annual contract. These contracts may be purchased
at any time. However, an update fee will be charged if a client
wishes to resume the maintenance service that has been
discontinued for a period of time. Please contact your local
distributor or Citilabs for more information about the annual
maintenance contract.
Technical support
Citilabs attempts to provide timely answers to questions about the
behavior and performance of our software products covered under
a software maintenance contract. You can contact Citilabs using:
•
World Wide Web support
Submit your support query directly through our user support
form at:
http://www.citilabs.com/cubeoutputsupportform.html
Submitting your support query through our Web-based
support form allows your support request to enter our support
request tracking and response system, where we assign it a
tracking number and a support staff member for response.You
28 Cube Analyst Drive Release Summary
Technical support and software updates
may also access the support form directly from the Help menu
in Cube by selecting the ‘Submit Support Request to Citilabs’
item.
Citilabs maintains a World Wide Web site (www.citilabs.com)
that hosts a variety of pages with up-to-date information about
our products. Answers to general technical support questions
will be posted on the Frequently Asked Questions (FAQ) pages
as well. A direct link to the Citilabs home page is provided
under the Help menu.
Citilabs maintains and monitors a user group at (http://
citilabs.com/usergroup/). This site provides a forum for product
users to post questions and get answers and information from
other users as well as Citilabs staff. Notices for training and
workshop events or other special Citilabs events are also
posted to the user group. There is a Files area for the group to
post examples and share information. Citilabs staff and clients
have posted a number of useful example scripts to the files area
of the group.
•
E-mail support
Clients who licensed Citilabs software through a local
distributor should e-mail support questions to the distributor.
A current list of distributors can be found at http://
www.citilabs.com/about-us/contact-citilabs
Clients who licensed Citilabs software directly from Citilabs
should submit support queries using the web based support
form described above. If you have problems accessing the Web
submission form, then you may e-mail support questions
including license number to [email protected].
Please do not send e-mail with large attachments (greater than
5 MB). Large attachments that need to be transmitted to
Citilabs as part of a technical support issue should be uploaded
to the Citilabs file transfer site (FTP). Detailed instructions for
accessing the company FTP site are available at http://
community.citilabs.com/citilabs/topics/ftp_site_information.
Cube Analyst Drive Release Summary
29
Technical support and software updates
Software update
You can update Cube Analyst Drive in one of two ways:
•
Replacement DVD
•
Citilabs Web site
A replacement DVD, with the latest version of Cube Analyst Drive,
will be sent to a client upon the renewal of the annual maintenance
contract. Clients should re-install Cube Analyst Drive from the
replacement DVD to update the software as well as the
maintenance contract expiration date.
Software updates can also be done from the Citilabs Web site
(www.citilabs.com). Detailed instructions for Web-updating Cube
Analyst Drive are available at www.citilabs.com. A current
maintenance contract is required for web update.
WARNING: Do not attempt to update your software if your
maintenance contract has expired, or you did not update the
maintenance contract expiration date by re-installing from the
replacement DVD. It will render your system inoperable.
From the Help menu, choose Check for Update to check for newer
versions of the software on the Citilabs Web site. If a newer version
is found, the program will display the version number and date of
the new version. If your software has a current maintenance
contract, the software will provide an option to go to the download
page where you can download the latest version.
This program can also be set to automatically check for new
updates once a month if an internet connection is available. This
option can be turned on and off on the check update screen.
30 Cube Analyst Drive Release Summary