Some of the documents and software provided on this page are distributed under an IEEE, GPL, BSD or other license. To download them you will need to agree with the corresponding license.
All
programs and documents are free to use (out of charge) for
personal and
academical purposes.
The programs and documents
could not be used for commercial purpose without additionally granted permission;
The
source and the author should be acknowledged and given as reference (standard citation for papers; web-page http://www.p0p0v.com stated
for on-line materials).
NO WARRANTY - there is no warranty for the programs. The programs are provided "AS IS" without
warranty of any kind.
The entire risk as to the quality and performance of the program
is with you. Should a program prove defective, You assume the cost of all necessary servicing, repair or
correction.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Copyright (c) 2011, Andrey Popov
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following
disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided with the distribution
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
BMS is a key component for the safety and operation of Lithium-ion batteries. For their development and verification, precise, safe, and reproducible tests of the relevant accuracy, functionality, and safety tests are needed. This paper presents how, based on the test requirements, a suitable test environment can be defined and the requirements on the components of the environment and the automation platform derived.
@TechReport{PopovMaresBi21,
institution = {Keysight Technologies},
title = {Safe, Fast and Reproducible Testing of Battery Management Systems},
year = {2021},
abstract = {BMS is a key component for the safety and operation of Lithium-ion batteries. For their development and verification, precise, safe, and reproducible tests of the relevant accuracy, functionality, and safety tests are needed. This paper presents how, based on the test requirements, a suitable test environment can be defined and the requirements on the components of the environment and the automation platform derived.},
url = {https://www.keysight.com/us/en/assets/3121-1271/application-notes/Safe-Fast-and-Reproducible-Testing-of-Battery-Management-Systems.pdf},}
In this paper the electrical characterization of cells using calibrated and accurate electrochemical impedance spectroscopy (EIS) in a wide frequency range with micro-Ohm resolution is presented. The obtained EIS data is interpreted by electrochemical circuitry modeling. The EIS results are put into perspective of materials science and electrochemical lab methods.
@TechReport{KasperPopovKienberger21,
author = {Kasper, Manuel and Popov, Andrey and Kienberger, Ferry},
institution = {Keysight Technologies},
title = {Advanced Electrochemical Impedance Spectroscopy (EIS) for Battery Testing},
year = {2021},
abstract = {In this paper the electrical characterization of cells using calibrated and accurate electrochemical impedance spectroscopy (EIS) in a wide frequency range with micro-Ohm resolution is presented. The obtained EIS data is interpreted by electrochemical circuitry modeling. The EIS results are put into perspective of materials science and electrochemical lab methods.},
url = {https://www.keysight.com/us/en/assets/3121-1209/white-papers/Advanced-Electrochemical-Impedance-Spectroscopy-EIS-for-Battery-Testing.pdf},}
The function assists the definition of state-space models based on first principles (i.e. when the state-equations are explicit). Instead of trying to substitute the coefficients directly in the system matrices (which often results in confusing matrices and poor flexibility), this function allows writing down the state-equations as they are. For this purpose variables corresponding to the states, inputs and outputs are generated in the workspace. The function uses that the state-space model can be written also as [X’; Y] = H * [X; U], where H = [A, B; C, D] and for each state variable creates a row vector of n_states + n_inputs, that has 1 only on the corresponding place. This allows writing the state equations in a readable form. Then by gist arranging them in the right order the state-space matrices can be obtained.
The development and deployment rate of electric vehicles (EV) and plug-in electric vehicles (PEV) substantially depends on the corresponding EV supply equipment (EVSE). The facts that vehicles are intrinsically mobile and hence require interoperability between manufacturers, countries and charging points, implies that the components of the charging systems should extensively be tested, in order to allow access of the companies to the global market. The two most common automotive charging communication standards are the pulse-width modulation (PWM) based IEC 61851-1 [1] and the CAN based CHAdeMO [2]. The third and latest approach is a power line communication (PLC) using V2G-protocol specified by the ISO 15118 [3]. The norm has been published in 2014 and will become the standard in Europe and North America for DC- and AC-Charging within the next years, since all major OEMs have decided to apply it. In order to implement the new standard in a way, that supports all specified use cases (e.g. private or public charging, plug & charge or external identification/payment) and simultaneously assure operation between all EV/EVSE communication controllers of different origins, dedicated verification techniques and routines are required. This paper introduces the ISO 15118 norm and suggests independent and reproducible test methods that allow developers and quality managers to achieve a high degree of interoperability.
Charging systems and charging infrastructure are key components in the development and the introduction of electric and plug-in vehicles. The relative youth of the field and a long list of stakeholders (automotive industry, energy sector, governments, policy makers and customers) make the achievement of consensus on norms and standards difficult. The facts that vehicles are intrinsically mobile and hence require compatibility between manufacturers, countries and charging points, implies that the components of the charging systems should be extensively tested and must guarantee the desired interoperability. This paper summarizes the challenges that the charging-technology systems face and uses the results to derive the requirements on equipment for conducting tests and validation in the development, certification and end-of-line production stages.
@inproceedings{PopovTybelSchugt14,
author = {Andrey Popov and Michael Tybel and Michael Schugt},
title = {Power hardware-in-the-loop test bench for tests and verification of {EV} and {EVSE} charging systems},
booktitle = {Proceedings of the IEEE International Electric Vehicle Conference},
location = {Florence, Italy},
Year = {2014},
pages = {1--8},
doi = {10.1109/IEVC.2014.7056139}, }
The automotive power train electrification entails numerous additional requirements to developers and test engineers. While the general development methods remain the same, power electronic components and high voltage batteries require strict safety functions and thus demand new test systems that cover new verification and validation cases. This paper introduces common verification/test approaches applied according to a V-cycle and compares those with a modular high voltage, high power emulation approach. That follows, the aspects of HV test bench design are presented in order to demonstrate the spectrum of test applications for four groups of EV power train components. Finally, the paper discusses inverter test in particular and presents a Power HiL test bench architecture, that has been implemented successfully at several OEM manufacturers.
@InBook{TybelPopovGlasmachersSchugt2013,
author = {Michael Tybel and Andrey Popov and Holger Glasmachers and Michael Schugt},
title = {Elektrik/{E}lektronik in {H}ybrid- und {E}lektrofahrzeugen und elektrisches {E}nergiemanagement {IV}},
chapter = {Methods for Simultaneous Development and Test of Interrelated {E/E} components / A Model Based Test Approach},
editor = {Carsten Hoff and Ottmar Sirch},
pages = {559--571},
publisher = {{E}xpert {V}erlag},
year = {2013},
ISBN = {978-3-8169-3213-0}, }
Cooperating autonomous vehicles (agents), controlled in a decentralized manner and communicating with each other, offer increased system reliability and flexibility as opposed to a single agent or a centralized control scheme. This work deals with the problems of stability analysis and controller synthesis for multi-agent systems with a changing number of agents, switching communication topology, time-varying communication delays and restrictions on the controller structure. Robust and nominal performance synthesis problems are formulated, solved and systematically applied to the cooperative vehicle control.
@phdthesis{Popov12,
title = {Design of Distributed and Fixed-Structure Controllers for Cooperative Vehicle Control},
author = {Andrey Popov},
school = {Hamburg University of Technology},
year = {2012},
Isbn = {978-3843907866}, }
This technical note considers formation control of a group of identical agents that can communicate with each other. A necessary and sufficient condition for robust stability in the case of arbitrary time-invariant communication topologies and sufficient conditions in the case of arbitrary time-varying topology and communication delays are derived, that reduce the stability analysis and controller design problems to analysis or synthesis, respectively, for a single agent.
@article{PopovWerner12,
author = {Andrey Popov and Herbert Werner},
title = {Robust Stability of a Multi-Agent System Under Arbitrary and Time-Varying Communication Topologies and Communication Delays},
journal = {IEEE Transactions on Automatic Control},
year = {2012},
month = {Sept.},
volume = {57},
number = {9},
pages = {2343--2347},
ISSN = {0018-9286},
doi = {10.1109/TAC.2012.2186094}, }
This paper extends an information flow filter approach to cooperative vehicle control that has been previously proposed to guarantee stability of a vehicle formation under arbitrary communication topologies. A systematic design technique for this information flow filter is the main contribution of this work. For this purpose an alternative interpretation of a separation theorem that allows the independent design of the information flow filter and the controllers for the vehicles is presented. The advantages of this approach are illustrated in simulation studies.
@InProceedings{PilzPopovWerner11,
author = {Ulf Pilz and Andrey Popov and Herbert Werner},
title = {An Information Flow Filter Approach to Cooperative Vehicle Control},
booktitle = {Proceedings of the 18th IFAC World Congress},
location = {Milano, Italy},
year = {2011},
pages = {7432--7437},
doi = {10.3182/20110828-6-IT-1002.01102}, }
This article presents an identification technique for distributed systems with identical units using linear recurrent neural networks and exploiting the replicated structure of the units inside the system. The proposed method is applicable both to open-loop and closed-loop identification, takes into consideration boundary conditions and available information about the structure of the system, and is capable of identifying systems with heterogeneous units. The approach provides parameters estimate with minimum bias for unstable plant models when there is additive colored noise in the data. The method is described for two-dimensional systems (one for time and one for space), but is equally applicable to systems having more dimensions in space. The effectiveness of the method is demonstrated by two examples.
@InProceedings{AliPopovWernerAbbas2011,
author = {Mukhtar Ali and Andrey Popov and Herbert Werner and Hossam Abbas},
title = {Identification of Distributed Systems with Identical Subsystems},
booktitle = {Proceedings of the 18th IFAC World Congress},
year = {2011},
pages = {5633--5638},
doi = {10.3182/20110828-6-IT-1002.02543},
location = {Milano, Italy}, }
Several recent design techniques address the problem of distributed controller synthesis for multi-agent systems (MAS). However, since these methods use a decomposition based approach to reduce the complexity of the MAS, they cannot provide a guarantee of performance with the designed controller, and furthermore lead to conservative designs due to the Lyapunov shaping paradigm. This paper proposes a direct optimization gradient-based synthesis technique for a MAS with fixed communication topology, exploiting the fact that the same controller is replicated on each agent. Although this results in a non-convex design problem, an appropriate initialization step makes the synthesis efficient and helps to obtain controllers with guaranteed performance on the MAS.
@inproceedings{PopovWerner10,
author = {Andrey Popov and Herbert Werner},
title = {${H}_\infty$ Controller Design for a Multi-Agent System Based on a Replicated Control Structure},
booktitle = {Procedings of the American Control Conference},
location = {Baltimore, MD, USA},
Year = {2010},
pages = {2332--2337}, }
This paper presents an extension of the HIFOO toolbox for Matlab for fixed-structure and fixed-order H∞ controller design to discrete-time controller design. The approach is applied to a restricted complexity controller synthesis problem for an active suspension system.
@inproceedings{PopovWernerMillstone10,
author = {Andrey Popov and Herbert Werner and Marc Millstone},
title = {Fixed-structure discrete-time ${H}_\infty$ controller synthesis with HIFOO},
booktitle = {Procedings of the 49th IEEE Conference on Decision and Control},
location = {Atlanta, GA, USA},
year = {2010}
pages = {3152--3155},
doi = {10.1109/CDC.2010.5717673}, }
HIFOOd represents a modification of HIFOO capable of H∞ synthesis for discrete-time systems, directly in discrete-time domain (i.e., without using a bilinear transformation). HIFOO is a toolbox for gradient-based H∞ synthesis of controllers of fixed-order or/and fixed-structure. More information about HIFOO, as well as download of the HIFOO toolbox (distributed under GPL) is available at http://www.cs.nyu.edu/overton/software/hifoo/
A novel Trimmable Horizontal Stabilizer Actuator (THSA) design of an aircraft, developed by the Institute of Aircraft Systems Engineering at Hamburg University of Technology, distinguishes itself from conventional THSA systems by its two-load-path structure that allows for higher reliability and easier maintenance. This article presents a case study of an application of four optimal H∞ controller synthesis methods (mixed sensitivity, four-block design, loop shaping and mixed-sensitivity II) to the THSA control problem. The designed controllers are then experimentally tested on the THSA test rig and the design techniques are compared with respect to the performance of their controllers and the ease of their implementation.
@inproceedings{YuPePopovWernerThielecke10,
author = {Huang Yu and Timo Pe and Andrey Popov and Herbert Werner and Frank Thielecke},
title = {Control of a two-load-path Trimmable Horizontal Stabilizer Actuator of an aircraft — Comparison of ${H}_\infty$ design approaches},
booktitle = {Procedings of the 49th IEEE Conference on Decision and Control},
location = {Atlanta, GA, USA},
Year = {2010},
pages = {4863--4868},
doi = {10.1109/CDC.2010.5716948}, }
In this paper we present an application of a recently developed strategy for robust distributed controller design for formations and show a way of including performance requirements in the design. The proposed synthesis method guarantees stability for all possible formations and arbitrary fast changes in the communication topology. The number of agents in the formation can also be chosen arbitrarily. We illustrate the results by performing a simulation of a formation flight of quad-rotor helicopters.
@inproceedings{PilzPopovWerner09,
author = {Ulf Pilz and Andrey Popov and Herbert Werner},
title = {Robust Controller Design for Formation Flight of Quad-Rotor Helicopters},
booktitle = {Procedings of the Joint 48th {IEEE} Conference on Decision and Control and Chinese Control Conference},
location = {Shanghai, China},
year = {2009},
pages = {8322--8327},
doi = {10.1109/CDC.2009.5400593}, }
This paper considers formation control for multi-agent systems (vehicles, robots, satellites, etc.) and is based on the work of Fax and Murray, which provides a link between graph theory and the formation control problem for a given communication topology. We propose a distributed controller H∞ and μ synthesis techniques that can guarantee the stability of the multi-agent system for any number of agents and any communication topology. Two examples illustrate the proposed method.
@inproceedings{PopovWerner09,
author = {Andrey Popov and Herbert Werner},
title = {A Robust Control Approach to Formation Control},
booktitle = {Procedings of the European Control Conference},
location = {Budapest, Hungary},
year = {2009},
Pages = {4428--4433}, }
The FormAtion Simulation Tool - FAST - is a tool for Matlab primarily developed in [Rose09a] for the purpose of performing realistic simulations of multi-agent systems. FAST allows simulating linear and non-linear discrete-time agents, that communicate with each other. The communication links can be additionally subject to time-delays, range restrictions and obstacles. FAST is developed and tested under Matlab 2009a.
As by Feb 2010, FAST provides the following functionality.
Simulation of MAS with discrete-time dynamics.
Linear and non-linear agent dynamics (the non-linear will require manually specifying the dynamics).
Adding/Removing agents during the simulation - requires pre-specifying the time of change and the agents to be added/removed.
Changing the communication topology during the simulation - requires pre-specifying the time of change and the new topology.
Defining communication obstacles with ball or parallelogram shape.
Fixed communication delays with or without delayed own outputs of the agents.
Specifying communication range, i.e., distance dependent communication.
Graphical User Interface (GUI) for easy control and visualization.
The report reviews different direct and gradient-based optimization techniques for fixed-structure $H_\infty$ controller synthesis and compares there performance on a set of benchmark problems. The report contains animations and requires {JavaScript} enabled viewer.
@TechReport{Popov2010a,
author = {Andrey Popov},
title = {Methods for Fixed-Structure $H_\infty$ Controller Synthesis – A Comparison},
institution = {Institute of Control Systems, Hamburg University of Technology},
year = {2010},
abstract = {The report reviews different direct and gradient-based optimization techniques for fixed-structure $H_\infty$ controller synthesis and compares there performance on a set of benchmark problems. The report contains animations and requires {JavaScript} enabled viewer.},
}
Dynamic speed limits can be used to eliminate shockwaves on freeways. Shockwaves are typically short traffic jams that emerge at bottlenecks and travel in the upstream direction on the freeway. These shockwaves lead to increased travel times and possibly to unsafe situations. A speed limit control approach to resolving shockwaves was developed based on a distributed controller design technique. The controller is distributed in the sense that each speed limit sign has its own controller. The controller parameters are optimized by numerical optimization, assuming that the controller structure and parameters are the same for each controller. The resulting performances are compared for several designs, differing in the controller order and the extent that the upstream and downstream traffic states are used as inputs for the controller. Other controllers known from the literature are based on switching schemes using local information only or are centralized model-based controllers with high computational loads. The proposed method gives a systematic way to design distributed controllers using the appropriate amount of upstream and downstream traffic information. The resulting controllers are attractive from the implementation point of view because they are very efficient. They do not require extensive online computations and use only information from the neighborhood. For the design scenario used, the controller successfully resolved the shockwave and reduced the total time spent by approximately 20% compared with the uncontrolled case, which is comparable to the performance of the best controllers known from the literature.
@article{PopovHegyiBabuskaWerner08a,
author = {Andrey Popov and Andreas Hegyi and Robert Babu\v{s}ka and Herbert Werner},
title = {Distributed Controller Design Approach to Dynamic Speed Limit Control Against Shockwaves on Freeways},
journal = {Journal of the Transportation Research Board},
year = {2008},
volume = {2086},
pages = {93--99},
Doi = {10.3141/2086-11}, }
Shock waves are special types of relatively short traffic jams that propagate opposite to the driving direction. These jams increase travel time, air pollution, and negatively impact safety. One way of dealing with shock waves is to impose dynamic speed limits to eliminate them. Control strategies proposed so far are based either on expert knowledge, or are centralized controllers with high computational demand, such as model predictive control. In this paper, we design decentralized feedback controllers with a fixed structure. For the purpose of design, we use a direct optimization technique capable of dealing with the design objectives and the non-linear character of the system. The advantages of using such simple controllers are that they do not require extensive on-line computations, use only local information and are therefore more attractive from the implementation point of view. We show that a simple, static control law achieves performance similar to previous results with centralized control for the considered scenario. The controller successfully resolves the shock wave and reduces the total time spent by 20%, compared to the uncontrolled case.
@inproceedings{PopovBabuskaHegyiWerner08,
author = {Andrey Popov and Robert Babu\v{s}ka and Andreas Hegyi and Herbert Werner},
title = {Distributed Controller Design for Dynamic Speed Limit Control Against Shock Waves on Freeways},
booktitle = {Proceedings of the 17th IFAC World Congress},
year = {2008},
month = {July},
address = {Seoul, South Korea},
pages = {14060-14065},
doi = {10.3182/20080706-5-KR-1001.02380}, }
Shock waves are special types of relatively short traffic jams that propagate opposite to the driving direction. These jams increase travel time, air pollution, and negatively impact safety. One way of dealing with shock waves is to impose dynamic speed limits to eliminate them. Control strategies proposed so far are based either on expert knowledge, or are centralized controllers with high computational demand, such as model predictive control. In this paper, we design decentralized feedback controllers with a fixed structure. For the purpose of design, we use a direct optimization technique capable of dealing with the design objectives and the non-linear character of the system. The advantages of using such simple controllers are that they do not require extensive on-line computations, use only local information and are therefore more attractive from the implementation point of view. We show that a simple, static control law achieves performance similar to previous results with centralized control for the considered scenario. The controller successfully resolves the shock wave and reduces the total time spent by 20%, compared to the uncontrolled case.
@inproceedings{PopovHegyiBabuskaWerner08,
author = {Andrey Popov and Andreas Hegyi and Robert Babu\v{s}ka and Herbert Werner},
title = {Dynamic Speed Limit Control Against Shock Waves on Freeways Using a Distributed Controller Design Approach},
publisher = {Transportation Research Board},
booktitle = {Transportation Research Board 87th Annual Meeting},
year = {2008},
month = {January},
address = {Washington, DC, USA}, }
manual
minBool manual - Minimization of Boolean function by the Quine-McCluskey method
@manual{Popov07a,
author = {Andrey Popov},
title = {minBool manual - Minimization of Boolean function by the Quine-McCluskey method},
year = {2007},
url = {http://www.p0p0v.com/science/}, }
This paper considers a hybrid evolutionary-algebraic approach to the non-convex problem of designing low-order H∞ optimal controllers. It is shown that using the closed-loop H∞ norm as fitness measure in a population-based, evolutionary search does not require the computation of the H∞ norm for each controller of the population. Instead, the fact that evolutionary algorithms assign fitness measures to individuals based on a ranking is exploited and a bisection approach is proposed that allows to trade accuracy that is not needed against computational efficiency without loosing information. Three design examples are used to illustrate the improvement in computational speed achieved with the proposed method.
@inproceedings{PopovWerner06,
author = {Andrey Popov and Herbert Werner},
title = {Efficient Design of Low-Order ${H}_\infty$ Optimal Controllers Using Evolutionary Algorithms and a Bisection Approach},
booktitle = {Proceedings of the joined {IEEE} Conference on Computer Aided Control System Design, International Conference on Control Applications and the {IEEE} International Symposium on Intelligent Control},
address = {Munich, Germany},
year = {2006},
pages = {760--765},
doi = {10.1109/CACSD-CCA-ISIC.2006.4776741}, }
@mastersthesis{Popov06,
author = {Andrey Popov},
title = {Hybrid Evolutionary-Algebraic Techniques for Controller Design - Algorithms and MATLAB tools},
school = {Hamburg University of Technology, Institute of Control Systems},
Year = {2006}, }
Most control engineering problems are characterized by several, often contradicting, objectives, which have to be satisfied simultaneously. Two widely used methods for finding the optimal solution to such problems are aggregating to a single criterion, and using Pareto-optimal solutions. Here we propose a Genetic Algorithm (GA) approach using a combination of both methods to find a fixed-gain, discrete-time PID controller for a chemical neutralization plant. Known to be highly non-linear and with varying time delay, this plant provides a challenging testbed for nonlinear control strategies. Experimental results confirm that a multi-objective, Pareto-based GA search gives a better performance than a single objective GA. The former method was also used to design a gain-scheduled PID controller, for which also experimental results are shown.
@inproceedings{PopovFaragWerner05,
author = {Andrey Popov and Adel Farag and Herbert Werner},
title = {Tuning of a {PID} controller Using a Multi-objective Optimization Technique Applied to A Neutralization Plant},
booktitle = {Proceedings of the joined 44th {IEEE} Conference on Decision and Control and European Control Conference},
year = {2005},
pages = {7139 - 7143},
address = {Seville, Spain},
doi = {10.1109/CDC.2005.1583312},}
@techreport{Popov05,
author = {Andrey Popov},
title = {Less Conservative Mixed ${H}_2/{H}_\infty$ Controller Design Using Multi-objective Optimization},
institution = {Hamburg University of Technology, Institute of Control Systems},
year = {2005},
Number = {2005.15}, }
MOEA provides an interface for the Strengthen Pareto Evolutionary Algorithm 2 (SPEA2) with Matlab. For faster operation the original file-based data exchange between the variators (selection, crossover, mutation) and the cost function is exchanged by memory-based data exchange.
The algorithm provides fast and reliable results and is used in
@manual{Popov05a,
author = {Andrey Popov},
title = {Genetic Algorithms for Optimization", User Manual for the GAmin toolbox for Genetic Algorithms Optimization for MATLAB},
school = {Technical University - Sofia, faculty "Automatics", dept. "Systems and Control"},
url = {http://www.p0p0v.com/science/},
Year = {2005}, }
Genetic algorithms (GAs) are a stochastic, non-derivative optimization method. They use populations of acceptable solutions (genes) of the given problem, which evolve toward optimum. The paper introduces GAs as a method for the synthesis of the activation function of flip-flops in finite state machines. The genes in standard GAs are Boolean vectors. When JK and RS flip-flops are used in the synthesis of finite state machines, there are undefined variables in the activation signals. When the finite state machine is of high order, the Quine-McClusky method is used, which requires exact values of the variables. At this stage, the GAs are used to find the optimal set of variables, in terms of simplifying the description.
@inproceedings{PopovFilipova04,
author = {Andrey Popov and Krasimira Filipova},
title = {Genetic algorithms - synthesis of finite state machines},
booktitle = {27th International Spring Seminar on Electronics Technology: Meeting the Challenges of Electronics Technology Progress},
pages = {388--392},
year = {2004},
Volume = {3},
pages = {388—392},
DOI = {10.1109/ISSE.2004.1490840},
address = {Sofia, Bulgaria}, }
This paper represents an implementation of Petri Nets in modeling and analysis of a CAN (Controller Area Network) interface. The major automata in the controller are first modeled with Petri Nets (PN). The CAN controller with a simple bus line connection performs all the functions of the physical and data-link layers. The application layer is provided by a microcontroller, to which the CAN controller connects through general purpose non-multiplexed parallel 8-bits bus. The description of the automat is transferred to very high level descriptive language (VHDL) after analyzing the properties of Petri Nets.
@article{DonchevPhilipovaPopov03,
author = {Blagomir Donchev and Krasimira Philipova and Andrey Popov},
title = {Design of {CAN} controller by {P}etri nets technique},
journal = {Electronics},
year = {2003},
volume = {7},
number = {4},
pages = {119--123},
note = {YU ISSN 1450-5843, Republic of Srpska, Bosnia and Herzegovina}, }
@manual{Popov03a,
author = {Андрей Попов},
title = {Генетични алгоритми за оптимизация - ръководство на потребителя за GAmin toolbox за MATLAB},
school = {Технически Университет - София, факултет "Автоматика", катедра "Системи и Управление"},
url = {http://www.p0p0v.com/science/},
year = {2003}, }
@manual{Popov03a_EN,
author = {Andrey Popov},
title = {Genetic Algorithms for Optimization - User Manual for the GAmin toolbox for Genetic Algorithms Optimization for MATLAB},
school = {Technical University - Sofia, faculty "Automatics", department "Systems and Control"},
url = {http://www.p0p0v.com/science/},
Year = {2003}, }
@mastersthesis{Popov03,
author = {Андрей Попов},
title = {Генетични алгоритми за оптимизация - приложение в задачата за синтез на регулатор},
school = {Технически Университет - София, факултет "Автоматика", катедра "Системи и Управление"},
year = {2003},}
@mastersthesis{Popov03,
author = {Andrey Popov},
title = {Genetic Algorithms for Optimization - Application in the regulator synthesis task},
school = {Technical University - Sofia, faculty "Automatics", department "Systems and Control"},
Year = {2003},}
The differences between Genetic Algorithms and Evolutionary Algorithms are mainly on historical base. Nowadays the two terms are mainly used as interchangeable ones)
This Single- and Multi-objective Genetic Algorithm toolbox for Matlab was developed as part from my bachelors thesis. Since then I'm able to work on it only in my free time. If you find bugs or you have recommendations they are welcomed. Any other kind of contribution (additional functions, modules, etc.) will be appreciated as well.
The programs were created with Matlab ver. 6.
The advantages of the Genetic Algorithm Optimization toolbox GAmin are:
Single objective optimization (functions GAminBC and GAminSC)
Multi-objective Optimization (GAMOminBC and GAMOminSC functions). This optimization is Pareto based
Ability to perform blending (intermediate) and scattered (conventional) crossover (marked correspondingly as BC and SC
Ability to encode floating point, integer and/or Boolean variables. The toolbox allows the genes to be a combination of the above. In case of floating point one can also define the precision of each variable
Intermediate results and visualization as well as final plots and display, at the end of the optimization run
User defined search space (boundaries for the variables)
By using the Matlab environment, the toolbox allows combination with the large variety of other toolboxes offered by Matlab, Simulink and third parties
Easy to write additional functions or exchange existing ones
Detailed user manual as well as help to each function
10 predefined optimization options. Possibility to easy define and save new options
More detailed information about Genetic Algorithms and the provided here functions can be obtained by the user manual.
The last stage in the design of intelligent systems is the minimization of its functional description. This paper compares two of the well known methods for minimization of Boolean functions and proposes software solution, based on them. The comparison analysis continues with the synthesis stage, which is done in the MATLAB software environment and uses different building blocks.
@inproceedings{MihailovPopovFilipovaKasev02,
author = {Stefan Mihailov and Andrey Popov and Krasimira Filipova and Nikolai Kasev},
title = {Comparative Analysis of Boolean Function's Minimization in Terms of Simplifying the Synthesis},
booktitle = {Proceedings of the First International Congress of Mechanical and Electrical Engineering and Technologies and the Fourth International Conference on Marine Industry},
address = {Varna, Bulgaria},
year = {2002},
pages = {273--276},
note = {ISBN 954-20-0215-7}, }
Combines the elements of 2 Matlab/Octave structures, whereas the elements of userOpt are overwriting the elements of defaultOpt. Thus the function is well suited for option's structures: the all the specified by the user options are used, and the rest are set to the default values given in defaultOpt.
Path tools provides 2 easy functions to manage your toolboxes/folders. The toolboxes are specified by name, identifier and path in defTBX.m file. Optional 'info' field provides overview, when evoking needs() or goto().
needs: allows adding and removing toolboxes to the Matlab path.
needs('TBX1','TBX2','-TBX3') adds 'TBX1' and 'TBX2' to the Matlab path and removes 'TBX3' from the path (if there). Alternatively use needs TBX1 TBX2 -TBX3 or needs(n1,n2,-n3) where n1 is the identifier of toolbox TBX1, etc. needs(100:120) loads all toolboxes with identifiers from 100 to 120.
goto: allows changing the current folder to a specified toolbox.
goto('TBX1') changes the current folder to the one of toolbox TBX1. Alternatively use goto TBX1 or goto n1
extracthelp extracts the help lines of all M-files in the current folder and writes them in files (with corresponding names) in a sub-folder .\phelp.
The function is useful in combination with the 'pcode' function of Matlab. With 'pcode' you can create pre-parsed P-files of your M-files and functions, and distribute them to users, who shouldn't not have access to the original code. As 'pcode' does not preserve the help information of the functions, I developed 'extracthelp' to do exactly this.
extracthelp : creates the .\phelp folder and the help files for all files in the current folder pcode *.m % convert all M-files to P-files.
movefile('*.p','.\phelp') : moves the P-files to the phelp folder, which now contains files you safely distribute.