Optimisation Problem: Software Suggestions?
Optimisation Problem: Software Suggestions?
Author
Discussion

roadsweeper

Original Poster:

3,789 posts

304 months

Thursday 5th October 2006
quotequote all
Hi

I have an optimisation problem I need to solve. Essentially, it is for a scheduling application and we need to be able to optimise the distribution of Jobs between Field Engineers based on distance between Jobs and Field Engineers. The Jobs must be scheduled within a time window (e.g. we must have a Field Engineer on-site between 1600 and 1800).

I know there is expensive software out there to solve this kind of problem (e.g. ClickSchedule) but we have little or no budget for this. Any ideas? Someone has already suggested writing as bespoke optimisation function using Genetic Algorithms - does any have any experience in this area and would care to impart some wisdom?

Thanks,

roadie.

TheExcession

11,669 posts

280 months

Thursday 5th October 2006
quotequote all
If you google for 'Travelling Salesman Problem' you'll get a whole heap of stuff.

Maybe you can find something already written and free that will help you?

iaint

10,040 posts

268 months

Thursday 5th October 2006
quotequote all
(A) What's your hourly rate?
(B) How long will you waste trying to solve this?
(C) What is the cost of 'proper' scheduling software?

if A x B >= C then buy the damn software

jago

247 posts

249 months

Thursday 5th October 2006
quotequote all
i go along with the two replies above. if you were going to code something 'constraint programming' would be a good thing to google too.

Tripps

5,814 posts

302 months

Thursday 5th October 2006
quotequote all
roadsweeper said:
Someone has already suggested writing as bespoke optimisation function using Genetic Algorithms - does any have any experience in this area and would care to impart some wisdom?
I'd be thinking more along the lines of a search algorithm, using a GA will take time to plan and implement, then further time to understand and make use of the results - interesting if you're doing it academically, a pain in the @r$e if you're trying to earn a living.

The problem is not so complex that you need any intelligent algorithms, your variables are the locations of jobs/engineers and the distance between them, with the added complexity of filling time windows correctly.

The time windows would be absolutes, so you'd probably start planning around those, then weight each option based on time and distance (petrol expense and lost revenue) to see what options fit well along the way, pruning the tree as you go for braches that aren't scoring well.

If you were being nice you could even include base address of home address of each engineer as their last call so they could get home quicker after work.

dern

14,055 posts

309 months

Thursday 5th October 2006
quotequote all
iaint said:
(A) What's your hourly rate?
(B) How long will you waste trying to solve this?
(C) What is the cost of 'proper' scheduling software?

if A x B >= C then buy the damn software
Completely agree. If you have no experience managing a bespoke software development cycle then you're in for a world of pain and you'll have no way of seperating the chancers who claim to be software developers and the real thing. Do not get the idea that you could get your mate's nephew who is 'good with computers' to knock you up a bit of software in a week. I've been in the situation where a family member wanted some software and wanted to pay the going rate and nearly passed out when he realised what was involved and agreed that adapting software readily available for a few hundred was the best way forward. Unless the software you have priced up costs more than 50k I'd just buy it.

Tripps

5,814 posts

302 months

Thursday 5th October 2006
quotequote all
I'm sure I spotted a PHer who's a director of a company developing time planning solutions (assumed it was him posting initially), can't recall who though - they may be worth contacting as their software might already have a solution.

Don

28,378 posts

314 months

Thursday 5th October 2006
quotequote all
I spent years coding analysis, scheduling and resource smoothing algorithms for a range of industries, including the Electricity companies. (Scheduling maintenance jobs and teams).

Its an enormously complex subject. Simply coding a scheduling algorithm is hard enough..then getting an optimising one? And what about human input, overriding and dealing with the consequences?

If you can buy a package - get one.

Is there a market for this stuff anymore (those that replied)? I used to design systems for doing this for people - got to travel the world on it - but it seemed to die off and I got out of it.

roadsweeper

Original Poster:

3,789 posts

304 months

Thursday 5th October 2006
quotequote all
dern said:
iaint said:
(A) What's your hourly rate?
(B) How long will you waste trying to solve this?
(C) What is the cost of 'proper' scheduling software?

