Greetings from
NeuroDimension!
Makers of NeuroSolutions,
the Neural Network Simulation Environment.
This issue of the
newsletter includes information on solving problems with source code generation
and genetic algorithms from NeuroDimension.
In this issue you’ll find:
What’s News?
* Neural Network Courses a Success
* Normalizing the Input and Desired Data for Code Generation
* Using Genetic Server and Excel to Solve Scheduling Problems
Products and Events
of Interest
Note: You are receiving this newsletter because you requested to stay informed concerning new developments at NeuroDimension. If you would like to stop receiving these newsletters, please see the bottom of this newsletter for removal instructions.
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
What’s News?
Neural Network Courses
a Success
We recently completed our May 2000 NeuroSolutions and Neural Networks course in Orlando, Florida. As always, it was very highly rated by the attendees (on a scale of 1 (poor) to 5 (excellent) the average rating was 4.62). We are always happy to meet our customers and others interested in neural networks. We are planning to hold our next course in Orlando, Florida in November of 2000.
In addition to our regular neural network and NeuroSolutions courses, we also offer corporate education and personalized training. For more information about any of these training programs, see:
http://www.nd.com/services/train.htm
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
NeuroSolutions Tip Box
NeuroSolutions Professional and Developers levels include the ability to generate ANSI C++ source code from your breadboards. This is useful both for embedding networks into your applications and enabling you to train and execute your networks under other operating systems.
This tip is in response to customers who have wanted to know more about the normalization of the inputs and desired data when using code generation.
Before generating the C++ code for your NeuroSolutions breadboard, you must first decide how the compiled program will handle the normalization of the input and desired data. There are two options to choose from:
1. The data fed to the program
will be pre-normalized. NeuroSolutions will include normalized versions of the
data files when you generate the code. However, when it comes time to feed new
data into the network it is up to you to normalize the data before feeding it
to the program. The coefficients needed to perform this normalization operation
are contained within the weights file (listed under the File components).
2. The program will read the raw (non-normalized) data and normalize it as it reads each sample. This eliminates the need to normalize the data ahead of time. The disadvantage is that there is additional processing required to perform the normalization operation, thus affecting the performance.
In order to select the desired option, open the inspector for each File component and check the appropriate box within the “Code Generation File Format” section of the “Access” property page.
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
Genetic Server and Microsoft Excel make a powerful combination for solving scheduling problems. Because Genetic Server is an ActiveX component, it can easily be used within the VBA backbone built into Microsoft Excel. Furthermore, the spreadsheet environment of Excel makes an ideal location for visually laying out schedules.
The following is a brief outline describing how you could set up the genetic optimization of a scheduling problem in Excel.
1. Lay out a mock schedule in an Excel spreadsheet. Schedules are usually set up so that time spans across columns and tasks, people, or whatever you are trying to schedule spans across rows.
2. Use formulas in the Excel spreadsheet to define a fitness function for the current schedule. This fitness function should be defined based upon your criteria on what makes a good schedule. This may require you to have other info available on the spreadsheet such as each employee’s salary, the cost for a particular task, etc. As the schedule improves, the value of the fitness function should increase and vice versa.
3. Open the Visual Basic Editor and define a genetic algorithm object. The genes of the genetic algorithm (the values that get manipulated) should be defined as schedule itself. The objective function of the genetic algorithm object should use the value of the fitness function (that you defined in the Excel worksheet) to evaluate the “goodness” of a schedule. During evolution, the objective function is called with each proposed solution (schedule). You should write this schedule to the Excel worksheet, overwriting the last schedule. The Excel worksheet will automatically compute the new fitness, which you should retrieve and pass back to the genetic algorithm’s objective function. As the genetic algorithm evolves the schedules will continue to improve.
Note: Depending on the details of your scheduling problem, the genetic algorithm may create solutions that are not feasible. This should be accounted for by making the fitness function return very small fitness values during such occasions.
This was a brief description of how to perform genetic optimization of scheduling problems in Excel. For more details on how genetic algorithms work and to see sample code demonstrating the use of Genetic Server, download the Genetic Server on-line help at:
http://www.nd.com/support/help.htm
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
NeuroDimension supports the 2001 WSES International Conference on Neural Networks and Applications (NNA'01) that will be held in Puerto De La Cruz, Tenerife, Canary Islands -- February 11-15, 2001. Visit http://www.worldses.org/wses/nna or email to nna@worldses.org for more information.
Have an event or product you would like to announce? Contact us at submissions@nd.com.
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
We appreciate your feedback! Please send us your comments or
suggestions concerning this newsletter, our web site, or part of the
NeuroDimension product line. Write to us at: feedback@nd.com
Have questions about NeuroDimension products or training services? Send your questions to: info@nd.com
This issue and previous issues of this newsletter are available on the NeuroDimension web site at: http://www.nd.com/mailinglist.htm
If you would prefer not to receive these newsletters or subsequent product updates from NeuroDimension, please reply to this letter with the subject heading changed to the word REMOVE.
Thank you again for your support of NeuroDimension products!