Problem with Matrices in GoldSim 10.5


Problem Associated with Manipulation of Matrices in GoldSim 10.5

An error has been found in GoldSim, related to changing the members of an array-label set that is used to define the rows or columns of a matrix.

The error occurs when:

  • A reference has been made to a row, a column, or a single item within a matrix-type output, using an expression such as: “M[Friday, *]” (which would reference the ‘Friday’ (sixth) row in a matrix), and
  • Subsequently the array-label set is edited so that the referenced row or column has a different ordinal value.  This would happen if an earlier entry in the set (e.g. ‘Thursday’) was deleted.

When this happens the originally-referenced row or column number (i.e. 6) is not automatically corrected to reflect its new value.  If the original row or column number is still valid then the model will still run, and will give incorrect results, as the wrong row or column will be accessed.

If this error has occurred in a model then in order to correct it you need to force GoldSim to reparse the input.  You can do this in two ways:

  1. Press Ctrl-Alt-Shift-F11, which will cause GoldSim to reparse every input in your model; or
  2. Edit the affected input expression in any way, such as by appending a space to it, which will force it to be reparsed.

Unfortunately there is no way to identify whether a model has been affected by this problem, other than to save its results, force a reparse, re-run it, and compare the new to the previous results.

This problem has been corrected in 10.5 SP3 (such that models created in that version or later will not contain the error).  However, if you open a model that was created in a version previous to 10.5 SP3, and that model contained this error, simply opening the model in 10.5 SP3 will not automatically correct the file.  To fix the problem, you must follow the directions above to reparse the model.  After doing so, the problem cannot reoccur.


Making Better Decisions In An Uncertain World