Why I Am Giving Away QRS II

QRS II was never about making money. I initially developed the software with a federal grant to my university, and I was perfectly willing in 1987 to give the software away through the McTrans Center. It was only the decision by the Reagan Administration to kill distribution of QRS II that prompted Shirley and me to begin selling it ourselves, since no other outlet was available. QRS II was a big help to me in my career as a university professor. Not only did it give me some notoriety, but it served as a test bed for many of my research ideas. That synergy ceased when I retired from academia almost 8 years ago. 

There have been 9 major versions of QRS II, 8 major versions of GNE and many more minor releases. Each version became increasingly difficult to distribute without fear of introducing errors into people’s forecasts. QRS II, by itself, has about 90,000 lines of tightly integrated code, so even small modifications could have serious ramifications in unexpected places. It has lately been difficult to ensure backward compatibility as new features have been introduced. The anxiety of messing up while adding more functionality to QRS II has become too great for me to continue extensive code development.  

That said, I believe that QRS II is an excellent choice for travel forecasts in 85% of all agencies in the US and most of the rest of the world, since it robustly implements the standard trip-based travel model. It needs to continue to be distributed. Making it free should help get the product into the hands of people needing it most. 

I briefly considered making QRS II open source, but there are difficulties with this idea. The internal documentation is sparse, and QRS II requires an expensive Pascal compiler, Delphi. There is an open-source Pascal compiler, but QRS II would need vast revisions to work with it. In addition, some sections of code are optimized so extensively for speed of execution that the logic would be exceedingly difficult for an outsider to untangle. 

I want to make sure that anyone getting a copy of QRS II and GNE can be contacted should bugs or other issues come to light. I am asking everyone who downloads the software to register their copies by giving me (and me alone) their names, email addresses, and organizations. I have always protected the identities of QRS II users, and I will continue to do so in the future. 

To streamline things, there now will be only one edition of QRS II — 6000 zones and 64 bits. These were the dimensions of the largest and most powerful edition sold, previously. With a maximum limit of 100,000 highway links and similarly proportioned transit networks, it is possible to build some truly humongous travel models and dynamic traffic assignments. 

If you are wondering whether QRS II could be made even larger, it could with little more effort than a flick of the wrist. The 6000-zone limit was chosen, at the time, to match the largest travel models being developed, but those models were too big for many of the PCs being sold then, thus the need for smaller editions. With 64 bits and oodles of RAM, computer size is no longer an issue. However, not every QRS II feature has been tested to the full limits of the software. I seriously doubt that anybody would want to attempt a synthetic dynamic OD table estimation on a network of a size anywhere near QRS II’s maximums. 

I am feeling great physically, if you are wondering. My actions are not motivated by health concerns, although my bout with COVID-19 early in the pandemic reminded me of the fragility of life. It’s better to do something too soon than to regret not doing it at all when it is too late. 

I do plan to remain actively involved with the software. There may be needs for fixes, customizations, advice, and training. 

Software, I have discovered, is not like a book. A book can be placed in a library where anybody, now and in the future, can read it. Software needs to be downloadable, maintained, and actively used to be properly appreciated. 

It may be timely now to acknowledge those people who helped launch QRS II, way back when. Dane Ismart and Lee Chimini, who died in 2018, championed the idea within FHWA. Anand Pithavadian, who died in 2017, was my co-author on the original MS-DOS version of GNE. Of course, there were the many students at UWM and the many QRS II users who kept me motivated to keep enhancing the software. Thank you all. 

Alan Horowitz, Whitefish Bay, March 6, 2022