The Traveling Sales Rep Problem (Nov 11)

One of the classic problems in computer theory is easy to describe. Take a list of cities, and find the shortest route to visit them all.

It’s easy to calculate for a short tour, but hard when it gets bigger. In fact, the problem is NP-Hard. That means the math quickly gets out of hand as the numbers increase. A PC with a clever algorithm can calculate the path for 10 cities in an instant. For 20 cities, it might need a few minutes. 30 cities will run for a week. 40 cities, half a century. 68 cities, more than the age of the universe.

A supercomputer will do the math faster, but it only adds a few extra cities before hitting the wall.

Fortunately, at TurtleSoft we rarely face NP-Hard problems. Our code mostly does basic math, and moves stuff between the screen and the hard drive. The fanciest data in our accounting software is some binary trees in the record index. Even those are the simplest possible trees.

Meanwhile, the end game for the new accounting software is well underway. We recorded a couple videos. A few dozen more bugs are fixed.  100+ web pages are modernized.

It would be nice if we could just check things off from a list, and know how far along we are. Ideally, calculate % completion and report it here. Goldenseal does that for construction work.

Alas, this project is not that simple. The final stage is a diffuse task: web pages, data classes, testing, deep dives into old code. Everything is interconnected. It’s a cross between the traveling sales rep and a scavenger hunt. Maybe not NP-Hard, but still hard to grasp.

The TurtleSoft website probably is the best tool to organize final testing. The Answers button has everything in alphabetic order, at least.

Problem is, the site has evolved over the years. The current version is a mess of different styles and origins. Some pages were pasted in from the old FileMaker tech database. Some came from printed manuals (MS Word was renowned for making terrible HTML). Some pages were written fresh for the site, but each author had their own style. Website programming itself changed over the past couple decades. People figured out better ways to do things. Tools like DreamWeaver also improved.

Right now our staff is doing some testing and debugging, but mostly we’re fixing up the new website. Some things can be done with search-and-replace. Some need to be hacked at by hand. I think it will help organize the project better.

Dennis Kolva
Programming Director
TurtleSoft.com

 

 

 

Author: Dennis Kolva

Programming Director for Turtle Creek Software. Design & planning of accounting and estimating software.