Advertisement

Using neural networks for optimization problems

Started by January 15, 2007 10:52 PM
19 comments, last by Timkin 17 years, 10 months ago
Anyone else have some thoughts on this? You could have a collection of particles that move about the solution space and their various parameters would be the input neurons. Then the ANN would give them new parameters from its output neurons.
What is the function of this neural network and how would you train it? What are the parameters of a particle?

Normally training a neural network is itself a minimization problem. You're selecting parameters to minimize the difference between the neural network's output and the desired output.
Advertisement
I think you're overly complicating the problem. Particle swarm optimisation methods are well established, so I suggest you read up on the literature in that field if you're looking for insights. The problem with your proposal is that your ANN would need to have already solved the optimisation problem for this to work. Consider a sequence of input-output pairs. Clearly one set of outputs is the next set of inputs. So, running through a sequence to a terminal situation (when inputs = outputs) would constitute a solution to the optimisation problem. How would you train the ANN for this? Why, if you could train it this way, would you train it, rather than just solve the original optimisation problem directly?

I know I'm sounding rather negative, but that's because I don't see any benefit from your suggestion. Perhaps I've misinterpreted it though. If that's the case, could you enlighten me please.

Cheers,

Timkin
I'm talking out of my ass here, but couldn't one "test" the ANN output against a certain treshold, say, if it was an employee scheduling optimization, one would want to cover the work-load using minimum amount of employees. So every time the ANN outputs a value that's less than the last value it gave (and the workload is still 100% covered), you award it. Like a genetic algorithm/programming optimization.
[size="2"]I like the Walrus best.
Yeah, I was kind of half-coherent when I pulled this idea out of my ass. I have no idea how or if it would work.

But I'm sure neural nets can be somehow applied to optimization problems if not by using particles as input/output nodes than by some other way. Anyone have any thoughts on this?
The problem is that you're solving an optimization problem by turning it into a more difficult optimization problem. Say the original problem is to maximize some function by choosing n parameters. This method attempts to solve that problem by trying to optimize a nueral network whose function will be used as a search strategy for the n-dimensional space. Maybe if you're lucky the neural network could learn to perform a gradient descent, but it would have been much simpler to start with simulated annealing in the first place.
Advertisement
yeah but what if the ANN learns to do something BETTER?
What strategy would you encode within the ANN learning algorithm in order to learn something 'better'?
Quote: Original post by YELLOWtrash
yeah but what if the ANN learns to do something BETTER?


You could equally say 'But what if a cat walks across the keyboard a few times and THE KEYS IT STEPPED ON PRODUCED THE GREATEST AI PROGRAM EVER!!! ' - sure, it theoretically could happen, but I wouldn't bet my time or money on it.
Quote: if it was an employee scheduling optimization, one would want to cover the work-load using minimum amount of employees


For a problem like that there surely would exist a purely mathematical solution, and that would be the optimal solution. You wouldn't be able to do it any better...

So, it's you and me who would need to learn (mathematics), and that would be simpler than learning how to teach AI to learn.

This topic is closed to new replies.

Advertisement