We are attempting to create a network with a variety a of impedance attributes that are quite similar, but with a varying constant that is input to a formula. To do this we are making impedance attributes, then varying the constant for each attribute, from 0 to 100 in increments of 10. In total (with other attributes on the network) there are 86 impedance attributes/restrictions.
We started off with the attribute calculation in Python. The bug is that Network Analyst seems to seriously mess up the calculation - see attached image, where the left land part shows the values calculated for a link by NA (R_000 through to R_100, while the right hand part shows the values calculated for the same link directly in Python (with 0.0 equivalent to R_000 and 1.0 equivalent to R_100, and intermediate values).
NA has calculated the first value correctly, but the second value (R_010) is incorrectly calculated as 0, then the following results are somehow shifted - the result that should be for R_010 has been assigned to R_020, and so on, with the value of R_100 having the value that should belong to R_090. Over numerous trial and error iterations the issue/offset is inconsistent - in some builds there might be multiple attributes affected, rather than just one, and the actual effect can vary, from the erroneous values being set to 0 or being set to some other, but incorrect value, such as 5.321651
Moving the calculations from Python to VBS did not alter the issue. The only solution we have found is to create/edit the desired attributes, build the network, then add a pointless additional attribute with constant value, i.e. 0, and then build the network again.