ISSN (Print) Research Article. *Corresponding author Nengfa Hu

Similar documents
Ones Assignment Method for Solving Traveling Salesman Problem

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem

3D Model Retrieval Method Based on Sample Prediction

Optimization for framework design of new product introduction management system Ma Ying, Wu Hongcui

A Note on Least-norm Solution of Global WireWarping

Ontology-based Decision Support System with Analytic Hierarchy Process for Tour Package Selection

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

Harris Corner Detection Algorithm at Sub-pixel Level and Its Application Yuanfeng Han a, Peijiang Chen b * and Tian Meng c

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

BOOLEAN MATHEMATICS: GENERAL THEORY

Elementary Educational Computer

GPUMP: a Multiple-Precision Integer Library for GPUs

Optimization of Multiple Input Single Output Fuzzy Membership Functions Using Clonal Selection Algorithm

An Estimation of Distribution Algorithm for solving the Knapsack problem

Fuzzy Minimal Solution of Dual Fully Fuzzy Matrix Equations

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

Optimum Solution of Quadratic Programming Problem: By Wolfe s Modified Simplex Method

Chapter 3 Classification of FFT Processor Algorithms

AN OPTIMIZATION NETWORK FOR MATRIX INVERSION

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation

Fuzzy Rule Selection by Data Mining Criteria and Genetic Algorithms

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Solving Fuzzy Assignment Problem Using Fourier Elimination Method

How do we evaluate algorithms?

Computers and Scientific Thinking

Data diverse software fault tolerance techniques

Adaptive Resource Allocation for Electric Environmental Pollution through the Control Network

Euclidean Distance Based Feature Selection for Fault Detection Prediction Model in Semiconductor Manufacturing Process

Goals of the Lecture UML Implementation Diagrams

Hole Machining Path Planning Optimization Based on Dynamic Tabu Artificial Bee Colony Algorithm

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis

HADOOP: A NEW APPROACH FOR DOCUMENT CLUSTERING

Feature classification for multi-focus image fusion

Mobile terminal 3D image reconstruction program development based on Android Lin Qinhua

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

A Novel Approach to Solve Multiple Traveling Salesmen Problem by Genetic Algorithm

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits

Introduction. Nature-Inspired Computing. Terminology. Problem Types. Constraint Satisfaction Problems - CSP. Free Optimization Problem - FOP

LU Decomposition Method

Multi Attributes Approach for Tourist Trips Design

Evolutionary Hybrid Genetic-Firefly Algorithm for Global Optimization

Study on effective detection method for specific data of large database LI Jin-feng

Service Oriented Enterprise Architecture and Service Oriented Enterprise

SOFTWARE usually does not work alone. It must have

Bayesian approach to reliability modelling for a probability of failure on demand parameter

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods.

Research on K-Means Algorithm Based on Parallel Improving and Applying

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

l-1 text string ( l characters : 2lbytes) pointer table the i-th word table of coincidence number of prex characters. pointer table the i-th word

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs

Security of Bluetooth: An overview of Bluetooth Security

Variance as a Stopping Criterion for Genetic Algorithms with Elitist Model

Project 2.5 Improved Euler Implementation

Fast Fourier Transform (FFT) Algorithms

Neuro Fuzzy Model for Human Face Expression Recognition

Keywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency

A New Bit Wise Technique for 3-Partitioning Algorithm

Python Programming: An Introduction to Computer Science

Probability of collisions in Soft Input Decryption

Web Text Feature Extraction with Particle Swarm Optimization

Data Structures and Algorithms. Analysis of Algorithms

Redundancy Allocation for Series Parallel Systems with Multiple Constraints and Sensitivity Analysis

VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION. Thomas Wiedemann

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Improving Template Based Spike Detection

SCHEDULING OPTIMIZATION IN CONSTRUCTION PROJECT BASED ON ANT COLONY GENETIC ALGORITHM

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Analysis of Algorithms

New HSL Distance Based Colour Clustering Algorithm

Τεχνολογία Λογισμικού

ANN WHICH COVERS MLP AND RBF

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5

