We're progressing in our coding to the point where we're ready to start testing. What we've done is taken a sample problems with sample numbers and coded a couple programs, including a "tabu search" program, that crunches this particular problem without any errors. Then we wrote another program that randomly generates additional problems.
Problem is, when we generated a random problem and tried to feed it into our other programs, we got (and are still getting) errors. Figures.
Anyway, so we're debugging away, and I was looking back over some notes I had taken when we were having a similar problem earlier. To show you what debugging can be like, here's what I wrote, with [inserted comments].
"Traced problem from possible_jobs [an array of numbers] not updating correctly to realizing that it's [the computer code/program] not picking [the] right jobs (when we reinitialze to zero) to realizing that the reason it picked [the] wrong job (job 1 always) was because the solo_WT array [another array] for job 1 was always zero which led us to wander [sic] if processing times were being updated."
Now, ignore all the cryptic names and nonsense, but realize that debugging can be sort of like when you scrunch up a straw-paper-thing (can't think of what it's called) up in your nose and start pulling. Either that or it's like delving into the emotions of a woman, where it's sort of like spaghetti--grab one string and get the whole thing. Or maybe it's just like a mystery. Once clue leads to the next.
It's probably most like a mystery.