|
RTGA
- Real Time Genetic Algorithm Project
|
Welcome to the RTGA project page
Thank you for your visit. Please explore this page's sections:
|
|
Section |
Description |
|
|
|
Introduction |
Provides basic information on this project |
|
|
|
Input data |
Data which must be provided to the genetic algorithm
|
|
|
|
Actions |
What users may do
|
|
|
|
Output data |
The results displayed by the algorithm
|
|
|
|
Source code |
Download the source code as a Microsoft Visual Studio
.NET 2003 solution packed in a .zip archive
|
|
Introduction
Real Time Genetic Algorithm project has been developed by
Mihai Virtosu, virtosumihai_at_yahoo_dot_com, student at the
Politehnica University of Bucharest. It combines research from the
areas of Control Theory, Evolutionary Computing, Genetic Algorithms as well as
Software Engineering. It was build as an ASP.NET web application, which can be
accessed anywhere from the Internet at this address:
http://rtga.crinsoft.ro
This project's purpose is to fine tune PID controllers' parameters (Kr, Td, and
Ti) and uses genetic algoritms as a method of optimization. We optimize the
overshot and the settling time in such proportion dictated by the user.
As a technical note, the application that wrappes the genetic algorithm is
written in C#.NET and ASP.NET, with the algorithm computation back end written
in Matlab R13.
Keywords: Control Theory, Evolutionary Computing, Genetic Algorithms, Software
Engineering.
Please click
here to
access the RTGA application now. It is highly recommended, if you use the 1024
X 728 screen resolution or less, that you view the page in Full Screen mode
(you can enter Full Screen mode in Microsoft Internet Explorer by pressing F11.
You can exit Full Screen Mode by pressing F11 again.)
Back to Top
Input data
The input data area is displayed here:
-
Process parameters
We assume that our model for the process in a second order transfer function
(with two poles) and a non-dominant time constant. In the above picture, 8 and
2 are the dominant time constants and 0.1 is the less dominant time constant
(this less dominant time constant makes our system a quick process, to which we
can apply the Kessler algorithm in finding a controller).
-
Restrictions
Lower and upper limits for each of the PID controller's parameters: Kr, Ti, and
Td. These limits are needed by the genetic algorithm to limit its search.
-
Achievements
Here is where users define what they want to optimize. They can choose to
compute a controller that has the best settling time, or the best overshot, or
a combination of these two.
Please note that, generally, a good settling time is harder to achieve than a
good overshot.
-
Number of generations
This is the number of generations for the genetic algorithm. The greater the
number of generations is, the better the results are. Please note, however,
that a large number of generations will take more time for the genetic
algorithm to complete.
If we want to use this algorithm for on-line optimizations, we should use a
small number of generations and the previous information (this feature of using
the previous information is explained next in this section)
-
"Do not use history" option
If we check this option, the algorithm will start with a random initialization.
Otherwise, it will use the previous information.
Beeing conceived as a real time algorithm, at each run it uses, by default, the
previous acquired information to produce a better response. For instance, if
you set the number of generations to 10 and run this algorithm 5 times it would
be equivalent to setting the number of generations to 50 and running it only
one time.
This feature has also a drawback. The genetic algorithm uses the previous
information when it makes its initialization. Initialization is very important
to genetic algorithms. If we choosed the initialization point close to a local
optimum, the algoritm would be unlikely to find the global optimum. In our
case, if our genetic algorithtm uses the previous information over and over
again, it may not find the optimal solution ever. In this instance, if we feel
that our algorithm has started on the wrong path, it is better to check "Do not
use history" and let the algorithm do a random initialization.
Please click
here to
access the RTGA application now. It is highly recommended, if you use the 1024
X 728 screen resolution or less, that you view the page in Full Screen mode
(you can enter Full Screen mode in Microsoft Internet Explorer by pressing F11.
You can exit Full Screen Mode by pressing F11 again.)
Back to Top
User actions
Users can interact by pressing these two buttons:
Display the response
Pressing this button will compute and display the step response for the system
composed of the process and the current controller, without computing any
controller.
This action is useful when users want to see the effect that perturbations have
upon the system. By slightly changing one of the time constants (for example, 8
becomes 9), you can press this button and visualize the effect this
perturbation had on the system. Typically, it will result in an increased
overhead or settling time.
Please note that when the page is displayed for the first time this button is
disabled because no controller has been computed yet.
Compute a new controller
Pressing this button will compute a new controller and display the step
response of the closed loop system.
Please click
here to
access the RTGA application now. It is highly recommended, if you use the 1024
X 728 screen resolution or less, that you view the page in Full Screen mode
(you can enter Full Screen mode in Microsoft Internet Explorer by pressing F11.
You can exit Full Screen Mode by pressing F11 again.)
Back to Top
Output data
The step response for the closed loop system is displayed in the right pane. In
addition to that, in the left lower pane are displayed some of the parameters
for the PID controller and step response.
Kr, Ti, and Td are the PID controller's computed parameters.
The settling time and overshot are the parameters for the step response of the
closed loop. A variation from the previous parameters is also displayed in red,
beneath each value.
Please click
here to
access the RTGA application now. It is highly recommended, if you use the 1024
X 728 screen resolution or less, that you view the page in Full Screen mode
(you can enter Full Screen mode in Microsoft Internet Explorer by pressing F11.
You can exit Full Screen Mode by pressing F11 again.)
Back to Top