in reply to Efficient Assignment of Many People To Many Locations?

Thanks to all the contributors so far. What I seem to be sensing it that my idea wasn't too bad (hooray!), and if I try with different starting conditions, and occasionally allow "unfavourable" moves (as described by itub), I might be close to the right track. (Although see my response to dragonchild above, where I ponder whether simple distance travelled might be a good enough scoring mechanism for me.)

In my simplistic mind, the genetic algorithm solution sounds like a more complex method of roughly the same approach. (Although I need to investigate this further, really.)

I haven't really got my head around the suggested ILP approach, to be frank, but I can look into this further.

For the record, I'm talking of hundreds of sales reps in hundreds of locations, so I don't think the brute force method won't work with the computing power I have available.

Also for the record, I'm not required to find the optimum solution to a situation - merely a good one!

Thanks again, all,
SmugX

P.S. Incidentally, I'm by no means a regular on perlmonks - certainly not as much as I'd like to be - but I'm always so impressed by everyone's knowledge, helpfulness and courtesy. You're all great. Have a drink on me.

P.P.S. I'm just kidding about the drink.

  • Comment on Re: Efficient Assignment of Many People To Many Locations?

Replies are listed 'Best First'.
Re^2: Efficient Assignment of Many People To Many Locations?
by perlfan (Parson) on Feb 25, 2005 at 18:19 UTC
    In my simplistic mind, the genetic algorithm solution sounds like a more complex method of roughly the same approach. (Although I need to investigate this further, really.)

    It is not the same approach at all. The genetic algorthm tests combination for fitness, or in this case how much each schedule "costs" - obviously the less it costs, the better. Once you determine the "fittest" N solutions, you combine them in hopes they will retain the best traits and eliminate the bad traits in the "offspring". Check out blokhead's page - he has some good links to theyse types of approaches. In a nut shell, you are reducing your search space to find the local optima - you are not throwing darts.

    For the record, I'm talking of hundreds of sales reps in hundreds of locations, so I don't think the brute force method won't work with the computing power I have available.

    I guess that depends on how many are actually changing locations each time. If only a small percentage change locations, then this reduces your problem drastically.

    Good luck with things, and if you end up using a genetic algorithm or neural net, let me know! :)