Optimisation Problem: Software Suggestions?
Discussion
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.
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.
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.
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.(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

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.
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.
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.(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

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!

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.(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

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...
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?
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?
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
From a user who has had almost 10 years experience of the software.
good luck Rob
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.
Gassing Station | Computers, Gadgets & Stuff | Top of Page | What's New | My Stuff