if A x B >= C then buy the damn software
Completely agree. If you have no experience managing a bespoke software development cycle then you're in for a world of pain and you'll have no way of seperating the chancers who claim to be software developers and the real thing. Do not get the idea that you could get your mate's nephew who is 'good with computers' to knock you up a bit of software in a week. I've been in the situation where a family member wanted some software and wanted to pay the going rate and nearly passed out when he realised what was involved and agreed that adapting software readily available for a few hundred was the best way forward. Unless the software you have priced up costs more than 50k I'd just buy it.

Thanks for the input guys. I actually run an IT consultancy and have been programming since I was 10 so I'm comfortable with software development, etc. I was also Technical Team Lead for an Accenture project building a massive optmisation solution using iLog for the De Beers Diamond Trading Company, so it isn't the optimisation issue itself that is in question. What I'm really looking for on this thread is someone recommending a good optimisation package for the problem outlined that doesn't cost tens of thousands of pounds as per iLog (I think that actually cost 6-figures IIRC) et al. We don't have £50k to spend on this, as per my original post, so I need a creative solution!

iaint

10,040 posts

268 months

Friday 6th October 2006
quotequote all
roadsweeper said:
dern said:
iaint said:
(A) What's your hourly rate?
(B) How long will you waste trying to solve this?
(C) What is the cost of 'proper' scheduling software?

if A x B >= C then buy the damn software
Completely agree. If you have no experience managing a bespoke software development cycle then you're in for a world of pain and you'll have no way of seperating the chancers who claim to be software developers and the real thing. Do not get the idea that you could get your mate's nephew who is 'good with computers' to knock you up a bit of software in a week. I've been in the situation where a family member wanted some software and wanted to pay the going rate and nearly passed out when he realised what was involved and agreed that adapting software readily available for a few hundred was the best way forward. Unless the software you have priced up costs more than 50k I'd just buy it.

Thanks for the input guys. I actually run an IT consultancy and have been programming since I was 10 so I'm comfortable with software development, etc. I was also Technical Team Lead for an Accenture project building a massive optmisation solution using iLog for the De Beers Diamond Trading Company, so it isn't the optimisation issue itself that is in question. What I'm really looking for on this thread is someone recommending a good optimisation package for the problem outlined that doesn't cost tens of thousands of pounds as per iLog (I think that actually cost 6-figures IIRC) et al. We don't have £50k to spend on this, as per my original post, so I need a creative solution!


Placement students...

dilbert

7,741 posts

261 months

Friday 6th October 2006
quotequote all
How hard can this be?

If you're doing it manually then presumaby you have people wo want to work in a variety of areas, and they pick up the work in their area, and perhaps cover in adjacent areas.

If you need to book an appointment, then you contact them, and ask them when their schedule is free.

Scaling that idea into PDA's and spreadsheets can't be that hard.

If on the other hand you have loads of people that all want to cover the same area, and hate going any distance, it doesn't matter what you do. The computer is always going to be wrong.

In technical terms, I can't see this software being particularly complicated. I'd imagine the biggest hurdle is getting a geographic ~ time relationship going. Maybe getting the right people is the biggest hurdle?

rbertcurzonjones

4 posts

240 months

Friday 6th October 2006
quotequote all
You need go no further than getting this months PC Pluss, there is a product going free. TCM (Total Contact Manager) is a software written by Apt Projects Ltd., They are putting out this month a FREE 3 user network addition (value £4,000) and it is also WEB enabled so you can host the database over the web and access, input, edit and store data and images directly to your engineers. We have used this product since the Beta versions in 1997. You will be able to control staff access and give user right levels with varying management access. As well as the promotion you could go to their web site. www.aptprojects.com and browes. Apt are a very user friendly bunch and will assist in hands on courses (these are £350 per day but well worth while, as they look at your needs and then tutor your members on how to setup and use the software.)

From a user who has had almost 10 years experience of the software.

good luck Rob

plasticpig

12,932 posts

255 months

Friday 6th October 2006
quotequote all
I have some experience in heuristic algrorithms and optimization using linear and nonlinear programing. Depending on the number of engineers and site visits you may be able to brute force it using something like Lindo www.lindo.com. A genetic algorithm is just one form of a heruristic algorithm. It will give you an answer but it wont necesarily be the best answer.