Recursion. Recursion. Mathematical induction: example. Recursion. The sum of the first n odd numbers is n 2 : Informal proof: Principle:

Heuristic Approaches for Solving the Multidimensional Knapsack Problem (MKP)

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs

Memetic Algorithm: Hybridization of Hill Climbing with Selection Operator

BAYESIAN WITH FULL CONDITIONAL POSTERIOR DISTRIBUTION APPROACH FOR SOLUTION OF COMPLEX MODELS. Pudji Ismartini

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS

CSE 111 Bio: Program Design I Lecture 17: software development, list methods

IMP: Superposer Integrated Morphometrics Package Superposition Tool

Available online at ScienceDirect. Procedia CIRP 53 (2016 ) 21 28

A Study on the Performance of Cholesky-Factorization using MPI

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

Optimization of Multiple Traveling Salesmen Problem by a Novel Representation based Genetic Algorithm

CIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13

Bayesian Network Structure Learning from Attribute Uncertain Data

Avid Interplay Bundle

Algorithms for Disk Covering Problems with the Most Points

Mining from Quantitative Data with Linguistic Minimum Supports and Confidences

Sectio 4, a prototype project of settig field weight with AHP method is developed ad the experimetal results are aalyzed. Fially, we coclude our work

Analysis of Class Design Coupling Based on Information Entropy Di Jiang 1,2, a, Hua Zhou 1,2,b and Xingping Sun 1,2,c

BOOLEAN DIFFERENTIATION EQUATIONS APPLICABLE IN RECONFIGURABLE COMPUTATIONAL MEDIUM

Analysis of Algorithms

Panel for Adobe Premiere Pro CC Partner Solution

Dynamic Programming and Curve Fitting Based Road Boundary Detection

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem

Journal of Chemical and Pharmaceutical Research, 2013, 5(12): Research Article

Fuzzy Membership Function Optimization for System Identification Using an Extended Kalman Filter

Transcription:

