research article an effective heuristic-based approach for...
TRANSCRIPT
Hindawi Publishing CorporationJournal of Applied MathematicsVolume 2013 Article ID 138037 8 pageshttpdxdoiorg1011552013138037
Research ArticleAn Effective Heuristic-Based Approach for Partitioning
Xibin Zhao1 Hehua Zhang1 Yu Jiang12 Songzheng Song3 Xun Jiao4 and Ming Gu1
1 School of Software Tsinghua University TNLIST KLISS Beijing 100084 China2 School of Computer Science and Technology Tsinghua University Beijing 100084 China3 School for Integrative Sciences and Engineering National Univerisity of Singapore Kent Singapore 1190774 International school Beijing university of post and telecommunication Beijing 100876 China
Correspondence should be addressed to Yu Jiang jiangyu198964126com
Received 7 March 2013 Accepted 22 March 2013
Academic Editor Xiaoyu Song
Copyright copy 2013 Xibin Zhao et al This is an open access article distributed under the Creative Commons Attribution Licensewhich permits unrestricted use distribution and reproduction in any medium provided the original work is properly cited
As being one of the most crucial steps in the design of embedded systems hardwaresoftware partitioning has received moreconcern than ever The performance of a system design will strongly depend on the efficiency of the partitioning In this paper weconstruct a communication graph for embedded system and describe the delay-related constraints and the cost-related objectivebased on the graph structureThen we propose a heuristic based on genetic algorithm and simulated annealing to solve the problemnear optimallyWe note that the genetic algorithmhas a strong global search capability while the simulated annealing algorithmwillfail in a local optimal solution easily Hence we can incorporate simulated annealing algorithm in genetic algorithmThe combinedalgorithmwill providemore accurate near-optimal solutionwith faster speed Experiment results show that the proposed algorithmproduce more accurate partitions than the original genetic algorithm
1 Introduction
Embedded systems [1ndash3] are becoming more and moreimportant because of the wide applications They consist ofsome hardware and software components This is benefi-cial because hardware will lead to faster speed with moreexpensive cost while software will lead to lower speed withcheaper cost So critical components can be implemented inhardware and noncritical components can be implementedin software This kind of hardwaresoftware partitioning canfind a good tradeoff between system performance [4] andpower consumption [5] How to find an efficient partition hasbeen one of the key challenges in embedded system designTraditionally partitioning is carried out manually The targetsystem is usually given in the form of a task graph which isusually assumed to be a directed acyclic graph describing thedependencies among the components of embedded systemRecently many research efforts have been undertaken toautomate this task Those efforts can be classified by thefeature of the partitioning architecture and algorithm aspects
On the target architecture aspect of the partitioningproblem some are assumed to consist of a single software and
a single hardware unit [6ndash9] parallelism among componentsis another assumed limitation while others do not imposethese limitations The target system is usually given in theform of a task graph a directed acyclic graph describing thedependencies between the components of the system
The family of exact algorithm includes branch andbound [10ndash12] integer linear programming [6 7 13] anddynamic programming [14ndash16]Those algorithms are used forpartitioning problems with small inputs successfully Whenapplied to problems with inputs of large size they tendto be quite slow The reason is that most formulations ofthe partitioning problem are NP hard [17] and these exactalgorithms have exponential runtime
Corresponding to the exact algorithms there are moreflexible and efficient heuristic algorithms Right now mostof the researches focus on heuristic algorithms Traditionalheuristic algorithms are software oriented and hardware ori-ented The hardware oriented heuristic algorithms start witha complete hardware implementation and then iterativelymove component to software until the given constraintsare satisfied [18 19] The software oriented algorithms startwith a complete software implementation and iteratively
2 Journal of Applied Mathematics
move component to hardware until the speedup time con-straints are met [20 21] Many general-purpose heuristicalgorithms are also utilized to solve the system partitioningproblem Simulated annealing-related algorithms [22ndash24]genetic algorithms [8 9 25 26] tabu search and greedyalgorithms [25 27 28] have been extensively used to solvepartitioning problem
In addition to the general-purpose heuristic algorithmssome researchers have constructed heuristic algorithms thatleverage problem-specific domain knowledge and can findhigh-quality solution rapidly For example authors define twoversions of the original partitioning problem and proposetwo corresponding algorithms in [29] In the first algorithmthe problem is converted to find a minimum cut in thecorresponding auxiliary graph The second algorithm is torun the first algorithm with several different parameters andselect the best partition from this set that fulfills the givenlimit Another example is presented in [30] Authors reducethe partitioning problem to a variation of knapsack problemand solve it by searching one-dimension solution spacewith three greedy-based algorithms instead of searchingtwo-dimension solution space in [29] This strategy reducestime complexity without loss of accuracy Some researchersaddress the issue that we cannot accurately determine the costand time of system components in the design stage Somepeople think that they are a subjective probability and makeuse of this theory in system level partitioning [31ndash33]
Most of the algorithms work perfectly within theirown codesign environment In this paper we construct acommunication graph in which the implementation costexecution time and communication time are all takeninto account We construct a mathematical model basedon this communication graph and solve the model by anenhanced heuristic method The proposed heuristic methodincorporates simulated annealing into genetic algorithm toimprove the accuracy and speed of original genetic algorithmSimulation results show that the new algorithm providesmore accurate and faster partitions than that of originalgenetic algorithm
This paper is organized as follows Some background onthe genetic algorithm and simulated annealing is introducedin Section 2 The constructed communication graph andthe proposed mathematical model definition for partitioningproblem are presented in Section 3 Section 4 presents themethod which incorporates simulated annealing in geneticalgorithm for the partitioning model Experiment resultsabout the comparison of the original genetic method and thecombinedmethod are given in Section 5 Finally we concludethe paper in Section 6
2 Background
This section provides some detailed notations and definitionsof genetic algorithm and simulated annealing algorithm
21 Simulated Annealing Simulated annealing algorithm is ageneric probabilistic metaheuristic for the global optimiza-tion problem locating a good approximation to the globaloptimum of a given function It is proposed by Kirkpatrick
et al [34] based on the analogy between the solid annealingand the combinatorial optimization problem In condensedmatter physics annealing involves materialsrsquo heating andcontrolled cooling
Before the implementation of simulated annealing algo-rithm we need to choose an initial temperature After theinitial state is generated the two most important operationsGeneration and Acceptation can be performed
Then the algorithm will reduce the value of the temper-ature The iteration process will stop until certain conditionis met for example a good approximation to the globaloptimumof the given function has been foundThe algorithmis shown in the Algorithm 1
22 Genetic Algorithm A genetic algorithm is a searchheuristic that mimics the process of natural evolution Thebasic principles of genetic algorithm were laid down byHolland [35] and have been proved useful in a variety ofsearch and optimization problems Genetic algorithms arebased on the survival-of-the-fitness principle which tries toretain more genetic information from generation to genera-tion A genetic algorithm is composed of a reproductive planthat provides an organizational framework for representingthe pool of genotypes of a generation After the successfulgenotypes are selected from the last generation the set ofgenetic operators such as crossover mutation and inversionis used in creating the offspring of the next generationWhenever some individuals exhibit better than average per-formance the genetic information of these individuals will bereproduced more often
Before the implementation of genetic algorithm we needto generate an initial population and define a fitness functionEach individual of the initial population is a binary stringwhich corresponds to a dedicated encoding The initialpopulation is usually generated randomly We will evaluateeach individual with the fitness function The fitness of eachindividual is defined as 119891
119894119891 where 119891
119894is the evaluation of
individual i and 119891 is the average evaluation of all individ-uals Then the most important three operators SelectionCrossover and Mutation can be performed on the currentgeneration
Then we can evaluate individuals of the next generationwith the fitness function deciding whether to stop or goon performing the three operations The evolution processwill stop until certain condition is met for example thefitness of individual will not be improved any more Finallythe algorithm will return the best individual of the latestgeneration as the solution The algorithm is shown in theAlgorithm 2
3 Problem FormulationThis section provides the formal definition of the partitioningproblem including the constructed communication graphstructure formal notations and mathematical model
31 Problem Definition While preserving the dependenciesamong the system taskmodules we build a graph structure torepresent the real-world system The communication graphcan be constructed through the following steps
Journal of Applied Mathematics 3
(1) Initialize the parameters of the annealing algorithm(2) Randomly generate an initial state as the 119888119906119903119903119890119899119905 119904119905119886119905119890(3) K = 1(4) while (system has been frozen) do(5) while (system equilibrium at 119879
119896) do
(6) call generation strategy for the 119899119890119909119905 119904119905119886119905119890 119895(7) Δ119864
119894119895= cost(119899119890119909119905 119904119905119886119905119890 119895) minus cost(119888119906119903119903119890119899119905 119904119905119886119905119890)
(8) 119875119903= 119860119894119895
(9) if (119875119903gt 119903119886119899119889119900119898[0 1)) then
(10) 119888119906119903119903119890119899119905 119904119905119886119905119890 = 119899119890119909119905 119904119905119886119905119890 119895(11) end if(12) end while(13) 119879
119896+1= 119879119896sdot 120572
(14) end while(15) return 119888119906119903119903119890119899119905 119904119905119886119905119890
Algorithm 1 Annealing algorithm
0
1
2
3 45
6
Task
Task
TaskTask
Task
Task
Task
Task
Figure 1 Constructed task module of a given system
0 1
23
4
5 6
Figure 2 Constructed graph structure for the system to be parti-tioned
(i) Determine the boundary of the system to be parti-tioned identify the main task modules in this bound-ary and describe the data signal flow through thesetask modules We can accomplish this by referringto the design document designer implementer anddeployer of the system A simple example is shown inFigure 1
(ii) Construct the communication graph structure forthe presented system We map a node to each basictask module Edges presented in step 1 are regarded
as causal or dependency correlations caused by datacommunication An arc is added between two nodesif the represented basic task modules are connectedThis can be easily finished based on the modelconstructed in the previous step The constructedcommunication graph structure for the systemmodelis shown in Figure 2
Based on the communication graph structure we can for-malize the problem as follows The communication graph isdenoted as 119866(119881 119864) where 119881 is the set of nodes V
1 V2 V119899
and 119864 is the set of edges 119890119894119895| 1 le 119894 119895 le 119899 We need to
add cost values and execution time to each node as well ascommunication cost to each edgeThe following notations aredefined on 119881 and 119864
(i) ℎ119894denotes the cost of node i in hardware implemen-
tation and 119904119894denotes the cost of node i in software
implementation(ii) 119905ℎ119894denotes the execution time of node i in hardware
implementation and 119905119904119894denotes the execution time of
node i in software implementation(iii) 119888119894119895denotes the communication time between node i
j The value of 119888119894119895is given in the context that the two
nodes are implemented in different way
The partitioning problem is to find a bipartition P whereP = (119881
ℎ 119881119904) such that 119881
ℎ⋃119881119904= 119881 and 119881
ℎ⋂119881119904= 0
The partitioning problem can be represented by a decisionvector x(119909
1 1199092 119909119899) representing the implementation way
of the n task modules There are three kinds of optimizationand decision problems defined on the softwarehardwarepartitioning
1198761 1198670is the given hardware constraint Find a HWSW
partition P such that119867119883le 1198670and 119879
119883is the minimal
execution time1198762 1198790is the given execution time constraint Find a
HWSW partition P such that 119879119883le 1198790and119867
119883is the
minimal hardware cost
4 Journal of Applied Mathematics
(1) Initialize the parameters of the genetic algorithm(2) Randomly generate the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(3) 119892119890119899119890119903119886119905119894119900119899 = 1(4) while (119892119890119899119890119903119886119905119894119900119899 le 119898119886119909 119892119890119899119890119903119886119905119894119900119899) do(5) clear the 119899119890119908 119901119900119901119906119897119886119905119894119900119899(6) compute fitness of individuals in the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(7) copy the individual with the highest fitness(8) while (119894119899119889119894V119894119889119906119886119897 119899119906119898119887119890119903 lt 119901119900119901119906119897119886119905119894119900119899 119904119894119911119890) do(9) Select two parents from the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(10) Perform the crossover to produce two offsprings(11) Mutate each offspring based on119898119906119905119886119905119894119900119899 119903119886119905119890(12) Place the offspring to 119899119890119908 119901119900119901119906119897119886119905119894119900119899(13) end while(14) Replace the 119900119897119889 119901119900119901119906119897119886119905119894119900119899 by the 119899119890119908 119901119900119901119906119897119886119905119894119900119899(15) end while(16) return 119899119890119908 119904119900119897119906119905119894119900119899 with the best fitness
Algorithm 2 Genetic algorithm
(1) Encode the parameters for the partitioning problem(2) Initialize the first generation 119875
0
(3) Calculate the fitness of each individual in 1198750
(4) Copy the individual with the highest fitness to the solution(5) while (termination conditions) do(6) while (number of individuals le generation size) do(7) Select two individuals (119892
1 1198922)
(8) Perform crossover on (1198921 1198922) rarr (1198921015840
1 11989210158402)
(9) if (maxfitness(11989210158401) fitness(1198921015840
2) lemaxfitness(119892
1) fitness(119892
2)) then
(10) Reject the crossover with 11989210158401= 1198921 11989210158402= 1198922
(11) else(12) Accept the crossover(13) end if(14) Perform mutation on 1198921015840
1to produce 119899119892
1
(15) if (fitness(1198991198921) le fitness(1198921015840
1)) then
(16) Reject the mutation 1198991198921= 11989210158401
(17) else(18) Accept the mutation(19) end if(20) Perform the above steps on 1198921015840
2to produce 119899119892
2
(21) end while(22) Calculate the fitness of each individual(23) if (the highest fitness ge fitness(solution)) then(24) Copy the individual with the highest fitness(25) end if(26) increase the generation number(27) end while(28) return solution 119909[119894] 119894 isin [1 119899]
Algorithm 3 Heuristic algorithm
1198763 1198670and 119879
0are the given hardware constraint and exe-
cution time constraint respectively Find a HWSWpartition P such that119867
119883le 1198670and 119879
119883le 1198790
It has been proved that 1198761 1198762are NP hard and 119876
3is
NP complete [36] In this paper HWSW partitioning isperformed according to the 119876
2type
32 Mathematical Model As described in Section 1 a parti-tion is characterized by two metrics cost and time The costincludes hardware cost and software cost It represents theresource consumption to achieve the hardware and softwareimplementation of each task module The time includes theexecution time of each task module and the communicationtime between task modules
Journal of Applied Mathematics 5
(1) Encode the parameters and solution for the partitioning problem(2) Initialize the first generation 119875
0 temperature 119879
0 annealing ratio 120572
(3) Calculate the fitness of each individual in 1198750
(4) Copy the individual with the highest fitness to the solution(5) while (termination conditions) do(6) while (number of individuals le number of the generation size) do(7) Select two individuals (119892
1 1198922) from the current generation
(8) Perform crossover on (1198921 1198922) to produce two new individuals (1198921015840
1 11989210158402) lowast start of annealing-crossoverlowast
(9) if (maxfitness(11989210158401) fitness(1198921015840
2) lemaxfitness(119892
1) fitness(119892
2)) then
(10) Δ119862 = maxfitness(11989210158401) fitness(1198921015840
2)minusmaxfitness(119892
1) fitness(119892
2)
(11) if (min1 exp(minusΔ119862119879119896) ge random[1 0)) then
(12) Accept the crossover(13) else(14) Reject the crossover with 1198921015840
1= 1198921 11989210158402= 1198922
(15) end if(16) else(17) Accept the crossover(18) end if lowast end of annealing-crossover lowast(19) Perform mutation on 1198921015840
1to produce 119899119892
1 lowast start of annealing-mutationlowast
(20) if (fitness(1198991198921) le fitness(1198921015840
1)) then
(21) Δ119862 = (fitness(1198991198921) minus fitness(1198921015840
1))
(22) if (min1 exp(minusΔ119862119879119896) ge random[1 0)) then
(23) Accept the mutation(24) else(25) Reject the mutation 119899119892
1= 11989210158401
(26) end if(27) else(28) Accept the mutation(29) end if lowast end of annealing-mutationlowast(30) Perform step (19)ndash(29) on 1198921015840
2to produce 119899119892
2
(31) end while(32) Calculate the fitness of each individual in current generation(33) if (the highest fitness of the current generation ge fitness(solution)) then(34) Copy the individual with the highest fitness to the solution(35) end if(36) Reduce the temperature and increase the generation number(37) end while(38) return solution 119909[119894] 119894 isin [1 119899]
Algorithm 4 Combined heuristic algorithm
Based on the definition of previous subsection hardwarecost119867(x) of the partition 119875(x) and the total time metric 119879(x)can be formalized as follows
119867(x) =119899
sum119894=1
ℎ119894(1 minus 119909
119894)
119879 (x) =119899
sum119894=1
119905119904119894119909119894+ 119905ℎ119894(1 minus 119909
119894) +119899minus1
sum119894=1
119899
sum119895=119894+1
119888119894119895[(119909119894minus 119909119895)2
]
(1)
Based on the formalization of the two metrics and thegiven constraintM on execution time the partitioning prob-lem can be modeled as the following optimization problem
minimize 119867(x)
subject to 119879 (x) le 119872 x isin 0 1119899(1198751)
which can be simplified as the problem (1198752) presented later
maximize119899
sum119894=1
ℎ119894119909119894
subject to119899minus1
sum119894=1
119899
sum119895=119894+1
119888119894119895[(119909119894minus 119909119895)2
]
+119899
sum119894=1
(119905119904119894minus 119905ℎ119894) 119909119894le 119872 minus
119899
sum119894=1
119905ℎ119894 x isin 0 1119899
(1198752)
4 Algorithm
In this section we propose two algorithms to solve the par-titioning problem (119875
2) based on genetic algorithm and sim-
ulated annealing algorithm The basic principles of genetic
6 Journal of Applied Mathematics
algorithm were laid down by Holland [35] and have beenproved useful in a variety of search and optimization prob-lems Genetic algorithm simulates the survival-of-the-fitnessprinciple of nature The principle provides an organizationalreproductive framework starting from an initial populationproceeding through some random selection crossover andmutation operators from generation to generation and con-verging to a group of best environment-adapted individualsSimulated annealing algorithm is a generic probabilisticmetaheuristic for the global optimization problem locatinga good approximation to the global optimum of a givenfunction It is proposed byKirkpatrick et al [34] based on theanalogy between the solid annealing and the combinatorialoptimization problem
41 Initial Algorithm We apply the genetic algorithm tothe uncertain partitioning problem to find the approximateoptimal solution of the problem (119875
2) The pseudo code in the
Algorithm 3 shows the description of the algorithmThe steps(1)ndash(4) are the initialization of parameters and solution of thepartition problem The step (5) is used to check whether thetermination condition of the propagation is met or not Thestep (6) is used to ensure that the number of individuals of thenext generation is not reduced The crossover and mutationoperations are performed in the iteration block to produceindividuals of the next generation The fitness function isdefined on the object function of the problem (119875
2)We choose
the crossover and mutation strategy from [36]
42 Improved Algorithm We note that the genetic algorithmhas a strong global search capability while the simulatedannealing algorithmwill fail in a local optimal solution easilyHence we can incorporate simulated annealing algorithmin genetic algorithm We hope that the combined algorithmwill provide more accurate near-optimal solution with fasterspeed The pseudo code in the Algorithm 4 shows thealgorithm
The steps (8)ndash(18) are the original crossover operationincorporated to the Metropolis of annealing algorithm Thekey idea is that when the original crossover operation pro-duces better individuals the crossover operation is acceptedOtherwise we will accept the new individuals as the candi-dates of next generation in theMetropolis criterionThe steps(9)ndash(29) are the original crossover operation incorporatedwith the Metropolis of annealing algorithm The key ideais the same as annealing crossover The modified geneticoperators ensure that the next generation is better than thecurrent generation with the accepted rules based on fitnessand Metropolis criterion Those accepted rules speed up theconvergence of the solution process without loss of accuracyThe steps (32)ndash(36) are the update of solution generationnumber and temperature
5 Empirical Results
The proposed two algorithms are heuristics the model isconstructed from the communication graph We have todetermine the performance and the quality of the model andthe solution We have implemented them in C and test the
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
Number of nodes
Min
imum
har
dwar
e cos
t
OptimalEGAGA
Figure 3 Minimum cost comparison of the partition
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
100
200
300
400
500
600
700
800
900
1000
Number of nodes
Exec
utio
n tim
e
EGAGA
Figure 4 Runtime comparison of the two algorithms
algorithms on Intel i5 227GHZ PC In order to demonstratethe effectiveness of the proposed algorithm we compareit with original genetic-algorithm-based partitioning [36]For testing several random instances with different nodesand metrics are utilized The parameters of the partitioningproblem are generated with the following rules
(i) ℎ119894is randomly generated in [1 100]
(ii) 119905ℎ119894is randomly generated in [1 100] and 119905119904
119894is ran-
domly generated in [119905ℎ119894 200 + 119905ℎ
119894]
(iii) 119888119894119895is randomly generated in [1 20]
(iv) 119872 is a given time constraint and randomly generatedin [sum1198991119905ℎ119894 sum119899
1119905119904119894]
Journal of Applied Mathematics 7
0 02 04 06 08 1 12 14 16 18 235
4
45
5
55
6
65
7
75
8
Iteration
Har
dwar
e cos
t
GAEGA
times104
times104
Figure 5 Convergence track for number of nodes equals 1000
The simulation results of the proposed algorithms as wellas the original genetic algorithm are presented in Figures3 and 4 Each instance is tested for 100 times and theaverage values are presented The first graph demonstratesthe accuracy of the proposed algorithm and the secondgraph demonstrates the efficiency of the proposed algorithmFurthermore we collect the convergence track and the runtime of the two algorithms
The values about the cost value are shown in Figures3 and 4 for different parameters configurations For thoserandom graphs with the small size of nodes the results of119864119866119860 and 119866119860 are almost the same The two algorithms yieldsimilar results For bigger random graphs 119864119866119860 outperforms119866119860 119864119866119860 can always find smaller values than Algorithm 1With the increase of the size the deviation between the twoalgorithms grows bigger The improved algorithm will keepbetter population size and the local search will be moreuniversal and accurate
We also store the convergence track of the two algorithmsas presented in Figure 5 At the beginning of the iterationprocedure 119866119860 drops faster than 119864119866119860 But 119864119866119860 can findthe near optimal solution faster than 119866119860 in the convergenceprocess The iteration number grows with the size of thenodes which means more time to go into the stable state Wealso collect the minimum expectation cost value of the twoalgorithms The appearance times of the minimum value ofthe two algorithms demonstrate that the119864119866119860performs betterthan the 119866119860 even for a small number of nodes
As shown in the experiment results we can find that theoriginal genetic algorithm needs more time which meansmore iterations to meet the termination conditions Fur-thermore the accuracy of the near-optimal solution got bythe incorporated algorithm is higher From the experimentsit is reasonable to draw the conclusion that our proposedalgorithm produces high-quality approximate solution andgenerates the solution with faster speed
6 Conclusion
In this paper we construct a communication graph for thepartitioning problem in which the implementation costexecution time and communication time are all taken intoaccount Then we propose a heuristic based on geneticalgorithm and simulated annealing to solve the problemnear optimally even for quite large systems The proposedheuristicmethod incorporates simulated annealing in geneticalgorithm Those incorporated accepted rules based on fit-ness andMetropolis criterion speed up the convergence of thesolution process without loss of accuracy Experiment resultsshow that the proposed model and algorithm produce moreaccurate partitions with faster speed
Acknowledgments
This work was supported by the National Medium and Long-term Development Plan (Grant no 2010ZX01045-002-3)the 973 Program of China (Grant no 2010CB328000) theNational Natural Science Foundation of China (Grant nos61073168 61133016 and 61202010) and by the National 863Plan of China (Grant no 2012AA040906)
References
[1] J B Wang M Chen X Wan and C Wei ldquoAnt-colony-optimization-based scheduling algorithm for uplink CDMAnonreal-time datardquo IEEE Transactions on Vehicular Technologyvol 58 no 1 pp 231ndash241 2009
[2] Y Jiang H Zhang X Song et al ldquoBayesian network basedreliability analysis of plc systemsrdquo IEEETransactions on IndustryElectronics 2012
[3] J B Wang M Chen and J Wang ldquoAdaptive channel andpower allocation of downlink multi-user MC-CDMA systemsrdquoComputers and Electrical Engineering vol 35 no 5 pp 622ndash6332009
[4] D D Gajski F Vahid S Narayan and J Gong ldquoSpecSyn anenvironment supporting the specify-explore-refine paradigmfor hardwaresoftware system designrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 6 no 1 pp 84ndash100 1998
[5] J Henkel ldquoLow power hardwaresoftware partitioning ap-proach for core-based embedded systemsrdquo in Proceedings of the36th Annual Design Automation Conference (DAC) pp 122ndash127ACM June 1999
[6] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Design Automation for Embedded Systems vol 2 no 2pp 165ndash193 1997
[7] Z Mann and A Orban ldquoOptimization problems in system-level synthesisrdquo in Proceedings of the 3rd Hungarian-JapaneseSymposiumonDiscreteMathematics and Its Applications TokyoJapan 2003
[8] R P Dick and N K Jha ldquoMOGAC a multiobjective geneticalgorithm for hardware-software cosynthesis of distributedembedded systemsrdquo IEEE Transactions on Computer-AidedDesign of Integrated Circuits and Systems vol 17 no 10 pp 920ndash935 1998
8 Journal of Applied Mathematics
[9] J I Hidalgo and J Lanchares ldquoFunctional partitioning forhardware-software codesign using genetic algorithmsrdquo in Pro-ceedings of the 23rd EUROMICRO Conference pp 631ndash638September 1997
[10] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration (VLSI) Systems vol10 no 3 pp 193ndash208 2002
[11] J Wang and X Xie ldquoOptimal odd-periodic complementarysequences for diffuse wireless optical communicationsrdquoOpticalEngineering vol 51 no 9 Article ID 095002 2012
[12] W Jigang B Chang and T Srikanthan ldquoA hybrid branch-and-bound strategy for hardwaresoftware partitioningrdquo inProceedings of the 8th IEEEACIS International Conference onComputer and Information Science (ICIS rsquo09) pp 641ndash644 June2009
[13] S Banerjee E Bozorgzadeh and N D Dutt ldquoIntegratingphysical constraints in HW-SW partitioning for architectureswith partial dynamic reconfigurationrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 14 no 11 pp1189ndash1202 2006
[14] P V Knudsen and J Madsen ldquoPACE a dynamic programmingalgorithm for hardwaresoftware partitioningrdquo in Proceedingsof the 4th International Workshop on HardwareSoftware Co-Design (CodesCASHE rsquo96) pp 85ndash92 IEEE Computer SocietyMarch 1996
[15] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby co-synthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997
[16] JWu and T Srikanthan ldquoLow-complex dynamic programmingalgorithm for hardwaresoftware partitioningrdquo InformationProcessing Letters vol 98 no 2 pp 41ndash46 2006
[17] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD thesis] University of California Berkeley 1995
[18] R Gupta and G De Micheli ldquoHardware-software cosynthesisfor digital systemsrdquo IEEE Design amp Test of Computers vol 10no 3 pp 29ndash41 1993
[19] R Niemann and P Marwedel ldquoHardwaresoftware partitioningusing integer programmingrdquo in Proceedings of the EuropeanDesign amp Test Conference pp 473ndash479 IEEE Computer SocietyMarch 1996
[20] F Vahid andDDGajski ldquoClustering for improved system-levelfunctional partitioningrdquo in Proceedings of the 8th InternationalSymposium on System Synthesis pp 28ndash33 September 1995
[21] F Vahid J Gong and D D Gajski ldquoBinary-constraint searchalgorithm for minimizing hardware during hardwaresoftwarepartitioningrdquo in Proceedings of the EuropeanDesign AutomationConference pp 214ndash219 IEEE Computer Society September1994
[22] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEE Design amp Test of Computersvol 10 no 4 pp 64ndash75 1993
[23] J Henkel and R Ernst ldquoAn approach to automated hard-waresoftware partitioning using a flexible granularity that isdriven by high-level estimation techniquesrdquo IEEE Transactionson Very Large Scale Integration (VLSI) Systems vol 9 no 2 pp273ndash289 2001
[24] L Li Y Song and M Gao ldquoA new genetic simulated annealingalgorithm for hardware-software partitioningrdquo in Proceedingsof the 2nd International Conference on Information Science and
Engineering (ICISE rsquo10) IEEE Computer Society December2010
[25] L Y Li and M Shi ldquoSoftware-hardware partitioning strategyusing hybrid genetic and Tabu searchrdquo in Proceedings of theInternational Conference on Computer Science and SoftwareEngineering (CSSE rsquo08) pp 83ndash86 December 2008
[26] S Zheng Y Zhang and T He ldquoThe application of GeneticAlgorithm In embedded system hardware-software partition-ingrdquo in Proceedings of the International Conference on ElectronicComputer Technology (ICECT rsquo09) pp 219ndash222 February 2009
[27] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystem levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997
[28] T Wiangtong P K Cheung and W Luk ldquoComparingthree heuristic search methods for functional partitioning inhardware-software codesignrdquoDesign Automation for EmbeddedSystems vol 6 no 4 pp 425ndash449 2002
[29] P Arato Z Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005
[30] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010
[31] J Albuquerque C Coelho Jr C F Cavalcanti D C daSilva Jr and A O Fernandes ldquoSystem-level partitioning withuncertaintyrdquo in Proceedings of the 7th International ConferenceonHardwareSoftware Codesign (CODES rsquo99) pp 198ndash202May1999
[32] J Albuquerque ldquoSolving hw sw partitioning bystochastic linearprogramming with management of teams uncertaintyrdquo
[33] Y Jiang H Zhang X Jiao et al ldquoUncertain model andalgorithm for hardwaresoftware partitioningrdquo in Proceedings ofthe IEEE Computer Society Annual Symposium on VLSI (ISVLSIrsquo12) pp 243ndash248 August 2012
[34] S Kirkpatrick C D Gelatt and M P Vecchi ldquoOptimization bysimulated annealingrdquo Science vol 220 no 4598 pp 671ndash6801983
[35] J Holland ldquoGenetic algorithmsrdquo Scientific American vol 267no 1 pp 66ndash72 1992
[36] P Arato S Juhasz ZMann AOrban andD Papp ldquoHardware-software partitioning in embedded system designrdquo in Proceed-ings of the IEEE International Symposium on Intelligent SignalProcessing pp 197ndash202 September 2003
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
2 Journal of Applied Mathematics
move component to hardware until the speedup time con-straints are met [20 21] Many general-purpose heuristicalgorithms are also utilized to solve the system partitioningproblem Simulated annealing-related algorithms [22ndash24]genetic algorithms [8 9 25 26] tabu search and greedyalgorithms [25 27 28] have been extensively used to solvepartitioning problem
In addition to the general-purpose heuristic algorithmssome researchers have constructed heuristic algorithms thatleverage problem-specific domain knowledge and can findhigh-quality solution rapidly For example authors define twoversions of the original partitioning problem and proposetwo corresponding algorithms in [29] In the first algorithmthe problem is converted to find a minimum cut in thecorresponding auxiliary graph The second algorithm is torun the first algorithm with several different parameters andselect the best partition from this set that fulfills the givenlimit Another example is presented in [30] Authors reducethe partitioning problem to a variation of knapsack problemand solve it by searching one-dimension solution spacewith three greedy-based algorithms instead of searchingtwo-dimension solution space in [29] This strategy reducestime complexity without loss of accuracy Some researchersaddress the issue that we cannot accurately determine the costand time of system components in the design stage Somepeople think that they are a subjective probability and makeuse of this theory in system level partitioning [31ndash33]
Most of the algorithms work perfectly within theirown codesign environment In this paper we construct acommunication graph in which the implementation costexecution time and communication time are all takeninto account We construct a mathematical model basedon this communication graph and solve the model by anenhanced heuristic method The proposed heuristic methodincorporates simulated annealing into genetic algorithm toimprove the accuracy and speed of original genetic algorithmSimulation results show that the new algorithm providesmore accurate and faster partitions than that of originalgenetic algorithm
This paper is organized as follows Some background onthe genetic algorithm and simulated annealing is introducedin Section 2 The constructed communication graph andthe proposed mathematical model definition for partitioningproblem are presented in Section 3 Section 4 presents themethod which incorporates simulated annealing in geneticalgorithm for the partitioning model Experiment resultsabout the comparison of the original genetic method and thecombinedmethod are given in Section 5 Finally we concludethe paper in Section 6
2 Background
This section provides some detailed notations and definitionsof genetic algorithm and simulated annealing algorithm
21 Simulated Annealing Simulated annealing algorithm is ageneric probabilistic metaheuristic for the global optimiza-tion problem locating a good approximation to the globaloptimum of a given function It is proposed by Kirkpatrick
et al [34] based on the analogy between the solid annealingand the combinatorial optimization problem In condensedmatter physics annealing involves materialsrsquo heating andcontrolled cooling
Before the implementation of simulated annealing algo-rithm we need to choose an initial temperature After theinitial state is generated the two most important operationsGeneration and Acceptation can be performed
Then the algorithm will reduce the value of the temper-ature The iteration process will stop until certain conditionis met for example a good approximation to the globaloptimumof the given function has been foundThe algorithmis shown in the Algorithm 1
22 Genetic Algorithm A genetic algorithm is a searchheuristic that mimics the process of natural evolution Thebasic principles of genetic algorithm were laid down byHolland [35] and have been proved useful in a variety ofsearch and optimization problems Genetic algorithms arebased on the survival-of-the-fitness principle which tries toretain more genetic information from generation to genera-tion A genetic algorithm is composed of a reproductive planthat provides an organizational framework for representingthe pool of genotypes of a generation After the successfulgenotypes are selected from the last generation the set ofgenetic operators such as crossover mutation and inversionis used in creating the offspring of the next generationWhenever some individuals exhibit better than average per-formance the genetic information of these individuals will bereproduced more often
Before the implementation of genetic algorithm we needto generate an initial population and define a fitness functionEach individual of the initial population is a binary stringwhich corresponds to a dedicated encoding The initialpopulation is usually generated randomly We will evaluateeach individual with the fitness function The fitness of eachindividual is defined as 119891
119894119891 where 119891
119894is the evaluation of
individual i and 119891 is the average evaluation of all individ-uals Then the most important three operators SelectionCrossover and Mutation can be performed on the currentgeneration
Then we can evaluate individuals of the next generationwith the fitness function deciding whether to stop or goon performing the three operations The evolution processwill stop until certain condition is met for example thefitness of individual will not be improved any more Finallythe algorithm will return the best individual of the latestgeneration as the solution The algorithm is shown in theAlgorithm 2
3 Problem FormulationThis section provides the formal definition of the partitioningproblem including the constructed communication graphstructure formal notations and mathematical model
31 Problem Definition While preserving the dependenciesamong the system taskmodules we build a graph structure torepresent the real-world system The communication graphcan be constructed through the following steps
Journal of Applied Mathematics 3
(1) Initialize the parameters of the annealing algorithm(2) Randomly generate an initial state as the 119888119906119903119903119890119899119905 119904119905119886119905119890(3) K = 1(4) while (system has been frozen) do(5) while (system equilibrium at 119879
119896) do
(6) call generation strategy for the 119899119890119909119905 119904119905119886119905119890 119895(7) Δ119864
119894119895= cost(119899119890119909119905 119904119905119886119905119890 119895) minus cost(119888119906119903119903119890119899119905 119904119905119886119905119890)
(8) 119875119903= 119860119894119895
(9) if (119875119903gt 119903119886119899119889119900119898[0 1)) then
(10) 119888119906119903119903119890119899119905 119904119905119886119905119890 = 119899119890119909119905 119904119905119886119905119890 119895(11) end if(12) end while(13) 119879
119896+1= 119879119896sdot 120572
(14) end while(15) return 119888119906119903119903119890119899119905 119904119905119886119905119890
Algorithm 1 Annealing algorithm
0
1
2
3 45
6
Task
Task
TaskTask
Task
Task
Task
Task
Figure 1 Constructed task module of a given system
0 1
23
4
5 6
Figure 2 Constructed graph structure for the system to be parti-tioned
(i) Determine the boundary of the system to be parti-tioned identify the main task modules in this bound-ary and describe the data signal flow through thesetask modules We can accomplish this by referringto the design document designer implementer anddeployer of the system A simple example is shown inFigure 1
(ii) Construct the communication graph structure forthe presented system We map a node to each basictask module Edges presented in step 1 are regarded
as causal or dependency correlations caused by datacommunication An arc is added between two nodesif the represented basic task modules are connectedThis can be easily finished based on the modelconstructed in the previous step The constructedcommunication graph structure for the systemmodelis shown in Figure 2
Based on the communication graph structure we can for-malize the problem as follows The communication graph isdenoted as 119866(119881 119864) where 119881 is the set of nodes V
1 V2 V119899
and 119864 is the set of edges 119890119894119895| 1 le 119894 119895 le 119899 We need to
add cost values and execution time to each node as well ascommunication cost to each edgeThe following notations aredefined on 119881 and 119864
(i) ℎ119894denotes the cost of node i in hardware implemen-
tation and 119904119894denotes the cost of node i in software
implementation(ii) 119905ℎ119894denotes the execution time of node i in hardware
implementation and 119905119904119894denotes the execution time of
node i in software implementation(iii) 119888119894119895denotes the communication time between node i
j The value of 119888119894119895is given in the context that the two
nodes are implemented in different way
The partitioning problem is to find a bipartition P whereP = (119881
ℎ 119881119904) such that 119881
ℎ⋃119881119904= 119881 and 119881
ℎ⋂119881119904= 0
The partitioning problem can be represented by a decisionvector x(119909
1 1199092 119909119899) representing the implementation way
of the n task modules There are three kinds of optimizationand decision problems defined on the softwarehardwarepartitioning
1198761 1198670is the given hardware constraint Find a HWSW
partition P such that119867119883le 1198670and 119879
119883is the minimal
execution time1198762 1198790is the given execution time constraint Find a
HWSW partition P such that 119879119883le 1198790and119867
119883is the
minimal hardware cost
4 Journal of Applied Mathematics
(1) Initialize the parameters of the genetic algorithm(2) Randomly generate the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(3) 119892119890119899119890119903119886119905119894119900119899 = 1(4) while (119892119890119899119890119903119886119905119894119900119899 le 119898119886119909 119892119890119899119890119903119886119905119894119900119899) do(5) clear the 119899119890119908 119901119900119901119906119897119886119905119894119900119899(6) compute fitness of individuals in the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(7) copy the individual with the highest fitness(8) while (119894119899119889119894V119894119889119906119886119897 119899119906119898119887119890119903 lt 119901119900119901119906119897119886119905119894119900119899 119904119894119911119890) do(9) Select two parents from the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(10) Perform the crossover to produce two offsprings(11) Mutate each offspring based on119898119906119905119886119905119894119900119899 119903119886119905119890(12) Place the offspring to 119899119890119908 119901119900119901119906119897119886119905119894119900119899(13) end while(14) Replace the 119900119897119889 119901119900119901119906119897119886119905119894119900119899 by the 119899119890119908 119901119900119901119906119897119886119905119894119900119899(15) end while(16) return 119899119890119908 119904119900119897119906119905119894119900119899 with the best fitness
Algorithm 2 Genetic algorithm
(1) Encode the parameters for the partitioning problem(2) Initialize the first generation 119875
0
(3) Calculate the fitness of each individual in 1198750
(4) Copy the individual with the highest fitness to the solution(5) while (termination conditions) do(6) while (number of individuals le generation size) do(7) Select two individuals (119892
1 1198922)
(8) Perform crossover on (1198921 1198922) rarr (1198921015840
1 11989210158402)
(9) if (maxfitness(11989210158401) fitness(1198921015840
2) lemaxfitness(119892
1) fitness(119892
2)) then
(10) Reject the crossover with 11989210158401= 1198921 11989210158402= 1198922
(11) else(12) Accept the crossover(13) end if(14) Perform mutation on 1198921015840
1to produce 119899119892
1
(15) if (fitness(1198991198921) le fitness(1198921015840
1)) then
(16) Reject the mutation 1198991198921= 11989210158401
(17) else(18) Accept the mutation(19) end if(20) Perform the above steps on 1198921015840
2to produce 119899119892
2
(21) end while(22) Calculate the fitness of each individual(23) if (the highest fitness ge fitness(solution)) then(24) Copy the individual with the highest fitness(25) end if(26) increase the generation number(27) end while(28) return solution 119909[119894] 119894 isin [1 119899]
Algorithm 3 Heuristic algorithm
1198763 1198670and 119879
0are the given hardware constraint and exe-
cution time constraint respectively Find a HWSWpartition P such that119867
119883le 1198670and 119879
119883le 1198790
It has been proved that 1198761 1198762are NP hard and 119876
3is
NP complete [36] In this paper HWSW partitioning isperformed according to the 119876
2type
32 Mathematical Model As described in Section 1 a parti-tion is characterized by two metrics cost and time The costincludes hardware cost and software cost It represents theresource consumption to achieve the hardware and softwareimplementation of each task module The time includes theexecution time of each task module and the communicationtime between task modules
Journal of Applied Mathematics 5
(1) Encode the parameters and solution for the partitioning problem(2) Initialize the first generation 119875
0 temperature 119879
0 annealing ratio 120572
(3) Calculate the fitness of each individual in 1198750
(4) Copy the individual with the highest fitness to the solution(5) while (termination conditions) do(6) while (number of individuals le number of the generation size) do(7) Select two individuals (119892
1 1198922) from the current generation
(8) Perform crossover on (1198921 1198922) to produce two new individuals (1198921015840
1 11989210158402) lowast start of annealing-crossoverlowast
(9) if (maxfitness(11989210158401) fitness(1198921015840
2) lemaxfitness(119892
1) fitness(119892
2)) then
(10) Δ119862 = maxfitness(11989210158401) fitness(1198921015840
2)minusmaxfitness(119892
1) fitness(119892
2)
(11) if (min1 exp(minusΔ119862119879119896) ge random[1 0)) then
(12) Accept the crossover(13) else(14) Reject the crossover with 1198921015840
1= 1198921 11989210158402= 1198922
(15) end if(16) else(17) Accept the crossover(18) end if lowast end of annealing-crossover lowast(19) Perform mutation on 1198921015840
1to produce 119899119892
1 lowast start of annealing-mutationlowast
(20) if (fitness(1198991198921) le fitness(1198921015840
1)) then
(21) Δ119862 = (fitness(1198991198921) minus fitness(1198921015840
1))
(22) if (min1 exp(minusΔ119862119879119896) ge random[1 0)) then
(23) Accept the mutation(24) else(25) Reject the mutation 119899119892
1= 11989210158401
(26) end if(27) else(28) Accept the mutation(29) end if lowast end of annealing-mutationlowast(30) Perform step (19)ndash(29) on 1198921015840
2to produce 119899119892
2
(31) end while(32) Calculate the fitness of each individual in current generation(33) if (the highest fitness of the current generation ge fitness(solution)) then(34) Copy the individual with the highest fitness to the solution(35) end if(36) Reduce the temperature and increase the generation number(37) end while(38) return solution 119909[119894] 119894 isin [1 119899]
Algorithm 4 Combined heuristic algorithm
Based on the definition of previous subsection hardwarecost119867(x) of the partition 119875(x) and the total time metric 119879(x)can be formalized as follows
119867(x) =119899
sum119894=1
ℎ119894(1 minus 119909
119894)
119879 (x) =119899
sum119894=1
119905119904119894119909119894+ 119905ℎ119894(1 minus 119909
119894) +119899minus1
sum119894=1
119899
sum119895=119894+1
119888119894119895[(119909119894minus 119909119895)2
]
(1)
Based on the formalization of the two metrics and thegiven constraintM on execution time the partitioning prob-lem can be modeled as the following optimization problem
minimize 119867(x)
subject to 119879 (x) le 119872 x isin 0 1119899(1198751)
which can be simplified as the problem (1198752) presented later
maximize119899
sum119894=1
ℎ119894119909119894
subject to119899minus1
sum119894=1
119899
sum119895=119894+1
119888119894119895[(119909119894minus 119909119895)2
]
+119899
sum119894=1
(119905119904119894minus 119905ℎ119894) 119909119894le 119872 minus
119899
sum119894=1
119905ℎ119894 x isin 0 1119899
(1198752)
4 Algorithm
In this section we propose two algorithms to solve the par-titioning problem (119875
2) based on genetic algorithm and sim-
ulated annealing algorithm The basic principles of genetic
6 Journal of Applied Mathematics
algorithm were laid down by Holland [35] and have beenproved useful in a variety of search and optimization prob-lems Genetic algorithm simulates the survival-of-the-fitnessprinciple of nature The principle provides an organizationalreproductive framework starting from an initial populationproceeding through some random selection crossover andmutation operators from generation to generation and con-verging to a group of best environment-adapted individualsSimulated annealing algorithm is a generic probabilisticmetaheuristic for the global optimization problem locatinga good approximation to the global optimum of a givenfunction It is proposed byKirkpatrick et al [34] based on theanalogy between the solid annealing and the combinatorialoptimization problem
41 Initial Algorithm We apply the genetic algorithm tothe uncertain partitioning problem to find the approximateoptimal solution of the problem (119875
2) The pseudo code in the
Algorithm 3 shows the description of the algorithmThe steps(1)ndash(4) are the initialization of parameters and solution of thepartition problem The step (5) is used to check whether thetermination condition of the propagation is met or not Thestep (6) is used to ensure that the number of individuals of thenext generation is not reduced The crossover and mutationoperations are performed in the iteration block to produceindividuals of the next generation The fitness function isdefined on the object function of the problem (119875
2)We choose
the crossover and mutation strategy from [36]
42 Improved Algorithm We note that the genetic algorithmhas a strong global search capability while the simulatedannealing algorithmwill fail in a local optimal solution easilyHence we can incorporate simulated annealing algorithmin genetic algorithm We hope that the combined algorithmwill provide more accurate near-optimal solution with fasterspeed The pseudo code in the Algorithm 4 shows thealgorithm
The steps (8)ndash(18) are the original crossover operationincorporated to the Metropolis of annealing algorithm Thekey idea is that when the original crossover operation pro-duces better individuals the crossover operation is acceptedOtherwise we will accept the new individuals as the candi-dates of next generation in theMetropolis criterionThe steps(9)ndash(29) are the original crossover operation incorporatedwith the Metropolis of annealing algorithm The key ideais the same as annealing crossover The modified geneticoperators ensure that the next generation is better than thecurrent generation with the accepted rules based on fitnessand Metropolis criterion Those accepted rules speed up theconvergence of the solution process without loss of accuracyThe steps (32)ndash(36) are the update of solution generationnumber and temperature
5 Empirical Results
The proposed two algorithms are heuristics the model isconstructed from the communication graph We have todetermine the performance and the quality of the model andthe solution We have implemented them in C and test the
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
Number of nodes
Min
imum
har
dwar
e cos
t
OptimalEGAGA
Figure 3 Minimum cost comparison of the partition
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
100
200
300
400
500
600
700
800
900
1000
Number of nodes
Exec
utio
n tim
e
EGAGA
Figure 4 Runtime comparison of the two algorithms
algorithms on Intel i5 227GHZ PC In order to demonstratethe effectiveness of the proposed algorithm we compareit with original genetic-algorithm-based partitioning [36]For testing several random instances with different nodesand metrics are utilized The parameters of the partitioningproblem are generated with the following rules
(i) ℎ119894is randomly generated in [1 100]
(ii) 119905ℎ119894is randomly generated in [1 100] and 119905119904
119894is ran-
domly generated in [119905ℎ119894 200 + 119905ℎ
119894]
(iii) 119888119894119895is randomly generated in [1 20]
(iv) 119872 is a given time constraint and randomly generatedin [sum1198991119905ℎ119894 sum119899
1119905119904119894]
Journal of Applied Mathematics 7
0 02 04 06 08 1 12 14 16 18 235
4
45
5
55
6
65
7
75
8
Iteration
Har
dwar
e cos
t
GAEGA
times104
times104
Figure 5 Convergence track for number of nodes equals 1000
The simulation results of the proposed algorithms as wellas the original genetic algorithm are presented in Figures3 and 4 Each instance is tested for 100 times and theaverage values are presented The first graph demonstratesthe accuracy of the proposed algorithm and the secondgraph demonstrates the efficiency of the proposed algorithmFurthermore we collect the convergence track and the runtime of the two algorithms
The values about the cost value are shown in Figures3 and 4 for different parameters configurations For thoserandom graphs with the small size of nodes the results of119864119866119860 and 119866119860 are almost the same The two algorithms yieldsimilar results For bigger random graphs 119864119866119860 outperforms119866119860 119864119866119860 can always find smaller values than Algorithm 1With the increase of the size the deviation between the twoalgorithms grows bigger The improved algorithm will keepbetter population size and the local search will be moreuniversal and accurate
We also store the convergence track of the two algorithmsas presented in Figure 5 At the beginning of the iterationprocedure 119866119860 drops faster than 119864119866119860 But 119864119866119860 can findthe near optimal solution faster than 119866119860 in the convergenceprocess The iteration number grows with the size of thenodes which means more time to go into the stable state Wealso collect the minimum expectation cost value of the twoalgorithms The appearance times of the minimum value ofthe two algorithms demonstrate that the119864119866119860performs betterthan the 119866119860 even for a small number of nodes
As shown in the experiment results we can find that theoriginal genetic algorithm needs more time which meansmore iterations to meet the termination conditions Fur-thermore the accuracy of the near-optimal solution got bythe incorporated algorithm is higher From the experimentsit is reasonable to draw the conclusion that our proposedalgorithm produces high-quality approximate solution andgenerates the solution with faster speed
6 Conclusion
In this paper we construct a communication graph for thepartitioning problem in which the implementation costexecution time and communication time are all taken intoaccount Then we propose a heuristic based on geneticalgorithm and simulated annealing to solve the problemnear optimally even for quite large systems The proposedheuristicmethod incorporates simulated annealing in geneticalgorithm Those incorporated accepted rules based on fit-ness andMetropolis criterion speed up the convergence of thesolution process without loss of accuracy Experiment resultsshow that the proposed model and algorithm produce moreaccurate partitions with faster speed
Acknowledgments
This work was supported by the National Medium and Long-term Development Plan (Grant no 2010ZX01045-002-3)the 973 Program of China (Grant no 2010CB328000) theNational Natural Science Foundation of China (Grant nos61073168 61133016 and 61202010) and by the National 863Plan of China (Grant no 2012AA040906)
References
[1] J B Wang M Chen X Wan and C Wei ldquoAnt-colony-optimization-based scheduling algorithm for uplink CDMAnonreal-time datardquo IEEE Transactions on Vehicular Technologyvol 58 no 1 pp 231ndash241 2009
[2] Y Jiang H Zhang X Song et al ldquoBayesian network basedreliability analysis of plc systemsrdquo IEEETransactions on IndustryElectronics 2012
[3] J B Wang M Chen and J Wang ldquoAdaptive channel andpower allocation of downlink multi-user MC-CDMA systemsrdquoComputers and Electrical Engineering vol 35 no 5 pp 622ndash6332009
[4] D D Gajski F Vahid S Narayan and J Gong ldquoSpecSyn anenvironment supporting the specify-explore-refine paradigmfor hardwaresoftware system designrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 6 no 1 pp 84ndash100 1998
[5] J Henkel ldquoLow power hardwaresoftware partitioning ap-proach for core-based embedded systemsrdquo in Proceedings of the36th Annual Design Automation Conference (DAC) pp 122ndash127ACM June 1999
[6] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Design Automation for Embedded Systems vol 2 no 2pp 165ndash193 1997
[7] Z Mann and A Orban ldquoOptimization problems in system-level synthesisrdquo in Proceedings of the 3rd Hungarian-JapaneseSymposiumonDiscreteMathematics and Its Applications TokyoJapan 2003
[8] R P Dick and N K Jha ldquoMOGAC a multiobjective geneticalgorithm for hardware-software cosynthesis of distributedembedded systemsrdquo IEEE Transactions on Computer-AidedDesign of Integrated Circuits and Systems vol 17 no 10 pp 920ndash935 1998
8 Journal of Applied Mathematics
[9] J I Hidalgo and J Lanchares ldquoFunctional partitioning forhardware-software codesign using genetic algorithmsrdquo in Pro-ceedings of the 23rd EUROMICRO Conference pp 631ndash638September 1997
[10] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration (VLSI) Systems vol10 no 3 pp 193ndash208 2002
[11] J Wang and X Xie ldquoOptimal odd-periodic complementarysequences for diffuse wireless optical communicationsrdquoOpticalEngineering vol 51 no 9 Article ID 095002 2012
[12] W Jigang B Chang and T Srikanthan ldquoA hybrid branch-and-bound strategy for hardwaresoftware partitioningrdquo inProceedings of the 8th IEEEACIS International Conference onComputer and Information Science (ICIS rsquo09) pp 641ndash644 June2009
[13] S Banerjee E Bozorgzadeh and N D Dutt ldquoIntegratingphysical constraints in HW-SW partitioning for architectureswith partial dynamic reconfigurationrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 14 no 11 pp1189ndash1202 2006
[14] P V Knudsen and J Madsen ldquoPACE a dynamic programmingalgorithm for hardwaresoftware partitioningrdquo in Proceedingsof the 4th International Workshop on HardwareSoftware Co-Design (CodesCASHE rsquo96) pp 85ndash92 IEEE Computer SocietyMarch 1996
[15] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby co-synthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997
[16] JWu and T Srikanthan ldquoLow-complex dynamic programmingalgorithm for hardwaresoftware partitioningrdquo InformationProcessing Letters vol 98 no 2 pp 41ndash46 2006
[17] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD thesis] University of California Berkeley 1995
[18] R Gupta and G De Micheli ldquoHardware-software cosynthesisfor digital systemsrdquo IEEE Design amp Test of Computers vol 10no 3 pp 29ndash41 1993
[19] R Niemann and P Marwedel ldquoHardwaresoftware partitioningusing integer programmingrdquo in Proceedings of the EuropeanDesign amp Test Conference pp 473ndash479 IEEE Computer SocietyMarch 1996
[20] F Vahid andDDGajski ldquoClustering for improved system-levelfunctional partitioningrdquo in Proceedings of the 8th InternationalSymposium on System Synthesis pp 28ndash33 September 1995
[21] F Vahid J Gong and D D Gajski ldquoBinary-constraint searchalgorithm for minimizing hardware during hardwaresoftwarepartitioningrdquo in Proceedings of the EuropeanDesign AutomationConference pp 214ndash219 IEEE Computer Society September1994
[22] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEE Design amp Test of Computersvol 10 no 4 pp 64ndash75 1993
[23] J Henkel and R Ernst ldquoAn approach to automated hard-waresoftware partitioning using a flexible granularity that isdriven by high-level estimation techniquesrdquo IEEE Transactionson Very Large Scale Integration (VLSI) Systems vol 9 no 2 pp273ndash289 2001
[24] L Li Y Song and M Gao ldquoA new genetic simulated annealingalgorithm for hardware-software partitioningrdquo in Proceedingsof the 2nd International Conference on Information Science and
Engineering (ICISE rsquo10) IEEE Computer Society December2010
[25] L Y Li and M Shi ldquoSoftware-hardware partitioning strategyusing hybrid genetic and Tabu searchrdquo in Proceedings of theInternational Conference on Computer Science and SoftwareEngineering (CSSE rsquo08) pp 83ndash86 December 2008
[26] S Zheng Y Zhang and T He ldquoThe application of GeneticAlgorithm In embedded system hardware-software partition-ingrdquo in Proceedings of the International Conference on ElectronicComputer Technology (ICECT rsquo09) pp 219ndash222 February 2009
[27] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystem levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997
[28] T Wiangtong P K Cheung and W Luk ldquoComparingthree heuristic search methods for functional partitioning inhardware-software codesignrdquoDesign Automation for EmbeddedSystems vol 6 no 4 pp 425ndash449 2002
[29] P Arato Z Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005
[30] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010
[31] J Albuquerque C Coelho Jr C F Cavalcanti D C daSilva Jr and A O Fernandes ldquoSystem-level partitioning withuncertaintyrdquo in Proceedings of the 7th International ConferenceonHardwareSoftware Codesign (CODES rsquo99) pp 198ndash202May1999
[32] J Albuquerque ldquoSolving hw sw partitioning bystochastic linearprogramming with management of teams uncertaintyrdquo
[33] Y Jiang H Zhang X Jiao et al ldquoUncertain model andalgorithm for hardwaresoftware partitioningrdquo in Proceedings ofthe IEEE Computer Society Annual Symposium on VLSI (ISVLSIrsquo12) pp 243ndash248 August 2012
[34] S Kirkpatrick C D Gelatt and M P Vecchi ldquoOptimization bysimulated annealingrdquo Science vol 220 no 4598 pp 671ndash6801983
[35] J Holland ldquoGenetic algorithmsrdquo Scientific American vol 267no 1 pp 66ndash72 1992
[36] P Arato S Juhasz ZMann AOrban andD Papp ldquoHardware-software partitioning in embedded system designrdquo in Proceed-ings of the IEEE International Symposium on Intelligent SignalProcessing pp 197ndash202 September 2003
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Journal of Applied Mathematics 3
(1) Initialize the parameters of the annealing algorithm(2) Randomly generate an initial state as the 119888119906119903119903119890119899119905 119904119905119886119905119890(3) K = 1(4) while (system has been frozen) do(5) while (system equilibrium at 119879
119896) do
(6) call generation strategy for the 119899119890119909119905 119904119905119886119905119890 119895(7) Δ119864
119894119895= cost(119899119890119909119905 119904119905119886119905119890 119895) minus cost(119888119906119903119903119890119899119905 119904119905119886119905119890)
(8) 119875119903= 119860119894119895
(9) if (119875119903gt 119903119886119899119889119900119898[0 1)) then
(10) 119888119906119903119903119890119899119905 119904119905119886119905119890 = 119899119890119909119905 119904119905119886119905119890 119895(11) end if(12) end while(13) 119879
119896+1= 119879119896sdot 120572
(14) end while(15) return 119888119906119903119903119890119899119905 119904119905119886119905119890
Algorithm 1 Annealing algorithm
0
1
2
3 45
6
Task
Task
TaskTask
Task
Task
Task
Task
Figure 1 Constructed task module of a given system
0 1
23
4
5 6
Figure 2 Constructed graph structure for the system to be parti-tioned
(i) Determine the boundary of the system to be parti-tioned identify the main task modules in this bound-ary and describe the data signal flow through thesetask modules We can accomplish this by referringto the design document designer implementer anddeployer of the system A simple example is shown inFigure 1
(ii) Construct the communication graph structure forthe presented system We map a node to each basictask module Edges presented in step 1 are regarded
as causal or dependency correlations caused by datacommunication An arc is added between two nodesif the represented basic task modules are connectedThis can be easily finished based on the modelconstructed in the previous step The constructedcommunication graph structure for the systemmodelis shown in Figure 2
Based on the communication graph structure we can for-malize the problem as follows The communication graph isdenoted as 119866(119881 119864) where 119881 is the set of nodes V
1 V2 V119899
and 119864 is the set of edges 119890119894119895| 1 le 119894 119895 le 119899 We need to
add cost values and execution time to each node as well ascommunication cost to each edgeThe following notations aredefined on 119881 and 119864
(i) ℎ119894denotes the cost of node i in hardware implemen-
tation and 119904119894denotes the cost of node i in software
implementation(ii) 119905ℎ119894denotes the execution time of node i in hardware
implementation and 119905119904119894denotes the execution time of
node i in software implementation(iii) 119888119894119895denotes the communication time between node i
j The value of 119888119894119895is given in the context that the two
nodes are implemented in different way
The partitioning problem is to find a bipartition P whereP = (119881
ℎ 119881119904) such that 119881
ℎ⋃119881119904= 119881 and 119881
ℎ⋂119881119904= 0
The partitioning problem can be represented by a decisionvector x(119909
1 1199092 119909119899) representing the implementation way
of the n task modules There are three kinds of optimizationand decision problems defined on the softwarehardwarepartitioning
1198761 1198670is the given hardware constraint Find a HWSW
partition P such that119867119883le 1198670and 119879
119883is the minimal
execution time1198762 1198790is the given execution time constraint Find a
HWSW partition P such that 119879119883le 1198790and119867
119883is the
minimal hardware cost
4 Journal of Applied Mathematics
(1) Initialize the parameters of the genetic algorithm(2) Randomly generate the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(3) 119892119890119899119890119903119886119905119894119900119899 = 1(4) while (119892119890119899119890119903119886119905119894119900119899 le 119898119886119909 119892119890119899119890119903119886119905119894119900119899) do(5) clear the 119899119890119908 119901119900119901119906119897119886119905119894119900119899(6) compute fitness of individuals in the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(7) copy the individual with the highest fitness(8) while (119894119899119889119894V119894119889119906119886119897 119899119906119898119887119890119903 lt 119901119900119901119906119897119886119905119894119900119899 119904119894119911119890) do(9) Select two parents from the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(10) Perform the crossover to produce two offsprings(11) Mutate each offspring based on119898119906119905119886119905119894119900119899 119903119886119905119890(12) Place the offspring to 119899119890119908 119901119900119901119906119897119886119905119894119900119899(13) end while(14) Replace the 119900119897119889 119901119900119901119906119897119886119905119894119900119899 by the 119899119890119908 119901119900119901119906119897119886119905119894119900119899(15) end while(16) return 119899119890119908 119904119900119897119906119905119894119900119899 with the best fitness
Algorithm 2 Genetic algorithm
(1) Encode the parameters for the partitioning problem(2) Initialize the first generation 119875
0
(3) Calculate the fitness of each individual in 1198750
(4) Copy the individual with the highest fitness to the solution(5) while (termination conditions) do(6) while (number of individuals le generation size) do(7) Select two individuals (119892
1 1198922)
(8) Perform crossover on (1198921 1198922) rarr (1198921015840
1 11989210158402)
(9) if (maxfitness(11989210158401) fitness(1198921015840
2) lemaxfitness(119892
1) fitness(119892
2)) then
(10) Reject the crossover with 11989210158401= 1198921 11989210158402= 1198922
(11) else(12) Accept the crossover(13) end if(14) Perform mutation on 1198921015840
1to produce 119899119892
1
(15) if (fitness(1198991198921) le fitness(1198921015840
1)) then
(16) Reject the mutation 1198991198921= 11989210158401
(17) else(18) Accept the mutation(19) end if(20) Perform the above steps on 1198921015840
2to produce 119899119892
2
(21) end while(22) Calculate the fitness of each individual(23) if (the highest fitness ge fitness(solution)) then(24) Copy the individual with the highest fitness(25) end if(26) increase the generation number(27) end while(28) return solution 119909[119894] 119894 isin [1 119899]
Algorithm 3 Heuristic algorithm
1198763 1198670and 119879
0are the given hardware constraint and exe-
cution time constraint respectively Find a HWSWpartition P such that119867
119883le 1198670and 119879
119883le 1198790
It has been proved that 1198761 1198762are NP hard and 119876
3is
NP complete [36] In this paper HWSW partitioning isperformed according to the 119876
2type
32 Mathematical Model As described in Section 1 a parti-tion is characterized by two metrics cost and time The costincludes hardware cost and software cost It represents theresource consumption to achieve the hardware and softwareimplementation of each task module The time includes theexecution time of each task module and the communicationtime between task modules
Journal of Applied Mathematics 5
(1) Encode the parameters and solution for the partitioning problem(2) Initialize the first generation 119875
0 temperature 119879
0 annealing ratio 120572
(3) Calculate the fitness of each individual in 1198750
(4) Copy the individual with the highest fitness to the solution(5) while (termination conditions) do(6) while (number of individuals le number of the generation size) do(7) Select two individuals (119892
1 1198922) from the current generation
(8) Perform crossover on (1198921 1198922) to produce two new individuals (1198921015840
1 11989210158402) lowast start of annealing-crossoverlowast
(9) if (maxfitness(11989210158401) fitness(1198921015840
2) lemaxfitness(119892
1) fitness(119892
2)) then
(10) Δ119862 = maxfitness(11989210158401) fitness(1198921015840
2)minusmaxfitness(119892
1) fitness(119892
2)
(11) if (min1 exp(minusΔ119862119879119896) ge random[1 0)) then
(12) Accept the crossover(13) else(14) Reject the crossover with 1198921015840
1= 1198921 11989210158402= 1198922
(15) end if(16) else(17) Accept the crossover(18) end if lowast end of annealing-crossover lowast(19) Perform mutation on 1198921015840
1to produce 119899119892
1 lowast start of annealing-mutationlowast
(20) if (fitness(1198991198921) le fitness(1198921015840
1)) then
(21) Δ119862 = (fitness(1198991198921) minus fitness(1198921015840
1))
(22) if (min1 exp(minusΔ119862119879119896) ge random[1 0)) then
(23) Accept the mutation(24) else(25) Reject the mutation 119899119892
1= 11989210158401
(26) end if(27) else(28) Accept the mutation(29) end if lowast end of annealing-mutationlowast(30) Perform step (19)ndash(29) on 1198921015840
2to produce 119899119892
2
(31) end while(32) Calculate the fitness of each individual in current generation(33) if (the highest fitness of the current generation ge fitness(solution)) then(34) Copy the individual with the highest fitness to the solution(35) end if(36) Reduce the temperature and increase the generation number(37) end while(38) return solution 119909[119894] 119894 isin [1 119899]
Algorithm 4 Combined heuristic algorithm
Based on the definition of previous subsection hardwarecost119867(x) of the partition 119875(x) and the total time metric 119879(x)can be formalized as follows
119867(x) =119899
sum119894=1
ℎ119894(1 minus 119909
119894)
119879 (x) =119899
sum119894=1
119905119904119894119909119894+ 119905ℎ119894(1 minus 119909
119894) +119899minus1
sum119894=1
119899
sum119895=119894+1
119888119894119895[(119909119894minus 119909119895)2
]
(1)
Based on the formalization of the two metrics and thegiven constraintM on execution time the partitioning prob-lem can be modeled as the following optimization problem
minimize 119867(x)
subject to 119879 (x) le 119872 x isin 0 1119899(1198751)
which can be simplified as the problem (1198752) presented later
maximize119899
sum119894=1
ℎ119894119909119894
subject to119899minus1
sum119894=1
119899
sum119895=119894+1
119888119894119895[(119909119894minus 119909119895)2
]
+119899
sum119894=1
(119905119904119894minus 119905ℎ119894) 119909119894le 119872 minus
119899
sum119894=1
119905ℎ119894 x isin 0 1119899
(1198752)
4 Algorithm
In this section we propose two algorithms to solve the par-titioning problem (119875
2) based on genetic algorithm and sim-
ulated annealing algorithm The basic principles of genetic
6 Journal of Applied Mathematics
algorithm were laid down by Holland [35] and have beenproved useful in a variety of search and optimization prob-lems Genetic algorithm simulates the survival-of-the-fitnessprinciple of nature The principle provides an organizationalreproductive framework starting from an initial populationproceeding through some random selection crossover andmutation operators from generation to generation and con-verging to a group of best environment-adapted individualsSimulated annealing algorithm is a generic probabilisticmetaheuristic for the global optimization problem locatinga good approximation to the global optimum of a givenfunction It is proposed byKirkpatrick et al [34] based on theanalogy between the solid annealing and the combinatorialoptimization problem
41 Initial Algorithm We apply the genetic algorithm tothe uncertain partitioning problem to find the approximateoptimal solution of the problem (119875
2) The pseudo code in the
Algorithm 3 shows the description of the algorithmThe steps(1)ndash(4) are the initialization of parameters and solution of thepartition problem The step (5) is used to check whether thetermination condition of the propagation is met or not Thestep (6) is used to ensure that the number of individuals of thenext generation is not reduced The crossover and mutationoperations are performed in the iteration block to produceindividuals of the next generation The fitness function isdefined on the object function of the problem (119875
2)We choose
the crossover and mutation strategy from [36]
42 Improved Algorithm We note that the genetic algorithmhas a strong global search capability while the simulatedannealing algorithmwill fail in a local optimal solution easilyHence we can incorporate simulated annealing algorithmin genetic algorithm We hope that the combined algorithmwill provide more accurate near-optimal solution with fasterspeed The pseudo code in the Algorithm 4 shows thealgorithm
The steps (8)ndash(18) are the original crossover operationincorporated to the Metropolis of annealing algorithm Thekey idea is that when the original crossover operation pro-duces better individuals the crossover operation is acceptedOtherwise we will accept the new individuals as the candi-dates of next generation in theMetropolis criterionThe steps(9)ndash(29) are the original crossover operation incorporatedwith the Metropolis of annealing algorithm The key ideais the same as annealing crossover The modified geneticoperators ensure that the next generation is better than thecurrent generation with the accepted rules based on fitnessand Metropolis criterion Those accepted rules speed up theconvergence of the solution process without loss of accuracyThe steps (32)ndash(36) are the update of solution generationnumber and temperature
5 Empirical Results
The proposed two algorithms are heuristics the model isconstructed from the communication graph We have todetermine the performance and the quality of the model andthe solution We have implemented them in C and test the
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
Number of nodes
Min
imum
har
dwar
e cos
t
OptimalEGAGA
Figure 3 Minimum cost comparison of the partition
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
100
200
300
400
500
600
700
800
900
1000
Number of nodes
Exec
utio
n tim
e
EGAGA
Figure 4 Runtime comparison of the two algorithms
algorithms on Intel i5 227GHZ PC In order to demonstratethe effectiveness of the proposed algorithm we compareit with original genetic-algorithm-based partitioning [36]For testing several random instances with different nodesand metrics are utilized The parameters of the partitioningproblem are generated with the following rules
(i) ℎ119894is randomly generated in [1 100]
(ii) 119905ℎ119894is randomly generated in [1 100] and 119905119904
119894is ran-
domly generated in [119905ℎ119894 200 + 119905ℎ
119894]
(iii) 119888119894119895is randomly generated in [1 20]
(iv) 119872 is a given time constraint and randomly generatedin [sum1198991119905ℎ119894 sum119899
1119905119904119894]
Journal of Applied Mathematics 7
0 02 04 06 08 1 12 14 16 18 235
4
45
5
55
6
65
7
75
8
Iteration
Har
dwar
e cos
t
GAEGA
times104
times104
Figure 5 Convergence track for number of nodes equals 1000
The simulation results of the proposed algorithms as wellas the original genetic algorithm are presented in Figures3 and 4 Each instance is tested for 100 times and theaverage values are presented The first graph demonstratesthe accuracy of the proposed algorithm and the secondgraph demonstrates the efficiency of the proposed algorithmFurthermore we collect the convergence track and the runtime of the two algorithms
The values about the cost value are shown in Figures3 and 4 for different parameters configurations For thoserandom graphs with the small size of nodes the results of119864119866119860 and 119866119860 are almost the same The two algorithms yieldsimilar results For bigger random graphs 119864119866119860 outperforms119866119860 119864119866119860 can always find smaller values than Algorithm 1With the increase of the size the deviation between the twoalgorithms grows bigger The improved algorithm will keepbetter population size and the local search will be moreuniversal and accurate
We also store the convergence track of the two algorithmsas presented in Figure 5 At the beginning of the iterationprocedure 119866119860 drops faster than 119864119866119860 But 119864119866119860 can findthe near optimal solution faster than 119866119860 in the convergenceprocess The iteration number grows with the size of thenodes which means more time to go into the stable state Wealso collect the minimum expectation cost value of the twoalgorithms The appearance times of the minimum value ofthe two algorithms demonstrate that the119864119866119860performs betterthan the 119866119860 even for a small number of nodes
As shown in the experiment results we can find that theoriginal genetic algorithm needs more time which meansmore iterations to meet the termination conditions Fur-thermore the accuracy of the near-optimal solution got bythe incorporated algorithm is higher From the experimentsit is reasonable to draw the conclusion that our proposedalgorithm produces high-quality approximate solution andgenerates the solution with faster speed
6 Conclusion
In this paper we construct a communication graph for thepartitioning problem in which the implementation costexecution time and communication time are all taken intoaccount Then we propose a heuristic based on geneticalgorithm and simulated annealing to solve the problemnear optimally even for quite large systems The proposedheuristicmethod incorporates simulated annealing in geneticalgorithm Those incorporated accepted rules based on fit-ness andMetropolis criterion speed up the convergence of thesolution process without loss of accuracy Experiment resultsshow that the proposed model and algorithm produce moreaccurate partitions with faster speed
Acknowledgments
This work was supported by the National Medium and Long-term Development Plan (Grant no 2010ZX01045-002-3)the 973 Program of China (Grant no 2010CB328000) theNational Natural Science Foundation of China (Grant nos61073168 61133016 and 61202010) and by the National 863Plan of China (Grant no 2012AA040906)
References
[1] J B Wang M Chen X Wan and C Wei ldquoAnt-colony-optimization-based scheduling algorithm for uplink CDMAnonreal-time datardquo IEEE Transactions on Vehicular Technologyvol 58 no 1 pp 231ndash241 2009
[2] Y Jiang H Zhang X Song et al ldquoBayesian network basedreliability analysis of plc systemsrdquo IEEETransactions on IndustryElectronics 2012
[3] J B Wang M Chen and J Wang ldquoAdaptive channel andpower allocation of downlink multi-user MC-CDMA systemsrdquoComputers and Electrical Engineering vol 35 no 5 pp 622ndash6332009
[4] D D Gajski F Vahid S Narayan and J Gong ldquoSpecSyn anenvironment supporting the specify-explore-refine paradigmfor hardwaresoftware system designrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 6 no 1 pp 84ndash100 1998
[5] J Henkel ldquoLow power hardwaresoftware partitioning ap-proach for core-based embedded systemsrdquo in Proceedings of the36th Annual Design Automation Conference (DAC) pp 122ndash127ACM June 1999
[6] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Design Automation for Embedded Systems vol 2 no 2pp 165ndash193 1997
[7] Z Mann and A Orban ldquoOptimization problems in system-level synthesisrdquo in Proceedings of the 3rd Hungarian-JapaneseSymposiumonDiscreteMathematics and Its Applications TokyoJapan 2003
[8] R P Dick and N K Jha ldquoMOGAC a multiobjective geneticalgorithm for hardware-software cosynthesis of distributedembedded systemsrdquo IEEE Transactions on Computer-AidedDesign of Integrated Circuits and Systems vol 17 no 10 pp 920ndash935 1998
8 Journal of Applied Mathematics
[9] J I Hidalgo and J Lanchares ldquoFunctional partitioning forhardware-software codesign using genetic algorithmsrdquo in Pro-ceedings of the 23rd EUROMICRO Conference pp 631ndash638September 1997
[10] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration (VLSI) Systems vol10 no 3 pp 193ndash208 2002
[11] J Wang and X Xie ldquoOptimal odd-periodic complementarysequences for diffuse wireless optical communicationsrdquoOpticalEngineering vol 51 no 9 Article ID 095002 2012
[12] W Jigang B Chang and T Srikanthan ldquoA hybrid branch-and-bound strategy for hardwaresoftware partitioningrdquo inProceedings of the 8th IEEEACIS International Conference onComputer and Information Science (ICIS rsquo09) pp 641ndash644 June2009
[13] S Banerjee E Bozorgzadeh and N D Dutt ldquoIntegratingphysical constraints in HW-SW partitioning for architectureswith partial dynamic reconfigurationrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 14 no 11 pp1189ndash1202 2006
[14] P V Knudsen and J Madsen ldquoPACE a dynamic programmingalgorithm for hardwaresoftware partitioningrdquo in Proceedingsof the 4th International Workshop on HardwareSoftware Co-Design (CodesCASHE rsquo96) pp 85ndash92 IEEE Computer SocietyMarch 1996
[15] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby co-synthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997
[16] JWu and T Srikanthan ldquoLow-complex dynamic programmingalgorithm for hardwaresoftware partitioningrdquo InformationProcessing Letters vol 98 no 2 pp 41ndash46 2006
[17] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD thesis] University of California Berkeley 1995
[18] R Gupta and G De Micheli ldquoHardware-software cosynthesisfor digital systemsrdquo IEEE Design amp Test of Computers vol 10no 3 pp 29ndash41 1993
[19] R Niemann and P Marwedel ldquoHardwaresoftware partitioningusing integer programmingrdquo in Proceedings of the EuropeanDesign amp Test Conference pp 473ndash479 IEEE Computer SocietyMarch 1996
[20] F Vahid andDDGajski ldquoClustering for improved system-levelfunctional partitioningrdquo in Proceedings of the 8th InternationalSymposium on System Synthesis pp 28ndash33 September 1995
[21] F Vahid J Gong and D D Gajski ldquoBinary-constraint searchalgorithm for minimizing hardware during hardwaresoftwarepartitioningrdquo in Proceedings of the EuropeanDesign AutomationConference pp 214ndash219 IEEE Computer Society September1994
[22] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEE Design amp Test of Computersvol 10 no 4 pp 64ndash75 1993
[23] J Henkel and R Ernst ldquoAn approach to automated hard-waresoftware partitioning using a flexible granularity that isdriven by high-level estimation techniquesrdquo IEEE Transactionson Very Large Scale Integration (VLSI) Systems vol 9 no 2 pp273ndash289 2001
[24] L Li Y Song and M Gao ldquoA new genetic simulated annealingalgorithm for hardware-software partitioningrdquo in Proceedingsof the 2nd International Conference on Information Science and
Engineering (ICISE rsquo10) IEEE Computer Society December2010
[25] L Y Li and M Shi ldquoSoftware-hardware partitioning strategyusing hybrid genetic and Tabu searchrdquo in Proceedings of theInternational Conference on Computer Science and SoftwareEngineering (CSSE rsquo08) pp 83ndash86 December 2008
[26] S Zheng Y Zhang and T He ldquoThe application of GeneticAlgorithm In embedded system hardware-software partition-ingrdquo in Proceedings of the International Conference on ElectronicComputer Technology (ICECT rsquo09) pp 219ndash222 February 2009
[27] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystem levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997
[28] T Wiangtong P K Cheung and W Luk ldquoComparingthree heuristic search methods for functional partitioning inhardware-software codesignrdquoDesign Automation for EmbeddedSystems vol 6 no 4 pp 425ndash449 2002
[29] P Arato Z Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005
[30] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010
[31] J Albuquerque C Coelho Jr C F Cavalcanti D C daSilva Jr and A O Fernandes ldquoSystem-level partitioning withuncertaintyrdquo in Proceedings of the 7th International ConferenceonHardwareSoftware Codesign (CODES rsquo99) pp 198ndash202May1999
[32] J Albuquerque ldquoSolving hw sw partitioning bystochastic linearprogramming with management of teams uncertaintyrdquo
[33] Y Jiang H Zhang X Jiao et al ldquoUncertain model andalgorithm for hardwaresoftware partitioningrdquo in Proceedings ofthe IEEE Computer Society Annual Symposium on VLSI (ISVLSIrsquo12) pp 243ndash248 August 2012
[34] S Kirkpatrick C D Gelatt and M P Vecchi ldquoOptimization bysimulated annealingrdquo Science vol 220 no 4598 pp 671ndash6801983
[35] J Holland ldquoGenetic algorithmsrdquo Scientific American vol 267no 1 pp 66ndash72 1992
[36] P Arato S Juhasz ZMann AOrban andD Papp ldquoHardware-software partitioning in embedded system designrdquo in Proceed-ings of the IEEE International Symposium on Intelligent SignalProcessing pp 197ndash202 September 2003
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
4 Journal of Applied Mathematics
(1) Initialize the parameters of the genetic algorithm(2) Randomly generate the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(3) 119892119890119899119890119903119886119905119894119900119899 = 1(4) while (119892119890119899119890119903119886119905119894119900119899 le 119898119886119909 119892119890119899119890119903119886119905119894119900119899) do(5) clear the 119899119890119908 119901119900119901119906119897119886119905119894119900119899(6) compute fitness of individuals in the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(7) copy the individual with the highest fitness(8) while (119894119899119889119894V119894119889119906119886119897 119899119906119898119887119890119903 lt 119901119900119901119906119897119886119905119894119900119899 119904119894119911119890) do(9) Select two parents from the 119900119897119889 119901119900119901119906119897119886119905119894119900119899(10) Perform the crossover to produce two offsprings(11) Mutate each offspring based on119898119906119905119886119905119894119900119899 119903119886119905119890(12) Place the offspring to 119899119890119908 119901119900119901119906119897119886119905119894119900119899(13) end while(14) Replace the 119900119897119889 119901119900119901119906119897119886119905119894119900119899 by the 119899119890119908 119901119900119901119906119897119886119905119894119900119899(15) end while(16) return 119899119890119908 119904119900119897119906119905119894119900119899 with the best fitness
Algorithm 2 Genetic algorithm
(1) Encode the parameters for the partitioning problem(2) Initialize the first generation 119875
0
(3) Calculate the fitness of each individual in 1198750
(4) Copy the individual with the highest fitness to the solution(5) while (termination conditions) do(6) while (number of individuals le generation size) do(7) Select two individuals (119892
1 1198922)
(8) Perform crossover on (1198921 1198922) rarr (1198921015840
1 11989210158402)
(9) if (maxfitness(11989210158401) fitness(1198921015840
2) lemaxfitness(119892
1) fitness(119892
2)) then
(10) Reject the crossover with 11989210158401= 1198921 11989210158402= 1198922
(11) else(12) Accept the crossover(13) end if(14) Perform mutation on 1198921015840
1to produce 119899119892
1
(15) if (fitness(1198991198921) le fitness(1198921015840
1)) then
(16) Reject the mutation 1198991198921= 11989210158401
(17) else(18) Accept the mutation(19) end if(20) Perform the above steps on 1198921015840
2to produce 119899119892
2
(21) end while(22) Calculate the fitness of each individual(23) if (the highest fitness ge fitness(solution)) then(24) Copy the individual with the highest fitness(25) end if(26) increase the generation number(27) end while(28) return solution 119909[119894] 119894 isin [1 119899]
Algorithm 3 Heuristic algorithm
1198763 1198670and 119879
0are the given hardware constraint and exe-
cution time constraint respectively Find a HWSWpartition P such that119867
119883le 1198670and 119879
119883le 1198790
It has been proved that 1198761 1198762are NP hard and 119876
3is
NP complete [36] In this paper HWSW partitioning isperformed according to the 119876
2type
32 Mathematical Model As described in Section 1 a parti-tion is characterized by two metrics cost and time The costincludes hardware cost and software cost It represents theresource consumption to achieve the hardware and softwareimplementation of each task module The time includes theexecution time of each task module and the communicationtime between task modules
Journal of Applied Mathematics 5
(1) Encode the parameters and solution for the partitioning problem(2) Initialize the first generation 119875
0 temperature 119879
0 annealing ratio 120572
(3) Calculate the fitness of each individual in 1198750
(4) Copy the individual with the highest fitness to the solution(5) while (termination conditions) do(6) while (number of individuals le number of the generation size) do(7) Select two individuals (119892
1 1198922) from the current generation
(8) Perform crossover on (1198921 1198922) to produce two new individuals (1198921015840
1 11989210158402) lowast start of annealing-crossoverlowast
(9) if (maxfitness(11989210158401) fitness(1198921015840
2) lemaxfitness(119892
1) fitness(119892
2)) then
(10) Δ119862 = maxfitness(11989210158401) fitness(1198921015840
2)minusmaxfitness(119892
1) fitness(119892
2)
(11) if (min1 exp(minusΔ119862119879119896) ge random[1 0)) then
(12) Accept the crossover(13) else(14) Reject the crossover with 1198921015840
1= 1198921 11989210158402= 1198922
(15) end if(16) else(17) Accept the crossover(18) end if lowast end of annealing-crossover lowast(19) Perform mutation on 1198921015840
1to produce 119899119892
1 lowast start of annealing-mutationlowast
(20) if (fitness(1198991198921) le fitness(1198921015840
1)) then
(21) Δ119862 = (fitness(1198991198921) minus fitness(1198921015840
1))
(22) if (min1 exp(minusΔ119862119879119896) ge random[1 0)) then
(23) Accept the mutation(24) else(25) Reject the mutation 119899119892
1= 11989210158401
(26) end if(27) else(28) Accept the mutation(29) end if lowast end of annealing-mutationlowast(30) Perform step (19)ndash(29) on 1198921015840
2to produce 119899119892
2
(31) end while(32) Calculate the fitness of each individual in current generation(33) if (the highest fitness of the current generation ge fitness(solution)) then(34) Copy the individual with the highest fitness to the solution(35) end if(36) Reduce the temperature and increase the generation number(37) end while(38) return solution 119909[119894] 119894 isin [1 119899]
Algorithm 4 Combined heuristic algorithm
Based on the definition of previous subsection hardwarecost119867(x) of the partition 119875(x) and the total time metric 119879(x)can be formalized as follows
119867(x) =119899
sum119894=1
ℎ119894(1 minus 119909
119894)
119879 (x) =119899
sum119894=1
119905119904119894119909119894+ 119905ℎ119894(1 minus 119909
119894) +119899minus1
sum119894=1
119899
sum119895=119894+1
119888119894119895[(119909119894minus 119909119895)2
]
(1)
Based on the formalization of the two metrics and thegiven constraintM on execution time the partitioning prob-lem can be modeled as the following optimization problem
minimize 119867(x)
subject to 119879 (x) le 119872 x isin 0 1119899(1198751)
which can be simplified as the problem (1198752) presented later
maximize119899
sum119894=1
ℎ119894119909119894
subject to119899minus1
sum119894=1
119899
sum119895=119894+1
119888119894119895[(119909119894minus 119909119895)2
]
+119899
sum119894=1
(119905119904119894minus 119905ℎ119894) 119909119894le 119872 minus
119899
sum119894=1
119905ℎ119894 x isin 0 1119899
(1198752)
4 Algorithm
In this section we propose two algorithms to solve the par-titioning problem (119875
2) based on genetic algorithm and sim-
ulated annealing algorithm The basic principles of genetic
6 Journal of Applied Mathematics
algorithm were laid down by Holland [35] and have beenproved useful in a variety of search and optimization prob-lems Genetic algorithm simulates the survival-of-the-fitnessprinciple of nature The principle provides an organizationalreproductive framework starting from an initial populationproceeding through some random selection crossover andmutation operators from generation to generation and con-verging to a group of best environment-adapted individualsSimulated annealing algorithm is a generic probabilisticmetaheuristic for the global optimization problem locatinga good approximation to the global optimum of a givenfunction It is proposed byKirkpatrick et al [34] based on theanalogy between the solid annealing and the combinatorialoptimization problem
41 Initial Algorithm We apply the genetic algorithm tothe uncertain partitioning problem to find the approximateoptimal solution of the problem (119875
2) The pseudo code in the
Algorithm 3 shows the description of the algorithmThe steps(1)ndash(4) are the initialization of parameters and solution of thepartition problem The step (5) is used to check whether thetermination condition of the propagation is met or not Thestep (6) is used to ensure that the number of individuals of thenext generation is not reduced The crossover and mutationoperations are performed in the iteration block to produceindividuals of the next generation The fitness function isdefined on the object function of the problem (119875
2)We choose
the crossover and mutation strategy from [36]
42 Improved Algorithm We note that the genetic algorithmhas a strong global search capability while the simulatedannealing algorithmwill fail in a local optimal solution easilyHence we can incorporate simulated annealing algorithmin genetic algorithm We hope that the combined algorithmwill provide more accurate near-optimal solution with fasterspeed The pseudo code in the Algorithm 4 shows thealgorithm
The steps (8)ndash(18) are the original crossover operationincorporated to the Metropolis of annealing algorithm Thekey idea is that when the original crossover operation pro-duces better individuals the crossover operation is acceptedOtherwise we will accept the new individuals as the candi-dates of next generation in theMetropolis criterionThe steps(9)ndash(29) are the original crossover operation incorporatedwith the Metropolis of annealing algorithm The key ideais the same as annealing crossover The modified geneticoperators ensure that the next generation is better than thecurrent generation with the accepted rules based on fitnessand Metropolis criterion Those accepted rules speed up theconvergence of the solution process without loss of accuracyThe steps (32)ndash(36) are the update of solution generationnumber and temperature
5 Empirical Results
The proposed two algorithms are heuristics the model isconstructed from the communication graph We have todetermine the performance and the quality of the model andthe solution We have implemented them in C and test the
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
Number of nodes
Min
imum
har
dwar
e cos
t
OptimalEGAGA
Figure 3 Minimum cost comparison of the partition
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
100
200
300
400
500
600
700
800
900
1000
Number of nodes
Exec
utio
n tim
e
EGAGA
Figure 4 Runtime comparison of the two algorithms
algorithms on Intel i5 227GHZ PC In order to demonstratethe effectiveness of the proposed algorithm we compareit with original genetic-algorithm-based partitioning [36]For testing several random instances with different nodesand metrics are utilized The parameters of the partitioningproblem are generated with the following rules
(i) ℎ119894is randomly generated in [1 100]
(ii) 119905ℎ119894is randomly generated in [1 100] and 119905119904
119894is ran-
domly generated in [119905ℎ119894 200 + 119905ℎ
119894]
(iii) 119888119894119895is randomly generated in [1 20]
(iv) 119872 is a given time constraint and randomly generatedin [sum1198991119905ℎ119894 sum119899
1119905119904119894]
Journal of Applied Mathematics 7
0 02 04 06 08 1 12 14 16 18 235
4
45
5
55
6
65
7
75
8
Iteration
Har
dwar
e cos
t
GAEGA
times104
times104
Figure 5 Convergence track for number of nodes equals 1000
The simulation results of the proposed algorithms as wellas the original genetic algorithm are presented in Figures3 and 4 Each instance is tested for 100 times and theaverage values are presented The first graph demonstratesthe accuracy of the proposed algorithm and the secondgraph demonstrates the efficiency of the proposed algorithmFurthermore we collect the convergence track and the runtime of the two algorithms
The values about the cost value are shown in Figures3 and 4 for different parameters configurations For thoserandom graphs with the small size of nodes the results of119864119866119860 and 119866119860 are almost the same The two algorithms yieldsimilar results For bigger random graphs 119864119866119860 outperforms119866119860 119864119866119860 can always find smaller values than Algorithm 1With the increase of the size the deviation between the twoalgorithms grows bigger The improved algorithm will keepbetter population size and the local search will be moreuniversal and accurate
We also store the convergence track of the two algorithmsas presented in Figure 5 At the beginning of the iterationprocedure 119866119860 drops faster than 119864119866119860 But 119864119866119860 can findthe near optimal solution faster than 119866119860 in the convergenceprocess The iteration number grows with the size of thenodes which means more time to go into the stable state Wealso collect the minimum expectation cost value of the twoalgorithms The appearance times of the minimum value ofthe two algorithms demonstrate that the119864119866119860performs betterthan the 119866119860 even for a small number of nodes
As shown in the experiment results we can find that theoriginal genetic algorithm needs more time which meansmore iterations to meet the termination conditions Fur-thermore the accuracy of the near-optimal solution got bythe incorporated algorithm is higher From the experimentsit is reasonable to draw the conclusion that our proposedalgorithm produces high-quality approximate solution andgenerates the solution with faster speed
6 Conclusion
In this paper we construct a communication graph for thepartitioning problem in which the implementation costexecution time and communication time are all taken intoaccount Then we propose a heuristic based on geneticalgorithm and simulated annealing to solve the problemnear optimally even for quite large systems The proposedheuristicmethod incorporates simulated annealing in geneticalgorithm Those incorporated accepted rules based on fit-ness andMetropolis criterion speed up the convergence of thesolution process without loss of accuracy Experiment resultsshow that the proposed model and algorithm produce moreaccurate partitions with faster speed
Acknowledgments
This work was supported by the National Medium and Long-term Development Plan (Grant no 2010ZX01045-002-3)the 973 Program of China (Grant no 2010CB328000) theNational Natural Science Foundation of China (Grant nos61073168 61133016 and 61202010) and by the National 863Plan of China (Grant no 2012AA040906)
References
[1] J B Wang M Chen X Wan and C Wei ldquoAnt-colony-optimization-based scheduling algorithm for uplink CDMAnonreal-time datardquo IEEE Transactions on Vehicular Technologyvol 58 no 1 pp 231ndash241 2009
[2] Y Jiang H Zhang X Song et al ldquoBayesian network basedreliability analysis of plc systemsrdquo IEEETransactions on IndustryElectronics 2012
[3] J B Wang M Chen and J Wang ldquoAdaptive channel andpower allocation of downlink multi-user MC-CDMA systemsrdquoComputers and Electrical Engineering vol 35 no 5 pp 622ndash6332009
[4] D D Gajski F Vahid S Narayan and J Gong ldquoSpecSyn anenvironment supporting the specify-explore-refine paradigmfor hardwaresoftware system designrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 6 no 1 pp 84ndash100 1998
[5] J Henkel ldquoLow power hardwaresoftware partitioning ap-proach for core-based embedded systemsrdquo in Proceedings of the36th Annual Design Automation Conference (DAC) pp 122ndash127ACM June 1999
[6] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Design Automation for Embedded Systems vol 2 no 2pp 165ndash193 1997
[7] Z Mann and A Orban ldquoOptimization problems in system-level synthesisrdquo in Proceedings of the 3rd Hungarian-JapaneseSymposiumonDiscreteMathematics and Its Applications TokyoJapan 2003
[8] R P Dick and N K Jha ldquoMOGAC a multiobjective geneticalgorithm for hardware-software cosynthesis of distributedembedded systemsrdquo IEEE Transactions on Computer-AidedDesign of Integrated Circuits and Systems vol 17 no 10 pp 920ndash935 1998
8 Journal of Applied Mathematics
[9] J I Hidalgo and J Lanchares ldquoFunctional partitioning forhardware-software codesign using genetic algorithmsrdquo in Pro-ceedings of the 23rd EUROMICRO Conference pp 631ndash638September 1997
[10] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration (VLSI) Systems vol10 no 3 pp 193ndash208 2002
[11] J Wang and X Xie ldquoOptimal odd-periodic complementarysequences for diffuse wireless optical communicationsrdquoOpticalEngineering vol 51 no 9 Article ID 095002 2012
[12] W Jigang B Chang and T Srikanthan ldquoA hybrid branch-and-bound strategy for hardwaresoftware partitioningrdquo inProceedings of the 8th IEEEACIS International Conference onComputer and Information Science (ICIS rsquo09) pp 641ndash644 June2009
[13] S Banerjee E Bozorgzadeh and N D Dutt ldquoIntegratingphysical constraints in HW-SW partitioning for architectureswith partial dynamic reconfigurationrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 14 no 11 pp1189ndash1202 2006
[14] P V Knudsen and J Madsen ldquoPACE a dynamic programmingalgorithm for hardwaresoftware partitioningrdquo in Proceedingsof the 4th International Workshop on HardwareSoftware Co-Design (CodesCASHE rsquo96) pp 85ndash92 IEEE Computer SocietyMarch 1996
[15] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby co-synthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997
[16] JWu and T Srikanthan ldquoLow-complex dynamic programmingalgorithm for hardwaresoftware partitioningrdquo InformationProcessing Letters vol 98 no 2 pp 41ndash46 2006
[17] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD thesis] University of California Berkeley 1995
[18] R Gupta and G De Micheli ldquoHardware-software cosynthesisfor digital systemsrdquo IEEE Design amp Test of Computers vol 10no 3 pp 29ndash41 1993
[19] R Niemann and P Marwedel ldquoHardwaresoftware partitioningusing integer programmingrdquo in Proceedings of the EuropeanDesign amp Test Conference pp 473ndash479 IEEE Computer SocietyMarch 1996
[20] F Vahid andDDGajski ldquoClustering for improved system-levelfunctional partitioningrdquo in Proceedings of the 8th InternationalSymposium on System Synthesis pp 28ndash33 September 1995
[21] F Vahid J Gong and D D Gajski ldquoBinary-constraint searchalgorithm for minimizing hardware during hardwaresoftwarepartitioningrdquo in Proceedings of the EuropeanDesign AutomationConference pp 214ndash219 IEEE Computer Society September1994
[22] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEE Design amp Test of Computersvol 10 no 4 pp 64ndash75 1993
[23] J Henkel and R Ernst ldquoAn approach to automated hard-waresoftware partitioning using a flexible granularity that isdriven by high-level estimation techniquesrdquo IEEE Transactionson Very Large Scale Integration (VLSI) Systems vol 9 no 2 pp273ndash289 2001
[24] L Li Y Song and M Gao ldquoA new genetic simulated annealingalgorithm for hardware-software partitioningrdquo in Proceedingsof the 2nd International Conference on Information Science and
Engineering (ICISE rsquo10) IEEE Computer Society December2010
[25] L Y Li and M Shi ldquoSoftware-hardware partitioning strategyusing hybrid genetic and Tabu searchrdquo in Proceedings of theInternational Conference on Computer Science and SoftwareEngineering (CSSE rsquo08) pp 83ndash86 December 2008
[26] S Zheng Y Zhang and T He ldquoThe application of GeneticAlgorithm In embedded system hardware-software partition-ingrdquo in Proceedings of the International Conference on ElectronicComputer Technology (ICECT rsquo09) pp 219ndash222 February 2009
[27] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystem levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997
[28] T Wiangtong P K Cheung and W Luk ldquoComparingthree heuristic search methods for functional partitioning inhardware-software codesignrdquoDesign Automation for EmbeddedSystems vol 6 no 4 pp 425ndash449 2002
[29] P Arato Z Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005
[30] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010
[31] J Albuquerque C Coelho Jr C F Cavalcanti D C daSilva Jr and A O Fernandes ldquoSystem-level partitioning withuncertaintyrdquo in Proceedings of the 7th International ConferenceonHardwareSoftware Codesign (CODES rsquo99) pp 198ndash202May1999
[32] J Albuquerque ldquoSolving hw sw partitioning bystochastic linearprogramming with management of teams uncertaintyrdquo
[33] Y Jiang H Zhang X Jiao et al ldquoUncertain model andalgorithm for hardwaresoftware partitioningrdquo in Proceedings ofthe IEEE Computer Society Annual Symposium on VLSI (ISVLSIrsquo12) pp 243ndash248 August 2012
[34] S Kirkpatrick C D Gelatt and M P Vecchi ldquoOptimization bysimulated annealingrdquo Science vol 220 no 4598 pp 671ndash6801983
[35] J Holland ldquoGenetic algorithmsrdquo Scientific American vol 267no 1 pp 66ndash72 1992
[36] P Arato S Juhasz ZMann AOrban andD Papp ldquoHardware-software partitioning in embedded system designrdquo in Proceed-ings of the IEEE International Symposium on Intelligent SignalProcessing pp 197ndash202 September 2003
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Journal of Applied Mathematics 5
(1) Encode the parameters and solution for the partitioning problem(2) Initialize the first generation 119875
0 temperature 119879
0 annealing ratio 120572
(3) Calculate the fitness of each individual in 1198750
(4) Copy the individual with the highest fitness to the solution(5) while (termination conditions) do(6) while (number of individuals le number of the generation size) do(7) Select two individuals (119892
1 1198922) from the current generation
(8) Perform crossover on (1198921 1198922) to produce two new individuals (1198921015840
1 11989210158402) lowast start of annealing-crossoverlowast
(9) if (maxfitness(11989210158401) fitness(1198921015840
2) lemaxfitness(119892
1) fitness(119892
2)) then
(10) Δ119862 = maxfitness(11989210158401) fitness(1198921015840
2)minusmaxfitness(119892
1) fitness(119892
2)
(11) if (min1 exp(minusΔ119862119879119896) ge random[1 0)) then
(12) Accept the crossover(13) else(14) Reject the crossover with 1198921015840
1= 1198921 11989210158402= 1198922
(15) end if(16) else(17) Accept the crossover(18) end if lowast end of annealing-crossover lowast(19) Perform mutation on 1198921015840
1to produce 119899119892
1 lowast start of annealing-mutationlowast
(20) if (fitness(1198991198921) le fitness(1198921015840
1)) then
(21) Δ119862 = (fitness(1198991198921) minus fitness(1198921015840
1))
(22) if (min1 exp(minusΔ119862119879119896) ge random[1 0)) then
(23) Accept the mutation(24) else(25) Reject the mutation 119899119892
1= 11989210158401
(26) end if(27) else(28) Accept the mutation(29) end if lowast end of annealing-mutationlowast(30) Perform step (19)ndash(29) on 1198921015840
2to produce 119899119892
2
(31) end while(32) Calculate the fitness of each individual in current generation(33) if (the highest fitness of the current generation ge fitness(solution)) then(34) Copy the individual with the highest fitness to the solution(35) end if(36) Reduce the temperature and increase the generation number(37) end while(38) return solution 119909[119894] 119894 isin [1 119899]
Algorithm 4 Combined heuristic algorithm
Based on the definition of previous subsection hardwarecost119867(x) of the partition 119875(x) and the total time metric 119879(x)can be formalized as follows
119867(x) =119899
sum119894=1
ℎ119894(1 minus 119909
119894)
119879 (x) =119899
sum119894=1
119905119904119894119909119894+ 119905ℎ119894(1 minus 119909
119894) +119899minus1
sum119894=1
119899
sum119895=119894+1
119888119894119895[(119909119894minus 119909119895)2
]
(1)
Based on the formalization of the two metrics and thegiven constraintM on execution time the partitioning prob-lem can be modeled as the following optimization problem
minimize 119867(x)
subject to 119879 (x) le 119872 x isin 0 1119899(1198751)
which can be simplified as the problem (1198752) presented later
maximize119899
sum119894=1
ℎ119894119909119894
subject to119899minus1
sum119894=1
119899
sum119895=119894+1
119888119894119895[(119909119894minus 119909119895)2
]
+119899
sum119894=1
(119905119904119894minus 119905ℎ119894) 119909119894le 119872 minus
119899
sum119894=1
119905ℎ119894 x isin 0 1119899
(1198752)
4 Algorithm
In this section we propose two algorithms to solve the par-titioning problem (119875
2) based on genetic algorithm and sim-
ulated annealing algorithm The basic principles of genetic
6 Journal of Applied Mathematics
algorithm were laid down by Holland [35] and have beenproved useful in a variety of search and optimization prob-lems Genetic algorithm simulates the survival-of-the-fitnessprinciple of nature The principle provides an organizationalreproductive framework starting from an initial populationproceeding through some random selection crossover andmutation operators from generation to generation and con-verging to a group of best environment-adapted individualsSimulated annealing algorithm is a generic probabilisticmetaheuristic for the global optimization problem locatinga good approximation to the global optimum of a givenfunction It is proposed byKirkpatrick et al [34] based on theanalogy between the solid annealing and the combinatorialoptimization problem
41 Initial Algorithm We apply the genetic algorithm tothe uncertain partitioning problem to find the approximateoptimal solution of the problem (119875
2) The pseudo code in the
Algorithm 3 shows the description of the algorithmThe steps(1)ndash(4) are the initialization of parameters and solution of thepartition problem The step (5) is used to check whether thetermination condition of the propagation is met or not Thestep (6) is used to ensure that the number of individuals of thenext generation is not reduced The crossover and mutationoperations are performed in the iteration block to produceindividuals of the next generation The fitness function isdefined on the object function of the problem (119875
2)We choose
the crossover and mutation strategy from [36]
42 Improved Algorithm We note that the genetic algorithmhas a strong global search capability while the simulatedannealing algorithmwill fail in a local optimal solution easilyHence we can incorporate simulated annealing algorithmin genetic algorithm We hope that the combined algorithmwill provide more accurate near-optimal solution with fasterspeed The pseudo code in the Algorithm 4 shows thealgorithm
The steps (8)ndash(18) are the original crossover operationincorporated to the Metropolis of annealing algorithm Thekey idea is that when the original crossover operation pro-duces better individuals the crossover operation is acceptedOtherwise we will accept the new individuals as the candi-dates of next generation in theMetropolis criterionThe steps(9)ndash(29) are the original crossover operation incorporatedwith the Metropolis of annealing algorithm The key ideais the same as annealing crossover The modified geneticoperators ensure that the next generation is better than thecurrent generation with the accepted rules based on fitnessand Metropolis criterion Those accepted rules speed up theconvergence of the solution process without loss of accuracyThe steps (32)ndash(36) are the update of solution generationnumber and temperature
5 Empirical Results
The proposed two algorithms are heuristics the model isconstructed from the communication graph We have todetermine the performance and the quality of the model andthe solution We have implemented them in C and test the
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
Number of nodes
Min
imum
har
dwar
e cos
t
OptimalEGAGA
Figure 3 Minimum cost comparison of the partition
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
100
200
300
400
500
600
700
800
900
1000
Number of nodes
Exec
utio
n tim
e
EGAGA
Figure 4 Runtime comparison of the two algorithms
algorithms on Intel i5 227GHZ PC In order to demonstratethe effectiveness of the proposed algorithm we compareit with original genetic-algorithm-based partitioning [36]For testing several random instances with different nodesand metrics are utilized The parameters of the partitioningproblem are generated with the following rules
(i) ℎ119894is randomly generated in [1 100]
(ii) 119905ℎ119894is randomly generated in [1 100] and 119905119904
119894is ran-
domly generated in [119905ℎ119894 200 + 119905ℎ
119894]
(iii) 119888119894119895is randomly generated in [1 20]
(iv) 119872 is a given time constraint and randomly generatedin [sum1198991119905ℎ119894 sum119899
1119905119904119894]
Journal of Applied Mathematics 7
0 02 04 06 08 1 12 14 16 18 235
4
45
5
55
6
65
7
75
8
Iteration
Har
dwar
e cos
t
GAEGA
times104
times104
Figure 5 Convergence track for number of nodes equals 1000
The simulation results of the proposed algorithms as wellas the original genetic algorithm are presented in Figures3 and 4 Each instance is tested for 100 times and theaverage values are presented The first graph demonstratesthe accuracy of the proposed algorithm and the secondgraph demonstrates the efficiency of the proposed algorithmFurthermore we collect the convergence track and the runtime of the two algorithms
The values about the cost value are shown in Figures3 and 4 for different parameters configurations For thoserandom graphs with the small size of nodes the results of119864119866119860 and 119866119860 are almost the same The two algorithms yieldsimilar results For bigger random graphs 119864119866119860 outperforms119866119860 119864119866119860 can always find smaller values than Algorithm 1With the increase of the size the deviation between the twoalgorithms grows bigger The improved algorithm will keepbetter population size and the local search will be moreuniversal and accurate
We also store the convergence track of the two algorithmsas presented in Figure 5 At the beginning of the iterationprocedure 119866119860 drops faster than 119864119866119860 But 119864119866119860 can findthe near optimal solution faster than 119866119860 in the convergenceprocess The iteration number grows with the size of thenodes which means more time to go into the stable state Wealso collect the minimum expectation cost value of the twoalgorithms The appearance times of the minimum value ofthe two algorithms demonstrate that the119864119866119860performs betterthan the 119866119860 even for a small number of nodes
As shown in the experiment results we can find that theoriginal genetic algorithm needs more time which meansmore iterations to meet the termination conditions Fur-thermore the accuracy of the near-optimal solution got bythe incorporated algorithm is higher From the experimentsit is reasonable to draw the conclusion that our proposedalgorithm produces high-quality approximate solution andgenerates the solution with faster speed
6 Conclusion
In this paper we construct a communication graph for thepartitioning problem in which the implementation costexecution time and communication time are all taken intoaccount Then we propose a heuristic based on geneticalgorithm and simulated annealing to solve the problemnear optimally even for quite large systems The proposedheuristicmethod incorporates simulated annealing in geneticalgorithm Those incorporated accepted rules based on fit-ness andMetropolis criterion speed up the convergence of thesolution process without loss of accuracy Experiment resultsshow that the proposed model and algorithm produce moreaccurate partitions with faster speed
Acknowledgments
This work was supported by the National Medium and Long-term Development Plan (Grant no 2010ZX01045-002-3)the 973 Program of China (Grant no 2010CB328000) theNational Natural Science Foundation of China (Grant nos61073168 61133016 and 61202010) and by the National 863Plan of China (Grant no 2012AA040906)
References
[1] J B Wang M Chen X Wan and C Wei ldquoAnt-colony-optimization-based scheduling algorithm for uplink CDMAnonreal-time datardquo IEEE Transactions on Vehicular Technologyvol 58 no 1 pp 231ndash241 2009
[2] Y Jiang H Zhang X Song et al ldquoBayesian network basedreliability analysis of plc systemsrdquo IEEETransactions on IndustryElectronics 2012
[3] J B Wang M Chen and J Wang ldquoAdaptive channel andpower allocation of downlink multi-user MC-CDMA systemsrdquoComputers and Electrical Engineering vol 35 no 5 pp 622ndash6332009
[4] D D Gajski F Vahid S Narayan and J Gong ldquoSpecSyn anenvironment supporting the specify-explore-refine paradigmfor hardwaresoftware system designrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 6 no 1 pp 84ndash100 1998
[5] J Henkel ldquoLow power hardwaresoftware partitioning ap-proach for core-based embedded systemsrdquo in Proceedings of the36th Annual Design Automation Conference (DAC) pp 122ndash127ACM June 1999
[6] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Design Automation for Embedded Systems vol 2 no 2pp 165ndash193 1997
[7] Z Mann and A Orban ldquoOptimization problems in system-level synthesisrdquo in Proceedings of the 3rd Hungarian-JapaneseSymposiumonDiscreteMathematics and Its Applications TokyoJapan 2003
[8] R P Dick and N K Jha ldquoMOGAC a multiobjective geneticalgorithm for hardware-software cosynthesis of distributedembedded systemsrdquo IEEE Transactions on Computer-AidedDesign of Integrated Circuits and Systems vol 17 no 10 pp 920ndash935 1998
8 Journal of Applied Mathematics
[9] J I Hidalgo and J Lanchares ldquoFunctional partitioning forhardware-software codesign using genetic algorithmsrdquo in Pro-ceedings of the 23rd EUROMICRO Conference pp 631ndash638September 1997
[10] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration (VLSI) Systems vol10 no 3 pp 193ndash208 2002
[11] J Wang and X Xie ldquoOptimal odd-periodic complementarysequences for diffuse wireless optical communicationsrdquoOpticalEngineering vol 51 no 9 Article ID 095002 2012
[12] W Jigang B Chang and T Srikanthan ldquoA hybrid branch-and-bound strategy for hardwaresoftware partitioningrdquo inProceedings of the 8th IEEEACIS International Conference onComputer and Information Science (ICIS rsquo09) pp 641ndash644 June2009
[13] S Banerjee E Bozorgzadeh and N D Dutt ldquoIntegratingphysical constraints in HW-SW partitioning for architectureswith partial dynamic reconfigurationrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 14 no 11 pp1189ndash1202 2006
[14] P V Knudsen and J Madsen ldquoPACE a dynamic programmingalgorithm for hardwaresoftware partitioningrdquo in Proceedingsof the 4th International Workshop on HardwareSoftware Co-Design (CodesCASHE rsquo96) pp 85ndash92 IEEE Computer SocietyMarch 1996
[15] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby co-synthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997
[16] JWu and T Srikanthan ldquoLow-complex dynamic programmingalgorithm for hardwaresoftware partitioningrdquo InformationProcessing Letters vol 98 no 2 pp 41ndash46 2006
[17] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD thesis] University of California Berkeley 1995
[18] R Gupta and G De Micheli ldquoHardware-software cosynthesisfor digital systemsrdquo IEEE Design amp Test of Computers vol 10no 3 pp 29ndash41 1993
[19] R Niemann and P Marwedel ldquoHardwaresoftware partitioningusing integer programmingrdquo in Proceedings of the EuropeanDesign amp Test Conference pp 473ndash479 IEEE Computer SocietyMarch 1996
[20] F Vahid andDDGajski ldquoClustering for improved system-levelfunctional partitioningrdquo in Proceedings of the 8th InternationalSymposium on System Synthesis pp 28ndash33 September 1995
[21] F Vahid J Gong and D D Gajski ldquoBinary-constraint searchalgorithm for minimizing hardware during hardwaresoftwarepartitioningrdquo in Proceedings of the EuropeanDesign AutomationConference pp 214ndash219 IEEE Computer Society September1994
[22] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEE Design amp Test of Computersvol 10 no 4 pp 64ndash75 1993
[23] J Henkel and R Ernst ldquoAn approach to automated hard-waresoftware partitioning using a flexible granularity that isdriven by high-level estimation techniquesrdquo IEEE Transactionson Very Large Scale Integration (VLSI) Systems vol 9 no 2 pp273ndash289 2001
[24] L Li Y Song and M Gao ldquoA new genetic simulated annealingalgorithm for hardware-software partitioningrdquo in Proceedingsof the 2nd International Conference on Information Science and
Engineering (ICISE rsquo10) IEEE Computer Society December2010
[25] L Y Li and M Shi ldquoSoftware-hardware partitioning strategyusing hybrid genetic and Tabu searchrdquo in Proceedings of theInternational Conference on Computer Science and SoftwareEngineering (CSSE rsquo08) pp 83ndash86 December 2008
[26] S Zheng Y Zhang and T He ldquoThe application of GeneticAlgorithm In embedded system hardware-software partition-ingrdquo in Proceedings of the International Conference on ElectronicComputer Technology (ICECT rsquo09) pp 219ndash222 February 2009
[27] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystem levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997
[28] T Wiangtong P K Cheung and W Luk ldquoComparingthree heuristic search methods for functional partitioning inhardware-software codesignrdquoDesign Automation for EmbeddedSystems vol 6 no 4 pp 425ndash449 2002
[29] P Arato Z Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005
[30] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010
[31] J Albuquerque C Coelho Jr C F Cavalcanti D C daSilva Jr and A O Fernandes ldquoSystem-level partitioning withuncertaintyrdquo in Proceedings of the 7th International ConferenceonHardwareSoftware Codesign (CODES rsquo99) pp 198ndash202May1999
[32] J Albuquerque ldquoSolving hw sw partitioning bystochastic linearprogramming with management of teams uncertaintyrdquo
[33] Y Jiang H Zhang X Jiao et al ldquoUncertain model andalgorithm for hardwaresoftware partitioningrdquo in Proceedings ofthe IEEE Computer Society Annual Symposium on VLSI (ISVLSIrsquo12) pp 243ndash248 August 2012
[34] S Kirkpatrick C D Gelatt and M P Vecchi ldquoOptimization bysimulated annealingrdquo Science vol 220 no 4598 pp 671ndash6801983
[35] J Holland ldquoGenetic algorithmsrdquo Scientific American vol 267no 1 pp 66ndash72 1992
[36] P Arato S Juhasz ZMann AOrban andD Papp ldquoHardware-software partitioning in embedded system designrdquo in Proceed-ings of the IEEE International Symposium on Intelligent SignalProcessing pp 197ndash202 September 2003
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
6 Journal of Applied Mathematics
algorithm were laid down by Holland [35] and have beenproved useful in a variety of search and optimization prob-lems Genetic algorithm simulates the survival-of-the-fitnessprinciple of nature The principle provides an organizationalreproductive framework starting from an initial populationproceeding through some random selection crossover andmutation operators from generation to generation and con-verging to a group of best environment-adapted individualsSimulated annealing algorithm is a generic probabilisticmetaheuristic for the global optimization problem locatinga good approximation to the global optimum of a givenfunction It is proposed byKirkpatrick et al [34] based on theanalogy between the solid annealing and the combinatorialoptimization problem
41 Initial Algorithm We apply the genetic algorithm tothe uncertain partitioning problem to find the approximateoptimal solution of the problem (119875
2) The pseudo code in the
Algorithm 3 shows the description of the algorithmThe steps(1)ndash(4) are the initialization of parameters and solution of thepartition problem The step (5) is used to check whether thetermination condition of the propagation is met or not Thestep (6) is used to ensure that the number of individuals of thenext generation is not reduced The crossover and mutationoperations are performed in the iteration block to produceindividuals of the next generation The fitness function isdefined on the object function of the problem (119875
2)We choose
the crossover and mutation strategy from [36]
42 Improved Algorithm We note that the genetic algorithmhas a strong global search capability while the simulatedannealing algorithmwill fail in a local optimal solution easilyHence we can incorporate simulated annealing algorithmin genetic algorithm We hope that the combined algorithmwill provide more accurate near-optimal solution with fasterspeed The pseudo code in the Algorithm 4 shows thealgorithm
The steps (8)ndash(18) are the original crossover operationincorporated to the Metropolis of annealing algorithm Thekey idea is that when the original crossover operation pro-duces better individuals the crossover operation is acceptedOtherwise we will accept the new individuals as the candi-dates of next generation in theMetropolis criterionThe steps(9)ndash(29) are the original crossover operation incorporatedwith the Metropolis of annealing algorithm The key ideais the same as annealing crossover The modified geneticoperators ensure that the next generation is better than thecurrent generation with the accepted rules based on fitnessand Metropolis criterion Those accepted rules speed up theconvergence of the solution process without loss of accuracyThe steps (32)ndash(36) are the update of solution generationnumber and temperature
5 Empirical Results
The proposed two algorithms are heuristics the model isconstructed from the communication graph We have todetermine the performance and the quality of the model andthe solution We have implemented them in C and test the
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
Number of nodes
Min
imum
har
dwar
e cos
t
OptimalEGAGA
Figure 3 Minimum cost comparison of the partition
0 500 1000 1500 2000 2500 3000 3500 4000 4500 50000
100
200
300
400
500
600
700
800
900
1000
Number of nodes
Exec
utio
n tim
e
EGAGA
Figure 4 Runtime comparison of the two algorithms
algorithms on Intel i5 227GHZ PC In order to demonstratethe effectiveness of the proposed algorithm we compareit with original genetic-algorithm-based partitioning [36]For testing several random instances with different nodesand metrics are utilized The parameters of the partitioningproblem are generated with the following rules
(i) ℎ119894is randomly generated in [1 100]
(ii) 119905ℎ119894is randomly generated in [1 100] and 119905119904
119894is ran-
domly generated in [119905ℎ119894 200 + 119905ℎ
119894]
(iii) 119888119894119895is randomly generated in [1 20]
(iv) 119872 is a given time constraint and randomly generatedin [sum1198991119905ℎ119894 sum119899
1119905119904119894]
Journal of Applied Mathematics 7
0 02 04 06 08 1 12 14 16 18 235
4
45
5
55
6
65
7
75
8
Iteration
Har
dwar
e cos
t
GAEGA
times104
times104
Figure 5 Convergence track for number of nodes equals 1000
The simulation results of the proposed algorithms as wellas the original genetic algorithm are presented in Figures3 and 4 Each instance is tested for 100 times and theaverage values are presented The first graph demonstratesthe accuracy of the proposed algorithm and the secondgraph demonstrates the efficiency of the proposed algorithmFurthermore we collect the convergence track and the runtime of the two algorithms
The values about the cost value are shown in Figures3 and 4 for different parameters configurations For thoserandom graphs with the small size of nodes the results of119864119866119860 and 119866119860 are almost the same The two algorithms yieldsimilar results For bigger random graphs 119864119866119860 outperforms119866119860 119864119866119860 can always find smaller values than Algorithm 1With the increase of the size the deviation between the twoalgorithms grows bigger The improved algorithm will keepbetter population size and the local search will be moreuniversal and accurate
We also store the convergence track of the two algorithmsas presented in Figure 5 At the beginning of the iterationprocedure 119866119860 drops faster than 119864119866119860 But 119864119866119860 can findthe near optimal solution faster than 119866119860 in the convergenceprocess The iteration number grows with the size of thenodes which means more time to go into the stable state Wealso collect the minimum expectation cost value of the twoalgorithms The appearance times of the minimum value ofthe two algorithms demonstrate that the119864119866119860performs betterthan the 119866119860 even for a small number of nodes
As shown in the experiment results we can find that theoriginal genetic algorithm needs more time which meansmore iterations to meet the termination conditions Fur-thermore the accuracy of the near-optimal solution got bythe incorporated algorithm is higher From the experimentsit is reasonable to draw the conclusion that our proposedalgorithm produces high-quality approximate solution andgenerates the solution with faster speed
6 Conclusion
In this paper we construct a communication graph for thepartitioning problem in which the implementation costexecution time and communication time are all taken intoaccount Then we propose a heuristic based on geneticalgorithm and simulated annealing to solve the problemnear optimally even for quite large systems The proposedheuristicmethod incorporates simulated annealing in geneticalgorithm Those incorporated accepted rules based on fit-ness andMetropolis criterion speed up the convergence of thesolution process without loss of accuracy Experiment resultsshow that the proposed model and algorithm produce moreaccurate partitions with faster speed
Acknowledgments
This work was supported by the National Medium and Long-term Development Plan (Grant no 2010ZX01045-002-3)the 973 Program of China (Grant no 2010CB328000) theNational Natural Science Foundation of China (Grant nos61073168 61133016 and 61202010) and by the National 863Plan of China (Grant no 2012AA040906)
References
[1] J B Wang M Chen X Wan and C Wei ldquoAnt-colony-optimization-based scheduling algorithm for uplink CDMAnonreal-time datardquo IEEE Transactions on Vehicular Technologyvol 58 no 1 pp 231ndash241 2009
[2] Y Jiang H Zhang X Song et al ldquoBayesian network basedreliability analysis of plc systemsrdquo IEEETransactions on IndustryElectronics 2012
[3] J B Wang M Chen and J Wang ldquoAdaptive channel andpower allocation of downlink multi-user MC-CDMA systemsrdquoComputers and Electrical Engineering vol 35 no 5 pp 622ndash6332009
[4] D D Gajski F Vahid S Narayan and J Gong ldquoSpecSyn anenvironment supporting the specify-explore-refine paradigmfor hardwaresoftware system designrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 6 no 1 pp 84ndash100 1998
[5] J Henkel ldquoLow power hardwaresoftware partitioning ap-proach for core-based embedded systemsrdquo in Proceedings of the36th Annual Design Automation Conference (DAC) pp 122ndash127ACM June 1999
[6] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Design Automation for Embedded Systems vol 2 no 2pp 165ndash193 1997
[7] Z Mann and A Orban ldquoOptimization problems in system-level synthesisrdquo in Proceedings of the 3rd Hungarian-JapaneseSymposiumonDiscreteMathematics and Its Applications TokyoJapan 2003
[8] R P Dick and N K Jha ldquoMOGAC a multiobjective geneticalgorithm for hardware-software cosynthesis of distributedembedded systemsrdquo IEEE Transactions on Computer-AidedDesign of Integrated Circuits and Systems vol 17 no 10 pp 920ndash935 1998
8 Journal of Applied Mathematics
[9] J I Hidalgo and J Lanchares ldquoFunctional partitioning forhardware-software codesign using genetic algorithmsrdquo in Pro-ceedings of the 23rd EUROMICRO Conference pp 631ndash638September 1997
[10] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration (VLSI) Systems vol10 no 3 pp 193ndash208 2002
[11] J Wang and X Xie ldquoOptimal odd-periodic complementarysequences for diffuse wireless optical communicationsrdquoOpticalEngineering vol 51 no 9 Article ID 095002 2012
[12] W Jigang B Chang and T Srikanthan ldquoA hybrid branch-and-bound strategy for hardwaresoftware partitioningrdquo inProceedings of the 8th IEEEACIS International Conference onComputer and Information Science (ICIS rsquo09) pp 641ndash644 June2009
[13] S Banerjee E Bozorgzadeh and N D Dutt ldquoIntegratingphysical constraints in HW-SW partitioning for architectureswith partial dynamic reconfigurationrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 14 no 11 pp1189ndash1202 2006
[14] P V Knudsen and J Madsen ldquoPACE a dynamic programmingalgorithm for hardwaresoftware partitioningrdquo in Proceedingsof the 4th International Workshop on HardwareSoftware Co-Design (CodesCASHE rsquo96) pp 85ndash92 IEEE Computer SocietyMarch 1996
[15] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby co-synthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997
[16] JWu and T Srikanthan ldquoLow-complex dynamic programmingalgorithm for hardwaresoftware partitioningrdquo InformationProcessing Letters vol 98 no 2 pp 41ndash46 2006
[17] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD thesis] University of California Berkeley 1995
[18] R Gupta and G De Micheli ldquoHardware-software cosynthesisfor digital systemsrdquo IEEE Design amp Test of Computers vol 10no 3 pp 29ndash41 1993
[19] R Niemann and P Marwedel ldquoHardwaresoftware partitioningusing integer programmingrdquo in Proceedings of the EuropeanDesign amp Test Conference pp 473ndash479 IEEE Computer SocietyMarch 1996
[20] F Vahid andDDGajski ldquoClustering for improved system-levelfunctional partitioningrdquo in Proceedings of the 8th InternationalSymposium on System Synthesis pp 28ndash33 September 1995
[21] F Vahid J Gong and D D Gajski ldquoBinary-constraint searchalgorithm for minimizing hardware during hardwaresoftwarepartitioningrdquo in Proceedings of the EuropeanDesign AutomationConference pp 214ndash219 IEEE Computer Society September1994
[22] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEE Design amp Test of Computersvol 10 no 4 pp 64ndash75 1993
[23] J Henkel and R Ernst ldquoAn approach to automated hard-waresoftware partitioning using a flexible granularity that isdriven by high-level estimation techniquesrdquo IEEE Transactionson Very Large Scale Integration (VLSI) Systems vol 9 no 2 pp273ndash289 2001
[24] L Li Y Song and M Gao ldquoA new genetic simulated annealingalgorithm for hardware-software partitioningrdquo in Proceedingsof the 2nd International Conference on Information Science and
Engineering (ICISE rsquo10) IEEE Computer Society December2010
[25] L Y Li and M Shi ldquoSoftware-hardware partitioning strategyusing hybrid genetic and Tabu searchrdquo in Proceedings of theInternational Conference on Computer Science and SoftwareEngineering (CSSE rsquo08) pp 83ndash86 December 2008
[26] S Zheng Y Zhang and T He ldquoThe application of GeneticAlgorithm In embedded system hardware-software partition-ingrdquo in Proceedings of the International Conference on ElectronicComputer Technology (ICECT rsquo09) pp 219ndash222 February 2009
[27] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystem levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997
[28] T Wiangtong P K Cheung and W Luk ldquoComparingthree heuristic search methods for functional partitioning inhardware-software codesignrdquoDesign Automation for EmbeddedSystems vol 6 no 4 pp 425ndash449 2002
[29] P Arato Z Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005
[30] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010
[31] J Albuquerque C Coelho Jr C F Cavalcanti D C daSilva Jr and A O Fernandes ldquoSystem-level partitioning withuncertaintyrdquo in Proceedings of the 7th International ConferenceonHardwareSoftware Codesign (CODES rsquo99) pp 198ndash202May1999
[32] J Albuquerque ldquoSolving hw sw partitioning bystochastic linearprogramming with management of teams uncertaintyrdquo
[33] Y Jiang H Zhang X Jiao et al ldquoUncertain model andalgorithm for hardwaresoftware partitioningrdquo in Proceedings ofthe IEEE Computer Society Annual Symposium on VLSI (ISVLSIrsquo12) pp 243ndash248 August 2012
[34] S Kirkpatrick C D Gelatt and M P Vecchi ldquoOptimization bysimulated annealingrdquo Science vol 220 no 4598 pp 671ndash6801983
[35] J Holland ldquoGenetic algorithmsrdquo Scientific American vol 267no 1 pp 66ndash72 1992
[36] P Arato S Juhasz ZMann AOrban andD Papp ldquoHardware-software partitioning in embedded system designrdquo in Proceed-ings of the IEEE International Symposium on Intelligent SignalProcessing pp 197ndash202 September 2003
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Journal of Applied Mathematics 7
0 02 04 06 08 1 12 14 16 18 235
4
45
5
55
6
65
7
75
8
Iteration
Har
dwar
e cos
t
GAEGA
times104
times104
Figure 5 Convergence track for number of nodes equals 1000
The simulation results of the proposed algorithms as wellas the original genetic algorithm are presented in Figures3 and 4 Each instance is tested for 100 times and theaverage values are presented The first graph demonstratesthe accuracy of the proposed algorithm and the secondgraph demonstrates the efficiency of the proposed algorithmFurthermore we collect the convergence track and the runtime of the two algorithms
The values about the cost value are shown in Figures3 and 4 for different parameters configurations For thoserandom graphs with the small size of nodes the results of119864119866119860 and 119866119860 are almost the same The two algorithms yieldsimilar results For bigger random graphs 119864119866119860 outperforms119866119860 119864119866119860 can always find smaller values than Algorithm 1With the increase of the size the deviation between the twoalgorithms grows bigger The improved algorithm will keepbetter population size and the local search will be moreuniversal and accurate
We also store the convergence track of the two algorithmsas presented in Figure 5 At the beginning of the iterationprocedure 119866119860 drops faster than 119864119866119860 But 119864119866119860 can findthe near optimal solution faster than 119866119860 in the convergenceprocess The iteration number grows with the size of thenodes which means more time to go into the stable state Wealso collect the minimum expectation cost value of the twoalgorithms The appearance times of the minimum value ofthe two algorithms demonstrate that the119864119866119860performs betterthan the 119866119860 even for a small number of nodes
As shown in the experiment results we can find that theoriginal genetic algorithm needs more time which meansmore iterations to meet the termination conditions Fur-thermore the accuracy of the near-optimal solution got bythe incorporated algorithm is higher From the experimentsit is reasonable to draw the conclusion that our proposedalgorithm produces high-quality approximate solution andgenerates the solution with faster speed
6 Conclusion
In this paper we construct a communication graph for thepartitioning problem in which the implementation costexecution time and communication time are all taken intoaccount Then we propose a heuristic based on geneticalgorithm and simulated annealing to solve the problemnear optimally even for quite large systems The proposedheuristicmethod incorporates simulated annealing in geneticalgorithm Those incorporated accepted rules based on fit-ness andMetropolis criterion speed up the convergence of thesolution process without loss of accuracy Experiment resultsshow that the proposed model and algorithm produce moreaccurate partitions with faster speed
Acknowledgments
This work was supported by the National Medium and Long-term Development Plan (Grant no 2010ZX01045-002-3)the 973 Program of China (Grant no 2010CB328000) theNational Natural Science Foundation of China (Grant nos61073168 61133016 and 61202010) and by the National 863Plan of China (Grant no 2012AA040906)
References
[1] J B Wang M Chen X Wan and C Wei ldquoAnt-colony-optimization-based scheduling algorithm for uplink CDMAnonreal-time datardquo IEEE Transactions on Vehicular Technologyvol 58 no 1 pp 231ndash241 2009
[2] Y Jiang H Zhang X Song et al ldquoBayesian network basedreliability analysis of plc systemsrdquo IEEETransactions on IndustryElectronics 2012
[3] J B Wang M Chen and J Wang ldquoAdaptive channel andpower allocation of downlink multi-user MC-CDMA systemsrdquoComputers and Electrical Engineering vol 35 no 5 pp 622ndash6332009
[4] D D Gajski F Vahid S Narayan and J Gong ldquoSpecSyn anenvironment supporting the specify-explore-refine paradigmfor hardwaresoftware system designrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 6 no 1 pp 84ndash100 1998
[5] J Henkel ldquoLow power hardwaresoftware partitioning ap-proach for core-based embedded systemsrdquo in Proceedings of the36th Annual Design Automation Conference (DAC) pp 122ndash127ACM June 1999
[6] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Design Automation for Embedded Systems vol 2 no 2pp 165ndash193 1997
[7] Z Mann and A Orban ldquoOptimization problems in system-level synthesisrdquo in Proceedings of the 3rd Hungarian-JapaneseSymposiumonDiscreteMathematics and Its Applications TokyoJapan 2003
[8] R P Dick and N K Jha ldquoMOGAC a multiobjective geneticalgorithm for hardware-software cosynthesis of distributedembedded systemsrdquo IEEE Transactions on Computer-AidedDesign of Integrated Circuits and Systems vol 17 no 10 pp 920ndash935 1998
8 Journal of Applied Mathematics
[9] J I Hidalgo and J Lanchares ldquoFunctional partitioning forhardware-software codesign using genetic algorithmsrdquo in Pro-ceedings of the 23rd EUROMICRO Conference pp 631ndash638September 1997
[10] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration (VLSI) Systems vol10 no 3 pp 193ndash208 2002
[11] J Wang and X Xie ldquoOptimal odd-periodic complementarysequences for diffuse wireless optical communicationsrdquoOpticalEngineering vol 51 no 9 Article ID 095002 2012
[12] W Jigang B Chang and T Srikanthan ldquoA hybrid branch-and-bound strategy for hardwaresoftware partitioningrdquo inProceedings of the 8th IEEEACIS International Conference onComputer and Information Science (ICIS rsquo09) pp 641ndash644 June2009
[13] S Banerjee E Bozorgzadeh and N D Dutt ldquoIntegratingphysical constraints in HW-SW partitioning for architectureswith partial dynamic reconfigurationrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 14 no 11 pp1189ndash1202 2006
[14] P V Knudsen and J Madsen ldquoPACE a dynamic programmingalgorithm for hardwaresoftware partitioningrdquo in Proceedingsof the 4th International Workshop on HardwareSoftware Co-Design (CodesCASHE rsquo96) pp 85ndash92 IEEE Computer SocietyMarch 1996
[15] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby co-synthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997
[16] JWu and T Srikanthan ldquoLow-complex dynamic programmingalgorithm for hardwaresoftware partitioningrdquo InformationProcessing Letters vol 98 no 2 pp 41ndash46 2006
[17] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD thesis] University of California Berkeley 1995
[18] R Gupta and G De Micheli ldquoHardware-software cosynthesisfor digital systemsrdquo IEEE Design amp Test of Computers vol 10no 3 pp 29ndash41 1993
[19] R Niemann and P Marwedel ldquoHardwaresoftware partitioningusing integer programmingrdquo in Proceedings of the EuropeanDesign amp Test Conference pp 473ndash479 IEEE Computer SocietyMarch 1996
[20] F Vahid andDDGajski ldquoClustering for improved system-levelfunctional partitioningrdquo in Proceedings of the 8th InternationalSymposium on System Synthesis pp 28ndash33 September 1995
[21] F Vahid J Gong and D D Gajski ldquoBinary-constraint searchalgorithm for minimizing hardware during hardwaresoftwarepartitioningrdquo in Proceedings of the EuropeanDesign AutomationConference pp 214ndash219 IEEE Computer Society September1994
[22] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEE Design amp Test of Computersvol 10 no 4 pp 64ndash75 1993
[23] J Henkel and R Ernst ldquoAn approach to automated hard-waresoftware partitioning using a flexible granularity that isdriven by high-level estimation techniquesrdquo IEEE Transactionson Very Large Scale Integration (VLSI) Systems vol 9 no 2 pp273ndash289 2001
[24] L Li Y Song and M Gao ldquoA new genetic simulated annealingalgorithm for hardware-software partitioningrdquo in Proceedingsof the 2nd International Conference on Information Science and
Engineering (ICISE rsquo10) IEEE Computer Society December2010
[25] L Y Li and M Shi ldquoSoftware-hardware partitioning strategyusing hybrid genetic and Tabu searchrdquo in Proceedings of theInternational Conference on Computer Science and SoftwareEngineering (CSSE rsquo08) pp 83ndash86 December 2008
[26] S Zheng Y Zhang and T He ldquoThe application of GeneticAlgorithm In embedded system hardware-software partition-ingrdquo in Proceedings of the International Conference on ElectronicComputer Technology (ICECT rsquo09) pp 219ndash222 February 2009
[27] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystem levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997
[28] T Wiangtong P K Cheung and W Luk ldquoComparingthree heuristic search methods for functional partitioning inhardware-software codesignrdquoDesign Automation for EmbeddedSystems vol 6 no 4 pp 425ndash449 2002
[29] P Arato Z Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005
[30] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010
[31] J Albuquerque C Coelho Jr C F Cavalcanti D C daSilva Jr and A O Fernandes ldquoSystem-level partitioning withuncertaintyrdquo in Proceedings of the 7th International ConferenceonHardwareSoftware Codesign (CODES rsquo99) pp 198ndash202May1999
[32] J Albuquerque ldquoSolving hw sw partitioning bystochastic linearprogramming with management of teams uncertaintyrdquo
[33] Y Jiang H Zhang X Jiao et al ldquoUncertain model andalgorithm for hardwaresoftware partitioningrdquo in Proceedings ofthe IEEE Computer Society Annual Symposium on VLSI (ISVLSIrsquo12) pp 243ndash248 August 2012
[34] S Kirkpatrick C D Gelatt and M P Vecchi ldquoOptimization bysimulated annealingrdquo Science vol 220 no 4598 pp 671ndash6801983
[35] J Holland ldquoGenetic algorithmsrdquo Scientific American vol 267no 1 pp 66ndash72 1992
[36] P Arato S Juhasz ZMann AOrban andD Papp ldquoHardware-software partitioning in embedded system designrdquo in Proceed-ings of the IEEE International Symposium on Intelligent SignalProcessing pp 197ndash202 September 2003
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
8 Journal of Applied Mathematics
[9] J I Hidalgo and J Lanchares ldquoFunctional partitioning forhardware-software codesign using genetic algorithmsrdquo in Pro-ceedings of the 23rd EUROMICRO Conference pp 631ndash638September 1997
[10] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration (VLSI) Systems vol10 no 3 pp 193ndash208 2002
[11] J Wang and X Xie ldquoOptimal odd-periodic complementarysequences for diffuse wireless optical communicationsrdquoOpticalEngineering vol 51 no 9 Article ID 095002 2012
[12] W Jigang B Chang and T Srikanthan ldquoA hybrid branch-and-bound strategy for hardwaresoftware partitioningrdquo inProceedings of the 8th IEEEACIS International Conference onComputer and Information Science (ICIS rsquo09) pp 641ndash644 June2009
[13] S Banerjee E Bozorgzadeh and N D Dutt ldquoIntegratingphysical constraints in HW-SW partitioning for architectureswith partial dynamic reconfigurationrdquo IEEE Transactions onVery Large Scale Integration (VLSI) Systems vol 14 no 11 pp1189ndash1202 2006
[14] P V Knudsen and J Madsen ldquoPACE a dynamic programmingalgorithm for hardwaresoftware partitioningrdquo in Proceedingsof the 4th International Workshop on HardwareSoftware Co-Design (CodesCASHE rsquo96) pp 85ndash92 IEEE Computer SocietyMarch 1996
[15] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby co-synthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997
[16] JWu and T Srikanthan ldquoLow-complex dynamic programmingalgorithm for hardwaresoftware partitioningrdquo InformationProcessing Letters vol 98 no 2 pp 41ndash46 2006
[17] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD thesis] University of California Berkeley 1995
[18] R Gupta and G De Micheli ldquoHardware-software cosynthesisfor digital systemsrdquo IEEE Design amp Test of Computers vol 10no 3 pp 29ndash41 1993
[19] R Niemann and P Marwedel ldquoHardwaresoftware partitioningusing integer programmingrdquo in Proceedings of the EuropeanDesign amp Test Conference pp 473ndash479 IEEE Computer SocietyMarch 1996
[20] F Vahid andDDGajski ldquoClustering for improved system-levelfunctional partitioningrdquo in Proceedings of the 8th InternationalSymposium on System Synthesis pp 28ndash33 September 1995
[21] F Vahid J Gong and D D Gajski ldquoBinary-constraint searchalgorithm for minimizing hardware during hardwaresoftwarepartitioningrdquo in Proceedings of the EuropeanDesign AutomationConference pp 214ndash219 IEEE Computer Society September1994
[22] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEE Design amp Test of Computersvol 10 no 4 pp 64ndash75 1993
[23] J Henkel and R Ernst ldquoAn approach to automated hard-waresoftware partitioning using a flexible granularity that isdriven by high-level estimation techniquesrdquo IEEE Transactionson Very Large Scale Integration (VLSI) Systems vol 9 no 2 pp273ndash289 2001
[24] L Li Y Song and M Gao ldquoA new genetic simulated annealingalgorithm for hardware-software partitioningrdquo in Proceedingsof the 2nd International Conference on Information Science and
Engineering (ICISE rsquo10) IEEE Computer Society December2010
[25] L Y Li and M Shi ldquoSoftware-hardware partitioning strategyusing hybrid genetic and Tabu searchrdquo in Proceedings of theInternational Conference on Computer Science and SoftwareEngineering (CSSE rsquo08) pp 83ndash86 December 2008
[26] S Zheng Y Zhang and T He ldquoThe application of GeneticAlgorithm In embedded system hardware-software partition-ingrdquo in Proceedings of the International Conference on ElectronicComputer Technology (ICECT rsquo09) pp 219ndash222 February 2009
[27] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystem levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997
[28] T Wiangtong P K Cheung and W Luk ldquoComparingthree heuristic search methods for functional partitioning inhardware-software codesignrdquoDesign Automation for EmbeddedSystems vol 6 no 4 pp 425ndash449 2002
[29] P Arato Z Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005
[30] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010
[31] J Albuquerque C Coelho Jr C F Cavalcanti D C daSilva Jr and A O Fernandes ldquoSystem-level partitioning withuncertaintyrdquo in Proceedings of the 7th International ConferenceonHardwareSoftware Codesign (CODES rsquo99) pp 198ndash202May1999
[32] J Albuquerque ldquoSolving hw sw partitioning bystochastic linearprogramming with management of teams uncertaintyrdquo
[33] Y Jiang H Zhang X Jiao et al ldquoUncertain model andalgorithm for hardwaresoftware partitioningrdquo in Proceedings ofthe IEEE Computer Society Annual Symposium on VLSI (ISVLSIrsquo12) pp 243ndash248 August 2012
[34] S Kirkpatrick C D Gelatt and M P Vecchi ldquoOptimization bysimulated annealingrdquo Science vol 220 no 4598 pp 671ndash6801983
[35] J Holland ldquoGenetic algorithmsrdquo Scientific American vol 267no 1 pp 66ndash72 1992
[36] P Arato S Juhasz ZMann AOrban andD Papp ldquoHardware-software partitioning in embedded system designrdquo in Proceed-ings of the IEEE International Symposium on Intelligent SignalProcessing pp 197ndash202 September 2003
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of