research article an effective heuristic-based approach for...

9
Hindawi Publishing Corporation Journal of Applied Mathematics Volume 2013, Article ID 138037, 8 pages http://dx.doi.org/10.1155/2013/138037 Research Article An Effective Heuristic-Based Approach for Partitioning Xibin Zhao, 1 Hehua Zhang, 1 Yu Jiang, 1,2 Songzheng Song, 3 Xun Jiao, 4 and Ming Gu 1 1 School of Soſtware, Tsinghua University, TNLIST, KLISS, Beijing 100084, China 2 School of Computer Science and Technology, Tsinghua University, Beijing 100084, China 3 School for Integrative Sciences and Engineering, National Univerisity of Singapore, Kent, Singapore 119077 4 International school, Beijing university of post and telecommunication, Beijing 100876, China Correspondence should be addressed to Yu Jiang; [email protected] Received 7 March 2013; Accepted 22 March 2013 Academic Editor: Xiaoyu Song Copyright © 2013 Xibin Zhao et al. is is an open access article distributed under the Creative Commons Attribution License, which 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, hardware/soſtware partitioning has received more concern than ever. e performance of a system design will strongly depend on the efficiency of the partitioning. In this paper, we construct a communication graph for embedded system and describe the delay-related constraints and the cost-related objective based on the graph structure. en, we propose a heuristic based on genetic algorithm and simulated annealing to solve the problem near optimally. We note that the genetic algorithm has a strong global search capability, while the simulated annealing algorithm will fail in a local optimal solution easily. Hence, we can incorporate simulated annealing algorithm in genetic algorithm. e combined algorithm will provide more accurate near-optimal solution with faster speed. Experiment results show that the proposed algorithm produce more accurate partitions than the original genetic algorithm. 1. Introduction Embedded systems [13] are becoming more and more important because of the wide applications. ey consist of some hardware and soſtware components. is is benefi- cial, because hardware will lead to faster speed with more expensive cost, while soſtware will lead to lower speed with cheaper cost. So, critical components can be implemented in hardware and noncritical components can be implemented in soſtware. is kind of hardware/soſtware partitioning can find a good tradeoff between system performance [4] and power consumption [5]. How to find an efficient partition has been one of the key challenges in embedded system design. Traditionally, partitioning is carried out manually. e target system is usually given in the form of a task graph, which is usually assumed to be a directed acyclic graph describing the dependencies among the components of embedded system. Recently, many research efforts have been undertaken to automate this task. ose efforts can be classified by the feature of the partitioning architecture and algorithm aspects. On the target architecture aspect of the partitioning problem, some are assumed to consist of a single soſtware and a single hardware unit [69]; parallelism among components is another assumed limitation, while others do not impose these limitations. e target system is usually given in the form of a task graph, a directed acyclic graph describing the dependencies between the components of the system. e family of exact algorithm includes branch and bound [1012], integer linear programming [6, 7, 13], and dynamic programming [1416]. ose algorithms are used for partitioning problems with small inputs successfully. When applied to problems with inputs of large size, they tend to be quite slow. e reason is that most formulations of the partitioning problem are NP hard [17], and these exact algorithms have exponential runtime. Corresponding to the exact algorithms, there are more flexible and efficient heuristic algorithms. Right now, most of the researches focus on heuristic algorithms. Traditional heuristic algorithms are soſtware oriented and hardware ori- ented. e hardware oriented heuristic algorithms start with a complete hardware implementation and then iteratively move component to soſtware until the given constraints are satisfied [18, 19]. e soſtware oriented algorithms start with a complete soſtware implementation and iteratively

Upload: others

Post on 19-Feb-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Research Article An Effective Heuristic-Based Approach for ...downloads.hindawi.com/journals/jam/2013/138037.pdfResearch Article An Effective Heuristic-Based Approach for Partitioning

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

Page 2: Research Article An Effective Heuristic-Based Approach for ...downloads.hindawi.com/journals/jam/2013/138037.pdfResearch Article An Effective Heuristic-Based Approach for Partitioning

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

Page 3: Research Article An Effective Heuristic-Based Approach for ...downloads.hindawi.com/journals/jam/2013/138037.pdfResearch Article An Effective Heuristic-Based Approach for Partitioning

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

Page 4: Research Article An Effective Heuristic-Based Approach for ...downloads.hindawi.com/journals/jam/2013/138037.pdfResearch Article An Effective Heuristic-Based Approach for Partitioning

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

Page 5: Research Article An Effective Heuristic-Based Approach for ...downloads.hindawi.com/journals/jam/2013/138037.pdfResearch Article An Effective Heuristic-Based Approach for Partitioning

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

Page 6: Research Article An Effective Heuristic-Based Approach for ...downloads.hindawi.com/journals/jam/2013/138037.pdfResearch Article An Effective Heuristic-Based Approach for Partitioning

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

Page 7: Research Article An Effective Heuristic-Based Approach for ...downloads.hindawi.com/journals/jam/2013/138037.pdfResearch Article An Effective Heuristic-Based Approach for Partitioning

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

Page 8: Research Article An Effective Heuristic-Based Approach for ...downloads.hindawi.com/journals/jam/2013/138037.pdfResearch Article An Effective Heuristic-Based Approach for Partitioning

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

Page 9: Research Article An Effective Heuristic-Based Approach for ...downloads.hindawi.com/journals/jam/2013/138037.pdfResearch Article An Effective Heuristic-Based Approach for Partitioning

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