Scholars Joural of Egieerig ad Techology (SJET) Sch. J. Eg. Tech., 2016; 4(5):249-253 Scholars Academic ad Scietific Publisher (A Iteratioal Publisher for Academic ad Scietific Resources) www.saspublisher.com ISSN 2321-435X (Olie) ISSN 2347-9523 (Prit) Research Article A Desig Model for the Geeral Evolutioary Algorithm Negfa Hu Departmet of Computer Sciece ad Egieerig, Hasha, Normal Uiversity, Chaozhou 521041, Chia *Correspodig author Negfa Hu Email: huegfa326@sia.com Abstract: The study aims to solve the uiversality of evolutioary computatio for solvig differet optimizatio problems, avoid the repeatig desig, ad share codes, so as to improve the applicatio efficiecy of the algorithms. To achieve this, the authors put forward a geeral evolutioary model based o object-orieted programmig laguage (C# laguage) i this paper. This model divides the problem domai, the fitess fuctio, the algorithm ad the parameter cotrol ito differet classes, which are ecapsulated ito differet objects so as to ehace the idepedece of each module. By utilizig the model, it is coveiet to develop, reuse, exted ad modify software while guarateeig the uiversality of the algorithm at the same time. Keywords: evolutioary computatio, model, geetic algorithm, object-orieted. INTRODUCTION Geetic algorithm which plays a key role i the evolutioary computatio is a global optimizatio algorithm for simulatig atural selectio ad atural geetic mechaism i the process of biological evolutio. Accordig to Darwi s theory of evolutio ad Medel s theory of heredity, Joh Hollad of Michiga Uiversity i America proposed geetic algorithm i 1975, which has bee developed rapidly after beig studied for more tha forty years [1]. This has bee proved that it is a very effective method ad has bee widely applied i various fields such as eural etworks, fuctio optimizatio, image processig, system idetificatio ad expert systems due to its high efficiecy ad practicality [2-5]. I fact, the essece of traditioal geetic algorithms is to costatly evolve a populatio usig populatio search techique based o the priciple of survival of the fittest ad fially to obtai the optimal solutio. The specific realizatio method is as follows: 1) The feasible regios are determied accordig to specific problems ad their solutios ca be expressed by a codig scheme; 2) Each solutio eeds to be measured accordig to a measuremet basis, which is geerally sigified by a oegative fuctio, that is, fitess fuctio; 3) The evolutioary parameters, amely, the populatio size N, the crossover probability p, the mutatio probability p m ad the ed coditios of evolutio, are determied; c 4) A iitial populatio cotaiig a umber of idividuals is geerated, ad each idividual is a feasible solutio to problems; 5) The fitess values of each idividual i the populatio are calculated; 6) If the optimal solutio is obtaied, the loop stops. 7) Accordig to the fitess values of each idividual, the geetic operatios icludig selectio, hybridizatio ad mutatio are performed; 8) Goig back to the fifth step. Although geetic algorithms are very effective, they preset a promiet shortcomig while beig used to solve specific problems. That is, a problem ca ofte be solved by employig differet evolutioary algorithms, ad a algorithm ca also be used to solve differet problems. I this case, if a applicatio program eeds to be desiged for each problem ad algorithm, it ot oly reduces the efficiecy of work, but also brigs difficulties i comparig various algorithms. Therefore, it is ecessary to desig a kid of evolutioary algorithm which has a high code reuse rate, preferable uiversality ad expasibility so that effectively solve the above problems. A DESIGN MODEL FOR EVOLUTIONARY ALGORITHM Characteristics of the object-orieted programmig C# laguage C# laguage, as a comprehesive object-orieted programmig laguage [8-11], iherits the advatages of C ++ ad Java laguages ad is characterized by simplicity, flexibility ad powerful fuctios. I additio, it shows the most distict characteristics such 249

as ecapsulatio, iheritace ad polymorphism. C# laguage program which is composed of classes does ot cotai fuctios ad variables idepedet from classes, ad all attributes ad methods are ecapsulated i classes. Moreover, the examples of classes, that is, objects, are basic logic compoets of the programmig. The system shares the methods ad attributes of classes based o the iheritace mechaism, while the commuicatio amog objects is realized by deliverig iformatio. The objects maily cosist of two parts, amely, attributes ad methods, ad there ito, the former is used to describe the iterior structures of objects, while the latter shows the behaviors of objects. The pricipal-aget mechaism provided by C# laguage ca effectively realize the polymorphism of classes so as to reuse the code ad improve the developmet efficiecy of software. Divisio of basic fuctios of evolutioary algorithm Through aalyzig the evolutioary algorithm, it is foud that evolutioary algorithm ca be divided ito differet modules, such as the problem domai, the fitess fuctio, the evolutioary algorithm ad the parameter cotrol. Amog them, the evolutioary algorithm is composed of some geetic operators icludig selectio, hybridizatio ad mutatio. Whe desigig the geeral evolutioary algorithm, the system ca be divided ito differet fuctio modules to guaratee the idepedece of all parts. The fuctio figure (Figure 1) basically reflects the compositio of the overall system, ad Figure 2 demostrates the user iterface for realizig Figure 1. I the fuctio figure, the problem domai module maily selects ad processes mathematical models cocerig differet problems. While the fitess fuctio module maily calculates the fitess values of selected problems accordig to differet codig schemes ad rules to provide services for all idividuals i the populatio, that is, calculatig the fitess values of each idividual. The evolutioary operator module maily coducts geetic operatios icludig selectio, hybridizatio ad mutatio to evolve the populatio module so as to chage the states of idividuals i the populatio costatly. All these operatios performed by the evolutioary operator module are based o the services provided by the parameter settig module. The services refer to parameters such as the crossover probability, the mutatio probability, the evolutioary geeratios ad the ed coditio. While, the populatio module maily computes the fitess values of all idividuals i the populatio accordig to the services supplied by the fitess fuctio module ad marks the best ad worst idividuals as well as their curret states. Meawhile, exteral users ca properly desig, select, modify, set ad maitai the system by chagig the cotets of the differet modules icludig the problem domai, the fitess fuctio ad the parameter settig to keep the system more stable ad efficiet. <<exted>> problem domai fitess fuctio multi-fitess fuctio user parameter settig populatio <<exted>> evolutioary operator multi-group selectio operator crossover operator mutatio operator Fig-1: The fuctios of the system 250

Fig-2: The home page of the user iterface THE STATIC MODEL OF THE GENERAL EVOLUTIONARY ALGORITHM The static model of the geeral evolutioary algorithm is show as the class diagram i Figure 3. The geeral evolutioary algorithm cosists of may classes, while the figure just presets the major oes. Amog them, the problem class is used to describe the problem domai, i which the cause is the most importat attribute which is a irregular twodimesioal (2D) array storig aalytic expressios. A aalytic expressio is a mathematical model which is built after the abstractio of origial problems ad geerally exists i the form of a multi-objective optimizatio problem with costraits. Aalytic expressios ca be divided ito two types, amely, the objective oes ad the costrait oes, both of which are stored ito a irregular 2D array. The former is located i the elemets o the first lie, while the latter is stored i the elemets o the secod lie. Uder circumstaces that there is o costrait or merely oe objective, the problem is supposed to be simplified as a optimizatio problem with a sigle objective or without costraits. Because the legth of this irregular array like C# laguage is variable, it preferably solves problems i the case that the quatities of objective fuctios ad costrait fuctios are ukow so that it is coveiet to realize the software. Fit class is maily used to calculate the fitess values of fuctios ad ca select differet calculatio schemas for class objects by employig self its strategy method. While whe Compute method is adopted to calculate the fitess values of fuctios, it seds iformatio to problem objects so as to call the correspodig problems to solve. Populatio class ecapsulates mai attributes ad methods of a evolutioary populatio. There ito, the attribute N marks the total umber of idividuals i the curret populatio object; the attribute P is a irregular 2D array storig all idividuals ad cotais N lies i total, while its colum umber depeds o the umber of variables i the solved problems; the attribute Fitess P is a oedimesioal array belogig to double type ad is maily used to store the fitess values of all idividuals i the populatio; while the attributes Best, Worst, Fit Best ad Fit worst are used to record the subscripts ad fitess values of the best ad worst idividuals, respectively; the attribute T represets the evolutioary geeratios. The sum of all attributes basically reflects the curret state of the populatio. Whe the state satisfies certai coditios, the attribute Flag is set as 1. Arithmetic method is maily used to select idividuals from the populatio ad applies these selected idividuals as parameters to perform geetic operatios by usig the method of Evolve class. Whe the algorithm eds, Best displays the evolutioary result. The method of Evolve class is maily used for crossover ad mutatio operatios to geerate ew idividuals. The, these ew idividuals ad their 251

fitess values are expected to retur to the Populatio object, which the determies the idividuals of the ew populatio. Mai Widow class, as the etrace of whole system, is used to seds all iformatio icludig the parameter settig, the selectio of problems, the calculatio rules of fitess values, the selectio of geetic operators, ad the start or stop of the algorithm. Fig-3: The classes of the evolutioary algorithm REALIZATION OF THE GENERAL ALGORITHM mif 1(x), f2(x) fk(x) (x D) C# laguage program is composed of the classes. O the basis of the desiged class diagram, algorithms are desiged ad codes are programmed for each method i the classes. Due to the limitatio of legth of the paper, the authors oly list a few mai methods. I Fit class, may Compute methods are reloaded to calculate the fitess values of idividuals. The mathematical model correspodig to problems i the algorithm is mi f (x), f (x) f (x) (x D ) 1 2 K Where, K, ad q sigify the umbers of objective fuctios, idepedet variables ad iequality costraits, respectively. Meawhile, D { xs R ; g ( x) 0; i 1,2,,q} i Especially, whe q = 0, D x S R., which is a problem without costraits. The followig algorithm is to solve multi-objective optimizatio problems accordig to the weights. Whe a problem just has oe objective, the value of problem.cause [0]. legth is set as 1. Here, the algorithm is coverted to that for solvig the optimizatio problem with a sigal objective. Public double compute () { Problem problem=ew Problem ( ); double fit; for(it i=0; i< problem.cause [0].legth; i++) fit+=w*problem.cause[0][i]; for(it i=0; i < problem.cause[1].legth; i ++) if (problem.cause[1][i]>0) fit+=math.abs(problem.cause[1][i]); retur fit; } Arithmetic1 method ad other methods of Evolve class are sued for geetic operatios such as hybridizatio ad mutatio. Each method ca be reloaded by usig a same fuctio ame, ad ca be exteded or modified as well. The algorithm is: Public void Arithmetic1 () { Problem problem=ew Problem( ); for(it i=0; i<variable_um; i++) ewp[i]=u*x[i]+(1-u)y[i]; } EXPERIMENTAL ANALYSIS I this paper, the authors select some examples to test, ad the results show that the algorithm has favorable uiversality. 252

Example 1: Mi f ( x) 5 i1 j 1 j cos[( j 1) x s. t. 10 xi 10, i 1,2,, Result: There are total 18 optimal solutios with the best value beig - 186.730908 831023936. Example 2: Solvig equatio x si( 30x ) 1 0.9739626 0. 2 Result: There are 2 solutios, amely, 0.05177940 18767711 ad - 0.05179980 67294474. Example 3: Solvig equatio 2 2 ( x 99.7091) y 10000 0, si(5x) cos(5 y) 1.9932 0,. x [ 2, 2], y [ 2, 2] Result: Oe optimal solutio is obtaied, that is, x 0.29089998 1923866, y 0.00190137 467344881, Meawhile, there are two suboptimal solutios, amely, x 0.28300535 6657623 ad y 1.25652948 356279 x 0.283006262097718. y -1.25645765286324 i j], 6. Joh GJ; Proceedigs of a Iteratioal Coferece o Geetic Algorithms ad Their Applicatios. Hillsdale, NJ: Lawrece Erlbaum Associates, 1985 7. Schaffer JD; Proceedigs of the Third Iteratioal Coferece o Geetic Algorithms. Sa Mateo, CA: Morga Kaufma Publishers Ic., 1989. 8. Ge Y, Liu Q, Xiog H, Tuzhili A, Che J; Costaware travel tour recommedatio. I Proceedigs of the 17th ACM SIGKDD iteratioal coferece o Kowledge discovery ad data miig, 2011; 983-991. 9. Liu Q, Ge Y, Li Z, Che E, Xiog H; Persoalized travel package recommedatio. I Data Miig (ICDM), 2011 IEEE 11th Iteratioal Coferece o, 2011; 407-416. 10. Zheg VW, Zheg Y, Xie X, Yag Q; Towards mobile itelligece: Learig from GPS history data for collaborative recommedatio. Artificial Itelligece, 2012; 184:17-37. 11. Tag J, Wu S, Su J, Su H; Cross-domai collaboratio recommedatio. I Proceedigs of the 18th ACM SIGKDD iteratioal coferece o Kowledge discovery ad data miig, 2012; 1285-1293. CONCLUSIONS Based o the object-orieted characteristic of C# laguage, the modules icludig the problem domai, the fitess value of idividuals, the populatio, the evolutioary operators ad the parameters are further divided ito differet classes. The purpose is to stregthe the idepedece of all modules so that make it coveiet to develop, reuse, exted ad modify software. The experimet illustrates that the algorithm is effective i improvig the efficiecy of software ad shows relatively high uiversality. REFERENCES 1. Hollad JH; Adaptatio i atural ad artificial systems. A Arbor, MI: Uiversity of Michiga Press, 1975. 2. Fogel LJ, Owes AJ, Walsh MJ; Artificial Itelligece through Simulated Evolutio. Joh Wiley, New York. 1966. 3. Schwefel HP; Evolutio ad Optimum Seekig, Joh Wiley & Sos, New York, 1995. 4. Koza JR; Geetic Programmig. O the Programmig of Computers by Meas of Natural Selectio. MIT Press, Cambridge, 1992. 5. Koza JR; Geetic Programmig I: Automatic Discovery of reusable programs. MIT Press, Cambridge, 1994. 253